From 6238dabd5bcc19697a885fda457b5aa09f919f6b Mon Sep 17 00:00:00 2001 From: wangguibao Date: Wed, 13 Feb 2019 17:56:28 +0800 Subject: [PATCH] 20190213 --- CMakeLists.txt | 3 + bsl/CMakeLists.txt | 8 + bsl/alloc/CMakeLists.txt | 1 + bsl/containers/CMakeLists.txt | 1 + bsl/var/interface/CMakeLists.txt | 1 + cmake/paddlepaddle.cmake | 2 +- configure/BCLOUD | 53 + configure/CMakeLists.txt | 30 + configure/ChangeLog | 37 + configure/CmdOption.cpp | 197 + configure/CmdOption.h | 143 + configure/ConfigArray.h | 242 + configure/ConfigError.cpp | 367 + configure/ConfigError.h | 166 + configure/ConfigGroup.cpp | 813 + configure/ConfigGroup.h | 267 + configure/ConfigReloader.cpp | 521 + configure/ConfigReloader.h | 179 + configure/ConfigUnit.cpp | 1017 + configure/ConfigUnit.h | 463 + configure/Configure.cpp | 734 + configure/Configure.h | 279 + configure/EnvGet.h | 73 + configure/FileReloader.cpp | 111 + configure/FileReloader.h | 70 + configure/Makefile | 202 + configure/README | 6 + configure/build.sh | 25 + configure/build_force.sh | 25 + configure/cfgext.cpp | 202 + configure/cfgext.h | 59 + configure/cfgflag.cpp | 269 + configure/cfgflag.h | 290 + configure/compiler/Makefile | 21 + configure/compiler/demo/Makefile | 30 + configure/compiler/demo/main.cpp | 29 + configure/compiler/src/Makefile | 67 + configure/compiler/src/bison.32 | Bin 0 -> 619775 bytes configure/compiler/src/bison.64 | Bin 0 -> 240848 bytes configure/compiler/src/bison.arm32 | Bin 0 -> 228016 bytes configure/compiler/src/expr.h | 317 + configure/compiler/src/flex.32 | Bin 0 -> 536042 bytes configure/compiler/src/flex.64 | Bin 0 -> 559485 bytes configure/compiler/src/flex.arm32 | Bin 0 -> 251528 bytes configure/compiler/src/idl.c | 516 + configure/compiler/src/idl.gcno | Bin 0 -> 265820 bytes configure/compiler/src/idl.gram | 342 + configure/compiler/src/idl.h | 140 + configure/compiler/src/idl.lex | 197 + configure/compiler/src/idl_conf_if.h | 150 + configure/compiler/src/idl_gram.c | 1704 + configure/compiler/src/idl_gram.gcno | Bin 0 -> 56748 bytes configure/compiler/src/idl_gram.h | 101 + configure/compiler/src/idl_lex.c | 2251 + configure/compiler/src/idl_lex.gcno | Bin 0 -> 27232 bytes configure/compiler/src/idl_lex.h | 335 + configure/compiler/testcase/Makefile | 188 + configure/compiler/testcase/abnor_array | Bin 0 -> 1079754 bytes configure/compiler/testcase/abnor_array.cpp | 31 + configure/compiler/testcase/abnor_group.cpp | 31 + configure/compiler/testcase/abnor_var.cpp | 31 + configure/compiler/testcase/cmd.def | 7 + configure/compiler/testcase/create_bak.sh | 14 + configure/compiler/testcase/error.bak | 14 + configure/compiler/testcase/error.def | 45 + configure/compiler/testcase/gen | Bin 0 -> 27981 bytes configure/compiler/testcase/gen.c | 87 + configure/compiler/testcase/gen.cpp | 151 + configure/compiler/testcase/group.cpp | 31 + configure/compiler/testcase/main.cpp | 29 + configure/compiler/testcase/runner.cpp | 18 + configure/compiler/testcase/syntax.bak | 52 + configure/compiler/testcase/syntax.def | 55 + configure/compiler/testcase/test.sh | 14 + configure/compiler/testcase/test_expr.cpp | 61 + configure/compiler/testcase/test_expr.h | 110 + configure/compiler/testcase/test_gen.cpp | 313 + configure/compiler/testcase/test_gen.h | 248 + configure/compiler/testcase/testcase.deps | 2 + configure/compiler/testcase/testcase.prj | 18 + configure/compiler/testcase/var.cpp | 31 + configure/configure.prj | 43 + configure/constraint/Constraint.cpp | 374 + configure/constraint/Constraint.h | 69 + configure/constraint/ConstraintFunction.cpp | 194 + configure/constraint/ConstraintFunction.h | 253 + configure/constraint/GlobalConsFun.h | 104 + configure/constraint/cc_default.cpp | 443 + configure/constraint/cc_default.h | 163 + configure/reader/RawData.cpp | 201 + configure/reader/RawData.h | 70 + configure/reader/Reader.cpp | 258 + configure/reader/Reader.h | 76 + configure/run.sh | 2 + configure/test/Makefile | 2054 + configure/test/checkone.conf | 4 + configure/test/checkone.range | 7 + configure/test/clt.des | 14 + configure/test/comlog.range | 49 + configure/test/gentest.sh | 30 + configure/test/inc.conf | 4 + configure/test/log.des | 28 + configure/test/makefile.ini | 28 + configure/test/new.conf | 71 + configure/test/raw.conf | 56 + configure/test/rebuild.conf | 3 + configure/test/reload.conf | 92 + configure/test/reload.range | 9 + configure/test/run.log | 34 + configure/test/run.out | 167 + configure/test/run.sh | 69 + configure/test/str.conf | 2 + configure/test/str2str | 6 + configure/test/svr.des | 18 + configure/test/t1.conf | 26 + configure/test/t1.cons | 12 + configure/test/test.conf | 8 + configure/test/test.deps | 8 + configure/test/test.prj | 97 + configure/test/test_1010new.cpp | 57 + configure/test/test_array_constraint/COMAKE | 60 + configure/test/test_array_constraint/Makefile | 137 + .../test_array_constraint/conf/sample.conf | 14 + .../conf/sample.conf.range | 16 + .../test_array_constraint/conf/sample2.conf | 2 + .../conf/sample2.conf.range | 14 + .../test/test_array_constraint/test_arr.cpp | 56 + configure/test/test_auto.cpp | 65 + configure/test/test_cfg.cpp | 45 + configure/test/test_cfg.des | 17 + configure/test/test_cfg2.cpp | 47 + configure/test/test_cfg3.cpp | 54 + configure/test/test_checkConstraint/COMAKE | 60 + configure/test/test_checkConstraint/Makefile | 137 + .../test_checkConstraint/conf/bad_cons.range | 8 + .../test/test_checkConstraint/conf/cons.range | 16 + .../test_checkConstraint/conf/ill_cons.conf | 26 + .../test_checkConstraint/conf/reg_cons.conf | 16 + .../test_checkConstraint/test_constraint.cpp | 117 + configure/test/test_checkone.cpp | 31 + configure/test/test_conf.cpp | 66 + configure/test/test_conf.res | 4 + configure/test/test_demo.cpp | 76 + configure/test/test_demo.res | 47 + configure/test/test_dump_ex/COMAKE | 60 + configure/test/test_dump_ex/Makefile | 137 + configure/test/test_dump_ex/conf/array.conf | 5 + configure/test/test_dump_ex/conf/sample.conf | 35 + .../test/test_dump_ex/conf/sub_conf.conf | 2 + .../test/test_dump_ex/test_unit_dumpex.cpp | 242 + configure/test/test_err.cpp | 48 + configure/test/test_err.res | 2 + configure/test/test_filereload.cpp | 61 + configure/test/test_get_default.cpp | 94 + configure/test/test_get_value.cpp | 244 + configure/test/test_get_value.res | 96 + configure/test/test_globalConstraint/COMAKE | 60 + configure/test/test_globalConstraint/Makefile | 137 + .../test_globalConstraint/conf/default.conf | 4 + .../test/test_globalConstraint/conf/enum.conf | 5 + .../test_globalConstraint/conf/getKey.conf | 19 + .../test_globalConstraint/conf/getKey.range | 16 + .../test/test_globalConstraint/conf/ip.conf | 2 + .../test_globalConstraint/conf/length.conf | 2 + .../test_globalConstraint/conf/range.conf | 4 + .../test_globalConstraint/conf/regexp.conf | 4 + .../test_globalConstraint.cpp | 526 + configure/test/test_group/COMAKE | 60 + configure/test/test_group/Makefile | 137 + configure/test/test_group/conf/bigconf.conf | 100000 +++++++++++++++ configure/test/test_group/conf/dupgroup.conf | 28 + configure/test/test_group/conf/genconf.sh | 15 + .../test/test_group/conf/nodupgroup.conf | 11 + configure/test/test_group/conf/nullgroup.conf | 0 configure/test/test_group/conf/vecgroup.conf | 13 + configure/test/test_group/test_Configure.cpp | 109 + configure/test/test_ivar.cpp | 55 + configure/test/test_option.cpp | 53 + configure/test/test_option.res | 1 + configure/test/test_rawdata.cpp | 40 + configure/test/test_rawdata.res | 57 + configure/test/test_reader.cpp | 46 + configure/test/test_reader.res | 0 configure/test/test_rebuild.cpp | 50 + configure/test/test_rebuild.res | 2 + configure/test/test_reloader.cpp | 162 + configure/test/test_sigreload.cpp | 165 + configure/test/test_str.cpp | 57 + configure/test/test_str.res | 6 + configure/test/test_t1.cpp | 53 + configure/test/test_t1.res | 0 configure/test/test_to_default.cpp | 97 + configure/test/test_trans_float.cpp | 66 + configure/test/test_trans_float.res | 14 + configure/test/test_trans_str2str.cpp | 52 + configure/test/test_trans_str2str.res | 31 + configure/test/test_value.conf | 4 + configure/test/test_vec_overflow/COMAKE | 60 + configure/test/test_vec_overflow/Makefile | 137 + configure/test/test_vec_overflow/test_vec.cpp | 45 + configure/test/test_vec_overflow/vec.conf | 5 + configure/test/test_vec_overflow/vec.range | 9 + configure/test/test_xiaowei.cpp | 58 + configure/test/test_xiaowei.res | 23 + configure/test/test_zr.cpp | 150 + configure/test/xiaowei.conf | 14 + configure/utils/cc_exception.h | 121 + configure/utils/cc_log.h | 94 + configure/utils/cc_struct.h | 63 + configure/utils/cc_trans.h | 139 + configure/utils/cc_utils.h | 47 + configure/utils/init.cpp | 49 + configure/utils/trans.cpp | 353 + predictor/common/CMakeLists.txt | 2 +- predictor/op/CMakeLists.txt | 2 +- spreg/CMakeLists.txt | 4 + spreg/spreg.cpp | 475 + spreg/spreg.h | 300 + ullib/CMakeLists.txt | 4 + ullib/include/ul_error.h | 88 + ullib/src/ul_error.cpp | 152 + 221 files changed, 126551 insertions(+), 3 deletions(-) create mode 100644 configure/BCLOUD create mode 100644 configure/CMakeLists.txt create mode 100755 configure/ChangeLog create mode 100644 configure/CmdOption.cpp create mode 100644 configure/CmdOption.h create mode 100644 configure/ConfigArray.h create mode 100644 configure/ConfigError.cpp create mode 100644 configure/ConfigError.h create mode 100644 configure/ConfigGroup.cpp create mode 100644 configure/ConfigGroup.h create mode 100644 configure/ConfigReloader.cpp create mode 100644 configure/ConfigReloader.h create mode 100644 configure/ConfigUnit.cpp create mode 100644 configure/ConfigUnit.h create mode 100644 configure/Configure.cpp create mode 100644 configure/Configure.h create mode 100644 configure/EnvGet.h create mode 100644 configure/FileReloader.cpp create mode 100644 configure/FileReloader.h create mode 100644 configure/Makefile create mode 100644 configure/README create mode 100644 configure/build.sh create mode 100644 configure/build_force.sh create mode 100644 configure/cfgext.cpp create mode 100644 configure/cfgext.h create mode 100644 configure/cfgflag.cpp create mode 100644 configure/cfgflag.h create mode 100755 configure/compiler/Makefile create mode 100755 configure/compiler/demo/Makefile create mode 100755 configure/compiler/demo/main.cpp create mode 100755 configure/compiler/src/Makefile create mode 100755 configure/compiler/src/bison.32 create mode 100755 configure/compiler/src/bison.64 create mode 100755 configure/compiler/src/bison.arm32 create mode 100644 configure/compiler/src/expr.h create mode 100755 configure/compiler/src/flex.32 create mode 100755 configure/compiler/src/flex.64 create mode 100755 configure/compiler/src/flex.arm32 create mode 100755 configure/compiler/src/idl.c create mode 100644 configure/compiler/src/idl.gcno create mode 100755 configure/compiler/src/idl.gram create mode 100755 configure/compiler/src/idl.h create mode 100755 configure/compiler/src/idl.lex create mode 100755 configure/compiler/src/idl_conf_if.h create mode 100644 configure/compiler/src/idl_gram.c create mode 100644 configure/compiler/src/idl_gram.gcno create mode 100644 configure/compiler/src/idl_gram.h create mode 100644 configure/compiler/src/idl_lex.c create mode 100644 configure/compiler/src/idl_lex.gcno create mode 100644 configure/compiler/src/idl_lex.h create mode 100644 configure/compiler/testcase/Makefile create mode 100755 configure/compiler/testcase/abnor_array create mode 100644 configure/compiler/testcase/abnor_array.cpp create mode 100644 configure/compiler/testcase/abnor_group.cpp create mode 100644 configure/compiler/testcase/abnor_var.cpp create mode 100644 configure/compiler/testcase/cmd.def create mode 100755 configure/compiler/testcase/create_bak.sh create mode 100644 configure/compiler/testcase/error.bak create mode 100644 configure/compiler/testcase/error.def create mode 100755 configure/compiler/testcase/gen create mode 100644 configure/compiler/testcase/gen.c create mode 100644 configure/compiler/testcase/gen.cpp create mode 100644 configure/compiler/testcase/group.cpp create mode 100755 configure/compiler/testcase/main.cpp create mode 100644 configure/compiler/testcase/runner.cpp create mode 100644 configure/compiler/testcase/syntax.bak create mode 100644 configure/compiler/testcase/syntax.def create mode 100755 configure/compiler/testcase/test.sh create mode 100644 configure/compiler/testcase/test_expr.cpp create mode 100644 configure/compiler/testcase/test_expr.h create mode 100644 configure/compiler/testcase/test_gen.cpp create mode 100644 configure/compiler/testcase/test_gen.h create mode 100644 configure/compiler/testcase/testcase.deps create mode 100644 configure/compiler/testcase/testcase.prj create mode 100644 configure/compiler/testcase/var.cpp create mode 100644 configure/configure.prj create mode 100644 configure/constraint/Constraint.cpp create mode 100644 configure/constraint/Constraint.h create mode 100644 configure/constraint/ConstraintFunction.cpp create mode 100644 configure/constraint/ConstraintFunction.h create mode 100644 configure/constraint/GlobalConsFun.h create mode 100644 configure/constraint/cc_default.cpp create mode 100644 configure/constraint/cc_default.h create mode 100644 configure/reader/RawData.cpp create mode 100644 configure/reader/RawData.h create mode 100644 configure/reader/Reader.cpp create mode 100644 configure/reader/Reader.h create mode 100644 configure/run.sh create mode 100644 configure/test/Makefile create mode 100644 configure/test/checkone.conf create mode 100644 configure/test/checkone.range create mode 100644 configure/test/clt.des create mode 100644 configure/test/comlog.range create mode 100644 configure/test/gentest.sh create mode 100644 configure/test/inc.conf create mode 100644 configure/test/log.des create mode 100644 configure/test/makefile.ini create mode 100644 configure/test/new.conf create mode 100644 configure/test/raw.conf create mode 100644 configure/test/rebuild.conf create mode 100644 configure/test/reload.conf create mode 100644 configure/test/reload.range create mode 100644 configure/test/run.log create mode 100644 configure/test/run.out create mode 100644 configure/test/run.sh create mode 100644 configure/test/str.conf create mode 100644 configure/test/str2str create mode 100644 configure/test/svr.des create mode 100644 configure/test/t1.conf create mode 100644 configure/test/t1.cons create mode 100644 configure/test/test.conf create mode 100644 configure/test/test.deps create mode 100644 configure/test/test.prj create mode 100644 configure/test/test_1010new.cpp create mode 100644 configure/test/test_array_constraint/COMAKE create mode 100644 configure/test/test_array_constraint/Makefile create mode 100644 configure/test/test_array_constraint/conf/sample.conf create mode 100644 configure/test/test_array_constraint/conf/sample.conf.range create mode 100644 configure/test/test_array_constraint/conf/sample2.conf create mode 100644 configure/test/test_array_constraint/conf/sample2.conf.range create mode 100644 configure/test/test_array_constraint/test_arr.cpp create mode 100644 configure/test/test_auto.cpp create mode 100644 configure/test/test_cfg.cpp create mode 100644 configure/test/test_cfg.des create mode 100644 configure/test/test_cfg2.cpp create mode 100644 configure/test/test_cfg3.cpp create mode 100644 configure/test/test_checkConstraint/COMAKE create mode 100644 configure/test/test_checkConstraint/Makefile create mode 100644 configure/test/test_checkConstraint/conf/bad_cons.range create mode 100644 configure/test/test_checkConstraint/conf/cons.range create mode 100644 configure/test/test_checkConstraint/conf/ill_cons.conf create mode 100644 configure/test/test_checkConstraint/conf/reg_cons.conf create mode 100644 configure/test/test_checkConstraint/test_constraint.cpp create mode 100644 configure/test/test_checkone.cpp create mode 100644 configure/test/test_conf.cpp create mode 100644 configure/test/test_conf.res create mode 100644 configure/test/test_demo.cpp create mode 100644 configure/test/test_demo.res create mode 100644 configure/test/test_dump_ex/COMAKE create mode 100644 configure/test/test_dump_ex/Makefile create mode 100644 configure/test/test_dump_ex/conf/array.conf create mode 100644 configure/test/test_dump_ex/conf/sample.conf create mode 100644 configure/test/test_dump_ex/conf/sub_conf.conf create mode 100644 configure/test/test_dump_ex/test_unit_dumpex.cpp create mode 100644 configure/test/test_err.cpp create mode 100644 configure/test/test_err.res create mode 100644 configure/test/test_filereload.cpp create mode 100644 configure/test/test_get_default.cpp create mode 100644 configure/test/test_get_value.cpp create mode 100644 configure/test/test_get_value.res create mode 100644 configure/test/test_globalConstraint/COMAKE create mode 100644 configure/test/test_globalConstraint/Makefile create mode 100644 configure/test/test_globalConstraint/conf/default.conf create mode 100644 configure/test/test_globalConstraint/conf/enum.conf create mode 100644 configure/test/test_globalConstraint/conf/getKey.conf create mode 100644 configure/test/test_globalConstraint/conf/getKey.range create mode 100644 configure/test/test_globalConstraint/conf/ip.conf create mode 100644 configure/test/test_globalConstraint/conf/length.conf create mode 100644 configure/test/test_globalConstraint/conf/range.conf create mode 100644 configure/test/test_globalConstraint/conf/regexp.conf create mode 100644 configure/test/test_globalConstraint/test_globalConstraint.cpp create mode 100644 configure/test/test_group/COMAKE create mode 100644 configure/test/test_group/Makefile create mode 100644 configure/test/test_group/conf/bigconf.conf create mode 100644 configure/test/test_group/conf/dupgroup.conf create mode 100755 configure/test/test_group/conf/genconf.sh create mode 100644 configure/test/test_group/conf/nodupgroup.conf create mode 100644 configure/test/test_group/conf/nullgroup.conf create mode 100644 configure/test/test_group/conf/vecgroup.conf create mode 100644 configure/test/test_group/test_Configure.cpp create mode 100644 configure/test/test_ivar.cpp create mode 100644 configure/test/test_option.cpp create mode 100644 configure/test/test_option.res create mode 100644 configure/test/test_rawdata.cpp create mode 100644 configure/test/test_rawdata.res create mode 100644 configure/test/test_reader.cpp create mode 100644 configure/test/test_reader.res create mode 100644 configure/test/test_rebuild.cpp create mode 100644 configure/test/test_rebuild.res create mode 100644 configure/test/test_reloader.cpp create mode 100644 configure/test/test_sigreload.cpp create mode 100644 configure/test/test_str.cpp create mode 100644 configure/test/test_str.res create mode 100644 configure/test/test_t1.cpp create mode 100644 configure/test/test_t1.res create mode 100644 configure/test/test_to_default.cpp create mode 100644 configure/test/test_trans_float.cpp create mode 100644 configure/test/test_trans_float.res create mode 100644 configure/test/test_trans_str2str.cpp create mode 100644 configure/test/test_trans_str2str.res create mode 100644 configure/test/test_value.conf create mode 100644 configure/test/test_vec_overflow/COMAKE create mode 100644 configure/test/test_vec_overflow/Makefile create mode 100644 configure/test/test_vec_overflow/test_vec.cpp create mode 100644 configure/test/test_vec_overflow/vec.conf create mode 100644 configure/test/test_vec_overflow/vec.range create mode 100644 configure/test/test_xiaowei.cpp create mode 100644 configure/test/test_xiaowei.res create mode 100644 configure/test/test_zr.cpp create mode 100644 configure/test/xiaowei.conf create mode 100644 configure/utils/cc_exception.h create mode 100644 configure/utils/cc_log.h create mode 100644 configure/utils/cc_struct.h create mode 100644 configure/utils/cc_trans.h create mode 100644 configure/utils/cc_utils.h create mode 100644 configure/utils/init.cpp create mode 100644 configure/utils/trans.cpp create mode 100644 spreg/CMakeLists.txt create mode 100644 spreg/spreg.cpp create mode 100644 spreg/spreg.h create mode 100644 ullib/CMakeLists.txt create mode 100644 ullib/include/ul_error.h create mode 100644 ullib/src/ul_error.cpp diff --git a/CMakeLists.txt b/CMakeLists.txt index 803912dc..c4df5d42 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -93,4 +93,7 @@ if(WITH_MKLDNN) endif() add_subdirectory(bsl) +add_subdirectory(ullib) +add_subdirectory(spreg) +add_subdirectory(configure) add_subdirectory(predictor) diff --git a/bsl/CMakeLists.txt b/bsl/CMakeLists.txt index fb697d1b..3d048dcf 100644 --- a/bsl/CMakeLists.txt +++ b/bsl/CMakeLists.txt @@ -7,8 +7,13 @@ add_custom_command(TARGET copy_bsl_headers # COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/containers && cp ${CMAKE_CURRENT_LIST_DIR}/containers/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/containers COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/check_cast && cp ${CMAKE_CURRENT_LIST_DIR}/check_cast/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/check_cast COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/ResourcePool && cp ${CMAKE_CURRENT_LIST_DIR}/ResourcePool/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/ResourcePool + COMMAND mkdir -p ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/var/ && cp ${CMAKE_CURRENT_LIST_DIR}/var/utils/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/var/ + COMMAND cp ${CMAKE_CURRENT_LIST_DIR}/var/interface/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/var/ + COMMAND cp ${CMAKE_CURRENT_LIST_DIR}/var/implement/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/var/ COMMAND cp ${CMAKE_CURRENT_LIST_DIR}/check_cast/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl + COMMAND cp ${CMAKE_CURRENT_LIST_DIR}/ResourcePool/*.h ${CMAKE_CURRENT_BINARY_DIR}/include/bsl/ ) +include_directories(${CMAKE_CURRENT_BINARY_DIR}/include) add_subdirectory(utils) add_subdirectory(alloc) add_subdirectory(archive) @@ -21,3 +26,6 @@ add_subdirectory(ResourcePool) add_subdirectory(var/interface) add_subdirectory(var/utils) add_subdirectory(var/implement) +add_custom_target(bsl) +add_dependencies(bsl utils alloc archive containers pool buffer exception + check_cast ResourcePool interface var_utils implement) diff --git a/bsl/alloc/CMakeLists.txt b/bsl/alloc/CMakeLists.txt index fa87827e..2bdd443d 100644 --- a/bsl/alloc/CMakeLists.txt +++ b/bsl/alloc/CMakeLists.txt @@ -1 +1,2 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR}) +add_custom_target(alloc) diff --git a/bsl/containers/CMakeLists.txt b/bsl/containers/CMakeLists.txt index 50b82bbd..0e77b65c 100644 --- a/bsl/containers/CMakeLists.txt +++ b/bsl/containers/CMakeLists.txt @@ -4,3 +4,4 @@ add_subdirectory(hash) add_subdirectory(list) add_subdirectory(slist) add_subdirectory(string) +add_custom_target(containers) diff --git a/bsl/var/interface/CMakeLists.txt b/bsl/var/interface/CMakeLists.txt index 3d0c2997..18f1dd6d 100644 --- a/bsl/var/interface/CMakeLists.txt +++ b/bsl/var/interface/CMakeLists.txt @@ -1 +1,2 @@ include_directories(${CMAKE_CURRENT_SOURCE_DIR}) +add_custom_target(interface) diff --git a/cmake/paddlepaddle.cmake b/cmake/paddlepaddle.cmake index e18b66f3..1457f809 100644 --- a/cmake/paddlepaddle.cmake +++ b/cmake/paddlepaddle.cmake @@ -57,7 +57,7 @@ ExternalProject_Add( -DCMAKE_INSTALL_LIBDIR:PATH=${PADDLE_INSTALL_DIR}/lib -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_BUILD_TYPE:STRING=${THIRD_PARTY_BUILD_TYPE} - BUILD_COMMAND make && make inference_lib_dist + INSTALL_COMMAND make inference_lib_dist ) ADD_LIBRARY(paddle_fluid STATIC IMPORTED GLOBAL) SET_PROPERTY(TARGET paddle_fluid PROPERTY IMPORTED_LOCATION ${PADDLE_LIBRARIES}) diff --git a/configure/BCLOUD b/configure/BCLOUD new file mode 100644 index 00000000..b62974a0 --- /dev/null +++ b/configure/BCLOUD @@ -0,0 +1,53 @@ +#edit-mode: -*- python -*- +#coding:gbk + +#工作路径. +WORKROOT('../../') +CC('g++') + +#C预处理器参数. +#CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"') + +#C编译参数. +CFLAGS('-pipe -fsigned-char -Wall -W -g -fPIC -Woverloaded-virtual') + +#C++编译参数. +CXXFLAGS('-pipe -fsigned-char -Wall -W -g -fPIC -Woverloaded-virtual') + +#IDL编译参数 +#IDLFLAGS('--compack') + +#UBRPC编译参数 +#UBRPCFLAGS('--compack') + +#头文件路径. +INCPATHS('. compiler/src') + +#使用库 +#LIBS('./libconfigure.a') + +#链接参数. +#LDFLAGS('-lpthread -lcrypto -lrt') + +#依赖模块 +CONFIGS('lib2-64/bsl@bsl_1-1-8-0_PD_BL') +CONFIGS('lib2-64/ullib@ullib_3-1-43-2_PD_BL') +CONFIGS('public/spreg@spreg_1-0-3-0_PD_BL') +CONFIGS('third-64/pcre@pcre_7-7-0-0_PD_BL') + +user_sources='FileReloader.cpp ConfigReloader.cpp CmdOption.cpp ConfigError.cpp ConfigGroup.cpp ConfigUnit.cpp Configure.cpp constraint/Constraint.cpp constraint/ConstraintFunction.cpp constraint/cc_default.cpp reader/RawData.cpp reader/Reader.cpp utils/init.cpp utils/trans.cpp cfgext.cpp cfgflag.cpp compiler/src/idl.c compiler/src/idl_lex.c compiler/src/idl_gram.c' +user_headers='ConfigGroup.h Configure.h ConfigReloader.h ConfigArray.h cfgext.h CmdOption.h ConfigUnit.h ConfigError.h FileReloader.h EnvGet.h cfgflag.h' + +HEADERS('utils/*.h', '$INC/utils') +HEADERS('constraint/*.h', '$INC/constraint') +HEADERS('compiler/src/idl_conf_if.h', '$INC') +#可执行文件 +#Application('configure',Sources(user_sources)) +#静态库 +StaticLibrary('config',Sources(user_sources),HeaderFiles(user_headers)) +#共享库 +#SharedLibrary('configure',Sources(user_sources),HeaderFiles(user_headers)) +#子目录 +#Directory('demo') + + diff --git a/configure/CMakeLists.txt b/configure/CMakeLists.txt new file mode 100644 index 00000000..02bb426d --- /dev/null +++ b/configure/CMakeLists.txt @@ -0,0 +1,30 @@ +LIST(APPEND configure_srcs + ${CMAKE_CURRENT_LIST_DIR}/FileReloader.cpp + ${CMAKE_CURRENT_LIST_DIR}/ConfigReloader.cpp + ${CMAKE_CURRENT_LIST_DIR}/CmdOption.cpp + ${CMAKE_CURRENT_LIST_DIR}/ConfigError.cpp + ${CMAKE_CURRENT_LIST_DIR}/ConfigGroup.cpp + ${CMAKE_CURRENT_LIST_DIR}/ConfigUnit.cpp + ${CMAKE_CURRENT_LIST_DIR}/Configure.cpp + ${CMAKE_CURRENT_LIST_DIR}/constraint/Constraint.cpp + ${CMAKE_CURRENT_LIST_DIR}/constraint/ConstraintFunction.cpp + ${CMAKE_CURRENT_LIST_DIR}/constraint/cc_default.cpp + ${CMAKE_CURRENT_LIST_DIR}/reader/RawData.cpp + ${CMAKE_CURRENT_LIST_DIR}/reader/Reader.cpp + # ${CMAKE_CURRENT_LIST_DIR}/utils/init.cpp + ${CMAKE_CURRENT_LIST_DIR}/utils/trans.cpp + ${CMAKE_CURRENT_LIST_DIR}/cfgext.cpp + ${CMAKE_CURRENT_LIST_DIR}/cfgflag.cpp + ${CMAKE_CURRENT_LIST_DIR}/compiler/src/idl.c + ${CMAKE_CURRENT_LIST_DIR}/compiler/src/idl_lex.c + ${CMAKE_CURRENT_LIST_DIR}/compiler/src/idl_gram.c +) + +add_library(configure ${configure_srcs}) +add_dependencies(configure bsl brpc ullib spreg) +target_include_directories(configure PUBLIC + ${CMAKE_CURRENT_LIST_DIR}/ + ${CMAKE_CURRENT_LIST_DIR}/compiler/src + ${CMAKE_CURRENT_LIST_DIR}/../ullib/include + ${CMAKE_CURRENT_LIST_DIR}/../spreg/ + ${CMAKE_CURRENT_BINARY_DIR}/../bsl/include) diff --git a/configure/ChangeLog b/configure/ChangeLog new file mode 100755 index 00000000..d72f84f8 --- /dev/null +++ b/configure/ChangeLog @@ -0,0 +1,37 @@ +1.2.0 + * add configUnit的写支持。add_unit/copy_unit/del_unit/set_value + +1.1.0 + * add 增加热加载支持. ConfigReloader/FileReloader + +1.0.7 + * fix 消除多线程so使用中析构两次error_unit的问题 + +1.0.6 + * fix loadIVar时不给非特殊字符串增加引号 + * add 支持对configure对象进行约束检查. configure.check_once + +1.0.5 + * fix 解决configure和idlcompiler的命名冲突问题 + * fix Configure::loadIVar中,整数和浮点类型的IVar转成的字符串中去掉双引号 + * fix 将int32等类型定义改成带comcfg_前缀的命名,避免和别处的定义冲突。 + * fix error unit改成单例模式 + * fix 解决-Woverloaded-virtual编译参数引起编译warning的问题 + * add 增加遍历接口get_sub_unit(),配合size()和selfType()可以完成对configure的遍历 + * add 增加接口get_key_name(),获取key的名字 + +1.0.4 + * fix getErrKeyPath方法增加const修饰,并从Configure中移到ConfigUnit中。 + * add 抛出的Exception中增加出错路径信息 + * add 增加NOSUCHKEY以外的各种读配置错误的具体路径信息。包括:1). + OUTOFRANGE 超出范围;2). FORMATERROR 格式错误;3). NULLVALUE 值为空;4). + NULLBUFFER 传出参数指针为NULL;5). GROUPTOUNIT 使用group的取值方法 + +1.0.3.1 nsfw 2009/08/07 + * fix 修复autoConfigGen函数中的内存泄露 + * fix autoConfigGen()对数组改成只生成一份配置,一份注释的配置 + * add 增加Configure::getErrKeyPath()接口,获取不存在的key失败时,返回导致出错的key具体路径。 + * add 增加to_xxx系列提供默认值的重载函数 + * add 增加ConfigUnit::deepGet()接口,长路径的直接获取 + * add 增加读取环境变量的宏 + diff --git a/configure/CmdOption.cpp b/configure/CmdOption.cpp new file mode 100644 index 00000000..0a3c3e7d --- /dev/null +++ b/configure/CmdOption.cpp @@ -0,0 +1,197 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: CmdOption.cpp,v 1.6 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file CmdOption.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/29 21:50:42 + * @version $Revision: 1.6 $ + * @brief + * + **/ + +#include "CmdOption.h" +#include "ConfigUnit.h" +#include "utils/cc_utils.h" +#include + +namespace comcfg{ + CmdOption :: CmdOption(){ + } + + int CmdOption :: setOptString(const char * p){ + int ret = 0; + const char *prev = NULL; + memset(ch, 0, sizeof(ch)); + while(*p != '\0'){ + if(*p == ':'){ + if(prev == NULL || ch[(unsigned char)(*prev)] == CMD_OPT2){ + ret = -1; + break; + } + else{ + ++ ch[(unsigned char)(*prev)]; + } + } + else{ + if(ch[(unsigned char)(*p)]){ + ret = -1; + break; + } + ch[(unsigned char)(*p)] = CMD_OPT0; + } + prev = p; + ++p; + } + return ret; + } + + int CmdOption :: init(int argc, char * const * argv, const char * optstring){ + if(argv == NULL || optstring == NULL){ + LOG(WARNING) << "Null pointer in CmdOption::init....."; + return -1; + } + if(setOptString(optstring) != 0){ + LOG(WARNING) << "optstring error."; + return -1; + } + int ret = 0; + //反序处理 + try{ + for(int i = argc - 1; i >= 0; --i){ + if(argv[i][0] == '-'){ + str_t key, value; + //option + if(argv[i][1] == '-'){ + //long option + key = argv[i] + 2; + size_t sz;// = key.find('=', 0); + for(sz = 0; sz < key.size(); ++sz){ + if(key[sz] == '='){ + break; + } + } + if(sz != key.size()){ + value = key.substr(sz+1); + key = key.substr(0, sz); + LOG(INFO) << "[CmdOption init - long opt] key=" << key.c_str() << " value=" << value.c_str(); + } + if( push(key, new ConfigUnit(key, value, NULL, this)) ){ + ret = -1; + } + } + + else if(ch[(unsigned char)(argv[i][1])] == CMD_OPT0){ + //opt 0 + key = ""; + key.push_back(argv[i][1]); + if( push(key, new ConfigUnit(key, value, NULL, this)) ){ + ret = -1; + } + } + + else if(ch[(unsigned char)(argv[i][1])] == CMD_OPT1){ + //opt 1 + key = ""; + key.push_back(argv[i][1]); + value = argv[i] + 2; + if(value.size() == 0){ + if(arg.size() == 0){ + LOG(WARNING) << "Option [-" << argv[i][1] << ":] without any argument."; + ret = -1; + } + else{ + value = arg[arg.size() - 1]; + arg.pop_back(); + } + } + if( push(key, new ConfigUnit(key, value, NULL, this)) ){ + ret = -1; + } + } + + else if(ch[(unsigned char)(argv[i][1])] == CMD_OPT2){ + //opt 2 + key = ""; + key.push_back(argv[i][1]); + value = argv[i] + 2; + if(value.size() == 0){ + LOG(WARNING) << "Option [-" << argv[i][1] << "::] without any argument."; + ret = -1; + } + if( push(key, new ConfigUnit(key, value, NULL, this)) ){ + ret = -1; + } + } + else{ + LOG(WARNING) << "Option [-" << argv[i][1] << "] unknown."; + ret = -1; + } + } + else{ + arg.push_back(str_t(argv[i])); + } + } + } + catch(...){ + LOG(WARNING) << "Option error.."; + ret = -1; + } + return ret; + } + + bool CmdOption :: hasOption(const char * s) const { + return (*this)[s].selfType() != CONFIG_ERROR_TYPE; + } + size_t CmdOption :: argSize() const { + return arg.size(); + } + const char * CmdOption :: getArg(int n) const { + if(n >= (int)arg.size()){ + return NULL; + } + //反序的 + return arg[(int)arg.size() - n - 1].c_str(); + } + int CmdOption :: registHook(const char * option, hook_t hook){ + pair_t p; + p.first = str_t(option); + p.second = hook; + hkmap.insert(p); + return 0; + } + int CmdOption :: runHook(){ + itr_t itr; + for(itr = fieldMap.begin(); itr != fieldMap.end(); ++itr){ + hk_pair_t p = hkmap.equal_range(itr->first); + for(hkitr_t hkitr = p.first; hkitr != p.second; ++hkitr){ + (hkitr->second)(this); + } + } + return 0; + } +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/CmdOption.h b/configure/CmdOption.h new file mode 100644 index 00000000..ea39aef1 --- /dev/null +++ b/configure/CmdOption.h @@ -0,0 +1,143 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: CmdOption.h,v 1.6 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file CmdOption.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/29 21:47:53 + * @version $Revision: 1.6 $ + * @brief + * + **/ + + +#ifndef __CMDOPTION_H_ +#define __CMDOPTION_H_ + +#include "ConfigGroup.h" +#include "utils/cc_utils.h" + +namespace comcfg{ + /** + * @brief 与getopt行为不一致的地方: + * 如果optstring = "a:b:" + * 当:./run -a -b c d + * optstring会把 -b作为-a的参数 + * 而CmdOption会把c, d堆栈处理,把c给-b,把d给-a + * + */ + class CmdOption : public ConfigGroup{ + public: + /** + * @brief 命令行参数初始化(不可以重复调用) + * + * @param [in] argc : int 参数个数 + * @param [in] argv : char* const* 参数 + * @param [in] optstring : const char* 选项信息,与getopt相同 + * @return int 0为成功,其它为失败 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:47:13 + **/ + int init(int argc, char * const * argv, const char * optstring); + /** + * @brief 命令行参数中是否存在某个选项 + * + * @return bool + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:48:08 + **/ + bool hasOption(const char *) const; + /** + * @brief 末尾参数个数(注意:不是总的参数个数) + * 如:argc = 5, argv = {"./run", "-a", "xxx", "-h", "yyy", "zzz"}, optstring = "a:h" + * 那么这里的argSize = 3 (分别是./run, yyy和zzz),其中xxx是-a的参数 + * + * @return size_t 参数个数 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:49:16 + **/ + size_t argSize() const; + /** + * @brief 获取第n个参数 + * + * @param [in] n : int 参数位置(0 ~ argSize-1) + * @return const char* + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:51:34 + **/ + const char * getArg(int n) const; + + typedef int (*hook_t)(CmdOption * ); + /** + * @brief 注册参数钩子,如果存在option参数,runHook时就执行相应的钩子 + * 一个option可注册多个钩子 + * + * @param [in] option : const char* + * @param [in] hook : hook_t + * @return int + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:52:09 + **/ + int registHook(const char * option, hook_t hook); + /** + * @brief 运行钩子 + * + * @return int 无意义(runHook不管钩子的运行结果) + * 如关心钩子的运行结果,请在钩子中以异常抛出,自行处理 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:52:53 + **/ + int runHook(); + virtual ConfigUnit & operator= (ConfigUnit & unit) { + return ConfigUnit::operator=(unit); + } + CmdOption(); + protected: + static const int CHAR_TABLE_SIZE = 256; + char ch[CHAR_TABLE_SIZE]; + static const char CMD_NONE = 0; + static const char CMD_OPT0 = 1; + static const char CMD_OPT1 = 2; + static const char CMD_OPT2 = 3; + std::vector arg; + std::multimap hkmap; + typedef std::pair pair_t; + typedef std::multimap :: iterator hkitr_t; + typedef std::pair hk_pair_t; + + int setOptString(const char *); + }; +} + + + + + + + + + + + + +#endif //__CMDOPTION_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/ConfigArray.h b/configure/ConfigArray.h new file mode 100644 index 00000000..3f7c6f34 --- /dev/null +++ b/configure/ConfigArray.h @@ -0,0 +1,242 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConfigArray.h,v 1.11 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConfigArray.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/24 10:49:08 + * @version $Revision: 1.11 $ + * @brief + * + **/ + + +#ifndef __CONFIGARRAY_H_ +#define __CONFIGARRAY_H_ + +#include "ConfigGroup.h" +#include "bsl/var/Array.h" +namespace comcfg{ + class ConfigArray : public ConfigGroup{ + public: + virtual int push(str_t key, ConfigUnit* unit){ + LOG(INFO) << "[" << getFather() << "]ConfigArray[" << this << "] [" << key.c_str() << "].push"; + vec.push_back(unit); + return 0; + } + ConfigArray(const char * __name, ConfigGroup * __father=NULL){ + if(*__name == '@'){ + ++__name; + } + create(__name, __father); + } + virtual int selfType() const{ + return CONFIG_ARRAY_TYPE; + } + virtual bsl::var::IVar& to_IVar(bsl::ResourcePool * vpool, ErrCode* errCode = NULL)const{ + if(vpool == NULL){ + LOG(INFO) << "Configure: visit ConfigArray.to_IVar() failed : NULLBUFFER"; + setErrorKeyPath(this->_name); + popError(errCode, NULLBUFFER); + return bsl::var::Null::null; + } + bsl::var::Array &arr = vpool->create(); + for(int i = 0; i < (int)vec.size(); ++i){ + arr.set( i, vec[i]->to_IVar(vpool, errCode) ); + } + return arr; + } + + void print(int indent = 0) const{ + pindent(indent); + printf("Array--------[%s] : {\n", getName()); + for(int i = 0; i < (int)vec.size(); ++i){ + vec[i]->print(indent+1); + } + pindent(indent); + printf("}\n"); + } + + const ConfigUnit & operator[] (int idx) const{ + if(idx < (int)vec.size()){ + return *vec[idx]; + } + LOG(INFO) << "Configure: visit element not exist ConfigArray[int] : " << _name.c_str() << "[" << idx << "]"; + str_t tmp=this->_name; + char tmpid[64]; + snprintf(tmpid,64, "%d",idx); + tmp.append("[").append(tmpid).append("]"); + setErrorKeyPath(tmp); + return *get_err_unit(); + } + const ConfigUnit & operator[] (const char *str) const { + LOG(INFO) << "Configure: visit ConfigArray[char *] : " << _name.c_str() << "[" << str << "]"; + str_t tmp=this->_name; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + return *get_err_unit(); + } + const ConfigUnit & operator[] (const str_t &str) const{ + LOG(INFO) << "Configure: visit ConfigArray[str_t] : " << _name.c_str() << "[" << str.c_str() << "]"; + str_t tmp=this->_name; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + return *get_err_unit(); + } + ConfigUnit & operator[] (int idx) { + if(idx < (int)vec.size()){ + return *vec[idx]; + } + LOG(INFO) << "Configure: visit element not exist ConfigArray[int] : " << _name.c_str() << "[" << idx << "]"; + str_t tmp=this->_name; + char tmpid[64]; + snprintf(tmpid,64, "%d",idx); + tmp.append("[").append(tmpid).append("]"); + setErrorKeyPath(tmp); + return *get_err_unit(); + } + ConfigUnit & operator[] (const char *str) { + LOG(INFO) << "Configure: visit ConfigArray[char *] : " << _name.c_str() << "[" << str << "]"; + str_t tmp=this->_name; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + return *get_err_unit(); + } + ConfigUnit & operator[] (const str_t &str) { + LOG(INFO) << "Configure: visit ConfigArray[str_t] : " << _name.c_str() << "[" << str.c_str() << "]"; + str_t tmp=this->_name; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + return *get_err_unit(); + } + virtual ConfigUnit & operator= (ConfigUnit & unit) { + return ConfigUnit::operator=(unit); + } + virtual ~ConfigArray(){ + for(int i = 0; i < (int)vec.size(); ++i){ + delete vec[i]; + } + } + + virtual size_t size()const{ + return vec.size(); + } + + const ConfigUnit & get_sub_unit(int index) const { + if ((0<=index) && (index < (int)vec.size())){ + return *vec[index]; + } + return *get_err_unit(); + } + /** + * @brief 比较是否相等 + * + * @return int 0表示相等 -1不相等 + * @author zhang_rui + **/ + virtual int equals(const ConfigUnit & conf) const { + try { + for(int i = 0; i < (int)vec.size(); ++i){ + if (0 != vec[i]->equals(conf[i])) { + return -1; + } + } + return 0; + } catch (bsl::Exception) { + return -1; + } + return -1; + } + /** + * @brief 增加一个unit + * + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int add_unit(const bsl_string & key, const bsl_string& value, + const int objtype, int except, ConfigUnit ** ref){ + ConfigUnit * tmp=NULL; + if (0 < vec.size() && objtype != vec[0]->selfType()) { + goto adderr; + } + tmp = create_unit(key, value, objtype, this->getFather()); + if (NULL == tmp){ + goto adderr; + } + this->push(key,tmp); + if (NULL != ref) { + *ref = tmp; + } + return 0; + adderr: + if (except) { + popError(NULL, CONFIG_ERROR); + } + return CONFIG_ERROR; + } + /** + * @brief 删除一个unit + * + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int del_unit(const bsl_string & key, int except) { + long long val; + int ret = Trans :: str2int64(key, &val); + long long sz = vec.size(); + if (0 == ret && 0 <= val && sz > val) { + ConfigUnit * delu = NULL; + std::vector :: iterator iter; + iter = vec.begin(); + iter += val; + delu = *iter; + vec.erase(iter); + if (delu) { + delete delu; + } + return 0; + } else { + if (except) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "Configure: failed to write error buffer"; + } + popError(NULL, NOSUCHKEY); + } + return NOSUCHKEY; + } + return 0; + } + protected: + std::vector vec; + + /** + * @brief 清除内容 + * + * @return void + * @author zhang_rui + **/ + virtual void clear() { + for(int i = 0; i < (int)vec.size(); ++i){ + delete vec[i]; + } + vec.clear(); + } + }; +} + + + + + + + + +#endif //__CONFIGARRAY_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/ConfigError.cpp b/configure/ConfigError.cpp new file mode 100644 index 00000000..212f2e52 --- /dev/null +++ b/configure/ConfigError.cpp @@ -0,0 +1,367 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConfigError.cpp,v 1.9 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConfigError.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/24 14:22:03 + * @version $Revision: 1.9 $ + * @brief + * + **/ +#include "ConfigError.h" + +namespace comcfg{ + + char ConfigError :: to_char(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return char(); + } + + unsigned char ConfigError :: to_uchar(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return (unsigned char)(0); + } + + int16_t ConfigError :: to_int16(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return int16_t(); + } + + u_int16_t ConfigError :: to_uint16(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return u_int16_t(); + } + + int ConfigError :: to_int32(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return int(); + } + + u_int32_t ConfigError :: to_uint32(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return u_int32_t(); + } + + long long ConfigError :: to_int64(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return (long long)(0); + } + + unsigned long long ConfigError :: to_uint64(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return (unsigned long long)(0); + } + + float ConfigError :: to_float(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return float(); + } + + double ConfigError :: to_double(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return double(); + } +#if 1 + bsl_string ConfigError :: to_bsl_string(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return bsl_string(); + } +#endif +#if 0 + std_string ConfigError :: to_std_string(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return std_string(); + } +#endif + str_t ConfigError :: to_raw_string(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return str_t(); + } + const char * ConfigError :: to_cstr(ErrCode * errCode)const{ + popError(errCode, NOSUCHKEY); + return NULL; + } + + + //----------------to_xxx with default value + char ConfigError :: to_char(ErrCode * errCode, const char & def)const { + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + unsigned char ConfigError :: to_uchar(ErrCode * errCode, const unsigned char & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + int16_t ConfigError :: to_int16(ErrCode * errCode, const int16_t & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + u_int16_t ConfigError :: to_uint16(ErrCode * errCode, const u_int16_t & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + int ConfigError :: to_int32(ErrCode * errCode, const int & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + u_int32_t ConfigError :: to_uint32(ErrCode * errCode, const u_int32_t & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + long long ConfigError :: to_int64(ErrCode * errCode, const long long & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + unsigned long long ConfigError :: to_uint64(ErrCode * errCode, const unsigned long long & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + float ConfigError :: to_float(ErrCode * errCode, const float & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + double ConfigError :: to_double(ErrCode * errCode, const double & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + bsl_string ConfigError :: to_bsl_string(ErrCode * errCode, const bsl_string & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + str_t ConfigError :: to_raw_string(ErrCode * errCode, const str_t & def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + //获取C风格的字符串(常量) + const char * ConfigError :: to_cstr(ErrCode * errCode, const char * def)const{ + if(errCode){ + *errCode = NOSUCHKEY; + } + return def; + } + + ErrCode ConfigError :: get_char(char * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uchar(unsigned char * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_int16(int16_t * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uint16(u_int16_t * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_int32(int * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uint32(u_int32_t * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_int64(long long * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uint64(unsigned long long * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_float(float * /*valueBuf*/)const{ + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_double(double * /*valueBuf*/)const{ + return NOSUCHKEY; + } +#if 1 + ErrCode ConfigError :: get_bsl_string(bsl_string * /*valueBuf*/)const{ + return NOSUCHKEY; + } +#endif +#if 0 + ErrCode ConfigError :: get_std_string(std_string * /*valueBuf*/)const{ + return NOSUCHKEY; + } +#endif + ErrCode ConfigError :: get_raw_string(str_t * /*valueBuf*/)const{ + return NOSUCHKEY; + } + ErrCode ConfigError :: get_cstr(char * /*valueBuf*/, size_t /*len*/)const{ + return NOSUCHKEY; + } + + //--------------get_xx with default----------- + + ErrCode ConfigError :: get_char(char * valueBuf, const char & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uchar(unsigned char * valueBuf, const unsigned char & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_int16(int16_t * valueBuf, const int16_t & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uint16(u_int16_t * valueBuf, const u_int16_t & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_int32(int * valueBuf, const int & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uint32(u_int32_t * valueBuf, const u_int32_t & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_int64(long long * valueBuf, const long long & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_uint64(unsigned long long * valueBuf, const unsigned long long & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_float(float * valueBuf, const float & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_double(double * valueBuf, const double & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_bsl_string(bsl_string * valueBuf, const bsl_string & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_raw_string(str_t * valueBuf, const str_t & def)const{ + if (valueBuf) { + *valueBuf = def; + } + return NOSUCHKEY; + } + + ErrCode ConfigError :: get_cstr(char * valueBuf, size_t len, const char * def)const{ + if (valueBuf) { + snprintf(valueBuf, len, "%s", def); + } + return NOSUCHKEY; + } + + bsl::var::IVar& ConfigError :: to_IVar(bsl::ResourcePool * /*vpool*/, ErrCode* errCode)const{ + popError(errCode, NOSUCHKEY); + return bsl::var::Null::null; + } + + int ConfigError :: equals(const ConfigUnit & conf) const { + if (CONFIG_ERROR_TYPE == conf.selfType()) { + return 0; + } else { + return -1; + } + return -1; + } + + int ConfigError :: set_value(const bsl_string & /*value*/, int except){ + if (except) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "ConfigUnit: failed to write error buffer"; + } + popError(NULL, NOSUCHKEY); + } + return NOSUCHKEY; + } + int ConfigError :: copy_unit(const ConfigUnit & /*unit*/, int except) { + if (except) { + popError(NULL, NOSUCHKEY); + } + return ERROR; + } +} + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/ConfigError.h b/configure/ConfigError.h new file mode 100644 index 00000000..202bc8fc --- /dev/null +++ b/configure/ConfigError.h @@ -0,0 +1,166 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConfigError.h,v 1.11 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConfigUnit.h + * @author yingxiang(com@baidu.com) + * @date 2008/11/26 20:53:09 + * @version $Revision: 1.11 $ + * @brief + * + **/ + + +#ifndef __CONFIGERROR_H_ +#define __CONFIGERROR_H_ + +#include "utils/cc_utils.h" +#include "ConfigUnit.h" +namespace comcfg{ + + class ConfigError : public ConfigUnit{ + public: + + virtual ~ConfigError(){}; + + virtual char to_char(ErrCode * errCode = NULL)const; + virtual unsigned char to_uchar(ErrCode * errCode = NULL)const; + virtual int16_t to_int16(ErrCode * errCode = NULL)const; + virtual u_int16_t to_uint16(ErrCode * errCode = NULL)const; + virtual int to_int32(ErrCode * errCode = NULL)const; + virtual u_int32_t to_uint32(ErrCode * errCode = NULL)const; + virtual long long to_int64(ErrCode * errCode = NULL)const; + virtual unsigned long long to_uint64(ErrCode * errCode = NULL)const; + virtual float to_float(ErrCode * errCode = NULL)const; + virtual double to_double(ErrCode * errCode = NULL)const; + virtual bsl_string to_bsl_string(ErrCode * errCode = NULL)const; + //virtual std_string to_std_string(ErrCode * errCode = NULL)const; + virtual str_t to_raw_string(ErrCode * errCode = NULL)const; + virtual const char * to_cstr(ErrCode * errCode = NULL)const; + + /** + * @brief 带有默认值的to_XXX系列函数 + * 返回值与to_xxx系列完全相同。 + * 唯一的不同是:当errCode不为0(即发生错误), 返回def默认值 + * + * @param [out] errCode : ErrCode* 出错信息 + * @param [in] def : const & 默认值 + * @return + **/ + virtual char to_char(ErrCode * errCode, const char & def)const; + virtual unsigned char to_uchar(ErrCode * errCode, const unsigned char & def)const; + virtual int16_t to_int16(ErrCode * errCode, const int16_t & def)const; + virtual u_int16_t to_uint16(ErrCode * errCode, const u_int16_t & def)const; + virtual int to_int32(ErrCode * errCode, const int & def)const; + virtual u_int32_t to_uint32(ErrCode * errCode, const u_int32_t & def)const; + virtual long long to_int64(ErrCode * errCode, const long long & def)const; + virtual unsigned long long to_uint64(ErrCode * errCode, const unsigned long long & def)const; + virtual float to_float(ErrCode * errCode, const float & def)const; + virtual double to_double(ErrCode * errCode, const double & def)const; + virtual bsl_string to_bsl_string(ErrCode * errCode, const bsl_string & def)const; + virtual str_t to_raw_string(ErrCode * errCode, const str_t & def)const; + //获取C风格的字符串(常量) + virtual const char * to_cstr(ErrCode * errCode, const char * def)const; + + virtual ErrCode get_char(char * valueBuf)const; + virtual ErrCode get_uchar(unsigned char * valueBuf)const; + virtual ErrCode get_int16(int16_t * valueBuf)const; + virtual ErrCode get_uint16(u_int16_t * valueBuf)const; + virtual ErrCode get_int32(int * valueBuf)const; + virtual ErrCode get_uint32(u_int32_t * valueBuf)const; + virtual ErrCode get_int64(long long * valueBuf)const; + virtual ErrCode get_uint64(unsigned long long * valueBuf)const; + virtual ErrCode get_float(float * valueBuf)const; + virtual ErrCode get_double(double * valueBuf)const; + virtual ErrCode get_bsl_string(bsl_string * valueBuf)const; + //virtual ErrCode get_std_string(std_string * valueBuf)const; + virtual ErrCode get_raw_string(str_t * valueBuf) const; + virtual ErrCode get_cstr(char * valueBuf, size_t len) const; + + /** + * @brief 带有默认值的ge_XXX系列函数 + * 返回值与get_xxx系列完全相同。 + * 唯一的不同是:当返回值不为0(即发生错误)valueBuf中使用def默认值 + * + * @param [out] valueBuf : char* 传出的值 + * @param [in] def : const char& 默认值 + * @return ErrCode + * @retval + * @see + **/ + virtual ErrCode get_char(char * valueBuf, const char & def)const; + virtual ErrCode get_uchar(unsigned char * valueBuf, const unsigned char & def)const; + virtual ErrCode get_int16(int16_t * valueBuf, const int16_t & def)const; + virtual ErrCode get_uint16(u_int16_t * valueBuf, const u_int16_t & def)const; + virtual ErrCode get_int32(int * valueBuf, const int & def)const; + virtual ErrCode get_uint32(u_int32_t * valueBuf, const u_int32_t & def)const; + virtual ErrCode get_int64(long long * valueBuf, const long long & def)const; + virtual ErrCode get_uint64(unsigned long long * valueBuf, const unsigned long long & def)const; + virtual ErrCode get_float(float * valueBuf, const float & def)const; + virtual ErrCode get_double(double * valueBuf, const double & def)const; + virtual ErrCode get_bsl_string(bsl_string * valueBuf, const bsl_string & def)const; + virtual ErrCode get_raw_string(str_t * valueBuf, const str_t & def)const; + virtual ErrCode get_cstr(char * valueBuf, size_t len, const char * def)const; + + virtual bsl::var::IVar& to_IVar(bsl::ResourcePool* vpool, ErrCode* errCode = NULL)const; + + virtual int selfType() const{ + return CONFIG_ERROR_TYPE; + } + virtual size_t size()const{ + return 0; + } + + virtual str_t info() const{ + return str_t("[Error: No such key.]"); + } + /** + * @brief 比较是否相等 + * + * @return int 0表示相等 -1不相等 + * @author zhang_rui + **/ + virtual int equals(const ConfigUnit & conf) const; + /** + * @brief 删除一个unit + * + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int set_value(const bsl_string & value, int except=0); + /** + * @brief 复制一个unit, 深拷贝 + * + * 将unit的内容复制到本对象。 + * 类型需要匹配,只能从group复制到group,array复制到array + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int copy_unit(const ConfigUnit & unit, int except=0); + virtual ConfigUnit & operator= (ConfigUnit & unit){ + return ConfigUnit::operator=(unit); + } + protected: + //str_t key; + //str_t value; + }; + +} + + + + + + + + + +#endif //__CONFIGERROR_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/ConfigGroup.cpp b/configure/ConfigGroup.cpp new file mode 100644 index 00000000..4acf1c54 --- /dev/null +++ b/configure/ConfigGroup.cpp @@ -0,0 +1,813 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConfigGroup.cpp,v 1.15 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConfigGroup.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 18:10:28 + * @version $Revision: 1.15 $ + * @brief + * + **/ + +#include "ConfigGroup.h" +#include "ConfigArray.h" +#include "Configure.h" +#include "utils/cc_utils.h" +#include "bsl/var/Dict.h" + +namespace comcfg{ + ConfigUnit * ConfigGroup :: relativeSection(ConfigUnit *globalSec, str_t str, int *depth){ + LOG(INFO) << "Config : [relativeSection]Current section : [" << getName() << "] depth[" << *depth << "]"; + if(str == ""){ + return this; + } + str_t child; + size_t global_len = strlen(CONFIG_GLOBAL); + if(str.substr(0, global_len) == str_t(CONFIG_GLOBAL) && + (str.size() == global_len || str[global_len] == '.')){ + ConfigGroup * sec = this; + while(sec->getFather()){ + sec = sec->getFather(); + } + (*depth) = 0; + str = str.size() > global_len ? str.substr(global_len+1) : ""; + LOG(INFO) << "Config : switch to global [" << sec->getName() << "] <-- This must be GLOBAL"; + return sec->relativeSection(globalSec, str, depth); + } + for(int i = 0; i < (int)str.size(); ++i){ + if(str[i] == '.'){ + child = str.substr(0, i); + str = str.substr(i+1); + ptr_t ptr = fieldMap.find(child); + if(NULL == ptr){ + LOG(WARNING) << "Configure : No previous section named [" << child.c_str() << "]"; + throw ConfigException(); + } + ++(*depth); + return (ptr->second)->relativeSection(globalSec, str, depth); + } + } + ConfigGroup *gSec = (ConfigGroup *)globalSec; + ptr_t ptr = fieldMap.find(str); + if(NULL == ptr){ + ConfigGroup * tmp = new ConfigGroup(str.c_str(), this); + + if((str[0] != '@') && !( (GROUP_DUP_LEVEL0 == gSec->_dupLevel) || (GROUP_DUP_LEVEL1==gSec->_dupLevel && 1<*depth))){ + struct dup_position dpos = {gSec->_at_file, gSec->_at_line,}; + dup_vector dvec; + dvec.push_back(dpos); + gSec->_dupMap.set(tmp, dvec, 1); + } + + ++(*depth); + push(str, tmp); + return tmp; + } + else{ + ++(*depth); + if((ptr->second)->selfType() != CONFIG_GROUP_TYPE){ + LOG(WARNING) << "Config : Duplicate key or group name [" << str.c_str() << "]"; + throw ConfigException(); + } + else if(!( (GROUP_DUP_LEVEL0 == gSec->_dupLevel) || (GROUP_DUP_LEVEL1==gSec->_dupLevel && 1<*depth))){ + dup_ptr dtr = gSec->_dupMap.find(ptr->second); + if(NULL == dtr){ + LOG(WARNING) << "Config : dup-map failed to find [" << str.c_str() << "]"; + throw ConfigException(); + } + struct dup_position dpos = {gSec->_at_file, gSec->_at_line,}; + (dtr->second).push_back(dpos); + } + + return ptr->second; + } + } + void ConfigGroup :: create(const char * __name, ConfigGroup * __father){ + const char *p = __name; + if(*p == '@'){ + ++p; + } + while(*p != 0){ + if((!isalpha(*p)) && (!isdigit(*p)) && *p != '_'){ + LOG(WARNING) << "Configure : Unsupport _name [" << __name << "]"; + throw ConfigException(); + //throw ConfigException("Unsupport section _name"); + } + ++p; + } + LOG(INFO) << "Config: this=" << this << ", Set _name = " << __name << ", _father = " << __father << "[" << __father->getName() <<"]"; + _name = __name; + _father = __father; + fieldMap.create(256); + if(_father){ + _level = _father->getLevel() + 1; + } + else{ + _level = 0; + } + } + + int ConfigGroup :: push(const str_t& key, ConfigUnit* unit){ + LOG(INFO) << "Configure : Push key [" << key.c_str() << "] to [" << getName() << "]"; + if(key[0] != '@'){ + if(NULL == fieldMap.find(key)){ + fieldMap.set(key, unit, 1); + fieldList.push_back(key); + } + else{ + LOG(WARNING) << "Configure : [" << getName() << "] Duplicate key [" << key.c_str() << "]"; + throw ConfigException(); + return -1; + } + } + else{ + ptr_t ptr = fieldMap.find(key.substr(1)); + if(NULL != ptr){ + if(ptr->second->selfType() == CONFIG_ARRAY_TYPE){ + ((ConfigArray*)(ptr->second))->push(key, unit); + } + else{ + LOG(WARNING) << "Configure : ambiguity key [" << key.c_str() << "]"; + throw ConfigException(); + return -1; + } + } + else{ + ConfigArray * array = new ConfigArray(key.c_str() + 1, this); + if(this->push(key.substr(1), array) == 0){ + //fieldList.push_back(key.substr(1)); + LOG(INFO) << "Config : we have new array [" << key.c_str() + 1 << "]"; + array->push(key, unit); + } + } + } + return 0; + } + + const ConfigUnit & ConfigGroup :: operator[] (const char * str) const{ + return (*this)[str_t(str)]; + } + const ConfigUnit & ConfigGroup :: operator[] (const str_t & str) const{ + ptr_t ptr = fieldMap.find(str); + if(NULL != ptr){ + return *(ptr->second); + } + LOG(INFO) << "Configure: visiting key not found: ConfigGroup[str_t] : " << _name.c_str() << "[" << str.c_str() << "]"; + str_t tmp = this->_name; + if (tmp == CONFIG_GLOBAL){ + tmp = str; + } else { + tmp.append(".").append(str); + } + setErrorKeyPath(tmp); + return *get_err_unit(); + } + const ConfigUnit & ConfigGroup :: operator[] (int idx) const{ + LOG(WARNING) << "Configure: visit ConfigGroup[int] : " << _name.c_str() << "[" << idx << "]"; + str_t tmp=this->_name; + char tmpid[64]; + snprintf(tmpid,64, "%d",idx); + tmp.append("[").append(tmpid).append("]");; + setErrorKeyPath(tmp); + return *get_err_unit(); + } + ConfigUnit & ConfigGroup :: operator[] (const char * str) { + return (*this)[str_t(str)]; + } + ConfigUnit & ConfigGroup :: operator[] (const str_t & str) { + ptr_t ptr = fieldMap.find(str); + if(NULL != ptr){ + return *(ptr->second); + } + LOG(INFO) << "Configure: visiting key not found: ConfigGroup[str_t] : " << _name.c_str() << "[" << str.c_str() << "]"; + str_t tmp = this->_name; + if (tmp == CONFIG_GLOBAL){ + tmp = str; + } else { + tmp.append(".").append(str); + } + setErrorKeyPath(tmp); + return *get_err_unit(); + } + ConfigUnit & ConfigGroup :: operator[] (int idx) { + LOG(WARNING) << "Configure: visit ConfigGroup[int] : "<< _name.c_str() << "[" << idx << "]"; + str_t tmp=this->_name; + char tmpid[64]; + snprintf(tmpid,64, "%d",idx); + tmp.append("[").append(tmpid).append("]");; + setErrorKeyPath(tmp); + return *get_err_unit(); + } + ConfigGroup :: ~ConfigGroup(){ + clear(); + if(0 != fieldMap.destroy()) + LOG(WARNING) << "Configure::~CofigGroup() : fieldMap.destory() failed "; + } + void ConfigGroup :: print(int indent) const{//for debug + str_t sec; + get_full_path(sec); + pindent(indent); + printf("Section-------[%s]\n", sec.c_str()); + for(int i = 0; i < (int)fieldList.size(); ++i){ + if(fieldMap.find(fieldList[i])-> second -> selfType() == CONFIG_UNIT_TYPE){ + fieldMap.find(fieldList[i]) -> second -> print(indent + 1); + } + } + for(int i = 0; i < (int)fieldList.size(); ++i){ + if(fieldMap.find(fieldList[i]) -> second -> selfType() == CONFIG_ARRAY_TYPE){ + fieldMap.find(fieldList[i]) -> second -> print(indent + 1); + } + } + for(int i = 0; i < (int)fieldList.size(); ++i){ + if(fieldMap.find(fieldList[i]) -> second -> selfType() == CONFIG_GROUP_TYPE){ + fieldMap.find(fieldList[i]) -> second -> print(indent + 1); + } + } + } + + bsl::var::IVar& ConfigGroup :: to_IVar(bsl::ResourcePool * vpool, ErrCode* errCode)const{ + if(vpool == NULL){ + LOG(WARNING) << "Configure: visit ConfigGroup.to_IVar() failed : NULLBUFFER"; + setErrorKeyPath(this->_name); + popError(errCode, NULLBUFFER); + return bsl::var::Null::null; + } + bsl::var::Dict & dict = vpool->create(); + for(int i = 0; i < (int)fieldList.size(); ++i){ + ConfigUnit * p = fieldMap.find(fieldList[i]) -> second; + bsl::var::IVar & son = p->to_IVar(vpool, errCode); + dict.set( fieldList[i], son ); + } + return dict; + } + + char ConfigGroup :: to_char(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return char(); + } + + unsigned char ConfigGroup :: to_uchar(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return (unsigned char)(0); + } + + int16_t ConfigGroup :: to_int16(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return int16_t(); + } + + u_int16_t ConfigGroup :: to_uint16(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return u_int16_t(); + } + + int ConfigGroup :: to_int32(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return int(); + } + + u_int32_t ConfigGroup :: to_uint32(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return u_int32_t(); + } + + long long ConfigGroup :: to_int64(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return (long long)(0); + } + + unsigned long long ConfigGroup :: to_uint64(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return (unsigned long long)(0); + } + + float ConfigGroup :: to_float(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return float(); + } + + double ConfigGroup :: to_double(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return double(); + } +#if 1 + bsl_string ConfigGroup :: to_bsl_string(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return bsl_string(); + } +#endif + str_t ConfigGroup :: to_raw_string(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return str_t(); + } + const char * ConfigGroup :: to_cstr(ErrCode * errCode)const{ + setErrorKeyPath(this->_name); + popError(errCode, GROUPTOUNIT); + return NULL; + } + + //----------------to_xxx with default value + char ConfigGroup :: to_char(ErrCode * errCode, const char & def)const { + if(errCode){ + *errCode = GROUPTOUNIT; + } + setErrorKeyPath(this->_name); + return def; + } + unsigned char ConfigGroup :: to_uchar(ErrCode * errCode, const unsigned char & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + int16_t ConfigGroup :: to_int16(ErrCode * errCode, const int16_t & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + u_int16_t ConfigGroup :: to_uint16(ErrCode * errCode, const u_int16_t & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + int ConfigGroup :: to_int32(ErrCode * errCode, const int & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + u_int32_t ConfigGroup :: to_uint32(ErrCode * errCode, const u_int32_t & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + long long ConfigGroup :: to_int64(ErrCode * errCode, const long long & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + unsigned long long ConfigGroup :: to_uint64(ErrCode * errCode, const unsigned long long & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + float ConfigGroup :: to_float(ErrCode * errCode, const float & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + double ConfigGroup :: to_double(ErrCode * errCode, const double & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + bsl_string ConfigGroup :: to_bsl_string(ErrCode * errCode, const bsl_string & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + str_t ConfigGroup :: to_raw_string(ErrCode * errCode, const str_t & def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + //获取C风格的字符串(常量) + const char * ConfigGroup :: to_cstr(ErrCode * errCode, const char * def)const{ + setErrorKeyPath(this->_name); + if(errCode){ + *errCode = GROUPTOUNIT; + } + return def; + } + + ErrCode ConfigGroup :: get_char(char * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uchar(unsigned char * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_int16(int16_t * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uint16(u_int16_t * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_int32(int * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uint32(u_int32_t * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_int64(long long * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uint64(unsigned long long * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_float(float * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_double(double * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } +#if 1 + ErrCode ConfigGroup :: get_bsl_string(bsl_string * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } +#endif + ErrCode ConfigGroup :: get_raw_string(str_t * /*valueBuf*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + ErrCode ConfigGroup :: get_cstr(char * /*valueBuf*/, size_t /*len*/)const{ + setErrorKeyPath(this->_name); + return GROUPTOUNIT; + } + + //--------------get_xx with default----------- + + ErrCode ConfigGroup :: get_char(char * valueBuf, const char & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uchar(unsigned char * valueBuf, const unsigned char & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_int16(int16_t * valueBuf, const int16_t & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uint16(u_int16_t * valueBuf, const u_int16_t & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_int32(int * valueBuf, const int & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uint32(u_int32_t * valueBuf, const u_int32_t & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_int64(long long * valueBuf, const long long & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_uint64(unsigned long long * valueBuf, const unsigned long long & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_float(float * valueBuf, const float & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_double(double * valueBuf, const double & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_bsl_string(bsl_string * valueBuf, const bsl_string & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_raw_string(str_t * valueBuf, const str_t & def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + *valueBuf = def; + } + return GROUPTOUNIT; + } + + ErrCode ConfigGroup :: get_cstr(char * valueBuf, size_t len, const char * def)const{ + setErrorKeyPath(this->_name); + if (valueBuf) { + snprintf(valueBuf, len, "%s", def); + } + return GROUPTOUNIT; + } + + const ConfigUnit & ConfigGroup :: get_sub_unit(int index) const { + int susize = (int) fieldMap.size(); + if ((0 > index) || (index >= susize)) { + return *get_err_unit(); + } + ConfigUnit * p = fieldMap.find(fieldList[index]) -> second; + if (NULL == p) { + return *get_err_unit(); + } + return *p; + } + + int ConfigGroup :: equals(const ConfigUnit & conf) const { + try { + const_itr_t itr; + for (itr = fieldMap.begin();itr != fieldMap.end(); ++itr) { + if (0 != itr->second->equals(conf[itr->first])) { + return -1; + } + } + return 0; + } catch (bsl::Exception) { + return -1; + } + return -1; + } + + int ConfigGroup :: add_unit(const bsl_string & key, const bsl_string& value, + const int objtype, int except, ConfigUnit ** ref) { + if (CONFIG_ERROR_TYPE == (*this)[key].selfType()) { + ConfigUnit * tmp = create_unit(key, value, objtype, this); + if (NULL == tmp){ + if (except) { + popError(NULL, CONFIG_ERROR); + } + return CONFIG_ERROR; + } + this->push(key,tmp); + if (NULL != ref) { + *ref = tmp; + } + } else { + if (except) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "Configure: failed to write error buffer"; + } + popError(NULL, DUPLICATED_KEY); + } + return DUPLICATED_KEY; + } + return 0; + } + int ConfigGroup :: del_unit(const bsl_string & key, int except) { + if (CONFIG_ERROR_TYPE != (*this)[key].selfType()) { + std::vector :: iterator iter; + for ( iter = fieldList.begin(); iter != fieldList.end(); ) + { + if ( *iter == key ) + { + iter = fieldList.erase( iter ); + break; + } + iter++; + } + ConfigUnit * delu = NULL; + ptr_t ptr = fieldMap.find(key); + if(NULL != ptr){ + delu = ptr->second; + fieldMap.erase(ptr->first); + } + if (delu) { + delete delu; + } + } else { + if (except) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "Configure: failed to write error buffer"; + } + popError(NULL, NOSUCHKEY); + } + return NOSUCHKEY; + } + return 0; + } + int ConfigGroup :: _append_unit(const ConfigUnit & unit,int check, int except) { + int ret = 0; + int i; + int size; + if (this->selfType()!= unit.selfType()) { + ret = ERROR; + goto cpend; + } + size = unit.size(); + + if (check) { + for (i=0; i< size; ++i) { + const comcfg::ConfigUnit & su = unit.get_sub_unit(i); + if (CONFIG_ERROR_TYPE == su.selfType()) { + ret = ERROR; + goto cpend; + } + if (CONFIG_ERROR_TYPE != (*this)[su.get_key_name()].selfType()) { + bsl_string ep = this->_name; + ep.append(su.get_key_name()); + setErrorKeyPath(ep); + ret = DUPLICATED_KEY; + goto cpend; + } + } + } + + for (i=0; i< size; ++i) { + const comcfg::ConfigUnit & subunit = unit.get_sub_unit(i); + switch (subunit.selfType()) { + case comcfg :: CONFIG_ERROR_TYPE: + ret = ERROR; + break; + case comcfg :: CONFIG_ARRAY_TYPE: + case comcfg :: CONFIG_GROUP_TYPE: + ConfigUnit * adu; + ret = add_unit(subunit.get_key_name(), "", subunit.selfType(), 0, &adu); + if (0 == ret) { + ret = adu->_append_unit(subunit,0, except); + } + if (0 != ret) { + goto cpend; + } + break; + case comcfg :: CONFIG_UNIT_TYPE: + ret = add_unit(subunit.get_key_name(), subunit.to_raw_string(), subunit.selfType()); + if (0 != ret) { + goto cpend; + } + break; + default: + ret = ERROR; + break; + } + if (0 != ret) { + break; + } + } + + cpend: + if (except && (0 != ret)) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "ConfigUnit: failed to write error buffer"; + } + popError(NULL, ERROR); + } + return ret; + } + + void ConfigGroup :: clear() { + itr_t itr = fieldMap.begin(); + while(itr != fieldMap.end()){ + delete itr->second; + ++itr; + } + fieldMap.clear(); + fieldList.clear(); + } + + int ConfigGroup :: copy_unit(const ConfigUnit & unit, int except){ + int ret =0; + if (this->selfType()!= unit.selfType()) { + ret = ERROR; + goto cpend; + } + clear(); + return _append_unit(unit, 1, except); + cpend: + if (except && (0 != ret)) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "ConfigUnit: failed to write error buffer"; + } + popError(NULL, ERROR); + } + return ret; + } + int ConfigGroup::printGroup(){ + if(_dupLevel == GROUP_DUP_LEVEL0){ + return 0; + } + size_t threshold = 2; + if(_dupLevel == GROUP_DUP_LEVEL3){ + threshold = 1; + } + int dupNum = 0; + for(dup_itr itr=_dupMap.begin(); itr!=_dupMap.end(); itr++){ + if(itr->second.size() >= threshold){ + ++ dupNum ; + } + } + LOG(INFO) << "ConfigGroup: There are " << dupNum << " (duplicate) group names in total:"; + for(dup_itr itr=_dupMap.begin(); itr!=_dupMap.end(); itr++){ + const char *groupName = ((ConfigGroup*)itr->first)->getName(); + const int groupDepth = ((ConfigGroup *)itr->first)->getLevel(); + dup_vector &dvec = itr->second; + if(dvec.size() >= threshold){ + for(size_t i=0; i_name; + } + + /** + * @brief 比较是否相等 + * + * @return int 0表示相等 -1不相等 + * @author zhang_rui + **/ + virtual int equals(const ConfigUnit & conf) const; + /** + * @brief 增加一个子unit + * + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int add_unit(const bsl_string & key, const bsl_string& value, + const int objtype=CONFIG_UNIT_TYPE,int except=0, ConfigUnit ** ref=NULL); + + /** + * @brief 删除一个unit + * + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int del_unit(const bsl_string & key, int except=0); + /** + * @brief 复制一个unit, 深拷贝 + * + * 将unit的内容复制到本对象。 + * 类型需要匹配,只能从group复制到group,array复制到array + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int copy_unit(const ConfigUnit & unit, int except=0); + protected: + friend class Reader; + friend class Constraint; + friend class Configure; + friend class ConfigUnit; + friend class CFdefault; + void create(const char * __name, ConfigGroup * __father = NULL); + ConfigUnit * relativeSection(ConfigUnit *globalSec, str_t str, int * depth); + int push(const str_t& key, ConfigUnit* unit); + const char * getName() const{ + return _name.c_str(); + } + virtual int selfType() const{ + return CONFIG_GROUP_TYPE; + } + int getLevel() const{ + return _level; + } + + int _level; + + //ConfigGroup * _father; + str_t _name; + std::vector fieldList; + typedef bsl::hashmap :: iterator itr_t; + typedef bsl::hashmap :: const_iterator const_itr_t; + typedef bsl::hashmap :: _Pair * ptr_t; + bsl::hashmap fieldMap; + + /** + * @brief 清除内容 + * + * @return void + * @author zhang_rui + **/ + virtual void clear(); + + /* + * @brief 根据_dupLevel允许的重名等级打印group名 + * + * @return 0,正常;DUPLICATED_GROUP,存在重名的group + 在_dupLevel为GROUP_DUP_LEVEL0或GROUP_DUP_LEVEL3时,返回0 + * @author Lin_jieqiong + */ + int printGroup(); + struct dup_position{ + str_t file; + int line; + }; + typedef std::vector dup_vector; + typedef bsl::hashmap :: iterator dup_itr; + typedef bsl::hashmap :: _Pair * dup_ptr; + + bsl::hashmap _dupMap; + int _dupLevel; + public: + /** + * @brief 复制一个group的子unit, 深拷贝 + * + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int _append_unit(const ConfigUnit & unit,int check=1, int except=0); + + }; + +} + + + + + + + + + + + + + + + + +#endif //__CONFIGGROUP_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/ConfigReloader.cpp b/configure/ConfigReloader.cpp new file mode 100644 index 00000000..a118c003 --- /dev/null +++ b/configure/ConfigReloader.cpp @@ -0,0 +1,521 @@ +/*************************************************************************** + * + * Copyright (c) 2010 Baidu.com, Inc. All Rights Reserved + * + **************************************************************************/ + + + +/** + * @file ConfigReloader.cpp + * @author zhang_rui(com@baidu.com) + * @date 2010-1-21 + * @brief + * + **/ + + +#include "ConfigReloader.h" +#include +#include + +static const int hashmap_bitems = 256; + +namespace comcfg { + +#define COMCFG_SAFEFREE(obj) do {if (NULL != (obj)) { delete (obj); (obj)=NULL; }} while(0) + +ConfigReloader :: ConfigReloader() : _finit(0), _last_modify(0) { + _config[0] = 0; + _config[1] = 0; + _config_curid = 0; + _load_param.filename = ""; + _load_param.rangename = ""; + _load_param.path = ""; + _load_param.version = CONFIG_VERSION_1_0; + + _chrcbmap.create(hashmap_bitems); + _strcbmap.create(hashmap_bitems); + _intcbmap.create(hashmap_bitems); + _uint64cbmap.create(hashmap_bitems); + _floatcbmap.create(hashmap_bitems); + _groupcbmap.create(hashmap_bitems); +} + +/** + * @brief 设定要监控的配置文件 + * + * @param [in] path : const char* 配置文件的路径 + * @param [in] conf : const char* 配置文件名 + * @param [in] range : const char* 约束文件,约束文件不进行更新检查 + * @param [in] version : int 文件格式的版本(暂未使用) + * @return int 0表示成功,其余为失败 + **/ +int ConfigReloader :: init(const char * path, const char * conf, + const char * range, int version) { + if(path == NULL || conf == NULL){ + LOG(WARNING) << "ConfigReloader.init : path or filename error..."; + return -1; + } + if (_finit) { + LOG(WARNING) << "ConfigReloader.init : already init. Can not init twice."; + return -1; + } + _load_param.filename = conf; + if (NULL != range) { + _load_param.rangename = range; + } else { + _load_param.rangename = ""; + } + _load_param.path = path; + _load_param.version = version; + int ret=0; + _config[_config_curid] = new comcfg::Configure; + ret = _config[_config_curid]->load(path, conf,range,version); + if (0 != ret) { + COMCFG_SAFEFREE(_config[_config_curid]); + return ret; + } + _last_modify = _config[_config_curid]->lastConfigModify(); + if (0 == _last_modify) { + LOG(WARNING) << "ConfigReloader.init : get last modify time error..."; + COMCFG_SAFEFREE(_config[_config_curid]); + return -1; + } + if (0 == ret) { + _finit = 1; + } + return ret; +} + +int ConfigReloader :: _add_key_monitor(config_monmap_t * map, const char * key, + key_change_cb_t proc, void * prm) { + if(key == NULL || NULL == proc){ + LOG(WARNING) << "ConfigReloader._add_key_monitor : NULL key or callback"; + return -1; + } + bsl::string kstr = key; + config_monitor_t * pmon = new config_monitor_t; + pmon->callback = proc; + pmon->param = prm; + config_monmap_pr_t ptr; + ptr = map->find(kstr); + if(NULL != ptr) { + if (NULL != ptr->second) { + delete ptr->second; + } + map->erase(ptr->first); + LOG(WARNING) << "ConfigReloader._add_key_monitor : " + "same key exist, update callback("<< proc << "), param(" << prm << ")"; + } + (*map).set(kstr, pmon, 1); + return 0; +} + +int ConfigReloader :: reload() { + int nextid = (_config_curid + 1) % 2; + COMCFG_SAFEFREE(_config[nextid]); + _config[nextid] = new comcfg :: Configure; + int ret = _config[nextid]->load(_load_param.path.c_str(), _load_param.filename.c_str(), + _load_param.rangename.c_str(), _load_param.version); + if (0 != ret) { + COMCFG_SAFEFREE(_config[nextid]); + return -1; + } + _config_curid = nextid; + return ret; +} + +int ConfigReloader :: check() { + int oldid = (_config_curid + 1) % 2; + try { + int ret = 0; + bsl::hashmap :: iterator itr; + //先检查合法 + for(itr = _chrcbmap.begin(); itr != _chrcbmap.end(); ++itr){ + _config[_config_curid]->deepGet(itr->first).to_char(); + } + for (itr = _strcbmap.begin(); itr != _strcbmap.end(); ++itr) { + _config[_config_curid]->deepGet(itr->first).to_bsl_string(); + } + for (itr = _intcbmap.begin(); itr != _intcbmap.end(); ++itr) { + _config[_config_curid]->deepGet(itr->first).to_int64(); + } + for (itr = _uint64cbmap.begin(); itr != _uint64cbmap.end(); ++itr) { + _config[_config_curid]->deepGet(itr->first).to_uint64(); + } + for (itr = _floatcbmap.begin(); itr != _floatcbmap.end(); ++itr) { + _config[_config_curid]->deepGet(itr->first).to_double(); + } + for (itr = _groupcbmap.begin(); itr != _groupcbmap.end(); ++itr) { + int ty = _config[_config_curid]->deepGet(itr->first).selfType(); + if (CONFIG_GROUP_TYPE != ty && CONFIG_ARRAY_TYPE != ty) { + LOG(WARNING) << "ConfigReloader.add_group_monitor :" + " (" << itr->first.c_str() << ") is not group or array"; + return -1; + } + } + + + //再检查数据是否改变 + for(itr = _chrcbmap.begin(); itr != _chrcbmap.end(); ++itr){ + if (NULL != itr->second) { + config_monitor_t * pmon = (config_monitor_t *) (itr->second); + if (_config[_config_curid]->deepGet(itr->first).to_char() != + _config[oldid]->deepGet(itr->first).to_char()) { + pmon->callback(_config[oldid]->deepGet(itr->first), + _config[_config_curid]->deepGet(itr->first), pmon->param); + ++ret; + } + } + } + for (itr = _strcbmap.begin(); itr != _strcbmap.end(); ++itr) { + if (NULL != itr->second) { + config_monitor_t * pmon = (config_monitor_t *) (itr->second); + if (_config[_config_curid]->deepGet(itr->first).to_bsl_string() + != _config[oldid]->deepGet(itr->first).to_bsl_string()) { + pmon->callback(_config[oldid]->deepGet(itr->first), + _config[_config_curid]->deepGet(itr->first), + pmon->param); + ++ret; + } + } + } + for (itr = _intcbmap.begin(); itr != _intcbmap.end(); ++itr) { + if (NULL != itr->second) { + config_monitor_t * pmon = (config_monitor_t *) (itr->second); + if (_config[_config_curid]->deepGet(itr->first).to_int64() + != _config[oldid]->deepGet(itr->first).to_int64()) { + pmon->callback(_config[oldid]->deepGet(itr->first), + _config[_config_curid]->deepGet(itr->first), + pmon->param); + ++ret; + } + } + } + for (itr = _uint64cbmap.begin(); itr != _uint64cbmap.end(); ++itr) { + if (NULL != itr->second) { + config_monitor_t * pmon = (config_monitor_t *) (itr->second); + if (_config[_config_curid]->deepGet(itr->first).to_uint64() + != _config[oldid]->deepGet(itr->first).to_uint64()) { + pmon->callback(_config[oldid]->deepGet(itr->first), + _config[_config_curid]->deepGet(itr->first), + pmon->param); + ++ret; + } + } + } + for (itr = _floatcbmap.begin(); itr != _floatcbmap.end(); ++itr) { + if (NULL != itr->second) { + config_monitor_t * pmon = (config_monitor_t *) (itr->second); + if (_config[_config_curid]->deepGet(itr->first).to_double() + != _config[oldid]->deepGet(itr->first).to_double()) { + pmon->callback(_config[oldid]->deepGet(itr->first), + _config[_config_curid]->deepGet(itr->first), + pmon->param); + ++ret; + } + } + } + for (itr = _groupcbmap.begin(); itr != _groupcbmap.end(); ++itr) { + if (NULL != itr->second) { + config_monitor_t * pmon = (config_monitor_t *) (itr->second); + if (0 != _config[_config_curid]->deepGet(itr->first) + .equals(_config[oldid]->deepGet(itr->first)) ) { + pmon->callback(_config[oldid]->deepGet(itr->first), + _config[_config_curid]->deepGet(itr->first), + pmon->param); + ++ret; + } + } + } + for(int i = 0; i < (int)_filecblist.size(); ++i){ + config_monitor_t * pmon = _filecblist[i]; + if (NULL != pmon && NULL!= pmon->callback) { + pmon->callback(*(_config[oldid]), *(_config[_config_curid]), pmon->param); + ++ret; + } + } + return ret; + } catch (bsl::Exception &e) { + LOG(WARNING) << "ConfigReloader.check : error(" << e.what() << ")"; + return -1; + } catch (...) { + LOG(WARNING) << "ConfigReloader.check : unknown error"; + return -1; + } + LOG(WARNING) << "ConfigReloader.check : unknown error, the codes lost road."; + return -1; +} + +/** + * @brief 检查配置文件是否发生变化。 + * + * @return int 0表示配置没有不安化,1表示配置发生了变化并进行了通知,-1表示更新后的配置内容错误或约束错误。 + * -2表示其他错误 + **/ +int ConfigReloader :: monitor() { + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.monitor : NULL config(" << _config_curid << "), init failed?"; + return -2; + } + time_t modtime = _config[_config_curid]->lastConfigModify(); + if (modtime > _last_modify) { + if (0 != reload()) { + LOG(WARNING) << "ConfigReloader.monitor : reload error("<< _load_param.filename.c_str() << ")"; + return -1; + } + int ret = check(); + if (-1 == ret) { + LOG(WARNING) << "ConfigReloader.monitor : check error(" << _load_param.filename.c_str() << ")"; + int oldid = _config_curid; + _config_curid = (_config_curid + 1) % 2; + + COMCFG_SAFEFREE(_config[oldid]); + return -2; + } + _last_modify = modtime; + return ret; + } else { + return 0; + } + LOG(WARNING) << "ConfigReloader.monitor : unknown error(" << _load_param.filename.c_str() << ")"; + return -2; +} +/** + * @brief 增加要监控的整数key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ +int ConfigReloader :: add_key_int(const char * key, key_change_cb_t proc, void * prm) { + try { + if (NULL == key) { + LOG(WARNING) << "ConfigReloader.add_key_int : NULL key."; + return -1; + } + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.add_key_int : NULL config. init failed?"; + return -1; + } + _config[_config_curid]->deepGet(key).to_int64(); + } catch (bsl::Exception &e) { + LOG(WARNING) << "ConfigReloader.add_key_int : error(" << e.what() << ")"; + return -1; + } catch (...) { + LOG(WARNING) << "ConfigReloader.add_key_int : unknown error"; + return -1; + } + return _add_key_monitor(&_intcbmap, key, proc, prm); +} +/** + * @brief 增加要监控的uint64 key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ +int ConfigReloader :: add_key_uint64(const char * key, key_change_cb_t proc, void * prm) { + try { + if (NULL == key) { + LOG(WARNING) << "ConfigReloader.add_key_uint64 : NULL key."; + return -1; + } + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.add_key_uint64 : NULL config. init failed?"; + return -1; + } + _config[_config_curid]->deepGet(key).to_uint64(); + } catch (bsl::Exception &e) { + LOG(WARNING) << "ConfigReloader.add_key_uint64 : error(" << e.what() << ")"; + return -1; + } catch (...) { + LOG(WARNING) << "ConfigReloader.add_key_uint64 : unknown error"; + return -1; + } + return _add_key_monitor(&_uint64cbmap, key, proc, prm); +} +/** + * @brief 增加要监控的浮点类型key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ +int ConfigReloader :: add_key_float(const char * key, key_change_cb_t proc, void * prm) { + try { + if (NULL == key) { + LOG(WARNING) << "ConfigReloader.add_key_float : NULL key."; + return -1; + } + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.add_key_float : NULL config. init failed?"; + return -1; + } + _config[_config_curid]->deepGet(key).to_double(); + } catch (bsl::Exception &e) { + LOG(WARNING) << "ConfigReloader.add_key_float : error(" << e.what() << ")"; + return -1; + } catch (...) { + LOG(WARNING) << "ConfigReloader.add_key_float : unknown error"; + return -1; + } + return _add_key_monitor(&_floatcbmap, key, proc, prm); +} +/** + * @brief 增加要监控的字符key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ +int ConfigReloader :: add_key_char(const char * key, key_change_cb_t proc, void * prm) { + try { + if (NULL == key) { + LOG(WARNING) << "ConfigReloader.add_key_char : NULL key."; + return -1; + } + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.add_key_char : NULL config. init failed?"; + return -1; + } + _config[_config_curid]->deepGet(key).to_char(); + } catch (bsl::Exception &e) { + LOG(WARNING) << "ConfigReloader.add_key_char : error(" << e.what() << ")"; + return -1; + } catch (...) { + LOG(WARNING) << "ConfigReloader.add_key_char : unknown error"; + return -1; + } + return _add_key_monitor(&_chrcbmap, key, proc, prm); +} +/** + * @brief 增加要监控的字符串key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ +int ConfigReloader :: add_key_string(const char * key, key_change_cb_t proc, void * prm) { + try { + if (NULL == key) { + LOG(WARNING) << "ConfigReloader.add_key_string : NULL key."; + return -1; + } + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.add_key_string : NULL config. init failed?"; + return -1; + } + _config[_config_curid]->deepGet(key).to_bsl_string(); + } catch (bsl::Exception &e) { + LOG(WARNING) << "ConfigReloader.add_key_string : error(" << e.what() << ")"; + return -1; + } catch (...) { + LOG(WARNING) << "ConfigReloader.add_key_string : unknown error"; + return -1; + } + return _add_key_monitor(&_strcbmap, key, proc, prm); +} +/** + * @brief 增加监控[group]的回调 + * + * @param [in] group : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ +int ConfigReloader :: add_group_monitor(const char * group, key_change_cb_t proc, void * prm) { + try { + if (NULL == group) { + LOG(WARNING) << "ConfigReloader.add_group_monitor : NULL key."; + return -1; + } + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.add_group_monitor : NULL config. init failed?"; + return -1; + } + int ty =_config[_config_curid]->deepGet(group).selfType(); + if (CONFIG_GROUP_TYPE != ty && CONFIG_ARRAY_TYPE != ty) { + LOG(WARNING) << "ConfigReloader.add_group_monitor :" + " (" << group << ") is not group or array"; + return -1; + } + } catch (bsl::Exception &e) { + LOG(WARNING) << "ConfigReloader.add_group_monitor : error(" << e.what() << ")"; + return -1; + } catch (...) { + LOG(WARNING) << "ConfigReloader.add_group_monitor : unknown error"; + return -1; + } + return _add_key_monitor(&_groupcbmap, group, proc, prm); +} +/** + * @brief 增加监控整个文件的回调 + * + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ +int ConfigReloader :: add_file_monitor(key_change_cb_t proc, void * prm) { + if (NULL == _config[_config_curid]) { + LOG(WARNING) << "ConfigReloader.add_file_monitor : NULL config. init failed?"; + return -1; + } + if(NULL == proc) { + LOG(WARNING) << "ConfigReloader.add_file_monitor : NULL callback"; + return -1; + } + + for(int i = 0; i < (int)_filecblist.size(); ++i){ + config_monitor_t * pmon = _filecblist[i]; + if (NULL != pmon && proc == pmon->callback) { + pmon->param = prm; + LOG(WARNING) << "ConfigReloader.add_file_monitor : " + "same callback exist, updated param to " << prm; + return -1; + } + } + + config_monitor_t * pmon = new config_monitor_t; + pmon->callback = proc; + pmon->param = prm; + _filecblist.push_back(pmon); + return 0; +} + +Configure * ConfigReloader :: get_config() { + return _config[_config_curid]; +} + + +void ConfigReloader :: _free_map(bsl::hashmap *map) { + bsl::hashmap::iterator itr; + for(itr = map->begin(); itr != map->end(); ++itr) { + if (NULL != itr->second) { + delete itr->second; + } + } + if(0 != map->destroy()) + LOG(WARNING) << "ConfigReloader._free_map : " + "map->destory() failed "; +} + +void ConfigReloader :: _free_list(std::vector *list) { + for(int i = 0; i < (int)list->size(); ++i){ + if (NULL != (*list)[i]) { + delete (*list)[i]; + } + } +} +ConfigReloader :: ~ConfigReloader() { + _free_map(&_chrcbmap); + _free_map(&_strcbmap); + _free_map(&_intcbmap); + _free_map(&_uint64cbmap); + _free_map(&_floatcbmap); + _free_map(&_groupcbmap); + _free_list(&_filecblist); + COMCFG_SAFEFREE(_config[0]); + COMCFG_SAFEFREE(_config[1]); +} + +}//namespace comcfg diff --git a/configure/ConfigReloader.h b/configure/ConfigReloader.h new file mode 100644 index 00000000..edda8b08 --- /dev/null +++ b/configure/ConfigReloader.h @@ -0,0 +1,179 @@ +/*************************************************************************** + * + * Copyright (c) 2010 Baidu.com, Inc. All Rights Reserved + * + **************************************************************************/ + + + +/** + * @file ConfigReloader.h + * @author zhang_rui(com@baidu.com) + * @date 2010-1-21 + * @brief + * + **/ + + +#ifndef CONFIGRELOADER_H_ +#define CONFIGRELOADER_H_ + +#include "Configure.h" + +namespace comcfg { + +typedef int (*key_change_cb_t)(const ConfigUnit &keyold, \ + const ConfigUnit &keynew, void * prm); /**< 处理配置项变更的回调函数类型 */ + +typedef struct _load_param_t { + bsl::string path; /**< 路径 */ + bsl::string filename; /**< 配置文件 */ + bsl::string rangename; /**< 约束文件 */ + int version; /**< 版本 */ +}load_param_t ; + +typedef struct _config_monitor_t { + key_change_cb_t callback; + void * param; +} config_monitor_t; + +class ConfigReloader { + typedef bsl::hashmap config_monmap_t; + typedef bsl::hashmap :: iterator config_monmap_itr_t; + typedef bsl::hashmap :: _Pair* config_monmap_pr_t; +private: + int _finit; /**< 初始化标志 */ + load_param_t _load_param; /**< load 参数 */ + Configure * _config[2]; /**< configure对象,原文件和更新文件 */ + int _config_curid; /**< load 参数 */ + time_t _last_modify; /**< 最近修改时间 */ + std::vector _filecblist; /**< 处理文件变更的回调 */ + bsl::hashmap _chrcbmap; /**< 存储监控的字符key和回调 */ + bsl::hashmap _strcbmap; /**< 存储监控的字符串key和回调 */ + bsl::hashmap _intcbmap; /**< 存储监控的整数key和回调 */ + bsl::hashmap _uint64cbmap; /**< 存储监控的浮点key和回调 */ + bsl::hashmap _floatcbmap; /**< 存储监控的浮点key和回调 */ + bsl::hashmap _groupcbmap; /**< 存储监控的group和回调 */ + + /** + * @brief 增加一个监控回调到map中 + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @param [in] prm : 参数 + * @return int 0表示成功,-1为失败 + **/ + int _add_key_monitor(config_monmap_t * map, const char * key, key_change_cb_t proc, void * prm); + /** + * @brief 释放存储的数据 + * + * @param [in] map : bsl::hashmap + * @return void + **/ + void _free_map(bsl::hashmap *map); + /** + * @brief 释放存储的数据 + * + * @param [in] map : bsl::hashmap + * @return void + **/ + void _free_list(std::vector *list); + + /** + * @brief 重新载入configure文件 + * @return int 0表示成功 其他失败 + **/ + int reload(); + /** + * @brief 检查各个监控值。 + * @return int 0表示配置没有检查项,>=1表示配置发生了变化并进行了通知,-1表示错误。 + **/ + int check(); +public : + /** + * @brief 设定要监控的配置文件 + * + * @param [in] path : const char* 配置文件的路径 + * @param [in] conf : const char* 配置文件名 + * @param [in] range : const char* 约束文件,约束文件不进行更新检查 + * @param [in] version : int 文件格式的版本(暂未使用) + * @return int 0表示成功,其余为失败 + **/ + int init(const char * path, const char * conf, const char * range = NULL, int version = CONFIG_VERSION_1_0); + /** + * @brief 检查配置文件是否发生变化。 + * + * @return int 0表示配置没有不安化,正数表示配置发生了变化并进行了通知的回调个数,-1表示更新后的配置内容错误或约束错误。 + * -2表示其他错误 + **/ + int monitor(); + /** + * @brief 增加要监控的整数key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_key_int(const char * key, key_change_cb_t proc, void * prm); + /** + * @brief 增加要监控的uint64 key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_key_uint64(const char * key, key_change_cb_t proc, void * prm); + /** + * @brief 增加要监控的浮点类型key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_key_float(const char * key, key_change_cb_t proc, void * prm); + /** + * @brief 增加要监控的字符key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_key_char(const char * key, key_change_cb_t proc, void * prm); + /** + * @brief 增加要监控的字符串key + * + * @param [in] key : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_key_string(const char * key, key_change_cb_t proc, void * prm); + /** + * @brief 增加监控[group]的回调 + * + * @param [in] group : const char* 配置项的全路径 + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_group_monitor(const char * group, key_change_cb_t proc, void * prm); + /** + * @brief 增加监控整个文件的回调 + * + * @param [in] proc : key_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_file_monitor(key_change_cb_t proc, void * prm); + /** + * @brief 获取当前的configure + **/ + Configure * get_config(); + + ConfigReloader(); + ~ConfigReloader(); +}; + + + +}//namespace comcfg + + +#endif /* CONFIGRELOADER_H_ */ diff --git a/configure/ConfigUnit.cpp b/configure/ConfigUnit.cpp new file mode 100644 index 00000000..2808ae8e --- /dev/null +++ b/configure/ConfigUnit.cpp @@ -0,0 +1,1017 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConfigUnit.cpp,v 1.16 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConfigUnit.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 20:26:57 + * @version $Revision: 1.16 $ + * @brief + * + **/ + +#include "ConfigUnit.h" +#include "ConfigError.h" +#include "ConfigArray.h" + +#include "utils/cc_utils.h" +#include "reader/Reader.h" +#include "bsl/var/String.h" +namespace comcfg{ + + ConfigUnit * ConfigUnit :: get_err_unit() { + static ConfigUnit* g_err_unit = NULL; + if (NULL == g_err_unit) { + g_err_unit = new ConfigError(); + } + return g_err_unit; + } + + class ErrorUnitControl { + private: + static int _needfree; + public: + ErrorUnitControl() { + ConfigUnit :: get_err_unit(); + } + ~ErrorUnitControl() { + if (_needfree) { + _needfree =0; + ConfigUnit *eu = ConfigUnit :: get_err_unit(); + delete eu; + } + } + }; + + int ErrorUnitControl::_needfree = 1; + + static ErrorUnitControl err_unit_control; + + //Reader * g_cur_reader = NULL; + //str_t ConfigUnit :: g_unknown = "Unknown"; + + const ConfigUnit & ConfigUnit :: operator[] (const char * str) const { + if (selfType() == CONFIG_UNIT_TYPE) { + LOG(INFO) << "Configure: visit ConfigUnit[char *] : " << _key.c_str() << "[" << str << "]"; + str_t tmp=this->_key; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + } + return *get_err_unit(); + } + const ConfigUnit & ConfigUnit :: operator[] (const str_t & str) const{ + if (selfType() == CONFIG_UNIT_TYPE) { + LOG(INFO) << "Configure: visit ConfigUnit[str_t] : " << _key.c_str() << "[" << str.c_str() << "]"; + str_t tmp=this->_key; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + } + return *get_err_unit(); + } + const ConfigUnit & ConfigUnit :: operator[] (int idx) const{ + if (selfType() == CONFIG_UNIT_TYPE) { + LOG(INFO) << "Configure: visit ConfigUnit[int] : " << _key.c_str() << "[" << idx << "]"; + str_t tmp=this->_key; + char tmpid[64]; + snprintf(tmpid,64, "%d",idx); + tmp.append("[").append(tmpid).append("]");; + setErrorKeyPath(tmp); + } + return *get_err_unit(); + } + ConfigUnit & ConfigUnit :: operator[] (const char * str) { + if (selfType() == CONFIG_UNIT_TYPE) { + LOG(INFO) << "Configure: visit ConfigUnit[char *] : " << _key.c_str() << "[" << str << "]"; + str_t tmp=this->_key; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + } + return *get_err_unit(); + } + ConfigUnit & ConfigUnit :: operator[] (const str_t & str) { + if (selfType() == CONFIG_UNIT_TYPE) { + LOG(INFO) << "Configure: visit ConfigUnit[str_t] : " << _key.c_str() << "[" << str.c_str() << "]"; + str_t tmp=this->_key; + tmp.append(".").append(str); + setErrorKeyPath(tmp); + } + return *get_err_unit(); + } + ConfigUnit & ConfigUnit :: operator[] (int idx) { + if (selfType() == CONFIG_UNIT_TYPE) { + LOG(INFO) << "Configure: visit ConfigUnit[int] : " << _key.c_str() << "[" << idx << "]"; + str_t tmp=this->_key; + char tmpid[64]; + snprintf(tmpid,64, "%d",idx); + tmp.append("[").append(tmpid).append("]");; + setErrorKeyPath(tmp); + } + return *get_err_unit(); + } + + ConfigUnit & ConfigUnit :: operator= (ConfigUnit & unit) { + copy_unit(unit, 1); + return *this; + } + ConfigUnit :: ConfigUnit(): _key(""), _at_file ("NULL"), _at_line(-1), _father(NULL), _bConstrainted(false) { + } + ConfigUnit :: ConfigUnit(const str_t& __key, const str_t& __value, const Reader * __cur_reader, ConfigGroup * father) + : _at_file("NULL"), _at_line(-1){ + for(int i = 0; i < (int)__key.size(); ++i){ + if(i == 0 && __key[i] == '@'){ + continue; + } + if((!isalpha(__key[i])) && (!isdigit(__key[i])) && __key[i] != '_'){ + LOG(WARNING) << "Unsupport _key format [" << __key.c_str() << "]"; + throw ConfigException(); + } + } + _key = __key; + _value = __value; + _cstr = _value; + _cstr_err = 0; + _father = father; + _bConstrainted = false; + if(__cur_reader != NULL){ + //如果这个reader被释放了,_at_file就会指向非法内存片 + setFilePosition(__cur_reader->_cur_file.c_str(), __cur_reader->_cur_line); + } + if(_value.size() > 0 && _value[0] == '"'){ + _cstr_err = Trans :: str2str(_value, &_cstr); + if(_cstr_err){ + LOG(WARNING) << "Config : Error format : _key[" << _key.c_str() << "] _value[" << _value.c_str() << "]"; + } + } + } + + const char * ConfigUnit :: seeError(const ErrCode & err)const{ + switch(err){ + case ERROR : + return "Something error"; + case OK : + return "OK"; + case FORMATERROR : + return "Format error"; + case OUTOFRANGE : + return "Out of range"; + case NULLVALUE : + return "Value is null"; + case NULLBUFFER : + return "Given buffer is null"; + case NOSUCHKEY : + return "No such _key"; + case CONSTRAINT_ERROR : + return "Constraint error"; + case CONFIG_ERROR : + return "config error"; + case GROUPTOUNIT : + return "use group as key"; + case DUPLICATED_KEY : + return "duplicated key"; + case UNKNOWN : + default: + return "Unknown error"; + } + return "Unknown error"; + } + void ConfigUnit :: popError(ErrCode * err, ErrCode code)const{ + if(err){ + *err = code; + } + else{ + ConfigThrower::throwException(code); + } + } + + void ConfigUnit :: setErrorKeyPath(str_t str)const{ + str_t errkeypath = str; //this->_key; + //errkeypath.append(".").append(str); + const ConfigGroup * top = this->_father; + for (;NULL != top; top = top->_father){ + if (top->_name == CONFIG_GLOBAL){ + break; + } else { + errkeypath = str_t(top->_name).append(".").append(errkeypath); + } + } + if (0 != ul_seterrbuf("%s", errkeypath.c_str())) { + LOG(WARNING) << "Configure: failed to write Error key path to error buffer"; + } + } + + ConfigUnit :: ~ConfigUnit(){} + char ConfigUnit :: to_char(ErrCode * errCode)const{ + char tmp; + popError(errCode, get_char(&tmp)); + return tmp; + } + + unsigned char ConfigUnit :: to_uchar(ErrCode * errCode)const{ + unsigned char tmp; + popError(errCode, get_uchar(&tmp)); + return tmp; + } + + int16_t ConfigUnit :: to_int16(ErrCode * errCode)const{ + int16_t tmp; + popError(errCode, get_int16(&tmp)); + return tmp; + } + + u_int16_t ConfigUnit :: to_uint16(ErrCode * errCode)const{ + u_int16_t tmp; + popError(errCode, get_uint16(&tmp)); + return tmp; + } + + int ConfigUnit :: to_int32(ErrCode * errCode)const{ + int tmp; + popError(errCode, this->get_int32(&tmp)); + return tmp; + } + + u_int32_t ConfigUnit :: to_uint32(ErrCode * errCode)const{ + u_int32_t tmp; + popError(errCode, get_uint32(&tmp)); + return tmp; + } + + long long ConfigUnit :: to_int64(ErrCode * errCode)const{ + long long tmp; + popError(errCode, get_int64(&tmp)); + return tmp; + } + + unsigned long long ConfigUnit :: to_uint64(ErrCode * errCode)const{ + unsigned long long tmp; + popError(errCode, get_uint64(&tmp)); + return tmp; + } + + float ConfigUnit :: to_float(ErrCode * errCode)const{ + float tmp; + popError(errCode, get_float(&tmp)); + return tmp; + } + + double ConfigUnit :: to_double(ErrCode * errCode)const{ + double tmp; + popError(errCode, get_double(&tmp)); + return tmp; + } +#if 1 + bsl_string ConfigUnit :: to_bsl_string(ErrCode * errCode)const{ + bsl_string tmp; + popError(errCode, get_bsl_string(&tmp)); + return tmp; + } +#endif +#if 0 + std_string ConfigUnit :: to_std_string(ErrCode * errCode)const{ + std_string tmp; + popError(errCode, get_std_string(&tmp)); + return tmp; + } +#endif + str_t ConfigUnit :: to_raw_string(ErrCode * errCode)const{ + str_t tmp; + popError(errCode, get_raw_string(&tmp)); + return tmp; + } +#if 1 + const char * ConfigUnit :: to_cstr(ErrCode * errCode)const{ + if (_cstr_err) { + LOG(INFO) << "Configure: visit ConfigUnit.to_cstr() failed"; + setErrorKeyPath(this->_key); + } + popError(errCode, _cstr_err); + return _cstr.c_str(); + } +#endif + + //----------------to_xxx with default value + char ConfigUnit :: to_char(ErrCode * errCode, const char & def)const { + char ret; + *errCode = get_char(&ret, def); + return ret; + } + unsigned char ConfigUnit :: to_uchar(ErrCode * errCode, const unsigned char & def)const{ + unsigned char ret; + *errCode = get_uchar(&ret, def); + return ret; + } + int16_t ConfigUnit :: to_int16(ErrCode * errCode, const int16_t & def)const{ + int16_t ret; + *errCode = get_int16(&ret, def); + return ret; + } + u_int16_t ConfigUnit :: to_uint16(ErrCode * errCode, const u_int16_t & def)const{ + u_int16_t ret; + *errCode = get_uint16(&ret, def); + return ret; + } + int ConfigUnit :: to_int32(ErrCode * errCode, const int & def)const{ + int ret; + *errCode = get_int32(&ret, def); + return ret; + } + u_int32_t ConfigUnit :: to_uint32(ErrCode * errCode, const u_int32_t & def)const{ + u_int32_t ret; + *errCode = get_uint32(&ret, def); + return ret; + } + long long ConfigUnit :: to_int64(ErrCode * errCode, const long long & def)const{ + long long ret; + *errCode = get_int64(&ret, def); + return ret; + } + unsigned long long ConfigUnit :: to_uint64(ErrCode * errCode, const unsigned long long & def)const{ + unsigned long long ret; + *errCode = get_uint64(&ret, def); + return ret; + } + float ConfigUnit :: to_float(ErrCode * errCode, const float & def)const{ + float ret; + *errCode = get_float(&ret, def); + return ret; + } + double ConfigUnit :: to_double(ErrCode * errCode, const double & def)const{ + double ret; + *errCode = get_double(&ret, def); + return ret; + } + bsl_string ConfigUnit :: to_bsl_string(ErrCode * errCode, const bsl_string & def)const{ + bsl_string ret; + *errCode = get_bsl_string(&ret, def); + return ret; + } + str_t ConfigUnit :: to_raw_string(ErrCode * errCode, const str_t & def)const{ + str_t ret; + *errCode = get_raw_string(&ret, def); + return ret; + } + //获取C风格的字符串(常量) + const char * ConfigUnit :: to_cstr(ErrCode * errCode, const char * def)const{ + str_t str; + *errCode = get_bsl_string(&str); + if (0 != *errCode){ + return def; + } + return _cstr.c_str(); + } + + + ErrCode ConfigUnit :: get_char(char * valueBuf)const{ + LOG(INFO) << "Config : Get char from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_char() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + str_t buf; + int ret = Trans :: str2str(_value, &buf); + if(ret){ + LOG(INFO) << "Configure: visit ConfigUnit.get_char() failed"; + setErrorKeyPath(this->_key); + return ret; + } + if(buf.size()){ + *valueBuf = char(buf[0]); + } + else{ + LOG(INFO) << "Configure: visit ConfigUnit.get_char() failed: NULLVALUE"; + setErrorKeyPath(this->_key); + return NULLVALUE; + } + return 0; + } + ErrCode ConfigUnit :: get_uchar(unsigned char * valueBuf)const{ + LOG(INFO) << "Config : Get uchar from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_uchar() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + str_t buf; + int ret = Trans :: str2str(_value, &buf); + if(ret){ + LOG(INFO) << "Configure: visit ConfigUnit.get_uchar() failed"; + setErrorKeyPath(this->_key); + return ret; + } + if(buf.size()){ + *valueBuf = (unsigned char)(buf[0]); + } + else{ + LOG(INFO) << "Configure: visit ConfigUnit.get_uchar() failed: NULLVALUE"; + setErrorKeyPath(this->_key); + return NULLVALUE; + } + return 0; + } + + ErrCode ConfigUnit :: get_int16(int16_t * valueBuf)const{ + LOG(INFO) << "Config : Get int16 from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_int16() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + long long val; + int ret = Trans :: str2int64(_value, &val); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_int16() failed"; + setErrorKeyPath(this->_key); + return ret; + } + if( val > (long long)0x7fff || val < -(long long)0x8000 ) { + LOG(WARNING) << "Config : Get [" << _key.c_str() << "] : out of range."; + setErrorKeyPath(this->_key); + return OUTOFRANGE; + } + *valueBuf = (int16_t)val; + return 0; + } + + ErrCode ConfigUnit :: get_uint16(u_int16_t * valueBuf)const{ + LOG(INFO) << "Config : Get uint16 from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_uint16() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + unsigned long long val; + int ret = Trans :: str2uint64(_value, &val); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_uint16() failed"; + setErrorKeyPath(this->_key); + return ret; + } + if( val > (unsigned long long)0xffff ) { + LOG(WARNING) << "Config : Get [" << _key.c_str() << "] : out of range."; + setErrorKeyPath(this->_key); + return OUTOFRANGE; + } + *valueBuf = (u_int16_t)val; + return 0; + } + + ErrCode ConfigUnit :: get_int32(int * valueBuf)const{ + LOG(INFO) << "Config : Get int32 from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_int32() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + long long val; + int ret = Trans :: str2int64(_value, &val); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_int32() failed"; + setErrorKeyPath(this->_key); + return ret; + } + if( val > (long long)0x7fffffff || val < -(long long)0x80000000 ) { + LOG(WARNING) << "Config : Get [" << _key.c_str() << "] : out of range."; + setErrorKeyPath(this->_key); + return OUTOFRANGE; + } + *valueBuf = (int)val; + return 0; + } + + ErrCode ConfigUnit :: get_uint32(u_int32_t * valueBuf)const{ + LOG(INFO) << "Config : Get uint32 from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_uint32() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + unsigned long long val; + int ret = Trans :: str2uint64(_value, &val); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_uint32() failed"; + setErrorKeyPath(this->_key); + return ret; + } + if( val > (unsigned long long)0xffffffff ) { + LOG(WARNING) << "Config : Get [" << _key.c_str() << "] : out of range."; + setErrorKeyPath(this->_key); + return OUTOFRANGE; + } + *valueBuf = (u_int32_t)val; + return 0; + } + + ErrCode ConfigUnit :: get_int64(long long * valueBuf)const{ + LOG(INFO) << "Config : Get int64 from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_int64() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + long long val; + int ret = Trans :: str2int64(_value, &val); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_int64() failed"; + setErrorKeyPath(this->_key); + return ret; + } + *valueBuf = val; + return 0; + } + + ErrCode ConfigUnit :: get_uint64(unsigned long long * valueBuf)const{ + LOG(INFO) << "Config : Get uint64 from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_uint64() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + unsigned long long val; + int ret = Trans :: str2uint64(_value, &val); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_uint64() failed"; + setErrorKeyPath(this->_key); + return ret; + } + *valueBuf = val; + return 0; + } + + + ErrCode ConfigUnit :: get_float(float * valueBuf)const{ + LOG(INFO) << "Config : Get float from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_float() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + double buf = 0.0; + int ret = Trans :: str2double(_value, &buf); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_float() failed"; + setErrorKeyPath(this->_key); + } + *valueBuf = float(buf); + return ret; + } + ErrCode ConfigUnit :: get_double(double * valueBuf)const{ + LOG(INFO) << "Config : Get double from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_double() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + int ret = Trans :: str2double(_value, valueBuf); + if(ret) { + LOG(INFO) << "Configure: visit ConfigUnit.get_double() failed"; + setErrorKeyPath(this->_key); + } + return ret; + } +#if 0 + ErrCode ConfigUnit :: get_std_string(std_string * valueBuf) const{ + LOG(INFO) << "Config : Get std::string from _key [%s]", _key.c_str()); + if(valueBuf == NULL){ + return NULLBUFFER; + } + return Trans :: str2str(_value, valueBuf); + } +#endif + ErrCode ConfigUnit :: get_bsl_string(bsl_string * valueBuf) const{ + LOG(INFO) << "Config : Get std::string from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_bsl_string() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + int ret = Trans :: str2str(_value, valueBuf); + if(ret) { + LOG(INFO) <<"Configure: visit ConfigUnit.get_bsl_string() failed"; + setErrorKeyPath(this->_key); + } + return ret; + } + ErrCode ConfigUnit :: get_raw_string(str_t * valueBuf) const{ + LOG(INFO) << "Config : Get raw string from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_raw_string() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + *valueBuf = _value; + return 0; + } + ErrCode ConfigUnit :: get_cstr(char * valueBuf, size_t len) const{ + LOG(INFO) << "Config : Get c style string from _key [" << _key.c_str() << "]"; + if(valueBuf == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.get_cstr() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + return NULLBUFFER; + } + str_t str; + int ret = get_bsl_string(&str); + if(ret == 0){ + snprintf(valueBuf, len, "%s", str.c_str()); + } else { + LOG(INFO) << "Configure: visit ConfigUnit.get_cstr() failed"; + setErrorKeyPath(this->_key); + } + return ret; + } + //--------------get_xx with default----------- + + ErrCode ConfigUnit :: get_char(char * valueBuf, const char & def)const{ + ErrCode ret = get_char(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_uchar(unsigned char * valueBuf, const unsigned char & def)const{ + ErrCode ret = get_uchar(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_int16(int16_t * valueBuf, const int16_t & def)const{ + ErrCode ret = get_int16(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_uint16(u_int16_t * valueBuf, const u_int16_t & def)const{ + ErrCode ret = get_uint16(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_int32(int * valueBuf, const int & def)const{ + ErrCode ret = get_int32(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_uint32(u_int32_t * valueBuf, const u_int32_t & def)const{ + ErrCode ret = get_uint32(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_int64(long long * valueBuf, const long long & def)const{ + ErrCode ret = get_int64(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_uint64(unsigned long long * valueBuf, const unsigned long long & def)const{ + ErrCode ret = get_uint64(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_float(float * valueBuf, const float & def)const{ + ErrCode ret = get_float(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_double(double * valueBuf, const double & def)const{ + ErrCode ret = get_double(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_bsl_string(bsl_string * valueBuf, const bsl_string & def)const{ + ErrCode ret = get_bsl_string(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_raw_string(str_t * valueBuf, const str_t & def)const{ + ErrCode ret = get_raw_string(valueBuf); + if(ret != 0){ + *valueBuf = def; + } + return ret; + } + + ErrCode ConfigUnit :: get_cstr(char * valueBuf, size_t len, const char * def)const{ + ErrCode ret = get_cstr(valueBuf, len); + if(ret != 0){ + snprintf(valueBuf, len, "%s", def); + } + return ret; + } + + //-------------------to_IVar------------------ + bsl::var::IVar& ConfigUnit :: to_IVar(bsl::ResourcePool * vpool, ErrCode* errCode)const{ + if(vpool == NULL){ + LOG(INFO) << "Configure: visit ConfigUnit.to_IVar() failed : NULLBUFFER"; + setErrorKeyPath(this->_key); + popError(errCode, NULLBUFFER); + return bsl::var::Null::null; + } + if (_cstr_err) { + setErrorKeyPath(this->_key); + } + popError(errCode, _cstr_err); + bsl::var::IVar & var = vpool->create(_cstr); + return var; + } + + const ConfigUnit & ConfigUnit :: deepGet(const str_t path) const{ + for (int i=0; i<(int)path.size(); ++i){ + if ('.' == path[i]){ + str_t first = path.substr(0,i); + str_t sub = path.substr(i+1); + return deepGetSegment(first).deepGet(sub); + } + } + return deepGetSegment(path); + } + + const ConfigUnit & ConfigUnit :: deepGetSegment(const str_t segment) const { + int idleft=0; + int idright=-1; + for (int i=0; i<(int)segment.size(); ++i){ + if ('['==segment[i]){ + idleft = i+1; + } else if (']' == segment[i]) { + idright = i-1; + } + } + if (idright >= idleft) { + str_t arrid = segment.substr(idleft, idright-idleft+1); + if (Trans::isInteger(arrid)) { + return (*this)[segment.substr(0,idleft-1)][atoi(arrid.c_str())]; + } else { + return (*this)[segment.substr(0,idleft-1)][arrid]; + } + } else { + return (*this)[segment]; + } + } + + const char * ConfigUnit :: getErrKeyPath() const{ + return ul_geterrbuf(); + } + + const ConfigUnit & ConfigUnit :: get_sub_unit(int /*index*/) const { + return *get_err_unit(); + } + + void ConfigUnit :: get_full_path(bsl::string &path, const int get_global)const { + path = get_key_name(); + ConfigGroup * tmp = getFather(); + if(get_global){ + while(tmp != NULL){ + const char * group_name = tmp->get_key_name().c_str(); + str_t app = path; + path.setf("%s.%s", group_name, app.c_str()); + tmp = tmp->getFather(); + } + } + else{ + while(tmp != NULL){ + const char * group_name = tmp->get_key_name().c_str(); + if(strcmp(group_name, CONFIG_GLOBAL)){ //ignore CONFIG_GLOBAL + str_t app = path; + path.setf("%s.%s", group_name, app.c_str()); + } + tmp = tmp->getFather(); + } + } + } + + int ConfigUnit :: equals(const ConfigUnit & conf) const { + try { + if (conf.to_bsl_string() == to_bsl_string()) { + return 0; + } + return -1; + } catch (bsl::Exception) { + return -1; + } + return -1; + } + + int ConfigUnit :: add_unit(const bsl_string & /*key*/, const bsl_string& /*value*/, + const int /*objtype*/, int except, ConfigUnit ** /*ref*/) { + if (except) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "ConfigUnit: failed to write error buffer"; + } + popError(NULL, ERROR); + } + return ERROR; + } + + int ConfigUnit :: _append_unit(const ConfigUnit & /*unit*/,int /*check*/, int except) { + if (except) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "ConfigUnit: failed to write error buffer"; + } + popError(NULL, ERROR); + } + return ERROR; + } + + int ConfigUnit :: append_unit(const ConfigUnit & unit, int except) { + return _append_unit(unit, 1, except); + } + + int ConfigUnit :: copy_unit(const ConfigUnit & unit, int except) { + int ret = 0; + if (this->selfType()!= unit.selfType()) { + ret = ERROR; + goto cpend; + } + /* + if (NULL != this->_father && CONFIG_ERROR_TYPE == (*_father)[unit._key].selfType()) { + ret = init_unit(unit._key, unit._value); + } else { + ret = DUPLICATED_KEY; + } + */ + ret = init_unit(unit._key, unit._value); + return ret; + cpend: + if (except && (0 != ret)) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "ConfigUnit: failed to write error buffer"; + } + popError(NULL, ERROR); + } + return ret; + } + int ConfigUnit :: del_unit(const bsl_string & /*key*/, int except) { + if (except) { + if (0 != ul_seterrbuf("%s", "")) { + LOG(WARNING) << "ConfigUnit: failed to write error buffer"; + } + popError(NULL, NOSUCHKEY); + } + return NOSUCHKEY; + } + + int ConfigUnit :: set_value(const bsl_string & value, int /*except*/){ + _value = value; + _cstr = _value; + if(_value.size() > 0 && _value[0] == '"'){ + _cstr_err = Trans :: str2str(_value, &_cstr); + if(_cstr_err){ + LOG(WARNING) << "Config : Error format : _key[" << _key.c_str() << "] _value[" << _value.c_str() << "]"; + } + } + return 0; + } + int ConfigUnit :: traverse_unit(cb_tr cb_fn, void *cb_arg) + { + for(size_t i=0; isize(); ++i){ + ConfigUnit & subunit = const_cast(this->get_sub_unit(i)); + int ret = cb_fn(&subunit, cb_arg); + if(ret != 0){ + return ret; + } + switch (subunit.selfType()) { + case CONFIG_UNIT_TYPE: + case CONFIG_ERROR_TYPE: + break; + case CONFIG_ARRAY_TYPE: + case CONFIG_GROUP_TYPE: + ret = subunit.traverse_unit(cb_fn, cb_arg); + if(ret != 0){ + return ret; + } + break; + } + } + return 0; + } + int ConfigUnit :: traverse_unit_order(cb_tr cb_fn, void *cb_arg) + { + return traverse_sub_type(cb_fn, cb_arg, CONFIG_ERROR_TYPE) + || traverse_sub_type(cb_fn, cb_arg, CONFIG_UNIT_TYPE) + || traverse_sub_type(cb_fn, cb_arg, CONFIG_ARRAY_TYPE) + || traverse_sub_type(cb_fn, cb_arg, CONFIG_GROUP_TYPE); + } + int ConfigUnit :: traverse_sub_type(cb_tr cb_fn, void *cb_arg, const int type) + { + int ret = 0; + for(size_t i=0; isize() && !ret; ++i){ + ConfigUnit & subunit = const_cast(this->get_sub_unit(i)); + if(subunit.selfType() != type){ + continue; + } + int ret = cb_fn(&subunit, cb_arg); + if(type == CONFIG_GROUP_TYPE || type == CONFIG_ARRAY_TYPE){ + ret = ret || subunit.traverse_unit_order(cb_fn, cb_arg); + } + } + return ret; + } + ConfigUnit * ConfigUnit :: create_unit(const bsl_string & key, const bsl_string& value, + int objtype, ConfigGroup * father) { + ConfigUnit * tmp=NULL; + try { + switch (objtype) { + case CONFIG_UNIT_TYPE : + tmp = new ConfigUnit(key, value, NULL, father); + return tmp; + break; + case CONFIG_GROUP_TYPE : + tmp = new ConfigGroup(key.c_str(), father); + return tmp; + break; + case CONFIG_ARRAY_TYPE : + tmp = new ConfigArray(key.c_str(), father); + return tmp; + break; + default : + break; + } + } catch (...) { + if (tmp) { + delete tmp; + } + return NULL; + } + return NULL; + } + + void ConfigUnit :: clear() { + return; + } + + int ConfigUnit :: init_unit(const str_t& /*__key*/, const str_t& __value) { + /* + for(int i = 0; i < (int)__key.size(); ++i){ + if(i == 0 && __key[i] == '@'){ + continue; + } + if((!isalpha(__key[i])) && (!isdigit(__key[i])) && __key[i] != '_'){ + ul_writelog(Log::warning(), "Unsupport _key format [%s]", __key.c_str()); + return FORMATERROR; + } + } + _key = __key; + */ + _value = __value; + _cstr = _value; + _cstr_err = 0; + if(_value.size() > 0 && _value[0] == '"'){ + _cstr_err = Trans :: str2str(_value, &_cstr); + if(_cstr_err){ + LOG(WARNING) << "Config : Error format : _key[" << _key.c_str() << "] _value[" << _value.c_str() << "]"; + } + } + return 0; + } + + +}; + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/ConfigUnit.h b/configure/ConfigUnit.h new file mode 100644 index 00000000..fe153cd4 --- /dev/null +++ b/configure/ConfigUnit.h @@ -0,0 +1,463 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConfigUnit.h,v 1.19 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConfigUnit.h + * @author yingxiang(com@baidu.com) + * @date 2008/11/26 20:53:09 + * @version $Revision: 1.19 $ + * @brief + * + **/ + + +#ifndef __CONFIGUNIT_H_ +#define __CONFIGUNIT_H_ + +#include "utils/cc_utils.h" +#include "bsl/var/IVar.h" +#include "bsl/var/Ref.h" +#include "bsl/ResourcePool.h" +#include "bsl/containers/hash/bsl_hashmap.h" +#include + +namespace comcfg{ + enum{ + CONFIG_UNIT_TYPE = 0, + CONFIG_GROUP_TYPE, + CONFIG_ARRAY_TYPE, + CONFIG_ERROR_TYPE + }; + class Reader; + class ConfigGroup; + class ConfigUnit{ + public: + /** + * @brief 方括号重载(三个函数),支持以方括号获取相应字段 + * 支持字符串、bsl::string和int下标。int下标Array专用。 + * 如果出错,返回一个ConfigError类型的常量 + * 可以用 conf[""].selfType() != CONFIG_ERROR_TYPE来判断 + * + * @return const ConfigUnit& [] + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:18:13 + **/ + virtual const ConfigUnit & operator[] (const char *) const; + virtual const ConfigUnit & operator[] (const str_t &) const; + virtual const ConfigUnit & operator[] (int) const; + + virtual ConfigUnit & operator[] (const char *) ; + virtual ConfigUnit & operator[] (const str_t &) ; + virtual ConfigUnit & operator[] (int) ; + virtual ConfigUnit & operator= (ConfigUnit & unit) ; + + /** + * @brief 将一个ErrCode转化为一个对应的字符串信息 + * ErrCode内部就是一个int, 0为OK,非0为出错信息 + * + * @return const char* + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:21:07 + **/ + virtual const char * seeError(const ErrCode &) const; + virtual ~ConfigUnit(); + + /** + * @brief 从一个字段中获取特定类型的数据 + * XXX to_XXX() 表示以XXX类型获取该配置项 + * + * @param [out] errCode : ErrCode* 出错信息 + * errCode不为NULL时,错误号将会写入*errCode + * 当此处errCode为默认值NULL时,出错将会以异常的形式抛出 + * 抛出的异常为:ConfigException或其子类 + * @return char + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:22:07 + **/ + virtual char to_char(ErrCode * errCode = NULL)const; + virtual unsigned char to_uchar(ErrCode * errCode = NULL)const; + virtual int16_t to_int16(ErrCode * errCode = NULL)const; + virtual u_int16_t to_uint16(ErrCode * errCode = NULL)const; + virtual int to_int32(ErrCode * errCode = NULL)const; + virtual u_int32_t to_uint32(ErrCode * errCode = NULL)const; + virtual long long to_int64(ErrCode * errCode = NULL)const; + virtual unsigned long long to_uint64(ErrCode * errCode = NULL)const; + virtual float to_float(ErrCode * errCode = NULL)const; + virtual double to_double(ErrCode * errCode = NULL)const; + virtual bsl_string to_bsl_string(ErrCode * errCode = NULL)const; + //to_std_string : 返回值为std::string,如果是双引号开头的串,这里的字符串是经过转义的,\'\x41\' -> 'A' + //virtual std_string to_std_string(ErrCode * errCode = NULL)const; + //to_raw_string : 未经过转义处理的字符串 + virtual str_t to_raw_string(ErrCode * errCode = NULL)const; + //获取C风格的字符串(常量) + virtual const char * to_cstr(ErrCode * errCode = NULL)const; + + /** + * @brief 带有默认值的to_XXX系列函数 + * 返回值与to_xxx系列完全相同。 + * 唯一的不同是:当errCode不为0(即发生错误), 返回def默认值 + * + * @param [out] errCode : ErrCode* 出错信息 + * @param [in] def : const & 默认值 + * @return + * @author zhang_rui + * @date 2009/03/11 22:37:46 + **/ + virtual char to_char(ErrCode * errCode, const char & def)const; + virtual unsigned char to_uchar(ErrCode * errCode, const unsigned char & def)const; + virtual int16_t to_int16(ErrCode * errCode, const int16_t & def)const; + virtual u_int16_t to_uint16(ErrCode * errCode, const u_int16_t & def)const; + virtual int to_int32(ErrCode * errCode, const int & def)const; + virtual u_int32_t to_uint32(ErrCode * errCode, const u_int32_t & def)const; + virtual long long to_int64(ErrCode * errCode, const long long & def)const; + virtual unsigned long long to_uint64(ErrCode * errCode, const unsigned long long & def)const; + virtual float to_float(ErrCode * errCode, const float & def)const; + virtual double to_double(ErrCode * errCode, const double & def)const; + virtual bsl_string to_bsl_string(ErrCode * errCode, const bsl_string & def)const; + virtual str_t to_raw_string(ErrCode * errCode, const str_t & def)const; + //获取C风格的字符串(常量) + virtual const char * to_cstr(ErrCode * errCode, const char * def)const; + + + + /** + * @brief 与to_XXX功能相同的函数。不过get_XXX系列为C风格 + * 传入为用于放值的buffer,返回值是错误号 + * + * @param [out] valueBuf : char* + * @return ErrCode + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:25:52 + **/ + virtual ErrCode get_char(char * valueBuf)const; + virtual ErrCode get_uchar(unsigned char * valueBuf)const; + virtual ErrCode get_int16(int16_t * valueBuf)const; + virtual ErrCode get_uint16(u_int16_t * valueBuf)const; + virtual ErrCode get_int32(int * valueBuf)const; + virtual ErrCode get_uint32(u_int32_t * valueBuf)const; + virtual ErrCode get_int64(long long * valueBuf)const; + virtual ErrCode get_uint64(unsigned long long * valueBuf)const; + virtual ErrCode get_float(float * valueBuf)const; + virtual ErrCode get_double(double * valueBuf)const; + virtual ErrCode get_bsl_string(bsl_string * valueBuf)const; + //virtual ErrCode get_std_string(std_string * valueBuf) const; + virtual ErrCode get_raw_string(str_t * valueBuf) const; + //获取C风格的字符串,将字符串填入valueBuf,len是valueBuf长度,自动补0,最多填充len-1个字符 + virtual ErrCode get_cstr(char * valueBuf, size_t len) const; + + + /** + * @brief 带有默认值的ge_XXX系列函数 + * 返回值与get_xxx系列完全相同。 + * 唯一的不同是:当返回值不为0(即发生错误)valueBuf中使用def默认值 + * + * @param [out] valueBuf : char* 传出的值 + * @param [in] def : const char& 默认值 + * @return ErrCode + * @retval + * @see + * @author yingxiang + * @date 2009/03/11 22:37:46 + **/ + virtual ErrCode get_char(char * valueBuf, const char & def)const; + virtual ErrCode get_uchar(unsigned char * valueBuf, const unsigned char & def)const; + virtual ErrCode get_int16(int16_t * valueBuf, const int16_t & def)const; + virtual ErrCode get_uint16(u_int16_t * valueBuf, const u_int16_t & def)const; + virtual ErrCode get_int32(int * valueBuf, const int & def)const; + virtual ErrCode get_uint32(u_int32_t * valueBuf, const u_int32_t & def)const; + virtual ErrCode get_int64(long long * valueBuf, const long long & def)const; + virtual ErrCode get_uint64(unsigned long long * valueBuf, const unsigned long long & def)const; + virtual ErrCode get_float(float * valueBuf, const float & def)const; + virtual ErrCode get_double(double * valueBuf, const double & def)const; + virtual ErrCode get_bsl_string(bsl_string * valueBuf, const bsl_string & def)const; + virtual ErrCode get_raw_string(str_t * valueBuf, const str_t & def)const; + virtual ErrCode get_cstr(char * valueBuf, size_t len, const char * def)const; + + /** + * @brief 将自身转化为一个IVar + * + * 会抛异常 + * + * @param [in/out] vpool : VarPool* IVar句柄表,所以新分配的IVar都注册到VarPool + * 当需要销毁我创建的IVar时,只需要vpool->destroy(); + * @param [in] errCode : ErrCode* 错误号,0为正确,其余表示出错 + * @return IVar& + * @retval + * @see + * @author yingxiang + * @date 2009/03/11 22:00:48 + **/ + virtual bsl::var::IVar& to_IVar(bsl::ResourcePool* vpool, ErrCode* errCode = NULL)const; + /** + * @brief 获取自己的类型 + * + * @return int + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:35:27 + **/ + virtual int selfType()const{ + return CONFIG_UNIT_TYPE; + } + + /** + * @brief 获取元素个数 + * + * @return size_t 个数 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 02:00:28 + **/ + virtual size_t size()const{ + return 1; + } + + /** + * @brief 长路径Unit的直接获取 + * + * @param [in] path : const str_t 长路径,例如 group.sub.key + * @return const ConfigUnit& 长路径获取的ConfigUnit + * @date 2009/07/16 15:50:47 + **/ + virtual const ConfigUnit & deepGet(const str_t path) const; + + /** + * @brief 访问不存在的key后,给出不存在的key的具体路径。比如 group.sub.nokey + * + * @return const char* 不存在的key的路径 + * @author zhang_rui + * @date 2009/07/17 10:20:09 + **/ + const char * getErrKeyPath() const; + + /** + * @brief 获取子unit。ConfigUnit直接返回error unit + * + * @return ConfigUnit & + * @author zhang_rui + **/ + virtual const ConfigUnit & get_sub_unit(int index) const; + /** + * @brief 比较是否相等 + * + * @return int 0表示相等 -1不相等 + * @author zhang_rui + **/ + virtual int equals(const ConfigUnit & conf) const; + + //以下函数的参数中,except为0则用错误号表示错误, + //except为1则用异常表示错误 + /** + * @brief 增加一个unit, 连接到子unit,不做深拷贝 + * + * @param [in] key : 新增unit的key + * @param [in] value : 新增unit的value + * @param [in] objtype : unit类型。 + * CONFIG_UNIT_TYPE表示unit; + * CONFIG_GROUP_TYPE表示group; + * CONFIG_ARRAY_TYPE表示array; + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int add_unit(const bsl_string & key, const bsl_string& value, + const int objtype=CONFIG_UNIT_TYPE, int except=0, ConfigUnit ** ref=NULL); + + /** + * @brief 复制一个unit, 深拷贝 + * + * 将unit的内容追加到本对象下面。 + * 类型需要匹配,只能从group复制到group,array复制到array + * group要检查key是否重复,不重复则追加 + * array直接追加 + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int append_unit(const ConfigUnit & unit, int except=0); + + /** + * @brief 复制一个unit, 深拷贝 + * + * 将unit的内容复制到本对象。 + * 类型需要匹配,只能从group复制到group,array复制到array + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int copy_unit(const ConfigUnit & unit, int except=0); + + /** + * @brief 删除一个unit + * + * key : 要删除的unit的key + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int del_unit(const bsl_string & key, int except=0); + /** + * @brief 修改unit中value的值 + * + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int set_value(const bsl_string & value, int except=0); + /** + * @brief 遍历load()完成后的comcfg::Configure结构,使用用户提供的callback函数对每个unit进行操作 + * @note 深度优先搜索,子节点的访问无先后顺序 + * @param [in] cb_fn: 用户提供的callback函数 + * @param [in] cb_arg: 用户callback函数所需要的参数 + * + * @return int 0 成功,其他是错误号 + * @author linjieqiong + **/ + typedef int (* cb_tr)(ConfigUnit *, void *); + virtual int traverse_unit(cb_tr cb_fn, void *cb_arg); + /** + * @brief 类似于traverse_unit(),区别是遍历一个group时按照CONFIG_ERROR_TYPE, CONFIG_UNIT_TYPE, CONFIG_ARRAY_TYPE, CONFIG_GROUP_TYPE的顺序访问子节点 + * + * @param [in] cb_fn: 用户提供的callback函数 + * @param [in] cb_arg: 用户callback函数所需要的参数 + * + * @return int 0 成功,其他是错误号 + * + * @version 1.2.9 + * @author linjieqiong + * @date 2013/04/28 16:25:47 + */ + virtual int traverse_unit_order(cb_tr cb_fn, void *cb_arg); + + //-----------------从这里往下的东西用户不需要关心----------------- + + //构造函数, + ConfigUnit(); + ConfigUnit(const str_t& __key, const str_t& __value, const Reader * __cur_reader = NULL, ConfigGroup * father = NULL); + + //调试打印时用,缩进 + void pindent(int ind)const{ + while(ind--){ + printf(" "); + } + } + //打印 + virtual void print(int indent = 0)const{ + pindent(indent); + printf("=[%s], _value=[%s]\n", _key.c_str(), _value.c_str()); + } + + + //for debug or writelog + virtual str_t info() const{ + //const int INFO_BUF_SIZE = 256; + //char buf[INFO_BUF_SIZE] = ""; + str_t buf; + buf.appendf("[File:%s Line:%d Key:%s Value:%s]", + _at_file ? _at_file : "NULL", _at_line, _key.c_str(), _value.c_str()); + return buf; + } + //for child class + virtual ConfigUnit * relativeSection(ConfigUnit *, str_t, int* ){ + return NULL; + } + inline const char * getFileName(){ + return _at_file; + } + inline int getFileLine(){ + return _at_line; + } + inline void setConstrainted(const bool bCons){ + _bConstrainted = bCons; + } + inline bool getConstrainted()const{ + return _bConstrainted; + } + static ConfigUnit* get_err_unit(); + virtual void get_full_path(bsl::string &path, const int get_global = 0) const; + inline virtual const bsl::string & get_key_name() const{ + return _key; + } + inline ConfigGroup * getFather()const{ + return _father; + } + protected: + inline void setFilePosition(const char *cur_file = "NULL", const int cur_line = -1){ + _at_file = cur_file; + _at_line = cur_line; + } + inline void setFileLine(const int cur_line = -1){ + _at_line = cur_line; + } + virtual void popError(ErrCode *, ErrCode) const; + void setErrorKeyPath(str_t str)const; + #if __GNUC__ == 4 && __GNUC_MINOR__ >= 4 + const ConfigUnit & deepGetSegment(const str_t segment) const; + #else + const ConfigUnit & ConfigUnit :: deepGetSegment(const str_t segment) const; + #endif + + static const str_t g_unknown; + str_t _key; + str_t _value; + str_t _cstr; //专门的一个被解析后的string,只有当value以"为开头时才起作用 + int _cstr_err; + str_t _vstring; + const char * _at_file; + int _at_line; + ConfigGroup * _father; + bool _bConstrainted; + //mutable str_t _to_def_str; + ConfigUnit * create_unit(const bsl_string & key, const bsl_string& value, + int objtype, ConfigGroup * father); + + /** + * @brief 清除内容 + * + * @return void + * @author zhang_rui + **/ + virtual void clear(); + + public: + /** + * @brief 复制一个unit, 深拷贝 + * + * 将unit的内容复制到本对象下面。 + * 类型需要匹配,只能从group复制到group,array复制到array + * group要检查key是否重复,不重复则追加 + * array直接追加 + * @return int 0 成功,其他是错误号 + * @author zhang_rui + **/ + virtual int _append_unit(const ConfigUnit & unit,int check=1, int except=0); + private: + int init_unit(const str_t& __key, const str_t& __value); + //访问类型为type的子节点,如果子节点是group/array,递归访问 + int traverse_sub_type(cb_tr cb_fn, void *cv_arg, const int type); + }; + +} + + + + + + + + + +#endif //__CONFIGUNIT_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/Configure.cpp b/configure/Configure.cpp new file mode 100644 index 00000000..6b9a958f --- /dev/null +++ b/configure/Configure.cpp @@ -0,0 +1,734 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved +<<<<<<< Configure.cpp + * $Id: Configure.cpp,v 1.21 2010/04/13 09:59:41 scmpf Exp $ +======= + * $Id: Configure.cpp,v 1.21 2010/04/13 09:59:41 scmpf Exp $ +>>>>>>> 1.18 + * + **************************************************************************/ + + + +/** + * @file Configure.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 18:09:35 +<<<<<<< Configure.cpp + * @version $Revision: 1.21 $ +======= + * @version $Revision: 1.21 $ +>>>>>>> 1.18 + * @brief + * + **/ + +#include "Configure.h" +#include "reader/Reader.h" +#include "constraint/Constraint.h" +#include "utils/cc_utils.h" +#include "idl_conf_if.h" +#include "bsl/var/Dict.h" +#include "bsl/var/Array.h" + +namespace comcfg{ + + using bsl::var::IVar; + + //extern Reader * g_cur_reader; + int Configure :: load(const char * path, const char * conf, const char * range, int /*version*/){ + return load_1_0(path, conf, range); + } + + int Configure :: load_ex(const char * path, const char * conf, const char * range, + int dupLevel, int /*version*/) + { + if(dupLevel < GROUP_DUP_LEVEL0 || dupLevel > GROUP_DUP_LEVEL3){ + LOG(WARNING) << "Configure.load_ex : parameter @dupLevel is wrong."; + return ERROR; + } + _dupLevel = dupLevel; + if(_dupLevel != GROUP_DUP_LEVEL0 ){ + _dupMap.create(256); + } + int ret = load_1_0(path, conf, range); + return ret!=0 ? ret : printGroup(); + } + + int Configure :: load_ex2(const char * path, const char * conf, const char * range, int /*version*/) + { + int ret = load_1_0(path, conf, range); + if(ret == 0 && range != NULL && *range != 0){ + return checkConstraint(); + } + return ret; + } + + int Configure :: load_1_0(const char * path, const char * conf, const char *range){ + int ret = 0; + if(path == NULL || (conf == NULL && range == NULL)){ + LOG(WARNING) << "Configure.load : path or filename error..."; + return ERROR; + } + if(0 == strcmp(path, "")) { + _path = "."; //set as current dir + } + else { + _path = path; + } + if(_readers.size() != 0){ + LOG(WARNING) << "Configure.load : Configure can't be reused, create a new object for load."; + return ERROR; + } +#if 0 + if(conf != NULL){ + Reader * reader = new Reader(); + _cur_reader = reader; + _cur_level = 0; + _readers.push_back(reader); + ret = reader->read(conf, this); + _cur_reader = NULL; + } +#endif + size_t idx = 0; + pushSubReader(conf, 0);//config文件进入队列,因为可能有$include,按广度优先处理 + while(idx < _readers.size()){ + ReaderNode & r = (*_readers[idx]); + _cur_reader = r.reader; + _cur_level = r.level; + _section = this;//切换到GLOBAL + _depth = 0; + _at_file = r.filename.c_str(); + ret = r.reader->read(_at_file, this); + if(ret != 0){ + LOG(WARNING) << "Reader configure file [" << r.filename.c_str() << "] error. Stop."; + return CONFIG_ERROR; + } + ++idx; + } + + if(range != NULL && 0 != *range){ + str_t range_file; + range_file.append(_path).append("/").append(range); + if(check_once(range_file.c_str()) != 0){ + return CONSTRAINT_ERROR; + } + } + if(ConstraintLibrary :: getInstance() -> checkGlobalConstraint(this) != 0){ + return CONSTRAINT_ERROR; + } + return 0; + } + void Configure :: pushSubReader(const char * conf, int level){ + if(conf == NULL){ + return; + } + if(level < 0){ + level = _cur_level + 1; + } + LOG(INFO) << "Config $include : " << conf << ", MAX_DEPTH=" << MAX_INCLUDE_DEPTH << ", level=" << level; + if(level > MAX_INCLUDE_DEPTH){ + LOG(WARNING) << "Config error: Max $include level is " << MAX_INCLUDE_DEPTH << " [" << _cur_reader->_cur_file.c_str() << ":" << _cur_reader->_cur_line << "]"; + return; + } + ReaderNode * newNode = new ReaderNode(); + _readers.push_back(newNode); + ReaderNode & r = *(_readers[_readers.size() - 1]); + r.reader = new Reader(); + r.filename.append(_path).append("/").append(conf); + r.level = level; + LOG(INFO) << "Config : $include : " << r.filename.c_str() << ", level=" << r.level; + } + + char * Configure :: getRebuildBuffer(size_t __size){ + if(_readers.size() == 0){ + _path = "."; + pushSubReader(REBUILD_CONF, 0); + } + else{ + LOG(WARNING) << "getRebuildBuffer : This Configure Object can't be re-used. Create a new one."; + return NULL; + } + if(_readers.size() == 0){ + return NULL; + } + //return _readers[0].reader->getRebuildBuffer(__size); + return _readers[0]->reader->getRebuildBuffer(__size); + } + + int Configure :: rebuild(){ + if(_readers.size() == 0){ + return -1; + } + //_cur_reader = _readers[0].reader; + _cur_reader = _readers[0]->reader; + _cur_level = 0; + int ret = _cur_reader->rebuild(this); + _cur_reader = NULL; + return ret; + } + + char * Configure :: dump(size_t * __size){ + //多个子文件合并的时候,需要在子文件的头部添加 [GLOBAL] + const char * global = "\n[" CONFIG_GLOBAL "]\n"; + size_t len = strlen(global); + if(_dump_buffer != NULL){ + if(__size){ + *__size = _dump_size; + } + return _dump_buffer; + } + if(_readers.size() == 0){ + return NULL; + } + _dump_size = 0; + std::vector bufs; + std::vector rsize; + for(size_t i = 0; i < _readers.size(); ++i){ + size_t tmpsize = 0; + //char * p = _readers[i].reader->dump(&tmpsize); + char * p = _readers[i]->reader->dump(&tmpsize); + rsize.push_back(tmpsize); + bufs.push_back(p); + //LOG(INFO) << "dump file : %s, size=%zu", _readers[i].filename.c_str(), tmpsize); + LOG(INFO) << "dump file : " << _readers[i]->filename.c_str() << ", size=" << tmpsize; + if(p == NULL){ + return NULL; + } + _dump_size += tmpsize; + if(i){ + _dump_size += len; + } + } + + size_t bufsize = ((_dump_size >> 12) + 1) << 12; + _dump_buffer = (char *)malloc(bufsize); + if(_dump_buffer == NULL){ + LOG(WARNING) << "Can't build dump buffer"; + return NULL; + } + + size_t pos = 0; + for(size_t i = 0; i < _readers.size(); ++i){ + if(i){ + memcpy(_dump_buffer + pos, global, len); + pos += len; + } + memcpy(_dump_buffer + pos, bufs[i], rsize[i]); + pos += rsize[i]; + } + if(_dump_size != pos){ + LOG(WARNING) << "What's wrong??? _dump_size(" << _dump_size << ") != real size("<< pos << ")"; + return NULL; + } + _dump_buffer[_dump_size] = '\0'; + if(__size){ + *__size = _dump_size; + } + return _dump_buffer; + } + + struct dump_conf{ + enum{ + RC_COMMENT = 0, + RC_NO_COMMENT, + RC_POSITION, + }; + int rc_type; + std::vector *files; + void *father; + str_t dumpedstr; + }; + + int cb_dumpConf(ConfigUnit *unit, void * dumpconf){ + int unit_type = unit->selfType(); + //以下两类节点是在内存中新建的,在配置文件中无对应节点 + if(unit_type == CONFIG_ARRAY_TYPE || unit_type == CONFIG_ERROR_TYPE){ + return 0; + } + struct dump_conf * conf = static_cast(dumpconf); + str_t group_path; + + //父节点发生变化,重新获取其路径 + if(unit_type == CONFIG_UNIT_TYPE && conf->father != unit->getFather()){ + conf->father = unit->getFather(); + unit->getFather()->get_full_path(group_path); + conf->dumpedstr.appendf("[%s]\n", group_path.c_str()); + } + //从当前配置行往上获取该配置的注释信息 + if(conf->rc_type != dump_conf :: RC_NO_COMMENT){ + str_t comment; + std::vector & ReaderNodes = *conf->files; + for(size_t i=0; igetFileName(), ReaderNodes[i]->filename.c_str())){ + continue; + } + Reader * & rd = ReaderNodes[i]->reader; + //该配置行的注释在原配置文件中的起始行号 + int line = unit->getFileLine() - 2; + rd->getCommentUpwards(comment, line); + } + conf->dumpedstr.append(comment); + } + //dump该配置的在原配置文件中的位置 + if(conf->rc_type == dump_conf :: RC_POSITION){ + conf->dumpedstr.appendf("#[%s:%d]\n", unit->getFileName(), unit->getFileLine()); + } + //dump该配置项 + if(unit_type == CONFIG_UNIT_TYPE){ + conf->dumpedstr.appendf("%s : %s\n", unit->get_key_name().c_str(), unit->to_cstr()); + } + else{//CONFIG_GROUP_TYPE, traverse_unit()是深搜, 接下来会遍历子节点 + conf->father = unit; + unit->get_full_path(group_path); + conf->dumpedstr.appendf("[%s]\n", group_path.c_str()); + } + return 0; + } + + int Configure :: dump_ex(char *buf, const size_t bufsize, const int restoreComment){ + if(buf == NULL || bufsize <= 0 || restoreComment < 0 || restoreComment > 2){ + LOG(WARNING) << "wrong parameter(s) of dump_ex()."; + return -1; + } + struct dump_conf conf = {restoreComment, &_readers, this, str_t(),}; + conf.dumpedstr.reserve(bufsize); + + traverse_unit_order(cb_dumpConf, &conf); + + size_t rsize = conf.dumpedstr.size() + 1; + if(rsize > bufsize){ + LOG(WARNING) << "@bufsize is too small. at least " << rsize << " is required."; + return 0 - rsize; + } + memcpy(buf, conf.dumpedstr.c_str(), rsize); + return rsize; + } + + void Configure :: changeSection(str_t str){ + LOG(INFO) << "Configure: This is [" << this->getName() << "], current section[" << _section->getName() << "], depth=" << _depth << ", father[" << (_section->getFather()?_section->getFather()->getName():"NULL") << "]"; + if(str[0] != '.'){ + _section = this; + _depth = 0; + } + else{ + int i; + for(i = 0; i < (int)str.size(); ++i){ + if(str[i] != '.'){ + break; + } + } + + if((int)i > _depth){ + LOG(WARNING) << "Configure : Section Error [" << str.c_str() << "] Ignored."; + throw ConfigException(); + } + str = str.substr(i); + //--i; + i = _depth - i; + while(i > 0){ + _section = (ConfigGroup *)_section->getFather(); + _depth--; + i--; + } + } + + ConfigGroup * _bak_section = _section; + LOG(INFO) << "Config : set Section: New[" << str.c_str() << "] -> Father[" << _section->getName() << "]"; + _section = (ConfigGroup *)_section->relativeSection(this, str, &_depth); + if(_section == NULL){ + _section = _bak_section; + } + if(_section && _cur_reader){ + _section->setFilePosition(_cur_reader->_cur_file.c_str(), _cur_reader->_cur_line); + } + LOG(INFO) << "Config : Now _section in : [" << (_section?_section->getName():"NULL") << "]"; + } + + void Configure :: pushPair(const str_t& key, const str_t& value){ + ConfigUnit * tmp = new ConfigUnit(key, value, _cur_reader, _section); + if(_section && (_section->push(key, tmp) != 0)){ + delete tmp; + free(tmp); + throw ConfigException(); + } + } + + time_t Configure :: lastConfigModify(){ + time_t t = time_t(0); + struct stat st; + for(int i = 0; i < (int)_readers.size(); ++i){ + //if(_readers[i].level <= MAX_INCLUDE_DEPTH){ + if(_readers[i]->level <= MAX_INCLUDE_DEPTH){ + //const char * f = _readers[i].filename.c_str(); + const char * f = _readers[i]->filename.c_str(); + if(stat(f, &st) == 0){ + if(t < st.st_mtime){ + t = st.st_mtime; + } + } + else{ + LOG(WARNING) << "Check lastConfigModify : I can't stat file [" << f << "]"; + //有一个特例: + //如果A文件include了B,运行中,我在A中去掉了$include : B,并且删除了B文件,导致我stat失败 + //此时,按理是合法的,配置文件可以被重新读取,lastConfigModify只要返回A的更新时间就可以了 + //不过建议还是不要删除B文件 + //我选择的是返回0,表示有一个文件无法被stat + return time_t(0); + } + } + } + return t; + } + + + enum _VarType{ + VAR_ARRAY = 0, + VAR_DICT, + VAR_UNIT + }; + + int varType(const IVar& ivar){ + if(ivar.is_array()){ + return VAR_ARRAY; + } + else if(ivar.is_dict()){ + return VAR_DICT; + } + return VAR_UNIT; + } + + //----------loadIVar------------- + str_t seeVarUnit(const IVar & ivar, const char * key, bool isArray); + str_t seeVarDict(const IVar & ivar, str_t * section); + str_t seeVar(const IVar & ivar, str_t * section, const char * key = ""); + + bool isVarUnit(const IVar & a, int dep = 1){ + if(dep < 0){ + throw ConfigException() << BSL_EARG << "Multi-dimension array is not supported."; + } + if(a.is_array()){ + return isVarUnit(a[0], dep-1); + } + if(a.is_dict()){ + return false; + } + return true; + } + + str_t seeVarUnit(const IVar & ivar, const char * key, bool isArray){ + //把一个基本的IVar转化为config文本 Key : value + str_t ret; + str_t value = ivar.to_string(); + str_t tmp; + if (ivar.is_int32() || ivar.is_int64() || ivar.is_double()) { + tmp = value; + } else { + str_t strcontent=""; + int yinhao = 0; + + for(int i = 0; i < (int)value.size(); ++i){ + //特殊字符 + if(value[i] < 32 || value[i] >= 127 || value[i] == '\"' || value[i] == '\'' || value[i] == '\\'){ + strcontent.appendf("\\x%02x", value[i]); + yinhao =1; + } + else{ + strcontent.appendf("%c", value[i]); + } + } + if (yinhao) { + tmp = "\""; + tmp.append(strcontent); + tmp.append("\""); + } else { + tmp = strcontent; + } + } + ret.appendf("%s%s : %s\n", isArray?"@":"", key, tmp.c_str()); + return ret; + } + + str_t nextSectionName(const str_t section, const char * key, bool isArray = false){ + str_t nsec; + if(section == str_t(CONFIG_GLOBAL)){ + nsec = ""; + nsec.appendf("%s%s", isArray ? "@" : "", key); + } + else if(strstr(section.c_str(), "@") != NULL){ + nsec = "."; + for(int i = 0; i < (int)section.size(); ++i){ + if(section[i] == '.'){ + nsec.appendf("."); + } + } + nsec.appendf("%s%s", isArray ? "@" : "", key); + } + else{ + nsec = section; + nsec.appendf("%s%s%s", nsec.size() == 0 ? "" : ".", isArray ? "@" : "", key); + } + return nsec; + } + + + str_t seeVarDict(const IVar & ivar, str_t * section){ + //把一个Dict转化为config文本 + LOG(INFO) << "Var " << ivar.to_string().c_str() << " is dict."; + const IVar & dict = ivar; // no dynamic cast + bsl::var::Dict::dict_const_iterator iter = dict.dict_begin(); + bsl::var::Dict::dict_const_iterator end = dict.dict_end(); + str_t bak_section = *section; + str_t ret; + ret.appendf("[%s]\n", section->c_str()); + for(; iter != end; ++ iter ){ + if( isVarUnit(iter->value()) ){ + ret.append( seeVar(iter->value(), section, iter->key().c_str()) ); + } + } + for(iter = dict.dict_begin(); iter != end; ++ iter ){ + if(! isVarUnit(iter->value()) ){ + ret.append( seeVar(iter->value(), section, iter->key().c_str()) ); + if(*section != bak_section){ + *section = bak_section; + } + } + } + return ret; + } + + + str_t seeVar(const IVar & ivar, str_t * section, const char * key){ + //把一个IVar类型转为config文本 + str_t ret; + //str_t bak_section = *section; + if(varType(ivar) == VAR_ARRAY){ + // 先判断是否为数组 + LOG(INFO) << "Var " << ivar.to_string().c_str() << " is array."; + if(varType(ivar[0]) == VAR_DICT ){ + *section = nextSectionName(*section, key, true); + } + for(int i = 0; i < (int)ivar.size(); ++i){ + if(varType(ivar[i]) == VAR_ARRAY){ + throw ConfigException() << BSL_EARG << "Multi-dimension array is not supported."; + } + if(varType(ivar[i]) != varType(ivar[0])){ + throw ConfigException() << BSL_EARG << "array elements should be the same type."; + } + if(varType(ivar[i]) == VAR_DICT){ + ret.append( seeVarDict(ivar[i], section) ); + } + else{ + ret.append( seeVarUnit(ivar[i], key, true) ); + } + } + } + else if(varType(ivar) == VAR_DICT){ + *section = nextSectionName(*section, key); + ret.append( seeVarDict(ivar, section) ); + } + else{ + ret.append( seeVarUnit(ivar, key, false) ); + } + //*section = bak_section; + return ret; + } + + + int Configure :: loadIVar(const IVar & ivar){ +#if 0 + if(ivar == NULL){ + LOG(WARNING) << "loadIVar : ivar = NULL"); + return -1; + } +#endif + try{ + if( ! ivar.is_dict()){ + LOG(WARNING) << "loadIVar : ivar should be a dict!"; + return -1; + } + + str_t section = ""; + str_t s = seeVar(ivar, §ion, CONFIG_GLOBAL); + //printf("====result===== \n%s", s.c_str()); + char * dest = getRebuildBuffer(s.size()); + if(dest == NULL){ + throw ConfigException() << BSL_EARG << "No memory???"; + } + strcpy(dest, s.c_str()); + return rebuild(); + }catch(bsl::Exception e){ + LOG(WARNING) << "loadIVar : catch exception : [" << e.file() << ":" << e.line() << "]" << e.what(); + return -1; + }catch(...){ + LOG(WARNING) << "loadIVar : other err..."; + return -1; + } + return 0; + } + + + Configure :: Configure(){ + create(CONFIG_GLOBAL); + _section = this; + _depth = 0; + _idl = NULL; + _cur_reader = NULL; + _cur_level = -1; + _dump_buffer = NULL; + //get_err_unit(); + } + + Configure :: ~Configure(){ + for(size_t i = 0; i < _readers.size(); ++i){ + delete _readers[i]->reader; + delete _readers[i]; + } + if(_idl){ + free_idl(_idl); + } + if(_dump_buffer){ + free(_dump_buffer); + } + } + + //callback函数cb_sgConstraint()的参数 + struct cb_cons_arg{ + enum{ + SG_TYPE_SET = 0, //set _bConstrainted,此处为将其置为false + SG_TYPE_GET, //get _bConstrainted,存入vector,为打印做准备 + }; + int sg_type; + void *arg; //callback函数需要的参数,根据作用类型有不同 + }; + //callback函数,用于set/get _bConstrainted + int cb_sgConstraint(ConfigUnit * unit, void *arg) + { + struct cb_cons_arg * cons_arg = (struct cb_cons_arg *)arg; + if(cons_arg->sg_type == cb_cons_arg::SG_TYPE_SET){ + unit->setConstrainted(*(bool *)cons_arg->arg); + } + else if(cons_arg->sg_type == cb_cons_arg::SG_TYPE_GET) + { + if(unit->selfType() == CONFIG_UNIT_TYPE && unit->getConstrainted() == false){ + std::vector *units = (std::vector *)cons_arg->arg; + units->push_back(unit); + } + } + return 0; + } + + int Configure :: check_once(const char * range, int /*version*/) { + if(range == NULL){ + LOG(WARNING) << "Configure.check_once : range filename error..."; + return ERROR; + } + bool bClear = false; + struct cb_cons_arg cons_arg = {cb_cons_arg::SG_TYPE_SET, &bClear}; + traverse_unit(cb_sgConstraint, (void *)&cons_arg); + + if(_idl){ + free_idl(_idl); + _idl = NULL; + } + _idl = confIDL::alloc_idl(); + load_idl(range, _idl); + Constraint cons; + int ret = cons.run(_idl, this); + return ret==0 ? OK : CONSTRAINT_ERROR; + } + + int Configure :: checkConstraint() + { + std::vector unconstraintedUnits; + struct cb_cons_arg cons_arg = {cb_cons_arg::SG_TYPE_GET, &unconstraintedUnits}; + traverse_unit(cb_sgConstraint, (void *)&cons_arg); + + int ret=0, errcode=0; + for(size_t i=0; iget_key_name().c_str() << " : " << unconstraintedUnits[i]->to_cstr(&errcode, "ERROR") << "]"; + ret = CONSTRAINT_ERROR; + } + return ret; + } + + int Configure :: printKeyConstraint(const char *key_path, const char *range) + { + if(range != NULL){ + int ret = check_once(range); + if(ret != 0){ + return ret; + } + } + if(_idl == NULL){ + LOG(WARNING) << + "Configure.printKeyConstraint: conf not constrainted, please check_once() or specify a range file"; + return CONSTRAINT_ERROR; + } + + str_t key = str_t(key_path); + int key_depth = 0; + confIDL :: group_t *cur_group = NULL; + for(size_t i = 0; i < key.length();){ + if(key[i] != '.'){ + ++ i; + continue; + } + if(i == 0){ + LOG(WARNING) << + "Configure.printKeyConstraint: key_path[" << key_path << "] is not well formatted!"; + return CONSTRAINT_ERROR; + } + str_t group_var = key.substr(0, i); + key = key.substr(i+1); + i = 0; + ++ key_depth; + + confIDL :: var_map_t * vmap = (key_depth == 1) ? &_idl->var_map : &cur_group->var_map; + confIDL :: var_map_t :: iterator vitr = vmap->find(group_var); + if(vitr == vmap->end()){ + LOG(WARNING) << + "Configure.printKeyConstraint: var[" << group_var.c_str() << "] in key_path[" << key_path << "] is not found or not constrainted!"; + return CONSTRAINT_ERROR; + } + + str_t group_type = vitr->second->type.data; + confIDL :: group_map_t :: iterator gitr = _idl->group_map.find(group_type); + if(gitr == _idl->group_map.end()){ + LOG(WARNING) << + "Configure.printKeyConstraint: type[" << group_type.c_str() << "] of var[" << group_var.c_str() << "] in key_path[" << key_path << "] is not found!"; + return CONSTRAINT_ERROR; + } + cur_group = gitr->second; + } + + confIDL :: var_map_t * vmap = (key_depth == 0) ? &_idl->var_map : &cur_group->var_map; + confIDL :: var_map_t :: iterator itr = vmap->find(key); + if(itr == vmap->end()){ + LOG(WARNING) << + "Configure.printKeyConstraint: var[" << key.c_str() << "] in key_path[" << key_path << "] is not found or not constrainted!"; + return CONSTRAINT_ERROR; + } + + LOG(INFO) << "Configure.printKeyConstraint: the constraints of key[" << key_path << "]:"; + confIDL :: cf_list_t &cf_list = itr->second->cf_list; + confIDL :: cf_list_t :: iterator cf_it; + for(cf_it=cf_list.begin(); cf_it!=cf_list.end(); ++cf_it){ + confIDL :: cf_t &cf = **cf_it; + LOG(INFO) << "\t\t\tconstraint function: " << cf.func.data.c_str() << "()"; + confIDL :: meta_list_t &arg_list=cf.arg_list; + confIDL :: meta_list_t :: iterator arg_it; + for(arg_it=arg_list.begin();arg_it!=arg_list.end();++arg_it){ + confIDL :: meta_t &arg=**arg_it; + LOG(INFO) << "\t\t\t\tfunction argument: " << arg.data.c_str(); + } + } + return 0; + } +} + + + + + diff --git a/configure/Configure.h b/configure/Configure.h new file mode 100644 index 00000000..46e0a8dd --- /dev/null +++ b/configure/Configure.h @@ -0,0 +1,279 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: Configure.h,v 1.15 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file Configure.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 17:59:12 + * @version $Revision: 1.15 $ + * @brief 新的Configure库 + * 更多资料请参见: + * http://com.baidu.com/twiki/bin/view/Main/LibConfig + * + **/ + + +#ifndef __CONFIGURE_H_ +#define __CONFIGURE_H_ + +#include "ConfigGroup.h" +#include "sys/uio.h" +#include + +#define CONFIG_GLOBAL "GLOBAL" +#define CONFIG_INCLUDE "$include" + +namespace confIDL{ + struct idl_t; +} +namespace comcfg{ + const int MAX_INCLUDE_DEPTH = 1; + class Reader; + enum{ + CONFIG_VERSION_1_0, //Config Version 1.0 + }; + /** + * @brief 配置句柄,其实是一个全局的[GLOBAL]配置组 + * + * Configure是immutable的,即:无法修改,无法复用 + * 所以load, rebuild, loadIVar三个接口互斥 + * 要重新load,必须创建一个新的Configure句柄进行操作 + * + */ + class Configure : public ConfigGroup{ + public: + /** + * @brief 从指定的文件中载入配置文件和约束文件 + * + * @param [in] path : const char* 配置文件的路径 + * @param [in] conf : const char* 配置文件名 + * @param [in] range : const char* 约束文件 + * @param [in] version : int 文件格式的版本(暂未使用) + * @return int 0表示成功,其余为失败 + * bsl::CONSTRAINT_ERROR 约束检查错误(如果不关心约束,可无视此错误) + * bsl::CONFIG_ERROR 配置文件解析错误 + * bsl::ERROR 其它错误 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:36:54 + **/ + int load(const char * path, const char * conf, const char * range = NULL, int version = CONFIG_VERSION_1_0); + /** + * @brief 从指定的文件中载入配置文件和约束文件,并检查是否有group重名情况,最后打印到日志 + * 默认行为与load()接口相同 + * + * @param [in] path : const char* 配置文件的路径 + * @param [in] conf : const char* 配置文件名 + * @param [in] range : const char* 约束文件 + * @param [in] dupLevel : enum GROUP_DUP_LEVEL 指定的重名等级,下列值之一 + * 0: GROUP_DUP_LEVEL0 不检测是否有重名,与原接口行为相同,不打印 + * 1: GROUP_DUP_LEVEL1 检测第一级group是否重名 + * 2: GROUP_DUP_LEVEL2 检测所有深度下group是否重名 + * 3: GROUP_DUP_LEVEL3 记录所有group名 + * @param [in] version : int 文件格式的版本(暂未使用) + * @return int 0表示成功,其他值为失败 + * bsl::CONSTRAINT_ERROR 约束检查错误(如果不关心约束,可无视此错误) + * bsl::CONFIG_ERROR 配置文件解析错误 + * bsl::ERROR 其它错误 + * DUPLICATED_GROUP 有组重名,在GROUP_DUP_LEVEL0和GROUP_DUP_LEVEL3下,正常则返回0 + * @retval + * @see + * @author linjieqiong + * @date 20012/12/28 11:36:54 + **/ + int load_ex(const char * path, const char * conf, const char * range = NULL, + int dupLevel = GROUP_DUP_LEVEL0, int version = CONFIG_VERSION_1_0); + /** + * @brief 从指定的文件中载入配置文件和约束文件,如果存在未被约束的配置项,则打印并报错 + * + * @param [in] path : const char* 配置文件的路径 + * @param [in] conf : const char* 配置文件名 + * @param [in] range : const char* 约束文件,如果指定了约束文件,则会在会后打印出未被约束的配置项 + * @param [in] version : int 文件格式的版本(暂未使用) + * @return int 0表示成功,其余为失败 + * bsl::CONSTRAINT_ERROR 约束检查错误(不满足约束,存在未被约束的配置项)(如果不关心约束,可无视此错误) + * bsl::CONFIG_ERROR 配置文件解析错误 + * bsl::ERROR 其它错误 + * @retval + * @see + * @author linjieqiong + * @date 2013/01/06 21:36:54 + **/ + int load_ex2(const char * path, const char * conf, const char * range = NULL, int version = CONFIG_VERSION_1_0); + /** + * @brief 将数据串行化到一个字节流,可以发网网络 + * 如果将这个字节流直接写入磁盘文件,不可以直接load回来,而需要读取后再rebuild + * @note 本api只能序列化原始配置文件镜像或ivar,不能反映在内存中对configure对象的修改 + * 如需序列化实时内容,请使用dump_ex() + * + * @param [out] size_t * : 输出的字节流长度 + * @return char* 输出的字节流 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:38:35 + **/ + char * dump(size_t *); + + /** + * @brief 序列化configure对象的实时内存内容 + * + * @param [in] buf : dump_ex()输出的位置 + * @param [in] bufsize : buf的长度 + * @param [in] restoreComment : const int + * 0 RC_COMMENT 还原配置文件中的注释到输出 + * 1 RC_NO_COMMENT 不还原配置文件中的注释内容到输出 + * 2 RC_POSITION 还原的同时标记配置项在配置文件中的位置,格式: + * #this is the original comment + * #[FILE:LINE] + * [group] + * #[FILE:LINE] + * key : value + * + * @return int 写入buf的数据长度 + * 如果发生错误,返回-1 + * 如果buf不够,返回实际长度的相反数 + * 自动添加\0 + * + * @author linjieqiong + * @version 1.2.9 + * @date 2013/04/24 14:56:31 + */ + int dump_ex(char *buf, const size_t bufsize, const int restoreComment = 0); + + /** + * @brief 根据dump的字节流创建Configure + * 根据字节流重建一个Configure的步骤是: + * 1,getRebuildBuffer(size) 获取一个内部缓冲区 + * 2,将字节流中的数据拷贝到这个缓冲区 + * 3,调用rebuild重建数据 + * + * 调用本接口会清空现有的数据。 + * + * @param [in] size : size_t 字节流长度 + * @return char* 缓冲区 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:39:38 + **/ + char * getRebuildBuffer(size_t size); + /** + * @brief 根据获得的字节流重建Configure数据 + * + * @return int 0为成功,其他为失败 + * @retval + * @see + * @author yingxiang + * @date 2008/12/30 01:43:05 + **/ + int rebuild(); + /** + * @brief 检查所有配置文件的最后更新时间(包括被$include)的配置文件 + * $include 限制层数为:MAX_INCLUDE_DEPTH + * 在执行lastConfigModify(),应确保原来的配置文件都没有被删除 + * + * @return time_t 所有配置文件中的最后更新时间 + * 返回0表示出错 + * @retval + * @see + * @author yingxiang + * @date 2009/03/10 14:23:47 + **/ + time_t lastConfigModify(); + /** + * @brief 从一个IVar载入配置文件的数据 + * 本接口与load/rebuild互斥 + * 这个IVar必须是一个Dict类型 + * + * @return int 0成功,其余失败 + * @retval + * @see + * @author yingxiang + * @date 2009/03/11 17:29:56 + **/ + int loadIVar(const bsl::var::IVar & ); + /** + * @brief 用约束文件检查一次 + * @param [in] range : const char* 约束文件 + * @param [in] version : int 文件格式的版本(暂未使用) + * @return int 0表示成功,其余为失败 + * bsl::CONSTRAINT_ERROR 约束检查错误 + * bsl::ERROR 其它错误 + **/ + int check_once(const char * range, int version = CONFIG_VERSION_1_0); + /** + * @brief 检查conf文件中所有unit是否被约束,如果存在未被约束的项,则打印并返回错误 + * + * @return int 0 成功,其他是错误号 + * bsl::CONSTRAINT_ERROR 约束检查错误 + * @author linjieqiong + * @date 2013/01/07 17:32:10 + **/ + int checkConstraint(); + /** + * @brief 获取一个key的约束函数列表,注意group和array类型的约束函数是无作用的 + * @param [in] key_path : const char* 该key在conf文件中的完整路径 + * @param [in] range : const char* 约束文件, + * 如果非空,先进行约束检查; + * 如果为空,将使用最近一次load类函数或check_once()函数所使用的约束文件 + * + * @return int 0 成功,其他是错误号 + * bsl::CONSTRAINT_ERROR 约束检查错误 + * bsl::ERROR 其它错误 + * + * @author linjieqiong + * @date 2013/01/10 10:50:00 + **/ + int printKeyConstraint(const char *key_path, const char *range = NULL); + + virtual ConfigUnit & operator= (ConfigUnit & unit) { + return ConfigUnit::operator=(unit); + } + + Configure(); + ~Configure(); + protected: + + int load_1_0(const char * path, const char * conf, const char *range); + void pushSubReader(const char * conf, int level = -1); + friend class Reader; + friend class Constraint; + friend class ConfigGroup; + friend class ConfigUnit; + friend struct dump_conf; + friend int cb_dumpConf(ConfigUnit *, void *); + + struct ReaderNode{//每一个conf文件 + str_t filename; + Reader * reader; + int level; + }; + std::vector _readers; + str_t _path; + Reader * _cur_reader;//当前在处理的文件 + int _cur_level;//当前文件的深度($include的层次) + char * _dump_buffer; + size_t _dump_size; + confIDL::idl_t * _idl; + void changeSection(str_t str); + void pushPair(const str_t& key, const str_t& value); + + ConfigGroup* _section; + //depth是一个调试变量 + int _depth; + }; +} + + + +#endif //__CONFIGURE_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/EnvGet.h b/configure/EnvGet.h new file mode 100644 index 00000000..4b931066 --- /dev/null +++ b/configure/EnvGet.h @@ -0,0 +1,73 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * EnvGet.h 2009/07/17 14:24:22 zhang_rui Exp + * + **************************************************************************/ + + + +/** + * @file EnvGet.h + * @author zhang_rui(com@baidu.com) + * @date 2009/07/17 14:24:22 + * @brief + * + **/ + + + +#ifndef __ENVGET_H_ +#define __ENVGET_H_ + +#include "utils/cc_struct.h" +#define ENV_CHAR_DECL(envstr, deft) \ + static const char g_char_##envstr = (NULL == getenv(#envstr))? \ + deft : getenv(#envstr)[0] +#define ENV_UCHAR_DECL(envstr, deft) \ + static const unsigned char g_uchar_##envstr = (NULL == getenv(#envstr))? \ + deft : (unsigned char)getenv(#envstr)[0] + +#define ENV_INT16_DECL(envstr, deft) \ + static const int16_t g_int16_##envstr = (NULL == getenv(#envstr))? \ + deft : (int16_t)strtoll(getenv(#envstr), NULL, 0) +#define ENV_UINT16_DECL(envstr, deft) \ + static const u_int16_t g_uint16_##envstr = (NULL == getenv(#envstr))? \ + deft : (u_int16_t)strtoll(getenv(#envstr), NULL, 0) + +#define ENV_INT32_DECL(envstr, deft) \ + static const int g_int32_##envstr = (NULL == getenv(#envstr))? \ + deft : (int)strtoll(getenv(#envstr), NULL, 0) + +#define ENV_UINT32_DECL(envstr, deft) \ + static const u_int32_t g_uint32_##envstr = (NULL == getenv(#envstr))? \ + deft : (u_int32_t)strtoll(getenv(#envstr), NULL, 0) + +#define ENV_INT64_DECL(envstr, deft) \ + static const long long g_int64_##envstr = (NULL == getenv(#envstr))? \ + deft : (long long)strtoll(getenv(#envstr), NULL, 0) +#define ENV_UINT64_DECL(envstr, deft) \ + static const unsigned long long g_uint64_##envstr = (NULL == getenv(#envstr))? \ + deft : (unsigned long long)strtoull(getenv(#envstr), NULL, 0) + +#define ENV_FLOAT_DECL(envstr, deft) \ + static const float g_float_##envstr = (NULL == getenv(#envstr))? \ + deft : (float)strtod(getenv(#envstr), NULL) +#define ENV_DOUBLE_DECL(envstr, deft) \ + static const float g_double_##envstr = (NULL == getenv(#envstr))? \ + deft : (double)strtod(getenv(#envstr), NULL) + +#define ENV_BSLSTR_DECL(envstr, deft) \ + static const bsl_string g_bslstr_##envstr = (NULL == getenv(#envstr))? \ + deft : bsl_string(getenv(#envstr)) + + + + + + + + +#endif //__ENVGET_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/FileReloader.cpp b/configure/FileReloader.cpp new file mode 100644 index 00000000..35b18e3f --- /dev/null +++ b/configure/FileReloader.cpp @@ -0,0 +1,111 @@ +/*************************************************************************** + * + * Copyright (c) 2010 Baidu.com, Inc. All Rights Reserved + * + **************************************************************************/ + + + +/** + * @file FileReloader.cpp + * @author zhang_rui(com@baidu.com) + * @date 2010-2-1 + * @brief + * + **/ + +#include "FileReloader.h" +#include +#include +#include +#include + +namespace comcfg { + +static time_t get_file_time(const char * filename) { + + if (NULL == filename) { + LOG(WARNING) << "FileReloader.add_file_monitor : NULL filename"; + return -1; + } + time_t t = time_t(0); + struct stat st; + if(stat(filename, &st) == 0){ + if(t < st.st_mtime){ + t = st.st_mtime; + } + } else { + LOG(WARNING) << "FileReloader add_file_monitor : Can not stat file " << filename; + return -1; + } + return t; +} + +int FileReloader :: monitor() { + int ret = 0; + bsl::hashmap :: iterator itr; + for(itr = _filemap.begin(); itr != _filemap.end(); ++itr){ + config_filemonitor_t * fm = itr->second; + time_t tnow = get_file_time(itr->first.c_str()); + if (tnow<0) { + return -1; + } + if (tnow > fm->_last_modify) { + fm->_last_modify = tnow; + fm->callback(itr->first.c_str(), fm->param); + ++ret; + } + } + return ret; +} + +int FileReloader :: add_file_monitor(const char * filename, file_change_cb_t proc, void * prm) { + if (NULL == filename) { + LOG(WARNING) << "FileReloader.add_file_monitor : NULL filename"; + return -1; + } + if (NULL == proc) { + LOG(WARNING) << "FileReloader.add_file_monitor : NULL callback"; + return -1; + } + if (!_filemap.is_created()) + { + LOG(WARNING) << "Initial FileReloader : create filemap"; + _filemap.create(256); + } + time_t t = get_file_time(filename); + if (0 > t) { + return -1; + } + + config_filemonitor_t * pmon = new config_filemonitor_t; + pmon->callback = proc; + pmon->param = prm; + pmon->_last_modify = t; + + bsl::string kstr = filename; + bsl::hashmap :: _Pair *itr; + itr = _filemap.find(kstr); + if(NULL != itr) { + if (NULL != itr->second){ + delete itr->second; + } + LOG(WARNING) << "FileReloader.add_file_monitor : same file("<< filename << ") exist, update callback(" << proc << "), param(" << prm << ")"; + } + _filemap.set(kstr,pmon,1); + return 0; +} + +FileReloader :: ~FileReloader() { + bsl::hashmap::iterator itr; + for(itr = _filemap.begin(); itr != _filemap.end(); ++itr) { + if (NULL != itr->second) { + delete itr->second; + } + } + if(0 != _filemap.destroy()){ + LOG(WARNING) << "FileReloader.~FileReloader : _filemap.destory() failed "; + } +} + +}//namespace comcfg diff --git a/configure/FileReloader.h b/configure/FileReloader.h new file mode 100644 index 00000000..76e3cbf9 --- /dev/null +++ b/configure/FileReloader.h @@ -0,0 +1,70 @@ +/*************************************************************************** + * + * Copyright (c) 2010 Baidu.com, Inc. All Rights Reserved + * + **************************************************************************/ + + + +/** + * @file FileReloader.h + * @author zhang_rui(com@baidu.com) + * @date 2010-2-1 + * @brief + * + **/ + + +#ifndef FILERELOADER_H_ +#define FILERELOADER_H_ + +#include +#include "butil/logging.h" +#include "bsl/containers/string/bsl_string.h" +#include "bsl/containers/hash/bsl_hashmap.h" + +namespace comcfg { + +typedef int (*file_change_cb_t)(const char * filename, void * prm); /**< 处理文件变更的回调函数类型 */ + +typedef struct _config_filemonitor_t { + file_change_cb_t callback; /**< 处理文件变更的回调函数 */ + void * param; /**< 参数 */ + time_t _last_modify; /**< 最近修改时间 */ +} config_filemonitor_t; + +class FileReloader { + typedef bsl::hashmap config_filemonmap_t; +private : + config_filemonmap_t _filemap; +public : + /** + * @brief 检查配置文件是否发生变化。 + * + * @return int 0表示没有不安化,1表示配置发生了变化并进行了通知,-1表示文件stat失败,可能被删除。 + **/ + int monitor(); + /** + * @brief 增加监控整个文件的回调 + * + * @param [in] proc : file_change_cb_t 处理回调函数 + * @return int 0表示成功,-1为失败 + **/ + int add_file_monitor(const char * filename, file_change_cb_t proc, void * prm); + + /** + * @brief 构造函数 + **/ + FileReloader(){ + _filemap.create(256); + } + + /** + * @brief 析构函数 + **/ + ~FileReloader(); +}; + +}//namespace comcfg + +#endif /* FILERELOADER_H_ */ diff --git a/configure/Makefile b/configure/Makefile new file mode 100644 index 00000000..226de672 --- /dev/null +++ b/configure/Makefile @@ -0,0 +1,202 @@ +########################################################################### +# Automatically generated by comake (1.0.0) # +########################################################################### + +#################设计系统参数####################################### +WORKROOT ?= ../../ +IDLCC := $(WORKROOT)/public/idlcompiler/output/bin/mcy +RPCCC := $(WORKROOT)/public/ubrpc/servlet/ubrpcgen +CC := g++ +CXX := g++ +LEX := flex +YACC := yacc +CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +LEXFLAGS := +YACCFLAGS := +IDLFLAGS := +LINKFLAGS := -rdynamic +LINK := g++ +AR := ar cqs +RANLIB := +COMAKE := comake + +###############baidu lib 的32位 64位支持################# +HARDWARE_PLATFORM := $(shell uname -m) +ifeq ($(HARDWARE_PLATFORM),x86_64) + lib2=lib2-64 + third=third-64 +else + lib2=lib2-arm32 + third=third-arm32 +endif +########################################## + +# 编译参数 +DEP_INCPATH = -I$(WORKROOT)/public/spreg/output//include/ -I$(WORKROOT)/$(lib2)/ullib//include/ -I$(WORKROOT)/$(third)/pcre//include/ -I$(WORKROOT)/$(lib2)/bsl//include/ +DEP_LDFLAGS = -L$(WORKROOT)/$(lib2)/bsl//lib/ -L$(WORKROOT)/$(third)/pcre//lib/ -L$(WORKROOT)/$(lib2)/ullib//lib/ -L$(WORKROOT)/public/spreg/output//lib/ +DEP_LDLIBS = -lspreg -lpcre -lpcrecpp -lpcreposix -lbsl -lullib +INCPATH = -I. -Icompiler/src +MAKDEP = Makefile.dep + + +#start target +first : all + +############# 默认推到公式 +.SUFFIXES: .c .cpp .cc .cxx .C .idl .des +.PRECIOUS: %.cpp + +.cpp.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.cc.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.cxx.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.C.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.c.o: + $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) $(INCPATH) + +.idl.cpp: + $(IDLCC) --ns=$(*F) -o $* $< $(CPPFLAGS) $(INCPATH) $(IDLFLAGS) + +############# +###cpp 支持 +%info : % + ccp $< +############# + + +#__$MAKEFILE_RULES$__ + + + +###############编译目标 +all : target output +.PHONY : all clean test output comake src conf + +target : libconfig.a +#target : rpcidl libconfig.a +#target : +#__$target_CMDLINE$__ + +rpcidl : + +clean_rpcidl : + + +test : + + +comake : + -make clean + -comake + +#-include $(MAKDEP) +-include $(MAKDEP) + +#----------------build target : libconfig.a-------------------- + +libconfig.a : CC := g++ +libconfig.a : CXX := g++ +libconfig.a : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC -Woverloaded-virtual +libconfig.a : CPPFLAGS := +libconfig.a : IDLFLAGS := +libconfig.a : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +libconfig.a : INCPATH := -I. -Icompiler/src $(DEP_INCPATH) +libconfig.a : LDLIBS := -lm -lpthread $(DEP_LDLIBS) +libconfig.a : LDFLAGS := $(DEP_LDFLAGS) +libconfig.a : LINKFLAGS := -rdynamic + +libconfig_a_SOURCES := $(wildcard comake_autogen.cpp FileReloader.cpp ConfigReloader.cpp CmdOption.cpp ConfigError.cpp ConfigGroup.cpp ConfigUnit.cpp Configure.cpp constraint/Constraint.cpp constraint/ConstraintFunction.cpp constraint/cc_default.cpp reader/RawData.cpp reader/Reader.cpp utils/init.cpp utils/trans.cpp cfgext.cpp cfgflag.cpp compiler/src/idl.c compiler/src/idl_lex.c compiler/src/idl_gram.c) +#libconfig_a_HEADERS := $(wildcard *.h) +libconfig_a_HEADERS := *.h +libconfig_a_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +libconfig_a_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(libconfig_a_IDLSRC)) +libconfig_a_IDLSRCH := $(patsubst %.idl,%.h, $(libconfig_a_IDLSRC)) +libconfig_a_CONFDES := $(wildcard __$CONFDES$_VALUE$__ libconfig.a.des) +libconfig_a_CONFRANGE := $(patsubst %.des,%.range, $(libconfig_a_CONFDES)) +libconfig_a_OBJS := $(libconfig_a_IDLSRC:.idl=.o) +libconfig_a_OBJS += $(libconfig_a_SOURCES:.c=.o) +libconfig_a_OBJS := $(libconfig_a_OBJS:.cc=.o) +libconfig_a_OBJS := $(libconfig_a_OBJS:.cpp=.o) +libconfig_a_OBJS := $(libconfig_a_OBJS:.cxx=.o) +libconfig_a_OBJS := $(libconfig_a_OBJS:.C=.o) +libconfig_a_OBJS := $(libconfig_a_OBJS:.idl=.o) +libconfig_a_OBJS := $(libconfig_a_OBJS:.yacc=.o) +libconfig_a_OBJS := $(libconfig_a_OBJS:.lex=.o) +libconfig.a : $(libconfig_a_OBJS) + rm -f $@ || echo + ar cr $@ $^ + + +define libconfig_a_output + mkdir -p output output/lib output/include output/include/utils output/include/constraint + cp -rf *.h output/include/ + cp -rf utils/*.h output/include/utils/ + cp -rf constraint/*.h output/include/constraint/ + cp -rf compiler/src/idl_conf_if.h output/include/ + cp libconfig.a output/lib +endef + + +define libconfig_a_clean + -rm -rf $(libconfig_a_OBJS) $(libconfig_a_IDLSRCCPP) $(libconfig_a_IDLSRCH) libconfig.a.range conf/libconfig.a.range + -rm -rf libconfig.a + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define libconfig_a_ccpc + ccp $(libconfig_a_SOURCES) --formatter vim +endef + + +define libconfig_a_cov + +endef + + + + +#---------------------end build target : libconfig.a------------------ + +define _output + $(libconfig_a_output) +endef + + +define _clean + $(libconfig_a_clean) +endef + + +ccpc : + $(libconfig_a_ccpc) + +cov : + cov01 -1 + make clean + make + cov01 -0 + + + +output : libconfig.a + $(_output) + rm -rf $(MAKDEP) + +$(MAKDEP) : $(wildcard comake_autogen.cpp FileReloader.cpp ConfigReloader.cpp CmdOption.cpp ConfigError.cpp ConfigGroup.cpp ConfigUnit.cpp Configure.cpp constraint/Constraint.cpp constraint/ConstraintFunction.cpp constraint/cc_default.cpp reader/RawData.cpp reader/Reader.cpp utils/init.cpp utils/trans.cpp cfgext.cpp cfgflag.cpp compiler/src/idl.c compiler/src/idl_lex.c compiler/src/idl_gram.c) + -$(CC) -MG -MM $(CPPFLAGS) $(INCPATH) $(DEP_INCPATH) $^ > $@ + +clean: + $(_clean) + rm -rf $(MAKDEP) + + diff --git a/configure/README b/configure/README new file mode 100644 index 00000000..ffcf42e8 --- /dev/null +++ b/configure/README @@ -0,0 +1,6 @@ +1 鎵嬪姩缂栬瘧鏈簱鐨勬柟寮忥細 +make clean +export MAC=64 +make + +2 configure瀵硅薄涓嶆敮鎸佹嫹璐濊涔夛紝璇峰嬁浣跨敤浼犲兼柟寮忎紶閫抍onfigure瀵硅薄 diff --git a/configure/build.sh b/configure/build.sh new file mode 100644 index 00000000..ff507a27 --- /dev/null +++ b/configure/build.sh @@ -0,0 +1,25 @@ +cd ../../ +#rm -r lib2/bsl -f +cvs co lib2/bsl + +#rm -r lib2-64/bsl -f +cvs co lib2-64/bsl + +#rm -r lib2-64/ullib -f +cvs co lib2-64/ullib + +#rm -r lib2/ullib -f +cvs co lib2/ullib + +#rm -r third/pcre -f +cvs co third/pcre + +#rm -r third-64/pcre -f +cvs co third-64/pcre + +#rm -r public/spreg -f +cvs co public/spreg +make -C public/spreg + +cd public/configure +make diff --git a/configure/build_force.sh b/configure/build_force.sh new file mode 100644 index 00000000..29081d8e --- /dev/null +++ b/configure/build_force.sh @@ -0,0 +1,25 @@ +cd ../../ +rm -r lib2/bsl -f +cvs co lib2/bsl + +rm -r lib2-64/bsl -f +cvs co lib2-64/bsl + +rm -r lib2-64/ullib -f +cvs co lib2-64/ullib + +rm -r lib2/ullib -f +cvs co lib2/ullib + +rm -r third/pcre -f +cvs co third/pcre + +rm -r third-64/pcre -f +cvs co third-64/pcre + +rm -r public/spreg -f +cvs co public/spreg +make -C public/spreg + +cd public/configure +make diff --git a/configure/cfgext.cpp b/configure/cfgext.cpp new file mode 100644 index 00000000..09210f22 --- /dev/null +++ b/configure/cfgext.cpp @@ -0,0 +1,202 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: cfgext.cpp,v 1.4 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file cfgext.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/03/10 21:48:10 + * @version $Revision: 1.4 $ + * @brief + * + **/ + +#include "cfgext.h" +#include "idl_conf_if.h" +#include "Configure.h" + +#define ARRAY_FUNC "array" +#define COMMENT_FUNC "comment" +#define DEFAULT_FUNC "default" + +namespace comcfg{ + + // is basic type + // in constraint/Constraint.cpp + extern bool isBaseType(const str_t & s); + + void printBaseType(confIDL::idl_t * idl, confIDL::var_t * var, str_t * conf, str_t * section, bool isArray); + void printGroup(confIDL::idl_t * idl, confIDL::var_t * var, str_t * conf, str_t * section, bool isArray); + void printVar(confIDL::idl_t * idl, confIDL::var_t * var, str_t * conf, str_t * section); + + void printBaseType(confIDL::idl_t * /*idl*/, confIDL::var_t * var, str_t * conf, str_t * /*section*/, bool isArray){ + //comment + confIDL::cf_map_t::iterator cfitr = var->cf_map.find(str_t(COMMENT_FUNC)); + if(cfitr != var->cf_map.end() && cfitr->second->arg_list.size() > 0){ + conf->appendf("#%s\n", cfitr->second->arg_vec[0]->data.c_str()); + } + //key + conf->appendf("%s%s : ", isArray?"@":"", var->name.data.c_str()); + + //default value + cfitr = var->cf_map.find(str_t(DEFAULT_FUNC)); + if(cfitr != var->cf_map.end() && cfitr->second->arg_list.size() > 0){ + conf->appendf("%s", cfitr->second->arg_vec[0]->data.c_str()); + } + //end of line + conf->append("\n"); + } + + void printGroup(confIDL::idl_t * idl, confIDL::var_t * var, str_t * conf, str_t * section, bool isArray){ + confIDL::group_map_t::iterator gitr = idl->group_map.find(var->type.data); + if(gitr == idl->group_map.end()){ + throw ConfigException() << BSL_EARG << "Unknown type : " << var->type.data.c_str() << " [ " + << var->type.file.c_str() << " : " << var->type.lineno << " }"; + } + if(*section == str_t(CONFIG_GLOBAL)){ + *section = ""; + section->appendf("%s%s", isArray?"@":"", var->name.data.c_str()); + } + else{ + if(strstr(section->c_str(), "@") != NULL){ + //前面的已经有数组了,只能使用相对位置 + str_t tmp; + for(int i = 0; i < (int)section->size(); ++i){ + if((*section)[i] == '.'){ + tmp.append("."); + } + } + *section = tmp; + } + section->appendf(".%s%s", isArray?"@":"", var->name.data.c_str()); + } + conf->appendf("\n[%s]\n", section->c_str()); + confIDL::var_list_t::iterator vitr; + str_t bak_section = *section; + for(vitr = gitr->second->var_list.begin(); vitr != gitr->second->var_list.end(); ++vitr){ + if(isBaseType((*vitr)->type.data)){ + printVar(idl, *vitr, conf, section); + } + } + for(vitr = gitr->second->var_list.begin(); vitr != gitr->second->var_list.end(); ++vitr){ + if(! isBaseType((*vitr)->type.data)){ + if(*section != bak_section){ + *section = bak_section; + //conf->appendf("\n[%s]\n", section->c_str()); + } + printVar(idl, *vitr, conf, section); + } + } + } + + + + void printVar(confIDL::idl_t * idl, confIDL::var_t * var, str_t * conf, str_t * section){ + bool isArray = false; + int arrSize = 1; + + confIDL::cf_map_t::iterator cfitr = var->cf_map.find(str_t(ARRAY_FUNC)); + if(cfitr != var->cf_map.end()){ + isArray = true; + unsigned long long s; + if(cfitr->second->arg_list.size() > 0){ + if(Trans::str2uint64(cfitr->second->arg_vec[0]->data, &s) == 0){ + arrSize = (int)s; + } + } + } + + if(arrSize <= 0){ + arrSize = 1; + } + + str_t bak_section = *section; + //*section = bak_section; + if(isBaseType(var->type.data)){ + printBaseType(idl, var, conf, section, isArray); + } + else{ + printGroup(idl, var, conf, section, isArray); + } + //增加注释的元素 + if (1 < arrSize) + { + //把数组元素的配置字符串写到cmt中 + str_t cmt = ""; + str_t cmted = ""; + *section = bak_section; + if(isBaseType(var->type.data)){ + printBaseType(idl, var, &cmt, section, isArray); + } + else{ + cmted.append("\n"); + printGroup(idl, var, &cmt, section, isArray); + } + cmt.append("\n"); + //对cmt中每行字符串前面增加#,改写到cmted中 + int prelinehead = 0; + for (int i=0; i<(int) cmt.size(); ++i) + { + if ('\n'==cmt[i]) + { + if (i>prelinehead){ + cmted.append("#").append(cmt.substr(prelinehead, i - prelinehead + 1)); + } + prelinehead = i+1; + } + } + //将注释的配置字符串cmted加到conf中 + conf->append(cmted); + } + } + + + str_t autoConfigGen(const char * range_file){ + confIDL::idl_t * idl; + idl = confIDL::alloc_idl(); + + load_idl(range_file, idl); + if(idl->retval != 0){ + confIDL:: err_list_t :: iterator itr; + ConfigException e; + e << range_file << ": Read File Error\n"; + for(itr = idl->err_list.begin(); itr != idl->err_list.end(); ++itr){ + e << itr->file.c_str() << ":" << itr->lineno << " " << itr->data.c_str() << "\n"; + } + free_idl(idl); + throw e; + } + + confIDL :: var_list_t :: iterator vitr; + str_t conf; + str_t section = CONFIG_GLOBAL; + for(vitr = idl->var_list.begin(); vitr != idl->var_list.end(); ++vitr){ + if(isBaseType((*vitr)->type.data) && section != CONFIG_GLOBAL){ + conf.append("\n[" CONFIG_GLOBAL "]\n"); + } + section = CONFIG_GLOBAL; + printVar(idl, *vitr, &conf, §ion); + } + free_idl(idl); + return conf; + } + + + + + + + + + + + + +}//namespace comcfg + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/cfgext.h b/configure/cfgext.h new file mode 100644 index 00000000..5db9436e --- /dev/null +++ b/configure/cfgext.h @@ -0,0 +1,59 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: cfgext.h,v 1.2 2009/03/23 03:14:52 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file cfgext.h + * @author yingxiang(com@baidu.com) + * @date 2009/03/10 21:39:54 + * @version $Revision: 1.2 $ + * @brief + * + **/ + + +#ifndef __CFGEXT_H_ +#define __CFGEXT_H_ + +#include "utils/cc_utils.h" + +namespace comcfg{ +/** + * @brief 根据一个约束文件,自动生成一个空配置文件 + * 线下使用,便于RD生成一份配置文件模板 + * + * @param [in] range_file : const char* 约束文件地址 + * @return bsl::string 返回配置文件的文本内容。直接write到某个文件即可。 + * + * 当出错时抛出ConfigException异常 + * + * @retval + * @see + * @author yingxiang + * @date 2009/03/10 21:42:44 +**/ +bsl::string autoConfigGen(const char * range_file); + + + + + + + + + +}//namespace comcfg + + + + + + +#endif //__CFGEXT_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/cfgflag.cpp b/configure/cfgflag.cpp new file mode 100644 index 00000000..3fa38c07 --- /dev/null +++ b/configure/cfgflag.cpp @@ -0,0 +1,269 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: cfgflag.cpp,v 1.3 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file init.cpp + * @author xiaowei(com@baidu.com) + * @date 2009/02/12 13:57:10 + * @version $Revision: 1.3 $ + * @brief + * + **/ + +#include "cfgflag.h" +#include "cfgext.h" + +namespace comcfg +{ + +const char *DEFHELP = + " -d: conf_dir\n" + " -f: conf_file\n" + " -r: range_file\n" + " -h: show this help page\n" + " -t: check config file syntax\n" + " -g: generate config sample file\n" + " -v: show version infomation\n "; + +void Flag::default_version() +{ + std::cout<<"call default_version function, you must reload it"<=0 && s[z] != flag); + return z; +} + +Flag::Flag(fun_t ver, fun_t help) +{ + _modname = ""; + _cfpath = ""; + _cffile = ""; + _cfrange = ""; + _version = ver; + _help = help; +} + +Flag::~Flag() +{ +} + +bsl::string Flag::get_defrange(const bsl::string &file) +{ + bsl::string str=file; + if (file.size() > 5 && file.substr(file.size()-5) == ".conf") { + str = file.substr(0,file.size()-5); + } + str.append(".range"); + return str; +} + +bsl::string Flag::get_defconf(const bsl::string &mod) +{ + int pos = comcfg::rfind(mod.c_str(), '/'); + bsl::string cf; + if (pos < 0) { + cf = bsl::string(mod.c_str()).append(".conf"); + } else { + cf = bsl::string(mod.c_str()+pos+1).append(".conf"); + } + return bsl::string("conf/").append(cf); +} + +int Flag::init(int argc, char **argv, const char *optstr) +{ + int ret = 0; + try { + if (optstr == NULL) { + ret = _opt.init(argc, argv, bsl::string("f:d:r:gtvh").c_str()); + } else { + ret = _opt.init(argc, argv, bsl::string("f:d:r:gtvh").append(optstr).c_str()); + } + if (ret != 0) return ret; + + _modname = argv[0]; + + if (_opt.hasOption("d")) { + _cfpath = _opt["d"].to_cstr(); + } else if (_opt.hasOption("dir")) { + _cfpath = _opt["dir"].to_cstr(); + } else { + _cfpath = ""; + } + + if (_opt.hasOption("f")) { + _cffile = _opt["f"].to_cstr(); + } else if (_opt.hasOption("conf")) { + _cffile = _opt["conf"].to_cstr(); + } else { + _cffile = ""; + } + + if (_opt.hasOption("r")) { + _cfrange = _opt["r"].to_cstr(); + } else { + _cfrange = ""; + } + + if (_opt.hasOption("v") || _opt.hasOption("version")) { + _version(); + exit (0); + } + if (_opt.hasOption("h") || _opt.hasOption("help")) { + _help(); + exit (0); + } + if (_opt.hasOption("t")) { + ret = 0; + try { + ret = this->loadconfig(); + } catch (bsl::Exception &e) { + LOG(WARNING) << "check configure error : exception " << e.what() << ", at " << e.stack(); + ret = -1; + } + if (ret != 0) { + LOG(WARNING) << "check configure[" << this->_cfpath.c_str() << "/" << this->_cffile.c_str() << "] error"; + } else { + LOG(INFO) << "check configure[" << _cfpath.c_str() << "/" << _cffile.c_str() << "] success"; + } + exit (0); + } + if (_opt.hasOption("g")) { + bsl::string file = ""; + try { + auto_def(); + file = comcfg::autoConfigGen(fullpath(_cfpath, _cfrange).c_str()); + } catch (bsl::Exception &e) { + LOG(WARNING) << "auto gen configure error for " << _cfpath.c_str() << "/" << _cffile.c_str() << ":\nExp " << e.what() << ", " << e.name() << ", " << e.stack(); + exit(0); + } + bsl::string path = _cfpath; + path.append("/").append(_cffile); + FILE *fp = fopen(path.c_str(), "w"); + if (fp == NULL) { + LOG(WARNING) << "auto gen configure error for can't open file [" << path.c_str() << "]"; + exit(0); + } + fwrite(file.c_str(), 1, file.size(), fp); + fclose(fp); + LOG(INFO) << "auto configure " << path.c_str() << " success"; + exit (0); + } + + return 0; + } catch (bsl::Exception &e) { + return -1; + } +} + +bsl::string Flag::fullpath(const bsl::string &path, const bsl::string &file) +{ + bsl::string full = path; + return full.append("/").append(file); +} + +bool Flag::file_exist(const char *fn) +{ + FILE *fp = fopen(fn, "r"); + if (fp) { + fclose(fp); + return true; + } + return false; +} + +int Flag::loadconfig() +{ + try { + auto_def(); + const char *r = NULL; + if (file_exist(fullpath(_cfpath, _cfrange).c_str())) { + r = _cfrange.c_str(); + } + if (r != NULL) { + LOG(INFO) << "configure.load(" << _cfpath.c_str() << ", " << _cffile.c_str() << ", " << r << "); check range: " << _cfrange.c_str() << " exist"; + } else { + LOG(INFO) << "configure.load(" << _cfpath.c_str() << ", " << _cffile.c_str() << ", NULL); check range: " << _cfrange.c_str() << " noexist"; + } + int ret = _cfg.load(_cfpath.c_str(), _cffile.c_str(), r); + if (ret != 0) { + return ret; + } + } catch (bsl::Exception &e) { + return -1; + } + return 0; +} + +int Flag::loadconfig(const char *path, const char *conf) +{ + if (path == NULL) { + _cfpath = ""; + } else { + _cfpath = path; + } + if (conf == NULL) { + _cffile = ""; + } else { + _cffile = conf; + } + return loadconfig(); +} + +void Flag::set_confpath(const char *path, const char *file, const char *range) +{ + if (path) { + set_cfpath(path); + } else { + set_cfpath(""); + } + if (file) { + set_cffile(file); + } else { + set_cffile(""); + } + if (range) { + set_cfrange(range); + } else { + set_cfrange(""); + } +} + +void Flag::auto_def() +{ + if (_cffile.size() == 0) { + _cffile = get_defconf(_modname); + } + if (_cfpath.size() == 0) { + int pos = rfind(_cffile.c_str(), '/'); + if (pos >= 0) { + _cfpath = _cffile.substr(0, pos+1); + _cffile = _cffile.substr(pos+1); + } else { + _cfpath = "./"; + } + } + if (_cfrange.size() == 0) { + _cfrange = get_defrange(_cffile); + } +} + +} + +/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ diff --git a/configure/cfgflag.h b/configure/cfgflag.h new file mode 100644 index 00000000..3bdc2d29 --- /dev/null +++ b/configure/cfgflag.h @@ -0,0 +1,290 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: cfgflag.h,v 1.3 2009/08/13 07:23:01 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file init.h + * @author xiaowei(com@baidu.com) + * @date 2009/02/12 13:57:53 + * @version $Revision: 1.3 $ + * @brief + * + **/ + + +#ifndef __XAUTOFRAME_H_ +#define __XAUTOFRAME_H_ + +#include +#include "Configure.h" +#include "CmdOption.h" + +namespace comcfg +{ + +extern const char *DEFHELP; + +class Flag +{ + + typedef void (*fun_t)(); + + bsl::string _modname; + bsl::string _cfpath; + bsl::string _cffile; + bsl::string _cfrange; + + comcfg::CmdOption _opt; + comcfg::Configure _cfg; + + fun_t _version; + fun_t _help; +public: + /** + * @brief 初始化类 + * + * @param [in/out] ver : fun_t 显示版本的函数 + * @param [in/out] help : fun_t 显示帮助的函数 + * @see + * @author xiaowei + * @date 2009/03/09 15:26:51 + **/ + Flag(fun_t ver=Flag::default_version, fun_t help=Flag::default_help); + + virtual ~Flag(); + + /** + * @brief 根据void main(int argc, void **argv)初始化flag + * + * @param [in/out] argc : int + * @param [in/out] argv : char** + * @param [in/out] optstr : const char* 与CmdOption的第三个参数一致 + * @return int 成功返回0,其他失败 + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:28:22 + **/ + virtual int init(int argc, char **argv, const char *optstr=NULL); + + /** + * @brief 返回获取命令行参数的控制句柄 + * + * @return const comcfg::CmdOption& + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:29:36 + **/ + inline const comcfg::CmdOption & opt() const { return _opt; } + /** + * @brief 返回获取命令行参数的控制句柄 + * + * @return comcfg::CmdOption& + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:30:23 + **/ + inline comcfg::CmdOption & opt() { return _opt; } + /** + * @brief 根据key返回这个key对应的命令行参数值 + * + * @param [in/out] str : const char* 指定的key + * @return const comcfg::ConfigUnit& + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:31:41 + **/ + inline const comcfg::ConfigUnit & opt(const char *str) const { return _opt[str]; } + + /** + * @brief 返回配置文件句柄 + * + * @return const comcfg::Configure& + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:30:42 + **/ + inline const comcfg::Configure & cfg() const { return _cfg; } + /** + * @brief 返回配置文件句柄 + * + * @return comcfg::Configure& + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:31:16 + **/ + inline comcfg::Configure & cfg() { return _cfg; } + + /** + * @brief 根据key返回指定的配置文件项目 + * + * @param [in/out] str : const char* + * @return const comcfg::ConfigUnit& + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:32:25 + **/ + inline const comcfg::ConfigUnit & cfg(const char *str) const { return _cfg[str]; } + + /** + * @brief 设置配置路径 + * + * @param [in/out] cfpath : const bsl::string& + * @return void + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:43:21 + **/ + inline void set_cfpath(const bsl::string &__cfpath) { _cfpath = __cfpath; } + /** + * @brief 返回配置路径 + * + * @return const char* + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:43:34 + **/ + inline const char * cfpath() const { return _cfpath.c_str(); } + + /** + * @brief 设置配置文件名 + * + * @param [in/out] cffile : const bsl::string& + * @return void + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:43:42 + **/ + inline void set_cffile(const bsl::string &__cffile) { _cffile = __cffile; } + /** + * @brief 返回配置文件名 + * + * @return const char* + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:43:50 + **/ + inline const char * cffile() const { return _cffile.c_str(); } + + /** + * @brief 设置约束文件名 + * + * @param [in/out] cfrange : const bsl::string& + * @return void + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:44:00 + **/ + inline void set_cfrange(const bsl::string &__cfrange) { _cfrange = __cfrange; } + /** + * @brief 返回约束文件名 + * + * @return const char* + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:44:13 + **/ + inline const char *cfrange() const { return _cfrange.c_str(); } + + /** + * @brief 设置配置文件信息 + * + * @param [in/out] path : const char* 配置文件路径 + * @param [in/out] file : const char* 配置文件名 + * @param [in/out] range : const char* 约束文件名 + * @return void + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:44:23 + **/ + void set_confpath(const char *path, const char *file, const char *range=NULL); + + /** + * @brief 设置显示版本函数 + * + * @param [in/out] fun : fun_t + * @return void + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:50:01 + **/ + inline void set_version(fun_t fun) { _version = fun; } + /** + * @brief 设置显示帮助函数 + * + * @param [in/out] fun : fun_t + * @return void + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:50:13 + **/ + inline void set_help(fun_t fun) { _help = fun; } + + /** + * @brief 读取配置 + * + * @return int 成功返回0,其他失败 + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:50:21 + **/ + virtual int loadconfig(); + /** + * @brief 根据指定的配置文件名读取配置 + * + * @param [in/out] path : const char* 配置路径 + * @param [in/out] conf : const char* 配置文件名 + * @return int + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:51:05 + **/ + virtual int loadconfig(const char *path, const char *conf); + +protected: + static void default_version(); + static void default_help(); + + /** + * @brief 根据配置文件名,获取默认的约束文件名 + * + * @param [in/out] file : const bsl::string& + * @return bsl::string + * @retval + * @see + * @author xiaowei + * @date 2009/03/09 15:52:10 + **/ + bsl::string get_defrange(const bsl::string &file); + bsl::string get_defconf(const bsl::string &mod); + void auto_def(); + bool file_exist(const char *fn); + bsl::string fullpath(const bsl::string &path, const bsl::string &file); +}; +} + +#endif //__XAUTOFRAME_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ diff --git a/configure/compiler/Makefile b/configure/compiler/Makefile new file mode 100755 index 00000000..d5020518 --- /dev/null +++ b/configure/compiler/Makefile @@ -0,0 +1,21 @@ +#* -*- makefile -*- +# copy[write] by dirlt(zhang_yan@baidu.com) +# date time:Mon Nov 17 22:44:02 CST 2008 +# file name:Makefile +all: + make -C ./src +clean: + make -C ./src clean + make -C ./demo clean + rm -rf output +test: + make -C ./testcase +mydemo: + make -C ./demo +output: + mkdir ./output + cp -r ./include ./output + cp -r ./lib ./output +dist: + tar czvf ../idlcompiler.tar.gz ../idlcompiler + diff --git a/configure/compiler/demo/Makefile b/configure/compiler/demo/Makefile new file mode 100755 index 00000000..66149c22 --- /dev/null +++ b/configure/compiler/demo/Makefile @@ -0,0 +1,30 @@ +#* -*- makefile -*- +# copy[write] by dirlt(zhang_yan@baidu.com) +# date time:Mon Nov 17 22:52:18 CST 2008 +# file name:Makefile +CC=g++ +OBJS=main.o +CPPFLAGS=-fsigned-char -Wall -W -pipe -Wno-unused-parameter -g +LDFLAGS=-lpthread -lm -lidlcompiler +INCLUDES=-I../output/include +LDPATH=-L../output/lib +LIB= #create the lib +TARGET=main #create the exe file + +#32-biit and 64-bit platforms +ifeq ($(MAC),64) +else +endif + +all:$(TARGET) +$(TARGET):clean $(OBJS) + $(CC) $(CPPFLAGS) -o $@ $(OBJS) $(LDPATH) $(LDFLAGS) +$(LIB):$(OBJS) + ar cr $(LIB) $(OBJS) +%.o:%.cpp + $(CC) $(INCLUDES) $(CPPFLAGS) -o $@ -c $< +clean: + rm -rf $(OBJS) $(TARGET) $(LIBS) + rm -rf *~ +test: + valgrind ./main `ls ../testcase/*.def` diff --git a/configure/compiler/demo/main.cpp b/configure/compiler/demo/main.cpp new file mode 100755 index 00000000..42af024b --- /dev/null +++ b/configure/compiler/demo/main.cpp @@ -0,0 +1,29 @@ +/* -*- c++ -*- + copy[write] by dirlt(zhang_yan@baidu.com) + date time:Mon Nov 17 17:08:24 CST 2008 + file name:main.cpp */ + +#include +#include +#include "idl_interface.h" +using namespace IDL; + +int main(int argc,char **argv) +{ + int i; + char *file; + idl_t *idl_data; + for(i=1;iq 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�#$W( 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%0A1@}64Zf3*9vS8 zEGkiWa0E_$SXgx4gHY*O*SU& z8-eYCS!XIdcoI(iy~3;>3!qZCG(qI4W>q_RYLNQgk34H zWzmDc6IpaC-#&}xYLZXlP3|cPVt@{z8QZr403Jguq?*Ltsg8LKE?qZRzCw ziaY)D-JWCl=9MAV7ee_tA5H56hn`t|82hJ7FoVZrh0Ku?_cocnbh=iO;#5))bt?A` zlPDB^DXVxaO;dK0GYy$9RzbeoFS{Y%`C7Jy4-w%A&(TQx+|;)E7}# zaY=2PEpn6iW{Y@!Y>!-tgwM?rX)s&FFVzGCm_JU~BUdiDR$2kVI>)#nFNcNLB&Vz@ z_F0wP;C6k?J5i)Ym;-np%n9G8F(7!u>w9IAGUwek<}4wqUDI0#7Uqxx&DDErsIuiw z0%ck`6z7eb@^Am{H2>-}c8wS0d}_~m8(V^$OC*Ic1jj1oUCJs1IHN+51#<;lYfaRz zKp%C|`is+1oPP_@wR%fX2XWqp$*?DJ{#4?&;s<6qzQY0e|VMQU0RHOLibPqN$>8RewvQt(6QfAhM%(vMuV z+pGI9QSF)^4^?_)@~LEql3WEmQKZWF_DQ~8lRQNdV?W(0L7e{+Fz5gDD=#-~>;DEvSSJjz0$fgo@-`;Mh<3_1(DQugK|ZvXoFEPOz;EfK1wp1pJ=TYA^r77(>Ons66(5)`z;9VzG$JV-tEpQPlufCp=F!8(7z2xZ%r3-VE~Ji@=Cx;Oa=GQ>a{n1 zF0akf|7A)jbbs81tyXl~n5-=8v)7Izy~o?T8?{)@}k~C$#96Q#u+c z59DcE*k>d70|@uhh&widb0qJYMss3^M&O$yqXuhJIEv7C>s6D4H*~{&jYaY!l=|)B zdnrxL!+H)wZjk?oZ!D6Om_@Qi!sp&hxNniH(ge!@Bv>Sy&mq%F>mkC#BGIA?a|aA7 z`BeKKREx4EyMc@3AM|d|C4SiGwSDj-j7dUDq~bg<@0~B9-U%kjNlM^0SqT)AMAD9xg52Pf0ZC0Yr=t>i5uj_`DM1~Y^(6w^L$kh6;lVtd`i)|f%$Kb{Vw2FDE)htgP4bzS zBh@dQC3xTc#dnQ+Woa0DL^^Bj&lBvC*GOX5Bp>3lR-(Y#&w|R@e-RkxDqOjXZ(qpn z&~!sd7qdqOOVR{;s z!h;{+NaxXio-bp?F&Xpik@tmFQbPpn&mOr8WP7V0Wxldth4v1{InHC>5veMEN?4?^yk4x?@NeldrL|`7Gh_f`f?R^@veV=>FyFEQVKmqaXPK$Is;JU>&X9 zEE_c1hKgR(*-HNwMk0yw^^S~8%vk3wyd2bz??m{o1o8fzfNQPK^egapb@9X8g;rlYZmAZ3v$H-j$i&_cHXzE;6@LzlvByYurjy4bM`}z`LO7J#`6z7d#a_9N>TpqEPI=TQHxt5pql zRVHS=v%ED|x(ENgRC$8YNAa3Otf>Z|@1;KPW6<|fA5|p0mugqNkKyQF9dwQ^RF_TF zHR^fgi~Mp_Dx%Kua>UlB@9nQuFh&qlh}MVw_`@}R1sS)k;69ir#gPXO?t|n-t1pWOd zP&1^6Jn>CCwA)YD9J3`(ZY&72>ka%Uf$xgJ&8d{7CTRC!f}Z?5hD{eQ|6zhQOHfw( zR5d1Ol>}{!7fm@Z-UK}$<+p)D)1zMw;d2EGC|=*1YIqJNf5d8H}GP~@yH+6ef}z-t7)bz2OZGVN6pbg*E%Fct&>&l&iCYk?;Vyp5Uj zO;Ch0B9~zXK3Cua+gI7?Cg@FuJ&|j__h}}{ z(FQ(RlJwl(mU|}ye@Nng^j$lGx16SInJqy}zimtMhJjBI_@4ycRxb-p(6`SM^h#`j zpWN>=@Sr65$If=S%rrsAOVE5Fz^}?{4E*1MYRgyca=E|+{Z)cqld||p&NT4J0`D5j z-Bj^0Cg>%GE|FWm_6dNn&IbOlz;gxORu=D6Eq-so_5cKUHN^EF*&L~F9)_H66+4%| z?W+HDJ^Pfn{Ed;?htD!5a3pz7>*Nz;iqfu^_ne!6*Y#IpFI3ss$@|Pix#1(0t^Q4z zT=k|;tB<}caw+xVPi~T)Hwd-k(9Q#2sARch%KVkZD}*nKNHY1*FFiMBSBTpkwlhc7 zk9&?r@X9gMXglS{n=z!Y|z%B`I7=n`^dm;O+NgK22GL;%y!ZuPS~*{sIF01V?p3Sgx? z-L5>)^IN|wbav;C)VED}N|jym&Ntx9toTh*Yj0u|#m2uzni3>o-aY#5f$`72nXydUecET2B-dLs5wEZhrC3(zcFn5m#&_!z zyxE#nmxY%%K3gBqfRiQQ_FRc`x&&yh^CaPH4Icn7G69BiU*o5_7l*>to6sZkDtmgee(_{arB;dyvLTOp2nrywGwWKvq-Ok<1d z+E6(Epxs5xs@9weI|_ThUbyC`(9ES0(>@76__AcX=1`f-nEAt@02Zh76SDJ`FF9E$ zR^meTf0i?`Iwn-PX?v*m3UFqf#^Jic%1^f2Rc|pNP!vAp7@lZmEoGSV8A~kQl#_)L zO$4PrmZ-=vDct9U z7sJB+*J+FR?!54rGd6jLn4Ao^wCKcF#u~N^3tySC)3xqh%Hg!|__W=SBTS?5R*zwv z1=lop!?ifKX5G)0XVj*-Cz=#6jVp;>Y>on`F@d>nY-?g6i4tX ztzCCZ#m2m(fg0Pcx{f&L4#@a0FG-FEP9u|02@j?lS#X~hS+Hy8B@qs5i}})t^-y?e z1A^MSrKsfN(EK8I(6SqfHDyqA(V>I+$uF4>gj$-4-HbHki+Z7)vJhB zb%W6w;UVV)*TMuA$q8?h4VwNqQVM&TtFOc-Vq(wQg#cB*-&{S`53^_gfoz(q$M7xm z_P$?yi%-K_xm3LU^4;epvR$NcnyW|gL1!zo=t$x3qNQpv)yt11pBmuOS| zz~_aKsdppdQjj9IzowR!oCX3aQ%XwnN*~Z(i8L2hZb6A$LYYJL6DR(8;whQs*A*_F zbmMhpS4_#gDpYsXlnGarlwEaYp)(`3Fg)X^LT7UNFsDmtZu8J?natDe@W%9{4^e_r z=-Or!_}uVms*{3E>$mUn+tq((lXyZwTBP#i@Z#Um@s&%Zf;$)aZL4Ys^IpQ z=rarK`e_8Ba>^bIxl1LPJUF}-1G#k`#^1}29+tG^QVLdg4L|gbUKSOn4~fSb>79a* zs1Fd;u6=sb2UKq!)-vXy3rI~vFPFM;tr;>}E2o-GFK^e)-(-}_+(LkryE@xdt5`gA zt=|z*)ZsmR74=a~L#s8E8}&kiTdetN_PNeR)V-9baM^B)M$1MhFH9kR*4B+?agzO3 z9db}Ev1W{Vi8bTgZqg2GpNozxSX@}ylv(JU3!e%aaA8uxD%@_7D;Sc)iAVkkY0r^oOh#5fm;1bQFND?* z8VV1C3wJ6PPGU1QqA>xm5sed(sK|AYY1iEo6NlXtO2y#?78f~idoCmwRPR6_pgG@t zMEb+UyO9|xzM%ROJ73uv7ZKOUWL(c{rJKf;TzRLov8bttm=uYYhY=zc1&fVL6ksoi zKoqRP?H1XlWsNtGXBc%wo`YyG6q|xR@W^3F;o;Fbq(8}CG$$zuBa{ZS=s1aVr$oxP zYoA^4F~(mnBmW`0t^p2RMM7mAcC0Eh)B_2plMww#C%y?opsL}P7jzHNv01#6fhcABG4TvQNYYA>ue8 zVx#PRr~DHBCD54s$h2czeufg7C_h`6jzWI=0XFjUnUuFb)niw;NL%nVoUiRv%f%I9 zKXP=_c0NY~c)5%N{lUmX-XN;_no8uk7QdEUn|Mc2A-T`ySC1Wwr7*LzE45&?78BmLXcF9r- zbE)R4W>t|pFmk?rsufw}=0pY=nnbx5xo1cEn#fXb`^Qh~lXM|>fLA|&oVJS)`u5x} zEg!|Z{VdWh)U^HxXMY7t$avkEB%b^~WGsxm`)m@Q{Xgb>u;ly`Q${Q%Bt1hjaf9zZ zjiYs9?NF}{xUH{!KecLo;rqLJTNye=mXf~NDnMRU@Z^9?yl~xG&!%!oDRf|Fn}SMu{!T%>iqd7A}q&n9fA+QLR@D2ewnewoh-%jiWE8D~#2wxj$H2MHJ#65Ki*C`UM1Sd{dOzZ|YqrIg zCA$-qI@=)NTI&$~3N%Z6H?2jSj*D)s0NH;jK^+#|9D(g&(QT%}gA;M;`-qAe_vd*1 z)}N{Rsh>9jSmb#$cC!_H5SEDo`X`?uYK+@T_$xdP^ZAX=k$HQ7CP!}C1GH1*N`c1O z;y#p2BwHi;a^kl?Mt)YB&@L**IzfG+Wvoo&MbB70j2Ahyj>a4L2JP84dlC7B&x&C3 zlju&n>K#5}^HZawgPI_;$9cZI`6D}3g#OSDsY8s;%7$69K^HHZuY&vn zOxYQ7_fc9E-jJK^{q}j8e`$^c6_r2W^@pDO8~29Xf!==>CMC7j#hYd)J!TiD$tPz2 zgyeW*si4@LP0ZZb&)IjfE zXpR(VF8_BuTi27sb{mONtLgy}kZzF*q%>Y~(IA0|8iFFxdfmGcc?E*vD(dD`H;_$2 z_rmS*lIJ!U6uGN>xyWr14=OQty;h}n@uFB!xf_S3l2F_yo`d3{YKbLwx%Gpz-R-|_ zvb|R#2-`7VMx#yEg!^cjP1ZPZBB_Al8A%H{4shh_F9fPp?uh^TA+0(sY*OJ*&8fUe}`G<*Px?&YgH;{S1@I0>}qcHiyKdZb(e(hWJu9wN|RaZ;pP^ zrhwr8)Wn4olc>|k!z_fwrOGe;@k+mRP&bpOmOe(!&pN2fjcgh25#0@ZaIco$FUQ_n zPyc7N9A#dn7ni_wn(qH#$Sq|nNaQKj zGUKHGAJp-JOcGyD;wEb@L)+xYRrs5&rStKlo+7`~potoEp61~TC~ob~V|+;-T_ledpiNd!&0~f7H#2NVjx5&LesM*g zynGk2|DiFKYK*^0jJ9dS$W*PVw8#F&_~{4=Xx2b35)-4~F!Dba-I3i8S%H(VntUEX zSUjyVR@sT6A6rd6-N4@z_>;i>@o@=}Q+|@AnMPT{)Wt(4`m!W;PUlGw+Ih6U#;EIS z7Z*C;u|VRilh?gRW^WrVOPfXR)u|!wPKQXDx;;3nwEE@g*>>%FtpBVmbn{oFvcOh$ zq`j!PlU=`jptXE1=Gc7=c5Oq>`m$rAE1AR1@n*ak;_mjO@_w?~8Cwv`{e2?`2bPE2 zjIUusNba~x;j5oFoPI#FYHeU@Pe+KHI|v@`LqnA*S)HI_#;;nR_VG{u7sL#6$FE3b zWv}dW5|1?0^f%Px4rnTW3*+69jCeb=?iP#~9fGB_&;`n2@Atf-L*WYxcPZksyyU#u zyRp?43Nk5s^i}Ug7+3xNjBN!~JIqp@1D5iGjQUIwh5jirH=ti|w{h%h^=u7NiQLNcWc^S4{l#!ARN4 zihj0!SHwzQH?4>wHdtoLx@_c0(8Tbju?*;qQM_MLaBxL!#Z|sg$h!p30djXy`q&K4`yM7@m+zGAu8NvS>* z&aertnEaPCTr`;Y!+ePMhn$#i@da%}XUeY4f3+oBUf1}B&N&T%cJ5hnnUKm&mZhT8 z&_P99a5(`HIulZg?D}na_M)!i_?~_@7f=qIR{^1R)ea@sI-WQpW(c&1S5to01mt0( z_wPf5jIf*)^-PesB1I_VMe5Z!C&7+mChUH8!o%BiC$kel}EUk>A@K6pj0Im_)i>zG;$xkXvU zOJq!JRNLX4we|j(*2eviaKAU4_A4#U{gp(r7xldfq->}CHh*B?joVNu;Tg;a7qKIh zO2}9ykVS#zIFw{%_WQE(nx9ofc8E*La)>Q*Gp7|HI{zdN&(gu)kei=_bvq&_y)@_1 z3SzQ6gqq4t<}P9hpI@4@(yp4v_%dGZt!&1tj8sV38H-bKtek3XdT&s2Ig<9y!Hk!M z=Ts@P=G=RV@OPqETCe+fd~MHlS|q2D-sQ;fst{{G)x|9M%97*UqSb;h6C?m7!KXE8#ZTDHm8K=MR)Js{awp(%V&OE!C#r@w6v#|-II3y&ZM=W z%8i|~8<4U?;YR7e9;e@WSkkl`4W0k1JjW=_<@pSj)2QrE<|WE&etK%G`l@ba{SV0; z*y9DFOs#Q|0BNqWf)3ZF=W@U4|JJA?rOo*VPdLSAxzXAGWBZJihxQqj_W5xF=TAm> z4Cl4||F7J?9W=Ctg?}||{B(HsH2!vNyw&#Qd;Y=g!#WLrC%gJ%R^d3AziyUH)6$Z>1`cTfSQ!Ig0|luQ?@@s}Rt|oS z=nb^e(Twmm>vCFOc%Wdh>qlf=jvoCC-J`fvbJUBzpc7_HG$L!T>Jjgh1KYI6Hn`}u zLZ8GQ9Mk)v_YU={h^LL!%q?5Lg30JDVwLej=1g_cnkt+7@34N4eb9+V;;!pwSIf;@ z1=ZW^>Pe_AMId+wFOdRbe{9g1Rmlw$;{-*Kdqp=)jjotPYcWQ$#TZ$h<4y0CXc>Ku zMI-kjkK-=Wn?RunG~SH$Tu}@rySl6BoEUXu4eHYLBKL+=I&kbJ)^BCuoqRJTkR4DJ z(=&lCCmkjj<7xWDUMRblDGpn#qQ#*Cd(i>J?=SI73#uEYPc3v=gOY`{$)o~>ZXi3~ z&Hq9Txc*ec1eS4vvjhbvAeVi9K&a2fsiB;U)9qQgl07@LoUgcwy7HrQLT`Q+IK{k=h+RLp(?ILFDq7~m=kNyJ4U;nY6Jo*x^HgY8DXrQCN3Jh=6r#9i#oj&~A3E9_frF#j-u4po*oDOJp&U z8tPS;Q}#i6SvLeWI0r^iv18A3Q#>(S?_+W{w_crcYKGPF#_8M5(i+NY$|d#hn8(-uieH_=io!6@jlFzR$<*G>A4%4 zj&MxpboMGr`3Fqu6DnbQU&b|r)>TtIrbU5XdQEo*u@;>bGjBKo5s``0e5t6YcX&5x z!NL9vs`A~w0U2A3Fl%4$O3AKdh=@$QE&fsXcUTUXJC(x?tQGH(0Cdk>A(mv~$RlRS zL`4`Ia$kZ9_MbtX_V1B}G*#?Q5PAQ_go+%(ijw!8CQYGR z^g()PAVbno?W!8s=7cdw=V?lX1=GD zx~-T>W!TmCQaBXXYD^2|6=(f@GGR+}rB+#tJCAKokeSbAhl9vW88Q<%c{*eqq$86( zwV2-~$6CxBU1Mug%=$LEwt5-(v}=qIDml~6C2Y38VR7wUc-md(s~P3b4GOsc}0FS z-&nOAhOk5iP#|Ly{C%o4-y5MevRPGF@K7o@dz-ObgsQ zZ@`W_N}mSsbGXCMzWHYCnb|7vLhz_=F)F8DWk_meAiZ~#gQ*`9H!9H)sCv3W%NDeS z$o6K}b$jls=?)b8l5^GU2m3{!V^NrhyJnb0e8w`yyev5*uo zR~p1b)Vq((&VJe`9kz`f~6B#!9Eki%{y-rNjMeBh&;y6{~sgV+{vS~ z2mb$|{~ZYR^iyMQL36zQwG?7cjW^?`-KK%J)`*4P3)Zp!Tx`L1^I0;RHUD~%eMyui1Jf?n|MrkXT^r;;^^kzSVJ`#4~9> z1|})IWsQP6u!NFmo?gF~Ss@DECWK^QXzJLkj7BJ9Gd2a=;h*U9ykX#ggDXXC$ z80>mNk+-v@x$ZC*Yw8`F%!G)c$T<__s-Jfo#|1)?XaadZ@}lHj#IfuK-B?h+ibBgc z?E@HR?pUGw=of0P()bdJUEAMYG`QamtDf$f3Cb~9nIP_NS1;49SfUI1v5coDp`Ofp z_j3eac#eYiKI{*14TvNxq%ym;x508{T4R+=Ysd^t>=KYdMmL#u&3MTCaH<8Ea6|rDxWH45m6|pR9~Or#)hDo3lzxfeyeDFw!xet=li`&=DtdylX&0z+h=_0I|=o2=4iJP{v^-)s6eVX+0OM4 zyu+G4O$S-BnHJeOg$s$g=Zrx}=alG<%sE*h(MfuRIkyPlw`*kEGT$0rL{a`KkfNmyVPWr?em2bO94Ex`P6v_g?Pfi;aqhp;-t#(6B#bbpe! zdbwSFAgYjg4_P_t8u^jR;%Xi_VIafwZG3XyVWB%lrbFH@`@~*!ekU2-4=&|&+#z1E zu8pI_>_vzBMtNYok|R-a4z(}90!Bp*_HICpbMh~y?AD4pLq&u{uX*wW6WuL&04kO+ z-)1(LLTTlhon-q-4;KM+J|_I)vs`j~$})!I#b0Q|a?(<4nKIUVs1H?x+~+zp)pM$@&cwsS|W$bvPZgw@qi) z0<*wi`i!FG%JFhRSuBSIX0DJ9En!eip~fRTNs*D{pp$u$$sON{o;Ot*c}T?0*~n5> zkbZ|XhszlNxIMzXU|tUj^rsyXNNZkR3X~A5ELUr70`>*VMmBd z({fsbdI`5HnbV2KuA4<)#Y{q|9|yk(SkJFk1mC9NC6y165kS8t ztC=r06$HnME?}NpN3(JXo?``k|6u&tzCVP&ulVI)Yn`hjD;;Hd$HL6IhouW=g_BSg z{|}}CnxzMsPGWuZcZ=of4GzK9Jx)Yfq|bdxF6M~87gZ5FNvK041_)Q>@xMIVg0@6V|E zS{m6(xyj;Cl4v%qXG(eW;Rdz}A^Jm%oiq7{*@tTcj_Pvuwh(2&+{wr!N&GGm{cA9C zrmv{nIeK1M3HM->FDG>;pQgWvtcwDwlPfS}m^=R~saep-+3VKF<8dcnZ{mF**H)~H ztE$L$EPgW7B#}Rh$hKk6h-25wE*22f+0S^hl)~AVaNEVP2^n{eoCYSn@*dgps>sA- zFa@xoEnmenQ=jP$5o5XcDFO6K@fGL~eC`ELkpU+|%kL zuPeO6&}Q$}yx#Yz(#!263yEsi{93IiSd`4nkBRRCsl5kQXspGK}jPLEy^=1cZB#PB6Mclr_} zyKJId@S^v-43T?kIxC_V5$rbMhJ`}+;xC}v?eQ+=gG%^=BCjNA0WkUI1Q}neGOinj zyv`(&%t^R_czVB!pKd* zdyhUEsYiDlZ)gDw$?2Ple^O68N8-7md&ud#oADD)RGgVBq+u9Ct5J5)$Soq?AYpsE zpoBU;cB?YIf#i`RV7jx;Bg0dv&WP<$mQxSY+0=?JpvZELW+(lsPuR`vz zo+ZVkUaOURMu0$YeA|uue=l{ zbq#T3&9T15zSgc-6cX*p`bq$f^o}o$j%z(g!e;%JUa-`utiXvjIM!^zD3?(n zq)Mcc8>2K*hJ?(Et}6eaF7$cZ#t>KQ=?qDSRWcfrJqWOh_`2vP?bk4==a zg^^>XAUBdbXpI2y-YO}B34A7sL{2WNJGtqLX|i5qsW|@;;R@>rg%o-0lgd* zABW2X@8Hz(DIvD_O~M#1D`)<-*J5p4^2}KN`cTe>vP;aY^#m=4w~9posdvdxwvKTx zg-|J3`vr0lhGLxV*OD1R}+JVGRFFdP~og3%wbk) z42B_)rCAPvtUOQ-fhx^$2(5rgP#}Y2aVe6-ZO-e5FbX<2ZCy53G&G>Xl%()hIC?lNcESY5f0u-{_mYNJvlXL}1pomOG`V-nW)UDCxGNoTq`O#5p z{CLT2qcnrjks3x#eyw@uBh683SYq(FcyOD(0N+f5Zxp*lL(V9XE?S}y)V1^pEUz5v ziI(F)4K-BvrS=ns8(K?RbA#hG7t*@Ms*mUts&%}ekK;Aukw13@sk)kUt*EOi>Y4ir zOs*{mFZ)#3PjDR?qDBeJsdkfWs%2+wS=M%$frkeb!9V;_88QQl zp~&s|2|}KW*1l41hBz3QE{HId1b-OCi@eZe5N8JB{s$t>xYqwboU5`H`yafyT@mbL z@H3~7G>l`{Rhz^#ajixf(_F5tgL{P5uDXEm(s?2GvZSJ%n^WzoJicW@r*a@! zZz%t)z8jdlgFg_PoRT591xa4;A41p=M1y2(>+Wm5(?iVvg_=nqd1{-m&LiV|$IGP{ zSIUh0IJuc;g51nArO16EtAeOS*txP~ROG&tH4j%NcW~MZ=}n*dLSWcZ*9|E$O|FeK z(9^~mh-qVu9RC`?gf1+@aWMt?W+YmwgC$y_EcO4?P+_$bPmlurA$ zs|fWkS=tHZw7SPW@e5P{3)#H68*K~C+B2Evr%jDAX|Lof&QY=EcQOd!YvdvD)=NL+ zJ-Pt#ahf8BC=D47Ezg(@bZ_OShMY_L2`cnep6bbNcvMej;t5F*nlrE1m^of6Qy1vs ze2}!Rkp0pA)@bc@z5A&ycE!xX`Y3V(H8}MLub1br`&Oz!(zi-NoI$+pjU^$ifNU8M zdUue}O}pW0Ooa-mV=)!#$G;?1X)T~)!WSl&I=?5}a|zHIh9Y zZSZs=(r;29ayl5JM|)PWmZW19D`ZHoJt6wxX3eLwBzHPB!BuL}6>L+he&0!1RCcgA z-e^~EA??7v2ZFEsr5)C5SF)ePuHNqRlRV8BAo*iyr)CU5AB7nfyG*39{#cswp33-S zHOz9Xb#T2+q)MABD#(#V)C#0e{~~$XR)c-XJ9}F}_9xyXo9XZCYG@_F2>|PutA#5) z-a`7l=5_da?qa9}R7ikh4ae_2B>|YB&N3j`Kh`8f7Y{(e0`p$|#L!SEcj8-bGeWZV@(AE)i9dOx>1qYl7ClWZ13s zg_w%ZqMp0~8&%=b6I_SxB(o#QEYc*40<4Q)0Uy^L&1QfofO#^(S?K(zW^pR*&&4cG zntoFZUtek2-iJ(^%CQaR!I+rR&FEDdFsv(sV>Ehy*P8bSB-qUeu0>i8#89=M6{4@MfU#l!EUa1+m^j;VBbxbP`PtNd?GR_soOo? zZMWl;!Pp-t&#T&W-fO>0_5HmjIjx{-n_cyqhFcrqMT}bCTyRs?n^n<=papq~t{m8R z1hh;$le{jLyh=96_$6`YZq4N?gKPx-&}=h}j8(Hqrr^k~?3g_ib;bMsz@##GH0E*A z^ec@eSP1XvGt1!>ZIB*i3r7Y_OI)(xqQP8{%ft^$7j1c+L|(D#x>%|!hqUdg%X^2+ zBJ5vRl>Q8dZ-26XLinH9>9NJUZY)A_q2CIZ@u87ua|O~02S`9k@csmNK;W4MUY!8% zDezPSza{~mA@J>QOT`AhLOSWr*-(RpMfFFEi+QxA?|DSG!;M0mZpDL{{8I}r6Q3sj zsoa>CSPirOs2WZ7CV$jXQm#YWCWBDYxP51ULD$UPF`d$7r|gshH{-gCMbS>p?%fh9 z*&g2|G?LBPBiWoSOPL|JfNe}2P?ufAw3*o;{Gu*eB9{f&l~RP7--{5-y-|fyxE&Cm zLe|mZv0PkTy%UrGu`9lm#^VG$oCqs2>=a?p_97%-00J#0>-%ngr&POMHESPh+3!RW zV`LWg`CV#Z&hH@eZ{TDPy6(2xrMs;*hYsxCLdLg)e3-MTaG7^NQJH8|(v^^&bHIZ{fa>U?uzVzjrou49v%>n-@(tGyZPy2T??6Z>cC%z~6ooI6Xi?EP#I4YXDd% z!*1(xsX#Zlh^TRvJT)?rC9(bA_Nou z&sw2aE{3sM$;#SI=N%|}C}@kj*-TDTHIf^ccbQ1;T}Y#mT<+@O8dKd!U)X0PH6;S| zZ-O};*sa4pdf9weq;eem2zm9BwUy=`U&eo)tV)(nP{Bu&d&u!%&!d7sA7YZtDzR;F z?f1Xgv#yR|>?qlGl{7y1vkDVL2@xsuTZ}z>I)UtW$vAU_wwtqQH@vqkS;pnEjqLv_ zCfTyrp%TjaaeGEQL17WT16j+4(z&HS57!gOaMF>Ky$C)-kEWb^RBMQ>te_7!H;k=N6#I)*5hW%r_aL0s`BEc$lj?^^8FKe1)z(4#N;r1! z34^_*4E-qs;tfap9>upZt{)p3tx1>40fV%$IHiu2L0Ge8^DBS(PGf2B#!{z8D)ywk zsK@&kO8aii&sjBfKtyI%ME|!JB4@d4y@kXxz^MEoxpI9p+UQt~(f~ExG%UB^0%;L; z{Wo!?Zcf}x=4~-kJ1y8R#DT1r>FV3?+#JU!kDNQM<^%z4Vf}kR34)HWf#Az4MK5rs9)c7Yu^V56D4Bf_96+!Oz+T7Y54x0Rg zklLtQLal7cA8b>fg`^L#m+eJq@8Hb0>(?Z=pg`tMW%N`L{I?9H$_|umI@L#XVLz`w zEI+LUBcbctVi{&!HVR@G-_rMCRM+JYgxUBnHl2dI0;Hv!YPyDLL%V)e?qXTSSWbs)uAvJE)(D80(^^#Nv$5Wkd zGEMU{J!8pZlF<@P(w4nD~tgRQw4AR$fpWXb@TxUc9=Pr#H+u>&I zs)BFRY+%OEMEOx8%4FV!%;luhW1{qOn(R6K8Cg-&eUK_zp+Az~=<9rTE9Do^2z6+I zVSX#tZEvd?2KKg=^6PCk^>`ETBzvwb{YfKumZ0qSTaVrYqw;3w_bleDD8gxntP>l7HpY`bn|3$=-0ssnLAY@zv8Ip01WW1x$iLhc9z%Rv{ zc1kEbveOGFPbxp}5ZUV4km3%gj^4PV)Hyxc6!Iwy&wOWjY47Ew zPR15Y2Io!AkcU$`xP?&n~BSqR+fBn`{DM(Wkf4eWx0cK2jeoHm5H+4V%%cfQMjXU$KsB~ z9fvy(cLMGN+$nl$D!Q7_DRxypWLDf*%$&|;QY|Ho!bqNjgu=)rKzPf#NJ<)!rtx~~ z2_i^8H`&XABK)lb`-**Ghi{V>$N4j)o1=G|JJ|k{F_zn`Q7rJrK7AiJUut?gi%74) zd1+K7Z_}#sN18Qo@30oF2<)5n!?~K-?YapGf^#yd1J{_wg@v#U4?L84Bi$B!ItuQt z&5Wl^;exl5m@4b+tz9W9pqJ$8rp**6M-{o}M{-9NI&ZV( zhkH$AE}NOB9c9;`cJu}Iy8EG??!bHL)!ota-26{ZV;(#p{|a-wL^s*rm`^rB)C9t_a6j?kbCY0sgORnb+nr>yfF zD=LlD`ibAdlGh4yJ`+kqigyM%Z}lb6e(4bp9lFWcb`pDi|{BM_0@<4VNdY z5u-xFu3_t8(t1OdA$;r;l7$N)AIPpUW--GoN^(TOTQP&`F!G6nzSq@du{8180-R@grPX-!ld%;$U_%FQ#q(5 zsqABCBWHBqVWyHuZrTpf6r_JERQ+=Kxirje0$|h1v84J6e<6!@B6|KL7fBj{w$Agi zkX+)tzK1x@8{PqgwmvN^;w=k~fy)A5Gjn3jjyeW9x(ifiNVPXe^-gM#l5vh+L$!zS z4v)iRCL8n5O9ryTx_lV3?aW@-)gcU`>}~lu-`e4gL>cCGk@hY}2~!$GgnOfkk>4rD zWxvcst6yItZRbhfwK_MNQU#07OS-W&x)Ll?SNO=ZYb@E2>!#d?vEC~@#jnm1&J(g~ zz?t^@;C->^KHbld@?N2nzk$nS1WA)3nRcO}M(FtodUgsuXZrM{3U^;%8l=jmZF=28rweu2Ehg4nWySRlqlwn~3KhGSUS!G9Fw$(udPubP zbxl&s8H==oVL?vteva0UR2kFh0ZDUAJWZXXIa|}nJ|Joo{hVdo;`tuWV?^Zay3Un54=lT+a_2#z@TBCjA%v1@ z;+9bFUD<2%ou0Rogvn>`_9s}0@Eof~zFn&fXY^&@ksj{Pe8}1npWWCEi{jLgG4!-P zOxQd{tWc(wSqEhcGHnbJ89V1Wxc?9J{{i%%q(hv8#PExrK)*>Z_6}cI74I ztSZZ~>*t(V@!!0pncvG1?dc$FRD|EK8dLJsUK5sM7{+mOM{jZqh>{w%(Vau)EnFCVsot=f6qB=LFwt{~e7S$aagi{Nns|zKye&uDyP+ zly0>!wz`1@@iK03@8n#|`=l|@kkqnX%|kMUq5l5tVo{O~b_g#@2{-jsDP?5+f;9GB zJWY7(YsUYu_@5}9=j@2Q+m0SLcsKfUxX2Z)CF4F(#o@dtJBUTE-q2}uWB5|;X?Z^s z?!SSole{Hb`N2tqE*T6Uo2~WMNKH0qr#FV0Vr5*uWy8k2!HZHo-C-jAGVNMppG2s4 zIx$Cc{rri1sQ5Hno$<<_Uwc}g)$FHqc9r$^=ECy3lh_{?!lRzPRg13opy@> zSE|#M<9K=Lj0N~|^18!Gtx>a|&0A!8t73^tUe|(Tkoa@De^oY8AXk~(FK1u%`HIgv z1xIr`T))%08gPa>l3RB_$76wzqgVO86!B2LOc8ypD+|?Jpc8m4M1I1G(Zn0wY&#|V{!02;zkP_jYeR5 zph0|r9hL8tpeU|oNWKv#ozL#bD>Sh4ipew-zz|gc%|ncG8q(hYRY!Tx?Om8#M3^@- zmTkRno~R~In$GyFo%!KE=`rX{(vY^(;q;;*yIgzPf%7p`RVdNK0`Q4I}no_!fU-CC;PV<|Y-?os6G3Lp(ZgS;gCambySf6wV zL|q_6-Cy5N{CW6G=d~sk}2I^e5WB&Y}g(lSE9$q`N~haZZHf(UDiR*=3BEu$)0H<(s+pl(hop&9&o~ zwsv!>_lU%j==XIjpN@|+0*ZRA+=^lyCw_O(axo|^n3>w>-JqFRT{I*kRU>n*FJ-x8 zRCZ7(x(Xc=DG>73mc0gZmM4|1^d@i}QM0uhu<8%NKl9_pCpd88pp2s6okO$39MYs%l@9O4rCPo zV8N~8z+VZOCVpXac`xr>GzuK}10W-60~C;UiAi>;IEb3}5wkO`=|Ytd5pwRxdRkoG z86pN}NG`-FbY2TNug^{rm)pc;!4Mw6&*O5nXG+blEz3uH zUsbv5is{oTcl|+n6!v5O6J1%ktAxk#@VFU=OD=Bkjv(C6$4ZXAA{S2{o6K?CH9vSy zzOb7|jV9PN|HOiI*7FSIf>cab*BVcJs`kk|rWI06_jDnkgy){dg3Q~tn9*6YKEaoE zp%}Ps@MKA8*WZz}iP2WwC{!C3b^-ac{>=>ph*P~|`pMMarJyFG(dr!Bf;U|dl&q_m z+9`UFeFuhggTvHy$vPRRh3KQUV;FkB`iA+vz&5cF-QW$9xa30)>m7^1F@Z0;W@RT4 znn0r(m+yJ4P#8+?QAC&?nQ;Tp5aQFYE>~%IM;)bMjwIU$4dV&-YPh!~B4_>Gz?E&t z9E0pHZOG2q53*wg+1Vg-1KlMm?^a3Tc!B=TmtFH?KP}MLn2qd2@{TqIx|uLJ6%)=s zFga2~t9AqHiQyOQCsY9(-K~xm>^VukkAmG!xcAgoLd!gf>IRQ$N6X<#%Pd1nsl_CZlH;a+zrS}gm=Bll?; z|BH#|V?4@WJh~0z8wBnP<9`VEUg0{c#V3HVb(kA?qz&CGqRd?DRdtkQ75hOqR?yun z=(vzmHg}7@PMEzwb@e#A-2}u9(q>+Go+;&d+W%(skSyHbjvQKNg=s2B*Ajd^!8)Vh zJx*+5%z>;(PZhbZu;F|b9ARiavW@1~!~om}Q=cH*YyJ|NEn%wkRBqt!Z5UTD`hW{7 z)ln|ov>%L@3dVB5C`XZXKa(36)`oGS!8oZ6W3T;SOcjhL2*$$%qih7{o(c?7ztouq z<8f^m*NOGIk5bnX?ydQP?mjCk4o9RS_tG1=f&1FfFB1jkTFcc@7EIm` z`ilkqM9?ojLL4xkYwBpJXYL2%6@qc9V3eImksr0ik7&bqqrrGn z8^+W2gV7d@CksZod@u5E#n`D0<4Fc%uQrSu#MIkIsh1M&t>4O>J^09^xQ;E}IufY=~r4N#|l<%GrGnAVF-#BO#2lfdX#!u)~Cvb)t$mR+zPa!wU; z3L!@hG|~s&ph=UXSm&JnP-`bQwb>dCxQiNU90399_t)edswHq=Z2BAF-ZT0HMDQ;XmwVYqWxu?H*Nrjbnh%h9w^81L zXN7I}>W&94JMBV9BFBha|PKU=Tb^sC5Hkzb?6rezUd34eY>*^NV+kDPH%s z;;m6*aPP%?hH&pS&(uPylyHag?7=pqO=qdFG^?XLo4OyQV+84BkS_kUVEj&X#BbX$ zmKluYZ5U7955|K8V^6{OE5Z1PV*Cl~%P;ux2IC2B7}u+zw)cWBCfs{-3mA_TjKdY< z<82sQ7){Vb)~KVUp0yv0rGjxL7)79a2-3%?WH<1;Hl#Njq*L3FX72~-p@Q@jkVex! zBh}(G!TV3u5Msyr#XrH|&1%E@t{8y(5bGBR_ul%9;&&H}BNXEkZ5Y>xYI3c$>S*z6 z_Ji?i!FUT8=|eDj4@-_5z#Wcm;NmuIQY;_|Qo}|cCO4(8@M4y2l_t)ZXR!56FU(CmSFmMXt z-tC`4SxKNwP0ip{IGh%nej6`xTLPm)dIpTrAu*txE6AO`=McdAef-LwU0aYe+j0qN zDxf&=QqmI=ceEy9U>{R3@(6OQi1O%dOu_K*?LDeJBiMg_nGTV}u4SvEWl}qKA7y%& z#9sX;Qfm*Y9T_}X632&LS$x?wN1iBz1|~}khC6@%cg$``?y>6(%7*moJNNln`BK6V zr|IQxCRLbubmX@YDMJGMNsY*a&I;9$v&>jTXTkY~%66YQgDE;vbU;G?QC zh6~sYb`@}~RiIyi-KPsMt&4nhdX6mJ_Ivk6A5zEY3p6NqN=(N86i#M^$8D!%66dfP@<$ zfrubcq6R@slxUjJk|qswBq$094x-FNBQrY6KnGB^KqrLjHHZpsqvO7fGoy|O8PqHU z(!n)=B8m%cc-t05QHX%_|GuYg-|nD-|Mz@f9_XrD%c)aUr%s(ZRdq@d=9R$-&6Wi< zzAO?E}Wx!*= zu0_1L?IVt65ZjUkN(F#>VGoM%2%f#gr@zM9Oc&05Dd=of)(r6%V;J9>HB z&4YhIUqYb_sjV1^Cgm3=04DIIV(&VN|Mu6w|0w zB`L;HDMf|qWU@O9anEXiQ_hmcJyjfO+;=Gp9-{%)A>Q2jp|GcKM5MHf%4)9kj zf4V?)6F$cLrSg?`f;cH@bdDbLXCu&Xc4pL3WB!f72>Z1$ujWQI=4&O9`)P6VzM>O1 z=G7*^$mH5VXjlyVpwo*K@F#?B#|qlW3qb_5nxvcLb!y^BlWe4Xc#I}_4Dn|D2ht=t z%vLjo*0|1sSF2u>32sjcultzh9iMsx{T6U0Bd$Z}dI+dS-d|&7-!X`IJMR=n%Jv}-}@q{?2yY&CfMslfR>yju0XekdC%?1Va+(K83DvTsFPQfMzl&b;p++FAAPC51YB ziz8*fPJ#0n_5K&)&EQVLd74RaZ=RWLHZd4qTJ@BZg-tAG3b2VMAC`$DnJMjwBZ*(S zd*7MN&=naJ5uLv%XhwzELm9%TkwAN{Q~6+99*c z2<9d8haGAZtF4_0DfYPH0G>;pUMQ{n-9S{+m3JQ;Es&OhFjwB={8-kBA9~($CeZVA zI1%S-_zm4F)13*4%OZpnCc!ycafA?>D5D*N5FSOmS@)g{fU}uR@r1$fYSnl4Vs~~9 z?ZYf(kbDsC=Vw@p z8N>ZNyqGipD^A)GuW@1iC>$W^V~p&pI~yd_Sp_FJGN0T@L>9*pUupVd5|^?BPKi;N zTwLS8+dwT^;9Zd+(oaEoFz7lCH(XsUIQFJ3{X32~`V0q(C>+W+8miLK559q0e1V@5 zwW^a&L}xgQ2vkoW%mSSw@ykD;y`k}|{)w$y+G?g;9eV#Wc58a8NNu9HfyD#E*}`wV zCv-QM$cpedWyl9+wtgF@r=wLfe%!1J^~2`N(J`XQF()y)GuV;R*EAS;Qvuu}#){L~ zV9q7t2$7t}l8-@*y%2Baz6&DBB#}HXtKjy^B0w}IJIarN+O)jo`JRU8ehhB~7-FwnoNWVCsCk0d(YBTa7@&`A0?_#bQrm*e_XZbPcQK=~PMNP826^B%NQIr+HRS=IQ&hta&;l zt5grbJ|jmHD{!b)D@v6q4t@W@bj+=RGD z3GjFiqAlJrN34ZMDg>_*M;c1x%VRXu4-mdg4G2R1p}2-~xy)=glpkMO zwHIRq9TsE?G}O2EaCy_62^0HW2q)-Fz%Oon#+GQ-rpjta$41^=$Y{0UOQ*0D=gZ;< zihm>2W1x5m;?3)~N*j)nw0Wc9RE(Ift!m&3p)&@EwyG(2Yv(4@yO^4@VTi{No{K^% zVdW-dsn0HEq54?~h{gFNh*11f>a!9=iTX@GYaqN@S@||(T3iODAUy*Cb9%}4x!e^nuf0p;S0BO^2b}{S$~vDp*GhU& z%_$O?aweUlIp`<^8qWTVI*NmS)*oTV3!pmP#Z zQ=kYvB7Ei`Br~hO`V)@f%oIoZ>m5pP$LOyY5pTA>CA8^bHr4nSz^hgF>dsDa-cHeP zZDHc_PQHk`H^HdXu*NfY{z}-^)@Io_E0uHi#6<`-iRs)fstV2#i*9q$;es$FORq zGLDcI8y7@HF7j9R3rk(pJN!T=qK%R zn>f-g-s519MGQs=1`yCVWOytAcIHlCM%c)}V670X1586f8?jvcV?`UWQv6CAaS#0Q z+6V{w(jI`7i*dq%*KzKGu{2vkraA)Z%cRw4dtQ{V3bM2jQjl6ERc1*^_>hGZiwfn4 zrs@XBomS)D*;lH*N*t+rF(uSvH2y%uo8C9jiRm{ZS1rWagvf@#!6a>z^BM%`>81R2 zUe3rf(JG;bg<<^!;mj)ZWJG~t`->xmzD*(S7=^Auy!qDa(&L59rU=UouU1`-eeUK? z$svavinu*i&f1ftoOR+zIoBVjoD!CEttw{+v#E04fmf@30n4f8PF+LyA0`D4jFoed zD(B)@IgaC$^Z98gCxXMZU}H05<@{C3sg`oOgoa8vjYw*>+wMM6pD)Fc`rMDmW3}4? zmUB1CsXdK7(OWbJH^v~YQV>_iAYOPJh-VVwD24f2W>YQn0=!!FWjN;F+$kk=Gn8KI z!yweqVyVN=kh!cnoT^G35G!$qh;F|v+|(l8-1aKl{6!`;+!rvjEj#2((H?LY%mM~e zKz4XxCFcwZz={1dDNFWtl+K!aJ8Mtuk$}M_(<*fgp-Um98hI0t-@V5+pw*GO5I6{Fg99w+I_ zT=AGbB?9Nu$Zui#W(Es$z9o)eT1nu?!1QXwn~OJ-{MP3mrviot0{0^d<*%d`{+l{hR=scO9K0&xukB$mxrx?(e5qYe7+)tqE zT38QJ;kXTEIIjA}d<>TlER7KkMUYI?-d_VM3+n;k+15U$*cPz%F=1XH;_L$Cg3fup zdnBY-4YY#|lqRxmdaN$PkOF;DAdd9OUW$ds=#y5&o8cf2JDH9@6A$+*2$Ct6Cwa^p zVcrYVZ6vZ7;{4ps=36s3<@zrtoiXo?bF68iZja0n6#93r;5cC0h|vF%{Y#-#}(EJEMlRrxT(s5I;d+ zwEq>vPBDltQ_4CzVvG|f#h zFF-=2}m+H$^zDUsAwLGr& z+Op27(p{M4i@zOR>1^yV#x3bqF|Xk+2P#xlUkFs=V&|yX$r5`)XmI=3DJs?_u_>W$ z?PG_j*pm>8#m09yOb`dSpNc%voyB$yZEGJJsTQPmNo=Rki|u1SQL!5&woB;l_OVSW z_A!Y~4&8)U)NeIDLkFPk7aYugfL=mvP}=G(16yHaf!gY!VNF}xA+iAvs(6<3<-|<| z6SIac2qX7_RQ6Y1n>cAl0ypO;m5&W|=e>{#88wa`G%_>?Uo|t6pc6JT!D6Tw=8Y`g z=loMK-__0gAG6nV?F4{N(5t6BYXJmzA9|p*1B~WWHNb>{R&@}ROj8g0c}J=*jAb}0 zCF%TRV|FH9f%6RfxoUs;QeUu$G>{NpUEjv@xMMI(SZH{Ks^&VhvYhM)Jqc!^!X8~F zZA*BeZ?JAsp*1S>28LdZRi=chMgJ@nHGxqZZQ|k1nmJiTeGr^sm_O)<7<#c&?@OL z53<2~K3wC48Rv+3xC+%`>osYWGl2n`v5s;9Kb4CL+Um%9n+yaGp0-zguCBl`HhxFe2_+?{yapf99?p)fXA z`8_OPu%3KODIr*xPls`VLy0wxF0hz#M0egp5cl|uOOu-&Nl2YORbV==P@rLhHN9NC zg~`ocoa6-xF8R(Irc$64$D`%a!w{de${%*)4D^aIC^&E^NvnES1kp5Xx;W2f@(vWh zoXPN-gBs+@)!`J@=d6DtH*9HDLBuXo_r3M^Ln)AHg3j-ef`7r0axp&C1EF!`GyoNZK6?eLBir%uiJ428O!9>v*cW11yn+7GjB` zN)qb)pGtQh(|r$CuV6l^LMs_M%qGkl6?y|hFToMaI54wR)C5L70G6S^T%khU3_T?j z4IQmQ&tT}Cc4&?Y?at6AI83rN4A%S5px_FRc4dRQSBaDIfH>(FL0An9gLXvWAtUOm zrP3I$Aw}ptyE<>H&=(nc2SO_rCT8Ioa#RdJA0)JzG2NicyC2@DF0UJU$Nam>xB%hn z8BljBZ}&QhYQT97Lc4`FLqPN>fD!Z*0A8d3_5i@KaRAxj=7kF2AOd7ST`mExVQ9da zhR`0Nc>rkL(u}KEca`z`6HtX~pcYXLd}xVO_XCDfe-@Wvmx^j+)ZN&~h>O~!qMl&X zjnUqfH=)dbswjg|*OK>4XD_7HVMxF3H_1DX9B zD9q7Z{ZSU$pSsk(@J8ETsPiO+&fzX-E(X-`Y_?e?q0Ze1g;q8Riddee_?Vx%yA@6p zhLFU&6;ezs!j(Q&@)_*fpHMCG>k9tekZLcl;D2GbeQO^n}W{94ST#)@)>&I z7*BiZn2FqDfYh5HYqIw24%0lrhZiXk2P{fO$+(((;n z%E^#>!xUe2jD}DVCiOT9|7?+f*oX|F9ykPm8YW$U27p%OL#^_9P9c$|ih>KmutpF) zh~@rAC(Jdl55W@{$2%zHgDjL`9_AK0=hIDE)%GKNZ{p8@k>I~V8D+c&V+R6xM-m`) zpU&Zkm6;`4=fC*P=KfAF&4G>);H_j|>5)Lg`Ej;k_WFnW^mlQgc*JksOg;j8GRQxI z`PUjv`BK*x5NM65Le{=RzlRZGkEzgMOt+xep+K}>mAt zf$zIEXcxma!ydd9t~;k83fAp+Y7b&B(C>{K+D#qM)RuXs--UpA3KWWbg$*y&jkWr# z4&Y%*v{*OmYB{on6TXLLJVvjDz5`co?m%`EdI;VM_ZXm(;J;FFh+T?9e9qnx4$(&; zO6l|egh%v1!`*#*lt*|WRJOPGP}^`~VS>EDBX8}96|pB#11lAc^yTgsK59NB6q7y> z2r0uJc*@b)6JKHtBLK^gH@u7|KHB|(-8_#Jwvn-yB{^oD^hfB^)0-gOfk{>3ON@-& z4Nsg&3d|Z0BLxg#%|gTkBV{%mF@5zkIvn#6j9;+#KyYwZ5?IqnrV_*~kGQ!1b<=#x-0l^|=eoL9%p&1_xfxcNVT9RtlSs9V!it(I7-EDhY zm(7jZ+v_B zW--L{W5@;U;`$?MzwIddV$!@9P{dKq8?`SsC>r!j`(nJc{u@oWgBUg-9`?n=zlMI; z7lV9}5W&>!B(3gQP_)K2uG`Y0OK79 zUd%8tfOBOVk#mkf0K&>&uhVsmw~uELh4EGsZaUJUGSrw@}X+Dd#W7_5%AboqpCyaN^ioRIamF=6U}Y_~oV;zqHskx$H1ytp;Xk1huN2<-H(N zRsAgWSq6s&YlyUNmgw$<5M8|k+jQsklwswf-$h7com4s>UYLaLy0<&5)-?FX&}Pvx zG;-k33EGPL#M4!)!E>84e$?r0gVxd%vt zi@$*M=#n*uyC;OklQ!`#3jB&%P6k~d@<9ZcpF&*{x?EDE%t5B3P22Q93E{_;X`6pg zlr-EIBN;8*WMXQmOFoeThj|^6g=Ucojg+$qCT4C_tbM%pH^fhs`1HvNOfr&1t$hq; z_Th-eiNZA8uN*8%QuctEib#c0PeG7b2{53ipAZgu+6^a4PoKgcdIl9Ua{vqLP#xgq zsdY0V`wn>zF%y)0GiM8o7Zr?0;$ZxPFs^0e7aaK~Z>KXvC#hzFW?F&W-_gabA~V;KoDZf`~a z@D3FMT_n2^p9n{n{Y_<<1t;`|)Wtmnesf8*6!UI&3=H7avY+D&#OUTAXAwkL(c?P+ zw2uYU=y&+1?g_^H9GE!kV-(?>xkCzZeu!YqP(+GX6iS_6BS7AnGu&I~g+39ojTYDi zg#pYyL+bdHqE`fBM_aM}wzl+5C~b_{gQ13>?i={7FA%}W@+^iq?`3{H{T3GCT!ml$ zwL4kfEp#60r%vK_!0-XaGnmOZYZ9Djr(Obos1JCr-o{M|Z_Ug|xVzZ0ifn*YEK4=* zb$!3!D`>`hB6VPXPEz@ZP&v`CHzqRhWo=Aci${FoHzrE(4g#|7Aooq=QNiu-jnaSc z9C+K?p)_Mu)#r;{Ad&{gV_U%(i@k@9o`HvPYX8CL-h;KtQNBiPK@7#Ec-ew@%$Shn zS#mfr)6(R7wQ;-fNLk&PXbemWRac?y$CZ9FuJm*Bp_xY_K?GwX1Lp7C9u#L@|JNfC zu(%R4fXG0;Lp3g92Ow4@Ht%6|jD9Ct=z(!`gcna7s2zgDZ_V8TMR#^Xxc@Pv-E#os z;Edo`FY0SJ_rn7N=#U(HjpAFl4+1IA%V;nX2OW}xH*v2ga2N)eT9DdzkJ7t4ALU1B z`Wia8lwc{_``s$vJZqNzJcLNC@@tG@ZABS?0SHv=Xa9r-Ds?Vkx(?VQ(w%>V*ZctL zZT3I>csF$p<{wjS_=tRR_^jyPC)FD`B7Yh)cR zNiJMIG-;IUiv_{J5v2M%Qbn4z%5UMq8hiw-DfA6kwyiqf2`rUbdiIY*q~As)L2GXk zCw+GU)E3>4=5YNGNF4uD$6!C&_eA-rNIM;KeP}ZXHRya8>G>BdQp*2(QOM!?qIP+- zs{5$VGx}vR-|fhUo|}k_zo!mxA9`DHg-oRNtVuL8gx30k-5G{E58J!Z-qwO z4D9 zWBLHel9RFg{H3kX*mA9GC6{UtxL{w|qyNB1h}&4wj$*dL^;x@Em@lw68O(Tl`B+*P zv`~`b`~OPu`_0XNJ`yR`r(tauZwHvBN@1@Qn~JDzc9XdcsW7B}U-_w0J|1p}FF)0M zaJp0V0 z;=MBEHtDTVl?I;1Seya+Kcw$12OirY7P&Z-u>U=^$^2$U{A!g;)VTG7z721kXJQs{d!EtDD^$z@b!ZsI*QJiv&cW8 zH!jBGbivB31Z3hL{mGf|K%`mEpHaDJd$s;wa*zS#u**LRH_BEp3-s|98pC(-sgso^ zvvY-}Aox!$b_EG8mEiCDBP* zoN|1YEpcCg^pV9Fqa`(2FS1*-$}0R8*WlEEc@umaI4N8PS^gLv67oSOnEA zNu&tZ#>CC0TQd^xi#t0aPnq5mq6FB>bxCFVbveyNnF;3ZYsg_fHZMZU|6)ac^hggO zv1&~Gsw&hBeuafdyoGXy$b8Pccc0Dto@EZcC; z7MA>xdBRAx>&LVnRsmuu(LuKs%S$~96SnW9+&%J|OE*?P+I*vkQfZU zbqf2zc|v#dQ_aE3lVJ{^2UR`^E;4`pP4|Qa(5<<*!NU%nIxUodDC!yNu|B|gGNO<5 zPO49dY1q+925-VX0}&n%wuBcK;el!EiC~KQ_)L1Tkwg?m!NTcG87#b-4x+QgemUXu zZOOpbNG^{La4(B{j9iJ(S4bbAdwIl?TUdXVPRan1nNyo4sJFT&l}T-A@_4U$$ljvI z+=j5zXN&(49Sh$narhFc=}~-VMDd*&#dqGZ z@NI*t(CTc#chT>~w|?Gn@HMLMk->0C{}HrT?Aq%eRaXt@(RZ{K#g}~C7V;VAqLD5{ zp@E;1{CxsHC;G?h&qxXFDJSp}1C#up8tI>Z(Ve_eckYCzOuw@N5x<(p8c$_`mzX3{ z{)CZU@}ZTt2%a!r=;8hW=*J{I@5R6-KNPyI+6rk*f5)Fu7N}o}>cFiS-_AewIEgEHd_KUEE7s)ia7MUd-JvV)>jj(l(f-f$PL zT9j$=0+Nmf3@(#)W~}}aV}1IIbc~d?_py9g#@5l+t*d|&ln(f52S$BL0m_eT)>F12kyhUf zTLH2H*47DrcuouI%Rkn=WINQ>F+C#+qN=@+s_z} zc<)wU$~56_+B)%|75Hsbaoic}`HRiI)ySQSDY75jWPK?^!%GZtbx9eT$tqBOHC|yX z1(b{Nr3mgGX%dPvud$NGYSpPhys)lrdyx7@Myc=C$q0_+15Ho0$cegQ??PCoNzV650a(!nTrsn1z!S7f9lJE!C=98vOmixhhcY zh<{>S2c3p~U}!kS@|2NN%!KgO3OQ`$E{^Ttt<_JSZ7)6#oWx%VkreB59OASe(qS9W`E!+elqY zeiHin48@+yVvW4FKZXOn#kxDBSXbI;|KC)bx2ZPYhawDvnT6J!k4lCusA?J}d*@^P zG=`$uzk}DD$Ij?!J_J3v1rqnd06<$O;}mO}GTm|6QJ7o(V|4VnIzdH(l?@j+Sk&qJ z@qkuz)x!Sss51lOU%`@PI)0){mO>YicV6;2P?g>QNIdy>q~3vAO~B%{1+MwkIH{s} zDUVY?FUiz6PL|1|72uhf=AX|)1ecIac#a9r11;Ied{d_Zm&&YN@YX+sAH{GhvrO>| z)2+A&Uh8O~DmK|TWmh9(5ukAmk}GXuyp7~t3iR}63r@(*$i z_&MPR10+`dDeg@lVo?@3J&l^clMxKC4?#3|X`?7x(gf9(F21K&c`_r;w=k!hb#72t z2GXj=$1mk)BfS@ps#}Liras}339{*-rzauIT=)kLUI@h!;nS52n$Lz4EDPxqj4WXu zCpqvO>6IufSYb~&mtd{7yaKrB>0ZR3v$CVBSoSYkrRGxr>Zz(0I-_5N;zl@FaNMty2y(Gbsw_i?)U1OS>Q@sdowE7;$#dx zTzj>P_qus3qLx`SFQlUl$&t-=GI0jZBnqO5dWl=?C>XmKc6Rci(`l2(L@Rw-4_oj=qR<^Av>Q{5_iGiJge| zBvKEN3Fh%F7@giI_0`rbt3akQ*d+{XNJ7oNLCej287;^Cc2w;dq*aV1`=p`-LpmLE z&cH|uI3GJ2t-Eh4$$`kQdZCCd0FFl%tiGoQ4+u+)}uz#`slSki6lJFRvU5yK!t}WWA#^OMu!xL#K4?_VG zY4IRo_m#z^Ev~fN{9Qbe1_UhFyAQAVHRz7p!q~9p6yljIWQ4aeC*iHx3ApUB`Hl+zM_hOphQFf1moZ#AM|XaO zI+>5F@EaITZU#87GQ0-i6>jrAPz!>dMUYnYA?{CrZM%Q^$O4kM)4WFIzj;dxZWq8Z z$Eol?G2DWCAK~U9yk>r4G;9&VSe=ulxSOovG7zfwV_eYroCz&A5Gx;mca|3;0R)sq zy)j(o!w*s!-<$;JtBNwT_YYKfIsX9k%AlG14|1XXYMdw^Xs?n0^yQg|$Hr6co`SQQ zS^)z|$w2tmT$yz@U2suIfmA|3x%LnON{s1HqRdP#G3I3~%m(GYA=6fR9i7rmkxfB| z@YjN~W&$K$35DIW1-px7*Ho)C0fF!6X6c(EZ)nTkV+knrxlDNQM}KW5JV3ObKfclr zSNfJjL?8Jk-U$T@thrT^i_+3pvnJ~~<}-%xI9fMJIR5+a@F`$65GMY7uEyC@f%Az# z7Gu2&apoYnRZ{p$SG`VXcy;u$1b;WrD{O5~(6N#(3jZKgt1nDC&?+-4#xC|d*(wA+ z>!r{n&Ihn@#d2kL1`q#s!~4OwzOtel=%v^gP4$RYbqL__EcR+Neuune4&k^A4+}4^;AiFC2xXCxO?d4auN1Gi zw=3K49UJB&#NKef_hxrUs|!{EHBVqff_57Zlkkz^EO`ax@onr>mG;@<~w8~D1 z04wld|G4H5E)0Wut1$PBD>X+OUH=LGuT}0qu;4a43wu}fkgZ1Qj(=(^9zi(nC5_X+ zEpGg#qbKm?i13Y2E#aN_pM*%anSou2V1r}Pzb?QmHYR?MIuf*YgH}H)N&o)9RtSYd z40kT#s<7{v#^Os;t`y)7A3!<#Slo+}KY*_Wegg4j=+O7Mra~SQ3 z6<9lhg!1MC7a2+@FPIDxsHi{#%228RMx9*d;$3!!-F7iDw}cV+s^Sv+rp=cFse<8kfKYSO`ALF!3>;ME&O zahp&oohQ@b}HR4a62wgV3#=MZeW4l(CQO?fySgVyl6Z+@@o0F$T$rd@!YVhd0}51 z)z#{|dtF->b@b@aqwK@kG^Qq4H0U;M-5SC99`pnZp;V$C9{t_KX5c)qt!&^CVq4!8 z*w%YJNv;+h28qzkL$wt&5dd+(SCf{2{vPVva!qqLOte5s5uqCJ_$n{CBAvMqlal4N9+3)A)C3M zn+NLBe6tW6B45L|*M)0wi*Po!Qq2R1qM zj=n&%Bhtu>i*cMoj4e3dLpR!%HyFt`u;g67ifNgtmY2o-$MWE%Kr-e4fL0~ z-^0YMXfom@1#ZUoCog$AbZRx^Z487{8&;?&X^{v^7v`V7` z%B(4lguC$x$IU2XLYeNJkmUMq@i!h!5@n=Jz+|U8 zUqE2cIS`=u7j#~W81Z?t{B#!%z^Q|^NW|TLKTeJLgN`K#uKyb<&o?i@HphWByQXku3W7_GkVwHPBaFEkvVatop_&IGyM zUzl#>;OI&fsR5Ul0}T!YE(oI}C4E#Q95wv`(^QF(_ahu1hIR({rL0TPl|?8O)4ezA z22_1!k;}U}p?o3^A2=p^T|3Gz#2Ur*kydjWXvBvE85bE{TQ4#kyZE%a;aKi*IdrX( zvvn@!0L(e7@gg2`+|MoC_YqL_6}VpHjhk*&)mHZ%wB@U%ZBou9Mp}J?F?5NvEvi2Q zLF^EH=u*Tuiu9pN*m?yilM$ia`d_enBkviA6c|`Ppb6Kr+wf@m6ddR<@|LQImn5PB zXIz{u@WN`p3(?5Y1weG?tq3#6l*r($rN2P=U#9o6wT1@$O?Hi5n=Dcx7mzd`xO(!ZAe zB^!5Sw%haupDzc0TTiM9wqf zYov_a)IC82QLpPeZN*hciBnnLf~&J;Xf?EX!u9bLS<`V`&7;2sL;|C02IuH4UROxF z?RoUR{u(AqeCaKV_V0HNfY{;CQ}%2G(p6_mvF?A#1o54(ad(o5liTRSyf+Y!4!MOf zy3?S;*gvV*XH{&aioGTp>qV@Qat9-I=d}p+xZYZr3xQ-TQyA{yaAd!rv?$L@+g*zcbAEbm~03&UgtnqnJ+Qf_Rg%B-e2ubZZh_os$Y|$Wy^5a48ApAuHpBJ%D?v)#P6Jq&1O$(SP%GYG|+ z-W2MM<2#W}rmGmcP?uufLN)%43D2t^teeS&bc6ZkXlUS4?r(ysA}8fM7K&E@kAx48j= z5QMJ=SKC5pSMvG-1muEINKp*#LP(ei^;cotx6GYT!2>3({?r51OE&r%cXb-s>`fk@ zNYs%U<={rYGl!B3_ok71Jmyqvwjz?LaZW6Z7HTeRO{5sWrKh&;R&mP;Qd-_ZJI%&v zE5m&W&)<3149%pSc7SMW+Vp#_eNGfFn5E*tRzyUW*4!wH0G=o-n!w z838|=s|!#@(RBOQi{V=ksTH7O7!7SdiLX5*&Ki*L}no- zaA{mh-4OYx>g_igDOgy)XioEo0+swCCdWFI${ryZ!~J6e7nPIAmTokw$9kx{k)$)ISU#N*IK)W|PCCcPxf9$ddYST}+@whGVHt`P#vo#0)XqccO$S z;XMn2cn}?HZQrCD@JGc(&!A2sD28st=z;v4bwel}CpX#W%{X5d<7GUf!pc`bUI4ni z1)e(@4zNB^zQ9Y1OJ8TpOz|3nmm7{-MkW4;HRHI_P2dYyB`!ltfeDPqX(`?X>`H{j z8xEsLcPwSL>0kuHI*}F0s~0?Dq@NDZ;pE5$J-sgrDcxW=mf_IrH->W}WDGR?i&!sv zaYDvOc@#d6Ym-O2c$4lt53!+ZK(;{kFNg@QiE2qL{c1S^&4f`hjb2Xw4_@()qTf{h zT>3vy{(khgD*q>#h|P`4zX^Wo+CyvbO?_M3ek;_pxN^et4u<<0=1=Vp8c>S$9@Z%w zDDZIj1rRbIEPrc$0&qrzzpPS9TXMkk4TFPAL-?0C2ghxv7J{m#3LPPx+;YqkR zrhklh^AHS^t-lBC&xdu+{#+c&Fl$GGXZFMo;-&t$9&fmpV(zN@D2^1hwjPKm7b@#$7CvpC*JX8-I5!OQt_3eoT19eSI%M$m6UpNr@>G)Lk5;j?I z%y8_Tz zeB~U4oys6s1;<32PE~HAiW3ZjV{j0QB}`Y&)qjw$8OpgH5+mYfD#xEDU-L$bvp~A4 zx&j{pwz|^xEw_EQ!pElc1!eCOU)X|wiVptt>L2hMto|2%6$q*vm2ZvhW1C5d)i2v& z4YqHi?Q4OLf5Gb4@vES;+P=4K-wxaNf$iG`AOC{YpDPc1rtSOM_U*NOZSbiw4%=Z8 zfUjURUnu5Zu$r&dC|_6G2ZK9S81K9ABUqgQ=W6ls**yLQt25z4+bs@O^W7~KMlx0D zaD4N3JJ{75cBGon7zIb3b1 z%Y1-4K()6c%HMTX_dq16_8;(}4}|@Z;K7?d-QByOdXjXCAhWOz?M(yj6P^JmpTwVa|+$pZh)%SoloCC9N1f zZ`uG0ncfh(^68^z`1Exou_$MgISKQJ5F6sBAf9x0R6Ngf@f_D)eIL)d@;FxpPSe+C zfKqW`$_(dHwJhg7^o$aHI!+pm$0g~im84{&Z-cL5cXC-k4>?7V{4wI5R4WEX}aeTa`C zlgjwZkB-Me(!xjbyN-^Jb4Eeh|OAp%v@TflsR%fN*mlZokwG$G7Y~e+zM} zw_qUqt+`&)oQ9B_!a4-?USK7g!GI;)AFiZb1a}y7JT^A3t3DJT1 zgZumY;aZ{jIOFHV$3KdAw5KtDC?WJV15BaEr&uBd-=Sj2dsh9XQm z*p%Rj3{EE}fh1kGAF)%X;fb5q5XnHCUm<0iFJbjs*A4c1?ACr7DMC;yp!$gaJL6A^ zkJlOBCmKJW@n^-y|C#Z7u!55O1-KVhHzGd1nDH8>O~%(P*LW~Y~o3&Y>M8-xU|4eY^lEi zJXX0VvMvt|I4MIl;4OCWlM>ul1+(Q;>Xj0lse&J}Q{N=PAWOpjw;lW^3AV`cB|CVm z1P@kSx!DdLD#1Al$h&rMKL#(%w@GB-PD zi>bP<{i6*t7kR?(nbQf(8e|ICm55LW3E#%zv#t+v*aeMb+<71ab2;PAh>ts+aU>D5 zFN%wjr-IpqaoHdfGl6mE$LIUzT*O6$^hg{QeH^Z*AS|5AyaEkc48;{^#_%cRm*1K# z7`r@>jH_q=MqUQJ!yseo3?CFFA0R>?nEkEHoHoN}umI$jd|&W3sPeuq(7rVI@5n?P9&ez*~jl<|B;SE*~Z$_cU!W=~a|6=sPcmnt*qbCgw9K0ID^{`D`cS>-+ z3jU8Byg-62QvA{mzD9zD%MAnm#w0Hp-bv#1(JMGkvN+nycD}PDA2=F$`KxwtF9t81 z$jV(Om77BEQhFy{L2&nqcRIa&#Cvt%;2!|OYt!hqTvls_3clD5ep!OA4;*wN^&jlu z$0c~C3NEvQS4glwa4-$2XW7AXC3s%o;AjLdwu7fj@B%dh+-e6GGkA3c=s;ETK0D@Y ziK(<>p0Z=oC5Edum1nITb0~+D(jy#M1A!(i=yme+VU0<1$F4H^w@=#@MddI>NzF-1Yd$ z$~G}B+fJj33ru7h8E8wPGRTVSFj(JUDxOi1D)9je%C8kzl*pcOS%-xK6g^OD(4KP8E z!46d2ZHTr}ESD4wc8b%O;)(ba6C}k(J4FYkXoyddD=D~0CUKwZ0CB&j?&-v9r0XcDfF%tVTXPpRvZ~bKY(;)DzzlOdp=B>!Qem4Ad zOYoz*HJbpdxVi_3EP|N8#3$f2NHofNF2L&Uv{N5EiD>@zeq!Zw3yRJ+S^M zLjSj&{#B&kr=?c?fHc|==bZ(K3EC~a09dO^Wt*>VLxiG@Iy=*97E(n;0>F+SN^c`h zt9%5-X-n_MFKgE-VJqaT!}^{4s_KJTtZugrs6?=(vEe=?G1PL9pWaGHtEuV0aa8C!Ffs<)Nf$~|DnFQXoFt_JM1eft zPB%%?Q6a)~-6b8BA}ZZTJKb55j!F{7;hw&N&rc*S>66Y z;1CBOMkpEOU0AuTyFPx-dxr^3${7a`tjMg9VOueAo9kfkv@Rde?8bSVam$e241*mZ zJ!0yzkpe=ajyPi>XQ0YO%>5G?)=BZXuVo6Em@2PDiaNud$i@-w1cvRf!(0s8OWdZ| z?Qj~ywlHkE9oC&;|0PaAmN)|uHoiZeiMT4P8_Z`IcT;@adyIP?Vz_x5<8FzMdxdeY zGv92)S@nDXDNxUc5oZ%;Whv$EiwNL_cmN9sU<~8Vi2-;^0hlfTEQ+kWfr(NGU}rpl z0s`P}W!;wuRy}hD!)VH)?t43|C&M0O*w1!YWFW$(BaDOZW*K~+v7YB6ttC>e|Ab>E zHvV2`miegg`ef+MLjR#pqwg{LI@5O_eW~=Vgm0hrhlaXd_yTIRpvwePCx~}Y&iXT$ z=z8?#`l0mwi9Qc~Q|KE@-$nFIqR&g;AL$!L-(Ts=q3>q;PN%P$zP|LWpsxpgchi?l z-$V2rLI1D+7kxj#r|dJx0T6QoD~>N0!Y%u0i0gM{#%w-NjV~SPq<(l?#Q0Pa~xf99IaS;_M5}_X}+*#fjeQG zYyX8cL-Y4N;ZG(MHVJH%6qoJ+n6DH3g~dkSuVLdHN3{LChVZd@(;3_?DaV@OV>1QC z`3f9am>CuTlk&U0&@o~2(#~JrfUU3OTClwctYJ8?``DFwq&U+7{PgN(Tu4lUraW%x zn{e9okh*+@y2H?p{)7K=bq>7*tQ3dJd!QS6)t?o>T@Q0sD$ZW$pF)hOqcR;SGEbt) zYX{akxYSP_kyv8L-A@%)DtD5IO6V`Bk^=l^01iJM!$#I0lVPiX{jtBU649PX(4`?@ zBK8uoAbCeJ%7t!oDVxS{ANnWvx|%WmPC>iDoB|F8FUZ{)9;%iII4JrdbS>_;k&Gt= zv}ZqrFn2FNo8O&&Byv&B@Nrw>OMB8>!4C;%GDf5bT$O2H#@?&_=M^@MYaj6>uj4y!u`*k7;~~GrVUu=q8<(y42IL0mI6FuU+mO zd`=?VD;v#H0)T1oFKxylY@_abfQ#965FU~pIuD82eewD%V=hjue;JvSt@Egg!`ERH zZUl@0sehaIY+x6Dc5t6dO2zvXC_emBFX#*bm%pR@J9z!18U$b@X%5yG<4 z*Z3*0?CEoDnKK4Og9K0?bge7fKaiaYz~Q~B02p|cu6=bD6n~15SoCcr^l$YU3E?lG zf4r`J`6Y%%`s0xpeQSy9tvTlu2V4pM0VUS`t5L4j+5KtT-zbKbe*|S@S!JF$+WX8E1VEr~D*hs%sxw6(n} zx0Zjdw^&I@4ETrBDwpHvn@`74Gv{RSjY&3~li-6D+a|=1$X# z_H#nU|gu<{$e*lgQ(V zAXKfAOCFf2t|f4cK%eF{efo8oW&s9YC5|nAk1Q1nQ*nCb6aRQT@ZPzWlZj6o-Qo*u zPORsigr^oOD-43SX5+}LPj4wcuooEkwcj0Y zYWHbZj!K4aaD(0$zFU7w#~Y%JUpmYePR8IMu9)mQ_^;*Fd5*f8G*|}!%b$=O?oIv} zHHKmtX~H>O^!SFkX0Rv?xWQgp1|2bAeqDBnK0BvGpP!GLmW2`wvcSlQBMY>Ish`4j z3V+HDhdvvv`}2en1Lx<)B$v2$&6y+OnZK-9rn{=0{tJA@xcu;GQTl+5I%8C!FUYn* z3#0P9kvpxB^Hy*4jsF7>Y-9^FAq(wDj)UEi&E>hpQ6UidlZ%6nECMJFY{VehHTRa_ zC{>|RQX!(;RBQ~-ifjo7)r3j%1iln#c=L^n1vW##m^v93X8`{EVq+3^3IQ6MbEwC8 zQa`&ECr9zW4%mKdR%WvK_h5vTe=V6TJl-lcrWJ-U=2fz3Os0o9;*e}%f?2`Y_Ykiq!D~*mTh3Yy1q1b{a;)v}A4BDuSjZ5ZEk3|L^yo7M&3M#iJ@AtPb#} z`i$8atozF+SY#qrhAeqjrlr`7ggVd)4(Jwh4`&rjF_=|&%^O1eZp^wk6F56rAfN7E z%lWz^MvRXa#(1Tt7&Vb?;2AZ$9L*J}o7vx7xPVM>v1(=imNkGQiTO7~g0= zpPr;HVd)TVu#!pDN2bzE(?_N;0z@>j(7XkigaMO!;#dO!n2RX3k|}NQpID-!u~2Eq6{34EK1WG$VXeiAT54+`AEz>Epvzabn_^P9M~^m z4b7u>4P-?%Y#jjd>5vFm4-fudm>kB%tdGrHEOJqzF(EZt=-5mtN^gypbg(6+>;z`nIvMXy`zoh z`HLXDi3sBaHrpdIHbW$?F07$+Qd9euY5CP=Nz#Ti&Uu|UO~z9FI5kUT;s;r=^3&U6 z>JUur`aJ{mLL|EQ>N~<8TOvO$BJ0~dlS*m^pC4UhVrw+;b*k9|q{2mmw(M=RO^IvI z>>RCb6!ex?EglwV^DOKgXv-{Hx!}A&+kizU1kBR{ZGAuyb5Hl-IC5ko($8we9E$p< zMv0UZ6EOc6XzMrUecOb1IL!yEZONX*jlRSW%@h<0wsCuj{*|w$1j{wVIeY`Z!pJha zpC|}{Iv^fYv%dmuN3_b@;KTCG0lHViLi6r0M`aMsO^`lat zOkf>;8)ZO_k@Z1jQ;6rg7*c*hiM|JrLf?ZG)FKc%JNU@2!Kz{RNZ*HM#!;EWW_E8| z^v3`b{)!bn$5;r4OypRsy+DKg0#P@FUVylR_QY}4+(-zoxmn2wA4?h<)8zWb8rNnX z+OD1xHdvsExczQ@1g^PC}R&ebLF}{3sQ{jS`FT~LEWf+%c!d%-Z zeK5GzFHY>lW_OW4aX3i<^|l$EnpUchDzxLMpq|sTQs3KPI??(NmXbn(Umzf);HRI)YqT^VK_>ZBGM4%U(u9! z!$tUtwyKe43=emN%qfjpwPpRDcVTH!EYk}EgFG@>UB#z*lIYOnEfZ_$U_S75m% zS@~Wa_a95(gS9$X_&_t_5S}+nBptXS_?VxvXpWav4bW8$?TAVuTk70%z`2KFv+5x% z`$}-R!-uIAIxAdgKf}Z01_CPcDT=v-$q=Z3c+@)|8sioCE-8RttGp9lFK$hw@g^~^ ziZD%vbsQXbB5}K`xW=LR3cOkQbHOkDoC0ww>2OKn5ua-_G&pIh{4PGAG=5~WBl8N_ zlO{5SqqVhzhr!15ra;@GxhKdD!Vchz^*p9RT1dVQh0B;Fe&!t3)qw0B($;PvN-!Ha zbi8ND?u0^U>=kx2th|cXSSs6?mukA=ny$UWnF@){g2d?MgEOIk6dZudD4@|BDbuh} zU=5=%{Fnb4<|?cQlzY;k4Q9tcL(a(Mj#B|i#ihsMIs|rgvZ4`)6!`Ym%*ZLOnT)&c zuWC!L!5D(QM(LqA&h$s#zStY_E|O!-rwB=CAxlbY?>N$>D5{1Uo-^n5g(5 zA7n}^mt5TE;$r>joYSqxzMcDaAcX*YC2*nmw0>?Bq zF}QB!Lssi$qXR%XU<83r`eT?F-lYzv+17>yVdc$8Ww%g?(CI0t(Bwq4qVPk?RZjth zp^4=Wm!SM?);r%*iwX#tf$FgvP0}B4_T%J?){Sdg6fT+lO-P||Lqj-FDil89Di!x6 zoetT__R1VRjn}g{>j{uAyt5xo| zyqM~4jRKDYdqzBnUx0mqwP8`GFkNUY0MyO`%AxJ_&7p4_eK){|`w9*8`x&~HzCY3T z0)2l}@lV3fE8EhtquA|FqYsX*LAzR6%qZtq&}5kBl^hoGUkGZoW%S{y2)bZFR-yR~ zD9r~hn=g+bjKWQUT8<&+phK`|8&ythY- z;LMe2?(C+TBqOvIAZ5O6wUp)1SK=J3DA8qFw$$h99BlqLG6pQS^dBJy!yxv%*b_2; zPK6fJ=m3#{))26sFV^3~4o?Ygz(69ahn%XU0lh=`3HZ8^7qU1wz&xZt_$ake$=zvDv;4opOb#?Kw& zbck0!jWY&2ijC_XSm$Fe;9K)YkW8^_)7+7`^Yqg#$Wb#R5tHnapC5Wu1R&r7;~Rtf znpa>ihi#6+y?v7vFo6-|p3i>(#tebzkfN)eYOP>0SaqyQujWPqtgmuQA)i|cgQ*3wX}N&Q|#nw&Hx< z@}p6lEtWsSaBhMZB%Nt~jblBk%2s``kGMlkTKQ9y=6e#0=UM?LngWq&h)gw0PGDB7 zu$DiKXg)Ml$7I-iH9tX-@T8hM;9(zU0CuvTir+MSyaOAbfsHv+o6OBjm$UxhncNsr zd(CqIHCj}AWJ(k=m0Y2c1Wn_Yx%1<4+lW5e#X?k{jI8EFl`VoorATbaBqCdgvp0}V zHU}^PCVaCGJ!lIwkO#9xDh_C|Rw7}U<5(2y_yatYBQkx)1?JpjoFn-jA-Q;x1k?Pg zU?8~2^Z)~-?V7va?4`1GHD7@z{B&$g$^J*~R`wFsvi>ZGS%4H(4fC!A3XYe6T%;~_ zP*K8Di_1^b)_wqOttW73QC$v#{AqR5;RFsXu3ZV&2QduoBWoSdNF@sQaIYEW)a;fLSIR?gH~=D=$V8i4i7b7k(|s2R7%g&++L>-ZY829+HFR&OB5^ma zUuNR2<9-zK6!NQnU4#UY*6^zq^Wbl}r!7navJ9 zVt^wC*qw>aU4VjC$q4;K=ys^=H)Yt{vc$i_oxU1_usn-LrLt$8%TxFTxW2GtIiVgi|v??W3g|f{;RuuIqgu24t5x+_0 zZu};f=T_~PtrI}>XENlu#PW=s2Bs@dZT!X=*qs zFi+A0*X!K5r=@4vp{L3NIxfnLLPSt?n8+rZpSz{q$&^#0y>SRpQR1=Sf$ERmzoq=Z zw>+Tx#?c9n{*E~T`Ji~l_#KN9Hx`$E?bG-A2DV_oZNbgH#1M7}uoDx~Dybbdioin; z;CVP{qa^3?ao&`mnu;EbSG&HV2EK1nJTiuim~I9#IhEvE%ZK_b-^xl^VHD4+BFB` zjZV~r7!_@(2WYz-Hb-$0@M?>SBCYZ{Nj^nii;Y1$ZPLD`VjUI=KSN3CAHW$E+6eQ2A9=FsFjP!S zzRu6YbFW*MPt4M^svc-*zQvo$i|AN7RA!|jmVfkTWWocHEB1y7>;=mEC0bQIqOcc* zH!q@Zm|(}E-TNiX4a<2T)8Uu!dV& zeQ)Ir%qL6HvI+? zoScBbt|p-JBk}b`2UrM)^re0&#;Xu$#J%OQ80T zdYejqH+SmsOpY6@pz!6UtH2qu0-rU%Jq-h3r_;Qd?<~$GxVz7tyPc*kE3pNV1rw?c zu9u@s{6d>^Na{YBPSo_Q##2JB87h}34kXWRXW!I)1XY6M4q@=2w{QoaoBRo9=%~qF z?+hZ8Mo-Z>Ftv&NGX9+z!M&>{F~YQXHK zSR^&_LW}5MR%X7I;&bv@~ zEK4wc^~Z|d`nUq`N9Q;>4h)b7f9Owlz+;XH)Mt)|2N2ACG*@dYlS9zwj-&}836?pb zP-VKp?be~@T`rg8M2ZAI>|7vI(Eow6FR!dtqq6(=c{Z)zXO$2kf+ z?S=C)SKlqY@m4f5@|Rc<<}f&id9Qw)E!I7(4CG>6#Qwo>gRvX-d*f?lFqFjAyZwQ| zSO0)_7CwWu^!79#{J75wI)?(h85e58LjAhImq>!g$u+Qm*BF|!#ue->HgufAq8o1k ze#ElL{=jRY|AGnuLMGNnU<8npI5UItx|+?Y&cxsFOti?H42aL8hrb;wc@zHo;Wt8! zs9xZI04K$+8+?l-NP>UkbpZG#Pkpo8a#g zeG(z7Kf(L<&cJhS7*MrN9|nnLU%_jeiy=Xj2R;!CIU2;x!<4wse!g;PcGEiDuwm5) zYrfF5ufKtqxX)!D`AiVE)j`ep6C>~n)}N`HD^Lsyj&7BLWGu0?r~7I1x>RIsK4fcZ zdzflsz;17Lf>PBrxCv#tS!RipAZtRD>Uv=}^wrU=&KEv#;iBj0HmL;i;N}ZZE$gY( z^)TWI0))Vf>yDGAC>Kp>&)p)$MxO}zaV(Vx+>nGgy&sieBQs_8k3dXaaI9B?n=bxgEE}~=r^~e;(lAC z!riZ%uMtf0fbGtM-)Kwa^?9-$w4;{byj0YJ{h5}lks(-_8t7!BJ3-Wf6*l}lTpbFd z#!gtr?6YUW9`{pecW7O#z&lidn*nKX0gl#7fxJ{ESedB{4D5`R*GHF^P}ta5VLMe} zmq}p*bYV~0SXfrq!XAPNI)O_l?ESCIrXEm*4U@tK>B2lxn4@c9E4wMo-Fmy2#lIH1 zAy#S-NX3Hs8NeJ|fOW-o-~Z$3VUH2ZhZWKJ1~CO=3OXtsr~pt!*IDMLOx~e&ek%U8hD+uYy=6s zfZr#9W$D9qd~C%>#eJT24S7&Hq4`xww4(&8XZsDOidJr5)kbJIXTu+?bS#Bw zNBGweq0p7$uMmHx_<3d=1StL+;a3>?T(!Fzs0E&(b~_H`0n%V55dO`VGBo~i1F8rE zRgi}Ueuj@t#@+Lb?P*h>>aeMG39qq#88NY$SWR);(@sX3cqpDN|1(k<^VC@g>|<~0 z2MXG}H^PnP=?6lG2nSW`TYbx^MFAxln|(08dyG|vCKDhoEQUj%3N`HihC6IC%;&HM zqNvc#KonNPp>vTG^XXfmPL=B9gj8OgY7|mM({9IHv}miDAfLs|WrE<8CoiWqhvx-8 zLoty*#pi0hzMHc9dbY=Rd8{pbMSPk;cP_cek59iRN)nfjYIAjg92_c<7Oi+30|z{c0kIB$scH8cr7mGBAUa0k{Gtj z{6&ASgOWbun^sQ6dtL1z*rWAvkAjV?ta_b_F_uQBr)RngXJj_PruRGugu=g+M1D@+ zR9N-tRk9_$vV&)7!7N!(D}1W@T8~^`mbJcwb;CJBy03ANoXrzJmi2)IWl z*aSQzp z=d6mAALyFCk8@IQ+yXQy#g`Vk6w#{Xb1ki3qia+BZ%tp+HGOpBdJG@4LMC2k` z;J$9^yNOb{uJQ=^AL^PPdfcP0|MIT+-NBnERUcjbMP2i&RnXD4|FiDef5%bR|4`Tb z(T#up7VT&LNj5(&aU{9B@N4P#n>Hl^(oO##CVzBeTM{5$^B>%M*!nwYnlN%M1Lh~(b}cSr+yUFDg!v>oJ-@$L ztA}vI4o*8g7xEv#nT39vcuc`*FY9FPk_XS`mzfm@#@d~>&gk@OQ0^7@1!K*DB!|** zh{0M+<|ezfm`$pf2`2*-YiVsLtzZYro5KQzI9sRx0sQ}EX#8M{=lt?Z%;=cC2W&dQ zQrKe&AmKn@2SIAN#vGqe_vnj(^eESJ4-mf>#gHWn->}TTI0Km_ob5CzcPfk|XcwlCfvh5qcU? zk=vN))@nTBVFh$h|+5PFV-QVTEcnCxPb;t z^r(Xp1r%^O(TTMHUXcjxL4nSW?I;6#Y|iw8=j9=Xz0NN`gRy(lcW1U<_(dN)02BBG z)T}otab{ze>&q{kxi2_vZ-)94qQWnr7V(~e zsw*=?2E&S{?fuHnPj?iQP&V9blqP08K9YS+dYcv|;S=#emHJ2~AqR^Y>%^uWO88Ca)) zaX8(+=qkd$Lh}^_S8>{Iw=+ETIWghx~TP~?Q zw3MYrbtlFpH|0;Ye-FAoOcE)Z_QIOozF|JT^teTd_T~=&EL0Io{pcPHj55sQm<4I) z#gGmtz7XG0s^%lvjUEuP)LE8~dNH4v_2Nk2*7Z|cf!*y zW|(Y-yK>vygdLNCiZlc66Vf1G_{f3FRP z2w?=@@+;)RNpYCr&CXY+#X-5!qs<45$YN{_L2hdEt>XsgMD)-`q?dP7($Rt6jmQEY z@uYqjowniNQKz#bwG*jOY}y|H299U30%u_0uldE|A<7BObgurjJGUJ-0QiSFA3}5Z zvkr1amShi{hf$BS=!6?ZI=mn43w~_DSn}E1-pNpz?eOf32nQ zW=+EW_~d5{UpApm0{NgvfgBjPmp&H2tZ|SZcRpwZLxDOwUBPL>u)tXe6S{BAQ%|4! zMu)(|rI)X!i-TUyV7UWuHE&sm)2)E*Bd`e$q%FR*MHk_GGOj{!HXj58UVwO2e$!%C z;Q5GMRRDanR~A0eG!rk&JabO4|Fb}pvu~#_REcRy&N#rhoTmu<;~4T|o_e6UIYWjN zJdZ<_!9ne=!a+F99^HbDY}ym~!=j4>TGWht6?Vi9NGlP5EYFk=)%h4@svvRz#E`#p z0t~%GBi~UtLW)gX95BYTBJ=?ZZfJi#BD138hV3x(+FJ4!`7hlsY`IjS7>EI>U})dZnWdLeX&t;GHlT=@S0CUesUDp?>^_9v?`p0NhW zUlh*3#TdHhRC`O#!^wJFSAy$f#K-~s^+i~_$&h?d#?E382rfh33hH=wy|eIDd-H!Y z9G8rMkMo_Y+?~#7r%2B2CFuS3PeDIn2qC+t;WYI$SKtX(V27*y?cT23=kYWtP`BSV zspOGqCDc2zUk47zHW84`G4ciebR|dD^~#fp}R~m1cxzj{@-ouoEez@hT)2CbrnWD zw>WcQICEO$<&7l^(S9`jX*r0kn~t8gw-jRva0hMf;4%kBfE$AsXQkJ<16$NY`ca>f z{cY=fp32~$mnvcRx3m&dLhJbBUD!HygRXP;QkA-THW(KGXjd9GlFgtyY`)A{c>MxH z#{~nX=5eTq91Dv|99iD!0#|F_-P_$-TpTZ_$-K1$H;1?j-?2CU0{Aeij<{N{UXO3w zO>#UYPS9c@1cHNhdE?!MeSg%Nx0G_@ACU?tSUB0^L~9$5`1(!&Jbg@f6c{iaz;O*2 zC{zL*z`|sMQGoBeJ!PoGGx7k9iNhCyD^=nJH(Z@!cEVP9(=HuNgWZ|^2C?T2+AO8N z1t9vHKoo|(I08h3L_PqdnSeAiTuv@)e)#d>YAwcku-u6J%;a@+7ZmJ?iw2rylAB=? zX_|s~SO#d@rnm5F5M=djq2FV3`XSD6pyAErsG*m4bCLsRGAu+zL?F1l1QQahAtvLZf~aqjEAX7twqIC}3qt~A;Kn43V-F1_UrRHmaF*=g*s@_%QC#YjC)jhs?& zv%@UNG@Shx=NI6jf{VdM+Sj=-+kzzefLrvz9VK3{7|3NWyMp}>c~jlNRGi`NboXuZ zXX4rr#Cvux5~SliCgoF1q1eyq#Ei;Amj(N=5fU8G1`=p@_T7nz8&~*l$3Sbs0;VI< zwg{IK0TT5;1`i>DAP=az!t;zb7oZltR2fYD+?xt={#;GoAZkqJeRpE8+MUtu?!sq0 zFKfUsQ9l6yUUqFr-HGbk(LqgnkS6k~s@|;Mw5P)z5?Gc{8%N8%i8z}%e*5%ceL#Vf z=RH`!YEcMY9MU4I@9k44Yr@n!8XA(xgXtLj@Y<8xD((eAbRzWCrZQfZRnYht#;b&Kw*o z>4U0Z(uKpa?9FF`V`Jfsj~uTYHH17qdKZqMGRWcW>jpgOmBC>MLazdaK;&Cc9J%}M z_Fb=g5bv~2hm`aldT=+f+p><+Ku79ZtefY;`hr!#P!1E0z2z*#t-hS0>Glo3z-mLO zmx4CuP`r=X4hzifuvJR&rK?t8JU4Gik3PHh4GI~MuqiN~fNXK5U<%CsW7&9jAaz%G z5ct_fwEF7hTv&j8r>%xBoQ7c5+|S;^t0(C_#=hZ1D-eVLqmi(5567!=f?dWt&@oA% zRP>13I^HsTLkL6?@((UEk-wL|=vH9Tv(pt5&s`mAP}?6s&s7E>hc!Pw(Hw=C^;P*X zL>+T@M1`LhX*jKgb%7?%jjixJ2yub;Cob~B7a)DC@Nq{d+>gZTr~GNDtoLpd;+pUd zzOaOPfsSRp$B7;5y}u(E>%BdURqMUqz?-<<+li21+MP_2wBBoASoiC_YKh924=0?B zuH_OB;$e>qxP!G^zzuv23%D6bZdnQ*w@a3Sr?9|a#xX3g3@JjtN4P>h{&L{$rMxSG zw6png+U+0mVM6|Hmfys6F^^geIoy5)pEZIR^ML`n4O{ng@I0@{hdH&-@pTESfUi-UV=IBDnWPy4^M~2 z0xF354p*Vy;lnkFpN3Z9+EIpZDd`US^U0sc1hl*%SNO%qXcX``GcW+kNtk+KAqrIl zZ}!mHp+;ji+?!*+=5-9MnZZFH;C#OiO1HGnYJgx^Vcoxe%1U^#R_+7y11!RCVMH+F zMmiP>YDa!h(7gx-1>MD1MM0Oqn@B;|BP5u%oJo=>Xf(sRr=TGcm2o_r@JMvH>dI3> z1$!~cH(!+n&he@J$6G@-^sD`Wt&xle@vgQJO2KA6dn(p#@wG~_-uFY?8p>0DZ_(vU z-qQ-z-h!L2&|$cK=r&&Y&@usSXV+{1EQy`9m5R2*bk^C5WMlnxMfK74*IfX?+FvEe zsr&2ECDLECWkP@L#TWYPZ910z3L+N$m4a;OuS1Mg{q<*f6Z`8;gap$zF-cN?UCFTS z`|C1^%2)zN`iqwn9K_OQ0SLA{-+s;8=p9I^kxY&pNDMBhldgG+fx+*j(E?3kPktZ{THLYJDG${0a(M&AOq8#i)N6G{m2E zxX>sas)6uJ;71ld^ZOTs&)i#u7UG>dIN`xaq57*wzEz5Jw$Mc=EBqV`g+!$gejfQ; z@%l6vm8e(5tMG-1HJ_M#D@U51ceC*8Kr##E*CV}(RH9~&5mw>H+1VBiqtsZCj2OaM87+%gUFC75hol8 zf=Zkrfgfwd!-ZFSO|Qf zoVuN0XGAc=pkpEMwTK0Q4?!>p{1nD20)G~{6AAnqgap%G#@}QD{{_RkC-99Dm2owk za4rZ*7?OR%HlT^T{Gh#MCh3$bDeV6}LG0CPZV+eYw}!qQe^`Xtj*g%I64vfk{xF2# zDt`W}iv@j;AO-ltPJ97s@axiNfu!%G#*!KW5*;k8ZPdc1zGmY zvu~G<0nh$xW#Py6mMCU3lJ9epHG!g!#pX+lB)g;Nu`zmn@}i@r=QXI%O3xdSRnv2S zcrn5LNlmcR7!l0Kr(@}mM#Q2+&P6aflmEfT~Z1UwiC+wld&|CNpf@zfLm@w*TV z#6QPah4^dWO&kgLBP5u1J(DCMelEkh9|4ba@JGj3UWeBmHo|W@;kyB zk2Fm#WUIPNlf?*4oF>O0BsNW|`K@68gWOb6Q;uw{=#7;n-{D+y)w41;{uCd;*R^!w z_-eftB9~<%z2qrLT&EI$2Tr&aDa`RMv$5-u_;9aH5BJB^X({0}Rl*2WLKaI{g88h+ z3GvYj2;{D3Fd+_-d2gfhQL}urT328tmu}_>Df5D9koi_MX+MXY78rj1q_pBz6pbeT z7*4nmQ1%Ezp};VoFyta#vh?$3E&Uv?@NIVN%||8wv>;V-$ND|iPW9KA`x>`f+VB!C zMF5$v26F@`Dya{W~!- z>%K!Sk*JJw;VAinhgCvLAbxctUo0ZsLPD4)^!v}s7hh=VkIUQR-Z=bth|3qB%{$tW zkSt&P6*=`t7zZy#f|f6qG9s999vutfwS2J#!9e_Fj8%vq4sRmj=OZMTHik)(5WjCO z3+;9!d?-;FyWsqfmoHKPq%AbKLnf-T2zW4KgupMiFwiz7S-vnHm&AQl;)Ca+m0jeE z#NnPSUu@ngC3GMws@ud84l7?=gcP>Wn(cA>Klqnd-6Nbae z7q84A41eGDKS{o5+9G&d2hf1WRd5b3UksEs63pEE;hPclJn%56Q`**28rFr#2I)}|DY$jrwjyT`G zZ?tegJE}Zn2T}~Hvzo1y|Y7&y9W~IQp(IS+Vv!}Gfc41`+Hm8@7~aBw z9bh;M#*)s!v)*ILC170w+dRbN(137_vv5Uv)49$d?ybhA(DBZ~y38gVcg5{865O{WwrY^9-u?OM+Tad~$-n3%W`(1%~IkO@c+a zY0k(dt)DW-En{S;lsusq>knr99f7eil4JkDy8r`YWFTTOMvfKG+jC&fxD^Q#$H-?0 z38p>C0+OcK8>G-~r`Q&W%J9Ppe*>zN4xEbJbUqNm&cac#y3EzMHVW4yLlx3;yWr(G zUP~@^5OdPQnZPh`gLZd@-(wlf-8Yum170FU)i?v^A`@<2=GEqz;ay0J%bfp$mE301 z@?*wtVKMp9BQmT$pDFlw4^EhOB6T;ckbHYuU!<^wZbJu$|00zG`N8za&(I6NlQTVh zF2GZR3x7>Yog)+pz5zM20%Is)ELp}_Cg1{7+u=JMo%1t+3C162!gI(8;_<^eHe(&a zKgW3m+9ZO`o7>R!w9tk>i0c74YUvld6(e#_e7OmD3jZ-rbm{h%dLe{aIS~)cs9=^- z4P*Q(+o{&3b*(Imzx$D-1>w$g27ybQYw6_=Ex6o=AL*SWnNM*PpEaP$b@LCgE=nuf$B}ZD-?z8Mcj*ij*TDvVce5tw+KM~;uj z=)GhsQ*$BFDD=n zO=+gRg{J7vzye01*)JjxaKa8HQ0j07PsO%}z2$Kx38vMu2n?}1)=#OLA?)rOiI^}z z%FalmV~PY|caI_#>~1)M!R}6HY_qVtzae)byGuc2Fzt1OC$qa-7}iB3kcJ$TQ)wC3 zONxwj;v_b1!%%dc3wJ~2ga^|H(-d5>28|}=1vNXh&cPX)`NPoWVqTj%45wA}aSF%> zaYi;|lQ6Q8tR$FmDxB~Tl-MI9E3P0Td+i}Gve(eBstbvnz-ot{)WI*XB_D$5$X)rp zIG)g3BuAJFDDy96)=R6faR&hWCrpW%+V7l5G8laBu*& znK0_5ksJ>W!K@dzE*%QJ1f?0e6-+UJ(=hYE-n_IMK02FT?(UhtQXkqQ_2JZms&B6t z`AVh0y{?odz8C9yPZNoRrxQ$jW!O?3t&MNIa`?iL*xfL)>qz@vSKwJ~mM1Sd!RRW8 zq0K8mxXbGdUY<$D0<&6JZ#rA=SdT#No53{oZpKrv>2$U_K}E3R4fp0NTqp3^H!0#( zByks>leroPk)Ee~vV#G^xtXrk(iC@LXH!#2pp(YHm4PP<_Pg5Og*7Q^rmReR$JXy; zxpQ}lsce%n3Wm8E3}%%@@Q1KC^Y@FCi8*l8cQ!uPelF&`yIg_P{bGamiRW!+?lxE8 zOpumkN2;>*9Gfy5j%*NcqB~s85p79~nsu#Bm_el_z9CG-TmY0{hA#qf#|s3DbLYO{ zY%K>G`b2(Yb~)tBrwiJEQ3#BI7eu0Xfk?waCs+-`_?b3y8%_qBss!hA<9uQJhrKI_ z0SX>CPoPY9U9EGoXiJT!5AZZt^G^}y3W5uPCJSJAD;B#D-8wQ&>s|PPe{H>cPGIsg zupfo)nnuKXz++)*iwQ_7W2(^!WiSM9eF%Nf_%|tgW$<_x@7q*>`sX+USFx)g;~@*5 zT0?d*V%GUwg|FC~`NoK@|2@=Q0$Vv)g=r9QC#vnc+fXhV?)$R^5h9}Dc48Wd<0=O< znc^@k_`De^wf|#zTao$pyQF_WFL-~eiDqq@Zf3wBbZg+NL<{Twap1g@G+-f?fQ+;) z7E)hR951HnK~n zj{hf8ReXZ>-^i3hu^h(y#YwgzQzqHfAYmyOq5-JrHVAdVYBRy&%u5bKqmT4$`tfJQ>bLmlND9r4eLgtjE z86B+oX$USSCQ%=*3!lb=A=vZu&Y+eL{Q~34FGFw8_AG7^PFv$A5M;46p8mHi)7W_W zOIb}H;j$&LwLP8(#c%=__Qe`g$`dk2)fPw}2}a+sR&do3S&~E{mn2chv>qsAW)3X8 z3uos0&Jj6AiEcPS8BF`rG?Nf-7as}Hf3wNkXvBR7>E|>>Kahche#+7#SOd(H z*__C2!r!q5mX#nAVX)#vUF5&GCIm{c+*GgOMSh@}i;NFmYJgMWnD_f0fYmkXxdc4X zhgQxI$=8?Zo#qToX`TugJ34k^l?z+qPTb+%fhwj$5>_V7h03P*eG!9^fyMdnQN-;G zOc*5Dx8H&6k;gW3tsL1TOXkQuV*VT-uY?CmA*`yhr*J{sK>+$3m^BE*KQP*XYlT<;#Tw{~#7wXiz;XO2`yX?Z;q)dfp>a3~ zK*p@s-N8!%^5Ps=&Dv3|TG~}^*dH6P$dcvj3p0512XsJ{8}`Ia-+iz>uFR|q?5*q@ zvbWrfdB|OeNu1`+a>YQNEky(+sE_>*`FN z2OBsKxFBRU6Q8e8WDa0Kjj8W7F1J@?dcrtgFp@|^NI!Juk|ogF3VYAhfRjRo+&3IBjG;3!y3=B}i??Z#6FeM6W|?HiVH;REC> z$Izt_HvxQwF)b$o9t!2aHRMAq#rc7eL19sg>++!%<17QG&IUd@={S9#H0EpF8EsgE za(O@S7DUo&nz#Ptm|OrB)9%32ye>48qo*?PX(gW0ixU#4%HD!YTBD?=Fz%uffgbWe z+PNrBO>;Bg3l9h1Uq7X+NLEJ=NUu)Vk1wnlKBR+@3vsgf09HqDBNnTpbb%+$#&Xo^ z=m8{5TphiKkYL(o7LcS2`koZpMHzGeBYU+(Wh{piz7r6WI$*~BV^m8o%-DOO%i@GW zDxn=a=%oi*c_j>k3oLoqxg@P)jzC)BTaY|9z#ih9h@W-9G!X105nv!=FaWQy@f&XD zS0Tuy32N+}rhJN#bg3w=pcbM0SVYuPb3+{zIvJXwn^2kLIG)qIWT3JNN>8Mhg{o+| zFgBsR38aUYBR%OD+<9lXP%?A$hHs>0K{tjc&`-Go{fBK&tDVTDo$&`*5T0Bpo!bwN zJJ^4irGs1XBCJIf#=N1|elMBcLkXaW7vV5d_zTn?N9(vFq16QlIhaJvMNhtrHh6?> z$T(w2IKrm1h0kJo4ntrge31CX2e>MqSWKPIp3exMJ^r27zncR+8&e4PEHc}5sQkfmsFP_c|n`> zPxvl$7dmv3l>PihQ|CmXm+}ZSOC3l-`tPc9n#@ee>ZO~QJUQ@qq*V1qK$vQ}7I}eJ z9b?UhHx}jK5;(Gu3)Pfu>@Z09S<2r13@9uT_S3B$)P-)+Fk>ZkP+TRNNH>+JE0?op zVI}mDA9KKn`w6QTsB*hZmp#(^Ou+r$1P(GP?r|0{xr3lpxr-Ity<%{GHNG3TyBTu3 zknvlf?i>Mus5@I~w4koP0%1KXmLb=a3_{QgUfETZ3(?psGsC)QIOTqd`y?vkHaOwage=ivfdz5ZbS5#yN%V2{ zo~(e8LWJS+^zc3~ekblM2|q&*ll?W8EWXeQH?t6|b;5Px@#cgVs$y{vEV;;6CCP&P zF!oDT*_a10Trjc-S4VkFtBP+x!X1-xeZU|BTSl3Ud0VeqNfB6bE&#h8<$$*t02R(X z%E?pJ<%EmDs5XX}D(>_6XGA-Q8uPjUEF~R)&<864n<{A^(uF@j z-}R^{KS@fumnGf8$p~|o-bu00MlPX`&ua1YcesNwpgJHQ%MbN_d-x#Kz{%_K@UOZ{ zc??K0z8(#qnxsFLtNp*ml*euK7vyY;+)p?Q6bPx3%Oy?@r;3p}Zte+%q2o{y*Kxuggfok_GKCfJs z#}R>TGj5_KZZ5SPWa|#Ub9Sjhz$liY=9Lkng_nFF5ffg;7Y5vubS%7t-3MOsF@nKM z-e;`hB|nEZk(YELB$)OaCP`WwE@fEvykwC?Ww_zUyb`)sOcXU^{V#}Pv?s!gqLnem zx|~^p<=yjDWFTLqD5lveybiU6xDqYL>iGbPHJCPp#Q+n(TR&y+D8a;Bg^8W`0w&t& zSTJ$C!o)iW1}0u(tir@bcoQ+P86i0T!z4+VxR7DpW8z$i$|!{+TZCE$oX82&lmU04 zc^u|fCXbbUG0CQzt^BTX>lRLXBDda6pH*)Cvjn8|5@-@-CXH9VwW!Byd_Vs-1b(~mdJlNEyYPK`3jyPJ z?e`}8MZ|b}%UA>^kJt8GfZoG+eT1z${CK4b&gQ!aioFZgppEw#;J5H zRQen`0poQtfYrO{PLYrPiPpT2M(cW?^CP-oZ*0t42DVuAnt|Ikz z^sr+6Tw94mjp64|tY2A=45wHZOdG*c)R-Cy7@$d>pycV7@P%e}(6NjuUc!hm6+$q^ z)Z2_zW9p~yCXT7c5fV)MFD6Oi{7V?t{g^sWqB5LtWK1dSj>jqs;_+3G3oS?<`cvtU z(aaLe7|bjg=;I!dTsn+Megi7Wa0f~{I=aNVCOkB;bMN|z)O$aQL%p}d35S8r9_xK# zDC@0dz3fSf%rn(O%OWzrhx>>aQ^A-dYM;&PhY(kya#=+1i^)2Y_PWA1^J*h%&Cyr5 zzeOt`!+lvwvQR#l6x=m!D}t3cjPVl0gRFp6>uBU}_2S5@p*wkS^M8)~Jr4b$ zCemE`j%GgpPsrbQpJ9UW8~PL&=6v40QYUFX|4+%^MK7Vh%msaS^7m&$0B{fU`O(YY zcd-=3dw%Dz%HQ9S;xlH_vG5)(f7c@zyr-72iuarXZzAt;A|#l029qT5o)1t{54`6! ziOP5ij*`E}zG%TixAJ$0S^jnT`@dO?lD~g-x>f$3Bjsn5(6L}b%il{73`{IytinVl zyos2YijZJh7Lz1l;&s&2116r6sEjRe{s+k4%>oVO@3r(D&3OG!$lqU|Mtl*Bee@-c z*Z)`L@9#fPIz5d1T|$6+7_Ub!e;*pmW{aiimxHYG_nnLgX8eMVg-W&j{Ro0VrGH_p zqS8y@O{CJB5E4xDFi8@Xp2e{4Wra}^l`#m;|H|LG`~R<(zkhWKg{6r%bd|ry|3Jj9 zDW`%Uf*E7r^elg;tF*_dv?)w`SowQ|)Vk$*Q~sX#Y-~jJB!BNg7LKWZP5%BJOHpI$ z)|0LB_d+Q?V+I||n9}n1as*>cRWVkLsT1K%98=Q~5==XdNs`9YJE*CLG4--UWpu(h zqWpd9_oYMbW|m;aubAbq^7oc3cI`#2|El~wO4U1F)tk+F4=aD4BlW%ylKB6G{GEKB zjb_rYU&leVwx7;3w&Fb61t)=$a2~A!4d;(}9!)k0CNnbpA#kWMv& z?SMPjm?PFT%IbGPCQd`W-yd(FEf~Z10K(vylYBE{%2SA#9(czUtlyTk`C>_c zw-r9P4j1Gf!z!X%n-5J}4gFLI_CvfQ+6QysDL+Lnc`&*TIq>Sh14xf_O}ntfz8rD# z+(1e6@lYNhEouJR)^sDSe+bovOS$P5Q!^wzH@cDb^}CPo9zo%12RGv@rooC0Duu^+ zi#Aly9z40c%lTZyox2-$&tAVfPzwXIqj*lBa9NIb6fB+a+=aYbkUpz*yaN{3S+REu z&O-b6Qh_s2o)y6brZZq`^$xB_-h~@abMc@AUN88ZDEk5Im)0@c`|P<;^jc=Cm2Baa zXgBQxlkXc>CkMVTuNvoBu5WqOI1LHJm;iqhF3-hxg0UjL&8L<5ghg!s1<$cHX3-iK z4|KZlq7W>mpZ8YdwrH4~mpsg?vSXKW;|0a`PkZA*5L#Ko=o#id-++K#$^A^-x9!8b zM$fM)j6TEbw*QWcwO!4j;>}V7?$!41ti**5t)!e(om8AyFfZnJ*H z^METCk6tb?BG0KN#*YN!LF&Mj!!UYq2ctY!QA5J<;nWA;qY0jjcaL!aKd#%(#9iAo zGPG~lik9F)>%#ZFr?{G@8vX%d@c)6mIRk1F+#I^!*y#J%U5J3M+2+8Pv{{efQs?b3 z;3`Ih_k34yz<#dgBe2{r#!(M<;Q{Z^{ab9lbXVZQJuq3{#%o=l`^X=Obh1h6%l8P9 zumKx=pP1>~h2P+$0iMdl-KddXuE0c|6^Wg)g#}fQ_Zf;Aa{poIFzAB|ac_F+u%>M| z)57P*o8O&gZz%<-5l{?S)dr{Skn@F)2={4(^*9R*_U1JlkP7H`(A01$zM-#KCG-j+ zIYgSqNs`RX2#JE$1J8%juHo!~nu71!1Lh;H(2lY49?C(tE9(v_>RZkLG$G8cwrBVAyAuA ziH85yqFA;&$kS}I@o4re;9*^6!T!i8PSDU0T#D}sQXWtjsTc0_kBe@{)ro<E`*bhnFN7m5;f4w{z!ypHJ;v# z4959oFDyF*9%U>&2`51`WUj)`0tZ&V&N^R*zv+~&Aaw)|B!XnA(ixnE_MeCL!@4-J z{VC3&02)1^0UyZrA5iUY^SmWE->730Ws;U zENlmOZ?Lg%z~7Y3?gxi6dmU8pBB>z!()Yf>fE03yd`~5MqD!KCkO=pkmlxo^^Dd1N znoe$z{Td$f?9!-B(5SOfxG*Ra9K4%W<*-%xiLJsDnZCXy@=z+8SHe-zk?t$1<-3j*OwL>W452X?plvYVtwVkUjlmAkKCzuElI%U9zKSDXPXxd`IN zhW#ZM`(hOKk2Ud58@EqVf*xSwjSpgQpnfU$S37txLCXO zRd(yEl{j%WCxT%H361R}QaIw;JRkSe*)+S+ogH3^#$hb7qFC{2z{-vMmAPHX;7(+> z;N#oT!jG17Qs-C;r~(Ie_ZQk#q_ zHIU5qhOhW;oZ8Nh4JDI7%KHg;u;)wtgaYr#7be*QKWR&%pD)QImtzaT6ZCA=!0MAJDv@Z9R1 z?!tD@PEuWOR8R>qt*|{ZoV`RNc*#s=q%(sVN#^O0i7@b9cay`4(EVL(b`l?CD|<>V zN@OgPfQ@g-PrB{zIy@P0wEaEqKi=QLEC1vDy$0v*j<&zY{U7b`>#sOce{(son~Q`H z$XpJA%UNlx39!0payTb>95T1Q;0iqD%f)*LFfo&}dpOt7^@bY^x}0#~72x5ME_3*w z3tbFbG{^^>RZ095EL|845Gk>(heK#NpkGJ|y*Y&AL!Sf^Ya2;j;e1aDN4%fc3 zq<_q*I-zlg>7plf7x6SN+w*Vkp8)Akjh8V;fM1Q5V`RKog#Z7u<0bd#`{QD{B)#YH zug1$U=m^jo8}v_%7mRkfQv&0kofD#dh%5d{yvo9NQjBtBSYt3}g*$yfc;P>MmtdZc zuYB)SSCS*|O3c<5l1YIN;0ZNZm}2Gb%Kg~c{(kS!$$qTmTdy2!K&BAARbmz3Hmu}? zCa(CqJVBTI-ts)i$-94sldrs-EAc($kb@BM1}@7Bq$TIMAe`WlrQ|d>?Yv?ft z67m_?FW<#uguPlz<*tfyy!y5+^t4AZd3Kr4u;LPp2N~A2{JFaPsmbMUp72U3L1X#2 z+kzLsebfth{vlLg)SFSE7W%Qu?ZJbF>b=*{+%DCuMiWC31Vc~igNAVr;AiqYz#kfl zaA)*sKi}|?6X&YwWqHu)?g{+`u~cc=mwgs+uRzM2tx^lv8= zy3M<78`>VbdsnHk>9iM1@%H%i1FV2jn_3D+w}#Fqq&T2I)D@hJ>rE0L(EX!mqux|+ z{6_9egzjnpK{THz;7$GncQsuCrjv->7B>6um#JnCM6+XUJ`;i6wD~$_*vdG_#6Y|| za8L=wB^Q@0-W)_M4918r(Am6AXo*l`^T&=rpTLY%9O(+CePJADKsSPc`nUrp-Czbe z4&~X;Yx~@unejRzKX=+kw&55yMoh2NVV~PCX#d=PTv<9(m@!$-UekxA>!@C4jF~i5 z6^-&zKDS@k`*ZvGeNX~^GfPtuP=P<^&%mGK_$RXz9P;ht8*w=KjalV@Du#C7QXZ-^)WMW5-}VQvH}1??}50-d`*4_3-{ydGCUE z%$bs)6W%|n(D&ips=O(-7)t_^+FXw_%NTgR47xbh!pSuk%8aE@b&OR@XYnz|mp+t@K%N_DpSaX;cayfK*PmnfuJ zdL-0}DiY)~RiBO4WFNDVR13 z^ye;g_=;Iyrd(gZ=~m0m0PS{~Ah!C3nXnDiuyvPK-gnhB5_w)h8(*L6`%s!c&YT|1 zxcKW#qnx)0@;NjtD1ZgL=axO&QInCc3YrnP(oF22yp8d^ieTwfrFr&12 z8(=3orkNOOIv$=DdiugcRISF%2|v0Co`SZ`HK-K~IP^gMH&JHXdgF!kF)L;&;pDdR59MG{^|8&_%6QMLmUtEQ%-7 zSQJ4?Eb5QeqSjlBa_FM+RZ&;#qPPphqS%1&Ed4l$1{}FsMv=+l3r~SKQX^G;C>N{9*yD zd3iV$y+<(=(hK*ExLZ)T%b&7nYp4h@@g|ag?AH2(7nAh~i?IR6eOugfvEeoUp!fzrZtVi78mxSPSsWJ---*gT!H?N^BPxZ5uS_q zKgLYs3RD`AU#p~hnWn#)23NhNtAvsF;aVAt;>RDShnC?KsxJS?`@`4%i%)*3FZbdU#gT1V&9(s-5m zfXBgz|6TK+rt_&IWc?`GPh!|oL>`J@1Hn(J|BRI* zS}1v5#!}>Kcw@d@@85R^k3+*lB?_<4k)E^Uf0rO>d@?_^u}SdcTj5D8r(2MAnILrs zkBJ|x*Es@yV876o2+j^4(DSSU*%|C7dn9NY%PCCvsgqN#fZF$uKI?y-=dMheI~+WG zC03VnnEpC4Jk;U;Gw^^;V>E>E)J$Uhw{4V!)N_} z(|xE0s%9Zp{8vQiljzM_LSr*2~vJlUC&-lQY25f_T3sLOZ@MD)i#!ZqJn>%pf2h`7(u$*U6svooFc@-0s6rjmj2e#*cBQ>Q5FJ<*@K zTeJVPiy|SnPoP7E9_(iqV_IrWy9vQG5^O)v3sxasJ5FVnLqZazpc^oYwPYAsy)xo&N?@UQark4@Lc-b2Yr^qA<>x**KW2wYvb0j^wlk-yZfvEp8DPRX0$F!k!OGN%p=L)8WADh8dlwo*% zRleHA^>tp~;;L1vY8z@CITGZU;>fNU?eMN$xumgPJ{&pO-rQWC_To=@gRj<8*Rag7 ztk$8-wM8hkpW$$1kF6+7n0EV9PoU0%1;cc!Pd#$R3A&q$0@p|Qw$(sRf|G5|6hjxt@8V@a)Vb!}~fL!-x0 z1#oGi4s}1jp+WJ}_>J~c9L-SBJ7(=b%jOwq~&>YEhy(qYGMb+}!s+zdZ zYbXMj>>L;P$#XO`f>2g9dVI!`Iv<&u3iboRjY}Om%<$E%td$JRA|F7g*S~TVfj6q^ z>vbez`GK6i<+YBgC5=tB#sY8EGT~8!4(U>t~92G8ic|VY$&r`)-_HZmp zACETj@?sEq8yg%sGiEJtl-9wUi*afcjG1`$glZ&0&gxoYWu4--W*JpW!T424((yg~ z>3pQL+nD7#^ywbr7wY&Ibv$)o)}K}Sq=2@wP|1kFU}3eRaJ4j5*Mz$1v(fzxA@vj0|lH!~6ceQrsB*nj%G!AzqeLt1-ZNk&mL%12=leRV!Ckc^nLE zfK(w8hgbSnL^PE!&taxha+@`oQRVkFuB?IpN5Kg)lh5O?rpy!*k<55074x&M5=G}h zFsrJ8z&cuq@*=t_!Ahq>90IdWDnuk}C@YpSZNr|g)k z>oFxg$!Au|z#_=RTrG}vH2CW!i=)<8Jw|7P7}{7bBBInc-ci@kq(xX+O+h$@e*$@kTbP*QqUWe)iEM<|$UE-dbQ;=(Rk(YV+<67#da@03+H6Su97D0`x zygjyg+dKh{7&xAroBT~k#(bDnoSW{@~mvEsr4511Ado}*3Ad9@KaOgT~%MT z78L>pVnr}s3ta*eFJxl9P(fm~;Bc4$7OW-YLc{X%xE_%j9JMR`_0)UJnLW>SzJuW! zUB(<)k_cGyn8)n8DU{T9dOqVy0!kIPyV6@t^|<$)QlTAlzSK9VrBuxth>(_8JSQ{&uR@0!fKpP>(H+XZx70gb)9cHd!^3fpzZ`ZL*|d^2&4pPj-YR=^MOm5T1E~itws=S ziBu@yiKa|ftT6%bx>qDQsCG~z_!1}w%v^vvM#4}TaMX#uz{=rS7nL3HJYa${(wSV* zq@wh>qQh`Nry`I}h9^(vh2mum{xOZ7Wm6UBKhIO=^MR8?6+5?aNiA4)S)&JfL9lx$ zAm-LpFR${{IG{tUuLtutXA8q9Yh1NfDJ^r#poXY%RCsD@9rGHO`k?--byPG$M=RWB zG}Nrs@qF{itnq&-lY4dYN$3^bnQHPT`BtL_PVtz%YoH#+9FCb|zRcdpKWlbBR0J)F zZ|x-LY73 zyJW6o&VspM?d1Ru+G6T)p|LeEOGB6JICCVlD~^$8LTBunUtS4iw6|YBV_}u2jtKYm z%QJr@wBC<_JP*thGsirk7XVwe47n!Mpltq8f2k*)3w5+E0GU}c>R*&ya}ko~F{z<- z$OiSt>R0ox2H|~Pt?qAV!Zc+1!J1=!YINftLZ?c3Z}P!e{*{iLIRJOGql7y3(T)Y) z+NFN*^tnv!m|NAbtTxx-UJj9Cs$(vk92EhSGhz`60JsLRmIFmQw6B&w{=Dq5{#-VB zYz^`Qc4;z58Pf=mgwY^e~3Ap~(l4#fM)%!9R&&qp^w~{IeMQ6HAR%5-5|U3c#LB z^$NpmquONR+~^rvLgVSev&1lBavlWoMQg0L{aSXx6(K6{4J$Ks{+Rm%+7 zAX==Y0wX56smN8BqYSfEI>Xwv2FB822rBiB%lx$lR}Jy6W%Zsh)uLO6quOB71xMjZ zulXgrX^SOAEC`F1gpkE6L3vp2HFzlx8;*R#C!~*Dpge%F+-rDOm2UxskWnTZ^g0S696lq~?Rh8-#AeJJ2z5?b>`YE3h1TM>C)xcaqs{GEA-MktS~{ zQXe);VwWl@7DJO_b~P3>ijGipx9L`4=M*T5B|VSbTu1~+LT?T}rZ zVGN7yT^eVgatx?5j5Am|h#9_Y=>~eFk0fO6D&#vOI}WVl3Tzl$#V`$6Jiy<;wR9|= z=w>>Zsp&DdP*vvIYPvO?wdj#flMwF3C=cl~?(@%U<$mG@OveG>uRvLty@|ry%zr{LR5A(|F93T*-5pl>STDr ztNUdbO08Yx!*J$iJ*co6i(wI#jN$^Lcq~VCbuB8Wu1$#SCb-dK5V$c|L+j$aV+!I0 zFSU3XA-sEWqi3<^O%DcF(#{7_>+u$?I)(HfdtE*Q) z8e6USjSOK!2w8dk4J#0d^^mN~2)Kb!d&L!uz3M9Zv%UN~Iomr`z91J(aiFKpKsy?I zRcrLt=4gl7)}?r8l&gJpu;EqsHc(XDhyh(J!UJa7#?=n2EA&{Dje1CZ3Se*D<Q%>c*Isgs0~5~#7kqY(o1pa$(CW0Ujqf{yc+T| z;hM)CdjhN)pACf)=3?$^IshfmhOI%*(t6;|OT=LI1v3?|fq}DF29C<0{jmaNJgQ<* zW)D9HaR`h*^?IKy{U!B%f_4XKcer-X)b2#>7HfCDc5Aik)9#hp-JsnYwR^L6f1};I zw0pmHH*0r?c3;)*d)ob6ySA4VyaTj5M7#OgovhvSv|FX!Chcy}?v2|0xpsfA-TSrs zh<3MXw?n&6YWG>~zOLPmwEL-cztV0hPTujSzjoh$P<{UlM;iGvQHS54-2vJiq1}<% z&C~95?S4nQ)!JRD-8I^MSnp$AqrcCMsQPZz-@n!FTY5k9kNW#B+I>X3JG8q?y8`s# z{^S=JX}$ZT_w9E~|BT~~KViVY6Hm%I`IJ)!4L@0rHr2%bGxbMH) z)_$lhRzi~J%>06avEBZRlb;FW&l(T#Cr&IZEGnABpUIP_Oqn`$YVov^l9E#SDJz>^ zUNK`vQpxHwCDll=*=)URwiNu*r58T@q}WnYu&das7h?PRGUmY+Vl!r?NGf&aw8 zMv-AmIC~Th5RMymMs{9$|I8B#r%g1@N*SJCFn-eHnPaEY%xy+-$&}Kv>F{;`Q&{jo z(Sk)6rkXS`$~k(p^E;&zN6#-?xbUKj7xx-FVepLcXPsR<+F3bij%)TgGu;=|W;>VW z<;|-)_mT>urkZe6#qxJk%V0BXk~I}tnVC#)hCxi6G1SZecW}C4D;tqxf|rp!rdO|m z`PqYdrRJ7bpa`Sa@FAl>klDRvj2Jm;+=vNhot>AOGA}zfx8(dOV@5_Vx-e>sMyq4_ zxksAxGsOHJX-$<38^=O4Is$1&jkdst4*vi34@O0-SG(&{qAhzkXnW+S(Rs1mmpB63 z9Lq7pBbk{T@olHIwGH_iuF=+J!GNP^5XP@Cq{-4%%+G$9b+LoSzh|IQuZ4xKR z+Ik~ocw5_>c7A5&ACJHE#w$$nrfOVRAH@ zcGl!*pX{RO#KNNJG130fjA%4FS{5xTgOeN0O^xQ3<8OI%Qgrg9=+x+xsnKcCaU-HO z(AUV~l4xnPBnQ9vDlLnaPLGxz3&)-sEzM;1^5~doFZ_#+%7g7fuk^nCkIg*(#H>>W z4;h+0VpQIl<0hP4GGTTM%vtBoU3lK2#nrXT>MpHsxXkNcbH%!=TdoNNufOq! zKfURfzrN+x-`@Ghd+&c>(?gFunuHqt`5WUm#+}C9#-ELQjC+myjQfqh7!MeKH8vR! z84nwe7>^p8jmL~OqutnIY&9M?wi(-vCyXbJr;MG(OU4_GmYD=^Aw)L^4+xps6JsGxRZFZ^cc-slK0k(m*6Q$mh zZKv2ywGBf3r`b-oIRM2OwxPCRwroH%!j@ypwT-lm0$h2hCBFc(ADGI-!m1_JRLCr^ zyL3hU%7(^Omtl9&-?Vzo+RID8U@?Cae0yb~!FP@mTB z#va_?>+oc^r}Y2saI@Z{E%)1|H_P49L;KD6`+JBt>q~Z@_=m#pa-&4>JV(3JwL4L} z!?b&>b`M2Wz6Z7IOI7(V*6v*GR%kb0yPxz@>E6-qQ`&9Q?mgPQUArfKs_IF0m+Sab z52^T$gUVg5-3zq4|4S8K^|f-%?;73iJ{taC>iBE4yGpyp0hR9ro&J??)c5t;&D8N9 zq^Nd{)~?5hI7e3Jx>;WZmA^zf$49*6tGR4%cp2 z!~3dspVaOn+O5#;aP6AqpP}1tnpwt|{#ZdeWR*rm1@?gAi+Te;b7`v0<)2#YVY@|Z zryV(5={d6fxw3e(u5%};ZMLR5kI#>-S8dHuyJk7m(a@l?SVQehW8Y&*9rn&FwPKe= zZ9JN`5f1!dc`bWVqh)tz8TNJ?36NeRE8}VGP7}@;cr;O;E87VPYH^ya*T8rk>LzNL zio_>+rXnm`RguOpYM}k~u-zBUt5R_~a!f6h81C0Xa|-(gQSM+{akSc;6HSFf8Ear~ z3wv-l?NH^xI$rb%)O;T)sfJ=K&Jm#D+zu7>r5NmvHLiy007eUfI0Krw+G<0o)=;jaYUxsJeXDJ3#|-yeQVN#-UPCF} zjA2krKA0t+)en-AIt1)(R(Y4RhjceM zltQOS6fBM*TG1luWz$P_Iycdny#|_`7_t?`079)3LYr2C3b8qYO*h?o5H(cL*sH^4 zvfhuNJr2+<<;B4fMWbV>zd@P)aNC0_pBO~gio*7l*IGaHLL}dQu%1?NLLhOn(OAH4 z4s!WuVNnD0)9qSP_u+<&32P=*g(WoujBbkLu8kVuK-vstvBZKD5hn~A><6fDM^doa zzjCCb1_iRyz!|V30hLsIbl}Um{BKJkZUbA zUD3TzGIA5I$bqhcZXfF7#iHj&Pr^uDNDvz(-9#zHE61+-`L%J2ajS6~Bs|J=4<1IU z>o7Wv9a^?~+IYrz782fb#`DGt#@~z=A?v+t>@r?4UNhb@b{lUS?;0N&2O#tP!>~af zJKlCOq^f*dxvj!>uI)nGMUd;fw(r_nZ8zC&vE6CA%XYWz54Jzr{$%^J?LOOIY>(KU zusvye*|y8}f$d}4KHC9XddkR@Q7NNSW~ZE+GB@Sol<%c9r?jMONV%rlb+y?#!x&@? zHcrFu>F^CQ9L5m*Jp;c(jbTPM{tYsQ8zYPyxcoO1|KdJ=9o@fNW2EHE!|qs}F$Vv} z8kZU?@GlQD=veVJz<(zGl^FT>SAc)hjkEBbXEfq_9KO#qN)e{~XBpQarqn1$=qOtN zp=TonOP`3an@~DSn`qpuV^$fL8LJR-4gTdDg;HAFKM6RPguKeV)R<;WHok9+v`v8< zG^QF;j346PRAUCx%`jTE`vc<~!)g4^=x=kuz25k#;WB0#cNlJ?(wJr3AbEaf%myU$ zjS}1c)86^ONmbVS|D0j@E3T7*BBG7D=&B2hh>A#g_$Nq%q6<61BA{ra zODoxe-Zk_auJt}=dKxd#bExxD9RExYq|SSY<3Eg_|L8qOS*xR` zQAdgU9{(f#I`2B-FKO^??|RcmdC`>UubBSHH;}jAl6- z54=BncX?~o_q)~q2guJ?y?aRQuX!KxKEf>Sd%gR-4&-f^R(oCQ%iaDOZ@IsLEAf-` zOvd@Ez487!Y+uINMp8^{ONu?<-%TEf#3$%O&Gqj=;xYe2-lM*={Q!9~g_J4ZCwS%i zB!+KFd*GGt)4cNia<6=E@mjoA?-9S1f7xlEcpvxWU-p&k5Bu^j`>J01!=CJ4@;>H& ziGRC)-TOQL>+~dLzn$LQ?ZrJsZ*L>DM3?_j|0DGM?)N+W5Bux<4*x#?UO!2H@E(7; zzt+FYzmwkKYJZh~2mQo$>Xzkxf?ne?`i`yiAaA9p5t$z)5RE)mpmHr&R-v59<+rNU|=}hXb8UA#Cnm^SK=&`=f zpX^`iPx3GEC;Aur7x@?Z6Z{MO^Qq;=(s!(*A6ZL(@+|t5HS{k}r>FT|dYq@y^E`#x za0GqP6X}xoEZ)oTA(>dL|NVF%Ke?N6UpMiYI;77Ns)2fQBY)BWC`yf?i+ zdi%ULyg$&Z&U?S}e(U{)9`>)PaewLU@&4Vr!)y0;Qv?5;dN@aY{8RejyQrCeOdb70 z>gxYRy`A;GOI`jQ>hvAd`djJUXS^?ZU*JCQS$h1R@*ej->3!V$n75Q&>@5c$_b>D= z^v?56;q0%umumCA&U}b+$c@0A3o^Fa%Pll{Z=%1_2Y_;v>&W>)rHQ`qMc&yG6t~l@ zMB)8+j`FZbI6P9?_cr-y~BR|r0j>p7)t>BV_xe)knN2}x;pv6ps;v`0#u z$B!DbzO0wi#Fn&e{`;1m!N&9c3;*R1Jx*)uorL1;$sSGW%ZCl`muc^nr<6NCnnfqq z7s^%h&USOD9p-Oy=zLmmlejlN8TwS{1GE|%X%pPX9r%5;#4h(@w2MATyT+sLe4e}Z zH@#;<&*}bKPtF)eWEZsbdklA?x}FQI;OtRoAK_SUc+Z6zpxtTCPxD2q-uyooy4zcW zYX>c{=R)hKpMPwu+zQQu^I=+ct3xY8pY-kwJ?Y&R+T^u|?xKEg3*8YCJqZENjl6q9 zZMc5SeMG3wh5iivfU&f$7)l#ftMOduR@yt}+=OF*`9FjIPA_e2wuE+i&7mgtXS~Kx zx3@IZ5LysA)o%&i6uLR|Pu@+qnnH_0*W8$x++nX{zbP~`6boIB)-3R<(3RM_EYt|jgfb;G(!VrxX=q|-MrabQ_k}JAT@bn` zG#T3Y{7(v9Y~t>DxA^D5sSDMHCWOukjYoc5=uCV(BXk=5i#^`x(5TSaq4$PP3e`Y8 zF*Mg79y&dA0_P_g_b~n^ad_Sk{zrz6;r}}Sn9#AI8~l->lS5(LgF{0?{X;zbiz=P_*aqqNBo;d3o44wKQ}G+ zCuj-ZLO87tef`t;`77@IXd%>ax3A(ZZu^J*z2mssOHXbrC>$O-@-N4Gc!#t<$5{Sl zAAs!f{L4OsKGG0mMdk&64*#+rL!EI9GB<)l;Sc3(h}kco2Y3Oz53?U*_MxVgKNOjv z-mzxC!mBpB;IZ_(p7)RC>?+Qy=^Z`9{|RP~dBe&|V$xjbM*MnNLqh=)=8}*-wHx-y6v;+z-!&Pog*2gyz*8U+}L6AHlsD%||#k!yQSRcBIF|8nZvbS-aWqpyhc7 zB}Dc=L5o)rgIR9Yw<^Bx%Z!deFqhIFHwx8h*_xB)o7H2QhKA*w9 zhy8xz7Kz8`2TZ|rmj5XKk8s%ie$#(*t-n$mP}+fZmsVhDm-b+3Pn))(`~-QI7XrI+?>ao^&nXfN6Q%hU&QPq(}4yFEaC z&`F;yNq?=>TeE$&+sk@ty?bf4k5<_~o2&h^!}ZPr|FUB5tasmRJa?3Frgv6LpX?0n zli42GNbQkHe@yyf(i4+@Sbyz<6}12LXZra2wFlN$|EuqQ*S|7eVf$V`(B9Yg7}fYL zqaFXGy|8aHn(>eH#lFtndK+U3&uee&ImSLd$C%4A^vj-Rr0yxkO`fEG_5?k&PcRPj zD7~~bj6^J@7rw}2!46s{4b-VOGqQ05<1({p5nRI9k?pq)qIVN|$E~Ax)|NU{y03b@ zk~W!yXAC%&QH~24g&R-*^g`0$77ja_b17$+uwMnv;kX#h5dRl( z$jI0Gy?`_d7(WvFb?ny|?W>U$8!}GR$f(IVN8M$7PVNkLqQfK;oym;R#n`W8uO~OA z@IQ@FK5045WK^x5mRvn~Mf-r`299gVH4k5J3jO5jw+*`!TD(8mQ~1PJBN}g{vTuhOCcFnbe~*2doO3FGg5mNDBB0P z{|++TV~a8+3nP2cWF3eSulL!h$~oJFr#J6Jxo4U^!hd^tSjc#7!s=a8`w8MBae zDTFpyQO@OggP_b^8_IDkM>WTBM>%A@3px1AF0Ceyl=W!Cc%&MwbB>cZBt7~%#E<{V zaq?mGMnXS@V-$zP(Q|hcB?WSn*qmBbqGzR>kd#%hXP_+J9K>{fFYEi>=-U#UDIi-J?Hh(S_rp zF6+Ks!_j=Jb$?}v#i8nMZL#i`6i-n8LdAi1TK?BHTn^W({d?8_y7gA>=c_EbcuZJr z-Jkxj#lg!hj#IsRRd3EmEPY|8#pCX`_&*fav|9HCOD*o}u=waQi^tq%@oB}s*Z8^o zd!WJc4{CmnQJmOj>CS!o%HHnW2J8N@#&@;4m#nk&?<-!S@q0t@PEChZ_gT4?doBJ< zasA!a?ZV~!uMFQR&DW16to-cTEuM3a#hr?)*IKuycDH@Vx}Dv(G#m>x{THpU{59p#T0K)yjk=8bq(kB zcUk*xUQwLo{mNcgkr%7HF=J+2b-7vZlh?F)0mr@;&BK3Y(69o9F3Pfimq}y-&&q^Q zYxRwn1uL0>!de^4BaIQ>Iz{8IyFC^wX>4869Fdp2nb)z9SiUt$dT6wef9IGot_YS3{@N!d;f@Cvq zbjm;SY#P+&HN1tkq{+>-!WWr7)zBdC2C?p{O~qPnyho9j%qWw7oAPT|twoHpEokJ$ zW1DBiKv<(?LdcC7V_zmKPT6W~XMF{kmDI|M(DLe(nO@aP&dmmr=_%zh;xF%dHL}u7 z-Px?#BT<$mR%LDtQ^Z#A>hMC5k!|HNCOEY%UdF3a&5^#c(~6a^eHs~4EGl+plPi<% z#V1j*Yo+!oSLWSIS$o93csQnaiIze^se2oG#mP&|SmG^A8^D?xDWT?SYayn{*ePMe z%DkT@#ZU^4D_^eENZB!EP2*WJ+Pvg>cta|8co?UBxmon%X4CVKnGsi&i4W9~LFtiP zMEh|l?Z*pg&%KxS+y%7n2GiDy&=!u;_8UU`xQhK$_OY}H>u4jMOM9`Fw&Pi}C2MF` zp5dKNZ{ak?%TA`%dlIeS;bxTYc-qK(?S(#VKaRJ*mj(4Or#^JoZ*VBI|L$SEn@Ioo zVlzVF{*NB^NodINPIpf=$|HIS@d%k?068*}{1{2T3?`SxlQU6zHRCv!G2Stp4U(=T<>3EhxheNg`nBcmzxKK7|Ngc875}8qEhznN=fCTJyS}&dyQR01l0 zvVZO5%TfB=;+B4QIsM)9zuokpC{PwI;eV2;dt}U0=99_2>rC!kXYnt0uupPfjJc>)rrm^;`h)W32clcPU!11aAFK|4!L#(88M=FQJe;h%LM6mL?T zsd$p&>rY#`*A%~}m{R6yJEp>b+0#1jXL%yESVXdNu9>JGr*Ot~}NtD&gJ{(0(Q&rXtZCfRAvTFf~-)40q)*WkGN_W$)^1z!R zk}HjvUvfJsY5JiHTIoQ0ZOfZlSnY!4I$7?@V`YikSfWYZb6Cv6Wy?I472ypM@3xl4 z+m?8Zx36quSyT#>*S>Q3?JL`stXSx^vchE(|9roqX-(rYd$yF7-&x1PI;=f=Zmk+= zN}8oDp!;3quJIPPu?AFgut7kET^NrL#W1_(((oENmQ22~rw2HxO>&9adFU9=cw(4pj7 z#+y1N*8ZLCPwEH%KA6-#7!|G|T$N6T6mtqUia z?`#Yn%$lD~w?SJ0fm|FsxQSO?N)8r8T3!@o8IPuN0?Wp=t?EUQ&>u=Q6j>X@`B4<> z6%?wLHWtxaKWb8))lPF|y7p)OW8WQ0Y-%Sy5fTXFD43$bD4(}iY1B}cJ~ z*h;dH6zS*nIC zm7%Xy%VZ6=Vu4cn%0ypOxyt&YvraA-Pz8tKEV)J-Oi7eWN5Zdb>h{T5-oB;}I`uef zYc|L`gS=_wLeE0NEKIk&QA$xmg8Q4xLU*o7@(jaT~l}N>4 zo2(kI;VV*Qh32J8?krEc@{E#nbg_^nx@-y!PLxiYil>VbiSc&B1QagpMD#cLF2DZXEEg5tS~5ycY~hbo2?_y5?2=eLTx z6@RRlRs5FXcEuMIpH=*n;=_s$C?*x}P@Mc*>)+*yF~z;VvGg|;J*5v(9Hw}hVy)tM z#hVnH6>s@ZYj6IqEPh+OBXCzEH}C0is90rm)BOyo?f`c#LHOM zn};2aA=(Qkc|%y|*gi_Av*22og2~IiyR-hXeFwH)CayDCK8$7%Wj*4y(X118CM|qg zKeAN3+k{L}Rt7IfFI&vLm6yDWuS*t{Oeeu;j$TPqd+hi{qet5zdwjexkT8hfviTf# zT(0!~iHzCEmOXcx!PgXjs(81q^Ym+VKk@ykM(z*lHV*!Vhb-OUZ<(7Y+lvD&<`jQZ zf&VhV^3$sScJVu^_f5qY6+fr=q~cih@8jxzyY~NDaufU8_*dcu74%$HZ@Kqtd@A*v z+sXgmLKhB)E*#GNkjBrYv*Z8&f-auRHJ&bBj(#||qyPVcmGO1uT89!?PJ#}i{U6iV zx~g%_3eP?b^jKKktg4(?!ZMFk&bP6s^^*1k{YKeVtX!~S3GF6Y#k{#L4_WO)I5%>2 zIDS*xN*-)VuYG~6*?0%TFvj5Fntg(qO)X1ib!LtVUu+HO*5}MVfqg)JMEc0 zv&I&Fr}xeYK`GL*R!0--CP0zKzAP7RZ@SoLo?S6<yz=)QQa3#nn*?P9Gu&erGG#7`T>!)k(v@r3 zA#P9C=Z>&=xMUSxdqZZdUf4t^Sky!U&WPj+<{>O=me0sWMvoako(23zUrdIQt>aCx zJckz6@MbuZdoR&4~yxe8}Dg7=TDi6&<9KY@<)XMqZo2eK4ix5rseuOy z>%r)t1BDEj0AB&UYUG(18$a$qVWMF8Kw&i)d(VMF8jK!)ppXUA;C?WF!hu39lW3#E z_YH!5Fw7%$!AhnBbcO=Yi>SkOvdz9w=-R zI`|qGI}dqrgJB*J#VXcF={GzX|G?~J_y;DY z;vX2Djvg2XUjsAXelQD$c^DO*g@0faYymSd;v?=GNk4HnlHRA_z7@XUZG;ERv|$&_ zcVG`pJ%ImAF3vrQ92nh(9WV`M!3?+uO#BbhmC45$uoldHmGl(+8sQau6}w;_%!1*6 zA)a9JhvXlVl~X?=eqj7p&4A z0mI(GLO6mwFbd|t7?|}B77{|QI#@`98L%5n4?bA%P6v-c9*mxX9GC!8U}V(6LKaM& zday9)4D?PrSeOXrA_ohr!N}>zfeG+gFgW92AqRGYJW!;39V|pZuLeCZ3C6(;m;}4Q z$G|L@0dwFhU>?kY-sppc{a_dj*We#m3r4{J48VC{3`~G=a6Omb~rSuhDklY|#cg0F!YFc0Ry@VVFn zYeDZ`(jCl#Enw_E`~@@MHZa_QzRo+jR49E^i$FbQVCG?)jwLGQEp4@SZLU;|`iSuhKRU&am?2jwM;=nm|F zDKG|R!2}rlN3K&a4Q9abw+JT~fP*eXAB=$A;6yO`3gHEFU|Q(k!9URZpXh-RaL`4# z|B3Vk6Fcz-On;Yr5%)h6PB8a9a*8lVB1|fsY9v%z)9Kke@;aWr{}{907)R;V&2g=Ydf$0cQV=aD$1T z5^k^?d=1Qj`$6w@^e3SQP6PvR9+(DKgW(+hg9&gOm<3-0BR@l5_&+CoFU3DF0OMdB zOoFSyG?)Ur!3^mAf_Q^ra1R&*2Teu~jDQJnBA5l|fw6zbf8m1}FbQVG{U7)bCcyCf zxbDD-V0aJl2D`yDm<6|i$zS3hm;!mZ&=Z7MKL%ptl!2F!4LCdoT^|2Qy&! zGUW2;fzjVn4#5Cy0pp;IE@r{Ug#HJ@D|9d`bTAL*z(E1w1tXyM2H^%H;5;x2Ccpq( z4<^88!8G^^m<9KM-ahP1K_09Hqs_2Gd{; z%!7lbqt`=vf-!I&7(PIG0h8c1&^w5KU>pq301KoS7-a?VI2aBU3ah~sm=ZoqFmD69 z!5kQ=Dij7?4j+ty889Z;zff2YCI=P@-C%4`p|A(^2J`Ldnb;jtC`<&?;5;yL4E_lH zIP8N-@HH?6=7m43P#7_baDh=UIjT@dfGKc2m}8;xSHL`&13lJ}9&`ovzz7%z126^7 z0~6;K3Q5pAuTXeQ_+#)FjEqAcjDq{Y6d0L}T(nS_1t!4+m;%>>`SXdN;044F%uXPF zA3*NHLZKE6UraiJX>c_dok%)@-R~a1rqZy%ypL#+D!t2Dc(7cpLu22u~|=f=h`P zm!CWt81rJM>_{}_1{pnvEPHCY1I>_SI0UAsy*?49Y^$xfPec= zsbC$)CXVd95E*&#Zzyrko@4cAh78#={>`W!F-3gq>W6~ZPb&Xn&SjfY9qu6fNi}cYv0VqRdrV;XZHevVyZa2XqXq z-%!=ne{OYm+J7*#v7cc``m9AheX+`0aY>)f&=u7qW>rTzL{iGfX5<37@w3s4GTUVS zw?j`V{iFRYo&1{GJHMw_Cl1MNTfTbG55GS!iq~oU(VuQ|dy1AU$@LAkoYxVc#AR0g zp!H75$E-^KDBTsM%f3t9D*A!d|GDbV?(El5^?~Y07h#c2((z&B;!^@~vd*F1OgZF= zDwRW9?j;>}ARkN(j9`oT=eyd~;jR!d>FjqoDOqLg?nN%6a`mP7ZU|AnyZTM z9wm7=J>ZXr-{v2umTw8?WcY#d&(-h~P8-UK^b>on$R{ojjHM~&zhtilcNhF_@L!$zB)n{m`&uiA{U(*7`Kb>?5v)Pu{#;L)U|<;I8o(9e=hWl((h8b3ooV2 zT-Orswa7*121a6<%3Uc*iiFtN1V5?#wDOIe>r3$#xgE$wt_zHWs~?QqG?BB4lYza+ z#Z|7MRQ?~7^1rbkHO_{r8P&C2{kgI_2blX*P`pn`c@Q4c?_ z{B0(8P5#%*)wO|(F=DO>ZXTWXdR&Wq=ElHS`nLJ6D1XzdgYxpc1^MJnR(_GnyX#TH zw^RIAep3Zs@@p^r_|1XgJfM6@m#RVNDgB;fETdR%?fskkW_hJ{MRiIqV6i(L{lwzH zC|+XKP5#Y?o>BTBP4C$qRpvT%*Nx=gI^?=rtp1awbnBA)Ku5osrhH5MwjdY3&B}>e zHWz;h$4>Z3<#TE_k=uFT+XzCM_ z|L}8dmcL2kF?&N*$G|yq+q=3t*44k0B4{>|UyFQld0^bnm&#*T=xS5X&#X>UopoA| zO#G1#+O7P#MoZ!!F=xWx2|uBHx&vl&*OSSA_}$7Ew``L+s)i75rC+G=vh_IaCfjP` zx}f%=6qvS~+}(_}tzV|2A6Xq3%5bHN-TBZ1rLWQq!R~`0?hqUM%`k04X%=$5nRZ#O z+qBD!1<~Jxes?l3?nCvtUMZVL(%&Wif8=obNB4ge*FyJ0htof@|5C2zqaS?I>U)~M zrd}d{JLG1Cj4A&j_qdf?TLqB~xhd5nC<5`0ew~yhNslcOo+krgdy_N+i}_T%PG?r< zlKsjrRwFO^d(ro{2FCpfEr=#R=JamCl$7hMyEWWWUh9T(ANi`)pLMJ;qwODBC9bsU z1!M9b`TV!7{1uU+JhgZ4_IT=Np^}#m+6zb0WfS_r9;@%_JClA_meNm>VFz*pE#(66iN>S8~z9=Y^DE0;aq2Be~VmfFSmGqXBH##=cFXBYa3kyihE z)K#)o=$m>X`-?;SZ;}o>(GO~@e!J0@`mvOsd*OF0|Jzznu)i^Ml_`(c2K>&Q8hau5J{#t#|d4aLh$MeV&yct>KuZ`62vv_*vyQ zDc^-t_z%Mm>a4y?ZA5kkeOT***lkn8QPbhzNAN=X?^UD84IsfwNsH9&r{M`B0eoE7QcE`X6 zLm#Y8`y2a7=dgHRH1QYzCRq6^)t*bg$+)+|?^gcrO8Id}zb}4Btzz?YANrX~to^rq z>jC+RetA2MQ3cv*;$O{skiXQ*Zy-%&JG5L%njYHkllU~FAAG>-Pc+)4c8l0w2S2I& z&nO@JrR&qQOZ5t!F8AP4yHx6_9q32vt^LMQd^Uz|l6s195^AXr*jh@uSZ0%a=|L|& z$LftL>1_znqt*T(njQV;a1BW~>$s-7ue9=Kmad-%Lm!a)`D{1VQ{GD0;QW*Ns}=ox z%<7Lfp|I_TbcnFDo?tY>ve=%jsxyYqd zPV{6eZ>P4y?^eE6f2N<-1wE^DZ7$jI59ql*=-Z*^`>^vWbniMF&T>0@p@)@T?r#;5 zj`Sfv3VO5;`UL1fA9m`Y$NHc*LyuR`C0*7+PbmE!NhCIto@L`9hmD8Lr6(b6*sG5B%T;tN&@`n{vXrgl`m$*}U?ERhf-al$PxxK%lge*2+){i*ev5=h`C?Nx z(c1ytyUE&}D?~Oo&LRBW;;-`C47XGsgeTGQF+Pb4vdwrI%m7uforKs&{%w zIQBvhKWXXZ=~s0U0w^rMr5acAj)uM@anU!}rqGVqf*Z zTKG}ryX#Tp9)=z${Yd3*yV(DZi?x5g(p@m#OUHv+%Zmf=O2${>z#CI=p36(3>-_nFdPMWhaA}98SQAqPD_hGd+yFyOV zbux0vFIs=kQ8@|kT<964pP_VjolnNy4nL>-dA=1m^m;14mKeAXtep6}75yM%{hemX zcKi=|O6g}SUBa^)dbiSDI9>XRy($L(^2&Gp3ZajJ?mch)(PocHp9#>zO8+(@vdxx< zLUT5THqft?yRoF>eB^Q}x7J9R=SOq8s;-khgUJ|?TZdfy1?x{-+_xPBVV?5f^z=s>Zqi{UhzlyQf12K@+gEyUs)Y=$~dOzH^a{;|FeDY*TIj!X!ZNzZ-yWKd&~bxg}$WU4)}TH zZ&ALsOM>$8tG&pjzhdn?TVY4SIh4QHHp}l)zDXbY9m22UFQ@#dZv|XDB^>qe!(X-f zk1Aj9m%YN#j$GzzR_?3nk1LPj&%^vBwp;!WmG8n~%0K+r*Dc@WlhAiUk1Jie#IlLK z-C|Ga((aYb`6uD7I+b)${@EIC{A2Wyu@v8SsKibka@lWKf7gf+w(@dN4?p%z%a0gt z$sY+{EBu7=X@Z(f=x$qOpf1mQ* zbtd}lVqf`^{<4+Ze;9sF`P{P2=J*ott?<1cTK~)M<2#{;m0p?8qPG`*pnPc}%O>=y z_fl?@KGaYxeH8SB(#!K}0`!#9KT;-N4?XfD8?H|%UE)^+K zZ1ryTE#Jjg^f!zCPb@!b*}c+h2mHM9FYAN98-8?`)sOVSuYwp;ex-d$pBnf{<(H@1 zWa#M%y5#3v=-o<>;g-!j$D>_e{v2;@g#7w98?GbCZALDxa?8aS+w3lG*z>BRGO{k6 zObO@C2<1lQR*Ddt(051B|EcxIwSR=(13lRXec0*5s}Fh|^zI6}#CJOMoYEiA{H45i z%JWzE{6gefkxTq+3TO6fJc3-8`n*x@bn@*M>ObUC+R%PVgxHK6HBzTMr&YP_$OXHt zJ@XQglQYkKt(=sf-N+?=YvmXMGn*@4lW|p@K{_aZpYrjqV*J587c2GcRnEj;^nYjV z-=}nG2g`F?eSBf+rB>v^c`N7pRRKyr)*+p z7xc&*HePNVP10o_^n}v?rwFr^#&c=E(GV87QTzq_tbSaC*ec7b#B(}wX_dRsNR{ey zvD3_7PWkS-th_!Xyj{q}|7iW2rFJAfo1tfv-lFtUxncae^xW2zPe#XzY!(pew%L@hY3gLfQoTCyz*Mn5BA$|Y*xGI zGalR7PbvYquBDtmj9gyjepHe(^EB*uGpzs_o$Rvh%N-J~x2)aD^f&Q`AO5rDi(57c zPY?8{(qA`JZO30H?f4EZCOhs|a~Ar4vHFXBD@eEx>ED@jck{f|o|KPf^pibSKdSmX zmo)7K3CBA4nFE&p9o3_JTrO8>Cl3oF&?azf5jzL1Tte*-4t*YD#se9z?3CyCGDJE+ zOo{)y(aRUC-UUKrGyQZ_Bt5F=EJgVel5DQsDD+X#1Emi!T$^qapvRP6x*zqPry~0E zk;|%_>puy-9eS=0dKdJ((#z|i&CsL14PU*6L&q5+QZ9GEPb&X)6Kivw7W2nt3F%_4 zk96rVt0@OnwOn_Dto`-QzRcT-R|od~+SOmmWgT*Pm0P9hKU-?udKt{;`L>MYtG`Gx3L>Qo2i5p?5(~EBy+Um-4Y${8hSZ=jyzmSb2M5Cvw3t*1v02pMGfv z1H^GD(Lxe`_K80#=jvtgXXrVUL!~D~n2qw)72Z~8|7QdXvma*__<@Py(h&}Hd8-x1xT$R{)(L~$R(?-+~p#~R(`+P2|ufR z84{7LoWB=-{s{b`=W?ANXYKc;Uk5*`d})HqMmUT8?|S$#<eOPV!r}@_0^wA1I$wvpK%V&xM#!etCPd6?#hP!&OiGTL(R(^uE%4GyJUb zFHt?pg*g-dcEAsxV8iR`FR{A|dPM1c>Gi;mD}SJ|X3O_5F7`wPUF_9CPb%G|zlk?Z zhRN{j;pdcpPpN*k^-yshiEBsBtj?F+s3jg<=*NfKc)0M0zndjIND^dCk)Jj(jlW@_!S`&qFZx%o)i>QH?N*Q@9!-)r?>-&nSJ6 z%1imG8b^Cu=`ShWjc*IT27W4H?R~m}FLtNH4^FpyS8jzqA9_sbz3zX|6G~sA_C&r5 zdQR!LD&3TSv2%vCUpXEk{2gLX`O8$#T_0k1x7byFwep4D13ljdeOMIcnbtoiFaFd) z4=cSg9Ad8?ezZbQ=*`fB3cA=^3q7XvvvJGj!Y%ww@RLX2Z-<{b0)H3$+!6Ra@WVAW zo_+a0iiZ(_@)0##dH5#7PblBDE6e%w;b)G(Ukg8f1pX%Y(a|=1ec9hG{vUzAOZ-0q zzeoH(0)Nza{6EY3Ke?~?!%rN6KOcVP2>iA1^GD!s693OWy#L$9|HJU5Uf(7DD}T7w zL)@?EZiLVS+}G4zv7czCyqE5e z%9n7gLoYJMhU2!9-XZ8$cM*TyVt6GU-7G=)0|Mb zzo;C~`#SscTySHE4g{Gg;j9z6an|0BQhDl>`7-70jJe1K=Ucf~)!s0$6?$a6rMvK( z_(M-CeTT}Ma5BHljZ=x-7V-ZAtAB&anSKz1@3s`#aK4IMR^@I{x$9(Jy}WCpZn4*c zTy%o9=k6QVZwN`r>|j2lsq&<})m%jQRPF@TCwv_t&Pif#I{a?s7nD!FGYTm$e9h4D znbQ0vne!)lYenxu>%U7+t0!+qpvTNQc~?S4JIb%8t>~pLwtC-F|4e$B`TlmiK+<~` za`A~)?rD`1fA>KTUt;MY%}4w#&Fk#LUrC3$i^;!9R_}hb=h8v=_3$&wzoUXb8FwrE z=%rTwKM&ikaqVLn#F|;1P&;COi}-(;)o)e0>t9KHcfwC8Kcsxg=iSiLN_Pc-dFh=4 zK4_bs45beg{h<>H-*ju=wL2x;HP8d4&(Vfc@wzUy$8_AbV%$sYHlv@aKh*A8=xL?@ zSL|*_KR>s(U5W3j(7o#{eMpFNHhEq!P~$66mvHqU7rw#Dx$-6HJd8>;qV#E^%;xf0 z^d`VhD4#C1*~H&^=xL?@Nc}bCvg|p4=(i)6yvh2z&Z?V!XBYJF&6a+H>eHSu*O}Pg zBL3cD`Cl!S+b)?;&$ys@S3vB)id?k8%DHx~=KQaM+yCLq67{89S6QhZA9 z2e^5Uj9S^Jm9~D{ik`Q?`unEpnRGTIhBhFQ4!cCI*~+=`O$qlt=sBf-!HO5hwOu+& z_(okyxEEUe&QkbXe@|hrZ{9K#myY!cSU=Q@X(toHIfW59s1^eEkng1!b0ttT| zfz94=sGaH1b4qVH#`5e|Eh#X z>F&A~`d;XHr5|U5Y2sD&J{%jZ9d|uT`iz1eRr*URUrZlzzc>odwIk)KUhF(*?fg{b z`)WtDBbQUTYn)ugdyW#`O~?iMU_PXBLf;BKrgXiHm~n=k(Bn$~s>&ZOA0)gz$VVQs z;a#TX+uRpuZ*J@-6{c-(*1VtV;P0&5Oto8HzNW*^DgPwpOE~94_daIzT>DbewH04C36i)8nq^&&OaOG~Z*jM@cR9@_Fhn{%Y+Fw{ke^um_K3(bJ?_Tlu<5u3a8}PSc zzO%_y(>@t>8A^{>`8U-L^4d<|{U7uGhk4#mY@difb4Bk_t2dxjZyeU2b;ySwv+|dh z_tBINh@C{$#0bQYw3NKL*r8up!fLO_h&Bh!KQcSkCewQ z(R;$`b>o(8wzNg*C&?W}+#{U(S zKJ=uum$hPj+N(n@kv@9(<{}sU^wGn&7CG-JE0=NpR=me7<$N=88I^PO*(m7Sp?52N zwCcO-lB&+z1wXI+TS8WV@>_bYUwVJ8&-Yzr2rl-t4PUa{KI6R-uF0^n%BN{zHVKzB z$-Xz$x)HK4Wa`%NSgY+}=HMm1cMd4o0G~upC zKDou(JyY$taeDE$6@Etf+m&BA4q)PsT;dDX&WS}krFP&}_$lST;OtafCt_z8alPb$6a{<0xNyQ{qaE%mmhO@mJ|{m0oUdAN;iP z=^B|$>b6hn;oMqhGf6 z=ak8Bf}T`*x&5usyOlnxOnxWyuv{E$3!)(#yx^wu}9* zSo^O25qa7CJFk%yZTwSoO&ci}azt6{>3R_`6O>}b2};77%#na^Y*Ao3d4Gce82h5G z=rqi}qv4u`i&?CC;qqzn;irWwyoQFwOWT(5(HXuS*3iIrvlcXsUC}o7B5y@|qA9Tk zST5k!AYakm%p%2n#+VN;HF^B;jT62O%?iV2Sz)0pTy}@IWW}l`zWLCKc?`6-wKlk~ z5zC6;VlZL8N({fvea5(XWn#RybOF+gjmBtd*~h5gPL$JI{XeS?GMGY{=0kyY`GX-E;jgt4r#Z@ zgGY)q@?9@{6#gA%ad?+9ve2`)h}EN;NE;i01@hT$Z;@H@8zMT(_{0x3WEp7I6JORW z(P?g5+DHT>Oh$W=337uh{Em{82Q3^%j6g|>O4x|I_{YNaEG>OUf+Dhf8L1>C!z9xk zi!|g*S+af^)@IgUF?CwQ_^}rh&&H3v&>M#r7fl$~+B}AjEv;NVX7$92##}T(${@qv z?{4p=z`H5%ZVJ4c0)L|^P|(dqztZjKzMj-54prPgJTPa+s(ZvX+uo{DcMuB9S%34- z7}))`r8hv`>#Hn(h`JvM*%KWm^hPLsxS|8s@92KWKDkphZ@Rs#A@q*Qh@3Z0ZJe5~>;zafT1}mTal(ieV*~;bA zzkJMwBlj~am)vU6({QK%r2f1|_3pR)_;Hq=OWAbv`dNPdJ(k|RPyPSA^*8)$4d+ms z9?9=mdg@s#7f#yvr`3M`Bi3&66`OCFHud+TRz7jR4R_)hYbSb>rRRUII8eiTlf`g{ z#_QLAHtFoj$Kh~Cf158h_ZLlXLT& z+`J|?kIBtfa`TehJR~>o$jviy^NHO2Ava&h%?on#f80DDH=oDN+i~-A+&mmN-^R_W zar0-~JQ+71#?5?+;bH7e8fHPaL+N^ za|!pn!9724&js8#zZ=JQEYT5&RvOa{L_tdy7Y15n{J%7 zGJV{*q8pcVfFc$1TcJH;F6Ni$dO z9ZoLLGl$(80Ee!9E7nZg+*Pb0wV){DoU%D|@eu5NuL?wrEinJ}_uFtfWTe^9Mb9+J zQyLF#U$8K&;n!+IU%tO&H>)SX6TMp1bM0J*DGiuI7e9%c9HTUTqe1~LaR&lk#Qc}g zqy@CtzqdEbc{pmr8IDdfk`B!`(V#eVdRL>TT@E9Ev_BV4iMB++WrG(AaIv{?TUYU4 zqg!;Jz?t-6oW6^ni+7|bX-`~u9r<)lBtM;g5DIX4UZ8|oicZgk+qut1R^s6FT|aKU z3QW`vmiQrIclxeBH4d7jw9|L}q;4$_t{;eq*(&2N&sn4o=JZ{^>w2AV`$^Sv;dOEj zr^A;%opZZ>U0(IgHH}PV_|>d@KERYSr|jjHN(G(&mGQr&Lf`dEGpg_Uv7#?Y zQmMZfnxu&*71BoRs_T#tlYnvwE5hPTba6MVIHTQGMr2pyLjK>StG#33D3h?ey-& zE&e-wcb&WI-(BZU&BfojAFR-i1h&421h)RDo9QGiy8Lrgd2TKKTWL;;^`fOzrdOqY zxc!BdTBNU!{8s`cn2>_+7p1>T6doyL*Pycj0=m!vAeLja_|(|76Q_?6|aJnl|LFsA-my0D?88C~b{#x}LLEnk6$ z7H(~ViOt5POPcVo4P*R`HMXst1uKvySPiCe#WSwkjDjPN1Hbtz9sVJe50$3%`3_ z;`&uDI0iDZRo3f&EA0wbf4K7R?w9|sw=3knU4Cz`Y*)DY(_}t>5qF|k*)D0(c1er2 z3r4t#R^==857#bn`YxTFx2_&`ZV7y4nH1h?^*`w{Ock8d=?Jdajfr8!QvR@xN^pl5a&IqWD3T7l9-bswZerkAkW<_#&pZNp?@rqX7k<-f|`4S;)^S_Jm=`Q=s;EEC)o4**zf>eNmwH z^o;7LRw@xxa?qedaXe$xFO>sdrbD?7-%-zNH0$;-Zf7f9e@9=_1W6jd{a>-j~B5Y zLZx4m{kgndyN(}b-I^3;e<{UppwX)4j*RlNu)~@50Zb9TZAx40^PyFnB~_+=pOK4A z;We832eI0h{(j#wfcWi?;L@BEK57Ji1T8`!0^v=6{Sf*i+=CE~5Q#v4Q3!+N6k`U& zF$hBu;(DJA?~OS-eJcOCOd7ANud(*QK&q0`rFc0BT1pmBQ+0*{i{p|dAZtK9qVf|6Srly)oZG=(z7pqS+M%zl(&z%uWkxE zaik(;vBhF^|8tTq0D-OQWwMtcd>k$_+zd@ZTEu zES5B=fGpr-pPj+RD0A}$M7j(f7Z>r6`U&*_!R92z+_5tbDHk!2fxu@Ye|hiIX-3Zw?j1>_x>&W$GT&0e6#tv7ne+JoAAf? ztuMGMUwWiqV%faIs_`o$zi>2$`M!T{*qFl`0zY~c{dB#)zVpvw=rS=slD1A=2c#fyx;}zL$uHI>hE5Z zJG{z=0p3+FdhsZq=LLT%^0U0!e?s_r<=;nM<<*wZW#lWp`g;)YPk7}oqP^a$y$kh6dX+0d|4m+b5# zl{cXML9hHCl!tk(zct9~y!uN-{Y_r=4+FnCuRQTmabEpPs9))oKLdDHFL-BAzsoD{ z4}AA|1^i~O`FkGq9bWnSQUA7A{e#Feue=NG zPk80o{P~Y9U%6ub>NN$c*36&Jz)lqs%QTj)UbCvOXdNqDwy0p$qE)NrKe1xj%EG0K z7P8fg)*w}|Y!O?&VAYzHPZhGoD~lGbpav@nmlv^xg)1Igv}VnswQE?>%GI{D^H&!Y zJhfu}V%xGs^9u^s*jBDsJ-=Y#!op=MS1)2Ki`Ljy0Op!is|tlxZ1Lh{PplU1_Elsn zS_BkPyzq%4Rs=j&u0jX@1%APrHLK>^R@l~f@BrqkZI2bLT3NWfVD(ZNL_y)w`GvyL z`HKr|%b0ETQ$?$6E7q`8iwc%uIILj7%2m{Mp=||QzGyiiv(&b18Cn*sUcCr&BR88r zzi`dEqDAw8!2IP4<`+J(YX0(qwbbRBl}kO*GVf8#SS?(H@|ElU$8${N;$;Pot!9`^ zLIJgwVIH5L=_~ZE{rkC-2e}w{FT6WX80(_tMQhdpBw^qrma*j?%vTlIKueiUD~M3b7p#`CoIn4G z#miPcg%Z!SEg(b~hPPz&w_>^to8iCDUxd3Ysq*}4)sY2n26*BEs z$h2Ba(hKfsE+<`71Fl zdF~e%J+Wr>UC>w&E1tBi!cqWH))ve!02vEo2!v7IW(SgwaXA zrN-PxM+-?r|0n-Q;-!D8|05{>UoqhRqZg7PIi|s#M>3WkAX}9Ktxlqgx)ru`jF&%>sudJG2+RHXA6U%MZ8p)!NYTfLC_>#HVncY@u*?wiFnPh z5D(85HV}7Rk%|pSKzoYs0X`Jt%nqj*LRK`z5VG_XL%@rrI0o=2HUS>RNq|Rj8hCYz zAs{AG3_)-b#h_dY#SjwHD2@dWM6r>v9Eu0wPNf*a*({39jO9}dfo&ee{c*=p3}$~J z#Sr!ciouL8qj)Bi78K)dT0=2}$F&rzp#z{80-&8@2%wuN1|z(gVhE@&Qw-s@gyLDa zx+sPKT1IgI?skgjY zI23m=#TM}V6bFG9p!gvyB&?GGVCGd64*}0aF$8Qa#nGTY#S=h(iU)xH6z72c6eoiI z6i)>GDTYEQj^gQ{KgGeIKgCl)e~QCEe~PDp{uGY_{V9fUpGNTv(4S%`9C9dzawCu8 zRM4MdtnGY?b3uQKhXLP1OgzxZYBa|%hNe-MRZXv74r=;ylScgHa(E*M|K*>5y8r8! ze+uvZ_;O!b=atrYr5Vy|Gmi6p^=^0FZF3cA@3JPZvO2G{!z+E#D}CH6eb_5qg|s)^ zxBeqv_8<9|z1nX2kFvF1Wkp_T!7FX`O6Pl}^N{w&Bh9O9l2UzSDl>Vd_DVN-rR%)X4zKh{uk>-R^kJ`b71G{#z2#L_;g#O*m44YPy~!)R-YdPvE4|Ds zz0fN?&nrF4E1lz&PV-7n@=7OB8h^&@Q7vL{%FXi;rOiHUr!Y9@jHIoaAsKXorbgPn zvdy)fl~`p;_(f@%eMnQJ#6^Wv_m>PQtSLFxr!9r6zQe-U@bH>MKD6`8wN{1n;GR(Nu{)Gn)8m8RdwP`Ocb$IX#XFQ+(&LNYz#dLK(n+ZW zJ-%XVrxqz?k3y_*&(73{3*3i~(@%hLXkhz?IVurp_G452!8i>2Z}A- zlv2n~-|qGkk9H`<;a!8o`JK_CK?)U}ZlyTB(?|Rx`h2b@63^A*KRXAB@m&MN@4BPJ zV_n0<7rO{%Q+K>zm|E}q>A5&TFFxLJ%&8Z@yp!V$M%mi#5b;tcrA~Ff?+iq|vRfy1 z-l5cq?$?|_h!>-drh`&PyUUz|#j|%DZ>iYrg-RCoq>4q)R5Ja1@QMhI^(uA{Wywh2 zUaMlW5Qn4ADLgxiKzv`W$N~_89+6a0OZcghY7|1?MJen!;!~uz@RNIMH|bJR(iqJ8{ln$J^}qFQ-m-johy`&a6LXAcRS;oW)W4&_b%l$u)3 zRGhxOh8Z{!+PC4(+C@AYamu0C9xJesdupTF!L8MBdd05KfnBw;T6j^0L$!-VPI1wx zD5sT>&xZD<=5s2BMFo{57MY}-jbT;k%{hzA^>w)y$xwtnUNS99`dW!v}M=JcfV%3ZEh zWt$~Jjqw2gTXpJ?bLXM7DymKuHVB`$1t?3+_niJrm?6b5R<7?*hzu&f$|KxZZt`Ev z=-uSkuJY3nJVi;m_B{F;S?5#=+|GKTEQ7_hIyk*&_7ywlgqNf%PJhZr@CThte@hI)hW(M=X-4T$2zg%#`%{+*Z5a zOkpc9d^mKAIrwy~pvGu9{d6fNCALFxTP1R;Wz~LFfxp-vA=-xuI-FXBlZxl`Y-D>a z^;9Rtvhc)dX`21HBIg$&aN^ERrRl^ICS2v5*iS=`qSX8c0xx;IoF!$ZJ9n=p}2;hCYIa7t2Dv28})SB#N<)?7+e ziE5Q!hw8Sz`hvvtwez&8XJ?(0x+b5Kq7yHW39Zdfk_K%1D9M(Qe zcH+zSxj8;OofD@dO_OpLi`O+aN?JP`svo8oQf(V-rRGUBN{M?qwZJa!uybSi^qaLy z1x5KZOO#D7MB#j$AOBoY zA3%_cZCgB$kERwBp7w9&{69>;*(eBX8z)9cto*Q9FU)j|wG0up?!)cw$#We`1x>p` zk#ST1=<%DXAQSrkH)gXQ6f~OV01v5$YH%Fk@}V@IxASq>lg{p@YP6Y&Hp*B_IO<*M z(F-wv+tecn+&EfsskWo$cN!GCMhRS^qLht#_Vyn>@T{}G-oh=^*AVf`o<3OTB@N?t zMuN(k&hMQefOoj(d#B#Owz*x;w6XG6k;aYIw#XTfnR0W1(ccn)Q|Uw-oy~PPll0@2 zEFWPl!ncc*Y!hOJkc>cQ*45rK>xHTpd1Z-?S8daaev-1BjbP#{cE5JDvR=cLD$8dH zg_!XZH6=vF0CmIKrb1glI~PDF(A@OL8vnZkB%$f(!0wQ zC6CFc+$kxnDwtP@gO$0hGa?zzp8&p;e}Er=9sl8hXCu4V8|ew>m2GFaKbc3LSM9ot zy`FJTU=x?b-Ty{9V4BqJDz$-XD0Y|!o=3ZpKD{SFy}IpOvfw!d{Ba8O$0^`xM{RH( z=%%y=aAw2=r?HMJiwxgkR-Yb+{e284fMRD9cH37@WjT$j5tz;rXq1Jvx#_PoD0f8( z%2F2p?CqyMPKxOWLDLF&FAqRIL)>};z9Ql!cxrftwt8B=6$wT@v7}%O>Ec1>J(nF z(}>x9uv>GqPEzHqi>CT(Fu$riE@`Q4k6F#HYs^W%>4>*|6zy55gKVR#znAt|2UH(O zztRxrNCBS)uBMB{opU^zKFk5^5`mp^pzv9g%~Cyj6; z_P)l>V%h5kp7=3KS9rCue8Z79`6rzwehP2oC-TF<7c`>X&03ljE@_Xsx#2OC(kRB@ zc{p&M?^NxIIzm`azCHVcz7f&MJHz=dpXc<+rgVw#5#sN#*zR$?FZ?)5}f-^KqX~((y-V}0M8cHORb$%u;d-{#k!D+e+?uUp4)rj=@fn-zuq|=r!&_E%X+*|eMrR&Ni~_pcU}nD z9|6QjfT@|-g+Zi-vaD`%f=sx9kw@Zr^ zmLk4xN1Kt2Qta{2oimm+pif1+TB~ep&=#f#oDQkT8Wg^^pTrI3QgL%d6{fptLwAO3 zua{J&EoT4I^^y*;?|DrHXb8s}t*&6nAD#Jpk8911z8QJK`LBT?6`qllpFvMm^^zuq zjhuY@-|y3U$Y1isKvmm0Wrexs_PO`fyK&=dPf2N&!+2e}uY7_&6s`paw2${I{R}H& zl0C+Al18!N^Bt3;y4WW3T&#z)KJS|!KL0FtIW?l`Q-L$mm_Tiof?1w|nEK+9@|U1@ zQ>8gYK7G0SRpb6-oxXM{|jmB|FW()_Jhp zSDSHjb3d#B1!vF+gT%jeWdi#*oVsn;w|1<$%Ar?u6$g(PcWWzF3l(Oc^NF?!V0zGc z+p0WcEYt4nag|>O+=+Dd-`d|_KKtcHEOEQ;bR`O9W}O4O^SHL6 z0pqVQ-+#UVW3MoeKh1`I3;KR5X;ZX2JoqoI4&KdT?;HG}qzcwl4-yNz=sA}(cgY^} z?YiKy9+&>Qwt|hUanN%;uiqUZ%vs{wR?OjCx^ozN>ux{q^!78UrmvT`&b;o_?qsn> zz)8NY-G0JJSP$OaC~Z0(C=9CLcIbDr?enA|DT*D&-CUBkEC=a@ynlHB_J#JiYKPmk zq`TOu$;`dIdzIRv$?kFOxS>Ywg;gqx3b~RSgTw)wri2uS<^E zLb18u1zLev)lHwbO%Gk2{^OZ?iJ9_wZY&9rn)id#XJC!qISYo8L4KiNnzHnidWGqPu zA0&?GY!yN=J8C}V*58X+Y;No9a6fUdZ{YSf`I+EwV_B+D4EaQ(+yV@T6@MzwDWUK1 zl_e-mHSy1(;HdVPoejAADg!DCg*WB;rKmrz_(uWI6m*ZobSQ2qA$94h11q?s!0my* zY?={R7M2hqxLpRRO`w}rU6OJuu9yu)8#)rlIp%xAM%y6@+6P zKbu#zy%-c+;a?sEK0*gRg6IES3P?zaQh;n z>x|)oDnZZp6BIbdndnE@&eS9h7u01@!jdIQJneB^=wWfw903&zggwG%Z5mBk`hwFx z(f(4-kmB@4+{U!O@*s73*02)$cev?{v=8SK?*PQ<2zlBu@q*422rie=UemCKncx=p%cq*qkcr$Vd9U9j6U#}t|AMukO*d1-B1--|~q;s8NoRa&8= zKjh1AtkUTF^T8N-(47&uUsRBqBE_t(5NM|7`a;KcR+r6;M(ZMLr0{O_96?bXW}Rn^ zIA>6v4WqapTKs+iragBc1ByBn19myCPQBkiV;+w1?jV$IYc!T#Lr$_Q!!lROsY1@i@G9_i6D)A#Tmv+1M3Fu)6 zW{+!gO9r6U0}A@G4HH*O7=zz4Q=ua?rKal(*v(VLW$58CDN#sG7m)u#&d-{Y6QtjN`Yl9#?EDu+g)am<8`1xFAKd3UD#3 zB!Z;ON?_8&l|V~Z@~EVWhn!wATQcHAi6EN7g(33@S8kR@nzZelmY$&2NLB*88JExq zC@Io#J)Yy70qym~IdNlln(NM-0GFRA#wzJ$e5;B*tPUn&!*nBos2jRf!2BzY!~|wMk3ADsn~1HN){@Cma51gQ{$SEmAx!`Ml;?dC%Vd>U}02>}s<0xOB~x_|-OB@$27Q zi95}=S&y`;xe003JSI0%9NaM`TV)6rhKkAVp+d6tPt{Kd?+9$T+0laE362qhiJvH> zO2)jg!cc3s>&gu_`dTg4h_%q_C(Apk*ZSsUgrE@yVMbPWeS78iPb2YE=n8UT#PZr( zB2XKQ)kNdh$U4-1mJ!hB#)`ALR$PhW{c)20QL1rzQVXPiI0uSby8LmI4DRP=@yEIN zXiM27C0-a(vM!uUbT-8yorBPfGfIb8kMI`KnnR}QPX}`PuQbP+H7P^I&p%OS4(vVW zC$+Ge2GqNRa1eoPohqGf6v@mE6J9mZkKR_EJ@!x6`8|& z&-aezzWz_3|87@8%{K#02ccb^_(k|$v)^gO+Bc6VcYmU5Y?x_82p2h5r z;Y2m3?BH%in!{jy;`FAEi!zwLlk|=mn|V#U+F#9Y<#qgEi?fl94VLEp{iFY_Nc^?bz(~MYg`B7FQVqDt$K?j7* zKN3BZaRGG~o0+KbRVjQjHOIUIxY}k`GYNH*5Jn<|A$a6Q`y)85N?xcMH+7tac1o;x ze`nuabWUPbp~9~8Sr^7k^WAq*I$IgouGQqWZc%cjiGu3a+pD14FQ--`EW7d}vC;;2 zdSs{*((TD7V6nJYn1Zv8F_NJE*%qK?yYi%AOf5XS@^A*qgX^kU%n8^u@^O2O5E6x# z!UOkeNeq}bBk>IIPK`ek#xq8lgd>IbJMwP2O6k7&E16#^=}fe zN0!aRnCaflLp%@RENrZF2hT$w`flR~PTkBa_-IQUdj6>6BWPcSIW9`;OW3gRX*jp_ zal$=-yuTwK=Qa9)UTlL3m_mLIs81B)gpl9x-qkS+T01u4)`iolae~&ujf)kxc08P3 zU+bUA85G8NfoR$7>O9732#1BexUE6VDwWLMiyxhv9y%32GI45g)kTTDF+s*}Ne9`7 zxNUv&Kyy%To_pbdzc0{pI<3cmg0<%d5bvk3`8}>Hf4EyFU9zd-&2g+ zb(dn0LyE#96}ujm^#7e^MUlW|0@ig*he;SN_;sq8LOj;}-)UC+8_ft;E`b9Usstrg zP^o!;L!6+&+`8}FwaL-Elwcm{Ua3I5uXj#JFF`aTFN9Go5oZgw=)f1GRM>ktGbePJM`AIiMQq*AxRS1JmD$ga?U!Gp-!f*p}+Ag?>W0xxM~T zth(Arj|5Fzs(&w+N_vyKl42v|GUDd3ubO^v$~X47*TJ2}2w&nH50hyWDuk<9`}6i9 z;5Q39vF~Ywdd1m3Y>CQoTMrYa{;!*-T^P^D3!k=W6zd|f8hhn=iIKX@aH(zEaeUoi$2o9uSExYUX0kUGZ_4Kr22W(*w?+$ z>7Tud*UBY6oiukvxVc8(A)bTy3t9_FNYlEYHFFZ{gm{mGh=~_Dj5@T3f*^l~$=tzy zSbdB60C)~WVy+L_Gj7hCfm>5i0=>c9C1n`{4&>*))2{NlC>23-!!;c=M>wE09Lyz6 zpfzBk6;N)zRgZQu=kj@*B51RaMOp`bhBR7FI;n%^%e9$PSxjKNPD5JNc4*CW}BxpztgRU(~`zQU6$t1?g?%;M6qTTC*xSvRXvft|8eV#lFDke>|_;sxw( ze>|&V#*?rubMMev_3u=C<`BMVgNLl{Z{~jIXG2%!*S3i(F{>H^nx^ASDlw}YdEy$A z;$a*8n>pTks}6Zq2N>}foirFbGm#)}McJ9UYG_aX=6Hbrt2yX=|17}rix)x!=r-fI zB$96l%3o3Qm%6^$4G^N#KIi1-q3kZ5=b zv}!;g8upD>cL=jI3nN#B3*D|6ZI#%|FW#|Yz35T~iTOuB)6_ElIaoOR^GcbYWbImo zDM$VFP~nwkH8b%+-}s2CJH`CSX(KJL5Q`4?7-33vfWX@PV7(aTC^sjcVKIr;Vbyv% z#Vj%Ka~jT@p^F?UK6)pP?{*Ei%EhV9j|%TEDJD&bk971|(1)G&HxeI`TA&wXyK-u` z>#3vu)*qZ<*}*xHf?g=E?gw~(aToJ7&i=UL_3=%$a?OouOL?R=TZ3C6Mts5ji8CNO zQfPMi8@gRtSAT$vNNZR?c!mI3Hr^cCDq>(9RGIV#J^EoawcA zzN}>gkJqVFMq|&%s&K+WfOHH|=LDwI!Rg zs%f?5qI9BqrW6ETc!>CCx%IbbT`afulUsjUJe#xx|8?6nt^5}(Aw*v0_#S63g zZH~16EGQCxwl0u;Dd#y_TPnY}tQ_D|F?R@1@1}gz!{vP@^qwklS_bg3K+fzub;g49nYc{nX=+3Yxms!FMeB_b)V3UL6VP@A+U|FxS{y&trC|*wCS)DZBDW#c7$zV4{{f!eI=krmHv05I^7e4F)8=Y zkuke0(J5~PX2tTjJaamvcTV-dEgR$d&UsO?%CG`|2WwwX2w>GYHFE#A<^Jp0SL`Ep zjYVvGS(-Xf4>rH?X(iQTwmVstb~KWTHNYmTxa>gxh`9||H)}l;M_d4&Fy)z zmo^J!SZ_A}p0ck2mKm@rZ|qt6BWU~BRHDwF!mY55kNLo-eIyGqbh+NW@!rzm&IN!y z-wU>($Jz^ftmJTBfIXH*^YF9?tckyMKa5k3u!s|5*f|(=74<;!<1g-oC~YpG zHLf$=Z;2yqkUmPdD18f?SDd~d>iq1UfjTEVb@WM|I;MW8vsZ>g8kAah3hGp%&M3<_ zPR#F>I9`Dn7;&Qw>3rUTxr)63`wAO(#TTjVPw3&_c?dwfK>tzi}#vph7dYzQa z9=Rgd!TCk&s{t{sAuHC@EQCx10qbfW!de8Ja2XEh9lsPvvVGVwYUX0Q*LYi zJsNSa-%vgPl8(o6;3r!SxFlB1jeWx$*tis{l5DaYgwDuPa~rUpBHO5j3s;@oXjLQb z-3OG_+|UDQ)Dy`xsp;P}Wj`mBd5u1bBrtui{Ypg7Izuayz2b&L z7Z?CtdpHlt0-l|b)iZ=Q;h`L7-D3WwJ{h)*xtOyy+~qW08tay-15@J!&gAjFUk*)v zRn8Fcqppl!Z!1W8;SBqy`IYE!Q*?E42L0kVAzF08w%)XeQa?fS^w(^Ep6#eyq{j-n zd5sy^4z%?}Ti@5SY0dfL`IT!#pOjm>i&>1SG#DPF;Wn~$M;D_mLtUoY4eE?l?I16! zEqK}`Lx4VL_urY%4%P0N(ooajXOyL9pqa%R7j|}ULv3a63Zvae-Ug7ae7EyK4Y4G7 z_RWu%q|A+bEPcQQ)!5a&D=Z#aJsd*l$JvO~< zv2Z%v*s4_iY%Py^KI%hQ1eN?At8&)~Y9q^^=L=5OIIMe?E?D~eUfP#ZFPH7qOTp6L z_cH6ZUS^pJmo+UNy42Ilp2EAm6c&2-60zW9O-Uiiu|(&w#md*&&^MOnwmuK7hi5j1 z%CnJt1bF2U#V5kIL9wECR^@VTEYJ zz0dLC;<+y6Zc{#lNULJQdC^1pgu>73|LCoktzS8oY(qR(GZ8pps7LQ(2=9qd>KTR1d38pW;> z_`!7$wz7U2cNb0)rP7SG^AcwJWJc=G?b^}t2jOV1HT(MMPH4TTtpXYz+>Lr; zE2l_Byws_Z>%)q296qSM7?yYUwS`sccv<>LYOn9}eDH4HXK(Q>4-ovyX2KI91)5tf z!FSsOPQoJ+m`v}5y0SaTdH1yN*-fkDyUQNx%!S7Rddi^w&N`#T$r7unz}leo!G@a- zY8%yAs$>=uwgUF4dtWj~*Ib_W_AD-Oi}}}D($V*xkr~DOplNh|jmD`D&8)NM;DLbV0WOSt5yphTbTC;wB$+8&1#-;7Q!BZ@Z>L zC!C2?HSB$yVUM}K!S4v&N4}t%!kA6BQbw0+z)`Z75FRh%-X+~K*-&t9PhrEtrp5y& zeIpyz4;IWE`y}9m^$DB?G$yWydW6NhWJ@~TKyFujm%KL(|BUeDw{&^xs?(YqlBu_1 zR@2v4Zy&jA$ZXt&qhVKK@iFq)Hx=V%+&TnS31t)ZFZ#Ntu}-p@sJCAobYpv<-|m!e zZ^PJdPkvUHr?yX;vmre@JvV&q1VK2$Mg=s^jP}EfnK54^u3M;TYb48 z2bVb2F)I6_R98apeN86pz~zj=FvuG=;7FtAT-lj}QcwN2BbPt`_P`~sR`sibN08S@cpyq@;*b@ zt6i?|+sLOrT4Ezl)qdyHW$R>HNTgsC|K9TtCztR+Z4Y!G`x0ST#GxgquD1jt{g`RqbrPU3|-a9PclDBpHS2gSe7`XQyYg zw$BvPGou6tZp3^&>*Nw&7v5~wFmC)0Qb`d!HYepz{I*T4eoz|Llny(LS<+m^+Kz6k zH3_iiXB;-KtFyBy(;#a~lSqpsoC!Z_Hd$BHU6ig?l|eeuyfH*9mT*HBdAPYythKlJ z1R;L5Zu-P(1wUIrFHt(4{Gp^;Zk#IVsq_>{_06@~QQ-Td)S9z#;4zl9aAh(jaXv0Q zGAxHPXpF-$V}vf(lP!R4Ck`t$ePkoJV!uAyg&wwx!LYCRfv-1;ZDi%wC(8P0XrqfJ z3QMb1lOtiD(WA7X`(gNa8sI1L)Sah+$<5k6o{e~cvh=g?LR1)Iguu)$*QAz1&L~mc z!)i!}+-Jw8yNUG1q(>&&<$=E5HVD!y>kehzJe-F6Q57SE19wG>Ue-;5CqG;SUeFgK z{j~-3B5tcCE}S!wtTBf7K|ZX-fZvx|;`pLtMTerH=@@{sC$@XEAo4FH=K;@!2t|i{ z057f^9yZl_^bsW|3C-K_O7#^S8m)XXK345H>u&}vTY z;P_;C30>=6D(rzLBApBRS}rj>=K!ohORal_;iut*D^7M73O;D@w)N3LvEpWTI{X{y zr?231l?{V+AUE%H~yxry(86~>9wq#!x!r>hR`ZxRX$}&xL zm+NZtn8-LjN^I`hH0`orl1qPTR`ZH7f>UWH3`kqF4iLWYQog=!s=nZb>SWm1hPZ_S ziVf~UgJ9fSfL`5uZK;M#BNPAVrgw&zxW&Flj$g48UaK6jqQ84-_Oh&~wK{7|bj*oU4S-dVs+t?0y)3Iz9`e}8tz_%r-{{jmdwM`#~lmsY_J=8BVl6o&r2SbYrbWl zkEda7y{*&r(hVzqpTALw-%U4s-~puQd#gBC4Slq71dZtV>S;2|kTkf#PnyMYO6W5N8PpN%+?Yj8; zYmeeym{1!h^ur!{18+N93zY5Qp!2St%7S92DcdB>#@i!lJ)51%G7h$YXK&B_V4gEp z+|m;dxTl@>Wya!N-=W$01uLA1NaMZe?6QJo&N$l`^d8rRQc9<5%_lS_8Xt{``hiy-?_(^g zz89LFdo2S2Z`<|JxNQh0quA4-2evsk;w@NP*W8u@v0zCq4MAU{japOy0ikk66x-^%$=C?kc3#Pv5VRSvS!d#1>ue>fo2q0V z<70Ow=>IYiNS=SLY6HKS4=xLX zO^vrQJ>eXOdf^AcEt$L$7%je`Gz8(CXZR(bvKYMUW=S*iuQanvBm8q`NqWdG_3%4- zzMAAurjNI(0mWDDt=?mm!rRZGDe=~SIjNU#oa9$>ay8Z&aNSU4!bumBquKvlvzEmO zTg*NU8u^`RQ;GtXmw;@8HQf5E(+57N@Zj2q^>t1Ao}#1_zFw~&Y=kY?ydWH)7>^RkzVSRPegj6S3VW#?B4wT-uAV< z@%i5PGGe7yoBtgi|F`_^{Qv)9E&{MNLJkF4RXW|yAiWK|bdBLK44=@vS+d{VmwkK=hZPIi~%0!sdq~b$L zg1-sc{t8a_e7*u_H(A*GcRzM{ZEyQuq^Gh1+XXG@2?mr#lm@ov1%(OW+xu@1E4im6 zx+NI51GU}V+xD9-%jHS<1_l$47B8_-E6AHa*)qBI6a}~a6#90%3cJQ#UX~QWBA zTjRi;8I607?(!1colVFS|I>_^%>X}&kc_YlL5sUlg*GC}^N`jd{T1#=;%QIL1{~zS zMgALvCOp#sW*_fMyzp&2BRQP(E5rjokvmbi8Oe=!_V$AJ$uB-aJnnuxYgLYt54Ap? z6~Qa@q1G5N;f@lV_f$uE^hL?>2Ex{1{7+=}E4EDwYKo0dau{qgqqmqJuY-3^bVyMo z|Fab-ymy-9NQn=2TsuEE{vO98@olvRTWR!8^Yk-^G3TN7p9Dq1Pu3Qv=V{KFkG!7# zyZ7m|Ge^9hp25>IfM7W@X7hoyA@j*{?>B^$>|%41 zRZ&w4-K<$uC^jPAV>8+o3CF|rvh5&0>cObJ@QEIq84Byc$(qlsV>6>jpGT{zUEdTFM5wNGBZMCZk=4)e_P!_=|E;NE_&$YBrlG60CW98*D>rYVudOUCEbu$e-T!MXJ@G%kUiKa2_g9qC=}J8Ue{INd_CF}uMnS`e@aey%!M>tYLTBOi%B1`qb0c0XP#I z(QyG<@Qk8Ef&2;R?O1&O`p{{sgg8Fb0;?l*W(IM37d(^juKukHOKtDkO3k`nAGW2y z!o$0Fxc+s+Pqy8AMw9$8-WBM@sN*or0r@7+0$%eFk})3}1ud`PGk&!j$PIuyHsU>}K*!Uzk1)gI zdS@6bPWJ76x11q%+|M%qJTN zzQ4nx_fCc<7*}o(mvvHq7o1voUMBWxzdKxKKS>6?I$cAX`+B7QzJ#npv|Ee0l6~Is zzK-sYk5R>E-Fz#A>4|b3F30t0H^<;BDojB-G1Bk3T~GFYTPSy$3ewP;YQ@$B*6!DUP^XK z78?~-(;wfF(DU3*tvItQ!4{9SIc=h423C)|Bhi+cR&SeF9gcP0)ioBYQI9+MR)?&y z_uOYoPiw;tXYpg}$-81?mR6k5bq)TpEIy=OQGUBiMHRa(m(*M$+ z=aoCdvt%F6T&<}27_E36dQ)~OcIo-htcZbHvAgpJe4lH2wC=Zhw~x}?SJ65}*p9Fl z;V?o2!e-bCM8pz;7I&c@Ar2u7A&K&!71m{{KR0WZ#{y|TPw^Ln_-IGIg=TCH^e7Lb?n518h4*Z`&G%gR2c+u+;5@^^jh!i}n^fce zEma-=H!Pdrtq>D$r)n~QFMSVRP-$+k0FEWsAl}zODT6o$5HkRARL2PTV9^@LXaw#3 zPV%E|&BC;_TS9nbq+r*v5qPRl(a8i~V%l+IY;5=(M=g4)m8x`XE5lb#c1X#(RcVS6 z%<48X_S*OOa=;jTlc@w)=zvAXonJ9Bytxjljzq6F?>vN)j*W2PjSA8Pkq3rBblxFc z{Mz&V&V;9?f7B2yW7=>B_@YgnTuPXR5vCd*9%od8&X%w5#9!vBgchKTsTnJBZdU;ZEOS+gO!p zQI&xHclta|LNS*0@VD^ar+(k3v>f+<#|I!(@F|B?#&l6wCj{^X)%Oc5hKVmc zlCKKJs;K4?@see&sw~OkgA+|D+i7wf6F_lG<57GqP)Tox{CayG-X!`Uw{?Ri7yj|| zMo~O^T!To&19A1v#)a zH$@2sVGq8aGzTYQIqYoQ#JIDHwvCEBAw}41Hr7KPJWg++{uA-X(0$>**s&|xRoZ~2 zdH4#YLC8a`;Cg)LC}DyXv=v{lr$llSAH{e0xP)o=ofF+!YrxxG^zLYO`Zo=H7FoD; zXca~KGH5e@8}HU}8hE;v*wfRcpyNS!L-kv{X{_OK#tE88Zp?#{z9|)fTK&>s5J=OR z5~;!)zLzTL`9%5_V3Sb@=Ra!;Qlw+`#fWP=R0jG!Uotevt2z>e;aM!cnAcgyG{%5m zWg6_2$|xFnz+8-c7rvCiO&D|*Z*^&71bk0Mmn$5Fw}%!Z^`Vgtj1h8$*Uf?T?nrI| zY^bLEXtJVaNilXm!6L=zX2O!1NMEdjZ`ip8djDO@?Qq@tNSis&sI_Q8!}qWH<`{%$ zoDt%`++=SgdvY`QU9u6=`9gNZ2IODvrSU${_!9C>2m`W`4=H(_fVVIrGo$s88;TPLyzaJsRL$R8m&jMA^gBSkSimEDA6XxU@R=&4vGwD z49R6fkHCMy)7I@;fR-uviVM@@+a&ta!e^4ou4%JtxUmP!Z4H>&jhvn!{@^?ed>sfh zmwoe?f_bdNoYC3!LY3RK%T4xevNL7fY@PzC0B^`1hELUF@S=+m!|&j!nWS!fmk+y$ zO6H&h-!ck|!8apNqCyS%%>h`IjenZTm4ssi8VOIQp)?4$r%tf4;WHhZv)RziIsc2f zFOQ4r$o9WYH_$913Mxx0O@oTyg5s_dv6U-LE8se~WjdOeiyFgdCLt!{G>Fk8Cc%v$ zs4>Q5aEXGNiCZGcI2p4{rcsk|4-=I}8u5b2ZII>nJ=M2ch-RMekN4h>&*##&s_wm2 zrqO6 zA8d1g{Z*a}jGcJ&CdG(%^*t{+tt?R%f8@l?hRx(wy}52j))FCq_5|$pI}vv-x-8=8 z>+kCSeHr+2+We_b+T03N!@GbtxNUkZMs~vT~RH{3t%ttLwY?9Vv|Go*k*GY93SgonT4JrN@W2LV8FeIZ!Vij>8=!<|d za0EX85#lp;WiIpzO$y*%adms)@gE`1wJUOC1q$zC;pz6_g58AU<-`wwTBq7PZ1Pa! zF5Z2Udm-rWrP@Yy9U|=J+%~JWflBat&L6w*$*}0*k|C5Us#xp;??pO^hvw&B5 zagj-NX$UWsh>{7J&pY|p!g~SmCKmme;L>ItevZ_3{X`D?xo znKqA$wh(^Z5^mu6GOmBTSZ=lnoX%}q2(>fo*{T9RaAMWQL;AM*g$I@S)Y47Zp{F)0 zuFOmv%;VcCKQX--DXdRd3M-Px(puLXA*?9jB5mlaksS4b{K}4fp!Qs)fc8i11y+}f zjBWz0TDa&q3)fc<@3+43pK~vi^b-~cON4c^QOC?$kgR(N-?px7jLY(Bw+&5(~kee>(3# zbwrJ5V)^c3MB{2+t<{Nx+G>SpSQHq9H$qffeQdjYF#5FPO>U+M_82b0dR+e}DdPa@ z`e~{QZ`)e+c_1nf5+xVuQ%)l<_!8PBj9P?R!yr&gd>ayMS7I-%#sXZc5pB}&7DeF% zR#T1Pi>U!z@zgmhn6MwNxMfZy*sGF zq`AWowY6vI>9ehF1(WLHmr<^9{Lxgm{A+e!ZI?7!#~hB0(Z47ZoEA* zR%KOVCzjO#te>J!1dF?xC!=3c-=e_*QUtei2tVA2-(2>;6zCMGUbbxIXL^saV15F;cns)gd-Qh8 z9MGcJ3f=`ROlQkHyNADGJ5Zec_vi;(l2A&-#8T>H+$)CC+z-p3;V1MzT%b}E=zCnz z7!k_>VHe+rAESR3^eW-y@$id8yg%fGG7TgPJnbI@yo$O@;QaB9HL;GrX6+0q>8GxK zhR&GHnkxwb=hku`ptCkf4VAtK)iXS`CaI>#W3p(eNs@H*3Q3wmssm^Yl;hi4%_)Xw_N3hk?=nnX$}#OHD7`UDHok-;d)GK-%ki5jdBAiqTW;14}n2Xih0? zZ!7Y6Rhb9#PR(ODmmlcu7e3IBx1<86Fc|)tBU#;y6w>To4sHU^04kSa*j|0i#k-4D z=uKSAk+LAPbQ}V%B^#F-}}nz z;A4;?xlJpeoe69EyVbFF^1wGEmJ@DJBeY{X(Kn9bipN!oi|Wm>Hc}BHPJ(iSiwkd5 z3q_dMrej{yiB{sZ4haMH(feRi$JOze6%h-YhYQWB?I@Lp0@h!#La^uy-Ge*od5J}} zgFFNV3#w7{Bt0{pX6Lve@PWE_fs3AF*#uAjC@;)iK7*joxx%=za~-AxCdj&OU1&eS z9jFbEuL1N8?t3(WVy2?^#V`&DE}a@9_#9RZ`w~`OZn+n+@?I#s9^qj8FVPnm{*j!ZMX2;fOs*>tlSR!0-&3yVKqLICv*n#s7C2o$>7zH zuSwQjaI+&qg&TSXj}tSv7h zF-=9hR^oDEb}mi1B<=Ur$++m7dr4sg;wQuM{Epccy%mk``xxru=mzR zVMVg0kvrAD-JEd+{hQf;6c-1Ik#H}UFRuMJn>w{*_#Z$4gf0lolTgt_+c`1K{- zw{{9slv9kBpSqZfNWv@~bw5%_K!2rq|B^j0*1I;)&2wW9K4c~BN?OgN+vLOwGv0!R zdahj;f1|{S{MUWEAJ#Iem_wLRMguQyHokclGC^z8YkC!H^VRSI{FJ>*l0{|N{KZ>J z;8)_#MS4&bWIH#Ia1JO;BpCpMV5-jn$v^6d3Fz&XAo9vdSN{&R0|M@~FoMjCtt6#QK9+c7|a zRB0{=K0@y7%S+vWW$8$D@JTf!O$FATmI0(#P1=tSqDmp4g& zYxFEs=TGHf&kLI%vs;^_ZXqnO2)^6a?gh~O^cB)Na!MslMAms`Ih%_oMm3j@~z) z_brE9<_|mo@atUQ*%QSoXu13@Qr!iV1kI*X6!45(r(9Gu`blK$cKx?y@PzLjZH4#x z@-KiI@c>iSV^gsBYNJPC{#5!#!EC*?TVarv_+Kwr{>C+R+d9&uiMte&pyJur{1)V74rGvL80PjIA_*+gT!#=ks3W^xkD~y57YO%J%6m0&hX(`)=1wgM@~mAz@QVp7RIBODTZx_ zzU+8KkXX{D!km<{TnVjEBhddyrm4qRrFkh$o|AwDiy5TLw%0MED>u!s_hEgD6AR60 zm;*2uc$bzaw?6RF^MxmjGM`R_XzxYikgb)1lA&Qr)^wn&_yFlT2=pAclLkZ)lZfv< zb9G^ozd&bTbS(pC)dIO%!9^=C6W#o$huK`v(L zWnd;2U{=Ar$3^Ka#2ZylT(!p+TkMg{7ttSMy{~rlVjyFWU6?T30;C6>vRoCnb@5XP zUKYiW9K3mUTQKVRNwTqnr%T z=}fAdxBzpq+jP4({G7PrF~YT_z!qy8#m|L4XCz-dDUH?TO_b0dCH&aR-Zl4NXA$h{ zN_dZr(kfe!xT}@=1MzXf%^|E{>K99KonMK)_4y8&<-_8PLfTbnm5^lpJIU*&imkZUbCS+dLhfR);!^ly%b}xUh;pB^DVCv z+{G}?3%KK`9cVsqGCX(|@UX{yJDZD%xvYb~U1?oa4y_IfL;gCC_@tDxLO2B9ubDu& zxpod(J^1?5>_*@GH}+5!y*qDdlt#01e%Pqp*J)F$bib8KYHy^H7B=p&4&u2%M&J;X=D;cFX};tUd>H!yGj{rHhD5{G<|$R{)gjo;nr810&4$kO(qe9q$%6gOaxL02 z3Rf(yk#vvtrnXPSJ)J+%3>^dYgBiF;=TB=L#ZcAollpi|$zs}LBm^M%LtaMBK`u;% zL;{_nb{guustocvp*d?E@}F5;odY?Zd1|7i;4SBroqn+NDugT{;{nY;o0!GSoG%3x zWGH62??*Y}9gg%{@z8A%X71-yD@-CJy|O}BpYYl_pKVX_-ub=ub`q}fsmZ@p(l^-kyx5Yx*txO0K&92%E7l6=hrZ$2OPZunXf}J>N{Z8n^a=E(r zHThh)7|~W}>?Ob|YTzo%R;qI!pdg!J%aiT91=2HXCtm|(`M_1)$m}M+O+`v7`({kCH+#ujmzF!k>}VQ`fyA5d%q`rf_{TOb2e9ZCFga} z@y}KuFqZ?raV$`c%j-f4IX|0Hv60K18lE3NyEMoyeR(Imkn{|5XHNjHLR~TWnB;Lk z;c&vbb3XZYspw94e%Ri@d?&GYJEW-#svy*OTFErI#)rA|MB(`u587a%llXNLjSM43 zMxW*|w8vCx1-7b)5msX@+LI42Pz!-BB$RPTqD_fy1C z4zxysuKO}1r@PzDVQg%D1dJ?b`qkj0z;Eg6n)6sXNw2gxR^f&z8+OR7T!EP zVHf-~#-UTU|0?b`<02gajYS%hw3-L4kV`?l3)j^z7r@w*n%m7pYU zpv_Hdf>yW~nh#*|6(szG@_29a*?xxfmR|j?0uQR{bwA(|`@aE+gNx~oeL330QN&FH zM%gU%$=}*_W)9ROV%^tI;O)B7sdhg+?Jul`pRBV6X^#eV7`rv$2jHaJVgKK$FwCUZ z_7Z2edEtL^Yv=85kd6zo;ZHuL%R%xf|0sDR&uy_wXKI{Z>9rME@GoMG{F?NgvBMdbdtjhS(tC3-C#3zuEwv% zj^p-DJA!~v>&#CPYXCYnwS8?WkZS#J0joAwf9Eo%1&5CQ$1RN_{_dF7|A0<|>+{N# ztFZ6(-5e#%;r+Hv=Y62LqTLF&&EDHc8pbZTS-Cl4zx%tY&6@olo13I$yE7lkArG2$ zt~VD=8WP`a7fuc2eYW^r_1@0)i3*G3hY^A*EKS}5|L?@ZJ9%P5na>vRvt`sjsb(*# zxLW^g>YF#R(^9@+HXzt}8v}mhv9Dw_<2Tb5FD~JFV|Bp=l>~`?%}5`M{k35mXHQ$a z1)BIEw9GfRQ7Q$#s-RKbN!XWg`EnxSKfmpbadrGQH=xs1uD2H4xi_a6W|t1p^QxeQP5unizWA4rPo`%w0MHea=mc=pSPCl(@Rvf4gg<$wODu1Z%eQ3-dp^( za{~rmjh@2w(H->NT*4p1xa!XbVQ%V|8V;P&b~WW6o(qp96YYHT)9Qi6S8Dg&Ia)A- zgLZuibUsD#)ZfMl(-!BUzPj_TCtSRYGZ-R(kZMxs!cnqW_p^9f7jfd4Y}$LFd3o}E zpKV7Vk7e^_aYnY!c0eGB!<%*6d^Y<6l|IqpRlZyHDR=7RNFVC6{duhNX+1Rr^^y#& z+Zrz;R!;PFFU!L8Ay_wsrqj9!S~RXv>UTc^^U-YHr+~{-3`4Kj*(xn*^(_eBgI=-| z7(*LoW7PyKlDw0Gcm8B~%_P_#7q`_U5Kk{BLY> z*3-c$=o9`?LJ8FcSdG&b1;ic<{TtgmOiZE!rLj#fvtG8UiQX92(wpoR-ys=nT>WqMDQs(% zZsl}8VjpZq1}Mgnl?ONIPxY0Mvj&`4Aw1v9DeuiX+d*PXjUohoZYowHT+F}NJKy7- zfD@l5tiZX0(Cd5A?CW_&|8E757DH(_CQJvN7s-=vgk)nkrOx7<_Z6^*f!)>YRw=2` z2YP+t2{g;Ur@wyLIol4ufq4(7T3m*|x|aE?YfIrbe?keH?a&T!Nhjj?up1qv)4f>J z`fTa6rHD6FXi=w?Hc!;Y^yXG+U*lj_L$@0#W_R;*RxbJ{`A|NavbMeM6=nL z=7lhEsXYdL6j+n2UHNH^b@BA-?lEEF6ZWnKp8|R+OdM&CV0WD{&kt#r!_J#6 z(wA*P*v}#v)46X<@+FP4BFu9Zn(J^yKB?qVanYPdZGRPf<_EiO2RCq{B|}iH!g);n z$Cmw-jmnXh-uxcT9B_;9T&#>^FGAkziqRT(`A6^#vbxh*aGC#r=Iz|K+Ve-<*+IGj@g4a7a*eW+s3PAJfeWpkiM4lnT*O#CM3A~OU?Yr|-a{{7r= z><=C$7Db-*Tgec)raWYhBe?>Y>~zGwOxb zX6tbs!IguHbZy=E)x4WcsrCi7q373c!b-n0yu%X`Hb83{akd|y($KmxivMdv+sfxf zF2TFpJI1~2pdL2;BVuXq(yKVZ@8V$ICo@^&6(g2;g>X^*EK?IAF5+oJaY8IFUMRJx z70;Tus1ysnwE|ySu~nZy=?Nd2d}@7_n~~>gT!@+Qo<7k+zuWa;@;RBDu7~*XeFe(V zw&L%&zP2fGhRHwA875MUqPA@m#d?XJUUNgfu2p+&O~^m>`ou3Tehz$4b?iR~ZW6?;buH zHso6IAB|DW`Vi;EwGuz{;Qe5W776sJUgEx1($aZMbVrQVFb6TaT89T6gtYD+9?jl9 z&=@Mey`_~jBOVj|E_Z|NSrVRI-%7pN@pc!(G{mgN+k|BYYaaNr(eu*fGYLMI>AAYg zmlDLQT3*ebT!traVU_D{xCq(^7qS_&aj<_?;Zoxw8(`MOTX2dPJ<*+xkOHUr-a7t0jQF?w-T`IHQ4nj;$BNv`jSIyRogg0)N*1$H6{IC6! zRr}m=Uc&^tZ>M0$lwsmTyNVxKLf;*Yvnrl70W}<+$-dffu{TnHpGAjtS!d6@W( zeFhLK=9N^zryvdf1!)^_Wd)gh$|L*Fwe(}Y1xqdj!mq$)0>*dB?vnWa6D{J!x&4P* z=J&5D>&LtbX2_lbRRTTZHl)hL^{*<6fmgtY$@%)HnODFbVW@GPzN1gTf%NF~rNV09 zq?5R)%|Ai{kCss#n__-69&jQSj z*u97)PX!(MI{4??-D1gGp$gs#Ri zZT!g>0Btm3P4R5BxT;-?=VJ6EwUL&J6E~PGc2(}w$;6FE0w>V}IEjQd`0TkMu<=D) z<#nM**b!V|vP;pGB-Ql6Q`r69;CxcRlj9K|i6=)w6Vq%~+C02Y+kJEGl0TmHvT;fe zzCb?(&y4~q%?p#2*_X0Vdo;`mD^C|a^ z)fb#?XRAA~F#AL28YVW|qkt};6&qS9&wpBbh*`~!F+puaY%a(^UB+EEy=3i)5hh91 zKmhcOT?PLeYWWHlnxk20?aorKvG9*<%u3RaEOZ*9R*7dVEOZVdlFE7pxPpCg+9!SG z%bGgj_qbQ#{$$Nv;dfR^`lg03EH8lPQ-7dwSdDw~!)ZT0vx^D+PPNCK&w@8!7v8;~ zP5L+Hf^eR%`wrM*;oA6u1j-#(|;zwp1dJBhB>gPw_ zlKV@k=#d4^=Bi_Qnv1qlYR}aSd9+Vf4t6qvOdHn~0PW2K^<9YPR~~*Pnbz3Alt&p< z*{`O&JjGFpovu=RXAX6h0(UWcSt-`AQoM*hOZ}2sxm4U}9_>P9r6)O7zDt?~tOP%q zpGh)Jan=L%+kl=*x!-;(_uCJJ-x~M+g1dagxXUIsBRIJW_1h_~e%p^vMZcZbvOq{Q zZqX~jUACY!+sqRa`^g?8l63JiM=8@fjI8N$51rJZ-zLgEG!cGnhuXE;So!G)nnhf7 z{em3(M29b@%ikDxuHU-7?Y=SJ8pitZ%G-B^XRR7`{{rrRum-dKzU=mWV5PZPyRno- z2$jfv-Guv{a!;Rw`(oxLBS|yx_8d)rHa|&HGD62OKha1^#8Y=Glx%G15q}JF74`Lc z^mFR(cKni`8E1lwh0EFRx0|k-95zVg5hqEJx2uGKI9-LtSg+eScMta-xDUcTA%9YQ z*W1^HH!HYP9Ap=FqiWB1$SpxQm*CcYt|VS?FXkXC$?^!SRjb>8x)a4)7EOulnE__?X_7LD;?9xqOge5Wdi>20Nz6WmR>Z z5Ro}mv&HK8N^ka+)zG^*zVfEbu@(a}&uwT}h9lN2KOKUnd!ED7u#KcVUy$Pi5${9s zxsG^2{tAz;SmgV7+~1b(N8|po)ti;i6FY2@^!;r*pK~YMdzGZGZc{&@wVMY0;#KsM z{`kddVjQ)vPrLSQY>F*eE$A^DsLFzPYG)|kZH3C(dj#a(^FPxYH&IuS9j99OK>k582OB0Xod~%_hj$S!TTooI#mivh86vR zS;yW_vsDQ(>4CwslNV^J;m5$$y#tOIk+ENxVce{*a`?@<P2jUEGmAhj`f4=O& z*)op$8b)$7c%7r3QXxlEEk?-v(h-}0SenuMIHhYX&FVJH>Ne8|_~8;SaltFS^d79o-azO1qf{V-PiFzx-lQYxTo@L1(_rTj8Ewn-zoJIA*vHPA`O7O{eabQ-iT><^p+|Kc0NLIlVUgO~N zoO(qj?Too)#mBs4@dda4oy_ewq-3G*zh(}|Pz=9ivRUWG7{QChvcurM@nUqAgJ-Ty zp)vo4nfTyAp(y=beLA>;`jFeHEwJPyY}z&W4G4-(r`aGa#Ac$|;Pj~~oVK;kbQgIW z%alcO{j89doKf8Y6UdGJwNgG3{4lrcBEz%baszFS5}q~RWt3mRcp=_2KV^e{?72vs$$-%?oH%xt^>C)!@K<7b zVU}2kSz?rBCcZPf>kPw8e8=0?AGQ~%;Kaw4ry5cb<7QKYk3=~Z+-ee5WGaSF)zDn{ zq|Emd@cqfe_jfw@{xrGwC*2|`VwoJ8h)|?XIh;yCWf&*FJq&M;Iv3AMNAYo10c*cj z$=J38R%GrMW76LP*Endp1FjLxYGdTBxRoGwinNi_yLQ28ppukR)fJ(cI1SVf zp;xOq1HD3$Dl7ZJvSVCZC%m_JIoXFuKn^^DeoFn7`fdBUYbWNLz^5>O;W~qK4Sp$) z*;FQ@ZIB`K+j&L5r4&L5SeiB+AEc4Rr7Aty;=tH|Q|6XfWD(C{iR zJel5=>}S#bRWvu!{6_hWrTlO|St)JPX!-V1P#SmztemK-yxC00YiYveY1phcx*{5zuzE9>PoU%nS!w#5EHsdZm1pm!l@57t@C%Zs1E>f4LGp^&*26~5!zJayF9L=k2Ja@_B!h?Yn@v?CP*0M}1#Kntl95f6Z zp-eyPLYcl4`uEV|`sY(lpIQc=XVNfOOkOyhd||6c{$fL`^t)EnD$c@na!QZCP{Kcgl8->iGxFSh-83gO zA#^V|(^wZBKA@wm1$}_6ve7FTu4)838RBcRI=`E9#SMLG1J3_*tZIgJSicN+ty3Ix zx1+{mFN z9t;gS_3H-d`x(D__9XRJ#{{^IPrg_>2yDGkTue@1@do|{1H9{AgRoESAlcqOnfp_YG z-YYhf=DB^nwwt5JtN8WBeGGjQb$nlAH(=JS>E3;1raQmzu-1S& zy&Zoz3MW3IMsIrncQ2mj`m{;C8kKzIF^_}sKm+Lo54Be5)8=qsleS4M_uUKKb=?d> zXpcTMz6^mb;Fbdm?_E|u2kztK*FI55ue^;jhG;i5ixBG?BtJ&|)6FK(>*Uiok)B(J zi{!9e{GP@|oYIZ=FdNMXu zGb5R7Xf}ci1Y}&WtNl}feS@dCj+*WZ_Mliiuf1SbnH(56RD%4_ywGBOLh|WT6QJ`x zgMB4J!XYfz`ukCQJfSWPRpq&F_SoDi+3u@1tM++qhL?I?;4PsAelF{}8dxGd!olB?_*vjcoGQa44`x2hJ zEAtC~7MiY^Df0_83;#{#7aR*cDf5e_YI^f;Opb4W1wkFO=Zlb&uXdi*IX0+|J9!52 z3;%@=WOm{cZUTDCBoFj>E;`oIsWwPG$}q|}8olBP?8bh>bmvc5euN%*L{Hjz3bz~w zE-x%j-lI^6B?`Lp8R)A|Rs%o3jN<$)v@af70;_iNsws=&`}71qsa}BHT1y%0&ugKB zhL6)rP2mhns{zOYo#3b9mb(?Q;ZQ-fg^(fhF&dPxDecp=LKw^Y9J^$F0$4hPy)^>g zTUYH-tHz;x^u~)g(M^6nuTk=AdIi=Hm2$p3%Xf3xmsT|!Lrbd%3ysp3P3_0N7Il(} zOTd*=Ogl$D``!7j2Wai$hIPTw!Nxi>>@AhFhEVc#uVOD<$#uh7pMm>4dB==55-SPl zHn-x`>y}RY9C3Wznb^&UrKkI0?7!E@^z&HF5dM&32g{8gU$;RK1TP$gqNlj@L{72& z6VH!5d5xANnlSNVlLz=(=YL@5>Xpu?w}8$ZTx>UxeaHV3WzST*zcHuS^Na(tjr#7D zHdV3zXARQn6T}N%FW!W+LC8kgECywnx!mM1lwB3Bgbh`gSdTlm+$h}LX?im$Mo_`x zSP@$qL{&Si$lEq`M>b%fUl$I3+u$rT$CMF88a=4e6n0f8%DSa*$LM# z1KXjnKtKE}@-ac4<2-h_3(CU5f})Qqe?N9))#Zxv)i|F4_8>9SLda^Hi*B%-g=H4_ zKyC*E>RCCFO;NNAdaWb|t zA9J_O4gdSwwCK@MHc#C5v5_xnsON9aJ5FDA%U9N_{fhY4Vaer_p%}rHKg)k@bK_t? zK4=AhpjPcpetTSWvR$>_6ZUj|czU8;n+l&N&8y>wBDlH6rChAh7Q=M}SA~%w5eZ$}eLSI$LTqaKZ_nFO?55D27g(ts2$~zN(--#`n|& zobIg=r^1_KoBqb-07xxvy6HTlHl;y2cDx(TA?%#ESl1aIlnv56-~o{TqZXIbrZ^V& zffR?mfXSGL2&W(tR~qgK|3rn~cwChjUmSj$@r#nlJGc$f?`16ekFgK3rnncKtv02-RMcDzTF|`!Ph!QS=7_eOZ=gU%F(r5Il|95O3{@{ks1_>XU8gr|15B@ z$t*fmz;8`BdTJ{_Gx#}ki>I+lknb% zjO(EGU+mq$s_1myrOSL8`@TeLpiJvH7p*C5-v%F&X5@{Ears zU6qxBy~43B*;a}DL(MgWsHf*uio&;YN^T{sShiF&NZTqMEB?ph37uJcOvWz!gVm*z zCrqyV-{T42V#m8dQnxFIlP9RD6#q@0pswu56F3UXJmH?yL}$wV5AXz>huP}n2@4rL zJ3Fk}9X#P4&j0(bcmnPJL-wnD6i>JZ3xNM$ctT~1gD3P9ZEaNIs16nj4xVriYk8vg z*LXrt@gMA6@5+aH!ad1bruF}pC%gcy$bZcf?n&Qa-`~L#?nz(OwC4%;q|c#6aPWkC z(ov*2dBQ#E5KkO-c>-dg&G_Gu6MBkYv{E@*YaW!t!4nX7`(d6C#pHyMzal5lJMDSGJ*k1h zE}kG#=zoMK%xZSt+ohSU2z01`+iYIU~t^c~CzC%j$#fG4cO9=lUcxCb4=1D^0|wUZ~TtN!osg!|3Z zmLqRJ7>lK%Lry?!_5U7E_>`5SzWPBqoIIf(yUPDPIpLmEZ|letswwQ^2^AFjAK?j; zo18o$h0(LV9X$_t!g||(#S>!L+smpS%@dZgo&EnG)(+_oThB7jVi6yO||{W9@KH z+JO`&Pso?w`p-Ner|JPuSXI@YCuG82!LfF@CoQjX@`P1YWN{d2aL36~H(GJZqqe6w zvPqHISc1L$^2mOJEDn_Gv4p-Iy5y;WXJHu?mQ@npFVu49;@o~+Ec5%_E+b7y3?G;X z&QL|^T)!G<6}uQ{j~{2IeeOv2LwZ!zHLD}!gOIN3UkEAjt`|ZfRTkKK-IEsEzQg*c z8Tt^i7ZaeDC5&>~vmre!@h~M%wgH{^jaXH6(+y9=S=DAp`M1KcdvQ<7y`>0u*G2Gy z@lEm81!#A;m_(e0V=3nP;D4^eXS+`-Ou{Bjf>#$eXsE?9sfOoj)xIa8OFe*V4$fkr zbKQ3rzl~ol_ANri8Lc>9aBG{i22A(`YWwn&KPo1lWr%=01;FIvpK$JWf_ldaoyG4G= zGq3W=QyLn*{|S$sICvMHvmePVOE6i+rw|Ho|1aF%^#&4zV(2z~{G~W}KScs1lAcJh z0HF%lDk9D+K3aSNdUy4yLLNFlAl~LOc{%bM9fS%=1f^+N<4ih*1bSyAdgq~cX8%m3w`0Zbpm>(O4kLYFRnzb8Z@ww z+SN*Tp}5jJt@A5^o4e`s|xL|#TAc>+B+4$8sJzj#cw_? z!YDX{Ukfhk1JoC&AE*~8xgcEg)7`j8{C2``HJ)k4^)#L#9c0GKDsGaItN^IjkR`y! z&?trpYm0pdJ!#r_L*Nh~!_d;QOY;GfF*t^OT!jJv^@u}v>Eqk$ z5xtyxM2A(^O4zpbH1re?v3y0W8lCy}I!C$IOX3~q563BnR|)yh9_I4}&>j}>%EG|l zYSRvQTt%lZg#PfJI&3y>x@=3O==FqOP4f z#F+F2njK7sXv`r?xjjPRLpsC*=~3_{aoNd*szP_^H$aD&3mqca$yrSA;GE3F*0+-0 zhMiwe(a5M-*N&P}u^X$!dTHGqvhWKH&Vmln#&n2WjvhKhGv4f#amUnC?9bj_T=~bz z?dMhNYO)Zlmjq@dkQe+1rdO+AI>a*gd&gx|!EFKf#vC5@GTma45 zUZz8QUs(8%4)M?FI;KNh#B_+)WgX&7=n&JOLnJ$iI#aV`X_=Zd6Q$OO=h~>(_=DaD zI?pV*y#9>d9l;4Mi^k_xLucA|BHkPUi$;xj1aDKz>C)q&MRfS1l!`Ot_r)5A@5rcj z^giLDH})~%IJ9e zPWxK8p6zJ0^))tl)hG*V*w{J8|LLlt?>YV$KfRoEg|QgRztk6+tA+)UU?Yq|rDVQ6+2X z3o*_LG0yUWYfSIy`(m7}V0wCgHqM@?apwLN);Yz%*cpt`Hk4wYBA#LcyC>F5 z(XO~}fyu+2dNA&mYd%gP-F;Fv_1- z(stGl-(l2!hjr$Ie%MWJf$v~rPL{Q~u70S2`)0d-SP9)d)zALh zj((Wat{rncZN*w z3>Ur2vgUx^=`MQhEz}o=gWi;O^v;yuA1c$E*pA+DE_%m3CcVSj(L4Mh4gN=r&v+=G z0iW?uUN=37lY0*6`-8K_OmXm;DpT~7W~uPL(|21D(NFLc`XmA+>Rp_{WAANrFY1l6 zWi;XjM$PwF(|Ur3{FPZ&{o6d6wcYpC)OP<0?v}h#V`Y|A|G=)x80;5yd8p6*8Fp2R zTs~+8p|6D=(tDyr9aJ-EUHeQdeKGGA5hZDrWca>3yO#rP>vf^4p@eq$GK68i2lOw+r^c(ESt>f zmKhWg%Mv5uvr5nXg>Rz_}2%&k_&I`3H937dzYlYTrwdm!~vNVO!a z#2HDkuotbzN>UUyFiVbl$&aPP$SEF331T}f^%5s*P>y21hPaO1W``ve?ZRLdv60^8 z4LPM6DKE(>6-c3#S#LS*8q&JRX&2aA(oM(rEJ(S5d-~otNLj8qAg7#0N_RQsbNPG6 zZaCih3(`KsJ-t=TzW1h_QiPODIc1mpR-YSWDON8P*vf^jHym}b*+y$R*lnY3sHWE2 zMAXy`xu#yTk%fAj^zn&$X(RlM6VcCJz#K6HziIdtaLvQLzufm|-|1w1+eN2)%8$_q9!sCERQm0RCbn){I=!d%-fo2#$ zQt6xERW!CgU?nJruHfPP%bBhq5b~7M;~`JZ|BuN3)yK+zxhwzW$p7ia-y5Hkb6&)9 z-rXT*lT7(8Ip>A0oF~gUKWThJKmW0Ep5e-QCUWlEIMbMnoEa*fRwMRhxj)?@_dq%K zr{&xyxN_&@+{YpJCsO|FdLJ|S^r@k){6`{xt6e7yME)AFs)^b>3OPTRNxzY2hCZ@( zrgzG6_^8kf{ueec>=Crc`Qdz*$@aF+8T|CA?yg)l$aTLxG^scEPAGWH?Vym!;5=Je zq?g+`ZO{~r_=;T#8y)a>J8X6GHDU?QM4+>k3d~(`9zu%frryJAfhF~w?2AGDekc0& zeq3auaT32OtcliRP4yk_%W;iGydA$JTao-lx(A$=!Xy`*Y=ZL!+6Lo%2Aqhb5xW2{ zyUY3TkCf|CHcd5BQ@{YiXSyecDV*M3mem&OoRVbTVt+#UhLoz%`!Mm&4<}Dmzc?y0%_zyoKi1+d(_!N5iUzZf%z7YcTr!Lzp!Hsn!r-1 zZo~2P)66b$sx^Vhx!+VeESCpa$HP{+Uiy-S&s(2hp_42$!aAC*E|0K~#X5qe9blm! zah5vG2p_Q!eEqD0Sa^pVuC0h+Pv^1lg$l)7A^nB$#_u4} zxznS(0ZyMXq3=3;0Ziz-^IJ{E`N%yK2s|3-j41zY9rAxm&cDEwf4rRkOR_v>e26bT zDrY_9{PC{5Cm`>z)@b1g?4;8lUNVDi&bO`tW^GvP(P#$ zzhf6Z0j`1~{H_#BxC$97HGe{w-io3yw?t0W%Bh2`0pgYWccth%gh56=^v(Ei?Lst8hTimsd3L&j4;@BrG%)fn5x=} znQZEc#Q{@Sq$dFj=x}=4aGa77s~Y-J!Vj=7=YSy{FZ!%bF!~fF82HH~b8tJSK}%fS z>Qh9m(q8*ifK{{)##mI%bwM$p*Tf3bg;VGF7p{61l5OBQ{tMn?OBheqgrud2m9-St zO-xI{>QXh_+o`39CtF~==cQPe-Oi&OdcNm^!W$)q~dgvoq3twYe3g1NPspS+aYbnmd z&QOUbf225unRO0Y3euwzF04~mK{lQd>B}_-r;xNGK+cN82-}}XwuZT~r=S_XA7JHZ z3DTuI&Y|5Nnj5-CzYA-}_gyE^?!*`y+Pov_J%dkCs5pXA`9eD?OU1bCXjaoN$TkEU zQ=WvaA$byqWl!Tb8o0hb@FcD7XPD%YN==O33fLQtHx#4f9jQG}Cpo4! z1odHO27hl;czkbDdVUI;hbI%wBaLTH)q-kSqK%&@x~bqn7QZjOe><9g4!s7N2cV7n zCq*!c=e!AL(*i42%XD)%cWA3h2;loBa+_PE2%KN!;4DD%O!P&(ax2C6pm^5%!V&{< zR*`CJ08jA}RzeOA#p!|*HG;bw-$wjH{=S-hKY)Gz7Uj!&HmB>%zVF4pf0g1F_F#Go z0X+1Vy2ho5djZ$0xXie6aH-$J`5jn;Wug8<1neC(Q`_}I?LSz9?Sa=hwOub(_kqDL zxz-|EFz?bDa0TYw<&U)z5?p=eS&WfgO^b{R<(zl3oPUPLyEEtCVQ+x){rMN(?vpY1 zQLZzQYsZ=X(Ne0>mFHySDKvTJ-^JS94gdGsl=#2bro#V^Z0`8K+os0+-6&$H{84kDjPdUvI4XcN{jy~SPWRi@odf9>1 zi@BKQ<@M+rCtp%=+whx)i}s$(*n3ic;+}X{`pO1Rkrm+YFnCqt1Yz}O-{F~G>KRrS z7bQA&qf|ozOjO(O8Y}V0=|obw+ZE9WK1d9f?!CCE9tak23kIp_W?=fxdzzJytUXcpw0=elzK8)hS- zdDdg)JOw#VcIBLmoNwEcjl7)mohGX7{vC3DTh6(^oby;$&M(V3k9@402O{SIuAGM; z=VJR{W0aipA(pe)&g%XP^aKaZHMbn?+{=~o06FL2$I96sId^vD+zmOeuy-?h$vOXl z<$S0^&J9_i<>lzNU$@gK*b)8#VU?iddO;ot#IFXwQTY7^@k8<36JbZ0H_K(tbCvlt zW+Q5+4Ubjkbtv;%SDDwK%)$0G#x<r2 zK;#_RHcU_(xB;1#n9Oe=^`}?}-z&a&9lV;x?!=YrlQN*3c=1H^xo_n@IuG|Z(Epa= z_f=eH5U)mfGww;h<@AdtyBpFz?au+;8}nTK%UVJQBhS_ACftoV!L(2B_SxFGF4_*G*~I=_!J&wZkPDZv*9jZrx`5S?DRmWNtc4G|$Wa$({rBfE-}<l9(svij-9`)c8;ADkEDLjYFTsJf%-Rpm3kUGSntTx7d+3SMCpM9LJr^q3Sp=W4$U zv|my4^Q`@r{DOj9jG-gwfk)5-k8F5areKPTf|i^|^}xY01>qeiXj%PhJurz;aAJ+4 z2TpoS3V!3FU_2<8)I8QWOn|4O%mdy87aN-Llid!kZO_GJ9!A)V;9&u-(w}@}=^^Gb z-M=-v{rK6q`slB4-%wWi8FJ}+JXCtxX@5pW!+pSgJGn|9fYMjq@5<`m$5sEpH^SVb z0tG`s!B9{z)T~PG$L5|37#kwS28|aQKh+4^5$4jd2Z^iv5##2wZ0ER{wE9tP_P$K@ zh7MHw{3_M^8P#vYZj0ueJ&#HCdoHTCgX-t*Z)a3*b5TvLmIs<0BL=_Od2*{|xypYe z`%&dzB$t0yhw@it|5~fP%F5qIENRo_EE`oQcblLo-<>D+<_omDi*H>_MAPMACj!#NAh)2 zmCYgL-83x*jxblZRbF*P|3^vd0XmM>C1>?Pt{F|Vo1}_!uH~J(Ni%Yk&b9nIPPwPs z>f`N3UYoS!gfm64`b3A6Cy_!Z7^ULv>{07ZWD-8~&%lTN+0-Vb0@I%6ok)xi4zihZ z>(Vd2SL#an>KETT z?E2o{ANt;huD8Da#rGOrZ+-jFTQ=8Q-~A%5Yp#?ZJA5zohO-|2+To3fhR=D1{(BVsGT=9SF@THTkFa5H<4!YhrY;Hdfx!rV9 z_gRM=8eCu6V;;QjaJ#;A%k`y$9ln(2`qFlD`~ET+@s4`h{);b-bG@;x!U+Ee_M{GC$KoYnD5$8P=&8u>cOuZl2Sc2s-; zO@5u^QAIfF6K{Tw-O@UVL+G&e1iNnno?Xq2qwJk}+#j-j!s2Ui|Ll!J?7kBBy!9Zv z{~2BbzS=hF{)v6;ol8hdwHC2l&f|W%rsT$M_T+a6&9lDG?!Ur)l641rqm;!LviRe; z?|d_#-59E&1aBKrh{fNc%t9XlrcF3jp~b9^pKAI)NhRiv@dP!`fv%wS*c&q8q( zQ`x(HT<`w<_+<99hQ*AnFtAW}7HX58JD$Ma_G95u6}0b;_Loyn9sdmrw^mXscC8rA zzHMhADp%9-VJy9d#l%$%VWCPE(pCWTAKxlxp~2XBr=E3*A@sLNV^8#D&z?niY(?xq zLdWAXx#2i9q))5#$!DY^t;7C*74U`D-O#Wvon&9~xf#UXJir5%Nx8UxwnEA7-@yG$;GogGk;7ulh#7Gs zi+yJ$?x$-)Zu}{!tKdE)#5CuIqnyiFIoqVOCmi8La(FSbCaaU4WC#PlgXLL2%&TdY zl3-v~Xm!#wmeMM1KjlbEf-L|}zCwuT*UPC><g%cYwD)qbzlaoLVfW z#>uHgEHz9{-6f}5PddI_z*5g4L|@)0rxu;d~*q~2{m+4moU-B)X?G@!ZjKRTa&7kIES!n-MvcDFIguY!GtWQ1pINvwr!1s4@` z$`j~eKERQKXAD;-1yv?!wCFv7l^(qRF|TsP6P}h2f&=V|v4djl7T8*<73H)$957(y zses-o;vg?UV-5}x>sp3j_rpBV9q&e02JCUSd*sH0*3EaK_z-bIYtSAKcn}e76du!R z;Imnd{^FWe4hXSF%#-ST*=`y9(1cnk^UhE9N+4M-HNdy172YeYw7Z?}!PRaw3rVxx zJ>T`-tlqdN$!p`vAMigSMO6Ew;Ow0g(Ze@IbocYws43ziIosQQoNc`?XM5d?v%Tq) zY@e}|PU-#0p8M|z-hIO;UeVWc?_~RoYVKWwea3#pyIl?%?K9@Nz3cwo)Wk{l8I!w+ ziYA<&f|9>olS*w@6NUflaFzfU8{*EN@0y=zsFfmX=p>Fgzzl1a0$RwY?R-mDZ4dF^ ztzGiRAU&|g1L@N&K)n-30gvdi$E+W?-m!SDv}FVkb7O!~=e9)=$!%6_?jr7LqIY|? z^~26K1^|1;3~(_i7h)v z^Ev}3D7FNN|7fBzo2;m3wtEf)Kh*Q-nj~u%oP!yXq~I0WTAX{Z4dI^myUXD(Yj#^} zrHM5GKsW8aysII=SSx*XXSaOL+$#$wZ5v?@Jr87y4zOwf(?4Lh0^F9oG(wcrpTD2Do||Qpsy=a z7I65jDI+_Bpt#csmoHUYGjKMK_Y^RwrfCPeJpJf0uIXQ3AjzfD$X zNxYZcBco9|)|!a8$lDCHZGu~|THN-z;)%ao-F5N2+Tgn%Eq>d7Uq^h)dg=S73ix__ zhjyw5y*`=#pXg$MmTyrV*5Ye@ZgZjjpK)3reokiJ=z5FS#s1N?mU+>>7Db$INl2z{ zh9b7ss*9G&aMll~iJ0O4SwZH!=%32m;%cmFpzHg`*GfNrh8i57&(BYOt+*3Es$UOa z#Kj5cPt7sRF}QDQf^UJ6YVd zsy%&mZ`r%Vz6GQ$F5)eFSM6K&fY@L$y*U;u`C9C!Yx#jFn^&WI0oh^kWgZLxGs+lk z7%c>$zct%$TgM2INqr6euuBUP>+LtK;l@Zg^|t+*wWo2UK;N?4F5tA{hV+Y<8e=CZ>8ebjEnY<6Y*>RB#iH5?8bLW@`KMI^2$s{6wMo@(9fs7_y`zp9H zCQK}6elVYqs-pjDu8Pr~xz{$eTwwcy>qqlRDSF=iG!7BOkrzapbpRX!dC+Ocz9FZ;83QEL@LrgLk=- zD_7$0BZL2B_tib=#>_piEs-Nm$H01b0@~T_&FnBEqYbAB5>l{+_?|8uq7~xsbgQ>I zZS@WN9z_{tabMO92$;wojB&5Q>^wBP;J4>rq&#Q;=VOBW( zPq6V5MxLu@qEw?0Te2#a_d6?dYImrcVfvp`So~y3g7Q{V5BkQ#x(k&jrD}M`w|h)- z*()cwvLK0SGj zIlFG2d+egL@onI)x)3_R({uf9p355xzv3U?S41Q9*x7_y>n2zH7pS|TSx3NZ8Wxr85Q@Y%-8N@fs#J1)i79hcJU;`xwGD@E4$#qj={k4xEg=1r7= zph2?NHAv}BaGGSD`|rx~v_&WTSJ*lNo~?j(^~1IOE5R$CeTFHsMc0P%{Ws*Y4_ezj z7p{=hz=-dz#k-E9Zi9L<|AC23d>^(C?H==$25FWv^VW{YuWr2?8N&}M1z%x8tZ#KQ zM{-(%2I|}y;Fw?PG{{rAJ(VQnp37=CuSn;^N>6|rNtcmjvaT^r;p$h?ju`#yBLrcT z(0;&Z+-k#a)NoXb@dBdj3j0^GkC-nwatA*8Cq=FHLxh&J`lWRc~`)3 z!Ygw;`ewfuI~QXXV+sSeyfyTxSf-=EaS^ut&+GH`kLmODQ}yY3n|^}+l>Qt27y38# zt@;c4JNj$7L3&2tt-Glks}I*d&79KxL-$u*q3+MR)eQY#shh1EqZ+9ip&FnXpjpkR zH0|mKbtct6wI)@e_L87CdtG%w^`&aJ>I9dlZsH=hs^b>gERdsVVbvN!- zGw*8gU1Lq}^fVxcB`dBjd=T3H;!fd!B9bc_nFVQ3p)AsTCFed#_ep~@de_Qiamkv% zNJAPB{2gDmGrA(lx=IVIJ(fy*fS?*|HODtdPdFz`QVObe&ZtA==voGE z%NVrG&Vx2}ZjI_VX7IFBl^5_i(dEmyu!FWf23$(+xajD^fTvTxm!dN${_j}mduZKp zz63ueTy#!Ad~1L+bR$X+2-4$6B z=z3S^mMlaJc^K;$YZ>4~$r--UpPn8zHWu%g$GmnqS&Nm(34h$%Yrz?k#aB@K$=QeD z1#)_ZDZxCJA~q{FnJR+h7}d%mik5%fbLckVwBJqFY%U?N`2Nf&gz*#kep}D-$J|B( zMl4GRN6b36!3YW-6GW>a_6k+8+?h|z8ze4@Mef4`pu-OwJRevQ@D1J>0vP!}mm2U{ z3ZhagnMM3I%notAjndkoCFx$zhg}2>VOT@VTFTYE z%+4hQd>vez#s_?^h#>5va^`r#LBE^dPPgo~Y%`9bmc5=iQouJOu)2?|3;2{EMlrSn zzV)po1GW(4n30na<4!r^82Gg0jtchp82?-{>?(4J=*G1_@^_OmyYB*{;i-_?A$rL^@eO~HzWF)8AT9286 zEYSHzT3dZQ-><^2@_k67(Y%N}1E_zlvBEemN!Vs%U83g{{W8aYt2xms?3aJ}3csAo zgGOW?t*DqcorQ;9!-BS~Wwyy;VS(SxnSb)TStsY6?4yjC_*JIv=~}BsyzLEg(h4!j zb8Tl|iR^-)q9J_erPVif>^{o}SAYXlvr$2ndsEA$qXXAq-%ITL+}8*d-jSKkCalBc@3aeaivJ|0<>laR}$5sXI4mBI!IZ_nVsu=mR5n| zI$$(b0cXJHMDs*_`k!*BhB@2m@9fYm#)JV*Q{uFrsHSPtObKU^JqBDe3VgGYI7D#8 zCh&-iY06F4Jwv-vnlR#dgwtsmz-K_{y7cDV-=IMQjh&h zjqPS5!Ec>RB^2)uGRjz!AbLc)$E=%?`J534zk+YQQq0#ge7rtv>^*M(dMBRCQN{st z>ssDPeV;>XgzM29WV$k9McmGZ`Z!kIy}VZ;6-w;L{B{vtt@b>+o7&Id`}gt+f?W^t zIuiW4F2U{`a{3|A5AC@~ZqLU3qqwx7C0Y~Xu|6iP!f*H_dL!Cfj%QBXzm3a;`vDa< z@5*NVF{=NT&4>e1oG0YC@Dc}9AQ#MpJuLpF?PQ|{Z2Y>NQ3YaUj6VnrkUh4N#m1L? z@Hsh0YsHx7hK(CJSSdgT-}nTep4Uj&u*|L;7Vu3-aljXf2;!*(A#>s@@*TME9^$?| zp3*x3-|hn^O?5(oPz8Lx8P5qvC}PYZi;2Jq z6W&^ax3tROihyGyv7!es;n1lWnJ?2N#A4Bi+q%7;yn~-p>3rmyIrwQ7E8k5!NIjz7 zFe4eU=4Ehr)wXt%_9?s_K)C~6qPi?{)}-;!e((04l1fnaT7B>qi(o_yJFjQt!ENp7 zTECm8W}6arX75M&(LC2~QWM4_2Q{#)1kj+h3MD(lklzZfz#Pn>c??b@Xlno= z-#jkAV@2I>eHdIpvq7bT6K6|YcEGWCJAICl=Y~ofk$J;UOvk+ZUG6E$f^!8MNz0G@ zsnzRod>CBmce5Utg=cev$Hfa4tg_K=)U41)TFeZz%K=}-%QY?xqZ*@mjhNO&e>Zh$ z#0}lcgo)_QqyLXSr^|iLkXxg6Fzd!KnA?s!NqGC=4}-Tv%6iiA*}*QX-q)%99@2_MQe$7+ln;h>Jtt8XSZ_u}~w^w4~_rFFiR)M)7?UrVRJ!Rd|P!KRGz)%b~jLEOLG zI^WFsC^JCLifIIAGm4pBABFj7Ym_k4H&g!$U3Pk^ZWCR8zaJQv%R~lSmH6h`|4R;V z{|rBXIjr5!3=e^Z;NX7h%eMAt)qJ_8! z0SrO9{}tVly8s&c6h z9+Y2Cxk({9Z+kt7`v+wa41EwBO>iL|%lISqb{{o^mKm=nT!!w?IVEQ6XB_r)myg4K z)J?Oa-TxEl?*?e`GA^Ra+xVn?b{$r$;L6bac*Lz_#K#LU4tbTLHR@>^&sBm+lDta& z4%jiV$G1wg)%W#p`=x4H@$5aG)3w1{los?Ad^H^V#TUGU1sqRQd~g2!L|qqA9Q-~v zaQsNSFK?2MZ?oY>G11%OsjfvWbCr?7<0his?euL98yTD!hi`Avx7muw;DlIwE3c(l zbmq|P9TcEdjXQ|!$4Rbj?N+XLEXE-lx3!Pd4lX_}36OeTa)fSqUZDAWsh4XFt_bIs z%Of<3$L~oy0W;9M6-qUw^LQr}MP!!CL4ynI6vsxeSdrc-;N6jZvK2 zm4w=2YJ)3%v-6KN_s0 zOq^PXtTG5K-8?+G_jmDdaOLRmaY7RBFWP!m?S&?HIizorqwQAy8tgWZG3tP+k$uSD z71w72QLk=%w)Z|+9JXd8|KyNc^+`Mvbq%>56;`vj;*J{e5v&8Rc?MiV)?cv|Iq0ai z-?sHptq<3HYZT&|NIjk%hlz8CO(pw~Yo0Ki0{_|b#_oZc1Xtxou2`|*ewcN5bhjs2 zu6g3G1#bz=iVz4Z|BA5$WQ~>Y*B9;UU4Xo7r*%=r8opUe#SMSw=g zr>GHfIQhDf?@@5Y$5}CQU5_9B-`0%->9Aoz-=`iXO!^;+ooJz+q{-j+-TnSBdREih zvvG%ID$4Kij6J*?JqxY~&8L(0xH~(u%y@Ui;qATsjW`^PmJGg+eVb20{q zA9Rvb?e(nOPudVBis*)Ru|&bLrVDGzceAo(ZCBX1FuNl%Gy5z*5o-%h%K$0GCgsKs z&-+-lU*3=QXM?U(k7PW-Ka$A|kES!RkO7+pKt7{Zuv6DW3n~1e)ZnsX{1)hk?s#r{ zqlNek<*<9F&NEm=@m9q|`ZCQ)x?|zxI8L|#$>~gIz1TldLF5`P^{SIf-L>Fs8A4D7Zknf(u zMSh~>GfF;0gJpy-PPQCp{Kdr!6Hl;@+^m22fbZAj6ASJ} z&qh?P8jGCW@ERfmB4Zu$T5^^_0t=g`0pc2I@sflC6mi>fH{$l2OUi6PXAu`$j=xP= zLId&sHBXn@_l_W4LhK|<_%+Xitw-c2N+>h=nkVWbipPD;6VbYO$p!qr0QX_7A3=8) z1(=V-m5$3H&?&ByR|v@QRc++ov$0O)raw2RhF+AS;aL&=#%Sc2d(Sqofg8srQpQEe z1*$MD5dLP{S<8g8;gi#@)k9-oQEo%LN9#bu^TXM5d8qK7?WYUMaway<<%7a+PV|j| zo+`@~aZHS|C<76_>zowj%%WG|6!kq@as!vJ5)qVq?Y#K2cKRZiAy$+yG=thB3x)Z7 zfAJ@89_AzYsJ0<7kgB6~-Ltd{#SFc0p%uqd-2lGzvCWMBBUm+r?Qr|xd#)V=00x_4zLYTf zmK;GNYBw`XArQ0%32Mpym>IEruOae-vYadBcr&0dr-jz!H{Hy@$V@+$hBA1_Ro^rrPTRXrnaJjBHz z77Kh>=i`}lj^1YD^AafQU<2OgO2+apAXBZ8Musy+PJwuFh9IFlt)zk55(z6%MZ`1d z*AV4j74bV68ZWmj&6v`W^c0QL2bDHN6Y<4Q9E>PV6*fnQrr_x;zjmwsshr&mMZwY( zsge0rQ%RW<9}x!SF%MqAsW}4;rO6p4gg2m9CiyH?k zG%oI(rjf?Lo#*0;ZJqUG0mEAJ##Gyy>+w#bsuU6RhrcFS?bkdXT(JOxjC(Td7Ykvd z5F&oqm5X1bmb_FtFZysT2U-~CqTkwD7`Fj3@?@M#ez{f^F+m<>zZRC)yE*7NE4nDw zeRu;iJf7zoCn73*Ug8$pKpB$d1Iv4R+EGt+9hK{%nr0&Uc5W)74aA3tFQEo{=cn_e zg?`G#mB-ak>FSp7jNH@^ak<>Lckk=R^XSJQxgXzL>FdWlxgS&He$>#pg0;MN#veF0 z4*sR&-$S;HFM$RY{>U)f@VP3_7klsw?vKtx?0@7zXvBRK%2I52<6576p!Q+xp>a=f zhzQ03y)dR;K7Myhg@w7P?`K2+nnCD`4-Oxm@52RE$qarsqVV?@n-KM1UCAX@*wmZ6 zx41p3Eucji_mx7WhG`!UyM%QzuCd{WRI4^24=bnk7v}>9s~5)6HrJH+U^ey(q{N@1RcJMHUbUB`gJzEOr3 z_CZEdNi@GV?X`L~LR%7!n9Vq=ysfSLPBJ+Rn}KPT4{bRO+uAvG0?#EZ6Jl!&+h}F6 z-lk{lxXrff=MA8zhkMr+hq&-=-BiLLuP%n7Q4P!p%P=nSSs`{WRth9qjn2pfr~l@5 zI`Ay!ih))O9npy4{?%f^;)M<|wD17v{W{i*FqtlFm&5rs&nJlN=Ig=9^V&)#@}}?| z_KJog%JBd@x`KX??FWGiM_`5+an~BmgFJ)m#Jq5Yz;-JmR2zapJ7go6VR@3O(U4D~F$+jk|t&2L~LkT2ssZo_(By|Hf; zIW6--Xe4Wd?$9EeL;SelV?ielRZPd47ultdw6M{q8G5h*zv`K&2l-``V}rT(#*%_h zXoX}fU3!s$ja5|*NeRi~>Vmz3s-(oG#p=OobuO}MFl^(H2btBD=Mhdeby4094&3$> zIMX_LHRj4_tpL4^~T!!;YZP3&;>rap+~v@8hG-Z$PHjMwms@v19h1sa37mcg4$?8F9I?@&trAfNqT z<8O2PeEd@H_?sQR@pJO{Kjwol8@?#Ani7HmBH4zk*K?&a@(iUE=?^DNj%Of~KY14_ zU*3fZ(LC`WF0nj~+f;I1vqc3y81D+ku5c1$pTG>mR(J+jF#m1ic~v<(g4s;#z1Q))G7OHK$g+4r`tUh)XE%Cotk948FwOOOXp^Tffzj2XNN@Kzf7i}_f)A#*s};GMAY z(n~l$=6atj29%g^JTtX<4z+#PtQ0c%^PuIDCU9i=E~uG!-QapyNUw(kXCaK>O7{wy z5}H3qch259bkZCac7`?g;kysl^E=n!1U5?M99(HA-cyy+n-?X=dU}(MU^dX3Pj!BK zw{-_U`EL6Tes5FmePhvMEPXv*)aLb69t6LXVaQbm3K6`v_*a=L`-KzyR@a#78a2_e9o)kgrLW&m7Bdkmrm`E9<;d7xt1N=_B4Y~j z?zsP^Wr}ETLUN1kuH14yB`<dy(u=scQcJ)6Vp8}F5R1pVEgMln6Z&Qe})YBN^gtf{?n&j9g9oCEtt zJ>YDH{!llxvQ|e zn)Czs(g3s^3c1PG2Jj2(5{+=%-BvH%mtn52)gDCE`yLiqeOzS$q$;L#x(r3@dA1b3 zJ7d`O>tU6}@4<{xZi4AiahUVFQKRb|hH5;Kt$!%ia+~Lry9p8S-o{>*#`QH?$ZICQ z1>%uaz$Mbn$Z`n2tI8DRfUe2J1FDWM&3f_okiR%O(UE$;m&CS)zeh`L(!oHBiN$gl={SS83z^J#Q zu_snmO~E@jkVwvU_8Ye}hcG%<2)ZBEejH@4<#S|Uvg+MkSumLdyxl++{ zt;dX5-Dc#w;fkJX>JZ|2iseyi3q1K4B0nH1Y}}9b6ghffo5zZ%f}f!df@uu$0Iu%6 zk3#&0=4Mp}v%aD^p8t1q8)D6o-f0_PdjX%-(0}d3wJ3|Ib$#_hST?~&uuI|e6K{6@ zM&=pCcPN_%&7(n<0?Hio-Kk-N>)xjoIkc=7+n<*!) zOt)MUg|pCy(O$gFcDlY#)-VWzWlA**ZJw|e1#co76$WE5nX|rY?t_+civg0Da^qWA zo0shoJq8(z4HXt3LlDruG#0a1!)~{Q>(c zUh*(&^Spb-CslBFwO>il%jv@@w_uxR#zEu0{P)*Xt9NlcPV<&|J;$L5iUDo1#UbKQ zXah+XsJ;8H0%OQeR#fLt@vRW??wim>0h1ns>1tHJkP>2WVTmXEq;V}D_-4HRk#ijQLH>Cmx$*_ zBI>Nylj>~++}16^*(lm^;L}{HWImE<^0n$iGELg0kO($h$*Y|Q(m};n4qzAP^<;SW zBikg4yHxK7862;`-6Ss)zArNtHM34Nq|5$ZbxF#SHJCYv*tAw%>XY=d7UEO~`-P2O zHhc&AL?s!ox@_i>4RXov)~dJqO1`-8?MyaYUGmm6toc23cir=Fmja(v$iDXtavCzR z)6Q2;B_EmUHPER!V+Cb6?F`d-;*vi7-*}SLe+ypWPgF-M&QNHMc2>ccr5g5AJxRdQ zX*)^3JHL zkhHAH;y(-j3_pEkL>92G1R4U$VfX>Gx?yV+;V(>6m%Na9Q3`&~>v^U}5&nlv8ubd2 zZ!Pfqh2_Ob^A_9ibN__S?gq5Ym!NH?weCo=0WQdbx`YN2{=hc&rC-1JBwg z?*jfU1zZ0unV~gZhn;^&uQmpAvk<&R0~l&(7P0~TfF9D#C13Aa!;H{x1~>L62&+o~ zW0QU>&H8j{gsI4;TkjA%3#kp?oPL8AbXyeR4`o6|ouV$GI%i4I6EVg+x-ttteJNzc zZb-8!c%pn*P?spfhX|x4T3%?)zzUtFHoKH~*+HPg!IiWUmfsoE~;bEDzCd$lIduLMP?Oy(82My2}X!>;M9&o<} z*C{+ZgHI9H-@yZKsLHtv_>GYWc&e0(}^IdOfB>jEy~r-I*THi%B1+wD2xQ4^*{26Z~Bf}>XI|JBvqX1IJFoGD{SYfk355gwke7}lt_m=A% z))?S{>900X)~XWh2;V-xgLS1*6}~(Z``AV$Fy8BV5Or1ntC-l~4Np&#>vT|^v~IBp z_f{@iw|eV5PZ>OYHCEgKKBLBYy)`DIMwMLS#q;VCE_@bx{nKq-ssEA$d7LZP#1Cb{ zBYC|%&OF(BlntjWAtY(rG13efqmSJl3$1BjgL*47jQX)y$f}_cJbA~KsRGv`>aItb zV%s&jorlp*&23%TDR|sz9g%<%BW_ru!%0jMDYP(WH-3k%nj^uWOVw38u*{{;ZAkP>D~a0anoBksfLuQN0!V zD*sZOrpv#lA2d<>nGI<$P? z(@VHYaBagyGVBF>nzrD43s(}ZCvcG-?PHu!L@>!MMyxy$$lb*z6k`VAKdqR7T1i*s z8yR?~37mjI4~^ z7eXVaS@8Awj^krNdrzy>se`tWFlRiCR6m@b&EqMfb^fyFyP-?cmin}5tgKBtQ$x~S zviOeUJwa1mWRtZ?y07?vyK591>Eod|U1}`lr%V1O9k5w(I}#8lz5dr24aFv)@p0o+ zn@iH(Ja5=Kx(56|^7#x+8T?SXiJqRtI3LEHGW;3bC3QDQQH@lyMb^g#7p%xshQr3T zTUVwoH7#xRoV!Y8m!ND!w|*zn6w zOZ>#i-J<7TkdM_R^HEO^v_3wJHVLhsuB-Sa?}AJ4tplyeUZy$ip3Flz&@-g-!Qv~O zw31G`v0x{iVTSc&X4t~$_ZK^-U+UB0gbO`QEHn;!=v5}mx|~_f#LEJp%Q3w{yEG<} zV5crATVrFU?aShfI}aC|$%Ns!#Fy_|xv&P+XW z$xx&!(iHvsCz_)mKxtXm{-65c^XV>){F@2)3%maKQvg06>l)JR0Ns)v&xy|}Tsv{q z;ku0L1}?4wF*dNS*l}6#T?@KjhbtfV#0Sv6yt3DZrt=1Y3m=5_Ze}WUgqYbh%#csZ zq$^QH1`3({^i-X=?+&et)ThB+?_W}e2jb4$b)$)TOug#Yb+Snx-s<^dD{$kWx`ghZ z!~FvX^C8c-dVY)h%LnOhX{+v%1${}ybqf8VKCP|Je}8SYZkKU4$NvQufSc~x$B{jt zPW1HXvOUboNE@*cCa>jV{lq?$QrXSu7-{EchUI8$uxq1Ohx49coHPc z3k$S=j@_q-=pTA{RJ?nv@bgiTRg>uX1`#NH^FcY-PGLNBzPYyA3K(j4P3dqw0ZESg z3(9JDMG8vHf;P_QkqQ6lV_wg#o`B;~OSJL#Y>Ek@RvDs9EzQL%)qXqu+8^>)@%^XK z$e9t9sEyl9_EymtEm?KzVOtotBy{CpYy5C_lEk;-blH#@__JB?_4oHu+>*gh%P|ys z+n_m-&~J0)UHsgs^1(REyy|idGiqc*__Vks^HICcW~CMT%b}Tmzf$`Y)c)Ah_pntJ zF(9MWv#llQS4v;=eC~BM2gqkVt)5LS`d=v{dWJ}ftU*go0mfuM)YsRC&{qqtRJqTj zL-|MbgzSO4Rs73VG%dny~?@u%6f*muwmh> zY*dAfs~>_h{!+f!7D{$4uvEawReh9YfN1J0guenj(W{N(2C@XRG7+dXH`HEcSCxN- z@5i9YVj3TYAJ9t)hn~LY#S%bxl|y*dzjusLfWzRQL5)0}u6cHPsh_)mYeqn;A0Y8- zrAB*;oBi5@b!^mo%>)aYv*o>TAh`HwMdmL%)qFq&;fg10d;#SLw2yR*HGz7 zF;lsm_|MLyC8<_UT+rDKNhQX01lGEJePS%cA#~#8+Yc{M@}Em3R(gUGxv=TYB_87I zwRX!LyHeI8Ok6TSxW0JP;*;RYI&s7u>k~dL(x2^wmjrvFdE&=DdJUNBhZ!LFk6vajxLJ%1@5ck5clb# z)L5e!VTXmG&#szA@>sfFe2lDfuv0;N11mi{A|1;2ck47qBxfUyh{^$C`7=>=N;kOZ zf8wBx*BLdiebz8vfYW^;9dc4haL)YC!9D4X43xHZr{`p3Kz9PK7sjnqpk^m(Wzy2e z+8LZ|xL`XGEU&SXkx^CIqGJQ?$(c&%5`*khZW$HeehQNvw)8#Sp1Ph1=@T<lvS+0mq8JTwOCRJqgb@brA=%Urt1sce)d@2CaIw=5Ad=h)h?a zXIJgW^wB82x~sVvCs{<<4DAEY6i&HilC!D~h5Z;K78dHo3P@@$SrVy)tsN8lSpB~x zE`M{)DnTzk+08^}y1oY<3_74{#2j0LYRDF)vmW>P%;>B2Avm8o08SQ?)#^EMW#8jI zJ)pzk(+ht3C*OXSVtmm)c?<2um9G91z17gkz&E#7Y@Od+03 zm_j_5Mhh6pJ^<==t;SG+(KM>tvkiWm5AgnOm4@I-P}QK819(%@Zqbi|HF9)aPRm;3 zaVe=zQ%ttT#)^0Gbed!Y-)@kS8cR{T%I$A7R(t_n#9#64Pj+V5L6muT;qxoMfRE#! z7HTU#TF4B$vydJ3ijQTKXP`r2#D@w@JQFj`g`KN5fgcCmrp3wA->NE}>~TmRMf}{f75Xn+ zB&W_k%rFnvG0bUTJe&CZUO}+$EtZ~uzvj()y?9wlk!Q-~IJlgBumtB}h~ow=bT&VW zCrtX@@qxVhU-b;f9GI2x`Ejy|BWB8f<1{<@sONL-Od9xvN%1hvPvR=p?O>ly)yh0@ugn7dxHaci z&og778~);!_Zi?oos_cCHd!( zXg6_~J|49NIUPR$W(MEgUk=hdf2xlMro--Ma_6N>?=b$G_BIpUyxO#5Sx`-p^n`W6 zfy>Jn_&bN}d0@Ft%GpS%>5 zp4{d9-1=aZWQ5$!VY8UGA_{F2*d6rb&6Y7c=%8gY@IrwgAP)-pQhwBw$9 z*#C~tjab`8_O5X+VU0`1y%Dv418LWYx?|@b`?H9+Vp}5 zMTQpl1KPHrp1yVRIoz9357l=D_jY_v>4=v#h$K6);jdJi;BC92Yt_^#9hYUz3v50+ zEcJ8TgFP!u|f<`)OFy;$@6u!zDW?2G3Kw#tUnp zOUUKRVTXqkX`BMQ>Ht5{9fc0yBas87Q>@5DJomu5$h1)xS zURvWAn@}ix;x-t{)8bDYk#&KPNB#Y~6dkbTFzHiLq*zO=Kzcb{d!DW&&3o&QduZiF z9rBD!=greh!k}d(Q<&&c81ZG98%#$GOGuhkW&B*kZA_B2S(SJ7TKV!_U!A0FjTNZo zse9_>_;|U9saP^)2jp*(ljscLGCq4}S8K(rzR=0iX&6Io7)1f!3ZM%yiiB;W&IcEVm{Iu2uRu3hOewqv87=UE?|cmLCpa4GZ*eAWLB0Mu z;TuE=sz<$jwGAvpc5Mr5AviNXgL97jHod76?tkOPn*Z&Ml>g<88UJe==$njN_$1ud zrUMEs(nMGX`{pN!pKAx?o-SX4r<#%}!-eqz6B#39BCg5nBrzF};@qmvtF=OzlUTVKM&-f;Exhi2Y&->lPl17TdAY?Dg(cIiC&A=^)x2^z8w6=IB< znV973odryEU<01#p@&)}|7pf&nT$m>oY{2Mv(F98gZaa@GW%{1J z?Iy?)TrobB`a3xBDZ(7!uMeu|hY&#){;-#QHMH+M#3BCfSFw^2pDjc`W}pT{q9l%_ zg#~H6O#9~EJoI*$eh}pQi~o{PP6OX?$3!6|P0i;tOd-zIOYPcTt~FPl&z(50(EMUP zqiZ5@GQdlb4uTcxlzARI4w8g*tL^Oh5yDp6uyZ*1eKV)!6UQ0F9YLp zQ3uZJ2tNuPzLo0{vMkmP%0Vo##{Z^VSk)%JDkU-6_B?H+&CxLev*W|h2|~J{aBFqG zvpS;vi=dq`G7tX|oZENDHdSMdK84GI{jh}3;5U4}9;BO360UlFdpTD40+`6e1~xF^ z$@~%7lSp|UmV=|2nC^35rG(mJg~@hyOrEtAXPEcVjlFWvgZ90)!8nD=(;-Lto4Rgw zXEM(;CJE`OY+^fdU!t^36AuWqE(Ku)WGu(bbt#oLMJjfnmMiDifI0`MgH9Jr18koz z$RNtFLaNH@TAgVXBH=SMQs{>q(#$4yV?XhO+rHSdN@2V_QYL!!jeqTq6jTwe0(aO%eS4n1624s2 zOY}je*$m#KE9p-pCPUFC`M4qf6{z!RC_O}A|3!&bbCs!wR@iHf*#+A zy?P|}>X9^arD+%+BIPpGOb1(#H+*Q0x?3j(i&J`r$UIe5A9L#rj|la= zsWC57*{v7#?W}$bpBIswN~fT1kL{YOJTI{{ZPJZTcW;uCAn&)-18)6RKwk!&&Tj6ZKQeSn=0*MPF8HS_~pTrV*LY6)ttr)N>5~BkDdFYa1c_V zR$G!b^hCEj&U;c}v@8`yTdv%P-9Oyr3oqf0F!|%&&th5r8za+z3zR|6iY^%hEgvZV zX2>cP{@G*@Cv@wuQ*e76ZQ4v-7WTdECRX88ei@8t4s@QSgw^AFw`sntm@nG9(^=Ed zEQ(-1NGP<8X&5{$O;;_$!wnA+!-_foj0UKB|F-4$A4GeY`B zd5%u#EnS=}!#m(5Qup4yH*Phnu!H$Gb}*_ex989`oT>H7rZ>5h@ImZRCUbn^ zG?MX$HK-!uWjY9MiAn(_RcdZtFXa+kR{g&UGL0)tTJ8Xds(KruV z>1CpCxv-mukCT-*XShAC*1+C=Jlu7$`N5jNyY=sE4U}omfIc&p0F?c()nE2ur86|q zv-mLC1H!i$a5rMC(PwqIXqAA%Ru7LeK;6KH|CuHZeI8;9fb|GANOJKk=W*~p-rxI5+S&DI_ zNYPbHOrpyq*uvsm+;C>Z8~o75A0Qp58mG_uY93~R*}%M3#pEqw^ z?FObSkL7{I%S)#GAjA!xG0!<~2%i$B!^x5stAYjEs`K?;#58;hcHO~Q<)|^*vLTIi z0d}u!ysSpXh&e-^vcpov^jBtGT8b3Tw7Vjg%$rw|XAp>MFBXOic|+b57A~O`-fpM; zS{YN4cD0^rV34zX)DSK~oAt|4GM?h$}br5`hV4vaLkJV?lt-T%+taJDh zwuh1IX}@S1e6P6uLg=Cl;3t+1+y>RtnT&|uNh z&4sIE`-`V>Mi4BoV?n|o4afiCluw&m;9x9ypuhPwLBemsw60lX%`_$zf64E1Uf8XA z*uvXd>tRRJm?>$P%hS1W|6?nQ}of@i|eg*66YJ}_oB)@qx?8Pf0xnQ_v5%noZ!$4tZLILht$#vP5Zf8~Y; zC&R_NJ)gVZfi+w*eyeleKN`d7;Os%LV+~4=6x^Pp?p(xdjeymMyN4}5g8i|Q&Q$(k z$O%OmL;6IN`M{lwG80hdY|kHI)s9tKZfm3a+h)*|gnc*G$geTS)$%-x0hX+b(z@zF zuy^jot_3Pho0Df*)K)f6Sl(_(41i2|{Vzm)S9L`lGbBWz9=+rKsF@g;7iNcHEif z+bb68gtH6#tttdvS`Sejvb_PgL*Q23E>lSf&M3%IV?V5{n2{Ayx;?<9T=f<_0aJL+ zHNH`?ij8~ImQerbD%MJoQeLs$tbgtxohZFxQ-Q0d)+<+yn#jfuI}@2XcWKd5cHG=W zTWuw^C!le)oM9(5AXjg|aSgI5kPgYq7?A@3dUh^b(o}seafm-er=p)jPyM+Rj|sy31;4=GWEEemcH2T^X_BVCtt*ZneI|?Ky?g1~;SB$T>qdqs2U4U+Tu0WWV|kZ;&}M#|15sJ-UcflTKm(sDUx>pFZku2{62+xdgwY^jYnlMjE>fx}yN!}b%`+eM7*v+*c?+lTL`a8X>D zw{rBGM=xbYufBnZ0I)zX@6jQnmG3O?GQJeEaUo{j>MABV_voV92SvLje&6FYSRix zYHrUZQ6LkmxyzY+OFuIb7#CagXRc-U*>$eLQc{(eizR?m&w=iyU>H9C1g z4RYvh4B9fDH^2i}UrxS8%Wl(?{<0K>a#bmOH9v$W%iJp0OIggY?fg#u%u?vy9$Zr5G{oCD)h#Ku|K#+6j*?Fk5 z#dD#}SKGf(8`TuFU9o=Xj-S`p|89Nyazlx)zU$rRrI8jDB8jt+z)j^0DS>$zGLe~o zsrh6(t4Lj%RLewE+D6s}kxhe=iCybT6*r_2HpuRyg#HD}<;r&N#1~gR1i9@k2i};yoHr+EAYla@2aUZrZh63`6JaH$Wah)7 z4crQmFr%V0z^NT~fb*~~`k!_tCj&Muga=z~vs{O!eu23-Exipts-v}^NpAz1r{vj< zlyepaBNGy$U@3JQp@|mXa8Mk2vXk&@AE}#n#7u zR`aK&wM?PBKGitJVt3NwnbV5j;89gM@H1(xJ-#LxYl8-P@YqNPPW3U~*~Wwz()+@X zG+BJ0z^_k!$RY1ZU&}`v&Z*S)BHoFXU(4wyHo^wH1yLrbT~2P5e2dj5H0`SpC$|OX z{NJM|5poZL+gN%Xsk2L$;ES#y_%*CNr#9Z&Q@=Qi_Tz^I*dZe{{b~9NJF&3()#nXuB_k}aH zRDQNO;hwbs*%`DVW(T#ftC_=S$6&OFub#qa`DU`tss?obB^B~bO?+19swuF{3rbPd zvym62sE_}Gv4u6;c^g`yp0s#&QadxiSDf0h=0t^)yv9i$43qVBWc$i(Z1s#H3&%Qd z6ZHvY>*R6FH6tRb&&JWpZh$CJ;Zf=*`U26WM20Bt8vSzJ+wU+ z?Tu3wg--oto3h-AHm`SHl%A_oHV00nz6*8K_uEYaXJm>ZY2owJ&L=7iUgSGC5rWQn-^U0#8K<_0)^UzC~@kucdtMQqPYZWfaBS>q%FCQk+DKc;I zQ>LMn=~|-FM&ykIj`UF~#f=HF9|m>gyIfK-EM~n))T8CRc3i->pv?v2rv`j#19X(k zVsL`d`9Avm9iJ@I=lSkxQ07qAM4l+K#P(qJ2$zz#@uMdRlWb?_s+&_zz9@;Xv3nSn2lnEOEwO8Wig?w zK5o^ZRu}bKQ~4=cJ~e<_+NTfhh>DigM^lqYEqAD_YzMWn)Q^-Po6CUYy(-N7-_M-| z#NtQ&U%W0ebMHORIp;agdCqg5^DGY7mH?09uAbxi<@DQeOx%<;J!fX`Vhdcr4?wb4 zC2L0H~s%w~2ljq_M0hPbs^>|;!~Cga4d^A%}5ByO^b2NcEz;VeqUI|8h1>=W6z zYZ4F0QlT4#o`dR+L*3#oCG=0_?vQb@IgwnbV_FV0fX4Tr>G>4j1IaU;fd{54%aO`2 z5skLjasq6)XWMPXe^W&E9f;++%gx3f61M{S<2fHPzt<9MiZxm4(5Hvy#5(RLn1+QG zEh1XQ?lDUFKO2POd#ybFH(ah|qLcC5SxdeVRMxb!&|$$@y&M*DnzT?`3a`zXj{l!! ze>!chHO7&VgR^i`5%OP}NoQj>PU~k4%?b6i z!?Y0|C2VZ$G$wXBu8rA)fGbbEHsHc!3<8AoMg_+^KDU-eH3%t6@e!5(9R{Wv2XyeWr0>c7%*W4s=&+&KWNxV4lr&So!6^{JR}7D)9qf>4+4M#r z#^4gN7^QX43{XLlM`Ezo3s3@CyU=JjZ*(>*$Kv4%9lw6@hb`Kl-g*C-G*UDw9tO42c zvp>zAKkakmQuxUg&jFu(=s)3T7;v-@II`_}BMNzPp`C0H);7qwA_o)03{;%jJazR0 z?2xxCS1Wr(FtGO;%+0h#K1h1xcn2F}$;KH3pxo@1;eRM#?FOuBTtr_D!iNnMX_7SH z@Es@pH})6@$Ll#m;YzU-mWPaU|9r#xJ@*D+#weS1>WKR)o66;j@mYW?SE3QO@Um!*7fbJ&>A#BYqG14>`;qga8pj&TlNkO->_#yNDs zTj>&gOLuQu;1UM8O2#q$^hJTIG^_e>!K-j$v2;x)q6odEm8@)6LMJzxTL|4NqN|k( zd@>V;ND{w=e{cm7_<-=TU}y~sxHI9<5B7Z~MbT)HeQ-tng>{U!g7k>V%#3*FDJ8O9 zCo?7D)|!Ue51=!g5ihIg0qO8~?L^rA1FBWgXqLlk0Qvm_WOORL;|jBri5Zdmymh#3 zJ}dxEiSc9~U}|)bE|+m0vhQn(M&_LF@EL>OiFx~)V)0pPPlQE{Cp*u~GX+SX3{B+*wx}MIh%yech^Q_{UY%ad_S2W1yE04&2Q7lzxlxvY-?LkF~ z@(H9RkC3M@H_N_}uaYGIfltUA*zed6*f-c`*c7m~6U-pC9hxP1r%51 z&%*}Omo3VW2Bz2wdNGyqBWwa6R;y^tpgc&@`M(zNS9e?)nLuaH2ItY%B#G~mo_IOV zk-qr=c7>SBM~{FFx$1rEO8LS zjtE)SW9g?e3y@nC`*XyZ41bz5SBr8+^Uw09#oeC-EqN_`wMB<`0RNjW!!9?dnDDwh zW%?MV`HT4#u$GqcF*yg$n-a+a#>n})BAb=+(BIdJH|<-_7Gs&;k=lK_CbJWqiJjocqSI6Bg)D+2jZ`H{rKSH; zJGxW3k^XYONbSBmRgU%!rE+AG16z%`rjhCQo=NOf&gd^EZwiu8j|Zg&q2$d}@)eXs zJdU}hL74&HPqMPn;qWFKzOXniA>Gr9pu`^V!kKG&sis#axGmQ@&uYz)aOjxog@y|q zATyqMSC3rw1kp2NNF&ZTClhtPgcj(Seu1m#q(-x9YzS-leV0?>T^~eW6 zt!1K#%V?I+EWcV^)(QTze*pg@2`*0<@QtPy18l5jS-oJ9;BJ@pKqrWMnCgW`E^N)% z*klN3-~W(oe@=Mmnu#x~eydZhNqVJ2F7<>c7vX-=M z^CXxGg6X4g=I)wTI+bmrEQ6TG?Yv!@QPQZ+ks$nbo^b5r_JPZK*Zf~67~fwFUeDeW zyvpo6nm-e}DcX%cP>_Rjcq}(gyPt;@j+&jF%C5ShO=T^WTeeEAdYxM3pSf<~vwiP)OGD%9muQ|t76NlA`7S~86a+o1 z4RlccxoE4}gmWEF29Xlzxw5gR7$^P+y&p+zV=E>C+jn*tFYH%g8H!yeWFq~MP4F$F z@kqa}4V5U(#!li$QgRFSeR+S-oQ{u=~PFLg-dfI?8U?{FsJ0w3W=ysd&hMe zq0hz6R8!WXeIM{7zA{=GsSg{OSmG=m$|2k|?;YL=&Rf8J`>boHlED&{tZej9$q-OU zOm#x1vU6`}LwosXsRhqbdH?$MKqJ*9??AP`?YTvIZyI4jvH&1TcMB)>;J)i~DQDe40Q~TxlTJGAmT7q5I;DgP?66F%##vC!YgRIh#tJqZp2vEFY_NK1z%qDsm)8pw4eH{6HHf@a&f*!OM>&x7vD6*; zeS~h!^H!2NKIRKJcG#DI{o+Z|Mu%Z9hk30#A%+=XLth zXX6I@(>aMb$Uj^qZ_Gn9#b{H|>M8uQDN|BNa+)*-G4+taYmwcV(<{Tm=kbeRjU51~ z$Jm%0CF26toUHsMCxl<3`scC9Ig_}aq+>EUvLmvY{`nQpZ^K`kr~ zW1hCMBR&_m8fpKU*)UzFYl_o>{&&+lM0+NRjrcas+trW_2SP_jx{!E$(%y+`E@}u^ zL)n{mb8|Vlm7+rWMk@*y=<8K|e>e$TDG~-&!kfh4p%^F8t~6hXY9{AM?JNZ)VE>|9 zA5?rPr#!;*=DCK`q6m5-+A7Uv;=iu|&6vi*(#T*0mDx$>^`BbG3iKaW&}uoqu-2Bd zoJ-6Bwpbk^h#IkEr*iC~8IbbKSK;U%ND^^S$=3A%|R;a=TDt!+$F zg#)^Y(O%s|fqXQxOx$`$L+wP^(`U2o^T$*lutr@>a3|7i0bMcuUv2sH{b6WZoGU5y z*_foXVHx$pq6SbpY;>t5E+NzP3@F7RjV6_)5iL1OdJnYQJ|mu~2;U>{rMyd+TlPZK z)7HIbHP{o}({f}R?G0XS`EHvsCN3?os9yN4E|%7vpzEb7iagRNG$4aXFX^rQb=ON= zur+9FAM3e@rnk^IF{;p_`Uw3Rj8XM zgTI<_h2u<|!F}SjCVUdDjcr~YiXDu6B5xZDcoNkd&uRaDRIFggmMgtEegeH0j`v^% z=Kt<5Z*4DgJiGlnIEhr=_a2q^e@7W{S19y_%f0$S1+pet9ZWx$5YcuQG>pgFJbFaB z&%|GXtzMlVUSwhuvctJq*`GnXJj)6_nJK~Ah+h@Z22-Evg|~Ls3qy9-2~~7LW=*yh zSUmB zrqPLjb3bY7nKCLT`&;F%uS+h~b(b~x5QEjpXwt5s)4^w_>DEwfJEr;Slk@GyL+@5{vxjqoAE77THln zYMrpG>{HQh_!N2v+gQRC@gcJH4WEP2RWQ+{<){<#FILU06HYfTsJ_k{1m-k-y#+@RvWZ1^i?CxM0|?%8Ye_>mqcurOIuF@#?Mfpd%#@ z+n{Z8@t@*4DUp{nf}>NnIwAgI$Qt>wpe?e(jOn8 z6CfrUQH()1M=mn)iW8ogKs1izD@zbv7f5q&aDIijF0vKst?g&Tz7#=y`PI`(-_JzhK_>~GbYWjjiq^o&LCZ;9dSh2B#xs1lxC>GJ%hEEG3wo&Qt0H(?Khb z{}--5Poc6mo~NYq9nVu1OZk)9&r=YO^B|S;oC4GdQ5SDKPnp1ndfM?P=P6X)cb-y* z`0u{+lsaK8#^sOBQ{2K17vdEI&xFGu;BSHld)J+(Aiu#u#Ln}cr##O87dws4=P6V- zods+zU3PEpt$~Hn?`xI>f2&>|vh}n$EuaJ4_89JKjcc$?D;qy+i_)Q zKr&+;<2rw?M!DW39FX-m0Z{aqwNW>Pnyw)}=QOmAo$Z z^<-iw0tsXf)4nUrj1jqq(Z1ofh2Ummo7Wn^9U!F~bx^;4w$C19zVwCt|M2}}-jn#h zP>M4F?XUzZ6`Fp?GG0x8u=DLJFArjy@0fqO?q=s9re1fRJsuiCqhACC@2em`A z!P@hh&y^dMFDs`gqZHTVKg+kv-+&oLn!KO2Ztzl}IZ`haF9XDCo9ifkf z{ucI5*vB`m)?3-x?AefOAxCtrp%f!$H`egd&!Ah!8ZON($cCD=Z0yJPs!Ntj6vUVh zi@b?A=X_lHJ+Rb zpEQtkL&45!aa1kF=04)^YJPKCu=9jSlt;eBL}|lqm#f~vZsE<0U$Vch-H2}`8NWRK zWi8?nx1nx^b`3sCb_h4lL=dp~zUZ!xFso&h&ief(5~ASi~=2j6K7(%izJ;{L+Gju=BP!XU_dF zk{u*-KDI!y2J_gYT2?0nNGD0EHM&&=+^w9u=C+JMX;d~G8Cs6Iffwmqh^#vT|?dqK}Ew3X`C9u{ron)Se`+1#8E79XiycUT<|4W60QMIZDhr9SAq9(r<-gxN&b1IK}8hI1Uu7OHS1+711Kx7-%gG+`Hcc2;d&y?A^&)HQKRmJRHF_x zo)(=BPo3ELvKMhSe;j8K$3+`M^TbE_OuWqb)O^}E^?N^Xt*&XIQd0u!L7NflT0$7| z#D7jJ=X_kR5(n|Op$nQ*WP|1u(zs=|ES&QX@7P^&Jwgy9ENR;TI!!CN$VFsC-HDPgH7)xD3clp|N`1tpn zP%nh1T|W{8DXS8BN_NqcPWX6zj?4=q)3x&~&B0t;$B%l}D8Q8R>5_MR7ce_vCnD^a z7iJ&VB5KzIm=}uJZgUrNbN{eIUI+?T&UN(KUF_Zxw!;hIOj{~J=uSVb!;QK5*08s{ zFg|YUdtE=ei;K*b|IAt9g|WU(@wa-?D=g0o;gz;CHRy@7mg~C4=5=(kV2;fT;o-JV z2!em!bb-wd5X{ZGFsm2B$hJ2Lg2Xrf3eVCM1vXiA<0UAMBA#=2o2CT(stS=aztF}I zXC$r|)TCniZN`qjE+#sF>sO?5E_BC4b5SNvwD5VOdvft8vk zj;fJc4Q+`5I;2P4Bzc&dqz6Uk^4X%Ede_s8F%=07m(V8~{>m8u^*QxG~L}tsHIX`)Ev>njG{sxXS zTZ-rSWYT{FMl(^>U*_?v=j`&fV-{dk{0+*~6lJ!on&X?FserPLp!`MZT<)juepi=D zvT3bgI`5H9gPhlpUnZ_xwo-qcbh;MOX@lUnN*vrRXlPvh6m*Ypb_>Ru@aiAyE~u)* zs+HNY+`sPqdIgcssW;sj;p>SJl9E@?V^XB@U(2sO%35M0p-+gK>3SQl-V+W&g)(n4*|wL zg7KHBXvv(HyfB6W#%hA$AL}m0ro-$sHwT2x^uh=MjOPi4e|)=3b>`;Ku!$0s3&KU@ z6n%i8_(!-4DA%p0nJur)8S91e4WJArDE=|-qCXvI&D`80>`pI?_W&apC-Tl`u7({oV<0Ex4LLqhglUnj@Cs5cHEkx3&N||bElY~w}LI}A`9C*Y601<9v97~h_q#} zU0ott8M9Nyy({YTtgO|^*>p|~MJ$QPauLt|P(Sv~X?d>PI z=TO;p^nqj?>Ie0K^zhVj(!)pQzE1irWIkY>Gv`f#HQ#8bh4hQ2p1Ilt*4cO7ad9Z& z$G9$IiA5=$%Zx0e6B*gj;?!E9x}J^AY*{&nHk!d)p|=^&iNq&nPzA(GH;i*p|qs+^=X%T^Q2oo*m4As-<;2b69gzy2XnPTNnP%2m+-}Y(sk0g zAI&Wu7wI|UvChTe(+T}&6h7N${5P;(XPdVa_-4%EZp;{UN&Ae^tUpw?&of^NJ@fuH zY2LGa2s1QmXy()SLVpR0-%eQfQ&<=DejS|>Hr@g@`V%&!G4o*qx&lep{;~6;0=xw+ z|5=QZzst_{(8H^_dK;)QR~}X)cS3{4-+rmQ0p!IUg)Hq?4n-( zUP@Dx?4^3XHK1g42dckkd;w{nI?SUk;C0{{w|n84ThUgW!W&{_rdq*J=Z;r#qnqva z0n#i!D~!4*>2r)Uli491vmJS6^C!rWOtU%iFYgb7q!!Q$=t5kqjw@i2gg=6tmK$LM z-56a$!(NqSALlvyrnyD)X`~&#sQ4t?ePE$GJj<^K@aQtB{)3(BA67th>#z!Y>fTCH zeFqG8F>5-k^85Y$d!rNlXbHZ?5C7#(@VhgD@A#oV+6nsEd}_Vk5B*+(?q3hOXnThl z|8GBZQzz)(OV9)T(0g}kdl&Gpo4vkOkAV&b?KK6gCw|3_koTqah`7W~i9>i+rbd#h z{iEBxI;Q&j@Ez8*j`Z~ooottD{e6&jOMekVXph7>JRD&(IKrB%qogxWI)U`85OX(= z#L941D1=S6^JT0Qh=ZI0ewRzV@$;Q7deecLJoWTLJx^Rk=|ADYF?pWz&a=YE^MqCO z+YlPVjsQ-LZ$yx_Cvo2tEAd{JV5W9-XOG~YGn%3R39A=`xU1Knj>0C)yQibIuVeqZ zpym$yhNE7%B3aLSWw~wk_Hpy9lWXjMWu2sR-S(Bzvrf_)nc0#z$0r-R1shRtcShqn z`u(rBy&JAjlorN#R(S6m=|D&WA}e$W|00R7JGkw@b zW9QxWp!J>+X734FpRoMiBTlJ`Xxdrds|$viaBMHVmie!^*}&14zRU^g(=KH57vzcfQMqSefEit3Z$ z$d|^mqD{K;lhg`_U#9n+M0e4S4wM}7zA??*e0vz-`GQa=`mlEWX|&QguT{62&Y|f{ znp%wWXT$U{`Z6}Qr=*eAtncng^z|puF5$p#-@eX{wb2B7l;s{hi=Q65;5i*u0Zoxd z_jp0Ljl2~gC8%Rq(^;XlF}b&jb0sj%c?&vlHWPB1NqbnPdEA2D(%MOUwoTA?8qY3j z?=Z(!dT9qa{@keDdKNYuPe(nASbRgoP?Nl+JbB0O<(UkUI4a>?73AD=RmCmxj&^l} zX1!cGE2p{0ccR?x)$ifB|3s#`_uUvn33oIX+bvtlolh_D%o3(w(5kaSegkm;;#qGR)2g=LVF-ZGB6U@5#P) z!#HMnn_#}`5|)<*tdHBaCZl*9?Wo9>toUALMVm0>I@yM4?&ELqf4Z@g#26NKTp{zl z+9Tfzxf=Db$SWQPT?~^IDCv*L5;DQsCM-J0#I*?vx=VA)99VoPVet{NO;a>GEwiO) z4spoyg1asFTiP$$tifL}gTVj#_UudcBqRsY*>Rijpr5L=tH=sMqARQ=l3kkNNO%bR zLhggV`dhF|d&XjERLQ=|&KmETzba_i&I{kd=FMh8)GG&JSyli)qyXYvni7vx<~gfm zM@00+nVMJn#PjFyR5iswewiePwh8|wUBX}FqPN{^ZXO)wX^m29&3v?Gj+DV`j!BmA zua=r^!LfwVUk|7;#xWVu{xOb~#@I}2CuBJvcYV;WEx5T`V{E)`j5Xdd_Gt)djPh=u5Li{vt-qz0fns_hxSRQ;2x}#ruDq=HN_Xm0wx*R-NeU}rAQI=d7whW z0IqNxJGe%8>mr_$lwx|2>=UzcqE>?oe4huO1{*Z8#`zhGq-X*jjckEOBTFL#&N0&b zWq5RhTn?R!F`}oU=bIMd`iIJ1KvqdeoroupI>Uf0m}lTcGqjwvl+R|+2`=d>msr%2 zrgBsnX)4XlcZ9XI{IYd6Vu9ZgRwFFB*d`p^|5yf{)spTG88V?xqG%<=2ik-+XztcEBi-b*Ha@!0B}By8N{Z}Zo_$Ol5| %^UFYVnC$&S!2V-hr{nApmx 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%0A>K@0tx{u0M!5& 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 jw8olTNfzEGAaN_M6g<_t -> { } + * -> << | >> + * -> { } + * -> + | - + * -> { } + * -> * | \ + * -> ( ) | number + * number -> [0-9]*.[0-9]* + * + */ + +#include + +#define __expr__error(fmt, arg...) \ +{ \ + fprintf(stdout, "%s:%d "fmt"\n", __FILE__, __LINE__, ##arg); \ +} + +namespace xarthop +{ + +struct int_t {}; +struct double_t {}; + +template +struct traits +{ + typedef int_t type; +}; + +template<> +struct traits +{ + typedef double_t type; +}; + +template <> +struct traits +{ + typedef double_t type; +}; + +template +int exp(const char *, int *, type_t *); + +char xget(const char *str, int *pos) +{ + return str[++(*pos)]; +} + +char xatskip(const char *str, int *pos) +{ + char token = str[*pos]; + while (' ' == token || '\t' == token) { + token = xget(str, pos); + } + return token; +} + +template +inline type_t number(type_t, int_t) +{ + return 0; +} + +template +inline type_t number(type_t t, double_t) +{ + return t; +} + + +template +int number(const char *str, int *pos, type_t *val) +{ + char token = xatskip(str, pos); + type_t temp = 0; + if (token < '0' || token > '9') { + __expr__error ("get factor __expr__error from \"%s\" at pos[%d] __expr__error", str, *pos); + return -1; + } + + while (token >= '0' && token <='9') { + temp = temp * 10 + token - '0'; + token = xget(str, pos); + } + + *val = temp; + + if ('.' == token) { + token = xget(str, pos); + if (token < '0' || token > '9') { + __expr__error ("get factor __expr__error from \"%s\" at pos[%d] __expr__error", str, *pos); + return -1; + } + type_t cnt = 1; + temp = 0; + while (token >= '0' && token <='9') { + temp = (token - '0') + temp * 10; + cnt = cnt * 10; + token = xget(str, pos); + } + typedef typename traits::type type; + *val += number(temp/cnt, type()); + } + + return 0; +} + +template +int factor(const char *str, int *pos, type_t *val) +{ + type_t temp = 0; + char token = xatskip(str, pos); + if (token == 0) { + __expr__error ("get factor err from \"%s\" %d", str, *pos); + return -1; + } + if (token == '(') { + xget(str, pos); + if (exp(str, pos, &temp) != 0) { + return -1; + } + *val = temp; + token = xatskip(str, pos); + if (token != ')') { + __expr__error ("get exp ) from \"%s\" at pos[%d] __expr__error", str, *pos); + return -1; + } + xget(str, pos); + return 0; + } + + if (number(str, pos, &temp) != 0) { + return -1; + } + + *val = temp; + return 0; +} + +template +int term(const char *str, int *pos, type_t *val) +{ + type_t temp = 0; + if (factor(str, pos, &temp) != 0) { + return -1; + } + *val = temp; + char token = xatskip(str, pos); + while ('*' == token || '/' == token) { + xget(str, pos); + if (factor(str, pos, &temp) != 0) { + return -1; + } + switch (token) { + case '*': + *val *= temp; + break; + case '/': + *val /= temp; + } + token = xatskip(str, pos); + } + return 0; +} + +template +int movter(const char *str, int *pos, type_t *val) +{ + type_t temp = 0; + if (term(str, pos, &temp) != 0) { + return -1; + } + *val = temp; + char token = xatskip(str, pos); + while ( ('+' == token) || ('-' == token) ) { + xget(str, pos); + if (term(str, pos, &temp) != 0) { + return -1; + } + switch (token) { + case '+': + *val += temp; + break; + case '-': + *val -= temp; + break; + } + token = xatskip(str, pos); + } + return 0; +} + +template +int exp_ini(const char *str, int *pos, type_t *val, char token, double_t) +{ + __expr__error("double can't use << | >> operation from \"%s\" from pos[%d] __expr__error", str, *pos); + return -1; +} + +template +int exp_ini(const char *str, int *pos, type_t *val, char token, int_t) +{ + type_t temp; + if (token == '<') { + token = xget(str, pos); + if (token != '<') { + __expr__error("get term from \"%s\" from pos[%d] __expr__error", str, *pos); + return -1; + } + xget(str, pos); + if (movter(str, pos, &temp) != 0) { + return -1; + } + *val = (*val) << temp; + } else if (token == '>') { + token = xget(str, pos); + if (token != '>') { + __expr__error("get term from \"%s\" from pos[%d] __expr__error", str, *pos); + return -1; + } + xget(str, pos); + if (movter(str, pos, &temp) != 0) { + return -1; + } + *val = (*val) >> temp; + } + return 0; +} + +template +int exp(const char *str, int *pos, type_t *val) +{ + typedef typename traits::type type; + type_t temp = 0; + if (movter(str, pos, &temp) != 0) { + return -1; + } + *val = temp; + char token = xatskip(str, pos); + while (token == '<' || token == '>') { + if (exp_ini(str, pos, val, token, type())) { + return -1; + } + token = xatskip(str, pos); + } + return 0; +} + + +/** + * @brief + * + * @param [in/out] str : const char* 表达式 + * @param [in/out] val : type_t* 返回值 + * @return int 0 表示计算成功, -1 表示失败 + * @retval + * @see + * @note + * @author xiaowei + * @date 2008/11/21 17:25:38 +**/ +template +int calc (const char *str, type_t *val) +{ + if (str == NULL || val == NULL) { + __expr__error("invalid param"); + return -1; + } + if (str[0] == 0) { + __expr__error("invalid exp in str\n"); + return -1; + } + int pos = 0; + int ret = exp(str, &pos, val); + if (ret != 0) { + return -1; + } + char token = xatskip(str, &pos); + if (token != 0 && token != '\n') { + __expr__error("invalid exp in \"%s\", at pos[%d] %c", str, pos, token); + return -1; + } + return 0; +} + +}; + + +#endif //__EXPR_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ diff --git a/configure/compiler/src/flex.32 b/configure/compiler/src/flex.32 new file mode 100755 index 0000000000000000000000000000000000000000..d401026e634559198a67871d4041840a12640795 GIT binary patch literal 536042 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

Q!gQXBc=cXiW;qVz;RgoP-Jdwt3!={ z8lTSjUpie{@H!Xx48HW!=3L;Je`$S>b0Hka2)Vc@I6t5fv}&2}BmI{t6!zx1k6y~C zV_>?JU}3*0YUyG2bZ!xZ#fA$>eNVb@_X&{fJ4VF~GeU}_?hraBCeml1HO5E&kvQP{ zHFh%0jGiZTM4NJDlXEV>a1CW9xsr9lX6(qUyav|#tI6lw;kV{U+>%^GGnPNmmh+S* z5CYMx5nWMlOrVZ&%y}*OLr16#lmGJR=EnBm`Rjvy9sFME8uGgHd=h+9wr_6AT)$HM zI#xc<60jh1X1ZEC-S|sB=BuFROWTSUau0;IiM8&6=1;bN%X$^hHfB4weT$3wpXQ&D zFE1{63o*yQ-oy=`wd#An02dSM`j9h-iX6Jdje;2LZ~c$Wytx{`&B{BTUUC0(J#@+f zAob$eIv8S(Y2G;fOZ7qOY+7b{JH5B&X!!~KLeD##*Pz8sIapf6Kpkv(o3VZ6_{O3J z$eTrkvy5RLbuJP~_ptlW!YxW8{=vEL5G&d@6Iu9OL?-#{)c>cGVI5DjG_g)0Y}j@! zs3hAxk+MYp`-LyPJ{DPF#Hv-3+e9Qd!!r5DjdX=_aK%3a6q8RS@G=V^bkLwD~)U?n(Wpp%UV-S zZzo0i9sfO)Gq6&rc(4{2fA^O2aEjXVnv+ll7_JC&Q&$+ozfQ?P4(fnW9Bpqi|8Kv2 zl8c@TRUxzi<-L2Yxs?65o^*W_`2K-n37itu+Q^mx^*ptSpv{BHY0T9tqK0)3+&*eC zLGh-#`<FI!5jv%*+zmBiK^zOYYQqN-&c zN^JS)vUX;QkBzU!K>u2nGEc@HtcpwXof~k>!u@{JMDShfOZ3ni)>Os{7mEx&faFpY ztfd;NB}Fskt7?_4wTiR+W9H1&$TK?zdv~RkaoJ(gC>&B<>8~hKKjVg$859el1OMc zG1VyU2eNxdYHsP83+CUPhp=pZQX$$`mHsaLSt zYZ@I~fWk9=oL%Dq{ zIB#$~4$F{CfsOWqN|OXOBjh~`X(o-pEB5Gfub!8KIPXcJ3bQv&)nbMMAE{SN-STHh za8{PGS(G6^sHFkEu0G^hr)6!1ao8}7aMAl}pMR8t;H3;`k`o$seOCzjzZ+>N-lD4H zBcRFSc7AP@SpE*X2WI_S`B4&UU20VM$n;L_vB!jOzbjP(VcnNupy=7)0{MUEXAqDE z-)XGfeZ;BWFrikV3g)|g-C^UKo7vvy%!bb7pi}=xuGMQwF=n{{Y5kV~G-5Jg=DB?v zd{B!~n^A{ISecFW3BBYeT(pE+dKBA7|tGe6>JL>cy3 z)-U=JB!z@*%x>`?1J3H3oagyxIZuPb3*B6#1A)uj(#Pf+v)T*u&o+KRWbkzT{o&u~ z3QE?;a1+3{bMY|e-@Ums1^I*ALa!WLCG(`T1o(do3nRNVZV4>0@E!+X-mncvoWLX3 z#=dXn(_Y5E1h4s1Qkm)7BpgtYPu6?){-I5X7~h`09iK>>u})60IHhCGRJF;H@!Qs2 z)GzNXzLx*M(PJ_m@at5cm3(xpG^=Dt`@ME$WMJlB6hYr>sR7?wJ5u&i#$yY}A6~c! z2tMeK;N}=)R3PN-!`7813JwUF*e`e2pLng*0?$0p&Nq=f@VDU^*#eJ92@uD;NUa~@ z%*Q15O@B@Q{89SHu2*0@C{N;LeyrHEXeT{OsbyTb!2-`dDjN*w8y#=DzE~l&hUFmZ zDMy<=tN-1BcZr2r4Zl!HJYGO^j@h6jHp~b+)OUSBpvMc3b|2&ue)?);4z5(3zp)Z< z8S>45rPVJ*HY20>aml9U^0XlQVf>oSl$dk3v-qVQ#wf-jDF?Vjc*rsWj3(w2pbdfx z&{hxuCN@D(j^Scyn_Br5!NeKOD1aZeQIN)}>x0S1XSc}53>gULPoWVdY&L@Jny3AQ@i0;*nOC6 zX4YCwp|*yNt9v~nbFK{`bFMeOJj)7Z)aT8ldoTQVI4vFfU+<4#DU_>RpXxLL@zuGs z&t@Hv)<|Y4K(h}g&_aGbq2J^R+rN#uAp)Tyn z$y(%U4@GcoFEQzfY*ZS9f(WI9Gs*V&mOEM-7NPk!nxbga3P;~e;Fl#BviKDZZmsN2gtc$cT5ddgA4g(l z^vT92C&FePH|IRnR*!Ag-@@RUzo{c8-35*r42D0g_WSi*oEg<>9HNZBDdfWnRwQ|A z;rH;yz~e-jn*{v5MJrqB7c9uL45y*o)2B%$NVjth5rSup-WaL?t(_%Q-DUKM@7St9 zHG9ncNmhdA-+N~f8FV@@iHw++p)|H^0iF?nG5do~4GLdAk;XAQvD^06 z7#Msr1*&-pz52NNyhn}%Z;oZH`y1FEln!Ma`0!WoAuteUV3LE?f(eaJkI?d~wB78WA8Mmf*KAh3A)v$8|yy69sT5}6=km*UnIOqVKCeohVPpThbTSR2;~ zakj~Af0S$n5=b5+6JdHiwd+QL+fAa^X*RnoEy&{Y${jMvtT{c0dvKWR`Nrf$->_G-!xD8-XIiT@5H+k4{qHvxaUy17# z8HIMWafYnpBa?S;q`e?bTMHrTl43hzDvXG`&N5BTzwCh3Bh(Y-S%aex7p9U~#;jG` zi^n-wm)`--KxHCJO0-t}{R$Bd5#tpA*awr9XIRtd#}kDW00-~Bv!R=`Lmw{&_e#o*N!o5@Ce|~Wv(q$x|D}zfu$rZnNJTL`1E%3GHMxNO7~J=n1`ugIz7FBovK?4^OTf>!Kif2Q zf|Ls$5n+eAZIU!LH=3l|_W)mR^4J8?n%LM^$dyK&o7Jlu)qwEF7Gtb)-t0{#BejcanN-MroRHIR{D140&4Ja zY?9|c|5zA2Mhqy}6x;TRsX6IhOIu(Yqu78q#}w;-dWF&M*W9mS1aaH-=&}LnUn9Iu z5ZJVdzP%qZuzKcnOb1z6f1d8j%ubuP^!l!}F~Dh7pMAgKzm(rTS)IGI$gS@eM9a zjR6u*oKnrfb0R4^`*_|%hu}?o-!J{q`X9xwU+()?ntS&~r)0{#cMhEGe}0~U?YU+L6wp(ZIgNi@;Rh~=0MCDPvZQW2A1*apt^kY|2 zu%mx(^(p=rv^Z^zE%a6gI*hL#EdzeELri-+ydHDlge(iHm%foxXBR0%sbh*N+S}~E z;K$sXqD9e*#8I7?L)ye$BBmvcNemiyz-u7csfrDS(oc#I+DRa85!75crubI@%onF0 z26QYZ%jK~s1gAlKg4Ye}?hTUNN-*eXa(#NN<~2Q=O%~s2pV_%fac=2`kC=*{Vd&T- zlpzC1+(82uz}|jq^!|;@qxci2@9fnBD&|@+8yx^YkhQtooH@L=_^f5ZbY`G75H`N{ z#jn1ea~nT)K1Ohw392UkSZ7(a80*Y3g0O*6c&QR*!K4i`PJ!im4j4T9UAnYdOPm2u zu?uxoUy>^9O2x&#lQfhIoxu-JysH=cI|MKAL*XfEK_0#!KD$Jon&<%U9`+ z&Imrs4hga6o!z~c>)W$*t0=q;zilu0*&$7v@p%KG!x#ILZin@g97M$t0grxDJ{SuQ zE4G+q&W+iW#v;vZxsATl;Q_ql1~|M45MF|Q>Z25_^(C{Mg!ViZ*d#kUjBV&Y?T0H% zk;xYtpn&Oe{N^oT>QGlqd23UymJLcY;PCbp=24R5`4PDRqpNokF-D@~fi0X|RhhM3 z>sL~8moz6x#a1J9xY@oP3DU+I=j7Nc+7JSj`g*TzV2r_AR?vxNHzM89;8f^s#buKg_@aW0zzRTV@( zn1r|Zzh?hEk^SfQQ(6c%Gw6<~>FWVlG168Uu4NvbYK~a0rJp>Od#ppr+H(m6_@1xf zf1K<~86q(>5yBQT%}3AAdz9dr3Ms!d^wT%M`mm^dJDwKPQ-kHI`CynVOVyQ4*6kz! zHa?6k7N*TF+xOB?#PGJ(0*$>F&PS*>Ppg|!un?GlMRYjE0rw!I^iQ_Rz+u$h4L@+ zfAr~Daa)x_UyOQJF=5l`b*QKqxA-N;-3WsiQ8FmH;vQY_&=x!D@m4DXjQBYw%WhV6 zY%Ags!XpQpDef8*t&5m)k6RO)Ux@U-5A8w{;Tez(lOfa7mm}Q-5wi7nm^h z`;yQ4UGDQX%%;RYozFc$otzEPBQbW9f}>1sYLD4r;uzo2t$WG(@%&{=uV(P~UTl$D^kM3 zL4Z*ELhGX$M63o}3tA&=eENO3dywv_@($XzwV!I!tO1t3cEbY_G}89wUkov&&SU~4 zxcC7wRUgfpEx}&x?H=s*jcbID@*V#E$aaTq**;$6q*ar@whSDSW(LxpL= zwc0=Z)ZQGTkrsXrO@z{IsSPc#*5dIsD90V*4@_E?mg0ZTzpxAqDZe56QOr7x?$MhkwfrawC0qgJpe) zt}*PKh2ebNUw`^34qN)$YJU#?-i41d=(BO?r_4!=@YJWuIjg~*&Df6dlO8%8PjRI$ zRPT*(QA{`(dTZ>{hq>ru>LFo`{XD!aGZpGV>VePtUNAg-(aamf9gOCXr?Jxq^wZPP z$?*D=YUiUPRuZrM!ixQ7M9F%yw4&N2((a0rmBsx9EgDLtD^M0+z%Nx9LZkeA%(dcw z_eQ+t7_9V|DM!2sg|p=uuC6gW8b8I`2iK^WPo9v)eyCW*S8QrM_&QvHq6ZWcTnrodgvae>5#MR;hrXsyg{|CTnhC2avWkK z`fXf>de09sn}I@d^VW={VSQ^jGKz25vw9g z+fp)Y{fouf#UBOIojLa`fuMTu0C>(8L9|8%Z{miDvsSg5O%H&# za6T6oYRjCh#SHtQ7nxVs)k$%koeHkWg-qP}N zr|D&!%whHUzsFf05j_5kQ$1V+-t#Yq|8i+*>FStr%M{>Pu0F&PJa{^IinsarvtA52 ze5>uxXEt5X-`Di#y)Ao(YWw=&>9g(i=lf6WUd6f}{arT%n!lUB63NHiJDOag^f<9= zM|Y_vq+DD(*=4givZfG`pg$Sj$0v8bc!O8J8l3 zdbogEq5EUXHxu&3RPqC1y$!VSs~kW-{~3^# z&6GAg>w^oG^}k#`On=?FW+dkFLF2nF<3%aeEp6P(wuIuIrR}14uHFuGEW&6r%4DtD zK?&AK>y#6RCR)=*AX+8f5jji8=J=_9p&<=c(la?O;gPHWx^Nf7p$AR=zV+!%H>?vI z9wVSI*R>s8=XQDBYea>$x%}uDLJYb(Al3PIFbLRM7c}z^~M3g`bWP$eiT?|b0BQom`Ov(#R&paW> zWCeqBQ@x4WzUTV4^RwxPwQ7H)oon3*%;202&$&s$_}2-OKV;^Hy$idC9a|;RIY)Li z<7@qYb+EU-vv2)>^!ZB80F=S7ingv6?O!1gfnxE#9FL|}|AGM^#YESB$ge-UzVd4@ zM!zCkQ|_5)301}^Z(obpCr`ZnPh0IrB`P^q1%|kEn#A9tB5M4PKXd#~=EiRtb8h^f zJNn0<_ql5VB>wf$&+^+T(;0g*{(3x`+a8dVZa#M*lYUh#IfExsC0ueV-$bHi94Xc$I|?iN##*;ZuS)38R+b?vC^6yA^kZZkb03 z-ct2KCU8y2dcYD1IUcjiB!ZX|+WoJv>N>2_)V(18^v{B$y7&2|s<{m|DN`tQ@aT&b zAI;c8qpOL&oxcR$e7+Kx6Kak;sf_`Az9z3~cuI(5v+$3Nj$Pqlf)K^eB(zRC!xQ|= z&4YEP__Ihr56N}s`IO){Hyrv8cY)5}pKd;L1fSjsL27^F#h)DhllO!FZhe2#5j?pI zg490pz4D@yc-y{+Oi^HjF|nA1>+0O`xnj6SMg>~f^yed`ZP0(f}**{4hAR0vr5e07Nr_dj3O|2i7Y9;y8eTqG;S zS1mnS{i8O8!k($$u&Yu9iXw1(0Ny3hi3#ZzMCU*I)T&$_D&d)%PP?^yq>p9hyKUyy z^Q{eLRb1@d{(C8lAhxN_XREoQD#IBEoW=iD&ly9{DidE-pF9zfDhx6JXAVFOPYM7F zFxBu_hrPfvrexsE;xJJMit=KNj-}C-l8xh+moeA+=A^GGq%Wd=&JJ= z;AO)Es+Hc#G)FJuQs0^%oWVP*e5*?tQ0F%hrFOuy$=fDh@tZ>qLsA_wfXn)yP@BW{lbiSv`)l7Up{_7yK9&}Ak;&}cBvwG57Z!AJf-UICHrq@~SKr%Fc@9QHB(@gmhdgHSYnUL zzlQ(&^*!vPgRRZ|iu8q-n|m8C_`3ex*7nxH57qk4Q$nZ*JDdCa71<)VGwiM$Y;C;W zUf*;2wqCy4-r9Ux)p%AY?7Ol3S_gkus_(ZBUhHz0*Y?)StpnR;TB#0RY*qoRB&hMt z`~PBVzuMn@c0dDw?N@}y|Gf2-7XRn^KHonw8e=o-J3myLe|fbhdUy94_?ll0ztT&! zj~yd?;b^W7!;#aZ!d*J@iEGpzB!iFDw=7B6E{B`2b)eiIV%}#;e&g>kw@xeSc8SFp zE{im;MS-Dr$Uu`a|8DqqMi7XMC$R}S`1Lus@YzU)J(o@mQe_6LLVQ^FSh0uKgiZV6 z$c7(_F3t%LH6l45gV2-5&`%a?ovIhV5HJlF$Edku-B6_#I+;TkB7Rg4tGW`q5anoZ zL!TFe_6-6dJejZ`_fC@u)a+LfXHW)}`qs%H!~euKXEIXE%gE-vdzCs_sbTQ>H$2pV zZf?W8u{^gv@OY1p#tyKFeH^(> z_zV5Vww!HD$V*yt`Fg5*#IK~%W$$mYul0s3$DsYPNy1BPfiY_Pd_43~G5oCfHdPda zJD;poPd8WBHy(Ym`p3`qpFMi?=!?%&gkHP{p%}NXQ+<8YDs>>x-+-!~tJvtdQLHb3$Cus0iH4GEB@cO&i0+S1 zR{h7T<&WL(>R7c)_}YFe@|w=3ZhJ9s+oODbE3(V_c=nJYF3k2htLrmwGdc-kx=Z0-G zN$#gU|A3F@HvE(b)*;6C<*@qbtB*pqj3(WppC?;nCVFk`I#YV)1zgx~I|Q>vXJgpF zJzfE&WBZC}LCBq1e?1+t56A3bZrB<4YO&zRSBrJYq=Er<{NY)V5$D^>^j;b&IZrx` z9*ag~82s?m5^;ZR(SPGIx8=vr(_LwHay}g$UtXpVF;y%oZ7nFj%gQ%$N}03s%OCq6 zv_MLLVlpz2eq%vO@nldq%fvxi%UnL5XvNhr)aG_Yl#hsENwhe%E0H3nBgr{I_NWj?doux8lmf2tE3%1Xm=v6H82*&Bev!%M+EYA8sVCrUSD32pX|%DZQo0-I`Eyf^Iy0g<6!rdhqCHKm!j4BOE>(h z-wOYF|HXU+DAX*SRM!|`yVes%RGY&#dJH$6q?>h3KFKYeV}FfUoO(mVQ| z-xlZ#r53n{``<`lFMZh%+?76ETy1(j@+@$W`L2U3<-1$<>-*`;hIj^ng4e%njFr2} z*H}^krK?4*CsV+o3-}V8q=*X~Z(^yP7;cC6iVoe-KK@x4!*(eft*Pi(h&F>^`nYe6}X3z|0`npE)rxi>#+>HXNPwnQX)> zN@ht%tRH2Z=^`&Dr&B6A+c*Bq*S@PHmr6U65L%p5JuLLLf3W$NaK%EG*rsRFjA2g5 zO21?43;peHZ|*$5n|#PsZ4eN$3wfheDZZRX?qdf#`6KxtAU+3q3r>M^NCe)ML7nYO zKIUvcn?Lv}jphS;#^>+Lou2U%f3|jvJ$e5j;I7^8myduy>z{`m$`kDffgMTF z!W7c|QyS_m!qCZo_0Q1WE&(M0E(cwN2C`erM`!yQ|2f;w_~Qp;Oa5s3+H*^~h{JOW zPvYFr-%k3(pQoGOy`EzN*ZQN2ygshf6m+&P{@kg3nXR44(FI4k6nJO*Pd7=}+Wp~n z=`jD`z|xZ}Wrmb6(vhcQMcQ!V&nM@cSs>U(stCJV7+i$Leg7RB_m|Q6Si6xOUVY6U z#Ru$UGeH;*DZQN>TZ}9g3|P3&=?~66ZW7qZS}J!;t%zBO_tlvFlaHVHXScX^iFP>! z@;NADUA-Dy5ry>LHB+2R{BbyZb-NW95@lcgUjOk^KEZxeJW5AR&6d3E2`yO%1)7iX z*DjLZZSC*wnEm)IqugXl_FeFe_GLlE_W3-xwS8i&mTl-~n>;jxO-)qPPPSK%*Lsqh zLjREg+kvr7sBmU9#bKj?r_f%sawUtNc{w`H`qK5W$)AEfZsK);rDvu8XfhOJvmERA zt)(CnrtS}-?_bJ@wPQ}csUU-e_}(1ZZC(0JhS6YapG!UW)-}bu+l^1vzRPf58OF}A zLj+$CymBBg9S9J{D>|9|zVV7EaedU-Li5UIu&DZtQiy{{2;9bBDUcdht9KAmW(-0F zAr;jGrx}onOV;sB!F#}jBiVieJAEbcF`IaLF$*3?`d0XS?zwCc`Pd(L(f3=q@9oP* zwlcelyHXB9=Qrsw^)4pU+X!gWPxl*mB*T8&UmCXbLGWSx`^uxuBth^fi=sfkU$AEP zGAIys^mEAg-nZQ$6%fZU*F7&u3KBW355gY~DbO)SB$R?b`kAVTzXrrd!;9fjDA{EV z)`(}o6NnA)mX~YWjFSuf$#4kX<&*V?_>e@@BH>C;qbvFx6@njtBudu_n#> z8t}iy@>}&KfG9Zij96Z;t(XMy3fqZ}6Q;o-XnQd^)uKs*ti)sJgM3m#=!c$VtER7D zB>~#sJX*C$w^y&^aecK-ZeL!jC3S}_oHCOr?r)TfC^MlpYcX}6?Kj9yUmNqM0d@NX zLiZfdOAF~}r<)?z)FM&}#w134SSwWXh#)F*=jB`Lj0xb6bqR=cS6Xw}G4zUZ0W)3Y2I_W&Ij!>fQq5vwtx<;?yefC{&zO+9FwT)F)nhyBJGbX|qZ-SkG5U zBi~w63AeDm8STUVP4ou;7zSehuXo5aemZyo`)*PH9rke^_vO&GUr^q=&(dzc32$2y z(h(j_MlfFO?j3mPP~Eou)RLO_ds@)`qm@sz?7*;X?<>iu(t)~|h9Ld(WK^%WccfU+BQvBY<9`6 zP$9qEoq(zf(N*$={74PStmOAlxQLfIlp8ii2ghyG0E12BVt9^F82CHiwxYd@CwkHrgqFT$C|M z5s<>gZ8{wp9ewSqr)72G1`#>)x*W&QhUC-AOSwRPtW6mHgOSgFwYmqhi*KQh_UP(p zP2LQX@k6v2s;z(a)%n*92WnY70QH}k^1h6;V zJAIiF@n5A2ygG3xOc3rDjPHx-o1x1n^N$g~)r^YJN#)&+74a`@Z&9L%g&#c#lRV+e zcOLB*zWtbOht5rS=t*DuAr)m70V4I*pm!hsAP6P?u>Xmjl@E#BhsfDh_o95!&a-W8 z`8zi?q9>fbv#N8r97{4_N<9-$-jZq;^m7nH4?=a)-t6e%3Q6(Xlqs^j{9IcX+eQui ztx9vTugo zikSx9CK-3-zkF}yWtU>%)LK@Em(ZO(mNnPwPeH!lI|PD#Jtl926IhLkwneWY^Z*;>Nyy#&Ob+Pn#wBX+h9cF3PD`TE>{dH{gg>&>hZh z(!)#ook_|SQUyl;re6??@Fd<=Ahv`zbIrg7|L!dTc~Sy#hZT?$1^R(iU>b#ZM1YUm zys1KScB61#>X8is&AcKx6juc7(X|jZOfH%xlHxrsqZWPR7fT=O1ZnJYJL40qG^Uy0 zMMYaosnN^-;fKk2tMti(Ej5v++%qI*sZgnfC>ch)H61?diQ3c+Wb044yo3V1T6e7I zWUU>KeqPq4KCP!zX}MT#R#-zmm3^ihSEDeFC7}@2FuP`V<{9tIF4Ki{xX~7Zjs770 z-w&a#=uVInO2Uojp7QgPYcA3V<&>@3eLCn7W!1ud7T;(eHi-6T`|p=Vc(n6tj+LL< zaPi51zccG{yEeAcJ3f_}1g$}6nz8VIFWkSTXdFWn19Qxrqn|DLSOXOK9ovn6fe%M1 zQ&5U?q#kWg%0M&RPIn9|6}b&nzD|XM@gtZN4&nI7`39ZW6IMi^9;SfB0#zQvjQXXi zzgr<*yp2ci6Xp&2qd&x(A)XQDjqGauosD0^Q4>BR4BWySA7t^<{i~21og$@KmVEqu z^RI{3Du(HI@Yw5UD5_By^)nPyCZ7Q$zZ3Pzf~vpQ)yp;9T9E4U<(^X6bGQ{^1;6ym zcnDZngO`@cJGc6M)IgU^TkI8|!**!O3kz>M{p0w*584Bj@0Bm6IBUX8SNz5rLb`84 z+#Olho$w^~V?!(&eSVpb1!adw^SKUt6a1cVyNvzP0#iB~IJtiFHWirXH=%!CJyX|Z z=vG4|qKi*n6A3DuMd_s3jmHsma``W0pzfip%r8!u?o z5=(soE!lnorTbW7YC{X1@elrk2|K}Jad1#8XT2%sJgP5;r6H7pN{S~`ogV^zsAls{ zMIks8tsrH%4as>E`V&_HILHtH0!C@$U|bze2ON>PK8po_4&a18;1310I~U6m-a|}5 z&j?-*WxJ2)DcGB!!1{IJE<@ekec4ik(b-H=f?YeegT~ftQ`6 z`%~m&bBL8g*W#2~@o7?&mQ+ocbDbxbd}Ib>IAvpkV0UonS^^nhs`6Hy5L@GXy>7PA z5@0de&QYr$8vc_&8r5U~X6s?h5ZbB_8chtB&v=WDYyjeiM@uZedH*c8mUSFa<67(# z7F!JD_zd~V@1^1x=(+ah)xHA4(htam5*mo`5fp?s={k1(Ae69GpeFu6y~x{#4U6p6 zaEV7fhgPfc+Gx$Rgc%?F#{C<1;jY;H5PW@rE!k{-^hc7J8G_ga>Ndsl>1I?hDp z6k7bVdC`Ovg!VV;?Tu>qMrWb86}1r%?Yv${u7L~#{&FvYF5}Z#Ha48Gd#NJ&#;>7> zS54210?)pmph->MGyg38r+=_&n}P#_ZA-gVYEVJZ@>h+1MNAGIb#Mtp4=Hmpll<&{ zkL+#_SgQnun!Qrp-F;yo-2U}c{9w3xEv7}La@;h^W~MHyv9*R-?t)I3(8^=RNfA58 z-`KzA-&HE!hSj2nGbMj>c&oMVV)-LjC~^Bu_0eC?KdL%vHRf>oteL+gfq}U!bo%hM z$idbFVZP^}*+v#kvCK4`c)tz4sspWi7(npBdecT@~_>r1wNy&rs7zi6L> zZN+UK6pC`{{RWnY)stl;L7pr{sTpm#o}QC7qrNR;dw{IiZ{-)H`jpIHT%P(;4h5bX zmvSVXsW~W#vr8`A7>`pK{Ly@&CswCDHy%1|?wpAk|2KD@4tAeK&y*5AdyH@PerNOh zfkk9%R}nFXG>^)5uj-;NiG%~I}+epo#YfhF2s_jW^s)J?Z%e*D?uwXsCAs4?)=IE*UW-#c)ju&|KPZ`V^T zS05uBIa||bBnEZy-RASH9ewb+0de&Ut(k-<4;J}j86Bh4J;GR#*PJkQe~^5ske}{6 zG8u_6R--Pk!_43znVQ4{`H`ta%v)3#P?rR(F#&rLZDaqv2h4}O>s+Y~%b!#ax@pr> z`Y$&Xvz_2}&}I~Sc|%=O4f)aK^$FF7-VLq3))A^63DHfPxSp%&V3U!DiH$nO>{RcFzN1$zC5b7?%dg(_w20o-}SF+8Qq@|E^_z; z#ml#)4<1(^P;v8vPpS_n?D@eTst-O3^GT{O?pO6+(Gc`|3;&Z2{C7eec;1KqagKim z;y(CC0p4|o`Wkl=%f8rWBHWYM7}!+9 z|M;VW+d3JAeKs&Sdf=mCcn^48169gUIilsamV5;sWD{0wK&G@)+$Lu(_!;t1_n#)} zw%?=w3EmS5>k*hiea`;|{G1dN^lSM{deik>@jmvC0eX&uGWheliZjr#eszA@=B~|; zr*?mk)=T1gA(iFR*dw4RuWb{Z6fXI&Vd0Oh9|1cW{OFX#c?r*pQ9IhH# z>yjL&GU!Kzgy~#Tvt>C)q-l6;yG*j4xm(9dr?Z7V>-+dJa&YUh7XuR7XqC{R-$@hD(D3|~1RbLqbx6v8kAK4(G31CEvT zvojY>`#b}Gt|5DeXa;;vU+)mX-*#;y9g-M4d%d$^M@vwFEwa;tp7Aw%$fVRpnM;lA zmN6`eo^ehH8y`BxzjOU)3xJP*FMQ6O8Kc+Jzhnme#_pB+rCy&np}6|(2NZA5!pYXLE0Gu+SYp%HF$WtueY?zv9xr}E}%Li+n4X@ ztAaMm)luXd{x807+tp*IZqsW3sE0lU2)Dh(Vw(!0@a`|CoKwnIreHACx|2j&2_K zerQ{tXX!7~6`~_=Gylx|Ayv?;ZL&*F3^4IH-sPA7y!9D){>g2U|Mk*O%y?dD! zUJX|P-*mqK3G=(*KWVpD+oFmbahR#rMlD0Y^Ix<}>l5j?S{e{(eY!Ci5KaA9@f*4I zF>GDMmkN<#!A2ltnj*&?`$NFXKU}oT_eEkrlS?XbuChHcovwP_Vx|VNPVj5ok*^25 zRt926UieToEWJ*wS2*RpZS42|qBSJNgQ$OAZ|xj#AIr=2zi7PDzok!~eDUcQpZ)R4 z7k_viRYos7_pP+xKl{TUKIs89JbC+{x4^5VCx4g)UEBBFvkl}m*`?_(Sy;8};_?~yU!tycRiJtp@j}$@c^~`Of+tUd zIJha4h(-7O^kHei+uCA&p9tUzpRcOeR@dJM-)I(4Z#BL5#kR&CkaywCpGEk{4LfX| z@g{$-7VG!kzSh^1it}*wiQ!X?N43Q9^pCmFbUFHlT7JbgVPtFq5saVo+jMwimRhhT zf|j!j4VaW0d%OFn88F0i!HR4tkB6+Ox4mnJn!tWZN-}EJKX2~sbB~ZT?1vvljhY@- z-x9X}f*Rb9w}FrJ-H_vc#;stw8vbjV^oCz4^^#_wmKV>zI%CYryvy_KA!<>%h^?XJ`rt%vuwwQcW_`ughdz&|PhZ0_w? z4Zf11@>`oekKc4r7T?@PQ{F-we-_8;YNU95drNKn9IfrbYmaZom(#A#ZT#c&F7$eO zckEsGRSmnV1%H0mHrn(nTdWJeKffz}`+XsQ+P~Y|+}zP+Vk)8677xwUCe%#&ir(?iFeo#4}RmP7#8kqX^yLwQ(zP*h$|Ajy)7X5?J{Kf69#MPwzx4-?q&WX19ZRIxpaEz`C zeR?&2kJ|X*P8V)_JU`yZsW$$O8W3IWb^h$%(SEa3L|5bO-`u@r=Rmvv7tK-=odmRh z^nMhy+aEMbEp)Zt@uPoR`>h%yodk6J>U}8a=zm^{qqFJq2eVu4z;DXOv#2}K7w>0d z?^++T`aGTJ>+(JGXqgWB4FMaU#0dKvi0|K2frOKN!d+r)P{2Pr`KFnY2_+0 zEZC&e9nWgqH?Qp!i^yQ(f6N9NrNEo$7XtqJT2{-XTJzLw`Vcn$tfs2n0IiL`l$3My z@Zsti7u$_5PDiVu2W6V4@Dn4}9w0xCy$q*r=!IGuQGzA#oy#G8ch9dwhHGOgE6`JR z$6K`PfsK9P+i@{4fnMY$CgxfC-BQd>Os_4iDG&8_;%9%Arc)x7U2SVS1$M@IBV}Z@ zIqT?vx4!GfM2p_5XaN)8D$eIv(af`;?tpk_0b*86_sR`{uwB`vujqd_fz1#iy_moMMg7!%{Ke1u@oWEw+>~eAn|~SXzy9v! z*3RzUAnf&2-*SNGmVZ$<_2T%1OG0P-Yr>ZV{2}fCM*J_=|1%@-NqT>Cqxfk%7*BCY8sCeeVkC`J5X&)*u}qf!kNF;vw9o%bL0)dZHO(+lY@vi7t4e**tK zOf(Zi4bSTLG8CNkojipyvhi)1+>M{N-W%;Te(LWJkIU1MWqa)(lD2kUE4HRxD)w{QoM!(`$!@rJYMgr2+<>Yi#5L6mZVjv`YFW&$C;xZf5{G8k-k^x7Tx(S@U@jmp*zpASHlb=`F%w7$qOGSNx z>i&_{-MBB?!D{qSq?|48!|U;>mA9b|9ffX`7RbH9eb$5JcY%wI{GtKye>Zx=jPR<} zviCy$4wk-3*|emnoB6p&mGfCm82vKR__wr=hG!hsj#etGA}oTBbt(Pnbgesm$ouc$ z)uzhMs8GtPUjQg0$I9NpL$i8RXJmM)qwjuR)~F8yKe_B=g7f#jv2;B{PCkL5jJKkv z!HV_zg8(=@DP*j};omALeAIFwYtjTSl~v;x!d8;u@D%CS5ZD=j)kAJF z&wZNg2@=p3jLJeL?;uFAxh@XO?_T?(Iang$nQn9Zo_yWN8q)rQTH%>8K{hRN}tlh|ss z_2QTG$2KIqvoJd!YW%n|b`8Tk^fz%=%Ed1QC$QP^qa@(Udek@W^u&|EVvp=&xr1U( zlFXJ$>}Ub}rxaBHOp}X5PdOFN;j{7dXzi#2CYJ!0Pr|S} z)gk@W>MTj2+MGdCUv~Rv;NLclYg3+HPJhM|zLM{%RYtkiZAe(jwoqp9%P;>pI4*iVm@(kp-|ZXp^qYRwse> zb$*(JGo4v9&yc0#a%80dJZUbg{y_iD*HIe&jVZ8x$`XD}rqQo_0xkMK5T0NsE z=E-yt4ccNH(S{l-Rrt|Evy>OlK3!B!*W$}hyGJhdPjlL4^nYDXOd#mS;*UQrnqV&e z^b=Xb6F;D?5^+)>msEsi(dSB$wEkSZz0}!p2wIB*Q5XC&3HzV8k{_kTJUl- zU;1BFpR85ux{%$3%g%?@Vhpj7IX(wj&!G_6S+bf(J?my{$MDkxnou|LP}z?RKdT$F zsF|{MpQ&l8v0#z)2*<{;|rgdMCi{vmdDm(Xh2@SGqkM;){yGSY+^|maDsK z)1U3kO5KS#>d$vxOB9c<6?7GQB6~&u3ki#emTa1|QZx+X^3d)Rno`6@>GEu;9bJwO zM_(q;*uGUMkd>zSRkw|>Pc@IFH#7xWOP9e{4f61=lEUE`u-PxH}BtwKjNDg?%(md*k=6u@4$H% z9I;*fUBxiuOci_15~>CNs$J&ntG#8g^0)O@y(N;6y{y0K9hY<0Sko87X;~`STdmXQ zlk9<3g6ymO{qR-rw#%Qr&cFLE&Hu;VdxuL=Z2#WXVb}vGVg};?Tati)h$NwbAxREq zkRgL4B`5}D2qFRojEHGOR8-8EQ-fKI$WhE~&PPE-jNI>9RkgZ6IOpE?dH?v`=Tf?; zPpw)NySlo%x~I2(N@7f$2RB=5_)&;e;r2s+`Nt~gStL%-DI-Kd&jwQse-00E`cvP= zh<1hy(ieR>+5q*pG;}NEAGI7sFCKGJ%&B7Qw`>Nrw(9w*HdtBAaE5j_%rPf#`N44N=e*OLE5)#yycFre>2 zajdW&Cj9;gn+%%cf{>{L{DD45q5_!J=18U^w|jX|{PC!f^u;?o zl;R7zzSPmR-ae(OYg$Lw&xRdGjIXCU_U>^^&tCo2F_UrO#5H7c?xfy*2H-al{RiRK zc9qm2jp|Rvzmr?#l>UQpxdJX;yuKYjbj+x!_&{AHb*Gb%onH8#lfD zNN%g7SawdOPk3So(o6P-Ova-K=unE}ff?r*vm!CHqh;KdlNd?qW5QhZhnkH5qi6*>o3fpbP~ z(_m{LzhR}jW;>R)?tFxFPvSQ~=;6AB!GlLlm^yfHod&rE1yqK&0_xJkMf)6ca*mdY zJ#mxJ9}i4vLD;7~_91Yef~s)1XEXfZ@bod0CQhLJM*0eb{_Ck&4b!i@@K@JH=ctDo z;fF=d=!st4ruFJzeC@#D5y?dSw!N<2?4y~D65}g}X5okW<2O_Ix;8DLN8l-C0}Ky( zoRkic9ptRlWVZDK&R)HH_xaz?BTbL7*^~Fz-6vc8VCz3sWjpEd?MAx%*k9oMW5{pS zo?0|D=bANc+?ehZ>Dz*C@|rvBSDOjSch4@Jh0_8#)lMCQA2yj@$5z2u%fqLh+O#f3 zPClvepazZWDI6o*zYV5OZCD$;5g_c?HyP9bKS_k5ZWB46sEcPc%|pu8FIa#z9?4wb7ULwyG9)1Ex}mMd=7x2<9a;Up-_7N%sgImid#WO6oJ zf)pSW&cTl-X)eH5kodH0_9etUM`^)1NOEd6TZB-W2>y~oDrA>~$tO|JU4!sK$W)`J z^reZ}Yy?pdN?V$MFeDj|{2&n|8HYMS3XmKm8H+eb1W8T-LykjQt}i$qlg+j>VJf?N zzY19oa%SHO*;>#S5g$PmBp!|QkO-n6$taWsDL`_NWF*3n0wf1XMj#9+K(6?$OfNHQF@kU#yhY|kb-{xfg{T{2AfQ3-woNrvk1+lViL3nt8c=P-qT zMtP+nNC!y@s6XTxq&w^L3fTxu^&vZIb37P!kmO|8L2{6I5b}p41K~rGli)*=6JZ0% zLE;mT4w4)X9V7>dkAodVK}yFW9+Dh`ct{Qs4?sL52YCYZiTfiAc>t{7+j=Gave`=O zD`boCbC7xHGpcXW*XZHrAXZOtaUbLbQ4nccZ*5-Y}I((iJ-LZ6DG2 zRIoW5dg{L%{9PeQr*sVbzD1`kLHD`gHO4PMx6-hUi=eyO=+1*b5kh@37{2X41)F0L zZUag3S)QM2fJ=r8@OML)=A9gv$3jQ+@t+l#OJF-5XwE1g{MX;R20a74WupaTC-RvaLRXPHjh@ zG)`?x;NNi!6NnvuwvG|vsBXz&sXg^~3E=`H2eE1BSigci?6I)d)ccIi>TTW%X)j0I z8IW!39XHa~hyr{CDK$htK#~S%CxowM@P{Mq(GUfW4@DfL8Nv-9bd9M3pRO<4=AVPz z?|gY}&-k9*kXAjCKKHw$+wi;A6`;#OK0%ml*BE_L8|6bH z$Rj51MiZwf?vQMDvC+>n`T}%0NVRv(d0U>%o@s1`8=Ic+?J+z8ydR_pyBs90g+7CL z(Earr<`r;K6JPQEPAlz;<4M z)7x?)gp<8d4#ds3fbh2Y<)C{G<5|Iv_d;Hf9OOOd;ytl;z%kl3%_Y>oh@S+1+cd=; zq=}%n`6PRodfDS`+E#>KK}x%$PaxLbwo8s#RoFnNj|ZR*M?xZmbC5%*PP<_~g>Tc_ zbOq=|2Oie|wpDapituR;{)xs7INlX~0iiNz-uei7st28;mg&5<`9-j$^or78d=S5g zG%FxvcOm9zTL07WhkSP$G#;)H7y1KqPpS+`skhe`kb)!f}Ymw3O=1f_Bu-Qas0b3qX3`EaIXiuAiaX#+Hd*=$N0B2{0YML z8bjq25J%sHjMcpog*gD(uCjPlBJJ+5>C5KcChW#9j_LbeRy61V`d$8vjlD8!dGzz#xX|MWA;2fMb( zk7e1np^xEj+lI%WUk0ILP(VDDMe}gZ@K*W!P?o&}wiiN5;0xeK@F&72PX1k%9b~u& z&OwszwOwrd0(=GOZR|?l;kZJQZ*gA>$w4Tu_#3ndl7n#gYlI;=NPEP$GwI{6kPgxW zZLbI2E)c3SjX4T$`bmdvyCc{t2(4k>M;!U_m&gMWK@=qZLiZ(&!y@yF2%)$LzJioKLOO_o*mUuSIOmYA06zzbKR`N24idkg+7-bO>~ipv_h19b zL6Ud1jcsoU;kuL`{2U~C2jxNvkQ~I?(b%B*gTnE8Jyz&^xA6t&sO}^=aQwCo7vV<` zO3Uqj3w41+5bDFdP__b>{)I9jww*a}vJPVob4Ce%7Iro+LU`jwq=R32GfhL|yMQp2 zLv8RMrdd@1k@y^|guOOKVXsgzMJNTni9R-q5-d{0O2T@$2c_ZRhL)bes?3 zlh?Fe5x$)dA~4qjzMVJXS2Zt2T{zCH;|kEvHgz2b{}>4Mug%NOEjifb5!YY`@yRP` z`PA$X-?VCl8 z?ksRCtcgd!r*wVcw};sAW7k!smvKBG$r>D6NCdI@)`7i3n9}bHrg^Obd^@lG_+xr+ z^AVWhUp6|L_f|Ub$xFx|awT*H_bqx@Tsp#&_xi=7e1A{#@LjeE6cV7 z7vSe0$+Kt=qyWi5l4lTxG$tGPIY|6;S#~dzz6g#W3KFkI-jGKTM{UW0lU2||sO*CA zmGR>k_K*moAn{WOL#{(wDv#3S5GFr)Qv2sY-vV+9B!;dCIS#xhgzPH8r}!N7ZH?a6 zHF-j}b?jH#ri3up3;vOm27dB5+6yT_a**UPgdqh;BeH?d^?4L?5yE>wC|nUf50g(71UALm~Bls1e|Mh!} zOQVY)M0*gXI==}2ZpalTOgeiW7GY=CPqPqD=iuPAI-RZ0Na(3PJ>f^NSCIIDf7%tG zBfGY+qj8->xU@1o=Ndu3Kg8yr0T&R@YfJbvM^O6Ye(ZOkAE=&W^Qqz2;9LD;;Jb|e zCgW2+C8VWvHhve>V?N?3Z(D8wHdIayKI!N<(A>iPV&>@NKE1vu!JmZm5qt%q<3saJ zd~dqWDjKFdX`YP`R*?9fvg~kEw*r{Q0DLMZxf^{0DM0A_&cRRa(&upu-<}hd5l8Vw z==vcqI`5jnr+7QQ_AzBduu1OJ`Iq4TVeY3Ru!4MsFrD}D3T;DuL&xbg=!-^oA20{_3$eFNr`M>Ykpf|Qo(GzH_2M!q!O z>~&5VJ&h+i|Kl5-F=d#>6kW&rBCWlK=MYEb#3g;*D#EvIJ<^mx@gzCK(fasM=#v}L z@mmDj>uJs~m9+=#;_K0`5Ka%@o;MVxx+>`C9xuKw&7)|T@^I_=^Vhl_5#rx6tibWL zcvgpS5q<+1Du2IQKL()#Pd+-uS2*5Eb6?|JqvY~Mm&rj=BG;He?A)H)*JRt>$O`8KJ^N=@$+8DvN z?M%*h@-s~NJ%GAL2vfPq+_LO#2p8c~c#&ye4&mfHUDqP~zi{4Ln=_0}1U;o0hp?^B z0I-67tNxzj)WfiC7p152ZNKIapUl?zo=w*X!v*-Z3`#@&m4lAX<7AfJ_lb~C30w!h z-9NJ9jMh*E#F2dtzI#q5GtqyL2qJw~bn0xF%B6bmf&A@Qi4aHn&0nA%5aMJ8juRw; z&~r5f|7pbC0-?Fa);~U1*JlCrc8yhpj`v#O+h=ac^mISWo)f1c4e?<3wqJ^{%R$_} zPtHl(Q8H}%-tG79$cO3`!A3!vB242nJ{x@l;W*NGDW2^|a zRCd(t!D&QkoXi`&m#OBBpIXYTY^vZwR2{KusyzRo(g)KXK6I*3CTg?QE9%^{sO|b z{jZ?TPeC4n*!&gZO9;m!%d(fkFT&?z0RL=+iIWkgKj71OTrlAr{2{QRbJxz(JL-dE zxKm%S9g79SR7VOly^7D2^dS;=pzdmJHGQ7RZPC&+WSs z;%wg)z_u+Jk1&Ce8@%V)e+0$`J zPR5!Hd-nFY)AghToz1VfO+3{vf{y$Tk#0xtMkv_CgV1M?7aZJ#{oq@yuTZ7G=Jk{pk*?UY+W z*rp>pdu$5O=OFQMdR;Kb$#bjYgLpblqY>}s8$rLld=>PRZ|PW_Z!afbdz>hL`%JX} zyQ5%}gHLU(0jBvaIVR12S0@ijYoD{09GhQ1-nuWjt>)Qq(Xsnr8#{Sc?AXMPjqP7P zUtmM|y3b(a0ckz&bkcD>5l4L&IX1Mn?H+Txzipq_D#vz-$&bz-%FjN(jr*r%E;9Mq zwJO=!Iup-E9^@C0MnOvb^!3QTk5@o=1Z?cuF^4c6CpxxCU)-}Ht~JE2Ig8M7UEtT+ zCNAlN{2^Q(d}=2#iK4jPxGqDIUYM&OyHdGyEyH_~+)vOch+Cgh&$K=TFy)mq{=?`|J<77=N88ko=8+=eA_&!y!U{}&!Kv$?Nm^%`C*$sEUl+g%LhEs=hus5+k2cSg z;eUT{9$Wm|iCUm<7gzk=PXke47-ucx+? zE@`iiX9+%)QGoBB=Q$IfL^{3%zW~WWl6Gh}B!cjLJ$yH9+*apZgim=#@ZETYuzlVh zAB8<0)UN>l2KdAZywGr|4a$Ki2*t&%jXit?nQrY`!48tNMBN}c2-~+ny&*XWhmS-U zq97AYT6)G#&)rMS5eK2;vF$VW6JXm3vb|^T)WA)SKF{a|~HNJkPk(`lC>t_Z#u{=abU)4UcTY{wPn;n>E9Z*5ydID%|t zk1*AX@{XHsV~=nIaqXwUE@`6Ei~yIwRBi!2)rmLhMGl8A6Le+Z}>B*j$k@wWN&TVb236a z<&#uG`4Bp%CL`U6khTztYXtuc=!qlP?1}JS2qzWGvR}b}8Di^Gg6@8V$C>&S5Y9o8 zEb@mGAY@DDIN8`b<)BZ>&}N96r;T5ZJQqPC#7~BA^~1q-jz}t?3<$M>>k6iG-fgdf zF3#ZE2b&UnvTF}6fOC*T!Mj3|5P3lg5Zm9jOgFzA;@x%6hPUzC9|-090(@H+T8FGe z_*%$3$ao0ZP+EF7eHg+vpWiXRxz}cT?yFD^t@ZlAt|g=nWDm&ZxA5B*2<7!0{JS9~ zh+U8D;OC#L9(^|6=QjpJ96lNB8~t$(_Xgu9vg|s6_cz=a92%|*&KN!fT*2@G4p#@4 z8U5}KpVSa9@*4dq;EIN;z{dWT_m8tu{t;XmHbumL58lPtf9ddN;9ZUWeTUbA4>J1K zzy}+C+TlmQRgC^Y@NS0hclb_lRinQdoHM)>yu0CR99|6G!{`?|d=7X|qdyb8m*LYL zp6Kv6@ZQGeWQR`z?_>169PSR@*XY|g+z8ys=nnP@E73y41WlY48P{^%i#7#|D?k!!5xhLc5p|-OB}uwoHzOf;Le8Ufx8&)jqzjo zEa=OP{xon`!z00m7(N-?&2T@5j|LxY^bxqb;b!34hMRzU7_RH^A>iIdf1txza8IM( zJT05;W%zq=AH&~(`x;Ih{s7$1=-+hsWpIC^e-T{QaP06M-~){QD)51Z=YabcO`H;WAp17*=!rbpM#Gw zycXQn@M>^9!}oy?H+&QLP{Wsl?H}fv4Q^oclfd?`ZH)leH~Qnj%?uw6KFn|%a0|l? z!S85`Zx5Py&f6U+(B~>o$n16ggg)ZJU`@lhuTE* z3{~XsEn6mD4n013Fp=i_AK_O*82EqW>^Bpvzxj2U##K|as{^DTWGG}3WESL7$Wq9C zkkyd2kWU~RA^t_EE2Ji*DWn6WA7m(G5@Z(SQpi%seUR0VwUAFB8zKJ1NDrwAX$t88 z=?57KnFN^yxfHS#avx+hWG&9(3LMB0GK`w^O4Ot7> zw$tbsD|P#kgTK`MJshEMQOMU^%XIG8ao-hOgpivADH6afgcJ$j9)lDK;C_M>3E&!| zup*OEGaX**@Lvu$zyY`R$2vU2;j0~9>F~cCu7bg5^J(Jnu?`mX*@6TxuV%ArvmdyGJbquq< zDvf78p6$TrZZ8gBbcW$_hCMrc|7x( z%=4JfV!oMqI`b3EMdr7dXESeLp2NH=7Pv)qK67p6`OFb`7HG}oo|kFMV-BRhj|=_eq)}(+!G7vqSAdefq5qDH!;s;ZicoMdB)@5cIO0p&hC!3_F(&i zF|%PFU~a)oVcREXKu>*0Zoc86Sn%6?bWCc0tz%DdHlG(c|L)dY^sY@0TzHG>Ahx-f zS@-`su&u+FhL2dK=dsl$N2;e~TThCjdRjfz%`(L;rGMaDo6TIV*1x?+dR(gD!e3Nf zIidx#Zp$d<9;{!?tk17C%=%bY*o)HYW8IE<2-}~*Je2uvW=1t|@3h{oZ33L3Z|7JYw`mVGO?N*nHtIC9w8ecA$4{?6{@t zZ?*k&9q9T_`LE{Ew;tO~VN=ABB-f3(26KVACi7Hgecml#K7{o*G1q2(gt-ax>= zzhXX|c?)wh=4$&>xq2KnX4co@Zp?Zd4q2^Bm?8 z%=%hKS2W6o#R^XfI=SmI}(}cZN4rJE#T)?cam5(#)@&5y} zJ{I-sP}-9@&tc3%n6F_T%KRoXqbk-->rk(L$_F2s@|Dd0yjDKSdNVIIAbWiryD{r| zX(+Rvm!>nf(govR+b4^mpM`LntWs~V4Kg;)+Wf%!+gV!?L#JrsM>_nH!wVXdO?!{b zmNFmD`~ve3<{y~HFzE7tenP;W5R(>hzX@jK9yowYgN*qlF6U%ytH zOx!VZ9hWtfW8Pvug}Ev&53@jbKfZNZIxlQK^of!iM z?owt93b@;tF(}}kVn(OJ{filug8PQ~C}xGrmAyvn!`y}S4Vil|cVh0#d=m3<%%?FA zV?LjGH1oC0#PafVuK5rU*mugD=8(ica zKkN@SC&op|I9qOi*6Z|Ash z^U++ubY?vcNnz`DIrLPPbyj~b+ke68mzcj{{+#*W)?D&YnDUB7dym6MV*0cByT`~q z_bHhzwYX@TbE-F1gpU-@}HJ3Wv2tBp;d7PJS9o*wc<94-4`5@;b*+@Qx*8jcVPIqi5 z2V3Vwj@~WHt%IGDZOJyRn~%$PnmoV8{O7i7l~b0hchi38*tq)N|AXH457}6*h9z2& zGJrdV`B&!C9sSqfS*+FnY_DDPki*)vcbN3Htm%&4ZP#Uv{yv9acbH1vUb(LRyZ=Lb zH*Mv%y8dl;+4@-2FnY2jXY1e|clW$&2m7M>k!_D-*8O>^$>*xOLvu2cE)= zfeJU185bG2#mpE`aCb9zU|z%Ak@-vJJad4hkKH>xn7JqG+c2Y{a3?Y&5!^K90nAr2 zpTvA0^AP4&nTIle!#te10;cAo(rbWP%zA!{m?yH$Am-DU&tjg*d>Qis<~x`#WTt;? z|F~n|8Me_T)B97oCvf0OX04xf4C&9~z%|TTzuMtR$LiyF=z-o=>wot=vgE8yAMail-cnoIo~vtFw&aJV9-V4KhH4!?vZS$*FVQ@+^YcfhkuNk2JE zD%)=^SHa;dlEOG^)7{apb9lnQ)P6OX%4#%7sdpTGLxhVazcUuW_DwZS0Pv?@Zcl%PJd8boxo{j=uI#Dr+nobzs)^4>;TaOYNdo ztD78t)!}e>YJyk06^GeBZRk$kd*SS!&Aa0sSoS60Ffq*?~>xQEA$1 z!DLVFF~gH^e!b(^9ENG4$QDY?bNG3OFUIYYwINemAD3?(r^|W;$N3qswGVLnVfj#p zi_Aw-7VK=ES3_^>Oc7S^@r7S%vygWrp2O0 zW!KCmD0L`0Hr{EeJ=xiMc4EC=*NtYzi2yg3xgj(CW9^qizrFT8$MzlAzTPBlQx8G+ zob3vIkuCH;HqTa*Q~eNT9B?>$UJ$$I1%+)|m(NDpSy24&tx}h8KDu4EGV69d&3rf| zQy(!is&!MS4sCcm|HQ2IJx(Y6Le`I9zLFDW;?i%F1&jdgidU*R^0U0yZh_f;s6$9>J7S`BWfstF&e^id+4hH_=j zt46A^*c?W;f9%L6FWf{OE!4@@N6J z4cL)hpH-yq8K5*wLELZmgNrB$?|E&}eKnZ-kdnmo58RV%KZ5(5!ZE~-p9E~{Kur0Qqy8j*9cjze zx$5D|!t7_@lA6x_`Mu$E9yphhvCFG@&OC4~zuQI;dCaC&v4!<$=gl26*}s4@Si3ylC9@-)^y#_0MqMa2uc%9e zUsKlzzwMmY@2WMTe@}fN{J#1@_(SEH3sqiyq$(JuzO4*Cg8TM!_4pO`+VnY(LrR`k zUzl8ozvN@5^+9y{$~P$}|Jsl)od3`2Gvq%MTv9)C{u7yhamMo|lak8% z&B^}{=Q#eU^wpSb{&J4d7Kc6WD3cS}^b!s{Y-g~`tBjXkzskG`qOas#AY9qIT=);? z8dSx*QS`fc4}tYu`ZM>>bhN9eesSi~U;i=A^<4VbR&%KxZwd0Vbs(nv$x(k2&*%O; z(7X1^FnbgC;Q=0<6n7d<=Th918JAZ%Z#Ur@Ub=Rw>81Ty%WEPws|;5F>vQ}dF95G$Jsunz7h8azKvt!~TVPFtEeZ8?J5f+VPOb8lbC z^Kg6m@)$rf*bT?OgOI0vPpJT|G(%roh+87w9>cESB81!|NRa?;A*4tE_ZXx|0QVE5 zNC5YL%lpIhp3-X6*S@DjOpe}7BDU`)Sv|d*WSQPavTW~_?0ZL~|4;87(YqgHW8eKC zrguN+eFCT8AL;3NpREsq zJQtDvfA`rOJ%jsi^`U2Q)`p(DS$6x@?SFgRsXp{fjqJDgOwH!w_5(dfvwHWr*p8T< zg;{%dPrf}a;M>#FGcT)m%cW;tR)3$v^vuiZ>3NoAdOk(Gz2{Tb#_bdL_|mf{vY}^B z^eoBR(=#LD?L9Lh{eOFAWb<*$rRNu<|8LJPY+8CwK}^pn=-GkQ)3XE1w9ijW`~2=0 zpuKu)L;LW=+uMgH{eRkrck54k?>0|+t|2+^8Ipe6y>!}(COz#%(>}9JOZ&{kw9ia? z!o;uOyr+F#YeW0D#M|4yCH=PhxAuHTl%oAon-A@a5^uXNO8cDF#@*+n{Y=u+ekScD z64PEH?Xwa8w|zgdp?yEv$0H_3`*@b!aqf;on?KoC#dUuc{8{@eRo!s;?PvqINCt5G z6;qz(@P0E>J=ra#f8a_x&}UIlIo@}rHO3*}5}4MXhcP#I*7KM+jmu-#3DY6FJXTb@ z3b%0XVOyK0qqP2M>8!z8V<*g}ZKK)?N6vj#C-ch;O4~)D+3fOISzZfji@HUqC#^-h zGB=ldnR4iEf*c2ZIquBE#bNeza0yK9ns1oa)z>nQ;NRG-U>?c8sY4XX#UM2&J5FZRT;x zN9a@L@mt*!VL8Gs!N0Z+#MeN`*<4li=X-o-j0{>`h) zRC@1oxpVJ-rE~AU$T=2QV&_=9yt+!!8lGHUUG3~=E>Y988v1MG9LuXEPJdpvo&zDLyo>vQKKKGyoUU&6;uA9uY&Q60x3Qj2(O904w(e~1q=b))e>JR51tv4^w%YC9gDa^|Ag84s(F zLOa@@sVuz8*=Kmxd8Y83%8AYM&e(WX;nKt|uU?Y-tGs%d_xULzj~&nSTzlOaC$BkU zV=YFdc6qgq_ndXww`6B4uioZg9A3-)^Az{3p1Wf1e|;=g^Eq`p+pOjcSAvV!r`r67 z{(I%IE{6Y2@b9Z8OnpfF0r%k#YWb2dy8&Fn&JoRfe;Q8by&rhq+jWk%*$Xx~!|8s) zkI-tDR~wxSbk!^5G#*S;*ORaM?CCM|g>Fb8oY7LoYq2T6q~WCiAMbS53H$ zS1#Pvt0&yfYcAa0%L{k#dJA{-P89Cswe)qtxUPBag}Zqt2)FW%3am{ZuZM77Z=i5L zZ;J2$Z;o&u??&O{y%oYIcq@fZ^d1);(-b zE~*W@Kc=q{8+dGwXPXT?wx_YpM)e(@N6a()75Fm4pMh^=`;FZ2ds+XJN}zv|^*?bw zFN14izp?5i_&a~#y2Nkl-=N2wQvZ{{vu!U2zlyee5BqX8%$s(--BTK7jtY&{;m%&o zXb-ph?DA@)x2N!EFCD|fy@MS+l|e4A#(4EKf=7GU#$reMcEYE4dEqhMF~X;KSk|-4 ztFhi-;ZwX*g~xhRg~xek36J&CHNZGe&*D^{@t(c@=JCG$En+|3yF++_caQLRZXU9z1M|L^WGPp;{9Zp`rsEx*?H8@=X$5!VEg%8r=J%)^TteP-*TQ;Q}VpPv+D;u zyYV8?U+r}lzR4>H-{|c3-sH^^{W5Q%@Xg*;!Z&$Kg_nEFg>Um#3NLs1;STR5(Xa5< z3E$~`CVZD?_u=#E9A`3V-Nu;`I>y zCtgqCkDNIt@s1V!$IkronKxMUUpV}wXU~Sb`rexN~s|Z*1_Y&USuP(fYUt4%j z|1ja|ek8o7-&wf2-$Qs$zpwDV{y^dC{z&1RKTEiVf3a|F|6$=e{u<$W{&&I+{2zoH z`kRFt`}X5YdDXkkud6y+};0MxR+lZ+T+{ZZ!g@- z?;_mW?=RfPKS8*^KUlc8KSH>VKUTP}f0}TA{|w;){tV%^{uRO}_}2@c=-(=QlK+bE z$^JLOgZ&?c3;rhI;r^e(qx}Oiwv8kFdcq@p`kn+iTs!=ugva<@g-83ng~$2>gva{@ z;j#V%;R*f};ZyxHg(vtkgirNn2~Y6n2%qZD7e38jC_LG}S9q%by71}#0Tpch&+r=x zpXoOfKHKjoe6BxIc(#9$@VWjX;o1IG!gKu>gfH-46<*-46Q1k8D?HCngfH;F5MJPa zC%n-AS$L6Oi55C=d3A-um-$s4{XW8%`PGE4@DCQg(yt-B#HVj#=sd6Sy9zJydkJ6b z(>F7;%@Y4a;cNU6!q@rZgqQiJ3g7CVF1*Y?NBCBMhVae)OyOJodBV&6`NH@3%Y^Us zZxO!Ve?)ktzgqYq{{`WP{a1yj`X32D;r}fBl+QOIXk=c+eigbQVP5U$grD~73qRwx z7k=LFDg2UulJFXTwD4O0T;VnT9O1S8Lg6+3BH^|E65%)fYlYwPR|voDKO(%|e@6IS z|2^UN{Y3Z!|7+oo{J(`i_UT(Ay1k$K)r7zBn+bpHpCJ5&KS=mvzaadLKUDZzf0Xcd z{uJTw{W-!v_zQ)9^sf}&=&uysZP)geIz;krR( z;d()J;rhWL;JwbH`>7dT@!Kt1Y8jpf*7r>_yi33hjD8Nd1#{6m2dwX>ir(d5ea}_& z7J@q%n`z))%rm_y;L*&pyi>t?Z)cV_4m_3hv%S&a*@lOM^&Z7+eh1)k=p!|o@0*qx zre)gwj{Yf5JI7m(y^Bwo&+`h%=Xd70-av4rxzygd-tpl5nCE!|z|EL1@cMvz8}0!f z%6zH!!mnGloM!mppSEl{m-#Yp`43yRTx57L>}d?d^bgz(&_`Hr>yXydntUbe-?AzcHn5Kcx45xc9ErP1h>pkZd0qvRm zVr*#dB|KlJP4`J!niUewpKSwks)1Vu=^jg~AiY0r8|07=IlL7b)YS-%f+K|62kAX& z$DoVoy9Ia*#xAeA2kAZO(LuW3(lZz?HofTeePiD{m?qpSm@eEmm?wN(klvpjAEf)J zCk2berfslHxDebaJS2ERcto&Tcv$d~@Q5J2R~;LCB>Hi|*TNHmbpK~!u#4PZObGTC zJ}pT1PA3I5ML#8IC_FW=Z+zs{v>?5AJ1giSHfIO@g{KGlm+^F5<^&@}KR1{nJU^H& zJU5snJU=*Jcy2IXcz$q+@Z8`s;rYRp!V7}*zU;!_9?>rf9uuA)JS%*8utxZbz@9O9 z2RK+S`hLNC!u^Afg$D$m3SSd^C461*Z{cf#pM zoyj1*@4G43Q*3Sw()+%ff&)aqEI3H`)}X%dZ9#fJcze(c`f51uBAm0dY^et>s#Zbz z4sGjzPQqtqkxlCW=IThcZxd7i=N(2+#q^JH34F?*9L*JNzyn}kt{w>9UlC?UgG*qV zE2bExxnibankyC=PWM+IbmoM|oH^lr7K&OGo$fY(9TVLcY4`&3T` zZ5(|k;Z@H3usY}_`lo}w!p{aL2tOB$5dK#%PWZV1k7n6nzdcCzW?v4{y{uP)bH(Ph zV7Bm^&K&Zd!|w<7=@8zB3@#V@Bv>l^NpQ39r@?K)p9gmde;M2_{8jL<@Ylgp!v7AQ z5#A8IEW9!JQ24RnbKzfupM^I&{HrtnYz}^hjov$bh>xk>JAH`9;SD(Mk$Nbg)8ck; z5lmxJk3+4$&)866{ob<9M~~-+cznjj#tg%Mj89un8lQhdUW0wP3c~mAwBs}24LyA= z3ql&7pTVZ2!jQ)2FNV|cnF*n0msh*8Jq7ZrN|;`cb_>(zFS~~6^=OYUy$0KXAex@EMZlAd4)Xw)acfOzbKkfa@mbmVht&7I%pMrx|)4|RUu z*FnvJUhm!2<99jq`llXScSBo>_;oSeQ|L8PJw@xKV~w8P*%$(jV6&t360K{c=^kz#HHvOD;y-sl6JMGQy zGEovro9>C7==A?dPX7;7wIu&R&hN?x(kJ%VQ9kK?aRKeO`XT(4)|*iO2<@WvbDXrZoIaeR z4v~CjIpcYb`C=Izi}Rd!fX_EyA}9Sk=N;gM()PTXZ@z>|HVe&{=85N6qQ6hwC%jTUEWFTpU-S{RR`icLzYl#3zvk4Aem}cGcs1Y4 zQ!uZdQRzPCYUdr%=Ty1ee?8ClANu#>XYib`H^xt-&fsxd6I=w-oY08%(|E4XV}2Ts z^Jiv}{WL{cwt`JvdW4R-IpkHx=1phJuam#Ig7K&Q& z^Xgr7nCRc*cS`j=>?_<4daihd`%upnuW-Ln5<1`QJTn|z<-YVDvnqHY+DLlho%fjN z2)LcU0o48Au9NNW)OP*`P~T_m{0(4wzq#`sQ=cz8?=g4&2GISD)>+Sm(kjQMmT;qp$9s1eOY7BJ!y3lL*LPAFMJs8V6@BQE@*&ZT9X_L zNjU#zYP96v%vexa&E;N(?qMrBY3a3yA2@9rHAT|eyIe}!)~Q=NwVz2#`t-gylHci2 zeHs}XS_>^jp7uKl%fMSu7U_w1u90*{?OY@2e%QH2(*3Y=A71x^JO8`uft_n4-9K)h zxaZE!efXXG@c+~H;psaGt1)ctcM^!{I|&(V)YZm{A&1`yRtJ~kSNF6wpb?ID8^~iv z>kaEjPy4szNKgB^xFSSzZ27RyQu|X!X97b+j!C`S*1AXs4{6PFY7gW%YE*>h+JZhHzQ^)n+NH zzmxv}XRrQP=i3O!IeYKNs{>7nJa%kz!Y4R;$S2`TuG;0XliOH$kojwD)Nccw-)o;N zM>4Ml^Parkha4d5(%9rdUIOVt07u7*crv$Zq>AphV`C&mv%_yNopz0L+BMesz4JKd z`wtVHHcoK%$tOB(9PjKIPLMS%egCtGlsn03<3t%XdF*0$6PwAhRww;H(N9%FgwJ%o z_c#q-kI*iU{n&GWy01p@p6!L`hX_07cKpZ2mb?UF^Q3;mDW|UHew(gh={NhPFCC+z zGsb2*{Wi<#pYvqTGq2{#amnNFqS||qJieMo@6M2;{r|Zd!E>E&FDz6yi2g!+1wp$! zzE*j+@WtwJux{_UI~*IUj6JoH_zrI46>82(J2tK`7F3@rrLX8a66yWR66d+nways6 z0sX689$!}NDtv=;|5b9H_uYsQZS9wuFU?cAH(~eP>X+fGtJ>M)vYP9By9yt$b-vwL zP})13I^Uyen3z1iR!~p)9_RVjz0P+_?n8R*@@gfXXjy(h*)t}Orxd4({&9=~Yx9Kj zorEXRTUH;-w;uu-!S}*4U?f(xqHOk{_9b<*xb-rEmzVj{64fvXfcJ$4J z^tsQ^>N(N>f}E_)ulRMl<<0V)Px_W-HP7mQm#-(%w=vWA&wa1E*aY4<;n15ZT){hA zxXk%&Z`MoSC-=Q2VpG|>Nq86Mx4OG}--^D9w^4XkFMXH0ikJR|cQTHX}la&M+^EpL%ZSM-wENx(GT0X zqKP>wbS#>C>6+(A=bIjFyo2;%flVtfC)~zM=a3d&1JSqinhLk_Xm5sG9^d@8yFpk- zd3KdV`o7u(HtoFhS`c{!N1x6)9lZ3s>*5u~rn5I&xQlllSYP9s@^6L1sv-DLjr?2`rebwLjE^8mB-}-y$d-wyK??@c$wLt#l@Qo?w z+a_bZ^qM~2ORs|yygAw&_NRI!;nTeInerr$u6N|}YOl-(>p-;Y%eD~$NAR5d0qq2&-Gdf<9A-d7kDQKFYrbS zFZ9yi#a!$aML);8S@=pXeJA-U?^V%X?R_u2#QRP7IxqeG$o1YHW)S36$!j3I)T7^M zki#|C>nwb;*I)P+Z@BQy-kHM7y?MfScozz<@U9ZR(_04C=XG!W?GYZ6edIeNF_*6Y zN#Lz8X=zLncjYm8zgK$9p1=2-7E+xb_A)vt_z~wDCQo|lI{b0x8zxVBlrK44$GzGb z!B2XJ3P0wY*N;2j>Uq*j-{D{7*}E%B+g{SHa?bH5y>uPB%IhIEtG(lepY~1>UgeD! ze$JaLyvCa+{F3wilQrIj(Cfa{BSWA25AeB9Nn-lPxCFk z>DzVA`TmyEpX7$l!}`JNsgcvBd-Cf&`&Ja?na+pr zc|*ni18zyurufnOStrdV|OOXdeG-y)u)3Y<%((2>niz933O#Gx!+& zVY7J0S5-%RWe z@+08`{Pg#a2l?smS!($G#O7c>o%3t>_BXcpt0(?&v8m;c6)yKr6F$U0UAT^){zkIC zf05`L`PT?H_LmDc_0#Lc;eIUoBmAd@Tln^j$6CmL+tGg@+{*t%xTXKKa4Y`@;nx1o z!nmUNwr|_|y9l@Qs|iPbxo}6nv2c6;Na2qDQNnq@gK#Immv9e%fN*!`+ciD>p`!2U zj}q?XPZsX&&k*kGFA(nIUnJb$zg+lO|3={fKCM^v_&L_UOL(AvzwjU*UxP3d-OpHAS5dH$KAt}NpYkP#eGfmq z{x0y-weq1os`q2*WU%c-QC1{o_UJFpo{#@jy_#`U*xCP znoIn24qW7q7W>Qm^nU*e-(EwpH{#C}o5g-Qr(NRk65rnMV?V^1$FB3&OWN!GcftC4 zQS`a{(dQA`LaeXpv-}FiJ~saKY-8`l^tImBIf0F>5Aib)a@6-9LT=|{y3C)m${tf% zrD=!ncKYd>YPoYvZ}ATjo8|t&!gu=V{mvcEvAEMu*FSgo{T%yagzxgxwa`8OAV*&i zzQ-RXe4jr?_aii2egVU27$Nf6;&9^yjC}wf=MGTK}1UuGoL+&k_E{ zr!^$Gy!y(&TqF1!-|qiV+o}J*=eBS3H>2%jhJ7JtylwK$rGxc$oafahr++s3l_((` z>37ix{>|x=Kb`sHFK4d!+doR|gP^N$*7+TGg&^IB%myRGrectew@Sh3qOTmJYoT3& z^F?1Jm@iy4xJq~r=Q|JhHjC)@3LX*O$NByBzRvHjs|7TE$mP|3&Nm21 zv<=eV-nMtX=g=YeQtb0VdLP|6NcZ=;1nE9rw;k-s8qd2en1g(Vo1zm&(1nGVB zvB9y>hYM+L-^6ps-ps$r`5v3&MqUCLWb&c&h`287%hkZ(_-DgxJ8%h{&LM;N(g9P9 zfkLn=0bE`U3HH|r9vVWTCMbaE?<~xL|0wc@2mQbJ{)^r_+FCy@7)l0k z*q;e-db7)`(}Hx(KRH+-`l-Ra!e<0e3ZEW4D}07C&Zjx!{H)+ju{k^VK=_>C3*ni; zpTe`9aeiKq-lNS84w7TN!1_+L~v1^9BjsSs;T)g z{bO7L|5=kyx#7!UU#@Nna?ji2dy_L}Zgs}eZ9y%QPhQ>WjFY>AbiH(MaI)Ck7mO8N z8B7y?AebTiP(Wjd9QJL3i!_2C2`&?UG`LpyacBHI;d}$3ui!)u+nab3_s(*Dbt8`lTvecuPc z2(kGnm?ZpRaHjA_LHfOdPl7q3|JeB+&ZohJqW{|AZ-Sde|7~!$@b}JlZ@vpwJNg%d z{~f#{{6nx-cth}^@Q==SZ#MFrc{`88TLXK&j!hr0;xYMJupayNq$0iT!vt*WPyBC_ zKaEe~FL``!4ywLr$LD5eeEue7<<;-OZb(Beul@+CYXtul)D~7@U12XgLO2Xt2v-O@ z373WG8nt4W&To~SZ*lArrenKGn2zVF;U$vK?qNEH_Y7|^dTQg1kS*NC>fuUhWA)IO zp#C+(iY9cchHMcY>*&)pe9N#P`ZnPN;V8UWI3K<&+$nrpI3K<*+$sD>xO4cK zaF=kCaOdzhVSGW=j4Qk!5@v+Egq4JQhPw%O3Da}GXPAB$t4o;f|91;(h<*1kT`%w&Pn==+B0HDy4U&Ix_PbT4Q?IMlIE*HHtUZ=M_zjuD#^!t~m4VtB3S zPY#y~4-A(JpB&yHJSKcqcwD$nczl@d`AiJIaP;2^PYlyF()e(rqyI(t)bLl~$zl2o zVoJCV)-dGq>Wnab260x{PV^@@+%xPZ`WYduopjon;b7reVft)hb~s7&bHeGu=Y^LE z&kgCBpw4Gr_?Yko;giA_hq3U&@LA!D!`FouhHnX99KIubN%+3-#o_0|mxccpzC297 zfxOh=Quw#nEDiYrkBZ`XO_=WUEDh6dCNB@uJ)hgdUCm61>ved9@V((c;g#Vi;d{ez z!Yjjx!ViS$_x2wQ&l3Hk;Y{HN!@0tbhL;FG7+x*>aCoioqv4IhkA=&G9}m;-CqEfJ z=ICSLC&N|3PlfLYKN_arQhp{ZGczduMn<@|@blq8!q0}agr5(~gN{BiiJ@TZ}D!3%#EH4HMg{@;eX3xDVEkKuui{$SxB!y3XH!t{I2 z8^fle-xRhH-WYZf-W2u}{xwX$?fiQt*(K^alyo$(nl}Wz^-8S=}=%dUt z!tFEZx1c*@){DMl<_qB{lYR@jL*^Gpze%`r=5OIH8GF-}S6wr^nw$B&>Xz9@_~=af zz3A?lE~4+5=_A}P(_i@5%mu?J%VQ(gF!OikgjnL~xgW!edk&kPivm>D5FB{N!hTINRK z>6tf#i<$R@r)Sb{I~OyF=x1iW5}uXWAbehClklv}AHwHl?B*l>hI^*6*@(omk4*ZV z=L<4bML$2&RCr+~6236gUHH7rvBH;Rh6*prj1s;ybDHpFnX`m1&s-#YMdl9St1{^~ zpRdWJ-+aCy^S#(C%N$tQ&JVX{>IyH*)DylnbExq0Of%uzGDiuo$aE0CEz?DKMW&bV zZJFbQS7c5UzB4mW_^!-o;d?R@gzwFqDZC;xM|frC65$6j|BJml57(*s|Hr@9UVE>- z-AR%nQ-=;AB$2T?>L!(tnPf_mDM`rG$vl*?WOm3LLZ(CxDMO}8h0rlYh7e_l{9bGA zdq3AYpZBNl_4(s>eXj5C`nBHI-FduUUVGnb?|aXC?X};BS9;UoRo*;!wYL`j)Y}Jt z<{g1Q_m0Esz4PSoUO*mKZB}oi8``NXkE`C@6ZXZI$5pFu*nf2%SG~I@S0d*Cxmd#b z{C9-9)|XfJ?^i{~^SOH{=UFnnds>gDrRCSP^XvGagw-L>2bSlPQ(1m@H;w0W9Z%BZ z|4zq~-0c)UWyRI6ov!{vO_?bWV{$|35lD zS60W*;XSFJGUZ3dDk?`Ed)(}+##uZ%{nF!%_8lrG+Ey!HNzDJ`go{vplG$c&;rDJ( znVd#eo17X6XCv;FcL5LTZrZ4NV(%j=HCubq2yyZuwIe$-)E09xFZh)VV=Gxuk z(wxgbA@?IEE`NrrNz;b8x-{qMHKgw7ndT$CuT4r?$5o;CkV?~j;~AL;@tX1;_*rSr z@-Mi(%!2dKj+Q&g?1*=kcf+sBl5iLKH2k`(2X~V# z;Wwl?Pwy_xyN7znfyjANnse&jaslFfp z!{tHbjF1=LcVsr&=7-D7NSO_w%Tn+MvMM}L)`BO?rtmcR0z6%scN@*LJWCEn z&V0EDUL;q;^W|E2k^CH9EH}X)%WvQ%@&|aS{0Uwn55Y_25qO0>4lkAF9Z4(X1uK3H zULkM5E2TL%UnR37_6&4SL>7S8$a~?nvM9VxR)9a3Prxf=b$Ej`=h_>kd5_W;vN>`# z$(P};WN&zjoB(f=GvMuV7QEB)F1ZTv-EtHBtvn9zktgBr&g$=hZ}pGB z+59u`ZN52o&hFnt{B}Pp&OPt&?|^gqx#2tgLU1ns0r+meGMvYM6wc>A0q6J4`Sm@1 zeZ-UemT*D8Bb@B_gzxp=f|LD0aAAKqe4jraF6z&Oi~Eb=V*XONxW5W6;je{D`CH*K zzBy+v=kGzhynh(3;Gcyn`d8t~{&l#DFLBQMh@TyP)Xxt;<`;ug{Bm$r|8e+nzcw8A z8^TZejo})8Yq+N06|UtEhU@t6!*%^ha6SJcxW4}>+`#_|Zs>mtH}cJOfX4nQ#GCl$ ze7~u0&hel3&3Sz@KM&5GU+{~-&3$u@-@>nmcx&IB@4x6ji+CHq3H*}(65Q4|=lC!C zeGzZx4})Lv--p}#GvE&XBDkafDcs5b67KAO1HbAYguD2^!ms&%z+HWwIEkWXYW!Q_ zZoYYc(;I$a#Jl?s!aaO*eW0iR6yk6C4d7mWE4a7c3GU;Y^Zma5AjDJsp>TiyU3j2B z2_E35!2|s{@F0H?Jj7oE5B4{}L;TI~P=7l-+}{fi^M8Uz_=n+l{NLb_{v~*fe-$3* zXHA@}(!2KjyzoRn3I4z@4o~#U!jt?Ic(VU2Jk@UkPw`vAQ~kE^G`|C!=J$YS_ygb% z{Za5te=I!Pp8(JGr@{;Tnea#c$M7P5IlS2a6#m%%0$%EGftUF^;7|O0@JjzUyuv>N zuk?S1SNWIW)qd2-iH?{2K%InBiL-Tn1$eFh7`)D}2Cw&@hClb8gV+0w;EjGWc!U2U zywPtDZ}MM-zwo=moBTfTSN_}ZW`8ie#s2{Q+Mfk)^*@5Y_Lsuj{gv=ee*s*?`}e>H{37rnzbJgzF9#p>tHQ_q zIDEo?8b0aQhEMyg;a~lB@M*s@e8ztR{>|?TpZ8PY-~D&ti~dCT4}S`L*`Ent@#n&S z`Jcg8{SEM6{$}{5e*ose5!eY%z+P|>7Qt263vR+PkcoyYbWbYC2FHTzaMmC{oIOZ_ zvjs)r>_I6wNAM7Qd+;!PXHW&cE2s+R3Z8^>2Q}e5K}$G)&>qecyb9+Jy1@m4f$%-S zXgDc&A1)LufC~nT;6lN2IDfDPP7YN6ma4>Ak>D%1aIh0D66}GC2K(Uqf&*~r;0XLs zZ~}fXI0ruzT!qUA(Zx9G7bVD@xR@Acj|7F`$AS`Y^`JETOppTC44#H-1-0QiL4EkS zpgCMOcoD82bb=cMJ>Z5xAGmSwHryl_3_l-?fSUyq;O4<>xJ9rGZXK+FU$p#^<(GrC z$Y~dR1-B2rgI@{u!|j6%xMOe}?hu@WI|skPU4x5ow?HHsJjK}?!EJE&ARpW#CNyqQeXJr?)lVsxZhR%tu z6J}7Zx;7YI1AjJCPIMhi<*4gRVNUx@InlKvm7}iVggJvVqmU(d$Ge6afsn{ZFqN7IB0)Ngab)oFR2d~X=vLXD4?B>W;ZnEUVgAG@87!?z}K zTGKe}@!Rj*@e7CJEJqiDchXIUs6NrKs(Sx4tR4TiFJyN+ZlRLAlgPn>zc}m`Xx^Llry`}y_#*q z{7DZpHsxhA>}Lsg&Cl7~j$wQUHSC_)$>gj`_!ep;ZEqXDOT@iXnd>%}z9XvJyw{A2 z(GF6@i#^Vm-Ir!mXH|c@&b?m`^Us~8KKXito?M)cD-u4oD|3D9?eK*}PJL>SJ*l^; z!z|18wAjN&<5%^`N&Ef&3W+i^@wY%CUhFH*iY7d(2|Xi9`;PxEzYOK1CWige@*kF; z9IbNH5e3~(*M2rJ1oc~-P#+yf81aAV&v5E^)t_NemO}j*eo0PByglVd?ML;9PG~=_ zea&(|q2mL{Md-aAU8oLIwBKai$V;_*v7Y1| z+QV2M@-gk{ZUriFIy$`)lAO*s9h0h}`c=CR{)*Lxzh=Yl|76fd4Xa8reO@BZq5NceW6gw<(eL=J{vDT5JdNJN zVt&UxdN}nT)!$m;_7{1N&X3~R5?QLhHPv=SmH+x4ma<`(;)hr@@_JqWZ2t^J*z z7L}&zNvk{CtLu4;U7~ubc$^(me{`W|c%!C#6#o@{W76}ytRQmEP|u)I{#o`Me2#U7 z&tscH&+1zJ7G7bWAm=Ju2VY~GVUK?UOTHiW`DHi@cN6nJPH+0j2H(na!P)rzaCUB< z%eaF-j(ASq6uy(2XD)K{w-LXan>HJH`CP>Far69XlGPVeL4E`|g{}VIidg+G6}9?j zE5=Q~7WeaJPB@WqR-Cth@8_?;C3$DK6z>C<=F{K@`9ioX-wIde-@z5RX$w)A|B84O zehGerUxq958*mkFo>QpIqeftHmcmW@hpIfUT9K&4Sv8&nSLbEnYP=HsB(DrtN9W_z|0@3$IWKb4 z{-HI$g!oI`Je%+`H_s!q)|)~*Kj|+6YjxED9=BKq+R#NXnkZ9^(I?HT&>I}#ha zI2*{#^94ireTWa`55VtQ9>uF7KAf9p3P$m#5FgF!z+?Dp@Mzu*9>aUWqj@iQ4DSn% z2v6sa!fE^ocqVTOf5^@A4zu_O z#OGL^%NHX)pYMSe@I&xN{5-sn-+({nIT8mqakhl#gO~9K;ZL|}^RR-~L3|Z&3$Ny{ z!)y3p_%l8l{+!Q-H}P%om;76J6Q?^QiTVE}KLBs#$KY+ew%(hn`TsS41>VlP!(Z|@ z;qAN^{3SPS26pn1i0|Sv;P3fD_y@ik-p5UQ{)61K)!)w#A?F}J31@KA2H-F^Z2*q) zs1Yi)LFF;JKOPTfs~I$G zwEa|8+r0uhe<)X*&j-n=Y#84{$6b%;_;9Wkjc2q+=p6dLx(?B{B7^?FS`M4&VZY$3 ztz)(|iQh=&MDtcTN1_cta>8wC*kpPFIr!ZTx|7qC>EBd|v-6l1)!$ke4daQ`lydBT z*v_MGHx*BOl^##xwy@66o*0qpw=EZZnHPnx@CV_mRv&}ct^NaVSbYYrb;coooih*q z+%d;m8>~KvHaZuPLw(UCrcCukL#Nle(DLj&0dKeZF5BU>Lwu*x4c_Gph4(lU;2)jO z;JsF#V?Q}35kKJEfHRzXalCQZc@REk_3`zK(+lwv&Jg&dWBQx@)tQC(DQ6XY+Sve~ zarVGxo#XItR=->4oM_>r<-y5`efPm%hgbpU6sCRVonkBExx`-hZgCpUEB=P_iCeG_ z%`Z$_$^yb1Z`>m)Aty=1;ew(OTu8Kn?-k})B3bl9ys$9G21Udq#EXhWa4})pM&2*J zLA-?650?_>;0HuDwc(=@XAg>^@I#^kTu!us%ZrI{WntPPRuQHx;v>SeKYUbNLH-jW zz`pEBaX(x`l!c!Wjo@d+0JyIB7_KMQ!VQGkKQKSr=2;lw}boM_q3pkOSq>}e-4P7E!dZB7N#GDEg~P{TSakrn=pOF?-JD!-yv$lyM*e8N|iXL|gi1=|~u2Gy6rf-B(A~*JTXGA{u zyoma@jI)cPKH`4}voHQrn0@h8(Gxk>M1S~(7z+O_#=@>U0ruSKuyp6czWWIrxa;6s zT(cj~>K;Hmn|mI<&AkTaaIeF6xDxxmyW9ZI<>r9%xH;jxR^JE(+$6;Baf`!++!FA; zR^JFk+zN;nbItP_x47ncjZ&_;7V&^v6DyHnuuuDM20!8OMKmEG;g zsp6Vz4v)CznTr(n405Wv=J|`b)dxZ~H-`Oe4L3XdlxzArsOcsn{;XRHuH%-4pK~82 ztNWw_X?$?pwYy-C`+}LdiH?{ghXyTgd6;0j#$a%pX z3O9GB!mZp{aBFul{F1vIZtI#p6JB<|LcG1Z9q!=nfjheg;8)!vaCg@{$I-(z*DHFt zE{-dDyXF|CpPLi$x7-47e>WK(;F{|agI)7{#}L( z{GQtpp5S(aKX7}%6Wq7qiSA%{iu(>c)g2F~xl`a7?i_fQyAYo3(o;UV#MwO8JTo%i zJ%ac`*IW--i zyva4!Rlal^BfiCL32$}V!Q0&~@D8^ZyxUEMzj24dd)(3R_wFQkubT$%a~Hq|+$Hcq zcQu^hro)HbZSXO7H+DtAi&*_X+~-|GytvgD#QmPSj-(204?XiN$pc;< z#LIX|@Izj4_+hU!T;8h$SMpNe%HGrPV_qFN#WT;CJmIxOJZ|+J@ub%U@fu!F_!%!1 zuIUYhYkQ;NI^G1ho|gvK_vXQkyd`jBZ#De9mku}cw!qZq2Heuy3%_XfS<%Mov*Km% zJaXE3SKtobb-1JF;&}d5FMzvP{Zzc}c?)l=sw;j%r=>O&*V>c3)!w*Waay)E!8?*Kg8y9O`t z+{B4ZoGtXS!Hc{*$l>+a*}6-xBXoY0%4Q4I*ThAAo)umdx{-*hekx*K2{FIwGgk)u$z zZ+P#+e|ytmM{b0L+ztow9Gpd7fp3+0asHJ}7KZPTHQ=1GE_|0X_qB7$mk_^Oz6$4& z@4$JbIUmd~&Gp*?axroWN^@>_uQdJd6_$sPQ$!wti^>adacS;x-!IL*>=M$)`BX`1 zuJM+Vxe$LqCc_WP``|LtT>C96t0G=b)`B0FQ4h^=RzaHc&5F{TV^)^t+HVzU&MP04 z=3MeI`7y?sB3Hpr$hB}axfQN1_rp)hV{i@Y`TeKl4aA?8S=?|Tj)r?kQKoz2v8GZ)wi;`pEAP?<=F;XyUA& zJdOBU@-qCk6gVFlDDQ+vSkLUgBMTz_t~7nw*|!|%zO@cXg} zJYK#8Pn7N8Nz(MWH%*R2e7c+f&ycI(S#l#hTkeEs$=&d5>-qh;(%iG2Cr=<}zEtOH zkJ65%2wU!@(RI<6v{!f;WVQCBhpUkOZwCGM_r$Qt36G@wWcIO4&K~VUKTc$*edUtq zwm*59yjzbYjGKMvGMQw>3&Trgad??D?ZiHjrtQ{pY4)w3$VSLtE=?anD`YDx-WpyZ zUxru8Uhpb83|=YCy~tIPZWZf7#|F~$7qm)Fv*I7ZpURc+8u=yssoVvxkx@%JI)0G* ztoVL-oz;)fT6xTh{|0|<^&Pa{>M!VXc{}!Z>*ZZ=x-@+Pub1W>3hB~ZEB->3MgB&s zf1xjA9Pv%^DfkOn58foBJLlAwsWkigP13Yo{8GM%{I8^WKh$Qcuc5ExDCBIG@4?&T zM0m5D1aFh(cwnp52hldU7&%|d)$n$?8U9*+18+h{Th<3|65&zcek7$ofM*MqO3jV?BgXnu%){0kz_sN>@UfBTNCrul?1G0@3 zH+>fUBu$^g2V@`Q9F%Xv2V{TvpfvZX4@q;M`e!*GIfvvY@XvBJoFUi2Kg-YI4EY6o z*y``-h&1=I56g4NIbt3E9J7vpj?3u!x!OjlzJ-_SZPaO5`VKGnf}F-qOSN&^t$ju& zPE%+bb=KN;otKHrCltRB-BKg}CKIPSI({qG!QW+0_@c}WU$VAue@Im)Rn$0(gd|^< zCE+VFdd`jB3nL#x{F6ccuyl$=C4&%+M}2>F`Z$x- zcKe3xN%MsMFV!Jxy`;?i#BP)Pw=~np{5w=Kl{n-6ogvAtUjr8YGqCgZu>AJ({sMc3ep; z%rC56K@VF-yOMS_%k?a`wcOA0yV{lYuyZYM(5|B6yDeu}K4)3I@G6PDr1SG?KcQVl zo0du{RV_cKT}{VdwETv4xOX3>-A?DEX@_gV3hfjf-(vZI7@q4vvX+N!9Tf3>{_LfIkPP4p3 zyN(`qqvh``AGI8tsp{~Y&d+W65zEh7Zl)c+QKN%)Jw0qM?fTk7Eq`Enj^&k>ztj%5 zj0dzE>hYY`4v%8}4^=%w7u0U7bK;hpX*bdF4widb9%Ol(c2k`{!}4Ow>6Uj|K4AH* zWoMSEXE@Fr+Ry9p7u9a2UBU8`mg{T3pmW+zR>_JrqsYV1XGdcgoXX^Xs? zaw4m}Rk&sU_j&w{G%p^>p82`RUueFmxGFa-N6$Q}wtvyHrRSc{{QP^AqlW$Wd3?q` zUYmK|M)OV0pXfQN+%I1E~%p$@K15U5Dw~ zFIdl*hsXJ9SbE>9wG6yS%TrkB-LLd-kzcWX)Aot02x{0))-&CmS$E`jV!h$c>}~i} zHkQ1Q>XSlsQ_JBxaw?rKoV=;=MlCJ)fC>iuu4XcWpUb-a5ex>|m>SZA5 zu4sC@>*-YwHl}&2QPVYoKKUp=nGItLX}TWJ(=yCjmWC&?)%+h} zP2;;Pf8t-_Y$OY>x~ZJei7Qgd@6nnR7J4^*;;M#M&?u<41v>Q4rJW-3ro)2>`kPx~BJCzltr*V8^n zPkVRmxz_YjAW^72Ka0T&t>1SMy9@Ef*8EvYTg|Z0y)(Ua98RO7HZVFkO?y82Mo3TO zsy`X@iH22mu1cQ;l%LF2v-haZpOMqZ0mW5O{Z~YV+PYZl{%6+uzLwpaNTPdH*7o*u zMu*0_#A$6P1#i$-YB%e8u4YamuIi(<$=~VvY-Zb0pUqZ%wj{Du-L_iw*=E(}YpXun zt@`Y+>a)wL&u*(eoByLe$8>#;GB-E%cS%lTM|FMvPS~uc$E>=Yu3Mx-dUqEdxjOJc*uf6%^mpU&W7O zo1dN-pZb$QpGOp^sQIs)gT|B0F0(jI@5z2@dM{hkaz&-;LiZr7_%&-eUKqbzyM7u0F-X; z4|C>Q+r0&rKhjs+)iny0e+v0A9$tx8Uzw&HoYS%35M+-ihW=)Jc*Z%A@}ZhrTBxcWX-;w*{ZACg>%*MO6G zL%6WzWZu+@HzSAd>$#n)`CLOU8+Yh=SYJD*p2im1ck21sQ9HU5%xH}@C4(4!ud1WE zLe`V=lUYgL_--#4PfjD7->a1Mdp%^u%UScJJTFS)Q6tj7VpVhGG>OYB+L4Ro%sEeAP%GoGCnZ3sI<%!n2*Q|N&u@Asn^G9c-#gmc4vezCcO1T#jy-sIcOu*-)TVKk)^(V~ms1@cC)3e`wVY43>NCZv z5A|hXO^ce|+Il>*_%V!UmNlN))_CSvDHt??|e#`6h& zYt;vZ+Lo#kXP;Ql@~^O-*-j$&i$=#7st(FCbse_y zE~vv+U5D^JYg?^4Y_saH!>Yqhs}8%YI(+>h8s;45k0XA<+NYf4H4#5$ZClP* z`ztj9op?T|*RU?8F_JdxwbCXlqUarp3ibXzm^JYbzvrlgW;|V)7Z0&^AezPgL z2;0v~&@~GBzyGmqRNt$LTHa34rz7Pjvs;{Z@AK}|wxe#jtor1(oXe_P zZmVv2th(iP)H<#T9rHM5J*$%R z#~HPDQsXb;NQ|eLW47nT9kV^Z-?@tf%RAv+U-ez(obb-7 za(U+kzNu)+^YYRjycAt;h25mQ;r(1D)de| zM{Vm=iL;u{gCWVatlzqhRsZ@{{p(uwuW!}A!GF|$nXdoy&K|0NIysF!Z`D6)(XQ&y z!cpsjDsk4#nwAz$mN2a2F}Q_uEBu0!18!mcUag#HKS6 zPj|k6KXf+1b1Z-8Y_Z}y;E$XPc#d-zUgZ1^FLAEGi=DsVCC*KFnbqIUa>w*xxWWm~ zLe#un?U?68);PI2W8Olw47AhBTTXH+Ywyrz`(}O}kDj_W+u>3={w|iubo%~i{%4TY zdZzu&Fn#LkaenVKqj84sqWxZvGdw@~!P@>uy%MPU@3qFiPp{YE`)9w;G=8-mZmq|E z&>4vFAJpT2o#JWikRE^Egw3`w>b+5YSB5o>hxL35zw2P8?^4^$A^N+HJ4^6g$Mvuu z=<)wzP0I;uUY)e2T1i-F~yidBIu+ez&&y7aemfcfs2J zU((ya@HaZ^sKqe6hI7t|Mw(8ssALe-@286Tt3IoA-7Y)VG3}Ri-NNPMvNi2jqEXVk zy=rX_uUXsYzw|ymoX?l_d+ikklunA4pPTx7_v(3mQ-ANVgw^kR zK4CK-a4CrD!$oe&Q6Xud9LOH6?@tZK$ zcCv|kDHhf(i%ySgNr8)_3KzzAL}=T?MS~x<{z(hAMQO zN|X#qE-2LXjc^+CX8Knt9lzv2CeHhP>tQ5{lPTPzRhDlt(q=x;Qv zs=u1IXLbF1isVAkIaKuYp!)ZI*1Fcq`W<^)b?c|sI~o<`zhy0}Zwqr?oNE21Z;R?G znM#}u5o(*D3f-Twe#du2+b~S=QKBn6M)ZcqiZSpwF$aEMtcAymZ{g|UApD^?1huKhmedJTtOJEJglj zVm-W89EaD5Q}E{^y08^z>&0z}C7SL%iE{7;Vftj=D4s+73(*qZB%-x}o>3Bg5&uf0 z!JEZwc#BvEZxwstZQ=m@wKxoK7gyn(!aRSvOXP8*`T31_5dKy?27f1>hWCit@DJi8 z_($82eo%Y@9}p|ygCZS1B))_*#6kG5I1V2XC*Wh^27Fw2UNl|5 zhyXq%ZimkZ^K9vFqBP>?tUe5fiRy@7(EStMplwAedsC?Ef!P@TtKJ};<2P9v*hfF=o>ebe>CFQ=CIo7j)jv5ISs4P3Wi zIJuM~UA50ug`S0R)%9LgRNU-eeD~onOz|vk3LJCIek7~=3gX$^*ArIte}g{lb^Y&j zlZ!_8o$qv2{Z)yxyWCL9xmVv&f}WnuKcdKrc}UH+sytn{uCNEn)vj@ zaOzJ6eWH9-AGNO>qw8~@+mh-tQ_sWubbVH67md1tpzkea)vW}^A7>?9N#ju^&K_{h z@l|PSK0m1IyiM1wxE{~<2`4rQEM1Qw{7(k`iLSS(dMY2I{A5<%?L+kp?|qlI=3CSY zn5si%t3DO2oXV~_9(&B1t}52NO>uM5cd0^ckld&abX~|b$BNZlbL{b?UIsSLQ}evM zp03~ZbX9Z{o8JGJt`t4?@EG9ngxk>H&uO}%cG~IW>ogt}S60^w)o-Or4f>=iP*MA~ zR0S&U&?i-a%4hURRiJW_KB)>+N>im$wf=o?+Q!6uu-k3^+fMu6cG{Vi2U^k9a#E4@ zJ7Z}jR31|@a~tw`iFjHTY7avj*J!z#Q7QChI?=M*rQ7YO?Y8SJE1O~Me7io~t(-BI z?eW;-|F@lXxRTrR#Gar3w$uK%o%a82?X;bb)v>{YdcS`sIgPB24+|!2j&Ic!y|7T5 z97dZcUE*}5&m8AeWVc%Jd~ii}4_t|vW8lZFc6X03a~%Z$47iAfO=hiF8=6<^ z$Z2FXuT+V%7ei>bWwdM3B~C|-_gSXhTO$6t)sD9(+KC4Qum$&GRaA8q(TMoa)R={1UHEWd9pIVYe9zZQI8JjjjEqiVB zJlxSgbadX7p2$^yGU#(bfr^@k%3tewIDs`T?ginxHo=;Q6IH4%aq0}f%)@Ecay8j% z3p&kOuBPknPy@%=3~O1MX+6I%3(LQHFJ6!Et0;c~8wF3J7Smx-@yYNsHVs}xzkOKf zx)7TMFJT+tW$Y{X6KftWqc^{Wg{}*+eeiO20A8WnOQ`=#_W|iGYSI0UNqSj5Nb@j7 zx5lP+@(HVRpBvhf_3si}qH?C_r z$jtrOOU(4+cbQtJM)_A+VfeE3j>48Lt?%!VQ`y)0 z`3_Z~boHM^$)LYqB*vqbG39lXPy1P(ucQ}zOQ!v-ZtL}P!e*aRCNZR1{vYDz`o_cD z>}x7nZSX4dqKWUNdluYWJ9>oIMEo({3a-l4*7`JkFYQD1Wzlebc@XXWRGrmwbw$^? zCLc<54!2h|b)D6y==me7p0%uaeX9*~LtaQFQ=xqsFCCKH*lK&$l&k%VDyki9{gC7r z_zQ4L-V$!jd%$4{KU_ zS?xmm@;mWesn&G$x8`}O)uy*UFM<34R-4{I*7OeMYTp{p|L%I8m#6xqP<_;LRZY7m zrX@WwKJ_PqK5AH1)NfRsK6Ugoj^*`f8k_6s8f*O)s2(6Hg} zJJ%X^o;B=8+@pL|s2^{u4dh4M9Pcf(=EEYZo#A4uZQ*iWEgTJvX9bUrs_4C_)^GhO z?}VH+{8e)J`_9$#B%D9`7ta5+pT3_yR{7Lz&Pps z4%Ra8oz*sYKfjm8sY;w3u$JdTR@>kMR-5fZR-5e%9uEhlVUKdN|2<+Y&qsM51bzVgAG*(Erkyw>* zcFI>J&hE9Qv53xz;wGnvbBE4W`9-bv8%3NXD{hwOVoqVii#w&@lFk!wX~%4<%Qy|J z`15cXt8L*!PCLZQI;#R6&Ly2Q z^gI4ZrgKSa*^7DvR=-6($D@2z;;gRq8`ZPg(AIYfhAEWOz-pWNyfx38IBNM(h4!0{ zISy>*sBNYyDxRvP+{_sSzu=hp+)Q=rrVH(Joiw<)GaG)vSqV3HK7(62>2P!B8@Q!o zwiT_MpR9PaF2`9b=K|ub9d(?qii-P*EwO6S0DseVFF-GMytG(iMtL<)@V~&wNbaI7*QvPhK-RwN4 zCgSs*y6{JOd47<-H-+k;zU=XY6O*pD`Hd+49L1B_5+{}FtOlpH2Ugvd>h(8_f8yj- zpb}@xodO}r%bcR{C)W0DxkH!Cb&0c;P6c?mwJ%ud)Ixl=V@2k#dRcS+?er3%)zEpB+ znujW`Ot%qmZK;Ne(MOf8^hs5qqPD-O3RKiOpQ=FRB7IU7sQiEB9$$N!_EcSCdT0IJ z;k}RSb!pq3u==M@6aKefCUb9SLW$5-XsxULpow>~9NqUBLOY&+x|fu_OgQYn{W6(( z7|q*%@AsK`a;@@z?_cRc_{PNg8_*^G$W<-d@xE5vUM9y`@nx2GTRvm?7CPZp-&KWn ziuQO4CgQ3}|K9JT`}oP3=g+6j!}(T+wjcIUaXEyD4neae}A z@2qCqFh1#F#-_X+TIGM1aM%2t&FvV*ca&pnVkeWcD&br5{g=8W;vVf>?YhmS?}(PS zd9N84qn)LS7kiwZ*P!o+a-uq``q*{u{d$;l?le6+NEZN9{^a6}{gm*rU771+-#fmL z$f-~3$E4ooyJlIo=d(R*G=5c|f9jX%u@&lh#%EY*dY-WsIaMW7>8~ALA)T&s*6=P3 zWw2ShhBLj93{Gk{a(H7IWLc@k)6RL3TuQsQbBdsMfxDx5H_n(U#3&G~P2S5E-_hx#T$ z`!QNfnMa>$dYr@Dp)^jF7iUpxNad-n%26fGW?F5`hPk(gVTzBj+Qm(E3n4z!HOHCr zU2`72(ly7Ht6W-SbfJ43ZcX@8w;`PFwuCphw7Ba+&pW%cSSL*Ho`ZL}J>YNL!SEh; z7JR{74DWGQ!x!Ao;7jfX_@cWRzU1zJ|8Qwh)g{iZxclI%man+yt@xkt755r^)nz!x z`O6L98*cRM74;M1ntK7>Y~Bpy1l}Szo3|7WJax@q6}m3u zZGf|To8f|%3whsL@x5>%?+{$nGv|8ud%q!G%DV!W_RRTR885pN)uEi16Rzx)fvb3r z!jF0{!;g8U?ewGGYgW7mT-AFMe!?3L$Gx%eliqu9EpG-~+xrN9&RYRD^tQr{yzk&9 z-afdgXWC}B^3EXM+Pez3^8SKbd(j0!dN$MZ)rA`>bT8O5?*erN3+XfF~8SrrSEBr3I1dpN?#8Dl_u-oAeSZ;VCyAPhu%=>NA zXv-Q6JB!tXXS3(vIqYS49(xV`i1maQvi|U5HWdDtjfI!73GgTEBX|Wf@4a0~Tezq` ztJxO#Q+5R2#7@FrvTN{W7HzoWYzxbp*odqCpbEg-STg)Idl=r%s=zy#d2i89Rv+YqVXK0H^N0e#D0Q*W>?`17Bwzc z_kRN!+T!x!>l~(3w5U;{zqTvYjQOUEyah?}`iYLKO@*?n4{C@aJUJ`zaKLkI+ z>%h-iuEkp-UYoxL*W!KQ=Xig(E*}ini#=F8j_%OIP9}TDS#qa>W8y?Iv;DP)!JedCh zkLH)*G2Fac^L?HtapRx*GvvweBwh-h!)wCxc{_L>?*Px|Z@>$APk1r!4=>^G!^`*- z_!GVoUdPwMEBPjP72gT3=6m5!`4RXteg`QYDp5%>}>0bk?~z?XPM_)q>6 zESx&9>okR>(+3Wm!Ejb*6r9bO0%v#Tz&V^H@SV;YIG>Xa7jV9VlbpS9LFX4Z**OCj zasGshIMW#DE` z1-OON3~uYRf!jDQ!)=|{;C9Yia7Sk#+`$MVu3IqTsb z&L;RxXD8g-IRf`_uETvDFL9C|XQ@tBxWAJf9_ZwR2Ro(UAx?RCm{SEF;WUBYby~us zo!8-UPEYuKr$79GGYX#I%!emB3*jlwa(J4v1)lBfhUYr_;rY%9c!3i&{Gw-domk=m z1hu_%vcpTAvhZ@J3cSjB8eZ+xhF3Wa;MGo3_*16^{F&1MUhDLPH#jTdjm~HA24_9I z(b)uVa<;->IzPZ$ot!zMWq7+&0N&{&!@Hbv@Hb8k_&cW_yx(aIA8_7=4?6F{8O~Pt zh_eem>KuiSJ2&7HPV@kIoSkxlJED4?ak9Z@okH+A=VADQQw6@}#Nq4C)9?+a34GJ( z0CO=87Ge|ZiCwTS_P~KS0cR06;T$4*uu%08ac9n`{&$K3a2}Bi7ZMfW!r~{mlnCyO zhJ8Rh2bUGY;d0^wxT07KR}$OdisC5znD_%u5&7XskKUGwR-xed`{^EOhfGChR${!@!!GpzYc!*d74;RHi%yEyJ9swQv3mr5)bE(@<)sA@EEZY9xMKU$BBmvMEUQFp73}v44xq7 z!IQ;Fc#60RPZPQCiN-TaG=^u3m*KhMO?bX|3tk}R!VAS7c(FJOFA;81H2!5GfIks= z;Z>plS>4kgNU3w`;~G~M6<3A&#K=-INt66$ma=faELGq)v($k5WvK-Z%2Ed&lI2Bs zXqN8qkSu-Rp;`LF!?KKlM`W1=znf(h{C<|T@Xah=!5?JV3E#}J2WGK-up2u7XNet$ zv&MddZ;ky9-yXXH-x14Jkm(X?dl)Vks{)sgJqlNd zJqDMLRf8+Uo`EaH8p4%h&EZP1mT=`*TexbhBU~-k53U}Y3O^b92re624ws3oh0Dd( z!%xOG!ewJy;Bv8@aQWD7xI*k3xP0tKxI*k8Tq$-Et{giLSBm`(SB_nQtHl0>pRrsk z<`;^7ulljPaD&)=aI;tm_=Q+0_{CT`xJ|4Q+#yy4?ihOtel6Az?iyCeyT^vY zJ!1>tH)BiTp0QQ%o3YQ~-m$H4pV*IZzt~CmEzA94r>*!|a;yEdib-kXDOb-_Mo2x6`w_) z=XL%SH=z7>I_E0x)2W<&^id^)K5ucQ(CS`HKb_xGKNFGX-N?PrkH_3%yo)%QN5 z+Z$6z=S0`9RF1mt6!xd|hVC0A%8B-;Do5>4!<_D!a_UfAl??i*{cM=iBU8=t)78<+S%#cGnZ^_C-_>~3{yiK| zzf3vNzFy_1eSMgdnklD7VqdRv)GN+HVAY2XUf@Y<)~wZFlRufoTS9D zf%>kt$QhI=CpyMZIqDcA9M6zUInnWk%DIM|;hA!x;}DgjjzhxnjL4KzC2{Pba@6rj znDb7ioIX~LI&KMb-p!N~9nYxosNsDpO7cimQ@AA9ef_=8Vpi z)6>dP$3p zoap#UE$z<~Hg=qO(t=a~x6MY(aL3F=Qnf{rMd7|Ezls8!YgMA^AR00+1 zhtulMZJX6^+t;FAm_j)_tiIZIitdPS5O2cYSpBx`6(bSfr~7SF|2NL|i%Il1Y+L@h zp5D1s|5WOe>Yw^8pOF}knqKAIdU`WNQsb!a^bFk}QP^*JhVH{n4MO*Z5_bock6Hb; z9Tx>v0+l%XMHHjIzvwy~`Nukx(%EW0hy62O(sei^>QEg9(1fP3GrA5cjh;8LzW2B2 zRu#q1=|1JcJ^;@kM~zdRmWfZ*`2Q5`FkOFI)Agq{U6(OzoL#e~>o04%uIuT_MdM6m zSN_M-b)T+-<4(YIIaYr@!d26!it4XPh9rB@skWX!YFf(b@nm(EU|O>3@r1uoRyT1e zmxjI78fSK^zo6S)^Bd*R{X~VoQ8xFVmXrVb8`al!$n9oeT5?;{a<}!pd8}#4`ybQN zNsp(Xdj;busK?Wv;`DrqH7)mA<1AuLOHqtd_32a+^R2km9_D_xGQ~&II8#~jKTcyx zV%TK*t2|ZL?LoIflV~}7(5hP*t8Ncjbt`L4Z#lHvQR7sfPxLq+ahuUNA77xR@eymj zJ!*~TF&wL?;XL|$LBl4oPCDls?P?Td?11H8Enl)M)~I2_{5ve)Yq^Bw%G%ZS_-k5z z-g0}(y)D0Ed9HR1J)TdspVHnzF3M`M64bZkPYIVM|EhDI)j6@xRGr)F>CLU(1@os3 zWwcVi%iUp{^ETxBC`ZMWE7IR8dMy9{=ws^Nw&mfEZMRE|+CTrF+Lr&n)lZS#HgZ5Y z(|*!!=NYwQS2eZs?K+pDWw?K0xwUhiu;MRR?rB*KHZw8o|HM&!hP?XE_4(gySO0(8 zdyU7?yiHBK#c-kaLwfFR)-J1kM4NtaDt~J~tet1A8n(Rl!`c(HyJ*u%FqNU&n(X8{ z)vonAD@*NT#plX5SOszc?Y~(S@}t^!@)YuO+IR6dxute4UW43)oXTo(HP#{IBzotR z@_UwN>YVUBQ=jX2L!Glz$5l4Hi*3ECLpPq zuvmM6lhR8D-)ol<=>ueNOnZ$;c~=IpbT!UC9$O@XyU9r`YG_&y-C;j{BJ)Kv8ZymP58A;=5=jDBChIYukVMf z_&+_fV8{P`enHK_%$f>kksPfVm z%BFVFc1AtRW1?pJ(}(hlumV9x+IEfCz9;BHUZ$NCbR%ygC$kZOI(AjxL4APhzoDlF z>YQ#rbq%}?ypH51FM|z$e9|@CPx=~)*z?=PY+VynZeWWoS-E&ctvm&UKyN(R|he@ zr&9B0O>ir`F316=2d3|!^+7%>UIgA46otPCD!^X`kHcGnXW`vJQ+P+v0^S|G1b-Vu zy}ZQPcR?S-_Xb1ZeSzu!{HI_w;s=6s_+YRFJ{0VNe-1L>jNlLWaBv;Y2%?vEP#++H z=Y%tk-eVHn1|JPfoBv;eJcyqN?uSnY>iKR}=)JK)dH8hj2z)MxdL5u^GC^Z2-V#0^ zyaZngvb)hZF9uQ1&~bJt$cOkJfoVg2Ixzi^{}DuI*l~6`sEGWtfoWTQE~th0`JgF$ z#q#xF6yhw)EON9?m1!QWcO%(O1GG&)|tH9UjlVfInb6;EC)6pu`=*fRuN8PPrx%-4R{9Y3eRMH;5lp{JeRG8=dq3Oe6|^0 zz`lb&Vh7;$}oorD*&9DX!iAG1R6GFBA+n3?w8OIS0+m$8=cQZ^i3#-_n5SQ@;X z?SxmcJ@5(^b=aZaZ5_T*LoG9_See9@UiC*;6JEnq8*kMw?m(*gnO4#AIgbyec(mM_ z_*$mos?arOHVyug&4V}77B|XCXRF~2>|1yvZ7rglt(NI|hb*Q(eOjCPqSvIs=KFo4j zejGl+o`jFH8t_rp9X`qWz$e%O_*b?BKEd|GC)ru}6f;9OFIVTlh>k#+Spla??IJJ2&lNEt8XDmO>*I4oG@UwgmT$BF|Kg(}H``FstwC{bES3;AXrH+?0=m zpXX`t3w#0Gf-iwz;QQg`{21JlpMjh6yU z!7uW8a4Y^T+?pSQ+we1RYkt?A(Qo%6Pl8|KMd3EQF8mU23%|^J!LRUCxE)^rzrsI< zJMeGePJA!ifkz#g(Q~^zkGdgBh2Ha8I5F_u$*$p8Pc2i{F6z z@Tju@^|!2S4pa3B6T+?Q{G-{QOBzWf^8kGpg) zPL()Iuu5c=U2kvhr zS$|$CPgKtVycRr&*M|r2e(*p(5gyE^zytYL@F2b$9>Sw`M{zcYN1cVm*;#c7@{5m{}7fH1Fp+4n!Rd_6q!=rg;cnlu~ zkK^yaW4URMJ&u2a`1^bhJdXbjzsK(`5Y312JRkfXuMWS@Tf!e$9?yqc@!9Z19<@7) zvk&;Uh)>{W;Ys{FJb~xAC#u6lUJjnjE5H+ZYj_gx3s2#x@Fczfp3J|5r}8cEWd1um zg=bBQzIU4CDg0r?r}F3E>AXHXmG^_E@riI6p8`+gU%}J)VR!~V22bavjdU6}?Vo3I z)BZV)n|8}H_-h53E^+oD?*`A{)8LtWH9X7mOnwCM5BUvvHfM#*IE%xxcr|zquK~~E zUE$e$I6RlX1JC9w;W_*eJdbC~YAThd`#q)dTWjsJ z*IAQ#e$V&+{Qlqn^Z)*4dmW$mth4q$d#`;x`|N#=;HCN`mM_z%FyAM5nJ#Aey?QG1 za>4iNdsu#-Ud4RB;QRDjEMKm7F|QE3T-QtWalT(SU|v~`d$N3mK81OuKAm}m9>Ba( z4`yDaM=`I~h0JSoDf2_R0@&Yc)VnOY*SHtte*PhnKcZ2NE>KVDrZ_uNeH|s*?jrw}#P5K_@7xi-Hm-OMyefY2F z2Fx$%p3E=nY0R(b8O+=DTISdFUgkG+pW}U)J9IzhH}w$acl0^T?+N}upC{xqnXB}5 z%pd4mn0M*hnLpO|Fn^|(GJmRHXZ~F8Wd1_OTKIT=sgGp-N~bb^quVlnr!$zp*CUvJ z&_&EY>Wi88=;_SA=o!p=^lIjx^&`xC^`p!`>kpWJ(LXZ(s`oJerfawK@&8@dW&TYc z#r(T&!MsoRWByf_G4It=nSa$YnfK{yn19o^Fl%!Ub1k!!xwd(T`2h0-b8WMM`2h18 z^MU4fW^G!u@@c7MGMEoEBbaNM(ag2Y1m-&C66Sj5Z_II1&U~o3mpNgcW=;yOZ+5W! zFq3tHkIxZ;8<^8r-p~wWZfwqDKE}*sKGxj8+|=B{oNDf3Zf5)k5d+oS)NAdpd%S7D z+{!d%Zf#mHw>9T6cQQ9KcNN^p+{yCJ=6>c(^9b`vW*u`+^DJ|3^Bi+vzGUue{Kv2Z z)nD+brd}H#|Icp1hYKENX0iNSvyl0G z^Az*BW*zf+W;65oW;^o;^B(gkvzs~3)NdR01v9RQ`hq4PM;EB=8rk;?kC7-0 ztUuaxVV+^SGGAr-FwZe}Ghb!yWu9$TG0!oNGhbjTnJ+YNF<)kOGtUz|U+@CK^G%|i zPuJDvDCTPfUv2uZe1RFryh!lPW-7~XF;_6(Y-TYpHdiy>Vy3m}%oo~%R*8g7ccjgk7|7hki|7;dA?=ep?|7Nx_?=#z&e>1-` z|85eUeB89H&#df8%-RlPHg*)VwPTrU+hXQ}Y^mTonCsZ3%m>-6%m>?@%ysQ9=7Vj$ z&OUB+?9t4J*i_~^_6+8__I&1gHjlZkoyUBLy_Gp`?_!SGt;`9#gE?mX%i;qSxA9CL zpQLTT9Jf806ZTBz`gRy|!cJpO+6Bx<*hS0@?A^=_?S0G*>?6z#?X%2B+Ao<8w+*`Z zxE*1SXKrX)Fdu0g(G9PLCGdHrsn2)kkn2)f_m>bv?%tzW)%nj^Y%nj{7n2)xf zGdH$BGaqC3F*mk#y88GZV~=2NVtX>B2l7T2Gm z3sfunEpu!8J##DD_(ZRBf=y>`V>6gfup^jT+hXRnwv@TGUCi9Zu4Zm$*D$xS?=rWw z-!iwi-!r$hjl28!w6p2VX*PqoogKm4-WD^b+fwHCb}@6B#dmn4gKwqTHOy)DUFLNA zEpvwbo;lq%J}L5>&fL*vFlX2i%pGkpb7x!1+|e#(?qpXpXWBK)o$R~Jo$a^GUF`SF zoo(ZjeS9))I&)W>!JKJFFn6)V%-w7$a~HdqxvO2xe4<^$+||Cz+|7Q=+}(c9+|4%5 z^6@#*rZb;pGnh}bBbd9}V&;==DRXzbnE52TnmNm^VLr*e%Y3r^mbr)hp7~_kxQ8Ma zs4Sb#+|y<-_pl?F1A961X?78FKf9gzbo(Cj09(a;hCR5azt#X-pZUycd=kqC+CI!@ z+JVf2?Rm_D>{#Yuwv>6eeU$ke`wa7Wb_;X1;1TvmA&>R)@f>N7WX`con8(=G%wz3H z<_qjt<^p>S^96P}^EkVPdA$9cd4fG8@YgN2^_efSCovb>{>-Iz9P=bw$~@67W}al1 zFkft!Gf%RwGf%efF<)$VF;5jd#n$WX<93OSGf%NcFi*8jng3?{F_+sR%+qW>^GsXB zJlmEs&#}vyXWNy`bL>OR^XyvYIrd}bx%PYJIrb;!x%M~a`LVwJVty+Q*o0u$9c$+fSLVvtKY@ zZ@*){!T!#CqpjE1r}rk?fcX~Ng1N$`Gv97IGv6)v9>L3OChOc|M=>w47cnohrOZq0 zV&`l6k3pjQL($$-LBl%Dl|(VP0<4DL!5I+k=@OuyvVN+vdy<+t$pF+C1im z?S;&b+7jl+?3K(<*lU<8?IPxN_I>7O?QZ6EHgT$t+cP$e`B|I6{Jh|2?Fg1XXD2bQ zxAU1d+N+s2*vFY)u8F;9<;Wu6%;Wxg^th54%3Oy*g! z8=2?EDwwa1J;8iUtdjZK*kQ*0OWEwOKyZ;gG=yg2qV@cYl={_;5~ z22A)1aJibBvg@aP`wo20aTRcV;4C#SMT1UL;1;k7I0N=aXM~&y+$-c0frkM%SASQN zVK2!=B%i6WK>l~&a&@KJ31JSr6vMoV-f43)$*)p7Kz@J7+kl@Vp0(e1hj)WKOYKOp zF56Wl{9cKX16PFy@DHT3h`yC};Cj@*k+=bHIq)kGKI&J(f%A~PDL$+C`*A4ub97a} ze!k0dGYYe5OvVB0Y#);M@SioH@O}M4zrGA3`}{)2yg-)<2Yw{uJP0RMEsc%6+qVfz zW26B81!`IBpzsfPH)gC6^S!ZF%qwE;neWBzWaLmkoc4flR>s0xeBjlw9M)MAyO4QZ zYzp%Wv2x~3u^G%S#AY&Yie1ILId(Pkrr7n&FUIa>el@m&d3y}9ja;C1#I`WM9eaiO z-Pk+KRk5#`-;eEK-WB_e`IA^n&^1dWBr)FiVbD{GM2~ub*zB- zhgd1|_pxcrKg6zJ-V>Y0{F~r?u_Y{5@ny{WV#}FTd?mAvZ(vsOEzCOpGP8-l%53BB zGanHDgt>Nn5Ay->=-U$q#%qTKI#372n=sdjcVey^&jg-G<$PJ}05I)z;(MtsTmxLL z?u&iB&)4z$s4grao#mvDxlxJ#fqR(b+pE;|e_ss#Bv%RldplPFdz&C*TF|A!kp=uA_)S&u_|m1m-o@jj0RIK*@c4n@AAxER zZ_L~{FY8)TM+$27k`Pg_lbJO^h%*Vy&GpEMy zVr~|HjJZ*~lDS!Y9dn~N+7?})n#DIb1a1_M>ROBVR+hIE+#2UtKw)*IJXl9c8v{!*YAAe+jUCfKO;5Zb*gzw15XDq9o(gL_bwU4KO99;l% zN5~!HQG1vn@}*`F#b*im9OkU}T;?8>r_P@3$)3(`8P)6-s#725uZ6a{296$Nt03Os-r6a< zFGE}PB3qqFcIy?d%hw8o-TDfYY6E9*O7B6N#Ctk{YetbIf2w~6c_^m9@5u6*p zljV8w<;?l<2bo7xJ#y_&FS3;@+r9TI+u2~-EHxl*z^`i$2U6a-_HYo%G1y8tybY^> zecX_J-NbxEE~9)bitmJcgg?QaMIyf@#A~AvT%d{tm&OxL4Dw6j$1+cihf|~=FBf@n zdAtwnl*dnHzC1pFd3t;>^Md$A%s0fRF)xbGX1*!Dkoo5L9n7~0+ujv_l;um}FEB3^ zd~f_EmfshDm3eu58}o|z=gbep4}b>9<<|tZRVAE9TTP=pDz8?Le3`6*^F9v97!Eqj z3+!L6ro4DOzWct~DR%%@sK-S6^Eh8CP-{hAJRU!ULcu&*>$hS6KPlR!r$m2I>8EW# z=b3nTiv#>@JP*Qoh~obk#~w9bN3#CAqMp7d>gmU#ZhjJnW=Q=+@!!OC2jh?B=V0i3Qq`yNoe+Nv z7T!HB;`|xaBPah{ld%M>3E9Uo_PKHYo}xZSE!%Jh8HY#T$jVyBjUVQlz~0*gIQ;Tw*}C43{Pzis?h42XZbL_^lkOdP|U zmT1MCo`~vWW}*YjyNJB*n&`vw?g>l_xFz5vpjrCQM^vlbJ# z@mr8pW#|uos^FM`01j=1yqs*+H!*C5&$~V%kNOJxoFeRVrr+iW@#&ZF1MxteDQq$* z5!K(}iKx#SEb@1_u+Ly&pP_yU5`=%Ye{>H#JkcE^4=zyW_^CeNa}#HP%-N(*!jOhb z<3Ql&D2;iErI1F~mgb5y=7}`sv)uxfC(@gri0b=TQGPBIWn;WZS5YD(j6FL5 zlo-xjn#f@;qdJIx!Z!gE(LKV&iRj+^l0-S{Pf5%Ic5QF2|5O^~={%5EQF^B(GFSSx zcbZ7!bk>J`B8jM7y&}B8T_0zNv z{xT8g<%waevocY@{D9!qBEKF^T*^AD6VsRs)qRlq~xKvxBa4-;)(3CBe6o2s5qj9gVaWiD`qT2FQ1 zrjVn)?|BX%_SB0q|GdbHjR~&=@0Atye>u?tu7xg8uZX(vs$XsZ^4CPYcq4J9QwRAr zkr&$&=dk>BQD1h5zU>~J9P znvkP@aKnD~NAFc|pkH)o+w0+22Yyr4XNf&v+a16a>Qm9qeCACB@%ciuCtp(E_X%D1 z(`s!O*2f?>9?gpM?(AgbTa1NKSNOkhe-+$=o72pSe}?I_49SHvvy0TOG#fLOa|B$F*dK zw#ls3zK>|jIxwC|V);i0d*_pfIRs7@Y3Y#keF27veZf)+vum;(!h9OILUj?g?JC0W zCc-~4>BmkOPD?npP&h-A%Q{r{lfW%!Wol%j>8!v!Wk>V86(0e*e@Kr3Cmtl@)ZuJNQ5&%gi|EKxoE#|4x?}; zCwFo&pTe9@Va{P4ALca_<~7Nb2WzL?MPV)wVP3=f zfx1?NxsbwKLt!pp9Uta%6y^=d1`sAD0QOO`PM{VE8{QzoypgZ#%h($f&MnDQ2)t8c8Sm)K` zAm;7Kk<43@W0c|H+-HAcI%SQF(1MB-ilt*>vBioDhKeo}m z-e)$C<)7N9?0seng*+;UpNVfYd~VBG=Sw@C`71jYcm+cj`JL3aDWj(wYP% z+)LrOFn<-_KKPCO2I_YT)0N4+7R#gy|5w)W;qRsJO|5bc|F6Gma1exp4!>)FeG|Gs z9YF8!ch@qtoYdLjaQNepElM>}?hTKPfLo}T4q$CVJL0%L1-J+CQMx~H9_gQXAcj*y z@}36{1o>6Oy$&1&g+peFsN50=V`%;>!hZ75tmv)?n;%@(K5ig8wG?M!{t-a>|F3CU~gea>4)X zy~@u(e7Zy9F5gl7al`1HuKNW0_v`Mc1!Wp0oY3!A=jv*Hy$&XG(J@YE(Kkvx7IGiB z*3HK``3sG;S`~8c&?rpw>%+mx-;JRTzB9qgQRm%Ij(i|ABp9EL>#E1c`$e6<@+;;3 zJ<|W|-SYmu)Bh>&SC@Gw-%2!M<+~PFZ+~RH?iA|awPaot zLwkYY*Sz=J*`XNTf4-#9@rzJ?Zye_s?e<8>bztBn>%wcHy!NNnZM&pXd!0lPKKYwQ1nz2D-EBPG| z$u-{uadoq1Y~bwBf3zzzH$h#z1tvLsU3((rnz2D-6F>Gq%dLlgzucKn1ur6}(O;v1 zQ{fwSI8G=9t^me~g>vH4X>R9g;xiP^i{3^&fF}O#CmzUiKCn(ByaLXL3{ufN$(cMy zgmP#;$pz{xbp-R-DtgW}jOLHQBk9?Y)5%q*u{@7s5vbApoGwsf zRP;=6teV351uB|P9v<09T?ji)oP)KLYCiJ>bsclDx|w;Lf}uS*c#kWuPlolDY6;6r z)xFGRYB})JV8bl1IZpI!CO(}s-X?|{3vizj4^lY4`U~+{wEv~ukq zGP&oKcrA3PaIAr&J?N)`75YC6-*5!30LFYDL_AgGm$weue;UOB)PQHGrU>9LOgu(X zm~+(x4s$Mri8}CH27kx}U`mDmZX{4jtNI031((-&D0i z?F2ixZ^*77JG=z)3bj(?(JJ&tE`Z#P>fJ*k?T^rNG*k-IDq*)rlz#w#-)`{pxA=Vr zn1UjQa-Y{IhpDJg{Zz=WF5zlmVT6#H$rd9g?dI zfAOaZ4j(4kBpr@JUPhZdt74DTPH7BW0gUCgHSu%8ChI}!T%b14b6fl?P@DW~Z-6(` zn!_ycn+4(6P#>=~9F8;STJYTjxYkGtf14=J+e2*(^L0_4-(Va1@?1#ayrZs!aL^O1 z8xelr6@EVu`Sq^IuMb3iy(`+xDkYvTh&=jG9UopHP#@6RRCnDERd<%}QazbJgqGMj zc-EkXF@FRtZX_Si{E;eQ{#dlDAHmK%um3UEc=-N~S`^CBCb)j!QnJZ6D)mucw!b0U z&Lca2EAkO%p`8oV529Xwr=q(213!og)Q_qW>+ga4Vej`BVTWINEmHtnP$sdC*4Hu{ zy@J{5O6FR6E3hlu-%y#k72=$wz6~{8{e1)eT25&^ME}ZZJVa9gfOCPW=Zie>p*m_0 zW7^k2Uw+m?I4z)68VPg$Rm7PvA)J!(C2<#3@m};S;PA(y`~3#MzkyC3Tn`y;O}IV7 zwx%2obj5I#BY>L&M>ztxC*UYY0Ef9yjsULaSwPLRfWNx8#SNp+Kp9!Nw)*^=ykGvM zgVR|I14=3XE0*`pa=u!|q2^ftRZaDO>RZ4vFKV6zINM5_$TC^;ECAMRwXR;@UxRsh zYzNRuyL~<)lKXZ5b^N?~#ba8@xsICqeY6hjcZC~PZ%^6o$#N*~_YZgl$038L-)}b! z$H{|ee03Pek?TU3%|eD|Sal8=7uoa;*^fi;KHWRKk4C@f0+plS5eGSxXE2XdFg+8> z$HU#N=VF!3Tt?#({1fkyN3*;{6*8B>owsv=nxrmbo~&jvU&3R{KwT{E!KaFQ@XO%t z&4+W9TFQI{+zCbUN0?{BU5=N}Rqr!j52Ir*zghjvd<(4R@bX(#C+5YfJM(R-7juQ` z&3v=!$Gl9ruUMl^R;kG>U#%7}KdhEAKcXICeoVc}{J7f2{G{5!{G6(1d_135hcRze z$1}gCIx=rlnataXheFvXhr1?x&qi*@`2LNXfV0#Pn#Wj1@*xV}mEqP=5211LKA1{C z9q%eVz;6{CS>d%(Lw*FpNd@ZzlUm5Um*#fx&j3nERF?Mg zzKH<7lfHxXe^;L|Tm1ubE$wfNVSSPI`%GbfpQe|pQ1}OF|4su~JEx;^SWh3$`CeBy zV6LYdF(0boQ7XAW?NzWuCFDl>c;=tf0OrQ}0^kjlzaOX_d-v^ollVim4fx(Guxxy& zUIBh?8s_zfbZ`3+=ww07IS@ksDP(sgr7AtZZxtNH;kB>~AlG^o%Rn=|Wvwp*%|Z>d zZF7xbq6<_DeTYNg);h`DLPz(=t@N=hZ>^7KZlj}e(ppFN$Zd2_)@i5vGPlu#nA_>I znbY)nz>OfzSr9irpHLZ|$Db-VauC2_8j)L38c)&fpRAqY+Uis2KCvgrE7U2vE-Hfy z)TtuvgLO2|GfW@qR6u9AZpb`B<2BF)DqFX82s~Q1XD-kuGGCzkGneQ*=Baut^QHPi z=5jrOd78e6dAg43#YOrCmY3+;m`k;2lLgPx%UNfEu4KMeZ(xRR;xI4NUou~(e`3B- z)ED?(OlY}4-KwK+E-%)&BG0u^r&E3nqP#mpqk4YG26!Uz0KQMJ46lPfRd8T9=+NFr z0pA4rscMPt|CBGcOF|9Ii+e@6U9F?}iWNF)yH<)kTBW0T@6|e>D`7Z~>pskniZb~) zl|wugs3%0;trdCqxX7<3G|mB_!!V<~ds@$MVvw)X^MReMmXdw&R3-iwx+?hfZ6MkK z`ChWa23^H=*dXk%MeruJZJ@S@GQUaG>z8x_!bAsidb++t;Ft7a%o~I~U(!blc{Fdi zMK@#lOWMyd!a8AL^R2oc>%69iGjG@9m|xdZncvW}nYZg(nBUTOGw;;*F~6lBX5OjS zGQXprW`19T`N+ZAZ<=?)KVbc^e#41@-_ub)Ql;Nz`TKeou*27iWx~EVweY+Lgs@_RJK!0Da#KsQQjSFX0g1UiQ21# ziSqGq^Bn6OVKy^2Fi{>IZeC;g5hluu2Ig~?H#a{sw=hwE-O5D$bz74fS`PM1nM~$1 z6OAX+&0v;im|W(Lrkpv`+{fJ2tY+?RUS~eZR55oqA2A2!E9MOI9dm#4EA#254mOV9 z0yV(+7ni{MUQF~&_Ce-2);Y`Ix?rb2#B^aEYWgw{GlQ6in+eS4m?_NXnk$*lGqah8 znT5>R=4R#`b0>4I*~FY@-Ua>?GO%3j(fIDEJ;3me0;(@5TT%YA{v6~-guENrjc0z= z7)&#g@723No)&Tyu&Z}_NvAu=v(#SdUrr~TU-eGVIXC1Tz-W_7{4aD>@QZOnM|Bgp z0Q6H;p;`4z?UWG@V0|n!IG_Au$aR4ygAU5EZq5ujYA45qA!2@wHwn-|7pQS2s*mGM z6Oy95$TVfX$VB&g#U_*GB?jk`(FLl^ME7?SO@R}Ge3H3{d9wK%^CjkL<|*b@=1a|; z%u~!V=1Wa9Cx4k)#qx54?dNYR(aweRzP{V8aBM-o5bRJ6a?Ib`fl=qc&@bBdIXG5= zJXOs!rO*0yZzkE+wRJNM+Sc78&m`NTclf5Eu;(nnS5O?B&Mdwb>SKO+`N7Orm}u-e zOXSNu(~@=On|91so9O;}zKQNxt~Ob$v%vIaUTFF=UvK=~JnTmk`E|X?VVy-LkNHM3 zn)wzJ^?em)BFk?TZRySC?<}t{QJ;8+$mmK+{=8I zfugTYnTB~flWhJJ*stqSuV=Sa#2o}i*jyw!Zbyup;hw zrB+ZGI1;!V81GM;5wA2a{IYLfKhmlGuFmkXstO<@?AI`_k%xhPs;V+0*Vj%d0ImRz z>hJq>UGxvnSVbLwU)1Ff{3p;s=R;8*c9{m~5gg1#h&=R}CARF~B#x`M{gKP`tdbT}tQtX3^+de`bm0S2e2+I$%=QAH}bD5Ji zYOflK{ccCv%UP$9oeAvPkiDV}*-P(qb>;0hVs~%&JC(h=$)5W--z&rL@TUrnc?jUp z&d3juotxXS&(}_IeM)oMzvlYx<`(;x=g7{@Z4B6rtDD=X?>-*8GIB82L3{D=k3bzS z_S3bnQJ-?Wjq;*}jqWj9+NhmrE$rV$?1gM=)7+&X{B)5QZEV!Il!Lcyn^3>7SoOn-h*V%a0ooup2a*w@L(IY2}A7JpwkF!k_Glb zbytS_ke!>6ybt9?TF9u>J!G`MYghZ)1JN_MO8VdZR|P*l4w%++oS5eF6C0wn2lavb zLzsDR9=Qwr`g=G`XE_|`is2|n05=DYas+Tsz)_9>?mIZj5y1WbW$nT3(D6P4@!im& z`g5_r+HdHek^R*kL)?e>S9=Wqm1pAr)qRojxss0?+P`K$BU%C0VM4xQ{{Fjb82+d2 zTbxGLasS;Ba?P3qXNYUNN6&Cq3w}lL=Ys1%2a9FwL>L^%XTHaVatu}0O<8Aa)+9i` z*SfmhYStvcy0y<>J@O=1uKv6CCtgwMuKVf+c-JS44N_tC0FDi?9K*Y(@P{1Cd8*pX z>0)hXhFII#S*%0u$iCry-QwA9rdWs2RYmtuUHB<<08f0QIjfVznuH!=O+rsq%JJzX z_6zhDdjViJg?0KW-}VJ+teS%ZTyTLZP`5Fk2Q!Xde!e=;cpj%hc!0_p0cd0{5$5S-wKm3P==9kpD%v;q6=GW9n;2atcpFrytCIB~At<_Xm!;c|Vy5Q*lD)`^~ zO$E*m!^s1_cvCbUo(g;!goASA|J%mHjpw_%-|~5_T7-PpaHamMVXP=rq zxy}y0Z^FOi8r>^lJkW%9xJ6?F|Go|!CoKQJc+5~UHrT)X$oB=wa#i!b4p_Gi57qp< zT+RDBqCUN5|BkCivX7Q^r)I9KX0A+*<))Oly7T|#T-l%9BV#Fk7{&vssx8eSyZ~GQ zjFS?t5w{b2BK*^IoOenSd!;3()AMNzH&7j5j>9>4<}3D(cc6EtzYF1K!L@LD;~&KB zR5*P_VZct%A?8KtXCT) z_gY(Ir%f)`E)#AN64~qA7tf6|1zVV$N(Ymsg zlrAsFy5o2ye+vfR2a?J1$6yBCIe4$Tct^@A@qUR1RJ3mA5it+{n8LLR=wROg%#=Ha z@$n@c<@1hwlm5%<_%u zRp!kqTFbpjy)WdSFmF+xGQX(4WPVwF&HRe`o_VXSkpaP8Iz6_#^u`V?D+7^P?zC_ygP; zVwa0sfK!##O@;-0{FxKC1h-=Ya3A+R3wP~*e`p12I_=_%puSH@VM+e`C(e)ex zA0+e-)km;At{XEabTj6|McZ|R*yq(iV>^QmzSXOvI(xL>#$w;lF?u9vqka?Zdw@V4 zE8dZEoY)_fD)x3Y(>Jl-7W!W1mU zBiUKg!X^qcL+ttLDE4_}>iVJ8VQeGzMP}(}pGBbI_1@%Q?Uo+F+*e2SrHd|L`H4Du zuGd{h`*Tmyi&*Cr!KdnbSbmyb#@tV@VD7IUWNs-qU$1BRX#EOvvEZ@#H6eeCd5r#q zd93~ibFu!6xkN|%J0|KZ_h-IX=P*yyPccu`>zOar?=Y9^Ay}Eg!8c#@NapFf zjJaHIWuB?uWWGZCFDe9TmVTe*v$d(^!aonr1uxSV3VAW}{rU>#WqKC#ay^Inem$Rg zg}#k>rC!7Qpni<`5xt#xo!-m*sIF7n+i;z($NY>woO!)IoB4U2$Gkyb%)DMd%Dh=W z&Adgw!Thpr6gJlIy*Ax~`BmMW`DHzodApv@{HDH>`E9{F^+POwM?cE^uHX;#(=2~S zuVemDKg(RDH!y#wH!|mhub6l1Z<#;T-!Xrpe_;Ml|H%BAu7w>KIM`RNQ<%Th zM=*b_n=pT)n=yZh{e`8i=IK8JHm+nT}5?akTDY32gv4rUH> zXR-IHi`dI^qS(K4l3C9BS>{pZp0wu<{|r=MUSN42vxT{@iSC0=GvBbhpWxF>bWhaJ z{0KU3oPRjk_Ij{+mTE|4;CA9hv`1q#a5=1w`cc%oFnFr7{#uyVzre8#^i$Ok)8O^m zDNiiL{2fAhy&L2e@P(SXptFbgY|87Dw@^Ne^143paIt6S9Fgzm8=Uh&7pM^i=O56) zoRvA&A<2(t&Jp{4Mu|OKxh9Ks@=d@z+Vo{EFwuSV1tQ-IMP83LeijYpdCVC0TV|sB z>xrT~OfnN#XR_GScZs=#TmqC0so(#mDZd^dzRDbhfrEqbq>lpdTocWM%@+HZ=8FBW^Gp-+iGHsZ^>mhLE95Zc zL@rPZOf+Y5m)N&{x2V6@np0SRp&7}1z2KXK{cjfg(-)g-S--;E&3v1=kGVqZlf6^y zlU*k2?0x1X)?aR5`iUIO;h1-rSDGs3Rpx8v)nX6(1BNfzV}8Q;eR%<_IPA*uCrvNrO4FZtof!t~+K?Gk_SQogC|9#- z|L@k2aV+7+8?z0LH!z-+_#e0rKqm`UK>C7G39^xJpsRwzrwbXcg$~Q@NZ@b5Z>m~v zetn~Mihdi*>Ut`-u0464%GjYK-$3mQ`VDyXB=SblcWe@U#AdM%^cAt+bGzw+fq;Ye z(2Dk9hZ*F=Am3?5Fu!B+n5#??^M_^<^DeR9^CPp6=$1wjY%END_4ai_EU#}zF&|;0Ik5(IBFh`vsmw>(>CBDnEaszaG(T{>y@lm1>;ufL z?1#)J*e{ve+HaU!+34Q9t^I-J?d-42?d`!~Va5G=M=^J>Etxyo4CYQYdaqZe&0={M z+l#roJ%#xsJAgUMp3mIVMr(-!8@;Qcx4nvWPO(=r_p`S!53m)?1MS_+XWB=Y2ifPD z&$e5bhuN2akA-@a1@#Mtld2u@2CDBpfXksC;X4@yhK%)n1nF#~zG)oEH&NZ65;D#) zUP-*!;QJY_C;cs?eY7;>#e&H5#0lSg4<{uzhL?@Ov#zZBU-uGOhozvK#vw27=!HS3pZ)-V01 ztzR-bacq!D{r+*l6|gTa1&VRIka4~RUBD{|kh{^E2QRNj8crT(K1qE4;$+o?E(CEs1hDh%Ku?AzH8pb+j!YV4Irc=63B|FR|K5f6Wqn9fD zFLao$TsRg{y3SFLa=M07x|UN~hEuwp3OP#GIX)Oj;|P(ib5v9YMu;_R*rSdnz`y$))}R4XU>JyH@*xEr}R2IxOHXD4(BN>59liCfA?P%{P;OQ zw8IiOwvZhP;hP<`Q{JQWUPyNMJmjeS7lO8PxCZQC=0dT~ZJa0r1C;_g$ef%9r1lVtJb=uH|P0uyD;~xLqpt>Rv``kX-#LrFdfeFm6rZXh(6IrtadnO%rjOF0M5Ly^#yl--WGa zs^dWFzR5COnNSDA$9tUK6#gv86QA~3BK+ADe(wF4_BkT$bHh+D?ejz&=8AGSPqanz z#X762#eU=kwEhqS3)D4`H_ip>TCpbTI`KW4h4k$q)C!=~VtsUWn?-hWX`D^v^IXd7 zIh-$;-jQ&OrSvXVt>5wKy_M4I(s(PSWdf!5R*~Mt;L|z$9#)jUi-pde;#*O7Rr`Kc zBldfju){qfEqAGW*11Ql^;#mn(Y8$NtzN1wXZ>Zg!p_;@R!aM2l=fT6CbNOdA@}h9 z{d$t$&NitG!@!>^IF3XBhqk%`jyuU#52!V4t5w2QtArgMKyTy%^)ST&|G>S;b(|RZ zVbNYaAll@ItF4`j+T@41U%)kWeK?%QpcQux-VsM-0RO_ZaM3*86O`A^CaZ)U9u#(1 z!||+i!O{O!g3%6`FHevio>oV_>&wj3WQQ#vuYlGrDi7<}cK~-V(fs+dq8)fntjS!j z8iqasSasI~*v0v2lD+1^nT5nRAhk?98y+vtnN&L2`3()9>4&K2l?66am zf%n8(%@3)qLofLLd7NWGhim7eHCmsEeE(YH`!_1bse}IaVh!XTQAhStd3Is`rfy^X zePV5-(szN}+2KvHLuW`=mU^4&OK;+L{<6%VUvy}<*j?Tycf+EA>Ru+d7z72GhakzQ#IeGc6N~WyfypXYWBOy_nyhQk(&7; zS6`$}WZkKmFRGa@`cIoLiv7*a{Z4}$iH0Gk!XokqVLXruBV!y7YypNZC(+ofD&%Nf z>POEwrs^xkW2cDm`Ke-jcp8n(zJPGDAWQ>QW>3hj_PBA*;qXW8_mIz0?I8}0fGgCQ z6o+;pV;tPKXa|Y$;aNTyh|gdVpR>f6a4_GG1aJp#M$LlXv%b9OiE1B<54>R8_-nVwAN`wV2fIWBhneP$r zUb|ZzE9A#9FHxPC?^AP_m#X>9_rdBgAGhV=y=wQX?^(V|{mA@)`knbfc>AySyGHPX zYM79p1Kha^%fr=F9=@Zs2Un9vS2h;><^7!xAIk>5)2s)Cld7InuYBms`C2L)uHLN` zW&24AAO8zrmt9mgo)qojvtsV(In^ZefqU*EUay)9InLdogY{8j9(%LkjjFp-0iDfa z@8K3Th~+N}eo?faFT<{4=U{IFv`n5~6LZV2!c1o*znFQOXjfl@n&)-4g*!np&abH} zg?u*icK$|Epx%Hhd%ru>Zsxbdp24?O^sTpd#CHbYg|DJ{zg4iC%JT=RocTjFgLxaT zGr{?XH--Fd=1(pO;R|UgIhvj@0 z@Re1_b@X|k_;P+Q?c=)z#}>K&ZkHk95Y zKwhERi1hjugqW^$k=_jP9ldnzpXmhfHHe0IA#efg`)KMAxRXeGXWgFVncB^Gp?(+L z1>`QhZ797>AU;_TA5=d9xLmc<@Og?by?#aG{^`YV&|!K{f+G|Brm7yg!ERq}vqXBc zM0$JBwa_oT8();w9zv(LNP7<*J#XzTzO&Xx?3eGWkHY}L!E;I7+9B|%8pm?z0(BbM z!KFQm(%zrao2B8?9ASEUa@;D(m;0{@e!LAay_oi)l-{9wFr@b);0iUE(&FBAFqqOZ zljK8a|Lpvb>w{l(Fvix7kcW%34;AShF4B9R_RkAYzj5d}fZfzhn1|}-%;#vFPezA2 zkxjC7^o%uE?4KQ@7dmy&FVL%)$Lm@U(?t;fEJ)*lAa~E82WtZyhmHl-;nQB5yGZBk zYWs1*U}(ID;h;ksV#~1#^i$!>vLpXdJ7ptq1?=ulfpgA=lY~tshdwbamxwYmStl?+ za43)J$W$FTF~~2|1DVV9dCb#v9`j87D6mW8Bua}*<0L94sD^RIk;Qh3^8(%EQy=H~ zBF^(E&R5~8*8saT&KGH%Px-3F$o+xB|ZTi+O}D0J$UN z`*k$dx=)nh`*ku@3SiV5<U(?Yun%8x7FY}hpXPvk8-mc{&q?#uk8KArgsJ&^fJ zJ%sryoelgqvhzmD7dLj=OnEVz zRn0SfiNvER@%L?<2C+f5JNq|LU2}mJe{u(2d3ep8{9F zj9xUp^`ku;r)8-F!ge8m*}Z69B1^2X=^^GAdx<&5K+LiC7IXf6i0972F=|(uW_IIG zKPuV(zPnKv2Pk&Dwk;2My%^`b0K5;tT{iCcN7Ki zB=t-V=OkFM;=}JHxF^rQ;f|@1tkXxV?eE3APvAX@Vr~Da;<@T+;@N0_@gCQHu(H5k zx4*i9xu3d;xxZS>JV-5LK1;1+9t^ALoeSVgZ_hFh7tdRV!4q1qGhA&490U211$l&H z&eD(#@a4p<>6zm!;Br_Uf_n|z{;#(5jPgd(X~*N$O7Q1h6~MFMA2^153y!-$KUIxZ zcYWc@hI=3NlOV5vQ6!duSBUe)_;z#{3YL=##G00i#JZXivG=4hBPElK76^C1M}h6v3B>=j>BphnBZuI^k;d0J-|=IM0G)5C$wfw8`z zk4ooF9Y;F%g?~AD?J&$LkovSBWBBM&;dl$UHTZ=&f3@o?pYIzf-+O_)LTwc7=O*%p z{{`wriksu=dr6{aD4WE6<%?pU*Gr($H+^~=mh>UWqM=_=-<^ry^6>+hKxYkJTN zX$#;z%>FHdxE`aKaS0Aos*b(^+FZP|_jo;+bz11L%&l}8^9lM==GHn|tJY56#q#zV zpMjvm^$%|`chny;chcW7chNCy#7V!aZo=GM4`4o7=P>us7XrstU|aDKmHA7k{C`Y* zCGjWJx84%+0WNrML-5ZkI4~S^sc;}K1N~H3dobraUl&dl&je2kt&Hh9Q#=zKAl5&e zDW0XCE}o^HA=W>fshiSOF`U7=1@lnxtZK!aE6VEXx=?_>wS%1uYiKv59^jAXu z9rG0ZJ@ciS9)82$_%3L_CIQyR>gb(s)Ab2l{%2~x3I_Ua@oaRKsK2vych;Y$1Lg(d zeccPSe=Z6AxTxbd>ItlWi!NqftnpbQx&T&@&R|}wXEEQVmoQi8hnR2IFEHPwcQfCu z@j0XmbE(GXkdBw>w!p6Z_oHXB&q28@SEuWRKkeK1DsYxMgVuh$M?8R@)uP`@{14m@ zq(4kA5`AkH$m@TEezU9TV|nWW-E9{1`WT%cWQc-l3i{=0oL&Uig+D2LUzV!iZ=ZL_ z{y8q0&aX}d`~c#a1@T8ad=)a@?))Ay4!hht(lh8@3I3$<8~)b)82xso`zbH? zYqP6B;ID-|0}ga(L*z!_Hx*($^~c&N?SU)QX=KA7WV9i=fK!D$K+G-l6LTp8#9Yci zVZ$?36AA_W4uTwZE`Yt3n2+dCp6L+yEHQ66SnP`&0&lu<4);+G06de@ej3?i1KcEK z!OX=0Ab0aBr&qH{=#}mz(Jwl*!`X0*fN)YFx3+;DN+|6k$PSl=jCOD~86oCreePoX zN0L6M0cVSM7L63|cgo@SM+Gpm*$|b%1@K0#qZ|T{7PcBg>*1ZwSemPx1@Xy(x5Hq0 zSQs*v6LgrCEI4ilc`Cd;r2bDnEkz=36F|ec0Ctcbz+5cSRVMbXPNaCc>lS&hbS+#j z@eo~Wx@ynYa&xoJR+rNp-4@WPP?uBq9}-U!;ZNr<;hpVb{&u>s+bj{c*`j@zE9^E; zv=vv=+EaYSie-EX#0@VJz$|J%_{Dn@l+R}QLfS9p_2;p?Ev@(V`U_aTP`sz*I`K^8 z2C*l15$#fScDtO)p)0Fy?sVgN%&Qr$zJpE5VZSG?zpeKP%CG#(a$AB40f%{g2^_7B>PDJ&S3+a|qj zdfSfea!bnEsWG{^>DjqO<0cdo=I6DAU`o4|wrJlvt!4LO`svmtJuRbiMrMaj8JXP} zJ9ksLV{?j0HQlMEx9rxwTUt7tDJ&X4ril-zgFD-yT3-c$l5z-)YOEQb|a|*js*=*gub%*qB1>_VY7v3`VhY(onvfOgl+5gGtZ=0Tpqks%(70WYn7okwEXG3Q9}bm0mm{ zA0r~7I66P4w5<4#Qt;R=H!pv5s64KqBo_l?88t$Xx^~dGK>S9v!v?5Laem&|oYFA9 z>214oVndXa=0Rw1<&uI+^0U!&nb-h<#WGr|?Ci4au=r(!(zG-urg9J38Lgqvfp!-s zc1=%4Ybb6}5SWFe3WW@$9i8e$WjT3t!3>a~yfey$6p9TO%+=koORsa0w-|fQL>Q-h)dk#S>2H-DM!zzJv=B zT+(GB$%_jM#`&;a63LP%W{ah}R8rcbz(pcQm$0}4<{v~GQdN?f4OJf+CioK)lT(a9 z4Icge)2~?(D|suKG^)_&QHCq5B+o4@%4NALtdX3}li^A$#T(=0 z3txuISCU_te{mS643Wx$3Ax!()@Hb@rD_845t*CeGMBCmXL84v`oKim-3iX%441)F zTt{aKN^fa)S@mGK z=~(Dq^Gdi6ncxJjg9!f+{e#C zW&rG(yFh2r9sY-M=FefvLM5sT^q+VRid9KkdUkehw#yLAH`lbGY*J1E43uEZhB*;h zAi59+M%H#0!x{%5@df# zIs`c`8^$;J#S`=Ms^{W37&w)|-HdWaU5E{qk%SOofq#1@Uub*()3aMd1bw-38`QrJ9Gje#sFfdNEz@gx}`>S#!a z6+XY1Dih?AFOZ-;2?``9)u#&N=;05U$mP;|`{Q|EJmI`Z6&FkpPbh&KO3s9^U`E-? zX~GgnBN6z4VNLZkOM|+Sg98z4G0-C7%3*D(eo^0K_%MBo5|$hqykOhK7af&TTwD-# zYfzY7$x5e^)gJB$;7$PBEsQW1e-IYuUsP5QCDmIT&P>3f$Ysu(98OfPGNH92x_%uhn7CCSU+(T< zQf|q(Q6=q!oF-2kdI#9-af~n8Br@S|Cs$C=g-XG0-Yb3~$X4;m*nl znqYt08I6>mo!z(BfHQ_>59rsmeQW>683Rz(HBAVDo?X+$pQraey=w>lyZ7k>2M^Ca z^^Ac-26xS1X`dne`)3arG8m;DS$b;!{=NJ5=pSl#isWbX8gTl+{=EnH4o`KCPK92A z-e>h1bn3vt0|s@?j82|0xc8tlAi&;(2EmCgt-Gl(d64;>yi?E0?%(6A!6Heg_B~_3 zpx(~cS&%jyK9ha2M?)uGiuQq$fj^J|t?(CW#b|2RSrezvB6Vz1K@D0?QityB59;~Q z;c?*D(114fQKXLj59&kH!{L_}=Zr6jyig~EejsAb4@B(`*Kl4SpP?rZal;;hE(eix zULl%)>h+?s{NjtnHF2chB zj4Q)}2-9PE`FYtzqb|sYBI%nBxG^4|GcNQ<)}`jij~1z|!w#7441G5-y0~auw(|yK zw@y(iN{gzAxl6`!N>PI(`EHnV7*9YL+!0H&$?@ShnAsYipO1;a2!wG8M~Tp8=S=>y z)0yFDRroF~;t^HYI19hg$&S&8wKRWpnV<0MkQt6wWj1D{g=1B3ZOkaRf%b(8Z^LQC zUQ|{(s%*3~1~mm>Sn8Rn+_PH92Wc-JR!KKVig z-DQ69_?$wxOM@JyEaWVq=6-^^j;kKjdvNwt>kcq)pg#zUK6!$23iav_sV*2ly2uqz zoDjgyay%LWB960ZzRZOpEULbFONWg1WzN|Z&q7rYU1b}Xpg<|~dr%PD(-ehkV|@!7 zwt_fI;3@##VE4@~z>bRg@(wh`)&XxH$}*sv&J7I>#V;I;!kp}=0(cV875YkS2>x6v zilU25dS+&~ZkW7|Vdo8&4`j%_=1Y^QQ_ z3*qSuirh>mSjElP(p;&Z5yn7^pqsBI6mziEtza{n-|3Uch7;Rn*!3Vz9>pH~GjlxmPVBZbpsAjLw8X2sD$ zB*h{cO8vYlWC*4VjSadyuL@#JSg0J$tAZTU70UetDo9vbBk^mt7 z;qSjOuL|L~Or#`4^Qs_snfT}Ps&E>U2<;737CEm9r(AnOsjoh-3g=v#L*Al!Rme+M zSVp}%VLs&LYkZC9XpUKQkMg)qEm zUKIqccta_Nl3ZFi|{%;uL>ueEnLkI^Qv%$i$S#(o7&%Sa=}lc z?yvBd)28WooA>`@+SJ{~|GV?1bVm($5NX%}Ko_5eP5ysn>J)r{ng5T>ouVmtNdIrl zo#LHyG%AK+*S|S;O5yRy%+Dk7ybM?X3lkZFCy`(%;AT%jj3o+wp!igqKLrtu;Aj{q zCQw2Czneh?6|8(10<<&#;v6b!yVeIPi%&%~iHfJO^5HL(g@0!n6@uUtK#wLT2mL_W z&!ghi++7*Xj#P`5v@mtesEmc}zc7`GUbs*5q0{IVPPnQLZ9tz>`}c;Sk(d{PDgfg_ zl0(D7=dl&Sd86usIk;Wie}pF=(pPH_{G?bl;Xj)$!}16D0(Y{I_J2NI27`GyUDgTn zq55}Kib>+_|%)mdI4}PGDiKfh;VcmbqjDqn~ zX4MQO=g87=1QSgn{ZE@CgXDq1|BX2^2mmb(KVb1z_zSh?50gARX;6yiv8uoiR18vw zChHICeky^qu?+%kY=cN0o0mVI406+IsEbVu{zAl@ABfr?uJLDcWatIEbNq!!Iq5}ce8vBEjts`#e>O+v#5^HGb7Xi0F&g0Fj>h}bIWmy{kC-FFghP3)Hb;gsY6_ra z(b(gUb7W3|CyxGKn8}nID{TtXdTjp>jYuShXr%D;6yZSP%7D z6cn{bs}`+Vv>YpNwFg0}6i=_5_h+rO_jf;;RFC)dx_{i)WnPp#pZ)vC+H0@9_S)+k zp__DMWct^1WGa)DR_e&CaDvT}z}03-mDt;bIx@ww6pH;(Ix>ZBts_%Ra6#9RDL{v% zQb)#)C)ULunwPa?p7KI18Og*8lA5eNnXAbZ_HU}mC`WwnLOmG~YBD5X?UV*26lKH| zN|rWFnW7|xnDw4*$p1c5!09#FF`^1t-k2$@DZBTYY-7CHG;ndp&HauGV@$aeN62DJ z(`%>E$8s~4FYZFcZ#QwAT@)VNvgImayPf+clh_hX+g+df9w!amE6rfbHgjfOHUk@r z>s|#j#?G5!R!-aXTY?z9tS?{}rW?2v)?8a#S+h&H6tcV`H7WOS)RBbADQgVkPfu@~ z2AUa#NJ(Y)@R<2X!7C;gI@}avnrx4WyMq*Sa#||sHqJ^Et?4t(_FQq1pj;f$HdfnWcZ&E<4U(bK~)Q8u~`x3)2Q=;`$uR~EU`nVU098<%nS zba{m{8*5DW;>Hri+b*%EN7k168)w$1v4_sNC~nuwQ8BRg_PgFSks}PC;4Qo2s(Q~} zw4wXMu7J)Mf8sAhx@Vso3{?%1w7hqh8J=+IJU!cG_YiDZd-uil3W41zaNjP!Taj8Z zE-d!#_98cyrRXLlHMR4+J!ZJbV!|9C{Ne)yp6RC=1t!DFdBd21svQ(_bEO=2C8nsrlO2w#JD#k5R6<7UM zgibK+XEr-cO zU&&a=7dh#@a?-{sC!}2F6lL4Q?r-maZVHmVDH~IhQjJ0V{PJ3*@+VZo%_u7rey_7G zWm*{Ov8?bXP{YNfzr2?1r3uvbWjf^I5`bWhJIA+|*RqzEKqi4e#6g|{gwZdd+KQ;3 za+BJdK#>uFBu(0M0*!!7t6ocbbA?8?P-|ulxq_o#bhpxwE8P2rJd!q!n*jjiS)h5%b;`q!csPO;UHi<_8*Q;q5Mm8FFlQ?d6*e2vywBt`C=gP2Ic zq0m?oLCY2fdJ48=V^mPA8b+DMB%i8G*{WMT`Ocb#DzGwcH11r7m~CD zGS5Xx&^u=m8`}mc5pHc|#gC{@Fr-f~)Mb^Z?HQGjcMl{7}$h;3aq3O-W@Z`qoDyKG`0|1LFX8{tY0n>}C z^V5B5j?nDFDWKfZYU)Np<{J>Ld)2s7+_I6V6 zcqG%J}68iU}e^t=VqF#vVrniw8iZ1 zF8GD90Jl~1)25hK_kK?JeiUJ6aLqj-ehwi-{Dj51)?Bxp3i42(D|j|dgpHHB%gYZ8 zhtf#>JM;|*^lnvKwT&bF$3<{Jel-UAN5@8u>>RtnG0Ttm(f%VtmK>{O;CTPkVS}tl!Qt_t#(|>; zWrqwLI6QXUXk%h%a%y6DU}|Wv40c*YL6gMJ;PPdc8uNgWpJT=+J$y8wzLlikWFwr=E zaA=~T*gh0tDMo!RBE0R&a%6b4jPTYg!czB-VB6e>ic{tEkBqP|RkCvRb)~)>$>ZCV zOr{xprmESPB-g~DH1?o@!#DvjEG_^ZxwbJiaIKa-X!Ov;*wOLHH28!Vd(hO;6(FNL z)PKa{=>h>$ugSAT(+POh*ntKX=Tj47BN}_<=|46!*ccw1)Zl|DVPtBUDW0Tn{Uei_ z1%fr|6T{e^PYxU&8azs$4#Ds(N~tFpXm7Gj*Wrn=(XpeGHcj64$j|6d8I#AXsB&gn zX>+jm4kx|-5%pPwVI_7bdA?^&?? zKI9x#GEQfVpm%#mCZ?D=D|L7DW9Ud@baLoOP>#1B+&I=hax~U*%*XJdS05cpVcv(T zk(@qN-vR#DKNxR z&c3}1-bcd6uPej%c~3{i4#B_kjPLVaO~J*gFz-)P%exo$rGcrjiN-LGUHZNDecr!F zbM4Rxr^tP=KCAHlrj~@Yuwp_Kt&n zy*?gg_}J*kXrF|5x;K890Wzl4*Xu*kf2<7iLFk_vIzH^HxHo7xEp=`aRE`V3iP`mf z|2**cz|p*Hk$bAtM@NT`_g&?k@}vV3C&s7xblk{A4vije40rX8_Fd&2@r09ykMv#T zJz&YhFB(t)LEZ&%fz%Y8WGJk=aTJmJDsOzWYy41m-&JMvkB=YP-FH=6+s6;}uyuN? ztsdkQ0=&@{AYRXD%4+cd2^71$wQvF>rY`OS)C|KG?=2k}gTZ={-p=dBCI%zG+j`_c zV}xUc*W!&Gea+AWyYen?DEp$M7_}nycy@gT#6!HH5u%DEcF~Z@!|+8<;w|+6OW{pD zT9o3AJ(_zHJNr>z8}*>r&Ivj)86n4!8ZMXMS8#uAvM~(mtUSsm;_&8e|!QR96;Kl?I-oXLMUa`%XTorr%0Phcx1xe@K z3SLwNd&k&JhX;6jNb_Q^kC4gnp@HFp!$^Ly*>4J06MDQu2NBB-9igqU;~yMWZ@I(M z1n3L`@Lou6Y>1lRNY}XaryoIYHCdtNLZ-J91CZ~9G$-SsQ1l7rzY5v2@9@v zf}_Tm3zJo7ht{oqPqY>e=bZl=s?+5{)3^qOxdq3eN--u1$LQAd@ zTm9iNq~I*bbfsOM*3-|lu?sbZjt#MCK-^FoQQk3iQ!jvBM(B!7-9r(aNY@iDeAxm~ z9W@&R+SaEIOHaU0nswdqAcz0zbl(^nJ;tbP*2kS{uDcqeO&7M@#LGl;9WPUx)gQXc zUEcckP)gX)RwET*R?G*)@^xC>%A~=j-2$x1A-+;vh7Qu9fU~cD>Ixd$8mO9k# zmI!SuHgRl{D`>kQ^SG*(@|Miws;bJXGLNh3tM1D#tgyH<%aK)$cD0&2wz*DezpMUj zuGMZ@b2sI_CHK-UTNy|0aaF0}iaLFG{MOIns$Sa7t29$NU)9U7+SavTDzvIFh9@R& zbB#VgF;APT^bsl}t2*sk*7~SAv+fLn$U{T8p0?_iNrd8*5{)b)oK{e_ncB=Q@|wfr z5};8-jk6dMI6O8!HV&JsLWT#9z_D|J;X}ag3bIe3xJlWk2FB5jB{Xzs9ED6m<3}l{ z%6W7UxG%>J1CeP`;wjKo84Zsg+uO%}nqpBQ8GB^oOhE@H`VSp}L-etKrm%_0V>GU6 z&!LGS9f(u((B!xdy9xFm<|-f~b(>1rby7Uq#33C>6CRwLvY}$jNkKVL(8YV50vzE+_Wn1QP6YS+O6I#4p5}U$`Q!Yo?7gq!|@+qgWm5 zhfr9e7z>12a-e@=5EWPiXp`%Qy<1;R4d6-~M4psnbZE-cSWA@Vpe7{em>L=(Ngw*6 zRHk~4P#I9WW$eg^RS_sIAAtx!5qRCXrrJgz=HDw=1u?RsLM2Di|PXr7d9~y`@=-MYj?TDR&bEgK54CX*1DjVE`lPM4( zJqkE5eDI*?xhRv4rF7M}if+>w?5VP|`AB>jgcQ)ZMVXQpa>O2-gE|pp*K81hc$sYk zq7Fq!CvKi6T0Jcf5VrRWT#1N?_7>^j_`G{i*arS%%oW8(*WL|J(rZEOSEOBB4N{+( z>T-j!KazIswY0FZ;<|31B{d7kA}MDN)g;beq{T;ybwd}46uUqD-Qos7mj%f@!G8MH zF=m*YBy|HNty9tfb?q?ZN}p~AT4B56=im`omuDDy^*92PR8t-hh?C=1*FkE9#+x0y zH4RH&T3B=sb6U&JoMn>}shAbDjwQ=*=kyr5Sz>i|?|y>am{uuS%f;w)B^NTBE;**k zY9b2ef%wYW^r>c406EC|qJ<9-Yf*a*dRg0;Uc@h}Y#U_B?-ykjj*TAT3b*a59xTyQhGB#vOPl$)ipO^?F;$1O8X+77B4*L@%1%AP&NQ=g47*&l;NlL}8;|j^ zim2#VB3wa9vR$WB-m8+1B+NA@2aYr*OoI+B2@G&=!G=Dp`x~Tvj;n-?jgCq$EF`JeI_vC^AMWh&EB-Yr&~*}$XupP*iSJFW?aLC z=_#xSqJFKt-o?hsGM0Q{onjZ$x@)y`>UnBIv4SxTHlD4a5_f=+Z?$+8uI=BrCreSR z0H%@HzH|NPp+aBRT*JCpoR*<2rU0(&GeFnPI3=?Zwt;Agh7vBKec>sZvUlsYkRFQ) za}g5!+=twXvh7JNVrr;deBQ!a@;unkr1%z)X>?)r%-+Tle$1j-8sY9;3SC;mbsc_? z%OdF&B}Ob#adT}>HX8JnnUA%yX`=0d+750DtGc3==fy5P(4?ZC9>QkvupA?6bD5G^ zs`hc+op_}6ShP*zXuQhQnD#DQ&~P(_W7#XFXf&gg-%;g~L?|lCx%|IgmPV%8!nmv~ z$tsz{hhP)CCZong|01r_9Aw?M3w6k_tE+oqb)m7)mLY~=0Y8|{nR0x5qLm>}3Oz{W zx2+-@_LJw=o2|3cvQ`qERke#`&8&=>UI<|&s3uJ@!9}Z{a(ZP9Czo~?9L(7P&ERE| zd1IH>6ap0o1P*c+Hd!9cH)NS@wvXhFMC;l5UQJVaWT%RBLQ}Ag;QG7S zTFFL*gqj3N6$_`_Qn8CO5v|(jX)O?7#?n4_HWeOdwr`A1+J(%lQmL&{3V>Fx@Pbru znr9-MYqHj5>zUspM9~eNkmRtmlI?v-8~KoRZlSq2tA`I1NxwJfpq>JFK)W=-B2DeT zir>7&USw-gMoFV;iScl3($d->$hbH%3m%EQ9g+}XU*?DyyFX>uuFQ#C9)Qj6CkeeC zWQIR^4@lX?PnDMq8FK&MtlJ06%!ZWL2=V zsmaDTDiOt;1yoxZ5!y)9EKR7Ef9?ZXYb%I~`paelbrVjR|H{MLC1wFSSf#lznavK$gp z$f~Lm!ffJA5MAcT*f{F>9T|*DpW!k6++lM5b1*ewstv&S#4+XJ80i4TwbUGdfiY>x zb=n3T;0}0-^JiHtly!73y!3VLLNVv55w=c9^slTkx5-Mm)8M#Zc+Uh}+4{5|Eu^%2-^{@({(wI&8ezvQ90tug};9 zpiALR@~&vp6MC;UEErPDSymeW!CaA6LB8RC@Oq$RUf$Vdu{tQ9u+^1k~chAgOZFE`aNXQ3W z2Jjy1Zezki8LCeOz*9V#}(=4QS3B3%Fc*Weg)>@;suX6P3zEbn;eCQnXGkC0MyS6{%gU`3oB>GwLobhi$=VqCD*;gqJYO zC)@fA^DPSJ^FQ7|p5fBNeKgw^QV@8eTxhh_+v{#LjW{(HjZ-aLHQR`>;0T#Z1E_Va z1amn7x8;O1Qvx60Mx&V%`1nfJwE{JSDq%J!h-VtOYiz$N_InI@hR9OxxcxJ6TYKr&9TOIOgk-6RSoyC3{$>^k~ zLkAC5{7F$dK@qaD?CEHBCG5tAXV))HY|Jq0lj$2$2O!yhOSq!O>BaT3CgXqITUM2a zGFPNz_T2@wPz;rxQm9;q#YXJPe_7=qR&TkPx}>m~_v=*5>R#Dco5@cZ+AQ{qNIdu3 zdjL5iunZbBOmrBu=ETVG5iH*@i(#t|aL}y$x)PLi1$%u&`atbYa6szSo`fbaKG~DN z=$I^6kZmL9CfF})?uat$J%qP_VM2{0906f{l3O@xt>$*$8`&uE{#tf0sXpq+%pp`y zG;Iu`>zc)0OUUDUSevDEp}|7AbIqZ?b+F$w);3yb=^JO~&37(&bQYO7Y6jdGx*pUJ zIx^e&iJ?)wpoyRZV^}M2+@XP1OtgeOuC=dwZ6h5H?Mb8Wr3A*=&;y|#c40dIiLc*y6;rg~4_Z=xc>UnQ9s^(TcodzdUovl-AGi-cTO7JtQ)3}ncA=((u6%=u1 zre&Kwp~1%#x=;o?57SKY*2_L4!(1-#1pr?UI%_3^RI{VnwZq{d4v-v3^wz^pr|vf1 z2`VqDSkT%0L!Kimg2}NWNU@>|8j({#o1WrAb|5{NaT(Y_qoHdQ+3ZdooiweK$=93% zLXO5euW6JN;B1&5Q0%!46_Xu{FXTif?;4vlmb?`QR!-O#!V4|1Vi-CvcBAJkT56;D-g998MAQHmbfu;Rxt z@zZgbzlZoC+E|#?or+H=sgVY4kg(@yn^I)o<~i+U&`@X=cPH{;H_!nI-zH_86A#b( z71%nzydE|qUF37JAG~(xn*ZWp3YKPKJ*3PYoQV!9r*{u%Z%o2Mp=?gACK) z?gs4{AIx2Vk1(Kt5O)_sPr+YtY@q{Yqz0oG80Vb|=GRpWX2}Mq>i`N2ZwB`4_B_U$ zfdz*dig`OoI3ZO;G-C+W38U!sVhfDXpo0moiphtkG9U;!Hl)ilTD3>EymUOJ+h0BZi?&Jl z#$uy;f7IHTo?%am4^3I5mJc7>vpS+EpLZv{D3S&d*W+J8Udqp8&*XmXBdj%?BYy~nIOuXCD=s`aZ;{!b)%G5jB)lf3Gfrs z?UG0*4hE^oF~s{Q^(Ydj^SAlM_hdR zb&>l{hCHoHoBZ|p6~r-p?a=%YluwUOt*vbEoj5ip5A_vK0Sy)yUwE^xv8KpS9}v-8 zo;klMGC05zAAs1hCF!1@_$}KLOhNfKH!6fTJr}m^f^7^9qBl6so6F5pe0+kfq%F?H zIQ3?3ZJJ9!J(Rb_hhkLHT<`v^!nHT9HfHz;-db~pPkiJYnByykL2R6)`}VRPnp9zs zSMPp4eQ{wX4!4TgDigfX%A-5XT8ln;Vdm3{EStkQk7_Shf3|EN@@5skRfUMgDZy54 z#oI>_zeNE(SOKL17>7;mlVF=-FKm4edLgN_Fize|(I-d1%j) zIEjsqG;{a#nFLZ zH{&EsinT|cI5DLM>UIHV*JUZd-k)^uNO0irwTRIP>8))~Mnk%ROi@SJHrW{y96idj zFJ$9MHpm=yoM)36O&sM(4?YpN5k!v1u5N@4GbQCTi1Dq?ghTcqTw7;~vtoyRm+Z=+ z+$8GdxGcK&M~7XH1$&^+FbMCnv_QQG0#=#;)}ql}Aq+yJgX7-(Xs|zFm4#p`J?zye z+ZaU8`aJptQ+-Q7N(Ntq&b#U?LY*rR+-eJU-av3D-;^5m=gLijMHP0Z79zK6afv8B zjl}kwT4;uE-hJ2={BeEO44a~C*4N(s1hv;l4?TEZE+Ju5-kE6jEM6GP;Ar-27}-%I zj4$y}C%gEfrrMzuEndo3rzjZ6tT>l&KEJ-Qj%=e0>laoXBc@GM-%3KXrg97%upXRm zqKBMYSu;nO2s$VX@)AZj9;{G@dT}S6^EqA;5gfuJ)>4EQ2P0pQshn|FeJd^TgylKz z?^Kiuj76GwtkRne8q$#C}KJH>O6wz9Y!&7~}W!S_(C0JKe%QZh^XIQOPXQ zg4C#BR6eFPHRpn)QKIr0k8_S(-fHlE)~|ROn`#S2cgz=e%iI*7u(iq#gh*|usM{OF zklG~IxL=F{n0n*2xe1U!ak0W%gJ=RD@sb$D=xSWcdUQt}+oT0d>XW)r%ONGPq-D03Dcg+wFwq0&0$g@O4Q4Mr)B?^|{TJ)?o&S3|wLzEbVgR9McP-wdfK&9nJ8 z0>8^d%(H3ry*&^OADzQW%bc~Yt(*G0!J?qgKN%K3QMRpI_$lk!*Ta zxXWrVYUCx4ag$*9kEsg9;?Prhl#WEs^$42XSS^~U3lA4SvIL^r~EZ;R&~~em3vs7 zNNc*kjP)t+EOhR5bX~_*FZz6wi`szYP77dQ;k(Ib7djZS_V~? zDlUdY>>A-}N#FlQ8|@4}543%bTe{~}*8yov`PwR3Oe=a}I{P*rHxnsiLuV@!maDAJ zo>O~y_ROb(r%y^GVIgHX@q+N^L@L?#lr6;;jHuO2WBMEki!GY3$d>aTB`P6y>n-^T zwN0d4hv}J<6-mp}9+#jTic#=2(N4O zLB1G~(tVp|zL^6;3)%|?vAVI|U5(Y;k~XSf3zA7PP|R8xlR;HbRgR`EXBEh)m!?lM zbP}bi)DrTVtXRq5FAHj9P zQJm44-E)yyp7-$Vf%C4T+;+)8dW%Ro^}7zES!}6Yvqj_V6q?(l(|XE@TSGNVX0vjF zpocMf?2($U!*^G=mB7r!#QAY@&D}n0R}W^!SwN zKY?0BzYk!_W46E!blbVlBk)EuilOuHAfEYpF9$9yC63bW;CGk)kw%LkEsB^4@IpKmB-U(KV*U$&1Tj^9$lF<}tHW zB#Jv|->dib9y}@sD&Ek;?xDp@YVaMXr1)3iv9>p<91-4kD|%!I- zHw8p_>xuF);*v4SNW;Y4VuYwMs89mQwO$`ig92L9aT}CiYCZM^5i~Kx!$Y)bJT%M= zpBR$s#6I4$N1{p0_D7*M90f(l(NUZS^>MKn_`3dyQJ$S9c;W;;-mrtGWH~d4L>|gu z@+iJ72=`Wp^fJCZkgkl5$;m-`FqTezI16eI#5JPaAG8II(L$a$wS~!Flw1SmKn<8` z$vru7!rsH8UC3#0I~9FFAZrWNtK6b5N*D#=8K^C#yp76bV0)mNjSqyjKs6h4>l}6+ z&jjQsAP3-Fc-$43^4U-X<9aKF7v14CDXLKXt>Q^lJ_V}`9&ti$mhd3BDcoH@%7I`N z!4rk30AE20rmeQz(3c5vYk3g=GUk>F|3DTb2Ro|RdjwNBh|4#;2U;X)c~b&Wi)^{K zDgs%Y$9UR;O9TbV`%)jyfc$qNS^NNbfYB=+fP^NmB^#c9?6=u0;`YaZQ!&nd0&1wa z6%)ce5?*M{ZK)hD6hSQT;e#jo@a|)Qa>FA}3<4}rJlL^18i(bzPeG(UfI9?v>I-N* z5GOu@woGu{qu(b^n1@Tb;d2<2gA+c-Mu)xLyb~vk4Dk2B1(Gh?lh#(}l1;}f({LcH zv`#k{O?!8UO-B|_7NT=U`o=o8Y*NMIW|$C{Xc1X22$MR5SEiejA~LTb*2$lJ%DueE zxh+26?h?ucxjeY7&egRQT!}Ba!Z{Tc4Z-|rY1K?ZCZmP=WRc`DD z{6#FxDqDV^LC|9sO=az~fL(>_r7(fdXM_d(^h?rqvv`WxRAes3%a43kz6sC}fGePp zF4{DzOFflvNe6i9V*^28q8ki?I9n%y&=DO^KK70W2v^1+pIA z^mT1wgsjm^$ELE^arl?xbscb;=-``4dx@woO+^&RQyIVZ(yO9xQZ)<>hK2q~u}GvT zXglJ!rq9kStx8o9;_}*=RG@~3R(XRZ!3W{Bh_D_@TI0hxa{!+%eL5^=SEt(Z-0sUK zR_I&x4VOX-vOBF$k}a>aB}51;684z3M9UV5oR4&=K)!vJY@6DqPzN3jdpGI>ZxhB` zQlU8D{J<-17OYVk<72U@`6qKnq%`&%8?xigGo!8sEv)Jr03yRyTIg=zh2W3rQ>=ZC zB79D2IlBYw2yBs31jo4rGZjFg#Pg0w zUWLMa*15)t@PWqa;s!<~{9g*vSBSznN+gmtSrnX7aJeRJ$O88ucGiz%Hl$~HWs%a& z*zqx9IpniK8)p3%L2Jz$`6^FJO%01wQwHfx%fj*o>pRp`k&#FGc8+Z?S_R;H=E54( z_{}j=!|R46iV)NUCTx^}5-Fm^^*03-bEqwhltKSGX~&LYd@hQBZ;C~x-Rt~$3>`2) zPnf|=D?Ku3)Pv7P$igz31p8i|x0?;Y?%OtpYXdR0UY;LcvJqI$ifE)OeH|~ibY*en z)TY45>&O2zEDA zTHA#s?q-%yaz&7|Gt$Iv6~vX5-&aOj)H4?bB+W=Jk=pfSyp7D5uXV1~Ql)b&b@&`G zR9%WMF^bCR#WKJ&D5k~Ec`T@_D#LJhh0!Oiu1lkobJ*o-YFE^31D*t}2(!!9kiE*F zij2!phz*8U)nd72>akn|N+*9oSPXqz6KsmlOs_52bsl|cyUxB~_$9&Rk*Bj_Q5g$J z=AdoRO8cw8oQ}K3Df=Zj9DOh!6u zN$gfR3RMrmsX6F)izd%&B!Y6++oJ4CsyWWtM`zf%=ZiVNvRxJDUVujb8Q z*7!6RwQfHhHXPi8BV$$-npvThxEsButmupnYZEL|=?=Am%sjX0(QiO&xor?{oL-7v zS;K%8Yo+k^OPIDOjUmf570pjwXynF%b?aDSY;;Sw)`TVG?1{flpCe~(a5=|>ON-o2 z9Wx<8=|sc@_%h9R2~c1CEA|C^lbJUr6J=+D-&vQnH1Z0aZ_V?K*VHITq2G!@|jz)D5poHFQMPL9f(d+?NDwK;vdZ5k*W`@Wk}JdjJ?glJUe63hvak}Vl(?!)qk3kOt*F_(q8;}%upUz(*x}RCT8zjipOY!< zbtST^)H#*RVTW?#tj4c6ZK>>4J}2vUnJH1MR!bJYEg=`Nsj!eZSltrV(zy_5EGu7! zxQ~idZN%pL5pFGYc++ukYa*Ok?zsPP2Tl26bzHDnFO@4~Sa84h0vl1!L?v3)X zFCXZX&_4+m2~TdEgfHenmi8d=(=?+x5=WS84otd9y+%)x>xCfkZl-guKG;T~-hdgM z%wtF}Q%#3UCC$J_K;4nevC7!sh;wS0Q$a2)7>swV0A9B8MKw`Gfm-uT-Up>7tCJ}| zS3NpS%hsEcK(=s6uhazp0V zR~8H~aG|O25m=;{1-DVw>XP~)QODYv3U$iHbYpF;Ri%^IhjlYA4(u6&bTg?X{7&Zz ziVCwivp=wdO_W}y(pjJN!`haWf~ATv$u*>AWc6M&%TzHzeARrncIVl)hUzBtSfUGk zOxzB$UAf5?gn-65r3yRUt#L1KJ3K#A45=SnGrw?{DX}u6TRN|6JB^f-MrAH2smx_G z7Rks`*shSTC9AauQZkCj238%B5WjQ zRyNQkq<95uk!-@da{$wm2Zb%P`n|jOU94Hs*CjJ6Cp!hL!q41}h0J z*RL7LK)MJ!SxCJ?)1915*NP5QL(N60dI3KpBD)fuihbDG&;!6<@hV;&@UJ)`LE zW`nH7{uA?JQ5gRcHL!c@g54}sHS!xX>rxKnq7wIZ)hx+Vz%t#n{3roURyfDoE2(*m z7UAoq`VuHFmu)5Mg&?XUQC?Q^VR6ZN<#CZ)5St;?n)q3aAR0jQnhEk$k>|r{c&lWb zfe|5mmy-=d?hGH>%|=<3c?1&CNp_#;j-`pEa6y_B?xIN`jV10ePdRVYYBCVzIf$fG zMeA+YVh6F`vJ}?AJyE?CpH~yIoEnw(b}BH%Y?NbZlP;tTOBG4dPQMWl7FzRuI8T+e zAA>zE+OBI8K7^Wv#?HwFUX}Vwl0-_7(nm9L`oJL@nVccA++Pt<_A1H5sp#`i>l2O z$jCAlEZT|`hbfyiC3U8(S$C8mfy zYOBdQL)p55>9%QdlCa*?cbBj*=-t8V(gR$ccH@hGk}G+=^X}#fcakg90h~i~YkNHZ z?%rW9MZ3A0<(Bmrk5)*~vtwxNAci;mv};A|F&z1|V!FTWt}bMCJ=+~uvFVDkJ8og! z!lJJ`E@JI|-@jzr9aph_jYZq;Cxz=+p#yxy2oKua#tIE! zg+PP3jTIWiKO#06T*M0TCA;y%pk70=@L@=}f>j(YC$L@U=JwT)K0yb<^&WBlWWJlb zS0O%^qmiyN##2U;UYzm1+a}S$BqT#$1O(CgdZ=gz!4&Wv` zrHM}P>9Z6P9pQ~-4)Mu8ONPx-K6*XVe?8e`01PtQC zAKbg+z>q$;$0htwKbQA-250K=O$?c}2kz!&XIt8XSkCnA<{M~5(g@QdsU_}rzOndVbN&Y zjcZ||{Dw`OV*jrF+4(l<@Q`Z9TfbS`DnYj=a833W36N97qpcKIPi~#)6q28(a$RCu zD%pykKhKNbD9BZZZAma=CPgkq$|z2+7bY=HfK?*G z|0-o3H9$uk_;bGR4qlnlw_5fh7Tr^M&_{VIMXZfyxB#-Z7&*ut@^FPKs`C=s?=hkT z8wAm1?#~%H&&r6l&78K=E7c*C+X&>wNrPh3rw*rgPL`^L6i&=;Ye70X?6#-5kg|?l z7{c0Sk+!f6UH$74!({*)Q9B*_HBb@>cDHM>3$>eFRB|>rzs#8C?EH=sB{^%GA|s34 z&ZbREKyHVu`DAH}j10UOFc$)iC5*4jJLIQ~u!D?>a?OG7j|xnrmEtsL)N1KdX}L2- zE+IW=Y`Ff_sUq}eXvxw~^xxIZU!hb?;#bnR=~_eLT3}PT>WM<&h4e!+<=R%QAr1uc zt*{=qT?9x+Kew1~zok`0o0@V<;mQM=N^^)nNol80>P1CcNth9ZM|ob#+k1$h$`oP; zgGfacv)qG(IuBH^W?j83;NHRBB5rjT%SC3E@jFR)t6k%s1tO48?2qXgU)9PZPQ&e~Yu_dH9C?!RO9}uEq4~eMCy9iM- z&ZR_V%(5x2D$>n!If&)Bs!W&%8ClvVPK23V7|GeL#kwX|zGP*a(hcW7*W%E}i4q?> zOrEr~5UVNu>O43bJEoEJ7eNkK>-e zP>#v`qL|%5qc;6m6=@Z-)l-Bt3l(zO@oQnr7X)mq5AIo6zEGRVOH$^^FCXPW&n=Nq zTssiN(#Uk9i?;}JqOpZEs+Z^$>zgZyBDSU$=}DtWu~04YnNXI zc|sIoR+?{IDN#JtbwP!F1g)Q?a;Yh$>g~}sABpT9O^JG3Zc2%8=V~vHqhV4yMJlyZ z{WR#3RLaz|YmY0Hypg;)NvV{{I6#|06M?plHRql(h(WhvIZ`{lRpzCdxs2JLDbUxt zg%wvXE;5;yh2oH?6-I-NC6m{I@kXsF_-0wVT9xT~+m^0rgkrhQAmqaeuv;RPd>3b+ z^IMY1WyI)DL*q?7hG86g=aP}CzvG&t8fWwLz|=u-cqJP8S(EIKK<{>^ZCN_KU@{(G^?;bzlCGM7v1%AkD_@ymuocnt+_<4jEH5v?A zAh5^tTt9lP0F-}uqNbO0|DdO$_I8rq+F2x0Gko^0@`4f8Ygvo&&Djo^bWI0NYVzR@ zKfDRLnwbr{v4k(2XaU|X?IBjwM;ay2{XuGQ_CO>BTt0>&+-Ppqj4S|qBj@N^MFy#I z(ysHMvwD45CMzwZ?8M^vH)PFM9Gyi;tI@Yjor&g~IG4sEEb;P4ayB-BAsxjE*-r;> z2?#}yvboIAXq{a!UwEr{GMkK~xCCH4b2vP|OqU(z*(^z0vVpOy2l^fNkf~Bj&wT3dP$z$D}MAY5(WN_E406C_8C zV0VmOxoh8WlMKXPIZiVfOYEtwBMhd=Hi>kMhHb_*Y}{Q}3nnQUg1W6JG&uQGZL_KC zK{PayoHei!mY*t5Z@$f1*EIH zDnv)|_Dsg$4(2^Uw)sWb>Wd(5Ny}@oGAQ>)S<#+}!!(q}6Otsl7Q$o*JlX_}!Kv z;VOr^mGjl;v|nJNd-V%h zPr%VxTZ>f_zpWB}pFeNbct&qD==^yzGLI(vAY}uFlqeXCZxz8D0;p~6O^G#QC+gS( z?6*nsn_Fptn;K+P5ZV+-ZXQn+uTaO4;ff-%-gsi+`vYo!#0foVmI znF4fd6esdgOd+ieoCDx5%Z)yiMkix=U8*ih36T!ajT#W8z_0|Te?yBaE2qPm7@g;8 zIgf=3^ueg6lja5RzFSl1JEqm^=c9SyamD7{zLbg{NUGpp%PMRBo5{r(zNd4^`1J zGeMU^ufpcXDIon64|H+|tZ|$Wk-7GPCFQylQ){p~i>6n`<@ksI z*UBq|Kw-!NT@jLRFpBm^X{IGgD}nD6;q+HJ5_sL|JUilj(uGA95pMYPa*wteEl7-U z^3tO3wr|^Et}rR|(_Ic=a3sG=)9xhA?h_k+P9sv&{H94+It~4`2l!%5322BbFQXwO zXRXSolCugEI?|<1PMl~fO}Qsdc^xtK*##0Kl7CAoGk0-mR8KCNpys(~tC?R!8K=9- z#_OSsaSdx5h#FH%BhK?hRMdcVgkCzNF56g(P*X1!iQLqfoHJSP=iFp0DGZ7UG1J;) z1muj-=9m51XxPt~iG~xsLJ0WOFd5TwFP-Veh@!AqyQ#UDnWFuUcJbtwQ?7L+H_Yl& zw_@t_?$6jx>ZbGsl@X!#GcO?0R{@bBO=mzRqVx~DnvI$$h&tnjh2T`5Y^EZVd(Zq^ zb5TH(mf$A#*E*w7SvhT&r%@CpHxOky_`5Pd?!+XFfc(N`i|t;w4iec(Lu#Jv%OA(U zk@3X&<>NN?4IQ!K=QM52q4{THdgELrD0Fp)^G?m1D~83?rJOVh3=v^fuR*IomlF7V zNHofPsTj5BBLdN{L@#o1rF#=EUA0qkmJg`abq??`KRY7_V0k#Fd;)2c2e$C^ z@1##Co-cHOGXtFL6U^N{>5W_xcoq`rxwf8Le3%PY_MwwNBR#< zCNRi{CiopQC?TI~ku03+TWCqvvG7E#P9`SM`;xL7XH5ZWvNSbXDw3&eNDY_{ZJLh` z#42*Kh(bl?(GGw0oe<>_MOk+5rAkyNQ*41y?FOGuhnkk0;&i3e)xF?f{mS&Fbw?ST z8hr#S&)16!ysPo3kWBeVdMeQ_L)cSQJ;#egiq(r|)}I2o%Ct^N?Jy_h3{{y>Y|f=U zd0sOPb8r13D(l5gp3feEbbX`w)}c+Cuj#6!UNeA~+`M(_Gn=F%irvH3kRQY4N{I3m zNg1}nP#Gp`f;lv9JU~bzK#C1~I-`WLp+)!PwNt9L(}g)K_^Q-WO@)QK>Rrx6Ofkzw z<}tC$xGKwDJ+b%G?O#M`MR>jlXk;auzBb6B$fKlt%Bf3fKGkHpbObYc;v>EFv6{8B^9$E&Ph|KJh`Mu)!-4>Vf zszpWKybUOCii^BC&ZMTI9WKE-qlwNE>!X>@Kwi1ggcy~nm2*Q$U5#VxN%)?Z8$~B0 zO+}_rX1i*=9p%z0N&8dl%nDAuZCF?xBz8uc>+^W)UKyV|n2Hb6W1xm3P$mfTbTQ_Al|j++!2oY^J&>-tuk zn{+Iw&_bw&t>}&&Nm|-18y^iOnqK=|u@6OCQzP1b>tIJ{+Iv$Kxol!H!_hMG@mc5f zRlNLBtE5Zf9ftF8N|*M-)VF$ImTueA>aSz(6l<*O}r z)t;nb?J`L_U?%ZZKryN%5tv$xVm9?ha;yznQemL1LZhQiEQUIeMvHDNhZ-s%FA~>i zt8_wWZ;Xb3trBB%$2-n4WT|I!8u>XbiZFG6L`96_c%SJm(W?QV89W+{sn+ze6BFhH zD*#E7AkDSHS;HRgCF0qotvK^4LOvsPc_?KqhBG3O26e^6m4SJ}y-dB_X)iQ*jgz3e zJvIKL3TW@TU+8Gv6RZ|ma8X)0f1bfQO@?A%^abj@J&E~O1A{eozA-wPoW#epRiiLx zgPS;H8V4hW7zd+H8{nd4?b(Xr!`G@iWE6K#-dE+g!u-&eZO=ED@spCkNty0&byj-{S*T_mGZ&_|xJ*QSB zf{e9>n`gyw*xP*Y0_Vax=R>S)1iE0E^Cy^UNFuQ0|CVvB=F)Q$ z)S}!?$d}d_S*3w8hpTOqO$ueOMZu^!M@XOONQ?nTN_e)+nQ?sYoy{Hboy`ZHEd{?j zFcp9G+0!_+%;zS1(2&L2hEGT(kHlpLN?m+dM*EOHauOGUlHI995uS?SHLz5u{yc`E zN->#FXpgW^hL7i3{>?Ke(1cgqO!2e5J|-yD7ZFl{YEnf>w1%(eXu{0Hrnl4*s2UPP z9ymTOX1rNJ^Q*>ijQm#@R(X-F%?PfU)c}zdQ)%t7+1yzT_XTQs6AZ4BGBum#Y`%KF zi~eh7E;Az`CwQA4JD3pWPRG#)q;}(aCdmc)l}$(izH%X9-jrKW*VW*n(!) z=H|Lze7#USVh3fPk5g44aQj|N2VCmVBHE<;#U9>%VMt&qe`;?9N-zT4w9U%}jI_%m6lNZ91?O9|b1zPumJ_{r6XK*uVw zq;1brX5x#KF;&Q*+HaFIMp~1r8*&nmUeCD%5PPCNx5s$7T$Q946QTm-BJ>dbf+E}u zB1!$O#FNfCgfbugT!ct0C^d(%4X<;4j9>({EVLr*`F9t*X(>$`56?326L`!Df zRIS}Rq#CH0JGUg4BHI+>?<8iCl6pL*c4%OrZ~GO8MvuOHd-u+(_HM^YZ`ZDUySuhu zG0~jeet3F)`-tpHPQj zEgkj8`TG_8m;NbE|6ay_&*VR)tAA%ly-vh-ey4vO@k7h0lmC?N3esIcx+?%FUVru9 zKK}a;{HJu|-`!Cke+GYvP+rxkG#B&VxAGrRmhO)4>!{yBBNmh?{wb~g9pb+)ed$Xp zihA}NJL=DVcCGeCeybe)Q@H+{;=g~1bZ;Zw+emikioOF+qu9x2_ zUVp_l7Wprw+wlV(^&NETAsVH4^)IE{;J4a(k-~nkqu%kHTJ2JPr+=y3RRU7F%Sd+_ z>F(12#6P9efB%vHQo2WO>!?4%VC_1k5dWvK)4%WJzm)FcCpzmFpL<&EB^KlVm+Jk# zNT>c@L%M57xA*&n{NMKY`xgGHJZsWz^?L2%j@skbL?nN<$IrL(H>G?0fqMOMCO6fk zBmPk}M`qhZ9NcRBg9(am$ zA1Km2M7oDa_oNDnf2vpieUSfDzuNc6AJyxROmx&9(WJ+}?eX_M{;GZHpVD>Q{`A_5 zBS2+sU+c(#0ml6IO{HK11wnXz~c@I6eUVFjU z5*YtdKN2qgiq8l?BU&eZ;@E2z-*D_Th(9=1?X{ZtfMXvJt#`+wq*_hu+Ody})~{px zQ`0(itX|M3)|q1#Isdfo9BTzL@2oG!nnC){`f$wR6;I`e}ckk*UvvpV7u~)V{CW zl>VzWVeJmpzh^)N<-B&(KKCVSNF)(fi#vYE$4eCd(gHsn++7t1EqVG~Mfz_cz8>TE zG{&zVoW|p6>`Y_eZAJXIfm42!e-k*3_tT)%Tfw(Q`HFuF_zA{Oy!UCf7uMdv-#d!< zcYz-$@GpWdF6#R=aGI~D)n2e=e;)XP(}Vi|dnzxm>i-1z{+LhYSADghAH}P_s{PNa zeFpqsPX86P|JfFQ@g^SVmnKO{T?YR2TRZB15cnH5rQZQo z|F!ZoANz&>IN=x8`ZuLN1l~@(2u0&Nu_^xBH{n^OFUr3O{H|Z>sEabyzFWZe75FXS zhYS4U;A?)lqy8O{{%4gQ{Gq__1>f`jj{4oO7L|7oc>bP_x?}_44}sG^jn7BH*U%nu z4)ynA;MJmip9HTL`19a%1%4*=++5%ngKsJDcJQqQeg*ip0)Gp5`-6-h3rpkoD)8Hi z_}74UeMM*eAnjB8XTf(6|Mk({o4}8NcLu%%oc^hQ-v{3QLuvk=SNkFGAe+hiq3p?v`f&VLbN0I*{;O!6B>*B2H&wm4_e`?PkZ^C~8 z-c{uPYw+r^i|VgnoS#;EZtd^EKXKhf^^;cKb8C--pLV>$Uj)y9-xTprXAAjzusE6W zZv#L3#6|T>qr9&Gzw|X1)%QmHSA&m(2P6Jv;M>3LqWVuo{5OMNd3{xWH~5yG&boFY zjnB7$chFy7FE6YOf_D}8T5$TO{!f5=ivG@ldkg$J@YMx=BlwyEza2bS;2#4YF7W>W zzUAaa^*6KCssHZo2EUM*rYDezCKDU*KN{KYUkb zy*KcK;6d^;e2m8nYo7p573F;jJYL{`1Ybk>uZ;XphmbCPcW35b&j#P|-p;z@WYvEu z_;8W`W#BvS?5zKJ#9sxz_2)Y4Zw>q^@chpp&ol1I|61@!k^emSVe0!2G+6Q90evA{nLPX9!|KeGw{Jop{&@2tNs(*F|p;SY4ywePF^d%<`7RlWW; zqpug%eiQsA;>RNX_rUYNSFcOb5&!)&@C~##rT;5%?Jq0*H^T8x?fJ|m{7>MUDUV^c z^1iew{#h!VTL z8^AaGU!8TyEo$F8z*C>@tZ$3*-mUb1+gbl$#Q#_D!{F(_zYR|RRNtR&!jFI-eV`iO zzuy%91@L1<{6%c6pDpmE;A=kN`Jc~vxdJ>`;4bjt0>2VGQs4pbt0{nx=F-vd5g#J?3>hyEq$EBfg~z`Z9r>z4<9DR}$Wb=I#4ybC;A)Yk{T1$;a4DsKe*>7VbcuSWV~;QNdE8sJO+ zsgzCEqyo2-5jNw}CyTOx{%-L5KHgbxM*Mx?t0_;a ziWd;}N8oq;k51dqZ9Kr27y17d{NO*qzasw^z$4_B9H;!xVqdzVNdE%xD)j&D@H>_F zGVmQA?5O`x0biA1^zh;-+Vs&_#44j6!BMrcNF+4 z@b(vV)_)+%dlmSGyF2SY9QXwI64q;?zZ=2V{9R|z!?xOg5~jS5l3wHUz2FDm+fna} z{BH)&|5ml$-ws~g*;!wY_#Xv-^cOo!{!@Q`8hkzUB6&{q@&R!D@2c_sDEJ=sU;bGC z|BxSxq?i8crTq5~;0FtO`DgI>i>vkeEEeW=%1iBif$+CJtFDv2+W!*pWpC@q{6hM{ zt9NzQ?~eMq!JiI(sPX+)aP2YL2Z1U7A@KbV!~Y}wQSi;QPx6BLa|--G(f&2?)L(SQ zdfirgJ@`$e|N2P(7Vz!h_XoZMeECZ|>)*rtYP{|Q-|^L*^}n_FZM6@A&vD*J?fnq= zF7o?)uztZEpRLC8FTnKze+n%9h_9FD);oQva3F{@vi?-`rXMO`G3swQmLAPkeX8kAW{P%9{l5`cy}~8R=gO-cI~A$gdjj zIq;>orT#pxb`$tv%KMur@4LZ|fu9ld^mg!lte@A!c-;ZM;dxd6-UFU3@IBxs$)CpW zcfpUrZ@sz&BmFx$Cn_kmZ7`Ub)41wH{jSKuai2j#sq#^W6L<|6(( z!FRDgz9PzhGkByJ-yZ>A_VUj9;fVi9aL?Cv2EA^p{S5e_V*ULB_?DvlUj^S<;17Wx zF4BJleEB_{^*@dBe;+(}X=i;U@SlNqJ&W-{PSN;00)9hL-lxHDD)8sPSJU77;R71K zi=JDnefS?c>pfB4i@>Wt0ewQ(D(|boZ}^qY`a2{3a`0_Md3(TjL*F|i{s{POMf{X7 z{6_Mk%KLWk@sD)WKN9r21it>)I_g8Q-@G0?73Uf8lkWwO&|c}g)ZU*0zoRJs=fSrZ z_?N-={O6APY}9uj_)_E_x@+~{55A*F|1t2p3j8Rz=U%_}QG5Rm`~>53Yvg|dd}ooK zCf4qOU;S*vZv#I8KVz7!z88XTrazBerSOmX)UP&r-d1}#`0gV9 z72wMXdfNxCQ{S~w{xJAH(kK2s34RRz+!y728~85vv!9CebKpBJW_`oJ#4nb?Nq_u; z+Ot_J@RR@6S^uBx@9O_|fyaNNBlqui@VhRl_`@%P-@$s_ALV}ld}k5=o8bCqIN!y5 z{|Wd>==rN6{a=9(v!AE^^?!i3f3~xJI_Tj`;2YRKU~kr*XR|R~4?V2L`oB!L7@uzh zuYRB^zYDxr#J>`JSJA!^@Gkh*_eS~O2EL(4e*^gLBK>LbHGk>nX^qcW@FMFY_2(Aw zrJPTgZfoxkDxUTxe)(hIH+{adzBlIQz2M^??5wZF`1~sPX42P!AN?-)KI%{M)*mWA z@vpJ+Yqh@tKMa48zESP@9C+&Pj{2d%Uj*MyddUM?KhHtVe*$?t#lIMQ7xCI(U&?=d ziif{6Ed93HLGY)yyM93BUkkqE3!SEq5R-*irT9z1j}-iR zJNV9D=&Zjv^7nx6DC!#rzpKF4fp0;6NavMl@OZ)hPJtgS%3lCKd{;-_@6LelEXunX zd{=?LAAEO#-wu9Xfqw#gPl101d~bo@3m*ADJL_+Y{`@NVR>tS$fqw&hylC$O;916d zEaLwhy#AY=A+K?N0KTs%|I^@mp}$XA`daOa;9Z6M*};X(hl}*vz#lE}i^2Dk-}wXb zfN&8%2p%u!VGMlNH+I%HqJ2&9WraMq2;K#~AC348@B>A8uLocMsY>2?BRJi!i5`9k z{9uv(XTT2?_%86{=<3&Ec*=;>>ONzWgn|8L;OLm#Q=w;TLqQQlQb_%+pf9{}%y zAG|Kgp9DWfd#{f6&VuhMReLJBs-G!N*yz4_v^*sQ7 z5_(#Q{0}Mq!^n@3{;$Cw{q@fJCxgEK4*Z5IJL}&S={sO_yNdF*fgdaA@kQXCBK~FI z-U5FU_-4*42co=P;2reuBZjdv0IzcX+Zpk%0zdIJ$PdxJaq!hec}Kz56nI+cIqz#f z)Oub8f3|4f8^JfQKF&n^e+FMo{r?#CzY9EAl=my($BX^eC?0J;CaR~&Hp%fg#Q1r)nBVEfuAV)yCIDH_}ZX{Tfz6B z|8V(bTkTEY<3)XM17Ba@+rc*!_+8-pp}#c0cY~kc{Be!dzpeIb;MHCGaBgFE{y=IpJV(O+jy8 z37#$5`*q;?0`CUjjXp*96`Ife;9HPyUmE4V3Vc2FT@iQ!Jd3`xW5m;c8+beSDc=$C z3(8OVNj|&@T!Vk`|F!L$H*N;sP|WZ5fyZ}N{Nv5wo9R!7wFlV*d>Qg>YR`MX551x@ zpQqjreiP|^JZiPy20zI8>L;Q-9|PZAwEyGakwQNB@8FxS>#YA|r2jlP-S@ws_MF-m z!S#Q@{w>a*PeZW1o%+7f(qr2PzW8@Ka{iZrr;7gU1~1b7yQ2J8g4dCE(|jKUzl-rs z<2waDT=3i1f-nA+&b*%Hz_%l>`u?=7b`E?O?fL!~uQ!5^7xljleCrFV^YTxDuP@^7 zR{Z)=O`m(u?HJK+28_4^COKLoyv_@U^}Bj6{C_4P^c4Mq8108bVDdB#^k zKSlhr!I#00Z;bLT1>gM}o%Ig~{#x+m@YkyYzXCj87tB8{o??=6oLKz1zU^$is-&wmyCod`Z!tp9bIgnBPZfeC`3S z7Ulgq_e*2iCf$M;t4|2y#Zf**Vl{NSHg>-||=ygy8Ne`D>b)xHuu zTeRm2@KjOWZtxB4r$3#>13bcc^zy(H;NwO5wSA+z!4CewXIs-QZ+@_59i;wfn%Ak>1NkwgunE{7}5@KOX~6Q9r|A zo>;E6X$GJcLu1J3o2dArvA27^W3jEnZzPS>7ebN6e@Pq6pX?%LY zj~D5O!8a7?$HC*w7u%qg`Z_1zxz-3Y$-?H%=Ri1>Bzwxa$25!``%lji5G;EzI2 ze;(=I1%BwiaQ_kb{ovW6{ttn#r@lKZ9{n+R5!@H}6W|B_y0b1j2hr!}!8a4{{X^fz zMe2M}-V4BQD(LBJ!M6}E`x))GUk_d{^r2TOzF7ZPfp0DF0J!7Qil4j+{Dva_)!;W3 z_yqX20^b0BTY*o32cM|)-)F$RZ|$i6LX6Mr!MAh&_xixMg5N}cUmNT1N5GFVAHNdu z?*_l4DF1!n+Y9_b@EryIE%3Vv{0HDmew+KD7~hY9Fa1^a|Bx>p2H#nve-wOIfj-E&Hq%%lRpc-uSow3;13u0{osq)KaWL!eoeSoPag(fj{F0e8@>My z_+Hxo&4z2WKLcM~H;0NB#FA-o6XS zTU9+o&;ta1o|>8I#&^cjDvw=fch+WbE7~}CJCCLGpjAkF4+^)Wrn(u1bdHzRls%>E?<)H?D%>*V1WuapYTot(L_s z(NyZN7sBb?2@lovQW>}8%m%NsahW`GT0YqIm^q%xw4NlTGHR$vEh#t%~Tz1%XP@EHYkz<&^}xH+{Q%=5+cF zw|}Yob@oS|ll=!@*Y+PPtL|`^Z|YK&eI=E${Ue^~BZKihHhDlu-%aE9nwqetM&V-w z*Y^HHUm)X`zE!3_0nMoZ*c<}zSDz2#k9pnTqoafd|b#To|&M7yey8--1yg3 zE(qgY{N^y>_FLJ@m&Cxw|n{5N2KDD z06TY^za?=QeGOn|j|wilTm!f8P_9H5IBHj5c2;aDR`vgL8}KoE#4eP*Y6Hw^y#>m3 zx($?2I5*Z$En2w{wvR^T1a02&Q?kOtzk;61A2K6?FA1eE?&cJeVYr@#*4_89c{X;( z!Ih(1(VgCW!9L|hxAcn3*qcLGXj06A|J=80^2+F*7fB@_S1ZfnVBr^vUzI~ebM2R% z^_g!zcgk0jH$LNCa<-T9%9UW7!!c`GgF56ZiIQzSZF1Y=-f8GLjWn*V!Cu&mZxjvZ z6mnz&=cpW%T;Tr0Jxx$$yDty-jzDm`YlZ|Xj|`b(ZmjA%OHFegAs3f&@v3hv=+llZ z<8hj_Hvj$vL;|&$r+xaGgnfLumcG8h`e*W5aB+EYjn>1x7v}6sflwQ)mCwv-t4LnJ z8QIgYbbTYbML*>4b(;5mCl^{Qnv-h_v!|L3waN$G(lyLE?Uvt{$KBN0f_-nAVip$d z>m0Qf-oFxOO`n=;|B!WUwK;uyb$Wpph_>Ts_i5b7HtCEdzSm%*g+CFo7fo8>pQ#38 z#A*FC*BlxdJ}}Ve7WWnxkbk{p+vg}McmlbNH`!>O=Su=?K-8npY9|L+Y{F|Z^KHfX z)F+QDY_*Ul4#+k2?!p596ScY76?}PBt>~)VIK7k>wwf#lQ0~KsNn(%JG-=B0t93Q8 zR=E=)L|d~tdeDdHTSyo)a&d}?vbb`#+19Z35!ZGsNkjCZ5op!;DxY>)zQUkyA=Yqq zt5w}TzqstFH3m=Ma&vgVNzt-GluPVG@lg(WT|r{eR<-$q53n7cvg(71XPS(Nkud^7 zkZ1bdHW}H{cvPx6X8E@C!S9)-^DJ8rt(wY!@UkB>^2B!(Z1WRr`$`4@8dvjHBq2FG-s;G+SS%mAH4K!115m<3oSY2aT!vd|Js~a z^R}t)=D!vek4Meyu}n>1KU#;}=qt@a`q6sGUV!jZgct7_X31T|F>iQ%V+FE1|CzX$?4wT(~Wq)24y5)-unWeaNH?sXoK*%)y-cY%t0zi+n)`_t3Mojb#Gc zsxIg&+@e7_I!)B(Tl3Zm-wR^PtIf{P6b(mNvwxL=aWWy2Q%JL&Pq44XH?4zdYdANp zJ9C*O4_FIJ>=jEKB<7$Y+?!PuApr5bTipuDr~yfJLlDe1EPvKmwtWR&+=1sP;kjmhG#v4r_a@HzV zDQTtR@79YI7A<6o%T~2aY^7`)f-i1QnSGdei)}A2O1Z6OrX-u$*F3ax?K4Qm7}Jqw zV^ytygD0vtCrWY&PjYr}7Oon>(xNQiacvqTG^z6~z5=i^+ftcuR1va-cV)Acfw*Xn zGL6>ZYpr$Ig!k5|Sl!`}cxr8hmbh4-TyXjV)}YuJC9a5+>;(0#EocIya>Pjm!eH?)fX;&}-p%?D6+D?|?vaIm) zRSR$bTAI_dWoz9zJp8aZy#_UvQQ~coDQm2S`l8t@Y7n7smPF83cv1**w)t=EBP**q zRcZFMNS9Tj3m7^+1y^;k&j~ANy)^?HBe4$a_%PO)je6rm%*>fzbJ&7*PZH$K+()tO z79pEDs;~J%G}?Z2(ibPTPHO(N&)VwF^v+sduqB#5@nt#U=xN`)WqvOBo>UvZODcv2 z-%XJG)0)wTDtxUmMLLg)gDvRW9&;-Y(OK3Qsr3I)@$|-`i$7JN@Jq;Uxn*38b~C(; z4<{E^>GBE#W1m7Wu@sew4)VpvDUGk%e!?;ox6-;ruo4SyZrU!A*HKvFj4>E0OLFK* z=s;2a!u51nKsFeb8_b_@7AY8bK2qjKoS!291OA8Y7my37Z>}Z%`gK~oGv(v zOs}1m>Y&wSo34o14;yFKYQ={MY9bc&4koor)UD{Az9IG^GO*6dAq(Nh=MQQy0u)DA zM>sr`X~WU0rVXL%rW(@K+}YXMtT|gDP;&}_*eS?pyqE{0gzD>OEMjjF-Go6dPcN1g z1=mat44vk>rQpJ?pzR>~^tcO`G~y(xsbz>&lu5x!$p2q$ol$SvKoErem!MMLlPaky zMao0-Zh^K{WBM)MVmj4H$N@N!hj8!P-Sxk8{on#Jq2- z{?6Q0#4M{X_4z<|ZG9*_g=ty}A?2u|sP@TQZ&yQ?4Es-!hlY?76b8&tODUuzJ7z_X z0$AxpXO^-^9E%e{#i@n;s@aKe_4}Jsviy)S;qeWYfhloJD5;*~WygsRdD`Kk$Z(ab zy6hZC>XRhx&OFz4ulcra(rdx)5<8;V`b3M89L12$Wwrn)+PVsO`i>d83=@vblxkBQ z5Ut_0vP?OLk;UhMoar77%6(#xvd_!h`(yS@<3rXzu$~O|CBqV z1EU8(HuTGKb8ZPBE+5G4lJD?mKQ&|q<*&H3^vKD}-^GC(+n zz@RL~!v~@@`b>N4ib^o8#klC6ot_JW+_lL15NZVXw5@{m92ESHO5`bO*Q{jIh#I_A zkx^9Bb(?VG+pG9#fqNM}__VC*uP?8U4=?rW^YizoxBBhj@#TrVGdNa0ds;~0(|dWB zu$UeJtIMTuZvpbGJF0?!H7TAGDQ=x#+#uQXclOqxbK20!e|v9IIu7e9O_X7Ug^ukH z1r)(59V^+9jN0LPqZl?6DIp#ycX}UgVpec>DTa6e#VxBk6Y}uod|Vmr2|Z7W&Wv@0 z(8wb<)tJF$$s+}w3d7`)LQA-oMFn$G7h~(|no`jv5}Zi|w<5>mT_oyuscM$jCQB+N zwxBx1Rd(%xDZtof@_<^->qKTrb<}oZ%gzp_)YA64zm+*a5^f1$rF&&t03lkqL6y_5 zQ~jF#fjDOm@W(SyUBvpNu-b(-Ey%yvD0U3}0hX4Qo literal 0 HcmV?d00001 diff --git a/configure/compiler/src/flex.64 b/configure/compiler/src/flex.64 new file mode 100755 index 0000000000000000000000000000000000000000..c0bcc7369b1d942bc6ad3d027bad180a00042bc3 GIT binary patch literal 559485 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

N*AnG43-DEw|Abz@t6SXU4!*rfVE?3 zf;dL4PhOSep8}m^3-3b(S_G|ZFL{+O%G^)`c6|W$Mj|k8xH6Y1vmVJi#W0>4Fy5Jn z5l!EDJ(~WYQp9CnBs5$w9lD!Oo4YftOYxN|{_}MQquh8Bl_C0$TZwm)N<1Nu_$jWG zgwNDa9sa!}LA;Uj3+}P@{Y}Vi>+M%S{NQWR3 zS_Ke86G3<#mHA?y`2@qf`eu#&&uW2G^1CZAffsm^l+@sczm&jX5cPe6ELA*v0A5_H9G_T>^rAKn)Fc zP9o%-=y#!#$6C@KIO!wJT{SRx`{*0Q_Rlv9FyA(q(*n#b-y~243Hc-L#Qz22fAMW7 z)cOn_CNPVw<21}Ad`7GX_|-<@ky`RzgVop0c`C^2s)oj4bRu~X>)IGl4nR)k^#R1L z8&wT|si6?(CxR%-K29K7Ri08vqgCV<+SYMZC}PKK!3za=Zy3Bc1H4TO6R3b)53?bW zT@S@4uthX#z3{xmcpQ!z<0%R}9bP}Kml)uF0r2CAfMX-0LFh4DDsNkJ{zC{kWYch! zbS*t6Ib1X+rL-)1@ZiBcOWIbA+fc|~zH2X;<2Kz>RY(j&xl6*OIrYM!-1$k%!bPj< zhueGhH_>lKw&W}ghq+Ulc5lPGk=+}yOGTcIEcmUoHy4d=HOCF6R6~&Dete=P<*XYd zV&C$s5v%x0G`40zJYvJ~AtOGZhNeI{o`;qGsP*6H1nBx0(1QR~+#sj^uX$f{=H>W! zH{fde(^K%G)0wA{j<~Peay;C7jB;T7EAg*c%Vq9O%=atwziq1pLTctancaf`E|tCj z=bzQk03MqtfaL1veDd={Hxn*ieMxdFP5U+zMsGgDa3}K*2>kSX*r1LIQ0L%zShOS7 zGf;@;BGygVw4?m6f;|_2ongSv48ZaefmQGW=#{4{&Lc6LM--<5QeRDj49=AS&hrUz zX<~3v1Dq=o;vBCy`-b@O+NZho%mC+We8>#*)KL92PKa}y;(QXr z`9yIxR>$Kt%HWI+aH{Y;Ecwe@Db5`+oI4cfC(S>h0Ot*Z^JajvXP7c0)#0H=k)NeghUO^73xjYO<^F`Rmeb6$Y+?O@fOAU?J`H661*EoGZCFwT(!AwyMC}s*}h*nJt;MY0c1+yf=2j^;p zH_+#N(g=7e5U>i*!y;TWJ=UM7GQ4uZ%GHMVnt=DkM7-svY9#wWrb_RlVR$IO2^pNG z{~vpA9v)SZ{SV(H9Ze#!qk`fHdci~zpn(VoAp~jC4IK#ylSROQF?2eRG25iOfhem< z)H`hizsjgHj*jc-xZo@bG71R+f;;Xgj-WH@Z6k^sq6qzd&Z)Y6yR)Fb@9&TIdEV!3 zC3SBtr%s(Zb?VfqQ@2bwrG3IlV>rhbNI1uzp|)IX!s$W^2LB!om{`eu!lCcicEvws zz9;Y<>6CYx|p^$BMHP04M4vNFIDZjv9yZ||>gcOoD#O`mz}d)fUO-k! zpK<}`Dih9weZskb;mk4M%wag!nQ+b#a0Z)j7WD-OGq)4*`kyg#Yw;uTxFrsdgU2^> z|C{i-=8692K=glK@QlH7kd%}E?B(Uef7?+M28Ge<@P(qPp9t`~h>{Ji6M*YY!2hKD zJy$?m(z(G4k&QcGAtQK;3FjgKXM_o-rcXE{7|uWg&OnBfXTtg5a&G7W4!EJIeZj%~ z7z6%7O4$p@NW-6Q<`{%~*57*wG^7jSamBi|<*BD3C+Lf|!AJ2Fn0Rn|xZ!?L(K555 ze<87V!?C5P1Z%nUeP-!NqV#05^s2r}3;k|~u&)-sDumaqYk-v4pc;VkEW8GA1$MK7 zw@aB0?{L6$7}8e-U?2pyUGcxcUp`2-j-lRTLY*L>PBfuj(+||eh{yL&ZU*dku3$V>hJCsLJB?xIny~kk zaO>aYfLnilKd?_hyuMCAeF52n@BWQi|NV2}*54#xwVAM9M`B;C-->vBqJXuUV6`!< zM@?AM1uVM>>-v6R)e)@V0&eZa1k28_%1v0`7IPcFZr5{+s5g&^G_9j5Q9S{RU ze?S>>r#_TS-~AhU1g~&u^(Ae84%g)9UQz3_h{avH_)EX8_&?)`d2KV6)9k9^t{PZ$xtMN%-1K@T%QKg|W=H*>%U|MaiE5q@(IOe;$O3;X<6iE26! z<(LBj%I$uVLmcCHR$35Z$gb z;h!Vm4>sX1>I*))8B1gD$5#cWld02sRYoxjfIz zPojaCR?U(BwYE&fd%$)jUXeu(%lAtel{Cted88|TDjw+96@Lnzcw`P`46{uP_ZAXy z;$P!{+j@3C7@pVy+?qrcJCHs2+GEt(FA*)fyhXrjHDSGg#J*a4-!8DSO~6`4uv!_` z{U)r*0#=p@Yjr=cE+<$YmT=QY609tSHP3|gc>%Za5C`1Gi~E7~E5z#?0Si5HIz2yv zz97@xt*5ZP=LLZ1iXXg5+IwDolqhg$bC?3xiJF?tn)V>EFA6+~czu+p=>d9PFKe18 zYPyPRnsI}y$%C5U?{=M8)j6W7!Ddy9`l-rE;MCs|AQPCWxI#?286>b)x4+05Qnm24oMeVOW1M zVO=a>jW=Pf=m*wZg0;VhVWkqR@eJ$NCah2LxoMwrz)c(753GTR*VhA9DETYo26nF_ z2!8kowKVipxTUuVh#O6a?;)|TmhM2joTZ09huGT{hkAE@6>)^r4p=r1S}odgWo?)EgfXS`m2ETs0r)vKl^U! zKE&(A0@hsw>ruekW}cPYCtQNpQPKuVG7rQ(Cz7ft$xlhNrjGpNd27G+>jz6$)ScfQa*TScFQbh8NlqWDqqW~YD#V6cf=$cOJ0(?(>9{1AC zNW%C3@Rud=t$*QdtF?A27rzbxJ}Y@5xDwI0FZCZ3J28MjYyx$NR$hkE!3D@-y_r@Z z_-?bcm8@uhV5OP^gA@+oTl8-Mavj-L-YHmh|E#oF>mP!TPhNEo-RuxJSyzOkEg5nj=p z+2IB(`a4EuyB{~-*oGrAI23Kc*gcz`(;gx@?q4k0HXb?Ate;$H)~B~3mpjdZTqqbs zl(rkxNTDo&oDRGP3s4w z=}yud#NR~me?&Z<*V6NPJPQRV7MGmBp#MJ|VgdL1Z#h#LWqR%tuEL6E{k=bOd@jWo z2|$zRd8T+CMbA_4j6pCP&(R-j8HSk1uNWMkMN~+>=x_4-9|-05KakP*{s;2tl^>r7 z1>b~zEN~qvaQ&qHgt$(VRJBZj@L!QV_{;-@aPlip;<*`mD1XGREB-p9!7Eh>UdNoD z`~;=fVO<7lG$O4l{wn;nQjX<-AihkuKs30B;8rl)iOW!KI|0&PB96q~&*$4tM0^YF za-{RO&>lxJeG3f(X$F;n->jnFfk;#sLjY3*qG^Q40d(ZHNoX0j5nXXAnnx|0)qsRp z6y3h|VO+bd;ye1F?xC4IsoRN|Nb25$cTjf^bOrhb359~Xe@DU=_);4rUWWHz9rIE0 zACL>5X%3e2>%;(Fw?okbZ7PwAexT#s#?v^&(aKrx1P=!Wz4iq7A3n;f{>e=|pWxc= zr#a`mHALP#6eNKZY!DfaJCR`kGJqam(X%3+Kc?qzp(SiH-JFNng#JTG?^2R^%=i?M zw26|oQIh#}gKn5M0Q@#ex}TEFGyi)6! zhQEwB^JMF30?0oJNGD}Co!1YK;-=q8Ne@$!c~0{!k+hnU+9=69i@#MQxhbiUlFV~E z_lP7HCC#HG(-FT#B-towDkYhp->4QzXHwEIN-{s3Q6Q4O&qdNHlw^K!V7y3rpOU)& zj3o1P(qNI)K}mZl$vj(ld?YAzPZ#3MqxeC@fwcca+3%(7=DF`zMAC9fx*kcGyu4FL z=*IgH@MKs|CCrbN+$BmlsYD4Snct{bCz3`|QWhnd2dJw=l9iIqrzG>}^K6my?F=Nv zA<4KnK>CLSFWh<}B5p%4?q4TD5m!`ZzMlE~+DjGR`I+rx;K%(xmdT-xwt;iCy?1_p z0-s@DJ9V<+4{Cemm34GM)n2-HYoALyPWNyfq^qm&(fF71HDBuCd=1xO=4nT8?Z{+@ zw%e|~qeI!iLRTJ66xv`-0P)z2RpQD)!7>0@_klx1zn1Hsa1Z!mztiByG6(0 zCW^_Ous!2Oi?>}}xd{ZM`|pMo_{rCD75(2pha_d~Ok}#=q~V5Q?Hhf?Y}lROL$ZAf zj_WFA&nOR;;I_En;S-?{Zeu!*3tYa@-lm&Ybo#bE-I_C`v-@18r_tV(xKRjA85C|W zU5~M4`rReCcn}V4xZZ7N0-pH(l&w_DHmXF&!aNk1uJTA`wvlpePO53>>sJwp8zXLKry5RFZfL_{-J6F zJ_Jxtrv3>`$AxRS?1jig>4Aw4{h2k5P1oa^5DSnG#qWiN*1S7in;1Znz8lB|Cax8^ zDvVrEUsmB+f0$Dji&S?+>Lg129j7`(YAcjnt^sAUD7A)D>7D_oFq07QRened&t|5zENXsV?_;@r`+$L`Dhs8KpYI{{m6q$ zIG6+InlEkYo@d(c1xY@`W&sGiOx(2n6AYuc?>pE^2o1U$0mtKBW&J~uMBku6QW*lo z;u@vrI3oTx6ft@OA|4YFcY=gnmJJ{$BM!!oFBF&8}6em2jc5{icTIK%6 z1t874EdguR>AtgE%{wf1cwFt#l5ki0e{i!vCq;$!bj70TQ1@pW0?G89&k!!`%G8oC z#p9YGPaJiq)dG%CWA3M7HRHXg*5b4Cp0n+r`&%4}~wzYpRLHAsP zh%QU3dI%oS_yyuSkP*jkEo~HqON#DrXaia~?}WBL|E)x^xBWJx4Qx~2DN&vwox!0c z-;5%5v=#`qOXZjf3+3#=yiYP$uhyuPi&~C=@Q2 z`&D0&BOs7MKy~L~MPb=UPci}nozbx{I`~>|m&i|eYZJJPHdUaSbL_#hly5pEKrQ|@ z)X{y96yBhBvCBPlYMa6Ift=ew1=!e-tL-0qK{RdR`AF40GiZRFg+~m76_*?N@f~vH z*JmLW7h&G9Z8|K_7!UK1p)7bWY*)CiwfTgF28H$J`oW2q19KQ;8Am)5iO2m565y)Tv6BZBt z8W3$gzMbS-(%cy9GlXIT!pd!W9LFDefNIV*;#ckMejqS(14Ryc9e)WK zeCr3vL5MC0X}Ssob5*Fb`>y8WmNkiRd(z^sLQd4^YRg}5!J682M}AxW4Hi_6|MRn+ z_wBIVQ@I4yp6flCazFz$qvr;Q%qF-1DN6c3&*an>s3an$ zpHX)F=ZMz^{pdYQS$UrRN0I=84&j9|(0xYP@h>97s*eNl7oa)lN)@GD?$@yfIltsA zF_tvT?GRL(Q7RDsgA-*fzwaJNXawT#LuAYz*BxD!8wklj{4JDg&>P4VvnSL+qwV_a zy#-i$y>!a)3c_t6M=0DoiRFQH;$ zDw5+Bwnx!FA9ym9!P(MC!~Fb zwm2Zr1A`7CB74y98qwl&aBWm}{MA&!pe96U@tsIql}3#a*VuIGiM0Ei{3t`2_*fC6 z8C(wbHZui3J|-pr(0dGk<$R41yJiG+^#ynZji{R;#GTGjVU zl+NHgm_uZH?ep@qko|JI_KHL60P&uqq0bjh;aXJ;SFI#3Qy5_JHLET=nSt9LDI4I}DH;*+J3w zj>M<=hZwu|t+gcu710OAGw^|Nqu`)E3i=c5p_hjjd(~i?cd^+L>Vyp?V7U%M{aeJZ{1Vq5UKmJz^9E$g&_nH6dsd#U z;o?)eU;f%3sW+ZMQr63>zH(-L?9jfju3v|`9NIzTZmWp{#yUo(fo4S?X!`QoEV#yP z(7)$$6|OtDcHbo%LY*{!?#g;`RZ*3Kg7!8)KHKcb z`egM@+CJ2elR_zun1gg+h!MAHyYw!U%C^O$)T(b>ZU^<&pjyv34sF79Yx1zZnSvJ#_H1CtjTvx5^A90kI*v{E>a4Tim6;L%7sMQP-C@@TtknkI zAaL51J@jiV(S0id@qefX$$*u04*qEI0lfC$4TF&$p3Z1&2tGx!XlMm;($%BgtKuA5 zcOW?j0y3Ba{s#|1ogWDF?SX+e5HN@KmC0+t!x%Vi#kh+tnf7Byf)4TkneJo^IvlBr zpN|(%e#knkH$D$S8^ihg(qb2GRD;eMNd7gF1B0%mOxnlV9_ywZaq(}}(HOlD2nOPl zSCYPAZT*V)Y|x9X)F(r4LSS!moQ6@IoCkq=fj$z}6(o3(5J*1$r*QHYn2A??$mYnb z7p?2>1r(B(6O&LO>nBjTvc6h#rS?50l6$Wun|<=zC~n=%WDlK-+SUvJ?weac@x>%@*6k$PK=s^4lMqi&dImgZ0?8L5vlhRLa()*U zC%FF|qJ*xhBO#3Ii%T;P5rI`4-@|-#7mZ)U4u?;*E;c?WyD%Hz1wCv4fof! zZ3kIc{m6P@4K9yNeiNzPXJhupK{!k)H0~fv-$v}3i_pXNz=W38BfbNCLF|nKEixnI z?z-$jPa@aq_i#4}>Y|Rj17#tp)*(7D(T%?@_c4d|nXB!tRQiHBG^8!xf1qFX9hh)p zB_(U`&*x8 z4#{M(KVxL!yS$Lxj(@LVPPpk#ktG54fdN24&x6!)1@1~sM>|}B$5O{3%nv+}I+?@A zQm1qH&r}zO&!)~rh(0F*cWywF&@gL@g*yoAVc=SlnvgZHmDU~BmdB~GF!CSrjk3rv zz^Umx{s@5;N3mABM)WWhHV|w78k~Z>@JqiF!dsT;eksqrTSUK#=)izhTI^t*l@P~@Dun0YTOMJKwkjvS-aPahLmg1Ml;TUVm!#+W*GV|2ZOwe7F`O!tKlK8cJS z9c*X(Td$(-3Jh`spKU_{A4q+AA#FwJ38*B9(_W$GW0zWQegaV1avy9y8fU#>G*gG_ zgC_qBa>HQrBkmInQ&Ti}m}szq23P&df&(yJ`c!OW;(G&F9{~*|cq*W`HGfHU96il? z101J;%fuys2sHNo9^!gD3I{Jo{JLXwjM>^kbhWPk0;MrMJ@Jj5s`+6!xAs?5>=0y8^ReO9mQ*g5 zx}keFYIz4awvz2r)G`*$(*KC&Hs@4g0fhb2r%|jce!?Wd&%wWt9%YL`9c|7Jnva$( zPt@9RLuUiZeZLEne#n2ez8}PO1t2%xI^vicGu_&H3*c*?ZTk-Q1qZ7b$@Yyvay$wJ z;nxw`O1G12n?$b*m`usj2`wU{Kx^<9XuJhz1xK(%ov0$6w|?|1??-F_1HGDnR^E$B zV(^Z}{WuIzV9AhBrlJCU8|D8H>Kr=bJ*2~6d>%y&LB$cqYdn&DDliKd5D#325AP?? zrA4Rm-Q&&ev1BhZUUAhu-sl~f*`~ED;CM0tll7_L*TZywbws-5NqVRBtzEZcuefc( zGFQNHIE4(<_+S+qitO`v@kE#N=4o$|HF*0tv_-5u2kQ^scOsOhVUA1J<`2x*t{RLR z+QC1#s67>bF-sn{?{;P=%?D!;j#TVj&J>Eb-{?&5K8?l)R9Cy^OtA+_Q=sm++6GK_ zwOL-KJlM@oSNsP8zVw9FBmQ?>%`4MW6#uKxV%jKKABn1|Sf1ugz$8sG0Bx<^{2@Y@ zwkt1yZ~8zNNN~{{(B))F=nBNHooutVyox;eZ7Ucl=+nqGr)>!yChHDB?Q&WO7~og5>$W$DGgaSXfZ4st5%60GXkr*>h!!@@zzx>u zT?5dHf%dG@6zlp?#8+4xa6Fd)*z3>Hj znh*ZeyvL$B71|Ln>2n>xr37CqGufTteGj+n|C0ZmU#*$_~6cTwT+duMk3OLC)rtK$bwH zYbm}b^KlSyE~;T3ab||*1U%R~_#Vo2s=gni5J&D&Q#zsoA zDT?gYmP{s@s5$eHGxNXB%tOFnJ}`JV!H-ofauJ^Yj0s$<4<|%-F`}-(e6an2?o(*I z^Zt^xTcCcRaPcc59i2ev`pthRy*zT98-IVdqh%xHGh(R4UQ;gQB zPrIA?F9BQuHZ3JyjdO)|xk4~1tjn_8;tOi~GW6E=Io87C!4Dy`h%hNcU>f^E2V_+0 z054`&5OWg1mBT!dt^bEX!&o^w)|K^{wdGALEpQXsSZp2PPW8~st}NZ!vRy{{zd*HO zt~>HBX&U-KaE=RW8f|xQJ)|(&FK7hhhoQ2E6MVyAEfHoOYs;@92n@m=z-op_kgpx< zP7*9H>F1jwi1csd0E{4+b()XI_)@-7v^e4>Y+>ffOHQ~)L2yYg@ z#Khok^wBCpkcSDl0n{Omd${64@QDa`VIWU3~tZlULSbHqVHx=Tp^N3>x zrsmh?XrD%9_P-(e1d1e0gXojoKR|Eufo}x=ax(5z*MhJvY&#o6RUd{N)a1~MV67oa zH}=SBX5=<+1Z50P%7YM%5pAPZiuSdt;9=|2ixeQ*LfGAnDaTioul*q%WJET z;ktm&Kkn?mwhRR4tS-tAT$&$Pp5O>nrcS_I=39aV5@bM8ep~7;D&%S#(n{g% zz|^U(=C0ToM=awLe5XOGrq0N6jJK?+qYaNkYqs&{U-u&?P(aH=vbM~2dvi8@7!uNU za-^&k)#L@HcHv7$_9K?-6Z}sxS6QEqoqVeQ5xbV|4E!d=9_ru=_-i0+mw}2n7ece$?PHhJag~N76%A97anhcngFQZwt7`BZ$W_4tj_llltFCYbiU;Sp_XNDDU_E?+bhj&Jm(M|8Xr&PWbqZ^o zdJNHUg<%vTYGe#3ukRuNmhzQ6jUfJOQpY*8J>+aOIUg_6(VMQ$wX3kiXc>cvjY|1n zz`NqxDRix_Tsm}&uUPHk#WHNxSJ435fURis3GQ#SWFFyN09M`(kcSni5kshufS{iN zsR1RY<&T7T+bWndR;H#<9oAMhUn9FgJSG}ZBr{}hn;t_nxkS*U-4)2+k+9VUu-e;j z)6Ced9rmYKpSH(j?9lf5Pr*~{_xoDgw@}4a=TWd1R1{p%yPIah{I-ER04D*vR}aUK z^A@cu>qoRWAxz0W1x)=*31Ui^LXI5?3>Y>9LZSPCXCRMZM}=B_093Zno4yz_ zJCv)^$g;?~gCC%a=$)v>yBH{-XCb3q>j-urk?OJJX#-NxPHr9i%|I3qqh$}0U2St> zT^PhFW{24BQ(Pg4RIIPDgqoUT-ADrw>Q+$OGYX>m-*0tL5l&)F$8WK$NV*WDl0~23L=vk!`VVO+VXE%cEVwNaF5jN^Xh%nk8c9IgPYQMs_&{D?^;U;Dyk z-EAVPelFq2O0?Siqk9DWRy6F>_b~w+vX(x6} z)_oKL>-s^cY-&}O1N&6#pbBAZx-_r@c23=cyVpT~#0Q6vbNSm_$l&S9*o*G`{)jzh zCrzVd57WMOfVgSrV=~!+7-}y>G~_ip$q?1)c`$2j$K0zsH{i^n_9?A_r{K}mwlEG1 zdqCg#7VIjx&=T7Z;7j1}!B)yo`VnWtc*xhj*x7Gw?9jo z51|0BQXhGheur5DsGPvOzI{5h%Y3WzBmE!i38OCwqlfwNQ&&u<{wF+!kvsY(2A9`SGV*r6^xpN8_YTep_W+4DG7A-=I!`R)9jmtpYsS(S<%4N5II9@k`-P zs~y1lM!yeVx5TI?tZBqRk*Os9iRvA}ztQ-E`jJfZmTZ824RDi;Q%{cuVlTW-qyvw1 z=4)RwZ3(BlkVWEjE=?x_r_+B4PRt$#ixdYg$LKib3S6S!%f_UAWpd|Ah)7x*O_I_K zeX`-F%=TwU^`U+da)|i?<1=D#zV(gkQ8cqF?r-y^eg%Hf@4iX4ZI^y49@`x8=)6y* z>vL6CF7$)8xhdM-=7XnxzYl-fEU{XyMc;HTH63FqH$}f6&q6Y3xr2cfMk|vXV*#p( z7_AaN+L>@^KLUv=?c%Dg8L<|UzSLs!U!=yaftC=0!LBQpH56jYY;-bB5&Ff{+Yt%F zWdZ}(VBI_`7OKVo*ySNe-?nbEq;x(UYrb!{%!P51(*l+aom`)od7D2^nSP@$6(ZP* zz0g!EPkeeM{AXREJzFsjLjHtMuAHWucY+!i%J7GjUJKX<2vcW%sQWxQ$}_Pm`l-5%;)HQZ zY|c%HK;K2+8~Dc*(`Oxw{AYHzlcX@xi@-I1_gv8&~)o&C)mJ042s~(q6nFy zP?xq_$9L^R-7m@h5sAA+qV?&+dN&@spRjH&jfMNrksUEUx2w5*fIVxcuUf1r_tQKT z()WXI+uFNfRMNy!7ja#P%hTS)^4Pwmo0vS1lYc604GwzhhBK9C4v87ALPJSRuJUx% z4!kyh6zgkrwK){3$bUQV)b9r#)UMZ%F)uI;a}H53{zh7&`BM;+*S0K0PeYAR%5nv2 zM+9oq`#^1U1Zu|sGDwRzsOYVv`Ui*N#U5BjouR+L6|Z<)RH}CZJ=A!&y}2#{oAVz@ zE(71%7um0rtNhdVGfldvWj$!}55yTX`483gDabF-%@Cz->7&%Dh*IP~75p1YQJ2wF zgQ@a3$+yE`M_4oFpbNg&-Vlna`*r-9SYi`iC4agCtFUgNl*&a_)MV?a~P zvzR1W+nXi}#M%X7WBWktya>epL=-0ft*Q-qq-Bx34WK?p+tL^@i9yNNp&7!_Mi;9f z$~V~2*1+m}d9S>sM&3uL%`}vE>#y+wVnrpMomrrxwe=_xv88#^DOxn-648(VRF?8!b}v+VB`8IH6)_cV^qo=F69(;{fI{Otm_lR8Fi7zLeLg2RVGU9?4#6^ z5vA^ zsde)r2;(oISX=O(PzA1z&D>9VwtgH^GHVyav=`pjWN#s_sxS53D0*k+-i*EI-a?&Z z=zkhNZa%)oy8dR=41lGvyujBwt($kinX82e-FyrW_u@gu-7n*AeiRR)c|JjuO|2(n zd#Ud-p$&EFe?%Mx!{}HZ3>&YbZ^!HgZS7n314lzvPHc%97{A9WEMkPuy5pfWsQR9E z5}UCGVy!sFg4Mq;V>cgzt3x>=Fy>Xmb_Q(#n+c3+taUvZ8HoTNBf{l|^XpNX!qyXR zpcm#kM`~>I!K2(%ViRo#c6e!P8latfGY@HRRKa`}>&W_e<>2m1^Joj!{nm{GQbM~B zwQ7uYGf1y}K{dExcGo(rn>#Try#tM;NM`1oRoZ~LD__qGtV+>~nJ$)8Y{NrXpwDPO zUfM34qfu$H6<|50z@{wfX)5Q z=UAN`Z3C35<{wY9Iy#_P5_f$E?t%d16L#c{xsQm0W{$Hyy_d`elQD0QEK{~t-%47( zBXxQ{qFpZRg0;1zk~2W)BWuQrudEpjA6he(zGlt1s>7Nw|8Lfex%XN#T(?*=rmxfg z2d5^n)aiUC9{EX)J>Y6R#ENO0IKM|G8dm@O@!b$f#~}(;QVSub7pdD_C}n?^R`I$E zka!iFJD8Wxd*LXGWi(JBCxv`%^lR{6BuHe78HZ4;IblRoxtF^~Vr3NvAGYT91kHlg z!bo7^8y_f6ab$h8Y7Y5PXrnvGDL6MJU`cI0Iy43#SGnjw_tt{H6DaB08F*A^%E6KI2ILo^*rnVGP4 z8LfYl+DSY0fQX<{9U(rqH&`N+rGaOM$x>uMB* zR?31Xyo%=BA%T*998mwWmZ2s9>Iw;Uvw)hQza#RsBVVTcC{iUs4aCuIF#BGD4MX4` zUsWcru{Y>mlrav?-SclOi9bRGv@P6tCJfl*A7Z3FN~t?#Y6+#1A<;Yg*OW4Z{TF&XV;S5!2q0L2+kTW<`UP5pEkFL~mWV!`tP$_XXf>R>;eAB6%V@Fz zi`;im^dl4<7<3tWd&@;AzO5ax&_&2!1Ruo4BAwuECp(uO-$^0_>p2v-_t=>@O-pzJ z_x}gZ?7aJPW01*AK4ZE zXi7~%eyG@I(|7?J*g4ah@9=m81Qoe=AU7gB%&rrcG5NZbgHJJ1q7 zLILE2Sz@b6tD{7e+W;K+9>;-)ZDTqjZb9r;5<5&(0Nbuo=lmMc zG^3phv?+|idsL$!Z@$#CIo8^89AhA=3HPB`9@ZK(hOV@NllLP>USKt(>7X$`g7m~S zdJXLMJSgc?FGyAO#n5c?1GdwU1q}554`%}RFZ7*^L@x$<9L1^i^wqWq2Kv2>Hi^Ov zv_?kvV4$Tk8pr=7kh$D`L<85Y_zD#ox@{ro1ri2C>;p2kLB#q+?9DRvdJ$VLVjo6R zOwI%>lQVOWBlsq?dqV)+jgtBj(3Hsb{iz_^-4Us439mev`YxqD526x3vAN*sJR;E0TaHGIhc}^c(0G_FCaDc;voEx^ zJO=>NTMn_jZ(WNQ)CW(@t56VQ2tE}0P{J)RXl5iRO@Q)0i|(9=1bq)h1adOy`LU*G zrn0tXf)S8<8l`@~sgNcVCtT~JJW+5oCi8jPi1=W;l2EGXH^Z5h7EiRr>})w?ZB4_2 z*d_}WQyhIC;45~Sr84cfSxLV_mbnn=d2Oo`B*5oLl;{&7-Vlj7`vd(4Mr`6oKn$Hj z-kUrkztgu!EFT9&;2hxuy9D8A0RKnZ)P>d-e0xcm3fJ9D2ycva!B9*aGkfzhj=FMA z!055&RNl<-zhTFoU(D`UeBbFP8$J!;l-bUGsgFZFG~@;o)6kq3HQp{}s!q%m=tYT) z1DG57A|Lv00J1Yjl5qJh^N`-n?0p$%r92GWSgXCx(p>1wpdn7mt zlwrF(+qto0KxzmU@2u{9sjml$t?kgf{czxkG}rQCefu7i*WJ$%KSBn>{`=`O6a^JX ze-K!?$l`Kf>pt|$Hj2k!JfEWv=&#_I1=865OOV+HOhAL5gJ#69zygA2;-9{giiYTW z+GRuRns6+0(Ky8NvA_GJaewjNqBUf)d3cSD;!yp=qg z@?)@3a{y%R0)BD>3Pg(_XD2?%;rn=Z9QuT}r+TCcSt03V?iXOcqEhVdABJ(!*e$?5 zKahC~CvtHrkVx04la|$d^sLoI)R)>9wAjT$5U6xw17G_{PQ{7KF|lM}8(^0Ylgj}; z5lkSqjZ|WQbRyO`vPMs)?HREJ4}BOAu}}Mn{t-<>v^CP%{YYkecbDj2)|Y%%rf6dJ zJd4kQP1R230z6>HPv-XRCj%y&$Gg(B&Jm=YQ5iQLrR^u z+E-m)=bfS|N$PJZYNO+vg)>#9*jM56s28SHs?}b#uD;Gz;dXl(d<4;!q*T>-R+LxQ z`Nm&d?hC(UUV;}Dzg44?s5<y}zasuzl+C z#%fg7)Ks^^SMFO}Q?{sVk!Yw|;q}(LtAR?T+UT$GsA!T$t@GC|_B48@C<+?qt@ipn zb?zqBz0~8rTCGB}k-54~^)z_hHT7P9qbEJXAlu@KN}`NxKZ;Z|R=9nhMzzx8^WcFC zdYft+DjI!EB3U%?+641o~! zYP-U%u6CnEgrHAN^Wu?mqGf57i`1MXBGa`=%7y;AN>7!#U;)7`&o9h(79?GW7;0r? zq?(>qnE}8=&1kqI1z?%t!I7r%OajefU}sK|p55~Qj={Kn%gl9hV%d!OZL z1VoH!;@FkV*J1PLV6}V6UlI?5RkjjXut?)qrSIV+H z-Xf8`=pvJcf%{bI^?q>`6N&GGG1xu%jLdtQEC!K`wZ)9xsr zV=tbqu3V`oBz8?i>g%b+|7mOfDsiTYnjuJ9)ek ze_WKKu11mG$QteP)ObB=Br?&B<93ng`UUk$QeG5YBSAoAKU;n!6QN&3jq+9gni^AD z8nONJG3OV|Y-Gk;cGURkhfTQeO?hO`&2`T0F*S>leaR&dBWlVJBekb62(ua|WPmY& zq`jnkMqz$>2G{?;f`gKMlr!2d>XHmlJE6R~3i?30T2?k^LOJr37CVc}i=3A^b4wO2 z8l6;D#*7zH*ymx15h2k9`7!s0#fUPpcY#r(`VdzJANIm`6!U{Y3nQBn)gSqJ#l1U( zhH&p5G0V-c7dxY8mcpt|1Q6%`>i_~GgbqUfzdeJ#YO^2GDL8Z{J-T)=#`zVJf zQaBOxi%Pm5itv&;)_O%9ZYfa>krO>grsY75S4j`0`UJZWHOl%0)ChqJ^}G@I3r)D+ znbcGWNRI`4GXfQnq8)`xKUMb3rh-qSVA-bO6?8G_R_!gv3J7(O-e*?I8JBq)tE-xf z&cg5sw}(~^Dk%_A>Y2M7qpX|+nEX+O9`ie*3QF@uO(*NmD7<HmV>$3M{n8hnz39QUr^~LtlxBqD-13sb^3psRnW0Vr)x?6r%m++8ZkkYf=3W$$ zT`}Yc@nTdXPDV&tr!C4*r>Wyeg!D>ThTg4AzHwaQ-hIZW*>|vbz5b-aQE$)e3_S zz_}mk1p!L3NODj_{%EpAX9K^~c%b8Au+xgY972yN-JsfNJS@h@RTom5r2ON|JnQqS zu(rO@Q(j+H<@KN-gyDh(`E%^^p&D};Du@1^iO<^QmphA!3X9U!;lBE-p!E5l zF2OwJS>g70D!sDoaI}C*qjFw*Lp;{G8=7cMOGcZ~#9mZ2z3{X?8YvR1OjT$Ex%T}0 z@_c)7Nx8jfmTW*Tco3ijBdpOxHf7QOx*FgukTF%{NWhYqf-X$KhDOh_^2jXc3faV{ zXrm;lE)n()G)pKmzNQ9Gqygci`A%X$F!czM$xv?#ilZm{u&C}i<5O>k_2zK*sJ0&M z0eK9bqWmY}zn(qK#UgA$VcnaR{&6ePRzP_6m2R$hWG2+xYo=OSUsG95lNhQoj1mzB z32-=@`mh)jjDvNZ zGo+J#!(8F_dMYu8`pRJygu)|ia>x%9OJFjADg-N!y4bUn)}OqBWn&qe4#-gHqa|sz zZ$wRv>ZS!Lit-P5W0zBJWg#L^LY&F)xH1O2gYA>oDW8^pRlNlR5zk#Wyyg%&1 z_5$FCmPB$g_?rw0l0Rj7&ru*Vp>m_%FkRB4Mn_dm#S&WhXBu+e$d6oe*mmT&EP6Z< z|3$z>z9MIF31u~k6waJk>@1NDPc#H+I(pJyLlz9!5i8TN;0L67NFuC{F+zm;lc7T0 z8I7g?igFUCY6dOrF$tOSFflO^^+b!r>beF$I;l<&-s`TYs{?-syR9J)`&{>wV?pmM zD8#Zyu6n|9nvE?G^{C5P;3zMgSw5q5=1gai3bOW%i|gxaJTN7XhD8}BR!kXep%x}s zu1Q5rW7r~M%9*0ld}n#Cy#O|el3Z80voJqe;Pl3|FUjNeRZf}W_B1xCQ>UuKZ8n37 zrV(dh-Ei<-RYN0q4$DUrKP~I6MQD zjb;uK`UL)_*VNZ7$uMY71z@x{s7{j@%Y(3@+_ODqofzL0#E4us>Kjfimc^;vU^nsPcQa+FyOE+<#Btw-ipR1 zG0J#8&Mhq}au&cy!xEr8|8jeNsgqZ86~6Mt^)$j4Dv60wsRB#V7>E7`n*lfrb*h@s$K?} z%)&S^QCM>8(E4%NY8`}ISZYH?hV@s-YaYVXB6W$!=O#@Qq8gGN;*~fJx!v?kgd)j^ zG^Qsb#&nRmu+h|5-)NK%IQ;tQ+PASC1#MDDLV!#{gGIYi8lZ(7Q+adQg zUTx2w2($HqbHnSn8oQ zeeY7Rj1Y3Hk1cvk#`}B$%Mox7c?=98(v3W-7hulB{#vV5|{GGq`S1+qT7eHd? zV%R_fr@jBQ3ADGIX1f?p3HYtT=%JA8eC7;9yJ^@>_Q6u{g}0hvt|R6te?@{5>*cUzyd>cdR}H8c5p_YNV_ zPZH|yCj}_=lLFNHNs*23CzV>)XOhS5CB6xpQPFp~E_;zmgdtjZBTTH4Njbg}{J}jq zjIv6TX9f|nAEO#EO;1akfFPH`eHJD~A6%8ONIeN?H5#^22As%+BU%vIIy68`!IVih z6_3)w4E2HHvw0Ax{LFd4rIqyt@3Nv2ZFVwvKT-;!Ag1_*;k6|46qL>>r-er`bDJUj zkr2IF68<{9x9An&zantWmT%xE-p2}CNH73;7ad825S*Q8k(5>Z;2V)b!jpgI%BrVy@Oo=#>=`~j>{|n*j9%>-&;2WMdFr5$&>W@GC^C;4)jNCG{2;(`!>J}H!09S9 z%es12Nb?FxiiG}|n0PItl9;#{`sCFTnZ#8hl1o7I5pQm++Zz!j%o!qb)k4u15h(VU zEtx~e0>cBWuSAeZq@`7kCeJ$jjBH`e(VWD>UMf=1)nJy27@7r6rvp4y1eY-7!s;sN zCq@S6h+J%co}8I=v2r0+tkqRX3RfhU0LETQ$8HI@(^R*J$pxC+yHRPvz?2bPz_2=v z%T_QZJdJf^hf~2i%reZhm|uHFp$dp|;Q$B|u8~d-0@PBPWMwo-WK$Q)?ls|65!?3U zW|&qeTK>w)7A+Ekv!JkWZr_iTr|r>TcYxKYd2^Gkv!Yp93 zEw1*$J92Sjb>$L|y1d%ARJGNp_3)IeuTvCTZq-;@?o1dTD^*)=ty)=6aB3^A_NZ9I zLV5DlW0kek(1$GJ>nlA3Is*SH zMtf#2R2hS`ipIu@rl>k)#!=xmQAXe?+l00Oms-EiUr|%jMB5uRelHfD3{GLqe?vokBRN{qY)Ec!xo|v?YyB}wA=AyP+C~ZR5ybAh8fmeG5Hw9+YI>BvYKF=R zop%iEcbLc^@4V<6FemH{73eeOL@$^TimAYw)?aCrV*!-hRYhs?z*LvlH&%Md4oK-n zjW!s``>v66TI7QxYBkJZ63}Rhs;u{u6)`%+fXfw*t;1O3C$*uXy3wl&hfXMq^fT}i z?ww;R{S7tMFnEKX!p^N;%E|Q;=3c0|l^M`>y-Q(fs)6E4{=bY1+UQk1zeWE^d|~`& zD>>w7O-(((QdZbnJe3|+j`j&z=mY9B6_d()OdWL z2icU-4b&cygWPrd&SA8d^jjOWQaH4V`l6^}(j~nCa{vgPp<)`dLBZ{(fC1Oc@AK3) z)DR_4T9D~#WDWNXlauxsL?=b`6G>$lWMJoZi#3oWCr~6dW4hsuhxiR`Kkn+P6?Ms+;y7{bi|69_Z=f>29Xi%w+JO|1LtS*{ox z1~lKnXP*Fo{%EFFCPc*?Ify`text?01xCo7H0HX(J zHc0mxRdeT>#LB>#1yai~T9z;;LAA3%1d*m5`Sa82( z14d#a#i*QSV&*?1fi09M>CAN%!qbs5P^smj^5qrK8Y6yk41~FX(m`Nu>@q5XS$c6jI@|n-#(Mp=wXpXy+hHX|JBQ}{ zO$0-`amXbpX(lEYOz1$Np5P&lrkfm+F#@Ky!Q&?9E~L__i{yEa3N=?1sbYFXhg4L`eI-zb6fTKS7?==z46KYByhvg$B_fIu)sm8m zCBd=%Ua_pYzLBXriP}DCakasd0!8c{2m!86f`SaSPZT9$O{M~q`!6uLXMq`1U@`6H zOV}a^*C3J%GN;!=!Nl<z8VjtIC53hb2xJIs|q*=1_D$&qN4|nsZ z(FDj1PK^GAdm%!N4>POHQCs0|tS`%fh=EDK{29w!PR7}*DhP*kLk{sPHupwkj^N(I z205y(t7j#}guzP*7GM{0N@aB;d^FIp-X4;7E|-U_tEyg+g9SBC1uztvOXMr29FdNq z;c0DnQ`2zj$s#UquKElV!cDJ$*d=|GmV~(xtj-yGED$-)=rEcx#R{nbr_{iJjb2aV z7};%TvshZ1DmYlS4$CXdE$Aym8>^{^A`mgvby0(nUaO(Qz(0d_&&D=2LE=eCiB~Bv zWuu7BbUKc7Y%WNeKU{?%-LOxpR{85dVo0)xWD{Lk6dD^=25``Vjs#^It57ryqKs53 zGMH2Mn0X?LV>JVG4Em~AC9$StG(SzEZ1{tsi5kyy7NQVP>swm zxL14Ko|>A9IuA}uGK;&-iX)#Y>p>IjNJGgKBUG&Ifr2e+N;Auxq{O9EY$=WHrJkB7 zML;E*RQfS>^6ob$*V5+p5}uMSr!vOU)vQX+_n3rbn$+)0FhyR4SW(XiR?f(N1=@$z z3(~XmNWzfR;sw|kcF95eu(+T_eMJprhFg?`swmQEOVS)F>|&fRqy>qvdPu_puP@RB zk-{`p0q(eKK z!C=~=-39FG8R~wofrvj$YElae@)ywBlyqykgas>OWRW&g z=UL7(SJ*gU+6}_{@+NrfB!J!fsDyglmdEEr3~eEU%pG79qWj6qLAtZaOb7tOr zh5X8B^pJ@f*8g&Qe%`DCr$fOa1nVM7Fq8|3Kibd|W?}3F;-pZqB6Nju>TnTVSXx55 zZ8<63!;QQJh2`)A&MT+MLX?aV_668zBI9vA26}HBny5n3 z4W*n#1%R3caYj}R#gqqP86{PFu~LY%4v*?-7tS>;-$okj*@9^zz)CTLel8Gu=_JG1 z-Xu(WR4qlx6)>$_ApaCBs?aK0#R-VmX}2j@{v$zH#tOm)SZSQ(kwni?^@v0=rJ==< z&U6@3DwK$blm60jCBZQv4C5d+*htbte-(Df9>_+wBx2o2Er~AKXJRGUJ&6cCQrVa& zG^HNsa0=^6VH+dxw#_BV*^2pZJ^mV+qOh~$HLQ<@lfp`*($u8XP9WEBd@16${(7G$ zsmFVIS=nfH(IU)Af~hbZu(QgJbUk9g$`LW-)H-89iIWEfMkkfyICjJ{GtR}0d}6aS zBCc?*j50>AnN|``Gw~s~LU%XwF_P>d937We5dF^M)r^{jw$V6?j)7o^jvzlmGluFi zv)J?J*%uU(IC2)z>HW){7+i?vfy|SDZVW&T=|Tn1l#PhaNFKTEw}W z1+$`aMYfT0^k`#g!CbRFPKebgT>W)d*VQkt!>}_ZgAr-&5ejR&`B0$>;ZT`d5|*pz z+Tz)HbKyWfugE?(tXf5DTt+vFok%*mf@zi%x=1jQ1Va+-EHV_ieMtw;48={%(-Gc! zQG2B`^PTg{>0fT)oVoTAs9WJRLs(r1X7(aLd84t5%5BBwCy}Mc)~Zl0j9pc! zYQXP5TXuWIDPRNlD13Q+#-9)Y*X0%D5lLiRQxhvV*aOZ~*yKk7SSa(xEYGSA{v5t^ z?akBq<;+_}7$?JT|3|#*GF%|T%Vd}>!v{8qe1DMPYchVh442B#@_Ui*yNx0=>itB% zKO@6OB|eYH_j_cxL5AyO*eJv0vR=1*pC?0?45!L)oD7G_@Jt!T$?)6T1YY}P_>v5t zli?FGyhnz&%CJR-D`Z$B!>eRiB14x9FO>8+M~0`#@TXfu{fA`up$y-W;qx+lRkrsZ zG8`+*2ju%VGW<-2AIfl_44;#5{wBlQWq6YeSIMwehG)z0Ct3b^**{sbJtJlKD;b_H z!;s{o!!mqVhA+!-n+*Rh!~11eE5j>gSRlhoWjIcT!(^CzyP(@ylE41H5}x>(_IxSR z5B^NP{^;@AFD$o1=EG7JJ31r-Az~ve3Mx*EAPssM&4!B7;PG6IINCYISD)y!Bi^gY zW>3~gnEY4?LN=uVR$MIe=-gy29o+I&!xjSAVZ~SO`&Tx>NDem=xm8Dph{%$LjPCjd zIxL9eFH0cbjVfWw#>{{%EZRq6R|h`0Bn}^;UT8)_OhO65v0*xCL_r3{*I|D=yd`Mp zQ}Wyr)hIX1J>?8od^pO`ZX0QH5XMTFzhPs63lR_@`y;J&X&MlF!%*eqkG@l7#*awz zj)?j~6@TiAkMGIvQ<-?iTtK{7O|$aR}Cm5rX$V8l?;CRRe^0*MwAnlQZE$R@)mxT78$ zDN#uy)M2fIU6HniK#Qv*Ux}aC)(|m-*aoDi*QQOV9F2eYYMY{D|7AKeN~R1)$Z)6( z&yr!H3_}lz{IehXzYD*4RFwb!!~Z)vJS6+!Ng4J>&#ga`-d{N*e%H^Gf3-*YyFK1N z?(uGw?@37`!#~)aq>GALi7y6{6|k7%fmI5S9o#s82j%vLa++|C1JfIlQ>OCwD~8zt#ANRd=ka9QpodM zC%5C$tjMF0Q0Jd?N;eOw{4dUD6DX|BdVWZb4~4*`i_T?;wT4=;qykhKIX2?!j1wvo zm9+7dQ($p`IG{gDxFbfwKEjS3)D2`ep~Dc0Fj!y*4_hNlNjRa&H_(nZRr#Bbm{t}y zgdIx5hi~Ko4oG@-6y-0CKxU%>rY|?kZC;~5{9~CS?WS=3WaLp4$L-VTY(Q915M7l% z4bd6H1a0~6%vnl|EB=&IPs_V3e@GT=DzI@*N1y__UykzqD%gg6YSd^JHC41iJE5=Nknlo}#Y22muMR8}I zHE__`=L|mgSLY2Gdj19Ku;CY`rd>25JtOzZ1z8r$!iBjG+vKs6<19AISQ~xTPYK1u z#wVS2#(?C(r~hhd>UrZbb5N6gM(*qtt_Y;f$CpCA|68W4Q;gV!N|mw~dFCqJ_&Zi9 zgww;HeQK~Rbudq#s9HN9RK3u6$S4xiX~2oqqMl#m^dWIoDy$|jg7@$ zM8?JO{}#kB07Uir;j{54{lzIt%&AI3Vp7VvO8n`=lLuHtcIySPzdFq*d9HE>`ti)O zhoxPlqz*rSTJ}&St3sKj3>m469y`UZDud61XPRP|}qQWu!7n8Lilq%anY;zgAfZ$ZM5W<#$Q|M7;?8 z(WH=D_ku`r_Ii%7fZuG&l*FVdBS%^6mrhpt8?tfJ$6|aZ#w1KYfpH0A6DN+t(7bfU zY3EHUxGd!Cg>rNRMuYfe8V^0fOJlPTGu=LE>SV{X?8wB4<1WdGeDCo*BQ|$J zkEp2Ei>Hi_djEgr1(Lx6YGMGNCWzTzXN(**+BSwoY!v-o3Y~%RLelcLVVU_-XdIp! z!H*O_5?na|BVi84+ycam!oNKHyAC6z1^jlsasx(Z8Dc`n-SfY6#E-^5@!tr38Uenn zz|*&(5g7P6%7>g9;ItU!WxOde-%Fv{$_C`Ph2LKam0+A0ur9_ZGM@iW!c3If7fO<4 zHzG{LzvHO22I18*zVLA)4bE9H)=JC2|N_~)#7w^bp!TRr%uH|#A(x{;{iFE z^#L4yF+CerOJ4C|Z=6be*9Mj<_{Oqt2O;1kA3snc zQ`BEJQ_Jn3o_+wlM!QtB4^}ZBjq;5sNr`?WE~>!O%igO3~yvC zH2y1|Z-Bl{Ex2BW#`{s_2aY#F@h1LeaLP#jE1pmO_hQbO$$!W5U#ju1{3QN981ej& zO!)eyy0O0Td#|o% zJlNnA(%Z!}8*B#%kWhm$HW-XeY?D9;nYfJc1bfDru>prbdPpy%hty5)z4zYxZpxg*=wKa`7riB0V^^}(Rluq&wYO)~ zD=$j@82&Bg-^9DLEn(Zy{CflcUeCWb^6yRjdo%yu!oRoj?``~hJO4WTJH+$66F=|3 zzdL%Kx98^oILl@R@fqSVn-~M2ZRi|)+l08w>FDVv8y6bq8|OfM&*~(DI05m1j|vrtz9_opFb8C))Gf#;3-= zjDH$$8=tfKhw%wo-nLkmZe?t3d}VxNd~JMayk)#+ypNUhc&yV8`-5uN4E}~;#as$G z!p>L&55Y=&JC)}_D%U=&2i6-GaBeBbGSBB48;tXi&r^(3kzbw55uE0?Qevub-{-hb ze>BzU{SAT~!N%&HYDK0=|9+2DQOVI-KRsO9YqqOp$+*)L6NTfnKHl#te` zkmjqLlF5p0Dw{Jrp;Wog^W3M@H1FkcS>k#2`V$;CNi%c`-Z9=a-a+i|LQ9{!_n}?e z$L26dHOTj#{JWTc_vT-+4f9iwfA_<0zA?}^%QzF-o0h{MhoSe`DYmQmy+PS7Vsjt- zE`wg9Y|m7t4zJSlPO>Mjia|<6?{Om!U$1-BcmVoA=!c*mhJFP4QRv5@ABTPd`blVS z7^%+-m1{R7T8BY)^%VR+4gC!Cv(V2$KM(x^^o!6hLB9^SdY_+UA2C)z zCKiRXXr=K=9~!EY8unk$zX$X0{*bIKhipxTU#?7gtL0~sw~;(9IsQZN-UJCpBfjy1e(m^AzZGeVM_|nnf$R~k+osM?80X+L6 z%*AMKbFFcMakFtNxbEHHx(}kQJc&Af0rmNc@jCO@kHC392QU5_WA?u>GW-hJt!?_v zJhQ;u+}z6C&fLi?G)I`D%u;iVIo{mOoNCT6XPI-%8nf2i!)!43G#8uum_f7I44GlG z!|XD<&6VbX<{I-5^KkPh^BD7Z^CWYD*LncMHNcYZg?cHQTCIYOYn|s`*x}RR^`e zs<#@fMx_>73#~n^y`UCZi=px7K%~p%mYK5TMtYuca6}FaJomRw( zT3yxwR*Y5L>W1pER#+>cRzdYz2U@GGgRC{yTBw7qL##us!>q%tBcP6iI?7sS9c>+B z9cvv2bv)Dw)``|h*2&f>)_UtyR;O8~TW45jT4z~jL!HBFgLSTTo^`%;fpwvEk@Xkr zV(Sv?QtLA7a_b7~O6w}?YU>*7TI)LNdg})3M(ZZ)X6qK~R_iwFcIyu7PU|kHyRCby zd#(Gd`>hA82d#&!hoK&^9)o(^qn@yyw4Q=`8tNISXQ7^hdfs{g>P71%>t*Y&*59mG ztXH94v;JOAF}$$`q=u1^@;VV^_lg#^@a5>>r3k^>l^D^ z>pSav>j&%K)_<%Yt)Hx)tzWEPt>3KQ(M?TZLG)~k9N`mwkt+gXfXEa1VxSl#3dAO2 zQ?Z%YTnu*AmcpyH65EJvp|%s-iyg#{VkhByJ)qtzASDsi>AMqDed7dMC- z#ZBU7af`TB+$Qc2cZ$2j-Qpf`ueeX#FCGvNiHF6b;xX}rcv3tqo)OQA=fn$8FN&AN zU!h*{s8_|S;x(w(q2AbN^`>}Bye-}l?~3=t`{G0Kk@$!BM0_ef6Q7HJiZ8^M;w$lu z_*Q%;eh~i_KZ>8luSx1R@q1c@so_Q{)3$73+jfrav;B6!9$@F$`Sw7&z~02()ZWbA z+#YOi!D>s}tG2ecVYRK@S8Zo+XYXL|WDl{2+QaRUcCkI0HeT(qS=2at7kj)t!JcUE zYVT%GvM1Y9?5XxNd%C^5U2e~`E0WYKdzM}0QM2uYs}{S$KGI{ zYoBMI@2U&z3+;>Szt|Vsm)Muum)Td?S3+F{b+vtseXV_+eZ767eUp8&eT#joeVcuU zeV2W=eUE*weZT#n{gC~z{iyvoRJxgqv>S(Y*Lch!CP4pjH4$@;jZ-@8jiVypnsQgH zVa8#mGY-2!<1io7_S&4<$7US%ZZ=lw&^DHCnu>jQV}>!*EXPc;0W-2j>{-piJhBRE zu_5d#%+dCQ%e$fx{^uC)h`r#l)RbM@FgKoo`Pv2M(^wyndP5YNPjV`s!hAFcnpx)CMy0uh`5q|WH~uc(Q9hpr%?-vGm}ig1a|xcuno?a4${WlJ4WgX|v(kJG^+2>eEPEjd%+Zj< zkR0YHNN1#}e~(LfC;Q|3RVO6*I1y`$qaY3XGnA)*YP~^H=V!4dd5)hh#Z!~{GFBm% zqO4vsg63sdUH;W*Ls?yBtTv^ZWxkHQ?q~iDtIoa6W#$sI-JD|n-Pp%$GGD>^Ny&A6TATX$i#btlw42FY&k$Ey8Kti2w>iv1C+z#hZf*Lj5%U+L*&JvNLb(;7t@_PJ%}vZFuo|Q1zZ*-iVStlw5(-S)b1tq6fK7nIK%-R29%-;G>T(!OCFjul>uc_L`{ zH$OKvH#_0)EYMyfi1tb|WL_PdxLsNmstYJD}?II3LB!8l$Wsm_ptxLI0oxcQsnbuakP0J6w!L^pE8d&A8>7+HIG$2 zaV*mQplkn-`4{n=c|Mo;V^}R8hqdcdDDkI3`>^@E`3zRG$71cfsrjOLk$BvE39H=A z%)erN`#19;lPF&?Uo~GdAH!;wX#b8i@6$~AE@HBzTKi`67Ob~#HE-izdb(Xb-NELa z_`Qpt?#A!epgi5Y$2`OApEjBDE%O8OTdddLHorH2G=DNb#7bWG>0c1$^$7C@^9QAV zGk-VF6S)?|&epktXop!F#M_`eM@ZU#m;vh(bAa`W`KkFCqyX#8vr%uKoBxC~fbyPe zeE|u9Y2`r%@TGaSTR&%suS`vQrXX6sB^A+LZ>|?Nn3D1ok;jy0n@h#n2w`K?#shRH z&HD&poek*S#{J23VG?f@T0?quyL97t>yiXqlyYpgXTg?6en4YboC z&zWJBTRVVqrlQ>mk{!pY0__k;dL~24GsT(%InOL>t~Jlv7jhn=o$u0;v}Y!yJ$qP< zq8_wWkn=Q%2GGui>}R2ew#NF-+#B+r`4+XeCDzd<(Jp7&ddPyPeeY>~Z#G!_G38?T z-wW@HxI_eKb^BhzHp|`jeIQZ#&a4;Tn?cZ0jV{>eHm4;}f83;c3R%sF?~l_+pR&!h zK-Sd`YHD$9P_pIC7h!9E$h)Qrk|E_ohLjJF!i=x}zYABg&IOdkmy<>p^)6 z)1HdN~C3ELNy0-zehd?rSC}e!+gO;RoCqq7WG1Hy`IUPyqP6g#yQtA2-*)IDSXKzDJ0rAATQLkZ$WY>X}^a2 z@NbYH677eOBYpr$;>V!;!Id)p8#2XzL9+N0<}+&Jt z?I4BBw+2HlNwk}ZEtqyou{9)``PL55+d^I`X-R6CZw-Sc+9F6Z3nA|u3fke2LT(|3 zKpshyB#+zy63J~LliU#!$_K15Eb$yChKXGupDYp+SVlPsw7W6wWTu@0X{D59P6y@g zkX4R?OmjA5lzzxHbD4Gzmv%Q%hm@QSDd!nt3gnX0Sjw4ik-T#zX!ETKrk%y|&U|YR zNI&PoHUi0KzEub5XAtJT&?M6&32DC73fbmNm_(azEf@>4^q#3i)i0dAHRA8RrVnt_0;OP-^L>q+H9C2ZQzy$TuZz z9J0(U-7Zm~{+eDp9#NKb}zlxR%sp2}OB^l-kkhI<-&av)=jPoXzW)kHCiuOTJ zJ_Oo_#Ur476tvet%K12?pHG06WSt}feTpTXBnf>^JP+CzAoY9@vd_~&dj`{<4%#!A z@;yi`pAa7~?MtBikZC_+%8!|nzv>->pjp+75W=r1e}{gr9I62F1cw7-Gu)3QlAYS=_el(zk&$gzJC zB*pw$|wfS?F-P!x{l;C(#x`<~fQfM}x8il%=37 z1Le;47)U`$+IhA)UeQhf?FdLdN3!fw(oTZRbTVY1C6I!aLJnF6Noaz0JfxyCAQzp$ zlF?Z#HLZl)w91}n&1UK89MD#Sb}ne=fwl%R(R`~Ga?u5fmSn1XK#qE$SqXiKSp^yD zI@4#(v3*vxeW3ZIIoICPoCnGVbH2@#<^sDEE3Hzq$lTG~!=8@4$n2^f=Ml22g*bYJF=@4*x$~sR^$9cc6Bh$XJl8W0(X*KodGmX zc6F}NpSlS9#o5&pKo(?I&j3G=UA+kePZL+Ez z%=GFI*so=`k=R#1$Q+qP?QHIh-FN!k(`>~4{La|5uZPa2cEwKqt{K!cw%^TMfW7}Z za~^)Rss;*RHr^(iRnXbgbaT2n6MDK?ZcZ~N!K~<4%{6y1=b96tQx(~hsxikwXHyG- zSy-4=Ee3j_41A8vUU0kKtm8kuAuAF+!t z>+NhkNSGHxMGg5|Z`a%ObOorcz;9-?HGE|2L0hBu)Z5wn&{gnpm6=Ul4Iftnfs$FJ z?}a;nPU;=Z>-tqA;k(}Mucy}A)KkePJ?(}k()6p9bfaEYZ)fXclevG@+tkY>%^&M! z_4Zu&Pwis~yZhmKznM)fgpdAv8Kp_~vUF8`~N9D5Md31E`X+ZH-SzUC)xc^#i`3@Q-qoP zM{S`2su8G>J)!o3S_D;Z4>T47MY1>45~zKkmO^37G4{3hRmhV4fGuf)-B6>MF(xgb zkgApOCLy?K)#g4e!&AHarro7U=#=GY+z7GK0nAFWZ~YccW8am=j{NV>_WJ|(BB^7_ zE)J7)H?+jT=+IZdhIB%$#53tt9=n9Ae(F`O2Le6QSFKKCN0bL;4O51_27X8 z?i<-&2%Hijlj>Pt43l&{a7v`4Sr5z-*VAd$~C$&_yTH(i?3+fh!4>d&UJe>$Beofmq)j#a(= zJ9bSe^}1fP-}GtCWJ`JIKOGzIL#L)5I5wGTN_nCcN%u^t%4Gk4o?2a7Wa>0h3S}z) zT&gy{bP{n>j6|=~k}z*bW7l8${#Z&9apXPZb zzr1FmOSaDzO0v(yTRNJAt9(lJqurD3$u`->`-a=~Gq!>MewXCgR^PY8*_!|ECx)dE zH08fs(fOqP_>2;6e!^)%zk6OO7pPQn^+8=Hd^l?)fbjC+Hvj}_0CVs>Q08IIoo`$t z@^KpJYOyKKgdPjMIZh=FW<418TXLA2;)&Guh=cSlP`Rwv;tXj3x(;z{0doty1#qhp zX?cE%;OfURX#FZd&ztizJq?C0GPi^ZLepC{l#Ot}u zCmMup8xA*8SBfC+D57xacK}X%p31ro=c#bJnQ?_EgNsxr;(b@B(^+qYu(o1K8|VH0 zcc{&9QkL`;I5{>MdM?!EVn^8R2-_WCO0^T-cY<<&M0B9W0E0OODCP=KR^YVmU!cd} zjM-f16A;oor7p+Wu^SN*srwP$udKs3A-N-KjZ_|C&V|HtC#J119isv`JW0D5&b9sT zP(yI?ZY1kM+=Vp+`Zm4|s}T6q(Li<%;kUc+R_G#}E8$XU-pVdF1Mzt?@Sc-lceA1$ z4XTIO^>KuE7v8*ajD}q@Em2-7iun#MFXbg-2*Mp{Tr5U{X6XMCMW+~xjNPFgggy{z ziMc!Qu{BU7&}*RfF>8!{&4+P*@d()60_^O4>`Icb+wool+P{eVKzSgLv$r#Lw!{dF zJ3zSxltn<)Qanc}+7cj1?}fkb@P02a+cgO9K*KU0G1>*;Znre=FqR2Iz!w=qq3IU3 z-GNX25D485nbtPH1J%7iu73i%PeA(se0>hRr8x!o)E`0nBWR}>ZQ@7Rk|H0Zu;pxq z#1!CDM}dlTE8d8<1?KKJHQ5Zj>X&%`(rAKBLhT2%>Q{ItO+H9{4HXn$8#zGf6D|25 z^$pa1<~PP(Cix)M3%)NmHZUW-> zOZXjVwgLCJ6bS1@aBYVfhC5O254>;$v{9z*0^+ubDdRA^%{XG}B3j^vmjV4tlmkIa zCk7Ed@4O{Fl)uNFloiQ zwV>bs`)aHIgLpKe`c8!$z706zTYxNn5a{NIAambRe8Z=Hw-AIZzQw!~$mEA{3ix(& zu(%EW2#rl)oUha!OnC=rwGEl6w6_7peiu;Hj{;BqII!!Ri>D9^`Md*Y>dl0g_8y?K zUjVZDW#F5odIXgBxU}~G$NdtJ*7pEs{S1CL754zCy$OC_1Lf-}w0{TI`X1n~-vZ+K z9X!1R47Q}b2Pp1)fM|Xdzwd$eL(qN%JobCQC4XWPo|$Mrb7={e{4QgX3&fY8{QxNJ zK|nFT2gQ5$}dCnJ$tzSS(a)um1zyJ4@W&Qa$XnLLtF!exSoe3X3n32zx z2v`H~^aHSuL2Fa!&4Gs=h^K)#`#c!>6Fx=W1lrAcijPfIRuqP$)iz{m+O0sl87SWZ zvUv+&k2klPfQ{Y)=ccy;x_Stsp0@*{(o3uH(OZI2qN248nOgwiENSls4x3K24+Um> zTcDkbfsb|+=6Xxuripg@B&7C^@O2j`$lnO~Aj&e(7UOvgD0gPO_AbDujtAugoQ}T* zi0R2dMehiF^bYu)#Pqce5EuE#8lzZb`J>jaCfOa3Cfad{6+ycxn(ar~=x)Ug0qFoNkeSuMp@Hu?K zuo7hyv@t$?9|7$F@Vh@Kx;czi#u2x|&vLlL;ZNI;*$tZ>;CWX7^&0^awhM2adl zSm2WwK}@u3af<&i;Db*D?FqmLuLjCjp4vZ~X^+6E{UhOrXx9PlD{1Kj|5_k@iS|Tb zeNO<+_Y_cG?9yHWr0+RE{9eHr-)n&G-N0x1iSkBJ(#ihYfCat?ly^W~41Eu)$ALAz zoGBl6X&+_U$3RKAUQPQ5u)I$Ix%()vy-xy}`xwsqKLJ8WJ9viCV4af$Xx zyuApN@B5&91-Anb}qzXQ(pKR`48Vr?Vn zW`SQoyRG+JK)IyZuS>zm>9tn zh8PKRDEt@0zXAWlnRXkXb4LTQyFHM&!+^OZ+TlRdmWXEHaYq0_zn?V@w7Vd*@t~Xl z%3am10g`eCQu_X|`o z?E>Io=P~6x;9M*C7J?4oX^FNPE}g*5cHtI)3ZQZi0Q$88ls))ef!hi8XWCW3zs`fr zfntia8mQU`?g&`Jlxr33!Js@8w1)xL+5;r(3Q*F$0jq$c?FAC{c)nTSSiU`gXiowL zb}eoZI2AbB_1Nh>6q;zy0PPt}NoW0!1_G97*8@j;6Vu+zl(#S?-2kv2nAqJcc@IF5 zMK=N52Sn}tpnU+e55oN+;9hS6YW7heX&(pL^%h`Vp9Y%tHsD=v=Nkl`0@Rzl6b%(O2uEm6J)%J)J00b^x90@C##xL<%y{6EhK*B5|reF^y37lDs`87S8m zfsg$TxK_f$zK65_?}PF;zA1nxe;0n6Xz8v1T4ekSc-Sw2f&EJ4*k1z!o1pzwVPSs* z3KsXH0KrPMgMoV88bT2hxK#^?RU25<9N=7iK&$Quq^bjCs<4JCH0&_G4`4WGM*@{9 zX-hy^3RLR0z_V@#MCy!>UcMoc62kVM(p-xR|~NloL$jgadt&J$=Ma{GiO(NH#xIO`_tJK z?OtbBw6~pI(av{vMSJ4eRgm}0v;FReyBe}9+HKFSXdgbiYQbF)*%j^GXICNIC6QgV z;jW2oP5Rvo=RP;V)3Sb4J1_wSCjI7{1Iz%P!nR?C@taxgZ~t!Wj~)HYYB|sZ%k5tb z`u*AX4EF~t2aezaqXWO0Rj2*F(Fw#sW)%SzA)R{Lh}bVc)9o71<6LqSW+v5z`!}94 z==XY@vc3jS2iR8`2dFza(wi~+N`r3eNT)7im$-eY5w|bFN&GnQ3{q{tO?7AEz1u#^ z=*DkmMaYMf4f;I^xBVTBrxpFGmGGu8kjvBnN5Q@$mB*WxY{+#P}6X596#FP;vzmly}*H?um#-rG0? z$coJBQ2S7O5$?cfG!6yk;xKywZY;wsh(KTTr;Y$RW41xRvy5_MDxQw)R~=myv+Zn(c3vq( zWNyII2K;7L=fcOiz|ka3`Ih)S4?fNVmL{`0A3hQ{0;PK*>`HcZAuuh5A%7|LbgR%s zu#vxHLs*{v)WyK~WLK9U%u5soDAklMmjMlA81k3mrKihbb2)x9t1IB+3Lu9vt1IDy z?ncV2=+>m{O5#ZfJz^O0mr_XgEE&eN_|2@YgAa+g$@F_Yup`;k4M0$2SO5LH`8tJE zZu*ZfoY^$tRyAf7#fUxW?EbTbmFlK3v4ndi%q!tt3Fk`w2;ZtPq+ZM^;Y|q#x*7E5 zS@dAIZ2`R{^j6Rm=GM^LKyM4Z9W>c(54{8Qj?guP zy+8xIdj`I-V_?_Hz<#!Y{b>U`(FS&44cwM&;1(zYyXgjQ?~;D-)g#=NWnh=uz)e{O zZpxDJPlh=KdMflZ=;_eAL(hONhn@*t0X+-461oa{HuN0mYG{goF7!O;8tD1Zwa|6Y z3!wLaCO`Gi4bY9yl<)ti|6duP8K6B}j@x3d#-8nU*tdQFXW$;e3Bg)4kAi{u1D`f7 zG@rx$PInux8G~`^?mO7Ogu9wA#hII1up=`Y65#XDjkm!1eGa5|6_6Ltu->$`!c999 zv0E~3;JShjjdca1(S>K4>k4)pc)2-60GI*0Z>@C&0k}V4ewDwjU|qq_`ETUEZJY(F zU*Pg({>R4aY`?DHvwXw&EdLVY6TDxNe+t_^l>a5}TstZM`1}sI-T=F+q2Dw&k1CX+Y5-9R1D7_BkaZbUs|`Ydkg%{&;K5F^?po}WZj(P4@9PT2 zfx3c2n3z8--^l+JYzaAn8=3dPWmNvFdE4gSjNQ8nlm(wtO&<`UehOsw%+>+Ov_Zr^L&pQTT zY$g6_OoSY6UBTw4+evx5!EV>QTk(EmUSVEa-rjhp__l`)h1!XDz!3-NbZrN@DLsD( zYO?JV!v+*WNvbp8_656>9}1^Mm9=3k#4V^~`x(-*ALm*7Sy#|#Jr|Jv5i`Qt0(vcE zf|wJFXCY_aAYQZb2E=gBXfI@rbSvpK;zHa;dX2agel9_{m*WP}+aci_YLg^zd;4yj zmY-*DhHxg@6ps#lUBMfm0MCW(CIdR`*Tt5Qqk;cJe~obd13d(8^Po%YH>?>raea>c zrfuZB2|5brp1`pj;v`T^hXy~!8SNU_on*gdziq!`zi)pYc-MZ<{tR><*q__QIWO8z zz~>nI8T$?U3)`QwSxx}jkHK~GoM-IqX^_SHb~(dx3ZXv?jLMmmGdX8!&UC0*In_Be zITbncbLw;U%&FzKCOqw(vm|G)oMk!fIW0NSoUWWuPDf5p&d>JsIqM28$hke|lALup zM?f3Kq0p!2{55Aw-(=r+Ij01+_bu~LPE6lm-`2i^b5;ko^lj(c%D265m~V`4gl}74 zov*=H?OW{I+qc|T>x=u=`VRCR;ycv004l_^ZN8vyOrY5p_O0~Ad?)x$@~!ioO#{1e z4&F}jU4-Y7z-hkoeedU<;XB=T0p8E`UGKZXce(FU-;Maa!gmAgZuLD3b-V9w-(9|E zefRmE^F8K!8BY)9t}D1B=h>VGeb4)zfxkO_yZYATj`c0c{oGgJKPKlPu|DSwpPBoj z?^C4bU%nrFzxuw!#R9+kHuLBDxA*Vp-@(6=zsNt*U*;doWxj6T;r=&#r~4QC>bc~u z^xx^f&VQr-693))`~463AN4=rf5QK;|0(}t{zv>z`(O3{)&H*lWB)V$fBN6|e}=fg zwSABIU&qt8{tx}%`oHjh;{O!C6OjKOaUFt@o0IFy{ly=^glZF-R6!S^%r?p05+Bk- zyUQJf-_3KU;`isAt#fzGJwIm}(l!ZYJQ(_Rw3vf)4n#{UNBi3@=X?8~_9wWz^eB6B z?(Vr`bE|Ua=I)U@KX;$phTKKDOLK#{9eCP1wF!*Wl^Js$d;++%as=U$b28lHlXi=K~|))myFFHM5{xfl}Z zA@(!4!{Sj$`Om|i!U5QGpc_G!;wI&J*jp*Y&d}Ytm*n1*du{H`x%cPZmwO9hx&==U zYm+*fno%6%STznc3x)Thv|!2OHduX5jq?MJzvf9g(PU~;)+X?C>6+$@B6=>z>{Q@hXB7p;-))n*wdIGV)s=zUU zV*|&59^3)HM?jy-zE9xa69Z=lP6(VAxG->j;F7?VfxiUKg^%+C8(?=co-SZt7+(T+ z1g;6(gtz+xw+0>z+#h%}@KoSl_`p~X+h+m~;r(&wCt>#*Q~f>g5}pm?J(w@^(?@~N z*<4ppJYe#Gc?0$t&^ci3fRhGXIN-(s4-I&Ez=s3AAK=T|Dz7MSQr_IWC3&H|p1ier zC+1y%@$jy^r}N&-`y%h(dH(#Z^NaI$%`ea2BfmL6o_|FCN%^n)H{@TFe_Q@z`LE`` zo&RC}clp2N4;r}Bz%c{u0h0&L8@SKF&Vg$Oo;2{nfj16(Xy7vg-yHba!0&J!$rgh~ z4BBzgO&M2skA>xnPZeWcQ0$Wi7E%3P-M zKYj=4|8Lt%bA>XuQ05QH{d8q+rSg4;ihqoX?*)~wzp3~ARQ``r`94$ScQ<9euEOb3 z`5dUs;mZGD75=ST%5*g<^V==t`+8-z4U+Gl4U}e)dcQ`!N0d26nUCj7e|su(!C?9B zSLR*HyhMew^`_GOo=v1#rQ$6ZAm0z!T$)3b`S$O!KTlWY{mMR|=+_iT|6{bdnS5_m z@qDb_AIOvTEy^68Vt)CnjHgMZ>$)lJ+Mnvr?HqnbQ7tWp*fYh%#R> zr27nIex=g8Ud7{6rjCDbh4g>(OldAx=1^t6Q7-LIRpvZp3T56sL%PS6Ia-+?>@Mv$ zD6>JCdCGiPjU#g^r9VTNcg&LSUCJy{=DRALXDM@mG7qhi{wFE(T@}vB${aUax<9Gh zyY#!_lONYf_mh=5T$y**O8clXhbr^c`O2h90X@;~5Pzg~YRdOjr_)ztlRx`9d^mmTG#X)-`QwB5cxr83u&SnVQLw7M zveHPl!Utt*YU(OdY`u2#%d2Y>&JC4~!C93v7tT&t&33JHde)$&At%z*8FE@fZQ%&Mt%@(r(id{^g2)q=&g$XuHAXd8WCz^v zncAq+5sfS(X*<@i-A%FX(!`f^@!qoBp@3p-_&}?Xl!C6FczbCxd5Er1?oqUlXq(g8 zi?oDWoX${ZG}fz{QVYHk+Z_tZ=7rWoe_8y8BJrM>_8#PfD5C6is>yOAb_ue?lib8P zRc^Xe`a`R_nj-ui-?Zfenzp8He2F)ybi$GDP%Hvl{uXa(X(-Z4MWcEbH7s-**`t)5 zF2xc@_N7n+pEq6>(j?8HmL~KjM}3TzdRE-2ubf+1(U`3qgUdqQ!ANLTx3}c8lm|XU z>=xS}$yX%m$S)f^ZBaB7S%CP6vJ*nf?4d$H161w0DWd$UVm31P>uTzz!ZXtK7zecx zqpun(hA@1nQ#z`&0@_&-o(xvg?X-1IYnf~e$LBhSI{e2>s3qDODkCelp5N3Gi^h@W z7=5OhzLZQKHeLoFo#TV(cKDnyI#%LEaxB-4UyGJ3DRGuAEtc^N54V+eH#K*J;-%nu z;iiu8f&BGp>5A__cRTbM;`s6qdTTVo5rx}A9q~|+)>hUhTh6R(ET^CwqUiPf9b}YqytlJC+7T!F1u=B~RiSv9!9_3%pK0!nqAj$C zV$y2K5_X~V4+R(L=mFyaH*O6_%i50~>!=|~@MtsUX!WN-1__|DzET}VVy zh>=h?SWoxP;RxAdsGz=q(vP$@#af*TryZY@4#nbSG-3=5w-FoTf~c--49-a^1!bfB z1cMEYvnql$)$^+xgY(NP>gyU@-)Y?NG3-Rf(Oun?(gVc_yWN6lPUsRr`8>tYZarQ{ z^^$OfV1dX| zY!FO}4T#DYr4l9E5Ru1bp^PfUhT=-G(sZ6gQ!D1Gl1bN%EgX$^V^HXv?szJq1x*kQ z$=d>9MNN>b+NfTF!IrL$o;Yc@elaOn*iad)sH<&gG=@^I3UGOO{Hk)3qaiv=k!lk` zbO26lCJKr(IeggA;Mv=Yp%Py-=U+D|%9c7|sBBqT2|YBT=ePAlkjSO1 ztSsIh?dib8E99(dpEY; zUd-YUF(7GIdM4K;OORpaNv+YU+!5~XEpy9v@#2QY^2SOkCOp)mSt~vViJJ>#FS*0H7nb(bSN5A%>I`yEn!o~g!Z$?>`LuHuMseK2i$1LCxYil5sEC*V1y=FcZRK9zV`=Q`>gSi&V1%Y*bVV`UBQ8ga4GaXOJzYq*Gs+08 znL<3TfmbQ$Qr_vboIZfMP*0e-QVPpZTj*>pvfraj+oK(=T!@MEQJG`bjO-T4Tysmq z5L|>27;U3sVSRliCL=NvPVwq}yjhr47o1sHMJ*5=sk*L~S|EssfikP>>W&pV)3`dj zrjR50AVxG;jofFV&uT2 zbHYInH9B)DB|JB54K?>*e3PEtgtzseL-6w78%nSPm6*tKkbQaWCuV|#b6>Kq3s%=ISlGyOuDV%ulQHuO#~u84V#uJuH4zsiMYG&N)7vkS z9Gu<8P8#QuRaVTYqak}G)?Cq*v<7$DXwnucD#qFpE5Me~qf4Waj$Wr?^k~n3Pc%qG zEY#f-BZ&;=RE1c@_H=ZEA$iiI5}!FB@C)so$|cqrj?hq}?N9_fSD@dDc_@pDdg74v zp{{7G+i7y7pn^pbNy{tHRh2iE*90r;>+7)6l;xbX`rLVx(HiL>?KtHf9ZoE~tQ`|Z z3PV?ooZIIVEmFHJ5xL*0|*+k%Dl3+fsw%Wz4NPBSK3SQAr+16y|M zA<5Rs=165bD-;hei||Ao0<;(}yyKJIC>AenoLPej%k1h3*RHp>tEqM3c=sKC%4cH6 z!E7?Ia7?idMS42Xz`L6}g5a2|4bMCEk2tJcCQ6>#TVttKtq>N$PG=tx%&Mv>pWQHS z=HkZ6hGg>A&ZaK-rB1hcObOJQWOpo|kX`bDRdiE4jE2|L+Uj&Q#UKns^S}%u5f9{? z6*X=Fqsr+$Sltk;TUg&ftKr0wO*zuq0U@_Ht-#V9g0>!ecUX66#u#>D4 zoo*&N*F3L3ws4w}k>!|M#2_?|Bi(wGz-&Zv7bzm)1kYaB*bv;ayq?xXR50|H%6z;o z$?QkENEXGTF!L%dFxLrON;(m{QceLm{G(uKAjh07++B?6B+ooOHq)H3JV+}x#idYP zTiqx{(v3u+o`^_-K;V)5Sal(=5r5nSTUmenw)gmY!HFgjs&9 z2mPMX7i^{(4NRJ~(3lpEv<9W5a56kl1524FQO4pc!;qI_o&^ecMlOaAcb1IZrEJVn zB|3~d%c77F#W20bqBlgvr`9TRHl_kkzZgIaNH5BgXNttLQ6jKeiODM^-Jv1Pi9^)g z(JLLfOpzFtpz@F`OO}eH0*n71NZ%;`Sdps&2?Um5c~2QogFm8htvsc`^%w}OrX)}z zc9suJ+!|Fyr97=+H0g3WDqSu60aY|K#gnT+kj|h&}k*INLC0iB6E~jsBz?z+!1$CUn8#nsI zYhpT;uyf}gDOQ+xBy2bwIcI|7r2v?}4kbx)a*R=vGd zD2tlVs!(k5|9;UWZ|Rh$I! zv&wo}Q0!R=k8&cR$}}7)oes%v5$zN#K}P{!ltEL~lui#t+lrX4sJ2XY*mjb3I;2vt zE&WW7`dJ3Cj79m(a7P8w2mwmvdK0M%V&+HW)T>CUj#-ynkGdiDC5L}Bz((v8q2JJm zCc7bxld4aRDrybIyGM_vh0v&?I99YRA-qvUh-d#E$lxH!ZwWcrVZfdO#ZMD-jMb># zAO}foOv?eh_EXU+WS3S`devgpyqVdbEY0T9>C}F`3u?s++=_tzu^8x$M7!eQc;5*CiW@tfdSuSX%y^|p{aEL~U379ILGv0tjyHSI`gr9p z#RJqR)r3PPRyHkJ>7z^uuBO@UcFnDHy zAEJ=LOwg+Y>h)Se65u)|7R=n-IW`bd^F&mr+EF@_31%-v2jsY#n0X|GH3nC(6p6^e zW%TG&LJm%jqkX$2jimV7c~lj4&l~5|*DahqM~zZE@@fi?s8EsUx<*5hF$5CxJ6Zs7 zk&SZHoUX1SxS+hge7<5@=_M>I2*Tu`ogRo$c163W?*OVG+YvD*&13MSn{)DRrML^BQ((%2QVYOb5?%_g$|qhxOZB<3 zsn=QA4!V`0k(fTWMp>@xjSSVJdJ*q>6j6O~#iJ}dOG)e!HexKRu31>0w6o#0$A&{7 zv?`3*4yr22fx=?U3sOiM1W0p6P6;sz^$#_6DWRsPRugV0!X%%XktbQo-Xr_}Y%Gzf z?@P`r#r$%|-HnYV%)~0RS4{N?S(Vl=PXm)8BQa?*ycDZ7GlN&T4rMMVXAT^S9=AZ_agvcYsC??kWf{oWX$w^G6ZsH~L^&R> zgr58JjChFl9)ohhLDLo4k5%;G64OwUXe=>GDE{;m8Rg=!b&EEbSVCz39xDXa%+gvF zm`g@N0O>zr#r+(E=|YrN>58!2f+$~5O+MoCJf4Vnrv3oExTspV^t+`cHLLC@9~kC%qI!0M!}~*3-@VyiN?ML3g7)K6etTIWobLikvW45sax|*UsqC zVdlf}v62nP$4L&HL`-a563emNi7$yPC0br@2H>jN9z2qCRtjaa$a9^(0$nWey%Jr= z73sR0P=(Y9!C%VS3sFr9?olYgQDleW&>W|`m6;{GVKC(0i&7xq3y)E#ePAU3qmx{T zL=F%A+D?`feal|htA!fKXG zcel!Lc}vi7Ms;bl1;XKKD#2hMhL8^X8PVmE-@{1-1jr|FmC*fdLGb>{q)Iyv*s|E!mNRKA7xV=J5?7zGlguRZ9xUy)3so!77=Qongkwa)We(X&pSk?OFf zj}4`3f11UQ?VGGVp8KSOENC|bf8ZRo*rEgI7~3JO1m9(05;@TyRWa-n8I(M|v=o-k zbSf1YjP&iekUXj~U1JnRY=!P0NnMHdee}k1k^^;l>~F+W%(2$8Hfr;2syD0dKctPM zcI;SOtTIF?fsJGu?%=J{hq|2Rq*gKulVt-4#ypitg}gk}n^-KlekL0fAbM$cds%{S zdCDTm9#JYD10vPXD4x}LHJ~Y=A#w?n+~1SSR-z9aPXdXSGL*y$2#w3~PylabpakUy zZU|s3gX)4N2Wo-H5`~5$3K{DH*Aas^1?}RyFivS~muG|@!PcOYe(_f1uoa0`T|3O6 zQM1uryom;InMfQ7gEb1Q87U;` z2SnXXZu%<_ZLF!c#EE04wUvsgkU}VHDdYsmtZ}J>j0%?WJsMqTvzjM}-r2>S}8ia|$VG4u>bfL3qm&UTs}t#xP}uz2U_O zbCfkaoj#P>%(})oIAKAh=}oC_XKuJLfIWzB$z@F`PLm*uoWX>P&SqH=odjbJ;?e^- zTAJ|brH@1-9v3$ZClQEjN3y({!vGSMHpjxPI0%I@OQgf=Ql_bs;`jPUrlmA^T~p|# zl!XTtqQg!@qO}loE*$Mak7+|YqZ38+C*vK?wNQ@E740fz_&u=(Vrt}*8XwL9@YWwDOsBgT=lak4)^HvsPKv!AYp@ZSxbo%>Tbax zi)Pvy0^jV2mwEaAaH=#oma4TaHBotplanu{_423!wa})nt`Gp8NCdb8R`ondP#Kct z5nY}X9ECT$h1=e6IYnS@N6BgK33u=TyC%J`rWptGCkZxF?4eY4y2?crl?xhmKUY1m zsBrku!ea0%3>;vxZc)=vOJzcToUXK;p2plJr=m38jVYWCIcd;n0^X~;J&N_k%61)~ z1}39h#Wtk~N2^UbvKTmul z!pabv$4OCo=-P1FhIgy!aB!a(6K+iDq3eh?wW|1}$Ul|1kB8)ZrV55r$y41^;z#pL zPHZ@m6g~;lQ+$vWhl2Ybv2dkvgXi^qysc8clKjCtjzlKMNv$>#O^TOflF6Q6lO{aC zD@j_L;#b+G@z1lM@yJ_mbJ7omJ+10O_RLM_XK%xw=k2m=ZbF=}{M z{J(GhBz_op#aVKF-8Xx4${Uif#z15?{K5RCEv{_gasHSstzlcc+OXP14kChlcbf2Bga=Y8CQSLxPC1cJJ_qbwWoNQ%qWRV697k6dq))iAg9g zH4?*AEObCmSRS~>Dv0DvXaikMz+h4Kk%ZDtK>org#8N%;@`ei`G%dy0Gqx2_iY&B_ z_WHf`?;>-zY4Q@Ei!4Z|eaL zgjPZwKrM&#O1*@ZZZtvX6nG}6oJf^_-S<71yA(#^mZ!^iC_RZ5+}qoCNTzC?&v#3> zgKyG^zH}+K36d`s4I2t1cFB?@MZ;!Lcjg`~Qc^8&GnZwuae>QyH2gw|~a_%p5*-zk0F=Vdqq{&U1T1ay5FNQSb@lPXKg~2LO)k>-${th3cH4Jel_t8rp0dZ*H(#`LOqw31E4wtFHaeaZxLDd~ z`uNEnOS*QJ=Gu~UQKj|PUu@~(!_bi~e762G;kh%*zP0T-{h4r)Al^OCkXYr`U&wvi zj}AA;#}c!Ju6^_u2la^b@hEwJrbt}p{$uDHK1NosE1V-t7rMtWd)R%$rQL#z;d&f5 zHe5SNu95*&xN)j#o`ZjCrl0C#se3FusK3whc=fb5_@rp2gg4wD6 zkkhw^4B=9O|8%&NUb%2ipJ3_MUyA#tm%^0`*!1B_w?7xIUY4g1S-bWZc6xq6g{ed6 z8@|_dBf^)PpYBZ6yBJKg&-7&|VR)I^zjo~}EfhBW!JlVtMY+)-q|d8%{UhNghb@H? zeM6P@{e{QwNNJHT3CD8_L4yn-^}!00U+!DFO=izZU2lF4uU5a1(ADlb@;c zdAXu8ge&i+Q;rht0AYFRi1P&jO~!n&TYvFq$XAANIbVM=TqR@bTk*;vdrJGJ)0IT^ z4bgSV9%lM}E`?To1C{pug~;wn?URH?>H9VOdg?P1PyDm|Fca_ovwS=Km`Jw$l}Y+? z&M;>E>G8?~3QpH0lAQZbao_fqnfGg#{zFYCCsZ&R+{jT`Ut3!lNdU8Io= zx}`@YiR9UmNhGc}Q&RI_u-F+f0(YnJ9eJ)LLEXkqnlx$5*cwkdntE9}DudEA-h1_s zZIl=7veCtX5>Wu7yR4muAjl|@65K2WIW)wrBz)`$lU%O|XKHuGofXAiNC)V+WKgnH z82HmyEz!k#jG*K_E&Z0bE01g#D(t$`Tf&_#g}}BcAAw;n@DBhVeQt~YbUYG@LFv%G zDAq(cJ-C-OB_w_4pF;uZa9n>W0VYz;(f0N4My+!slZbXvL*)h`Fyo#flSP}At%9mt z%R=SdeATtoPd$G{rDMnKMk0QXKf19m)nifVF5`BcxN9jOm-5f!pRV)k>wnzX@w<-S zZI_ATC6UKJ-z?}!13eav9k(k7?eRzHC|{K9v51oapB{e{e;U&Pv{yjTns_%5Qr*!Quyv)lp)VdU?Tq3U$S}AFgy@(_hFf*7cln1B|HpNY4U+gD zd*PZTV2>LhJ8Cx!aiCMz+9`1vBDrI~q{_nqm9U?Hdtf$TPmxw^k^_z-uQ8O^KguEK z@W+ig8Z9Do6>hV|Jy1A60aRqNyO!G1+0TYFo@IErA5p^10r18piRvz}UJWdg`y$Nw zk(I+|Mk3=YHbR7ft~-B)TO zI7uygGw2f+#&|F3llS0ezNgQ1PgA!^SI5XIc5&JAwlfqWF2Mxo82hE_K0oO&s#xNM z0lHIrJ*t0DIWxcqfIZaTY(D?RyL)`V0wWJ916`NPoAwry(uKmAEfa!hOQ#PTo7hP5 zgpcjGz88n`=u7|{FcTVF3Exf=3JeZJvpN{-);o{Sstq{N=KXwlI+ zW`X;mbQuQ0Efuq!NVF7}iDcq`X~qGHH3F$#adP|#{#-O{tQ_0Zq>two9`3>!$>`79 zu+f|8cuJpm=W{Lh?ilC}n4W=#+XMI<&97Z|cM6M>jdZgt?q1O2Cu4`; zAAf2->!i+6Q|Ggb7gu3OY#2xWO7z6Hq!)QaIJ4F93px&xHlY+@pL$b4j*-kr9i616 zp^LB>1x6Q9%Ri#0Ki!0IyiL=C$x@Eoz%tRf2oUelUJj($O+ZW+m(t3sKovv3g*HA#+;b zwlFh*01BtFAi4qYu4y?Yp+K6cYbQ0I#*~`QzmTvE%Lyq6!r_}`xUh?QTT85`4Ol+H zDq`8vLi1(%Vi2L@X;xcQT*~)&B-Rsrdx$%Ja1!a3fU$IA39c`u^;DxiZN)+8(;qT7 z_@(Qy`Ro-fp>az-GZ0$XV&H%f5Lu_yZAg8`1nEcaWUP2lCmbomNFImAkgJw#WzVAEm9K2@ns7uo?WNs)Oxsd*S5+ENkpO()mCdz~;C30E<0n&P|Vseu-wHPMN99PFjj zo>Ut_66FtEJJf4`2^wk@#TPGg}|k0b_wyN zmGT1|U~9`c3JzF@55TcxS8DpLW*xLRN(9Kq$?9-3ZS|~5wuQV!jzexb>(IQS&GPh6 z9M|LUfkI-6QOsY#KV?#>YqK1o3`b=Fw**rp9wkqr#+z35O<$8UVK}u|lw>EtZ=H4o ziZ+XmiA@7!SsqDHsV{NMRmF!}_l%_c$}_HD@2&FFAbcLR3CvI3l&8zKw3IN{6c?R~ zr9zD16fJ!dfWy;miP&}Wha7PElKSI#JwMbKh&^>W>sY>6(m;BWUmjDl*oB23RXtPpohp#1}0fM0rqi>@vBd0J@h(3u6!afA78k*FoMA^#781oj*o3|9{qZ{RC0-3$uiMtqZudifVPVM zfJPd`tds;(kz)EhKqCJsMVm@ej1O+`A8x`zZ71CX>$xB?Q6Guhj6GKiYD$>6(|2^= zgq2bi^CvgTXU*jVroZ2pSOPMS3#3)X9X@;P<~}jb_YgBDiD7TAd~{k$^srAAOjr6B zXBj~}@Dz-#)%;0xzeMag}{QP zUer7L5+h9{k=FxTk_Qkl__>68T4L8N7R4!6IXRfA=xh1nPZ}CMtrVP%F8xG1b@PxK z6nH+zzgIhdB#b6)h0&F0^wb69u!mVnxGYr0yQj@QybDqnZTbnA2KntqeC~-6FcWU8LV5mVBKT&JgXyK4gN{_fUur2HgeyQ zJnM_QCmU%-h8tbwu@FqYaO|D=5>8Jb#MsI(Zi!ZZ#7`tI3A(bKDd>iyrt-XqV#78! zj)$umQ?h?4%klVELZAeNH=o1<3&z-ego!An= zVS20vcmc3dl^BI1n@J-+FEgL>>hRLevA_KH7%T@c&9*({bT!z!q z)Ya5NN6}Kkpfss)62%}_hqS?zlr)U#V^sfY;Ex!|9X8&za~ClPkJut_xUK*X(b7(0 z`*QBfl_o#iOEF_J5#t5l(F+rmP5XoD#FdBf(R#_#PZE?kn?~3Ud8E99@&kG~FQU0G znjE+vwPiels%1H!+oFqrSjYzdo_3IYLmsARC=|Y&&|5|HeI<@ZPk{QEyQimv0IP3k zRN=)-Daby-xE7PuEwLOem2U%mJr~9A9`NUh7y2bi34H~39MV=F_edW4m~SK(A0~ow zDoo`?#X;MDnuvvz=xzic?E%B6f*TKOv}s3U5PdbK-}2KRWk{Fp;w*(Bvq||x3v{P` zyzG@#>dqCgfWl;#Q!OXcN}7T18z)*MwH5R?HMHn&knyA_aZjHcB(6*8JN@7Z6VkJQ zK2yl7OV5&AI%>tTmFSpNyySzvT<7_^fWAPTu5xtypGqI0t+=Og0+BUT8!CoAn<|H6 zhGRi=1Brr^p(N)IZ#aQXU6sZ=`9?kvfShZ&f)_Yf;VUpGK6ODJDwYR)FmTL%dV2}B zTvUt^4Xhfg0yV9Y$EZTMk&pKA<)%AvmBc~;Cnmwj+nN1huqnsgKm4U-+?PP>4}c`N zhLh9X8cv+N2hI&s*JuPQYg`1(7jC&@gPKT7G((XiFU4fm&Y!H)&IF=x#mRINmZ8Jx zb9<{MkO&Llhq$)>Saz7)j$yGcu}foe`=GGbSh{9M74~l!T- zTje~+r3`#&#GS?I+BeO@(lBn$QdSBJZqiJT;p{M&ZkIx;me#RNb%HYVHbO z+DqS}V1AP+d|s<++O)x|)hzW=K+Lt*4AIDb0ESO&)V*WE4ObV1w^`_IFAtvrJ$Of& z5V-k{@)l~QkW@pbWvfoIN`(wVTV~3KZa=68Panlw5?4#ipQyfYxCW)9m%l~0y}|RU zCQkBm2kF0@;GG8n8h}q0;iG`w$(N(H6_bz`QqaV5oaBbAXCTvPDy76rhC8joLuziM zxSz#07zCs=JY8qdAHGZ*o&NNSC+irHlgmPi#<*S5M;0lyxRKi-s7mTzRj9tNfaBQR!R zR9~h(Z$&{WewIW_1x%-T^h8w#t6QFGj@|~G%(6M9nZm`2m%c6i|FQQr;8kANndmXd z4mggYG^9}yl6)p$jZGnir=)coH$xhdkk*qjEp6%4O_|hfJX6=99Xh2gj_&)epYQK{M+oQMdG0e$ z&SSIm?Y;K@+H0@9_S$QA(e>A8D$8UgOjxtR9W_DskPxgK&T^}@yrX4ek5zICRZj7B zdBv~`{+b~}Co@U#uz}HSc!DY36-llj`>H0M`iSmE_A@So;z4H2xj~3mrju~hFBDBs zQef{TJ8v6z$Zb7CcmQn_ww~(8N>9z8A@7B78!9|qz9*e5CY`8fE$FBEiZrP;iJN6m zmrK0^nz(y6_hTT%Z9~}Fi4QQ>>w?Z@GZl*TJPuV|FQ)^`k+;*loSvcK-Bt>9s1!p@ zWxgrO9m3PrV4j+eYC+6r3G1sKqPy`JuO4x71Jty#L3Dcjn_30xYhV^dmw$_5d-dqy zwyb+CDMvX_;9^oxa8xflc#e-pIl^=Ud z7q$p~ehqov&p~B7&C!_SFYL~NLPbuMFllAqH&{oLV{w$C8d_+;u$AiGO}V}ZU8;_q zpKFC%@vMHsz{Fl%#G1`}3~~@b8bW@ZmP#nJo4Q^xz#R(k+S3U9Q3YktxPp?%(uMK$uv8YD4Zrq4`q|3pG48b^cbVW z=Bh-=GzA3{^D!n}e$z<0!!NlG;0u=%#&F0gE>Z`#>55<{%EYJGDs@WX_3(Ja2&i=a z;!L>%7a{L&Zlp&nr?b-X$?Jq-DAIU#xykUr_7ZrYBhUpDFtogsr+cXu;B3QW$3lqL z8o-CCC8g$>=hUN#`d}``Rn>6*78=dO527VE9OMSOdtKYE{b~IUC-$^J>jEB^-#$F1 z&Z7aXYH9y;VkYwG)`s@>hKIr)V!J=g@wRIw2{U$^3+&6}x-8oyCx1+GP?YNe>`T`5 z3^{`3mDVkJ$C~94Px={rQcN&R$O+G){ry&Q3V$$~<6(T%%yA?i^tUME)r1zJ74?{y ztKpinFjU6~zL@YSlK|~f{l+Q7Rg-_KEqm8kJWF=FKN!=DUX8IZ=gT}>bH=Qa z3C5^FtSLbHct3dikoqh(+7Q29(OemTBm2PL#ld<-{d}wxZJde;m=SIeEet%~*Ggho zf18?dAh3?a9L}$(U+fxbs#7#=sb(TG|5eSMC}YKXURtmcG=ECd2~V2Wlt?r4?DJk)=0PKeT|l7mcw?X%89ir zEBjKPj zzmeU5%yL+NSO!I-luNV&94u9!H7kSZX6Da!r1FoohuNp{w+12RS}n>fkL_t~UK^W6 z#=l5yvT3mfT!Yvq8*eUeu?};EKTD8hc#0*IuYb$h=C$j>5+Xie+wvbJe~w3MGXL0k zWEQ~k8DVd)`FNEOS^4(heX+1L)SGwEJ`hW#&J|hprr0LV!+3qUU?!8sbC)$#ACEJn zl1d{#uAAlS4&NnKcjDpa5&(odp{Y`(U%ad-%OzN2WNb>x3*zl9Ei9}KVXoy2Mi4w-`8b+dvhG0Qk=A7Vx6DFjnzZ-bXUwQl@ z9?aM-XQpNFZR6$z099WS3iHpZcUK!<&Jkk@;TW+x*c9%Pvoh8zt)VAHQ0bnC%cQnvNI&S{!DTz_$tvvfxk-F*jhjCZbD;+MgTDrE-y z*?6(a8y@!;1GG0&qZyd2Py;#IKRz-{C8;=L5%Vw_4EUixC<5skskz*V4K!az5mhbq z33?&Ib+gDzv^s7wq?^NJK5~l%yf(DM!~JUPAYl})wjQd|(`@9OA+hR`{Xbut0g=v+ z_W!OYYi?Y&m5vCp6eC(?7O zyq1V5FI~_g#=iQRda$5|MiI487iw(+Jb$)4s1Nj@OU|QKHgq<$b~U%RuWQc-Fb%c+ zKe@PXse`Rhp!62!=PBe(J$OQjmY_n3bF_pxp`Jsn4Qb5S z(+wijQO5ko&Yi}Mv5SpVBMrbW5ooS^3#n&(5QBixh3;MWZZAEVo9hjy!$fVd<(J3S zZS+|d=qWM}=B;A-7l-Vj_9|doBV*_wyYj_SU|T}FUH5t93aqn4vxqnJ3baoP?eXUz)q634_qXj14~i!37ELexBK8;*o@s)GY&gpoYJ7Vy-|>=e;aL;8Bc>GiBIeRK zZWBs~zL7>;pIVrx z;p7?`F}7fIforMQrMawt6GR{&*AY?$efAKd4)8Hjtg2A- zpeBpPD@q^WChD5zc3j3>3kQ5Htu37oNnKX9bgpIjE7!HdL=k5Qoh^;)TN~Q7KNItr z_esT$A3f|!ep1L5jJ^y}_!1rGH3wbo;A8zM3%<;&JPdPmMW~zgK`g>clB^@1@UeaK0eqd{Wv;4Jd8_x(DQ5kfzNvIXbRG~)ePbSJ6ZC^ zO%fRXq zJ>$HJ9pvll-a~r^%Ug}g>~Ic?6d&pZOTobdM6ckkCE}I}q7of3?pC4S<%r$8fqd5z z+@Hg>+@*DS{4sB74gc4EWw~ws6rmVsn|VVK?{8y}di${(Y398ZT8l)c9wI4rYyaA5 zj&_st9ywqRyDJB~q|TWca_Xy_L*#9z_S(ahcS zuKLC0v2kC+^KV@JK1IKCGV}-^$N!4IWNP@$jf(#6Z1k`mYnnS76!WfZOzr;=pTM7M_9oJK*7Z))%GU(5WexdU5oS3H-%aG$4xbJsapVv3JrZW!fK8 zFWC6B#VB}bNx7jsCw3t!hS*jthfbUPr!<6RrFYjb7DljGY^#K(68E7d&jhh{!-!8q zVmUx1u!Pz26^*Cf&ysOiR39G(NKB*hf)>Wo%g0b|#THvu*^pkf`{FBtEh4&^3cGHm z5QF@X{j{7?KIQz{5p6q zK%_$~p!V7&We+Tzy3;L955cTVdJ;GeczNSMbKqa@6}N0Vg<8>0nT=kr#&PH&2FEbF z#s?{Og4ub?l_K?iF<3|RG`m^%NEgUP6I&sS0t6XYM6GYdeMwVa#PwaM&*QUn?anK*k^ZqT(tdMUZrd+y%$Tpu_C^j4KZHk6^iO3++(bWD-4t6hs!{dWtW>N+H8(RPl&C4P zfRfKQ^PC@B_DDLRFe`{=qNaCPi?#x=?k*p38C==g0N+(B9_noF$fH>4P;s_^5=b8W z_qxn8GSlGVlFF}>7u(FJ*PQF|CZ!UG5~gjp?@u7 z%VSmG=+wa93T$woKoP|`WLK}CjGZooaPH9q-TD{|gm@|hZo|W+jI|Q0CXSTA=XUfB zEW<1TJ5|<_b!EIV(XZH)#Ivh9~3-&#j)*(;<>i|UB67JRP=SN zxCY+e(-Pz}E0AvCKIL+O>XA zlC!jU=>xs6Nj51vmn<*SRL6>!a{K_yPy1BvZ|WWGfiee79rsV+5>&QgWbfUj9EHq* zu1C1@jk#ajeqCVwvxJXj8msnp=wYDVX= zIy#TFm2{@f^Z@yde#o=Kku_vqn+i379IzO7BXg5s)eOi-8iL2_@xEdGhwGxHBa~Te zeXo_B9Y=`$iP19B;{fm;wnzcS$cv2Ly_*2m`1cCGnx~`$=QI+lH;t)pbEYd;N*7M` zuq}hZ8Pr4Kbdw!IhfJbN6WzHFzEp|0p>(1AE2Mc_G4@ese&Z22Oz4i1`Dxkxv|_)N81wy)x(nq;E3+R_csLlcKb! z%Y5Hihlyflj&jdGy5cW(Rq6A-*5(cB7aIquaQ&BH51Esd#`6QE=Z4IOP9ky4N!^j= z=57n~T*o4}*g5tu^Pt+jlQWUeyHf`ZT^byuVstT|DEWx$GXD0mzTq8DuNKEL+G5@! zMj5!pNv((DNe$9|DtMqEBJOP*S@SCwXZ zmokm_XDenoRoLL4=uYiK9zo(zOdoCU=9}@cUK3lE$Y&oFIcr=e0PP6IBN6oYuD~JJ93W@am9Mlzg7^Ph8qL0|}jI>S5oQA_!z==mbp7L(GF6s@;{i5a#_I;j3K^@rG;Vg3^{@AhF)>VZA}Fyf+kMa`Edz zIj0r&3-~W|gRIm@FWoQuCHj8&$cnr48|@Y+Id)hoF8xFai&Z8(BlrIE{BiFoAILRI zxm6`g3NIGa*nzy`5u&TpNbt~=>=$~DXQ4g3L?~t}F%N-CqshZh>$rG1lhrAXXLX97 zy9RT3a14Se?#7-D3$sdXT=b1_=jaLf%*gQ<+Dw0xaH=WZ4pjdmfmqhr^As{?PIBQi zc#QEguji^M@sS{T3wFx)MnTb%y5!b)K7PLJLZ>u%CP*AR)jTe!)reCFsJMr*@?fLc zAAhTX%Ms{Jt`xD|q}QdSSHF@6p@gbxkQAqVa*|2C^e!H{)5#^esfV$ave9t(RTDu^ z^vNXcxTi37jCdVWm4y(r9ENIr?q+?Yc*= zEW){i(7WuYy1K=BscUGf`l;+KsyQ+yKGq%_E^w@dar9%O&4R>Noj7>CN5@6c<=Li*#d2zmeN)TWd>o1*9kxIq%F#ZWpP26(jOKQEy8-m?mm1kF zGIL!IHC^OE3W!MuQn8bI>``E{6HjM6inUN*Xvka~@W{0tV zx;yFdc29~dM4--J?v)XWQTk8^*HA&_p<0Uod|w8mot(}co)qJ`}?&AC4F~4w{p8< z_iVuiMnvfcI>nP0R2%k+)-x0sYyc#EUN?ahkz{4$=`P&3M%s9&2cSB^hH_%rWbzEgQ#hy` z&F`d%kUIA6W~*Zi2zcm6X{ER<22H?$1$dhTk*|gH7}hOZ@0s#q+pw}7R2|X#fr!l*7M_9A zJ1`vrlJ5wr;$_#1*YtyKD*lDlh~x8Q{-khvIqwx4K-zLr)@A|XSkc@;#pGYk4syv4IQ0)AIMaEIDmnao# z9iuvvqC|cW#|17R(dm}5U12n|v4l0Mm;;NpRL0DtC^m37AvevO+1rmpQ4=nt3rLw# zsLtmyWEsu3aH5pEXiZKoPRvk$_JhoP^BflM;z*#i%njdJ>#~r*Faxj^qK|%h1>_1h zsNF32lj4n%V*<(8z)x`OY3d z`w(?N`TjoeQR?BS;_dCn_KPG;;W$-q$_&D!eGjV}YRmz%eFaf7iPsyH1jg2i6S}ea z!nV2QiqQ zP+0PTP(?JsDjup-IP2iMG_?JLbfO{+2LnqHe0)>xaCmTxhf@ilDk^lo?bdXEe+MRy2pgCN;`)Fzt{XX6wZRFD zIt~GU&}3Gv90#!+9md#~;FWP~5JwX{`nbWyYAYFukQUebu4HJ)7g0V$55GKQx06zV zu`5WduSzfA(#V~Hbr?iz6iP@*{mdp(5Yo}tmoWNRd2u%EE1l{UkZHn~V8)&;E3u!1 z#mm$6gw=)-eul1y1=^*jkS>-j)1?WiNC2a0I^q4NQYvAn(umB?AE5z~-l{M*WM0Np zQb2t|4~uyYfK&wC9y$ffYGkI9ckeAfcZ@Y()Uqvlp@c#^eRJS82^GVbqv53z_}iBW z!SKW!nG?i;MTkLSxZ!Ja+Hh@ZT9f^VB|dH`Zk=z?NCeZ55(Rp~fNMb_En zAU%CfwTI_iOIPQ^`;JIN&AwgQN%A9_tIVwrG8p}&7*Cw4^VCSJ+QqHz+z(hat>awz|6Ya4Y|4J8$BcCnvy8wy`+=5`&jClQnTd9IjPt?(ZR4zg0TK`pmG zE>*;-ZqBzGRFgpkO!)>=16w^;3c}_9gbh_!xbv@-x`3*=bj#pMy>-9H_i?3e*h0fq zFHFVzrGha$6G(kp#K;+=T2g-G>RvAipg$m-Qkj6GcRoj=IkVO)<#iHL2z09;Pu5uU z$g*Hj6w%&}dJE+xNed)x`pXiMD(yj2Wl9BRax0q;`j7$qnD^nPUNU1o+S14V6&ZHY zX`_{tRXVM{jQfx`zRHH{^*e0n*fV5ZBG#)AwQU@?AR&zDR^R$wsfMm!L|svyMomqk zGd-jT4E+wcf*&zs6r0GTP0u>lonLI)zFL@+1SirS6Gs2;>+m1GUFytdJ z?%9c}_1&B}y@PrNX3@T}cc~YG~Fyj-NxnvS!U&qYOKm2D8a+dI9(NFT1IlS z`K#4wl;H~>NO2WTK$n4dPsw)~T8?pO^?nHllWO9GR`4EdiZWv3Tr#tvI*fNb-b`{u zsY&6GfKffrFIOND4X&~Bg@dD)WM!Vo#E<83A6L)z=7y$7@Du(U$B}XpIN|sqvEEz` z@>ALvCa2$~8qR*7zloV$i)X(8sFV8Q+dV4=?!4Zuu=ypaEu0@n9 zXF>uP>!Qn*dr6M6iBB#SUjNX0JH=~|a2BD3f^ufQvU8F94pvL=m-38J$tz^isBdX? z6FLWPKbtRS>X`6M0!$ zY6!ytAMcR$Oxh`$6P|W*#yKhbL3@QRGaN_9kB+Q*N}nixW#R%pcaCLD4APQ#zQ!0* zs08%`i2z(XIsVddldrN`uZ+VD;UA?BM}nVCq4P@eQ}MWLp2AOzLL!~o6c1+VMa>Y~ zmn9E5C;~toLXzedr#FzLI&wc8E?H2JCM^|&Y;v>-vAq!qn^}bCH{1oLN-NnYF?~8= zY`2Z5(pg=(Ds#lgnE(dtZc;TgCu!e!>(Yy2u~13 za(olHr}8Yx(z{pkRnC)mZXF&psD_c#M!X`4-Im_4mdh?M{u&1VraoaDZnVv3am)@x z48tj9 zUs&u%8y{2Us2?mFjK$a@;YskGTC6+vh^8`n7&Af{UL*ZgssjoiKcpy}PAnA3wER(~ zh2nbhXC@;tGSpv%)1~~9Z_J+$EK^RCZHvE~Blj0T>gZ%~a*pXNlR?C4wG#^)EaJR8 zmlMf9;Y5v=0TJs_PMA(R$`mhC68YF4{7uU1U3vg>U#vV>`Vq;dR7P^G3Nx4)8kU)+ z=Nd9hw6d~v)|;~wk8Fk;a%ngpTBS#em^>$hGX=a!J0X-?wRGt>=bhn@Oi}39_1YDq z*GpJd0UfoZe6f}1fWFJ2cdt5ma@9A#B2mbCBZhfqh2{qq;&DC8uju;3o5ivDOFE@M z&D~VydT8^Uc#2huCi7V{N^n!bmv<)l0&`-C(%rKJB`gHBW3*c{5|xokoDqv$Op-DS z7`1{x%|b)NaDAdw?1lo$9ck}N^;Qe*Y@l=->VYx;?IfW6C;| zY4w754qtd0RWe$oYB8h#nXk$=0OdtBQk%NSJ_O^ptqX4gfp7#5LxQIuX>JCsqjn<9 zC&vfGX#$K+q~CxEJUyfoYf!oMZAoO`!_#!nkCKe2KDk_S2sELNbSyu3&FI0F30Sa< zS%Dcs#fee1>eZ}VT6BR3aIhL>D{h745mXMX{Ji`QiGw;zX~B2C(GE3*kA=o@V!Pvo z+8&H-JB}toWe6wixZUezf$5!d#umvLt<+DpNK-Sw5d2WK(2j{^?f5lWP>Q5<*u^h5)X{7S6NJG1t3={c*f78vv6AnqQ{|FQSWJ>3WXlH z=YcPXhStC*3fCu-50O-!BlJ}Vg1+8ttCi|Xm28)z@_m+EX_=&thoc;90b#lPU6(OG z#y}F;KU{v$gR#S3wNwDPhDX1#IpXK(GDj#5#U63XI8Eo-E|%)}LxmYPDwxl8Tn`ZX z=zzH$A1cnG316WidZ5BZL&XvVpGH28DwN4CvGFK7$$|&vO-A*R)RFtg&liaF!ypjE3WoSIwWf{PV0ARxBYgZy74a-w7sP zEqSLfAC>0gIrRs~&|_uJji@<|a+ZAw8nP1pNZ_Ccs}fyN(D4v2GH`{$6EiMU7{AJ7 zSk6ErX5{<7DQqTia2=E3LdK~Ksq9_^Nuq{8KZR!C6jD#NAXBNU6@6+wdbSjnH!6`C z+bWLJ-2+SFn$J5F;Q9K}XbpXo@oEJS)W0cLcQN%DgFhV2hFATqo=A_OrpXRg1NC#| zchodPMysX1m@tW`H`={b&0?i|&`rVsw!0rMAn{2kj0;>#$uH#l<&22*0#Yuyr!Jks zyoDv|j(RnK(A>-Oz0w@ym_J&Frn>7fypTSObfSeeTzg&izNUdb7)2L|NaaXT>0e{# z6)`@qM%0dogt?wNVW+6l?pO1E8g+{l6Ul7FeI`E>98B~Z>h%l#8?J-2z`&JpF!*9( z1=Nv<@I;f|3EGP`9L6ps1_v1CedR$hLmtE&7~g`O0uC*?ASy$Y#{)@1%-6&w(ld1V z(gdI7VO_~5HEG04)9X=4L(tOLO3Fs5(NHaGr}~-Fe3Gm;wa6t6^r9T4xxPTNe$XxP zKC~`@X?2+q^h}~T~odH|1dkjl<#o- zT^>l7-8o-_be9_Spms}nePM?2VVq)uEhg9Lx(cGoU@>sDjM1cJ0xwr_%Z?E-*#Hj( zi$=xI%*wBene^)Bo1i;4tPGE};%CuW-R$<2YL6KuD~rpigSjOS2}Uje8d@K0c&GzA zfzIZ3-m`n4*`A(|nP&4bm1b@81CYeBlHjbs@16IJ;>F1H>jYFHQ1B_OM|Pf;pTGAo zX`ZYw2C60G*wE07fDuP5oVG{_@soU0lpdiFht-^>MwA77T@Pq-tFv^7PA=>)Lp&L3 zZney36c6p;0$!lP2TF>z)itaLga?{vNw?Cf3I}a4EI>%gnW$fW|nPU)H{+ zWV4W@elw2_&8B5aGfU3*ouBq85Wtg?7A zp6`V%o6N<$uNN4Gwvb8~6WB@R-~^0x1_}hDz6_08w4$!eE^)Q+gl> zD;s&jSXBseR}<@-4xIQ)HNC(VAqHCkNb=OBaVZq?qD!}N_}ixKfl4*WgO~Vt__`3M z%WEtPIrdNHyohH~x}^BB;QJ2~*>xF)+_%LRj8a{@JA~&#;rcib&555qJ4e_hh zu_YNdt0{a>zMiU_-G<$%Xl?aguhIsLp|xl5+4JbaP?mjBksPG1x&3w!1oMSk_iNUGe5f6s)OLU{xcyQY zP!|+d#jZF@?%0sP9T+u-gT9THapmk09_22*jB12nFxqUB^A#UoJQ@>K94somi_RR! zbfVano9kyne&rA+SzDHzCORP*zY_H5nR#B=;~Wz_E>ghF?s{SHiZ`>at}GhIXQ~Pa zEtYatgY7YOaAZU{Aa;3IZf*(TNLO>dt#T7&h*-mPB0xd|?Hj6|m+gY0;J z!MZ(z^h-uaE0#4*8L7jO5mB-jGXsH^M8zZ3#4f9Iuj@SU~#mp}zgeh@? z7K$69rs5pJM6`aBLnuGH75;?RdvITrcG)mER-X5uc#J^Keeki!8z`XqMO-zzrFq?h ztQUH;&lUF6HgGgtG!^RSQtV_N8{de`dmg0^*^OI?4aS(cS zpIs&op3jj$V;+Q(#rw7&cqG6nZ@jaHG`9O@|G={kguKkTfrpLiVG(#;EwPyy&69XT z;QM43`!b%T&d@UWt+FuFalv!#TC=K2YguNKf~vgBYv?H1V?5={)S1Ji5H zlnoUlH!`Ab@g~~4XXEg@KK2-IduU>;`GoSj&ua(n zyPX_FzcD5L$k}Hqcy)e1Iay3f4|;$Tj+5F+_@H2AMgh*z;&h;R^s>#$UHW-j z8~t`B`PcZ?jqxaIP|{(yPereSbm3f*OTKpDJ+q-9U1zj&3pN5a>Y#xz&sgKoLmVG^ zs0)VR>WSP%?$Gs)^(+L{P#qvuP{Z)(6oWcdm}lS)ZRUK6KZ9DU_r=I0l6$oHJG0UB zr@miQBC=#pa!w;k5kV5uaM6J1GB1Ru+Xxq~5E1uu0Yzpcc*f(z;f1&!h~)5$co-KW z=kVnkd%scEC|vjRi$jwZ5sGt|0eZrr9JOTs6Dyt-(|wN!!igA64Q7PLKf@!3 zm2dV0nM!^pMaxAhk(0x-qm2H=UTG=?Yq^>GH)9q02mslDG&KFHrp!*zZ&nq;3rMjp z5+{OALCaSvzRvisn@EU7tav;PVbTck`j9U8nyh*u_1+c3`K*2=6{WMwsXVCl5#lYu zP=aT72`5R$I1#rx38QP_L1`;1> zlRwN$!$*gRYD+JnfNs-fZGPG#M(LWmEPXp0%sCz)){Mln)_5_T-C@Ps$-bBX;WC8E zqjR$NctM$Y0bl;eRsv&~q!iV)=}YufTs9YPw-gvvGb${w10O2`{@8)_EHNT<1pK8qy8dpI~m!a*vX z1cmD~$P4Fl?u(cHQscan#!gHuPL?25jPrFkGE7jnjgO7uB~9$8 zn5XJAyxfvJQw0+bW4{77b9%?b#T-_o`dtkT;&K+93qP@7rrSiIM2CoxRp`dORW!^P zO1%47FH#gqhwch6Qxnyz4Q`7kOVD$gY@w66&Uv25 zTP8f~Gu3%a9!>mLF`X@4B!-r@JJmXCx$U!cxDs5%mndJ!bp>Jl(4H2zxz#I1M(Q$= zF-iPXYj9`~&%^j4W79}kJM$5mM$&LD*c1Y3o7EEOhxh+ShIZ${Mlnm5$agm(srwIVUwgGqo~;>*OaXgTflZufJ6cR$636a9GGM%_GY{?kz>B#<1#0BYV3C?DBasdI$a_}Y7z$;(xpt6TIVt! zj_?JV_^I*Ir~6c=n2(kj&T+gZquazB)9IL@KXo;S9x;n>bfhqz3B5B{AWX8s9vu4H zp6yPxDOpfEx`-l6q=SZ)$>?G^Nv*Zh(_GH-v-NeWWe3ff=T>@TKFUo>DIbS^a3!B} zY-nv=*BI_xWq*w)*3>>P+Et=&lZGy22Kf0oe0T&jASreC;=~HP^5w%TWvm8XzMV0V z2<18|3~w~579ym$-bz--%woWIp}>cf9WG=p&JJOT-$~8}&mKbq14DdT4ab>av)T?2 z9Vk{UF@?goXk*6%SyW7Z7U%=9uqicR9==(~m7$@g^#jc*Lwwe>6d!i^Ev~f>R|C9t zhYL@d-nZbw`y1AFv;>V(1fMxzukMuAi97*CBK%8mzbvASrtcnv+4T@e0|ZGI{Okv* ziq@3R-{>;rdu`qFjEwS)Q|SfEhfS9|GDYO3&d9^^Y$shZ?tUm3^}Gy}SO;O!l^_3= z5U4`(bG?Qztcd!eq4y2`S)J7_RCl|~juTG7urXe*5d2lLo{kA8Qp|6z- zy2@8%GbElPq)X&sU3+f0YZRtm5Zij_sg4pHv?qzQJbtl$)O3xo?a^1y@;x=dqPy>| z7maXxFCH8AM=g5sAb214j(8tQ?0_1vV}%4T*w@Xj)_jDgila6#M4UeX-(*@of4);h z6By^gH`nUq=dxnvs6}e0J5u;hg|TO zFfP~(s)KCn5AiMoT@Q|528R{~P0e);jrDidz2~lumG$-YcQ3_$R$q%FcSrl85~Vg? zpC%fVjtLoK%iRo4x($1EnN^c_OV}Rthul#DWL7*pAX5zWJz8HJq4A0uyNBl2EP?YH zydm~n-WE6+hk+{kegJb@W+((PLg*;1+Ey;uN8i>yeH|E+3z8w6-GNESXbOZrHm~rKk$-@5bWGcb>Js7MIos<;FV5>x0G?$N8LJ zMwO(?G`}CQUK}WtzzoCuibHVFgjuAs79)BG220)>qJt!vmLLfqi;&;O=^&b4YkM)u zKnijRxq(Mmr8! zBxbV=nosFi{}~a6kKG`7A8B)hB!`y}NqpeYL*ey9>!;4uEgeC}x|N*|HncYf_`9ur z-2*L6%}v4Ph7Nqs4;t1s1rN4#u3opk6MsJxG;e5YZ|>*_*0oFVmQTx?w$>J;LN+{c zY-#SOg-4yn*7Z#=nXC;nXl+^3(kYLY*9M)dQJ^M^#w|)8z^BHV=Jv+b$gW{UOKVH# zLsFNOEuCvwKA!Ew(L-B9duL1IdOU@$wUPajFhig81HF_m!SJ9!Q`<4jJkl!nPaLmN zvcWN%^bAlZAf6wVZSo79WO;Z>Fk%)em}4A&4&*;e5I?VsEbF-D;wFB?IAwXTGZ(O? zwd*=r8RUWTR6mKK=F+OFfhZ@x3*ron_=UJZb7;+%EE7|ZD^d<3DH<&MC5S2_9|G~t z#n2nWAYe;>7q+lHP#WN=FdF4ywHA{HFh_NBKomK!T!6o@*oxg0{;a!itk?xFDRRHP zv#G14sf<9q_8OZY}TpR zkeeY0p^Q6@Ml6LV@!9|~@<I~S&(w4GA=J=yKNbMgP1?Icl^9guW8 zg#zR4>`%5cil1UTrSyz;ZZD3gYyEKJkf3cuV_SvEScW1=T_j1?U(YjwJdttV#|bi> zpB!QkpY*Gfj6}%Jz71(HbGE~BW?NqmIt!VTZ0n8cwH&64>~P18jTgDUBq+{>N~n2Lqe;zy%(2J!OZy>C>RKfS{STCcgvm! zCmz9~N8w0e+cv0zAf4l`FSWtg7j5B*AT+VQk!QZKewTK_whlEy%WN<-5I*PY7cYtP z8KzB-1I`}1VFeVc7gqK$7-sPypX(SB=8g6?xI)_AGKm>OV+oVpf-PzKwn$%ZKkTHi zv0-|((Y`m?44A?#F+G(v&vPlYqK4Z7S_PM<8l_v71s&1KsXDJGx%l+-TP4f`?ZpAF zFm4=&VW*1)94k7eja5q9sm>arZ;Ei%yLF?XfASs8vaXYs0ZM)Pk7zPFPSnaQ!YUO?N80WLl6EW2Ek^n0y>_y~{y}d^H$lEbuOS;qQ++gde-H0U-?jK8) zi7)Gn7Qs

wG=UT?@Z|D1o0?f5CrRm4dlHKxc~1h<{7>nj2A}Cg`ids`zR(Pwp|7 z=pcqcase9`Afz5pCBpwJcJ0iAeU9A;)OWTYu)`lb^R{g})hC#nyuvM+#$9}b>t;B} z5D`mfolFCIQb|kYlW?m@?vT`z#kFk` zI!SCGSbvl&MNq9t?v*&ZP13RGPJ|;tB@4Sb2zla?j7QG#WNw5FW-j8Dj3p-*%L5s# z6)htu9`YBsA2cr`y`sjQ-#4EVTj`%CV=N2_nT+}d=U{0y1lAtekPweQv?;19T1Wp* zy}NpQpx=i5#4adt5U_|EwZ(z>TC?*3(eq{%#R^)a-XE|QTX*GR z`3Ps#IT|huNoErEj`a@`vqSTbpt*R(@eyn+O4i@tk=t*_vV8mP;wB_24{3coRm8=j z2ZIFYG`Ypu$qr}T*(I|5!4YXVNql^)^5)DImwh^$R<<^*>R7yjcUqlI=!Q#+Pn0if znlUofRG=oZ-(Hr$V=*H;!XYIM>I!`)PA#!AlR*&2f0_A;zT%qss-&>!uBqosZ4usQ z_p%+P>I)6kZDUKrTubrO>sa5Q+P!09NdH~m>XpnN<1ClIb)31l;51#&q9AN4Q7yE= z_4*TDgFncK#_{<#%EA!xJe}0@$b4u=Bf5vwv2&=-d69CijB=R|hZ|%Ky2b)?TRxw; zGEt#5Tq6%UVi(i5b+_92F@5~EY$_QH?iwQ@#nbU`r|ob#82wOYyEAFdXqj_8oiD%H zziN5`)pTofM;Dw`wyb<8p@&JQ>%-MBQ|sAeQLP?btwG_FoJJf9lR(q?#J;wHCRW(wkrn_BAj&*z4{C@OKXHn%lJy!L^pXC}6>+i4)*XZw%){F&CI?f>W zIN>5mHr+C>|2_SOlFD~q*>Q{dFVTcp_jwE0d)f4q9((8YF&-o9x-!V?fRb|j9oih+K+5! zdR$}m(rszDC%wKg&7vbtr>wPuxcsp`=^xkB$(GW5*iO-Qp)YG{Hew0kz3g;e{I>jX zjFjE0Se>)74D-yYC)$Gjg>DH%KN@+V&em0~C1AzAHX zxs&vl*7e>XB*=6JnnRy+dX#z^M z^$>M=UvDoiYK-9ZOuXTXyNNL1#fi38P)$p5NlTPh+FmO1P-ogfVrv+xhJ2hUH)$vO zNh~!WFmSjHm%(*~PdElLbA`urwng&;b!*UTsO%+LVZj=1`w(xDvRCxXF;O$EO1vKE zw4Q-sm_97DL)}`oUDcajpyLyw%#KIKqzvZguh#O{|f%x7f=J=SHZU<~VcbQah!Q^?a_U&1@0RTf+**=SMi#^s1BI zz$-stAkFY>OK2FHH8wdk|BmL0>XFFXm4*c|&*6poLv=N48`d;WLdZ_Xtatpf4ol<- zuT%g})8PJxobkey_{i?sfDX`vfD`qEzK&N3y{7S-jqJ}*^7VuAKu#~@sMh-%tg+m7J2+hBi2t9dwR z-f^vclNi}Y=$ZXme*K9h3?~8FOZFuFoMAl=6)3oyn%~Q;9w>Qlre$r{>gI-~=61Ps zIJ$da%TT}N2aP61%P&&X(p&Xo=r{1=#AU2`w7jM701o<2SWM?+iSVn?8q|!MuIYv$ z{m9L^dBvGIB+B7(A$0M)IEcqs@a+A~xrgWVftdieio(A!rI z{-4&~bbHFRyY4-?y1Mtk`FE~vDgIh2f7RiN%eFy$4i5QW`ant@*ei}D;m&MFFQP?j zl&jl9F_OZ2lydSj#g8kK#t7F}IdlW<9N(5}h)v{dOR{jN#r2uN|S4TN( zThu@hUm~;Qd7Twm-mMy2Dz=Kj?`fS?-X$!-vGU$-?SNZF6;~VjT^daH*bmHTk92 z$8vRTxGK=RvPCM08`6Ed?)C2`@u&h^p7-VI+VL0eM)<9K34a83j~1+d!k!=9gCH8G zTj6zJ$#_czVPkmyngoJ;!oT^658k|~>%`wsfq_Q@$^xD2a}Si0k=>Hd_#kZDP`e%Y zLhu&e(W`qvKX^|9f8o{?z)nHezfnHK*gjH%uR#(kffy86&Er-bsRFk&;k0J-UJ4uX zski+F+pqphIA8v<(Ab}R_*0_ok3m>u;blHUj5$ILL)?d=2ZZhsJ%C0+`zKwUDd5?z_gFV&&W|rKMf#IM|b)JUSHTDkFLFV4{&dOUa{t8guy5N z(6&KXBV*?^EO*Q{Ln6327yDpo-2+?twv7*sBQyKO5k`7HI1canK*JR^bG+h+aXj~@ zq<2CS$Pkz4@Dudg%NP3Qjc(dhgD~7mx;ZB%%Cw?(!{nS!riDE@bm<-p{hqD7QPhib zVw0Q12ZHTa7)6m-6Xj&X?s!{~0o}PSJ(X7pmsCbDn35*D|sI% z9E(+J*F)@GD83;mlD9Q9Y}X&WrT<;`GDX|g%-`o;-NQDY)`NNpwc204~s zqcSl9WfJT-hKAv~UDsBwRg}wdi&qZ1bJ+Gg>VFUS;fk|`7srPe=NT}%anYvQMKw93 zge1{LS1=hk^_yyO1%viP9y#FS07kKSKE7nigrPDzQTTFQn(oWJOF9FLBkY2kbML|i z2Wl4VbmoofPNi!#_A-d*+se5a3r3iZRxB)76b}vaMexlzG&8>_?2Hd=+_+5aAD3;~ zv|w)T13HGFp=HIsZGB@1g>liG{K5q_b8;iS+sFc~xny-W=Wcl0^n1>|CYSqX^!w$z zuTH##zl+PRPE^ducnNhS#4J*mb@15r>;(n0UiZB1o#5r3Baa@uTDG-3A^#eQwIQwiAaVy#dIJWKT z#3_DnM>@dEfL8%e>_9(MqJDr610LOp@(6dMzJSHYu1-7$xc|ebFW}ryqMok@eB$av zKVb1mv=4CB7p_h`1$gu+;4}Q0s}r|W0q->M0Z)AG>O?2ttlvey0Gl>sx3KU=eWcPaqxOa=_wQ zvO(?FTIWCHft3Kj3-5%Yat_JO3N{ zyBhTZECTNT9_kBN@mHuXVAEd%A8_n%FusfjyyY#(A8;<-&T;AOxU0B@O%d;#YI zR#YNCz*&HufO7%+0Z#!Q1v~@z6yVX(Z$x_-{$`X9cmnX2cOV_$T)I>CtwkL-H@L9k!fG+^P09X+q{v)qU z)B=tHwgS%mDAEz`MSB6808arP1$+*$^QVy>@I2sEz$HI}akv%b?L)l*EB2$_gg=XV z16~F^1-Rq@(i8q1+B*mB`#Aau@P(g8d4R>oQBS~%PoRB(mp_Sq1)TeDQO|cF9pG%h zCcq_toq(-?V}M1#;-}C*faiY^^#i>8X_PY;^*#Y%Zvw{JsS@#$u;NSTM}Ger=oj$v zufH-eE06l0!uSE6_%iVM{TnC`@bYh>KLD3JgYp1h_zKDaEPfUJSA+ci6Yv3>0QUf% z2Rs3I8Sq)avD4^Bz`0*TKQ2K304@hS1^6%^Sf2cD$lb83>Xz5cIC6u2GaS<)cd@!4 z0X_0B@&R0e|J&YDkdPn9zq#D~2P*d6*j`zGc-o=q464Qd599yBTMPI%m-}7$Hl(^gdm2P#@B^ZRaGSy?Y-9Rg0(+X{kNXZ2{R#3F3==4^3}mxh*J{?W{mq!*4GLCP-U;tp99;AGh#t zTXI0~9u&+Y$IR(7EhW7=-TUA-LZyNq)z0WhBpdc}C#^3x&KC8lfS}RY>FiF2wAYt3B z1;P7<{F}=)R8}=qR_~jBU|MVC@fk`BwZIGJDBfwq^Y$&rcPrvA&M8RDZ&wIlxu0Oa zuc!=GROTBh>l-SUHdPMqd(DBH4&8XT;&H8o=6?w3kI&ci?0f!v{F(n#h(Db#FgW+; z_?y32{>-ge%3$7&l}q=%rloSTU@6VM#QbkBNC?M@Kcrt>S^fBQRx&tTvC8YH70l&W z?p##zQf-0gxf@dDvPf&0wrFML(p8lgXY6~8piBB98+k`T0{(fXhNE1JM%XLf8=shl zdatUyRO9JMpC_39?t&zIO#an*`z*ruT6n94b8enT_&E#T6t(jc)86MLYS%Ya)*ra3 ziT$Mc-GVWzzo#HM-EH~J2AqrVVGG}9;XW>`UlYfAc|l@8D)M8xhY?<7;dfeiJl!6| zw^=+yANeuAqbx5K&itN2_z??Vq3AiMd&WP9_=^?~QBr=OW0@C>e+luqdkYf&i2NJT z7vpca5#?I^zt4!TMSRtL1&KLg@t*%&e77S0xW&Id>UYc|aGiY>2d0C-SnPQJGw zIh-|m@_ZP76!CjkX#5{oy!RXD_bJ4;HEVpVoYs)L9iFzbGLO;SccaYj7l6NcrQ-iB z((|YD8$66t9N#SWmYb08ssjGX%@8D zZBV>Fi13V`wNxHQrI_DU;I;jf;{BvmRPtL%&eu{I0EhEwF6PJZ!;1GA5-5IX_v6Ob z8iZ%;yXnAt8tUrN8#x5V1q=F!sk2O#fJc$#aEU z1mv9GGX7b_w|%T25l?G$Vm>^N_}oE_-(eMVI%55~cD0nP?IVOACFBIhat1JsY&!7EEJwVlG3JlKeNsI$&Goriwz&mnW@wx>& zNf*=~`LqJB?f)*|uUzik@~@N==F^Y(BNqQ@ix+xB zPBIe_#`2B=ul__qFb>GSQr>}SEiCc=%Ht4;i1#e;P8*(&Kjzbc>FX*_RzX(aPudT> z;m;N1JF8w5H>3Y7zD2OCyi~nvftUNd=2H%j)1wo3ZH9N3<;QwJr<^-t;a|4!_&6P6 zx?e6xOjPb!ict-q7h(B)ecUZiaKNsJ(U=EzK_=QpW z&dMWN27_1+>XmX|DBz!5?&I=rj`LC|n(>{8KVtFku=sd6)JL7P_&SS6J38X!us%-! z@1o)TON3{940I6ax_yRtUn~fQ_Y22?`mOq3(QxuH{#ZZiyM`_NHVIA62kOC&TYOgi zmmvPM#ouv*W+3wa`y)A=|r^P!RG5==~f70T2W~6@} z@%1MQ5|b5wmFX?s`JU&`@ta+V@w0fZAH$a*Joq)u*XfP@){5|93m>mQ0DhqBRbW^$ zNBPZqk1^jb7x_7f|oLNo<){|k2e^g>+{XH-}*52g^r~de&;k8?RATOvq!`&Ap zhj5QqNXQE;ryuDHrwdX-pZsh4_jS}7=)@u(_0cB{@7E2ldEZSB9k@{^Au(qo{8`rf zYX!mBZFnvpF`wrVf63yPTK@~5TEp`0$0DipPyu~){Ta>YR%@5{5BqB_;x~Uo<1HJ} z8&DrUoDtrM@VyrPPNe6L_3cOaaSI=m&|L2QoE(rMSPu2+Ro^T~3|O@M*p3qj4=jA4 zg@djW>k`vH2fVh7^e-TM^EJ}5oLhbZ{LJuvD=H__1E9ZH&Jy6YeXAfCAT9YZeJjE@ zTX?y8l8(k$j^TYTkmQs*K}WU^4>bi~9SdAGRy>w}3hDR0Sdf4Q4VM0W4&mo4{D&64 z&gKEry~OzcUXYmgTRiJs0VY!aKQ#RF7VhgAHB}7a_|*dMqTw+ee@-WiZ$*67-xe60 z$ya!OF>LXd1WV-YL)@1im`(|>Li(5I8=GG$2*zs+kM-wy$FPOZh=ud~V{bAJ4$Q1%;fTsyc6LUGxF(2_@#{S{Rq$fT|ruOqqU3u`vk(P zEZq6y{RgJ+s{mi3u82P-<@wF=RC zjOdH!N^O6ycx)GcULM=S^QK{o@0QqPdw33Y(c-^h@xI`{K+c?iFjP26ZxMgi-;cXWF*A{;Nft&WdX3gP>LpQGZ#I(n;Xcjbr?RpOQg@?7=K!Zd2 zAsxPi_{|o-E{Z=u{j%#jn9ri$pR@RGi%0*+I&o+k^acoHJ`V%0 zuu1E~Z~iQ_ZJXf zZ}Hx4hF?YaUJL(qeDlZfS#LqTH*0=7B-Hpn!cSXxmxVjsu)eK`54ts7%?*lxenIb2 z^%v>yd7j#~Me+WPN;cqm8oXNRdjKUC2~zSCG)j|p|N@E*34=f>wA(R6#Peh-oUKQZla zMQ7#3s>i1v^7+O7e-8L<1B(A2v^t!(a(=Rp!YsmwcNut>4DWl!2esa;v+DiWZ#YMQ*f`wJCGq{0ZHK2Fs9=qN zk~@KaHt$os`3%Gl^F`JZ*7pqJk666V?`Dqs8qPe>vB_0D-@j;hAOZO?|BAQcpZ%Ku zA`MRDKNs-@i~l=|7x@tTFqaQmk5=H-|E%Wo5ywM&AP?YNR0D`N2E3DocRa*{ZlR6) z8{G%7UbHi4JD~Z!(eRw#FrM}Y!xsOZFdx;Yvz+Hyj>Yc|<58b=nA)-WRJ;TA{+O2Y zRmVGUA`1v>Ra-UMXzqEX1oS}+mea<8P;=j}Q zd+^O4+xJoc{`?CX{!}FYM(a@gB!`LcTaN$d-imSi51MW?(J$b0q2A*VRf7j^lJnmq zZ}9V5wyTKrZNI4LpJ1l=J-DxentDAvz&FS75b!P;p3|?(1{%B(qfKq`_o0OwQ>1?!9jx`G5EN_PaAyN;8zWP$KZDjzHIP^1}ooGkRsnrads*v$gXK1T_X_!I z^XC;FF*w`8&)RqHmo>g%(Bt>o_vuvlj3*Vp&EPSE@3edu8@yoQ!56F^29F!`a$dCW zZ~cPe-DTn8A-(J-z&k7GD1)#s6F?-rL>q10B~IgZpfpf5-6mTKZ=U zUNV?Jsrha;c+B7hgVn#L@kR;D#3I<;`ywClO=IiNmA5y&ShWCs?kDqZ$<5wFzX3*oSE&YoY zp8vAqd%VL9Wx_pvwzccH;axJg`ZqMcV+QA0c^@%4zhvRwKc1hDbN)9q{Skv#3~qQv z!=Eu&{agCI%islrtAAU=Pa3TLihl1kc*$VlSq(pC@RGp|zoX&L7_9oLes4E;+Fx#eJ@Cx>Q%wVI1 zd;eZa;a8ur@(iZ&J>6N0ul|PN8}xV|x6>Bx^?A|0mwr>z9W;2sVE$VcZqUn5x6{kH zXn3CgjI)}4yTNk?Js(e3|82$d@4fcz^-Kh?jl`4_kTA0KQj1zgTHO` zG|j34qZ<5?{qo;YWb)0y<+tV{#4u3W^mZxF@t9fdj9G0x@7U`ajL$c`Fgo+ z_PxvCaf4?Kdj93wTT-s2^Z8x>XIkE7gD(I3{N9@i_xb(Wk7~LagUbxAHR$;~Y3a`y ztopB-uHIn3;d}USD*UHY@h8i~|GN}kx?itYy6QjI^4km^F?hkC_q+FN{&~gsdDdp% z#|{39mFxWEMGL=HK2?9A`EEA&^;AAjTKFGZ__gx8VEEPF)qJmozrpa1O%eY>8N4eN z{<76`n$5>F|4a8{@RwRo@3+17ovyc!!&!^JWU%_8rcamS^Ln<`BRwx%o^-rBQg~_n zbiLcG-1{xvc7y49r_&8vI^Rbev+pYgH~cqk&vAoS46gp3hWozkn0^1Om3z$KX$!w% zF#lJY?mt@mS%Y5wIs5kg%eCs?X8FBr>8Aa(=D*^s?t710{5gYH4CY@@ycveyX5YsQ zK4|H0v-oS(G{o#*>j`}Ta#8D7=*6|c?U zqEx!ZRJvn^cfsJs6n-&r!P64!PA!CjQ?)s z8a!t3dxrO~1}|86_5V=(%?7>Sj@Y-;*@UG#Y2n_E3-;}Dr}Gt$pT1A?pYgX=FN4Pn zI(@nP>EE6{-R>7HUH&D_?^etIs?~41g*#t8X5Z%w27jmNyj|tWS#5a740?VS%B1&x z@cg_VykF{H)^gu%_1$IP?=pVk=}uetC4<#J&~zINI^GfcK4;MDS9MA8%k}3{i{EST zqQS!7Yq}!_FB&ZTgNA##>G9ZW@n;QI{ZGZeR{su{!8>i?!DY>7uR$+AO&>2>eEuI5 zf7qbor|Wyt;;&V|3yx>=cEWAn07_MMjV-)`mHY0&fg$VWB3>;Ju72Q8oU{yyDr zrwy;o@;&(3WdB^T_{|pY`R89zyboLWUi&_6F!w`^|MwPu(%>0`e`4?@gRdA|ZRuYB zvzq>PgDnP!E&jMcug?~X-(k?h&l;Zh?f79@O-(Y$? zUo<=~@2?E+hX!XI&~j@HrpLL(!Z#TlHJC0Zt$#mQ1~095KVAl}D%U9Img#c5AD!OQ z^s_XT&gX%ryB7WJwe&8(KWX2W3jwqvz@r`vHPh4)Muyh|y(>YK9LvDw1C9S6(colfDsSOzb6O{yLCoo>h86yB3% z@IGaF)JrM+>KWPX*klV|_J%D<2*$Me5r@k?KutcSI3Ny!82GV0hjytL=N2!6yxR zKlwO%erY~@A(db5by^Qkzrnt}yuGRTv#Iz?srYpH>2+&qrIxqZ;6a0)E=_+YEq<}} z+xrZr`#Igt7cE_1YJBToujTKsaHr?J7VhOgZt*8m;a;xSw_HD8v~*ugmGe#euCLO1 zY%usgzol~LpL)3#e#xNM%gdW;J@RkRa&{R!YtY;Mk5=A{pHRGV`PN(f%!4{#hEw=n zuk<*~GyDdFJ`avqdT*D@!xvKFHF8dy}Zx26h;fGVYr4+?FOGQ==slhv$f0MlLkHhf_(?omXE<- zwQ|3bD*s7~zhdzBZD0C3hWAGXy`P=WdHkhRyyJ!A{T8c-LD$3F^m9rl{(a2i&ljR6I|&*}jh$ zJZG>vP`nKW)8!qv@K0HJXYITCR!e8_q`^xDm(J1nbbbdd{7LUW`@Uju>AN)DL4y|z zdOqoKn=x1MpSAo7_PyQU5rfYde9>UlJWZF*Z-ddbulF9m)bKst*LRQiem-b;{_XIh zg;(FE<$CyL`#xyU%k}uP7G6DH(``5Cba>v{eZ;~~8?4GJzW1Bw*Jj~I41V3_{WJFc zqUD!PchTZ6TYSDo^KUbl#&`aG+~U1_?>GOxXz@3HT={~xYp#7SG3aubr*oKJp!FCw z=;7)8?aBX#y*Gibvby?*&$%}@xgiXJFoZb}z@Q8PVvOQ&MNu5UsHiw5Ap?nIxMYCD zG1ZDV2XVjwjZ;PIfVC>tDb{MSTEv-FTccHrRx4F&>05{I_d93rdy}V4eY@W8|6kv? z*2`LCpWi-v@3YT*o^#IgT#4Tqkjvh~>n{+xUg#E~!TCJ6&NkD$zNV}8iiNNCHVY2g zi%##YpD$R;PuClz0sbN>7fm-fzjlaxMW9^U1a}D4_8asoXm7jNyHoTw|A+d~89txE zbhNz}NxatoG_kMkGcNI+Lbpl$heEX+g6rhq{(!y2w=-SW2KNC*2jYYNc1il0Ua+0* zDf&UZV7n>qLvFe7pO$`ko?uPyTERaSs`aPw!TqWo;_rf)zWn1tw+l7-|GHit6Z;D! zUhTgwd|j`7AXwY0uGhW_@KwM6rM~=Cf2`o3etv+j`mN&6dZ7zMZj0a#rQB3LI?LxT z$S)GUmUCS2_{+V2s$V7cJ0)KEU4nn0=}WrT3RXEY+o!L1qr?{l_?rWI@j!fM0CxxQ zOQLV)`1Jk|u=kB%&2OH_RSQ-BHVM}J4hxj$4vFs)etv;ZuUcrQ(CtE_d;0j8&~~Al zh5l0P>=Im5=;h-=KM171S@^qz7VYKbTZL{CI!pAn2;Cw4SdsWERP((ifVTy3_TFBv zSZJ%zO+t4F&DqDx%~QXXUhCV{5{cJzHwJKt$Uh}?mC)@Xw@c`i!hc_=+WV7W)z6vh z{kbC`A1v3n$Z5T{T;=^$JDVh4)9Ducq}a{e*QXN`8W*}==oX>7gy!w%<(CM3R_wG3 z)^s)t-YW5b5UTMX3syh6MgEI`{2h{?V0mTk@BK)XexEN`?N(p z>|8ALCZYEWeM0DqLi1zZA1#;G0PYmrE%ILo-4c-7B{*_L?{Rso;5kAU2I4i{;Cz^O zp!X}d|Flf>b>7|)XlKFlIYZ>Ne6A5(D)u{sZWH=__RKu*m)g5u?CE%2Eb$#egYDr- zk>4sbnBKd>HwXE2^m#reSl1Dneyi~RCVE<)YA4*$yFNw=4$4m#{(%AcMFFh-bV|CK zUQqv2sh1N)U;Pf|cZ=B3{6r7-`BpjY54!Hq^n&Z&e9_bWifX})lKy(Z-9okh==vr) z->0kTXum58@YPRU&z4Gjr_gOeFAkL3F5&AqP<)6_PxI3uc#F{Jp*~*6`2~X8h3b5~ zQLv6fYVQ*%f7Rb2a_iMEiN9O0>Id8F7L}KI(Jb(O6$#b!+68|Ykl!f$T|(_z-yXL} z`bCHJE(dKl+MlvTzBM2>UHF@Y9~?hIGT!c#_~1AaJKU$+Dpd1vxY*qo;8zM?=h^Ln z`12*+9O3Qie0QVp)&9eR^F^*y=o+Cq@9FxWOZcw@?CcP1HJ>7<>Es>RyIe~J4-Ikn*xP=!;9&bXT=cX)H;SCL%WZ;p2@U!aY{z+ve7eO#tHr+R z1=H8|)GqRx&y9kkM~OY58-?x=8Y}kkaiMx&N9}ADez(y4qkEUjngBju{MGSI>p|^p z3CQdCr1O8yG2VV~oGK0Qb)3@Y@v9_V9k(>S^`fV^Td>ww(Xl?gV7dM{kPp>YS}l4y z9zQGcn}i=6e|HE!n6KF4-ucyhy)5?DOZ*O@ntsu7UQf$e`AW51t3^)F@zw|q`mrUz zS3mkH*N??NO)q-9_b0lp_k3I={J79565lC!yU^?tynamLiv_Fw4#6h{>~9nPE}=O~ zyq#j934Ouaga+%oF<>`(qPLSLG*NyccazX3ZuR*Mw)3Az{I7-T{V%OAtsm9X`cQv0 zUeAB^ymx{4qwAEoU|oNxzS`4ye!a*kU+ecz;$N`eY!-R7w?nY@o1Bw;`IHLn6sq%H zx8S0az1$a)j@r|4FH@c?mWbRQf>o|V_&P7mllU#d-zhZv6rWB^XtmG|p0+9C1L)4YGTOFBA_ z_BAiWM1GCXE}@#QodLW_>;~Isc8O0{+l}fM2|up!qQ747KaGDXC-+OVUFMYbwy*6n z*dDiv{Zf%XO!kr13l7d(-NMf+^Y%4g>i-hqw+nqt><9hcr11g2cLn%;`5jy8)Bls$ z|5E50;p=-Nn*?_Y9dvc?adf0$?SIj7Z?{NjwbDM;DH|nT%R|dyoA5I$yuD(f9YXcK z{bs?za#TAyUUiF{wim7E>`HH6`N8s9An|L2ZWo$a<@JK;#)RK0v{R_o<1WF$`pj9@ z+Yj}xI>1-|=194BNxbHFhu}jcK347RYW%T*`dcIM+k|SlMr*v@$FklH+F2g3vqa=I zoeLyBSUw%XUnBBbF2VBX()eKe4)C=+g8fqSA8fBhr~7=h3srxYNj^6R_&Ws$^Pzg$ zzH*j(yE-2i3)cHU8ztZE!hc+_p0o5d-)cM97_h%ha9?_+*87t$v{h)ZoHq(z+rOr_ zE5O(MYI(md{s+r_L7h)mPO3Ig`}h9cd6iDdns!0`CB8juXev(;{)wJGw$^@ z9jyl~|GwJ$2JuJBt61!;7y5w2Yro$v{OF3_^;i_ZzY@LD0Dp~OJy!~rgMKe#qsZ+L z`a7|g*XYyzOmMKh7E8RAgVsYwfFCTMu)16kMcEt%fv73Kbl^?$SW=u+$nU2 z&@)7Twb1NUKAj~(uNQuY;LS>f|E$nxtJix*aH-%9q1s-xywtDF60g{_c{?$o%8v`) zD0GL==owzVFF#d3CUT`pC0+IB`|3~aDBUJ@bez`ldzbK+oay~)7pmiAmtd{;U4pef z`&tiek#dcl+eJ?O&pF%MDHZx#vHzveHNw|fj+dK6 zUhN0hP1w`g-J%~X&*(Ygr_eP*wLCWq-YGP8u9w&Htro218(e2@l=xu%_vPnK zkq`Qr-7fVabiL3np+SGuzvvIVp8BWtpDX1&Q|Nv|gZ`I_{(OnwDEJh?-Ga58bI$YW zoi6dpUm$$N9fEZ}-V%s6=X*Op5IZ{W2G`U7X*-CC-C+4v3t!ujj*FcEzLukohubAy zpX+W2YyuV)s$~)+1k;tjOwxjs>=&K(cBBwa>IzL|ir{9g(B6fBO&A-U|KThnG z3J!ihLemY>c9B=UmY2SF7kp2wOXPLj((!7i@Pp;EulNd$)7(|)x%fV%|;{fl1W{r;c&cV-{{1;>Hldv_h8 z7xXK?55Mm2BONV=;CpzF^Au>ETJXg>+QC%HrH6z!%wvr>_6K?U;9(5==bICE|CwGkJ=CVn|FC{f2#$nzgP9)Z?He9 z{os45U1IM(v16|2U9V3GU&q5di4Xe!Rv&(7y21BZi~F$i+4tB{d%^dH+xxH=x#8cp z^M87;xDPwy`>+#izuIrMh#mE}ulHbg^^xAbeWa)MayooHX}en>I9M-wZ@aI49=yLD ze80B654%SN{L}WR{srH^-Png6y)Ul*shwc^4VJT}vsC<0+%4(kul41#MyR&m;P>&m zCB9AU1os`IS9&|@kCtzd@UIoU`-KMgIZH)O{o5q?>F?3oE^2Dp<=)`ARoR z{4SvjuJZcph3*jg8%e*faw)pn>&1okRX*z_K3G0Ggs*;OUeh}t-&cOm$#eMv(Np|= z<)`bVPSM*YRLfE0qt|+W6!%rGpGi4sK9uTuGA4GkT_o1e!rv@Z_s3N~cn=`D-ut8b z+xddcjeh(J_KQ}DUoW&v=nkP-qPM$HO*iv8pN@_jF~QYBJA`U|s$THE*gUa&n$RBuJtFs<(9M0M`@Y0~Ep*@pUmiI^_1wEa@DW0T&r986zg*(AK9&U5S$&N& zdDr`LiwoT>G+6IiUfmMEO47@@!Rwa_T_aTY<5X|6@VkX(-{|!;K3IQ65??KJqtIaa z2kUQ}$VE4J`$73U;kOIjEL8o_d2WaBb8hl>u9W<0IsUiH_ibOV+Aj6|=8a-c$Eknv zGoYv6M<^D5w0@owJ8ug8T&Rwt+FriTzJ6b!Ghjb_llOn9&>2Ftyk-mjzVx<>T`dQ5 zvoBZ8N4{XS6ZCh9#H)ULK!3B~T|$dGz5Q09n}wQNJYV;@@&xypuEZzO6|8=5{2u)s z60h%}YW-*4>iyVH%5Q<-d4iSSA^cMV{O!Wexy{?D7OHw119+R@oZG#8JYX*_{LMnm z9bT?jXs1xMzf*ARM_#T&sK##*oO!2@Un2C}K)U)KyT0$9p`NHewGS-MC^13RzJD~YyEE%Ikoey;BSNuzS;MmsX|pQ^Ddv>0m2XV zBb8HHB=VZ>VWQV6{3U|N$UQqG-$6w z_&bE=+~?(0E@-!1;=6=)3%yqIk#~RZe8dHJ3Dx>Ho4j0+&|rFBOZ#|G>}tN2hxJ$Rs(PheUQYEk3Rb=Cg7cpCa;n!USoPLRx;uowd2tQbl+k|g^Df&XST)PBExA=H1U#(Bok4b!oP}Mijd%XohRli-Z>TeQke&yv= zKQ4H)P}SG^-6{NFd29Y3mGaVZeIkIfwS1(X%@JJvg7@QK!6iaFgs=Tf?Fa4lHBWYl zzWQTcl=2a(^VFG=-bF%h6{>nq3U0XF*RS%|h@Gtx|B=w`!v9Y2P|;KWRX^v~-k*Gl zzaUUvr4rvEv`eVj>h+3*s$HGO)lRUSN=1H+&`m=7@-wJ^nE1I^=q}M;E;uNEk?@1- zi2Rql|E)r`9<*FKg|G8+U-i2~vEsp#uIh5DoPGf6k&j^6DmPjIkYbU&m(;ui=l71}IR?Q6RF-SjIYUim7w zEAZZP@OfX~_wA7U==1k=V(%WI&j@{8=*L1+e$+dE;{_KAT_`lTKO#TtnIOfl`}(j6 zjt?B$2md7DhXV4a_Q9_ZemEdsEBw&`{z~EN?;UIOCBoO=Jy!lY;p^`oEB~54_%{n* zf3H~OZ|#G>{~zQ#+bSsZMB(f28f*03Vn=`fRr&Y!!S52j{yuZpZ+v~cAbkB@XtlGo z5B_Vy*WZm+`8WIEza#u{Dk$_L;g1jSKk0+NOZWo=@}W0;J_ZH&kv{lQ;b#Wq2MRwY zz#lIB!2$lrKKMDp9}WMkGe_uv^RY__kWZ8!F}*22>;-us0&RM{viQ= zzVHtX@E6MX6Xeek`AGr!1BJgJz&~90lLP$Ygnw9oe`+868sQ%vkY6GEBLe(0g+C?0 zzfkx`2KX2E!Cxo*qXP2R^ufPL_zMH_4+?)#fd7o}iv#?v!aq8|f4L9-Tf#pkApiS5 z_&bDuY(V}q;pYYTpZCH4hw#S)7FZ@{n{t?1IKEPir z{MiA1iSYLh@J|>12?2hS@OKOF&lZ00N71hk{yqWuPT?OA;6EVzeFOYo2!Fo-{|({q zAK-r^{HX!{--SOXz)zR?e~$n^Tlo0_{%*pb7T^~NA3rtU>)&C*-@O;tnB#?C5a5>! ze`bKcLij}i{<*@R5#V1g{JjGF4Z@!u;NK(s!T`T7*!`Ao&-eV^)5nCGLk~J=pPaly z7acb>XU>d*8GGi;&d=X-*6jRQIeEuaR^%)wYxex{}vVk zUOqn8%fBk|LE`;66%PbnzIb0R|5R}55JfM4HYPeRpSi-zzZ;xVddaWGf=>Lu#mm1M zd{pWszqDNCyC3%QD}s-tz2q;cQ~AiBh z$^IE5Bevs(gNlm;c$n^?&(&D!;SN%fA=?cmBj4Qu*!`UjEMDqjN8RCjLU@ zJI?p=LxWo{z2tX)QRO$S@$!>{TOhsUr)*dG?kl}~a3?}@kdI;?+Y6;wUS3;PQDH`)!Vs*fuW2?#K3vjN*<4alQ&nZw^k(r5TOVs;y~iE-9}rYb+~ou56^PIUDTivZj*qvZhM&6M)9bm6eT6 zm7Z}ChJePh`elF(WP2_P;@8eeI=C4-BsVar>dNxvCC!axHSlm56zZERTbs?nuvyVk z7cVJmYHBF2fh!dyjV-m6P3BvTflhr>O*4FMGOb9_TdHbkELmDszMRHd;^q-VRK}ai zYa5zc8Y@jVQm&~lZ>)shC3R)3B^6a=FbQr`eN%HoMU#0Ey|t;WuBxH7wqX^s`tx+h zh?g}syTr^psIYp-GCzjv=aAtj)dIhsL%3~@+NaD!gb3l5oI1h zo*6`OIs;3b0S;T|LFjoHXsRlSw=`9o4<+0XHz7oU?W%BZgi8RLnwOj7B;4E(FR5uY z%LO81&h}oG&T)v#8Dh-ek#a=?j8s(CH=8`T>w`$GxyhUiysWamXW6wXtEB`r&$e+j zICQ?Ld1|)A7i;8~pdpt0C?i+&*x#sH)i;;5RyH;^G@9Q4S2k2NRaVxU&k(Mts9f5z%tZPdgWQ*+?;=#+ zu&S)F-poRZKld5^&S<%G#=$+DfwzK##g`ykZgH5MrtTYU;_a zFRQCGX92=k0$&MSjRHe0tH?&MDrzc9dWt;>9y)Oq2Cvr;Y-_`m)zoA@Mi@ohSXR>9 z7Oyl0a|H^xsTrLGlh|-TRtPX`nQ4GE^%%r3k$F4G;keam!dRR%)K~hUXQY6( zIy2J;IgXk6K8(c7$s!RqD-gmkUQ>sR)L|sM5V*Xhu@U{i;SD`8<}p7vJ_s(e?$Pst zFh~gJ9dM9NSxYV23uaUES1?fG&Gl7fCIfRs6}l&e8#4i6@)6w2vFpof5nhO}8(H1- zRjz23Y180ra|MEB<>m2awy8S^ID`A-9s_h`;p_EfK)T`49~Ef>{YDw6Yz#6cD@(+= z@~FoQ3ydkXMBseD`dW6~tAeN~EOGL1#3FXCk0L>K~9t18T=KDe}exe4RB!c|$h8Hr$1IUDUv7h2kY zdDn$n%WGTA$u5XiVOAidCB@Ycl+1-L)^(B%foLq2N?hl7Fc8riFXOoWe1Oejti_~W zBJuA8;@#rwuVB(|0F!}Zp?Y+Q383ZG%gtV(&15V@U@6y{i^Me69jKy{yhTbeRwP9)24DlEwg0vb3eDii>5psCg88=8+4)mkwW(H#|iTK7!w0g4}fp+_{R`8q5e!Y1mV3r`uzGjZ~+H8wwAXtxP*l0Qs zYQh}B9{D43Tk7hX&Ep7FH&vITalC>cN}_T_t=Zw@v1T^kA_zL$48<4fHtx_ z7|nH9rDC{^G2GCM<+C{+!FXlaa$icdUJFkZE6jO5T!EIn9zi7Q8vcEr-E-0T3$V~$ zvBayaz?_+b1G2=@sN{4!5TIbqIpF%m8VAs;5(p0)HC1iqZZNRokmX!gB04b@y^&zK zcK%5Mu4**D9F1Hzm6yda5wAe?VPW#So-8&k{#%RXdC2hj{%s5Z=V5V8KdUh7)|!Wa z${XTssD7;9mYLnLRCe<-mx7ft<7@yE&u2Q@|C!J&vrFmnYCmdZwRfS{H*mRP14Xlct*^a!&RL9Suk_{X)EnTqu&o{XsV7=!e<1q-HS z^=?h=T+hTByu7KpvbNUTiXijom!Gc#)gstbWw?~}%VRe$oB&we+)!gSAV86tDzlS8 zSpcFXV%f=cfVl?i*1EFB%RQ*V{8(MbV za;z&clGVE~o5>4Ge#Cf2Aq)D5fLraTGL&k~fJYxL-5GNqb(UD++eW42o;Hkhpm z1|FI}O8|D7Othf3HYbbRm{|$vHkpobkPqx)>AVC3mVS}|wDev=)jwv3(H7gRmzUwm z*DWnf7(E@D?L%-rwT+%Tws*~W%8^BFiSiR2TPS&DJCt<60UZ$*%a(oy$><2>*swH5=I zgIX@%x>1fz&kS=d0~ImN1y~9FG1DftA#xpX71@quu#SzsI@px3q{3j>wBDHS(5QCc zKSx={nB^{to7>A!ueIpgX#O==!(g~O9BmG$wxMA;mMiB1)#JI-MLp$!#C!qJRL-?J z#`jD#yQXpxD|SG{nA{64Iqr>Li5lRrj0Kw8e?8ibt?rTF1qN5nu4+VIHQxYKV%dzv zB-X#!eO+$yIRbH0&8=%nn&RB!;Yx!K#a!^ck1(d8O1HN*4Bpi(pG7|R@!)>>@>%A$ zj?2xIHuGb6SzZ^%Iw4XM1qcVJ+>K_7MLc$CU;+)4|Ijf}u-v-88gBjs z*+HdXLgha!l@MosVoVHiQ}Lhmi)}OCy^nU$+{Nd(`WKo^oYio ziM67+4iL-iMkuovn)`tfZgSvRfVQ>@JW4qD7GPaLBK9wU+!&@B|NRO7Lxu+&90o3i zW7x>TbHl2}8gA>mg4vqjR#ymX3jFheT+4W|<-K`Yj2|V~&SsI>;2caOGON(+=SIN< zXU=T%y9CGCuX3uU%8hpkxq9<_fOeQTQOfD+j$A;*p5)w&lf@z~@G9RH-Fye6s%bTR1KXrccNN6F{MxjN@*tv{3 zH@7K+Rf&hSW$2PGfQOLV=q};o*DQFPV6XtndNRu6ZE~C=DrnrzctGS+M?wov_04VO zE6>6-pe?ySoN}p_EUhiW>XLlAZSF<{#svI}qNifXIzC2X^vL*raP8}mr~xyy1c7K; z=rx3GG=$OHgwjH%f|-&QdV|c=(0xFmNSHN{5(%w`dNh*K0A}Qh(;$(;XR}BLgJLZb zT|@9Yr=Ic>NO;Ee_?ub?Nsi9j!!yzjK^sZwZ%+UW<(jl?m`xdM&vP)EwiA*mLj-1~ zox<2Gf!S$zf;1^Z1?HqhXlj_iytG>=JX~OY+8cx;1Qw;;K+D+zV`(#KYLvhQX{#7J zT3|6s5^#*bC22>{)Hr(fP5YR5p5RWKR!seaoj2j!jnHTOA@(LGe~&ehXaOXm(ewd~*p$jV zUItEf%ESHmB#`om&$a3I9xZM5nU3~rXW2jQYcUg6=0h(MWo>8BS2l$HXW|dJ`-73e z)|BAxVM6PWUNjOq7HqV`$wVoUC=CwS1GZz}+ubaK+JFxl8KXTDS`{7mDX5(?8?pAd zL3s3$@ZwDFn%g{@u_tD-=LuMnS);+DO$du6V?%=}He?fxV3lL+KDJnrIABx^4F507 zrBy`PBK#l9)b=L23jc?>^yU(>*$;CmI+%qV4c`wu>)>I4!{CAgR|1$3gE4CCpulN1 zCh3Jn$G|XV3k0$@W6ZFpQmPn*;oUfuDcu7|TO|a41<0n(@ChukO7d80Ech$%cO<$u z_)oYdkSX@}8xy01DTClBo=)4pAVqtQ6N*XXQ$nwU(9kkt&!*{@36=`r;5ZEBeJ*3l z30OD|T?b@FeM-|@iP;U#beEW{8yiD39xV}1(>Kz<3CJ%^J8&5QP2a?rj|h-q2l``3 zG^06x*l+3dhc+(O)(TBDkPoPAk26Dfl5USD_{w&QRL!^;7{<(mJzv&evaETQopk~J z*uOpl$ERQ{VA6l1sRn@Td<1-1e?#5~bP{96@Oa*4Gp7aCwc5Cte^BT`$c-&Gc8)8E z3#c__A(J_snV4aH`H1jz8N0b*M5XC2_6wkKQ=#*|i0u+O{y|u?Go8>H3=laq927EU zLJ8Q&K`H)B?4gp&l|~1n%!IR@h?zu|{V_P9E@w78xum4rgq~uS%_QDEu$jnh=((P; z&$`$#A2Rk)$l0;JEb=8gIwd^`AIFx@GIos9<}vWt^4SW{0Gxs%ALk<90NSlVk;$8n z;tF5RVaVFN_b?KNuMlu2c;OBYroIJ`dX2MS?bHyIQcY+o>d)Fpl>KAs>6EY`x(o?E zxTLODG|eM60L1Y!2;u}S?1esudg_G({Q?78c!)qhafh=6`iVO{RG^=@!@~sni90-8pr5$IBLw=1JDe@hPu$^A0{z4t9xc#M z+~F|-{lpy}XD6b*Lo#uPb8Mc2e&P;KlpOhqJ3K|8pSZ($Zl=|VJ3P%Eg8U{X?(lTG z*kPHt!!zs**iKB`;n{Y7hh^dp&$XNr!?`kXhYz&xp@hS^GI59J36_aFe6aH-F>!|v zu?IVQn7E^VMdOGrwF_Y|y_PkaacsW}5Swu{Ypvf|h|V~M5hjCEIBU57YNl=m+yWfU zSUiw7E;1G^1rs$oFpJ8^vU!JcQ%op^5iMgeRR_F`Kbif;4LlbT{l>&aekOWTzp=E1 z24F%hj2y?gDH1&ZB7>rtTvLQMrLy?hPO`%f59FF6{D`j*Gw?ld!<&75LXvE))*Rc2|!v?s2OC)4lvW2LsT_cyrMS`PklLQho__+ z%$OrmSext|2N52b;?h9p*haW8WjfQz%}hHO4x}xT*ld$}8Y~?RUUsBqATt_S$$Dg! zu(l(sJPHjw8D$q~?Qn4^1G^a4=23LuF6c+j@aboo)T?1~5yW%SXAI?@PWnu8Xp$3n zdcLY%k6fqEW;wz!6e|~S!+0&shWKZh)$wR*P7G0KLU^hjJ`I*_1&ich!q<_utzc%C z5uT6S+DgV=O!zfn6=QkTW&{TIY66}*j5uAu7XaB^;Eup4yj{-t7Hmn3+%yQfwS?;d zM_?z@))8$5f}=dmv9IyZ6*fO7MxHrzf~O+}AZ@pVx{O)B6mS%7p4rQ(|2hyo=^)re z08bp4f!&Xhr8K#gaT@?fZ)EDO(c62g}I@eZP4aN{t+qK zYsotRJhW8arz3Pdu)++hW}$4N)YG62EM9SZpVO-x>x8&Q)=1h#i2v*n=V; zD>81)+b@~l^zas8n(=lt( z;JT!-MPZsg25bC@E{jEBrvEgt>uEl|1}C}`U8a3}C$Y=5$6pf&UTi<`r6b$XUFa*wu;0zbD>}&U*QwixPB9-e@X*8P1X{ znWkCW)hpnxvno1OomUcEqnYiv1@=H-!uh2x*BhH@@MUa zc-PiFK0goG6}HEJBzDcs;~Sukt%bBp4RWw|?PZJorom*fs*Ru%6&e)mfXeQmxgbjm-N+c%td)ic>#B;w~Pa1Gsm z+X)oryOt1%a`_aA(y3{DqzhfnRiL%g_(&JJLcpCNfDR9)e-1y=E_YU}ot_8%w6%(! zM3$3?lT_N38n={^S1aO!VcIo{D$#D!u2pm|GLrVB<*aLM#)BxoM4SG?n(3#)Lu@PF z3O*b-z85--NxrFZ-Apop?xfi_HIbiE?;ncJq~zC%_9ptqwL+x8*9($pKc?hD-Ox#KIQ^tL#lIgwBUT7N0xEA_3)Gcq3`o~0tinvPx)*ZUrVS>ByONY26MhrCHA940`0}JU8#QY>=OIKYzfF+D^aT= z?i!@6R>WNcAbJ4FcY7f|Rwd)OGmy3>^fs7~{0&p@R4aS4+!Khq21!&;$y-!%0wojZ z#$Ite(n`ivu{>^7y;B%hp2Ei*bhziBm%jfsD1B?gXxhexrcFnb@}}h@ne-SRQZSOQ z00^1y0HXFPXx7a2gMq#{=JqYlN8#4M(*Nj`AtiarkkaQVL+TzVpBIqS_T&x)cXap= z#-j!7P@LyrVu!-R#14gri5&_L6FU?hCUz)1Ozcp2nAoB4Fy@XHutVWtVu!-R#14gr zi5-d+A^Pl(7O+FH%E81Ah0jr9hr+|=w035&_t64&DCQ!+J$EP$b2zy}aW-uC+@ZM4 z;p7fQ+{q_*C}z3%Xo2qwSzZ#cc~+b3nR~}z66KF`1x({p znW1y@jTz{cK@M&K9CQ}d9JD76`V>L}P8#%05-c8cQBv$^lX)u>e3-1G+-79EB=%x5 z(ZRf9Y!|t0^5X{cma%}vgLyg0E}}#BX!=&n;G|jb4XZx~>Hr44M*9xh6U~r2*;6~n zT4}dQGSj7--Ujh3=Wa85&H=Nr-N`CFCWU(&<2kxWsk$%0x=4$Oozh3bmV+K;8jZtUf50=5BIc-J? zLt~k`9nI+?qMOX4Ib8s`MC@oz7fHkkBC;mLI>MlP4jNI&oC{kRbTN1zv~P^|jlO;B z2HouR9-GCf|Cct4lSjMB@pmaa>oNYa%m06Vhj=9ly2tqI&pZ?3ug_6p{Pi#~{&K+l z4|a&pLsC7*-zyzXj=yX=J$HzCe9&`;*yH5*OK*CPzw4bmcZmI=E=FGFuJ_36^Q$AT z&#sQVH0XB&4}hK=>e9<~h;SQN=RD(Xj^ER5W3npBZW1QK1}|?R!+**JcV&yTF)2Y)$(P$y`{Q={uwcgTJNLq@y?p zr-yf5wHQ9o`6nPccmPwIJRJL*PV@MmF8zC}l?a zAt-}L;`k<=i=)V3y8&Y8oas9u85trlGoAM?B3S~n)3F_dmu>{+r1RcIWSGFbbl$s& z3>TQ6&U+V;5dw?SdG8{UEijgj=R*@2C2&DH$IZxSfyJm0z%c@sr1RcIWSr%5P$;)F zo%b#xId(q>tJ8V!B9b`1N$0(b$Q1V^70PW+=i(@mIKD|gn3j{rH|e~05lJ53q+dup z!yW|N?40RSDL>mD>+l+z&U+V;;ciQw~>L-tH(s}P9 za)>?A*+b{-*W>ucozLL-roTVFVXgH)3xj>eF>J*qaw-1ahJdSe9N#@y+9agQ98CFR8*b2lEUkvMI_sa6?GMpW#Fv@wMX5a3Y(1rT8

T^2 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 z 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%0Dtt%# ztM$TteR{X(lRDWxO)pTs2-gpJ9&(Cs*3HkbZ#^xbB8#7)IJr0F4U?vWHGc#6|03LP z*DLY;i{-u{+}CIF2bnYj_w&15sJz$f%Gu6sg!}bA^C;yfrgO=Caqy3RK=}dSXM*?r zK{=Oe0rDK*Ryo`APw=nB{hwT4Eq|%?IpIU~v;SNQ-V*x_uCHgn*Wr6^Yt-il;lBRK zp_+&Ne9w!NuQ*P*{+lExfiGIA+xMTr$TJWA@n|3V{|^4v zEY0&g{4Hg{ef>H381vjD+_&dlN2{Ov|Ht89Hck1#$nzfjOHNkK_TTB(nt$LnJKjp_x0RAtKV);Ig-ksqI#-(%v1ku2WtKbSVju>>%GNdk`u|X&er|Wg;3Mx=&UXH#@bo!BTsJ-*d44avNfN*R>Tcv2ll6V!t<>KzNeh5PkbiTfp3 ?j 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 ZyH~MqNb>#7q#trX(_lWT5f#%x{|BnIOrih) literal 0 HcmV?d00001 diff --git a/configure/compiler/testcase/abnor_array.cpp b/configure/compiler/testcase/abnor_array.cpp new file mode 100644 index 00000000..d8ac4d74 --- /dev/null +++ b/configure/compiler/testcase/abnor_array.cpp @@ -0,0 +1,31 @@ +/* Generated file, do not edit */ + +#ifndef CXXTEST_RUNNING +#define CXXTEST_RUNNING +#endif + +#define _CXXTEST_HAVE_STD +#define _CXXTEST_HAVE_EH +#include +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "abnor_array.h" + +static TestAbnorArray suite_TestAbnorArray; + +static CxxTest::List Tests_TestAbnorArray = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_TestAbnorArray( "abnor_array.h", 19, "TestAbnorArray", suite_TestAbnorArray, Tests_TestAbnorArray ); + +static class TestDescription_TestAbnorArray_test_abnor_array : public CxxTest::RealTestDescription { +public: + TestDescription_TestAbnorArray_test_abnor_array() : CxxTest::RealTestDescription( Tests_TestAbnorArray, suiteDescription_TestAbnorArray, 22, "test_abnor_array" ) {} + void runTest() { suite_TestAbnorArray.test_abnor_array(); } +} testDescription_TestAbnorArray_test_abnor_array; + +#include diff --git a/configure/compiler/testcase/abnor_group.cpp b/configure/compiler/testcase/abnor_group.cpp new file mode 100644 index 00000000..80bcabab --- /dev/null +++ b/configure/compiler/testcase/abnor_group.cpp @@ -0,0 +1,31 @@ +/* Generated file, do not edit */ + +#ifndef CXXTEST_RUNNING +#define CXXTEST_RUNNING +#endif + +#define _CXXTEST_HAVE_STD +#define _CXXTEST_HAVE_EH +#include +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "abnor_group.h" + +static TestAbnorGroup suite_TestAbnorGroup; + +static CxxTest::List Tests_TestAbnorGroup = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_TestAbnorGroup( "abnor_group.h", 20, "TestAbnorGroup", suite_TestAbnorGroup, Tests_TestAbnorGroup ); + +static class TestDescription_TestAbnorGroup_test_abnor_group : public CxxTest::RealTestDescription { +public: + TestDescription_TestAbnorGroup_test_abnor_group() : CxxTest::RealTestDescription( Tests_TestAbnorGroup, suiteDescription_TestAbnorGroup, 23, "test_abnor_group" ) {} + void runTest() { suite_TestAbnorGroup.test_abnor_group(); } +} testDescription_TestAbnorGroup_test_abnor_group; + +#include diff --git a/configure/compiler/testcase/abnor_var.cpp b/configure/compiler/testcase/abnor_var.cpp new file mode 100644 index 00000000..1edb59fa --- /dev/null +++ b/configure/compiler/testcase/abnor_var.cpp @@ -0,0 +1,31 @@ +/* Generated file, do not edit */ + +#ifndef CXXTEST_RUNNING +#define CXXTEST_RUNNING +#endif + +#define _CXXTEST_HAVE_STD +#define _CXXTEST_HAVE_EH +#include +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "abnor_var.h" + +static TestAbnorVar suite_TestAbnorVar; + +static CxxTest::List Tests_TestAbnorVar = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_TestAbnorVar( "abnor_var.h", 20, "TestAbnorVar", suite_TestAbnorVar, Tests_TestAbnorVar ); + +static class TestDescription_TestAbnorVar_test_abnor_var : public CxxTest::RealTestDescription { +public: + TestDescription_TestAbnorVar_test_abnor_var() : CxxTest::RealTestDescription( Tests_TestAbnorVar, suiteDescription_TestAbnorVar, 23, "test_abnor_var" ) {} + void runTest() { suite_TestAbnorVar.test_abnor_var(); } +} testDescription_TestAbnorVar_test_abnor_var; + +#include diff --git a/configure/compiler/testcase/cmd.def b/configure/compiler/testcase/cmd.def new file mode 100644 index 00000000..65b59340 --- /dev/null +++ b/configure/compiler/testcase/cmd.def @@ -0,0 +1,7 @@ +struct a //asdfasdfsadf +{ + int32_t ab = range(0);//adsf + int32_t c = a(); //adf + int32_t def; + //dasdf +}; diff --git a/configure/compiler/testcase/create_bak.sh b/configure/compiler/testcase/create_bak.sh new file mode 100755 index 00000000..d9b3a9c3 --- /dev/null +++ b/configure/compiler/testcase/create_bak.sh @@ -0,0 +1,14 @@ +#!/bin/bash +if [ $# -eq 1 ] +then + i=$1 + bak=${i%%.def}.bak + ./main $i 1>$bak +else + for i in *.def + do + bak=${i%%.def}.bak + ./main $i 1>$bak + done +fi + diff --git a/configure/compiler/testcase/error.bak b/configure/compiler/testcase/error.bak new file mode 100644 index 00000000..208ef997 --- /dev/null +++ b/configure/compiler/testcase/error.bak @@ -0,0 +1,14 @@ +idl groups: + group:a_t,overwrited from a_t +idl vars: + var:a,type:int32_t + func:array + arg:0 + var:b,type:int32_t + var:c,type:nonetype +idl error: + error.def:2:array size -10 is invalid + error.def:6:var 'b' already exists at error.def:5 + error.def:9:type 'nonetype' doesn't exist + error.def:15:groups 'a_t' already exists at error.def:12 + error.def:20:syntax error, unexpected ID, expecting INTEGER or LITERAL_STRING before char:'a' diff --git a/configure/compiler/testcase/error.def b/configure/compiler/testcase/error.def new file mode 100644 index 00000000..28fdf899 --- /dev/null +++ b/configure/compiler/testcase/error.def @@ -0,0 +1,45 @@ +#negative num for array +int32_t a[-10]; + +#duplicate var name +int32_t b; +double b; + +#no type +nonetype c; + +#duplicate struct name +struct a_t +{ +}; +struct a_t +{ +}; + +#duplicate cf +int32_t d=fn(a),fn(b); + +#duplicate struct field +struct b_t +{ + int32_t a; + int32_t a; +}; + +#duplicate struct field with non type +struct c_t +{ + nonetype a; +}; + +#overwrite +d_t overwrite nonestruct +{ +}; + +#overwrite non field +e_t overwrite a_t +{ + int32_t a; +}; + diff --git a/configure/compiler/testcase/gen b/configure/compiler/testcase/gen new file mode 100755 index 0000000000000000000000000000000000000000..ddcf5c714c2a17849708ac62db8b8a7f8dac88d5 GIT binary patch literal 27981 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 +#include +#include + +int main() +{ + std::cout<<"#include "<"< -1e5 )"<>2)<<1+3<<2*(1<<2)" + }; + std::vector vec(vecs, vecs+sizeof(vecs)/sizeof(vecs[0])); + + std::vector type; + type.push_back("int"); + type.push_back("long"); + //type.push_back("char"); + type.push_back("unsigned int"); + type.push_back("unsigned long"); + type.push_back("long long"); + type.push_back("unsigned long long"); + + for (int tp=0; tp<(int)type.size(); ++tp) { + for (int i=0; i<(int)vec.size(); ++i) { + std::cout<<"\t"<<"void test" <<"_case"< +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "gen.h" + +static test_expr_suit suite_test_expr_suit; + +static CxxTest::List Tests_test_expr_suit = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_test_expr_suit( "gen.h", 5, "test_expr_suit", suite_test_expr_suit, Tests_test_expr_suit ); + +static class TestDescription_test_expr_suit_test_case0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 8, "test_case0" ) {} + void runTest() { suite_test_expr_suit.test_case0(); } +} testDescription_test_expr_suit_test_case0; + +static class TestDescription_test_expr_suit_test_case1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 13, "test_case1" ) {} + void runTest() { suite_test_expr_suit.test_case1(); } +} testDescription_test_expr_suit_test_case1; + +static class TestDescription_test_expr_suit_test_case2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 18, "test_case2" ) {} + void runTest() { suite_test_expr_suit.test_case2(); } +} testDescription_test_expr_suit_test_case2; + +static class TestDescription_test_expr_suit_test_case0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 23, "test_case0" ) {} + void runTest() { suite_test_expr_suit.test_case0(); } +} testDescription_test_expr_suit_test_case0; + +static class TestDescription_test_expr_suit_test_case1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 28, "test_case1" ) {} + void runTest() { suite_test_expr_suit.test_case1(); } +} testDescription_test_expr_suit_test_case1; + +static class TestDescription_test_expr_suit_test_case2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 33, "test_case2" ) {} + void runTest() { suite_test_expr_suit.test_case2(); } +} testDescription_test_expr_suit_test_case2; + +static class TestDescription_test_expr_suit_test_case0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 38, "test_case0" ) {} + void runTest() { suite_test_expr_suit.test_case0(); } +} testDescription_test_expr_suit_test_case0; + +static class TestDescription_test_expr_suit_test_case1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 43, "test_case1" ) {} + void runTest() { suite_test_expr_suit.test_case1(); } +} testDescription_test_expr_suit_test_case1; + +static class TestDescription_test_expr_suit_test_case2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 48, "test_case2" ) {} + void runTest() { suite_test_expr_suit.test_case2(); } +} testDescription_test_expr_suit_test_case2; + +static class TestDescription_test_expr_suit_test_case0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 53, "test_case0" ) {} + void runTest() { suite_test_expr_suit.test_case0(); } +} testDescription_test_expr_suit_test_case0; + +static class TestDescription_test_expr_suit_test_case1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 58, "test_case1" ) {} + void runTest() { suite_test_expr_suit.test_case1(); } +} testDescription_test_expr_suit_test_case1; + +static class TestDescription_test_expr_suit_test_case2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 63, "test_case2" ) {} + void runTest() { suite_test_expr_suit.test_case2(); } +} testDescription_test_expr_suit_test_case2; + +static class TestDescription_test_expr_suit_test_case0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 68, "test_case0" ) {} + void runTest() { suite_test_expr_suit.test_case0(); } +} testDescription_test_expr_suit_test_case0; + +static class TestDescription_test_expr_suit_test_case1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 73, "test_case1" ) {} + void runTest() { suite_test_expr_suit.test_case1(); } +} testDescription_test_expr_suit_test_case1; + +static class TestDescription_test_expr_suit_test_case2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 78, "test_case2" ) {} + void runTest() { suite_test_expr_suit.test_case2(); } +} testDescription_test_expr_suit_test_case2; + +static class TestDescription_test_expr_suit_test_case0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 83, "test_case0" ) {} + void runTest() { suite_test_expr_suit.test_case0(); } +} testDescription_test_expr_suit_test_case0; + +static class TestDescription_test_expr_suit_test_case1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 88, "test_case1" ) {} + void runTest() { suite_test_expr_suit.test_case1(); } +} testDescription_test_expr_suit_test_case1; + +static class TestDescription_test_expr_suit_test_case2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 93, "test_case2" ) {} + void runTest() { suite_test_expr_suit.test_case2(); } +} testDescription_test_expr_suit_test_case2; + +static class TestDescription_test_expr_suit_test_case0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 98, "test_case0" ) {} + void runTest() { suite_test_expr_suit.test_case0(); } +} testDescription_test_expr_suit_test_case0; + +static class TestDescription_test_expr_suit_test_case1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 103, "test_case1" ) {} + void runTest() { suite_test_expr_suit.test_case1(); } +} testDescription_test_expr_suit_test_case1; + +static class TestDescription_test_expr_suit_test_case2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 108, "test_case2" ) {} + void runTest() { suite_test_expr_suit.test_case2(); } +} testDescription_test_expr_suit_test_case2; + +#include diff --git a/configure/compiler/testcase/group.cpp b/configure/compiler/testcase/group.cpp new file mode 100644 index 00000000..4a210899 --- /dev/null +++ b/configure/compiler/testcase/group.cpp @@ -0,0 +1,31 @@ +/* Generated file, do not edit */ + +#ifndef CXXTEST_RUNNING +#define CXXTEST_RUNNING +#endif + +#define _CXXTEST_HAVE_STD +#define _CXXTEST_HAVE_EH +#include +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "group.h" + +static TestGroup suite_TestGroup; + +static CxxTest::List Tests_TestGroup = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_TestGroup( "group.h", 20, "TestGroup", suite_TestGroup, Tests_TestGroup ); + +static class TestDescription_TestGroup_testgroup : public CxxTest::RealTestDescription { +public: + TestDescription_TestGroup_testgroup() : CxxTest::RealTestDescription( Tests_TestGroup, suiteDescription_TestGroup, 23, "testgroup" ) {} + void runTest() { suite_TestGroup.testgroup(); } +} testDescription_TestGroup_testgroup; + +#include diff --git a/configure/compiler/testcase/main.cpp b/configure/compiler/testcase/main.cpp new file mode 100755 index 00000000..e9c61a58 --- /dev/null +++ b/configure/compiler/testcase/main.cpp @@ -0,0 +1,29 @@ +/* -*- c++ -*- + copy[write] by dirlt(zhang_yan@baidu.com) + date time:Mon Nov 17 17:08:24 CST 2008 + file name:main.cpp */ + +#include +#include +#include "idl_conf_if.h" +using namespace confIDL; + +int main(int argc,char **argv) +{ + int i; + char *file; + idl_t *idl_data; + for(i=1;i +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include diff --git a/configure/compiler/testcase/syntax.bak b/configure/compiler/testcase/syntax.bak new file mode 100644 index 00000000..6573a66e --- /dev/null +++ b/configure/compiler/testcase/syntax.bak @@ -0,0 +1,52 @@ +idl groups: + group:a_t,overwrited from a_t + group:b_t,overwrited from b_t + var:a,type:int32_t + group:c_t,overwrited from b_t + var:a,type:double + func:fn + arg:1 +idl vars: + var:myraw,type:raw + var:a,type:char + var:b,type:uchar + var:c,type:int8_t + var:d,type:uint8_t + var:e,type:int16_t + var:f,type:uint16_t + var:g,type:int32_t + var:h,type:uint32_t + var:i,type:int64_t + var:j,type:uint64_t + var:k,type:int32_t + func:array + arg:0 + var:l,type:int32_t + func:array + arg:2 + var:o,type:int32_t + func:array + arg:50 + arg:50 + var:p,type:int32_t + func:array + arg:0 + arg:50 + var:r,type:int32_t + func:fn + var:s,type:int32_t + func:fn + arg:"a" + var:t,type:int32_t + func:fn + arg:"a" + func:fn1 + arg:"b" + var:u,type:int32_t + func:fn + arg:"a" + arg:"b" + var:w,type:string + func:default + arg:"hello,world" +idl error: diff --git a/configure/compiler/testcase/syntax.def b/configure/compiler/testcase/syntax.def new file mode 100644 index 00000000..55bdd8d3 --- /dev/null +++ b/configure/compiler/testcase/syntax.def @@ -0,0 +1,55 @@ +///* variable type */ +raw myraw; +char a; +uchar b; + +int8_t c; +uint8_t d; + +int16_t e; +uint16_t f; + +int32_t g; +uint32_t h; + +int64_t i; +uint64_t j; + +///* variable array */ +int32_t k[]; +int32_t l[2]; + +///* multi array */ +int32_t o[50][50]; +int32_t p[][50]; + +///* constraint32_t function */ +int32_t r=fn(); +int32_t s=fn("a");//lala +//adsfsadf + +///* multi constraint32_t function */ +int32_t t=fn("a"),fn1("b"); +//adsf + +///* multi param */ +int32_t u=fn("a","b"); + +string w=default("hello,world"); + +///group +struct a_t +{ +}; +struct b_t +{ + int32_t a; +}; + +///group overwrite +c_t overwrite b_t +{ + double a=fn(1); #comment test here +}; + +#comment test here diff --git a/configure/compiler/testcase/test.sh b/configure/compiler/testcase/test.sh new file mode 100755 index 00000000..741f3456 --- /dev/null +++ b/configure/compiler/testcase/test.sh @@ -0,0 +1,14 @@ +#!/bin/bash +for i in *.def +do + bak=${i%%.def}.bak + ./main $i 1>$bak.2 + diff $bak $bak.2 1>/dev/null 2>/dev/null + if [ $? -ne 0 ] + then + echo "$i doesn't make the ccheck++ pass" + else + rm -rf $bak.2 + fi +done + diff --git a/configure/compiler/testcase/test_expr.cpp b/configure/compiler/testcase/test_expr.cpp new file mode 100644 index 00000000..8dd34126 --- /dev/null +++ b/configure/compiler/testcase/test_expr.cpp @@ -0,0 +1,61 @@ +/* Generated file, do not edit */ + +#ifndef CXXTEST_RUNNING +#define CXXTEST_RUNNING +#endif + +#define _CXXTEST_HAVE_STD +#define _CXXTEST_HAVE_EH +#include +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "test_expr.h" + +static test_normal suite_test_normal; + +static CxxTest::List Tests_test_normal = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_test_normal( "test_expr.h", 29, "test_normal", suite_test_normal, Tests_test_normal ); + +static class TestDescription_test_normal_test_test1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_normal_test_test1() : CxxTest::RealTestDescription( Tests_test_normal, suiteDescription_test_normal, 32, "test_test1" ) {} + void runTest() { suite_test_normal.test_test1(); } +} testDescription_test_normal_test_test1; + +static class TestDescription_test_normal_test_test2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_normal_test_test2() : CxxTest::RealTestDescription( Tests_test_normal, suiteDescription_test_normal, 45, "test_test2" ) {} + void runTest() { suite_test_normal.test_test2(); } +} testDescription_test_normal_test_test2; + +static class TestDescription_test_normal_test_test3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_normal_test_test3() : CxxTest::RealTestDescription( Tests_test_normal, suiteDescription_test_normal, 56, "test_test3" ) {} + void runTest() { suite_test_normal.test_test3(); } +} testDescription_test_normal_test_test3; + +static class TestDescription_test_normal_test_test4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_normal_test_test4() : CxxTest::RealTestDescription( Tests_test_normal, suiteDescription_test_normal, 67, "test_test4" ) {} + void runTest() { suite_test_normal.test_test4(); } +} testDescription_test_normal_test_test4; + +static class TestDescription_test_normal_test_fail : public CxxTest::RealTestDescription { +public: + TestDescription_test_normal_test_fail() : CxxTest::RealTestDescription( Tests_test_normal, suiteDescription_test_normal, 83, "test_fail" ) {} + void runTest() { suite_test_normal.test_fail(); } +} testDescription_test_normal_test_fail; + +static class TestDescription_test_normal_test_double2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_normal_test_double2() : CxxTest::RealTestDescription( Tests_test_normal, suiteDescription_test_normal, 95, "test_double2" ) {} + void runTest() { suite_test_normal.test_double2(); } +} testDescription_test_normal_test_double2; + +#include diff --git a/configure/compiler/testcase/test_expr.h b/configure/compiler/testcase/test_expr.h new file mode 100644 index 00000000..83d5b6c3 --- /dev/null +++ b/configure/compiler/testcase/test_expr.h @@ -0,0 +1,110 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_expr.h,v 1.1 2008/12/30 03:39:55 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file normal.h + * @author xiaowei(com@baidu.com) + * @date 2008/11/21 14:11:44 + * @version $Revision: 1.1 $ + * @brief + * + **/ + + +#ifndef __NORMAL_H_ +#define __NORMAL_H_ + +#include +#include "../src/expr.h" +#include + +#define DEQ(x, y) ( ((x)-(y)) < 1e5 || ((x)-(y)) > -1e5 ) + +class test_normal : public CxxTest::TestSuite +{ +public: + void test_test1() + { + int val = 0; + TSM_ASSERT("", xarthop::calc("1+1", &val) == 0); + TSM_ASSERT("", val == 1+1); + + TSM_ASSERT("", xarthop::calc(" 1+ 1 ", &val) == 0); + TSM_ASSERT("", val == 1+1); + + TSM_ASSERT("", xarthop::calc(" 1 + 3 - 2 ", &val) == 0); + TSM_ASSERT("", val == 1+3-2); + } + + void test_test2() + { + int val = 0; + TSM_ASSERT("", xarthop::calc("1+2/3-2*4", &val) == 0); + //std::cout<<"-------"<>3", &val) == 0); + //std::cout<<"---------------"<<(324/(1<<2)+234>>3)<<" = "<>3); + + TSM_ASSERT("", xarthop::calc("1<<2>>3<<4>>3<<3", &val) == 0); + //std::cout<<"-----------------"<<(1<<2>>4<<4>>3<<3)<<"------"<>4<<4>>3<<3); + + TSM_ASSERT("", xarthop::calc("1*23+3*(23+23/2)+1/325", &val) == 0); + TSM_ASSERT("", val == 1*23+3*(23+23/2)+1/325); + } + + + void test_fail() + { + double val = 0; + TSM_ASSERT("", xarthop::calc("324/(1<<2)+234>>3", &val) != 0); + TSM_ASSERT("", xarthop::calc("1<<2>>3<<4>>3<<3", &val) != 0); + TSM_ASSERT("", xarthop::calc("", &val) != 0); + TSM_ASSERT("", xarthop::calc("adsfsdf", &val) != 0); + TSM_ASSERT("", xarthop::calc("123124..123", &val) != 0); + TSM_ASSERT("", xarthop::calc("123a+234", &val) != 0); + TSM_ASSERT("", xarthop::calc("1231+(123)+2", &val) == 0); + } + + void test_double2() + { + double val = 0; + TSM_ASSERT("", xarthop::calc("32.23 / 1.23 + 28 * (23.2+32) + 3-2 /21", &val) == 0); + TSM_ASSERT("", DEQ(val, 32.23 / 1.23 + 28 * (23.2+32) + 3-2 /21)); + + TSM_ASSERT("", xarthop::calc("32.2/1.32+(23.1-23.4)*6+13.2", &val) == 0); + TSM_ASSERT("", DEQ(val, 32.2/1.32+(23.1-23.4)*6+13.2)); + } +}; + + + +#endif //__NORMAL_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ diff --git a/configure/compiler/testcase/test_gen.cpp b/configure/compiler/testcase/test_gen.cpp new file mode 100644 index 00000000..5b7f6429 --- /dev/null +++ b/configure/compiler/testcase/test_gen.cpp @@ -0,0 +1,313 @@ +/* Generated file, do not edit */ + +#ifndef CXXTEST_RUNNING +#define CXXTEST_RUNNING +#endif + +#define _CXXTEST_HAVE_STD +#define _CXXTEST_HAVE_EH +#include +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "test_gen.h" + +static test_expr_suit suite_test_expr_suit; + +static CxxTest::List Tests_test_expr_suit = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_test_expr_suit( "test_gen.h", 5, "test_expr_suit", suite_test_expr_suit, Tests_test_expr_suit ); + +static class TestDescription_test_expr_suit_test_case0_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 8, "test_case0_0" ) {} + void runTest() { suite_test_expr_suit.test_case0_0(); } +} testDescription_test_expr_suit_test_case0_0; + +static class TestDescription_test_expr_suit_test_case1_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 13, "test_case1_0" ) {} + void runTest() { suite_test_expr_suit.test_case1_0(); } +} testDescription_test_expr_suit_test_case1_0; + +static class TestDescription_test_expr_suit_test_case2_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 18, "test_case2_0" ) {} + void runTest() { suite_test_expr_suit.test_case2_0(); } +} testDescription_test_expr_suit_test_case2_0; + +static class TestDescription_test_expr_suit_test_case3_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case3_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 23, "test_case3_0" ) {} + void runTest() { suite_test_expr_suit.test_case3_0(); } +} testDescription_test_expr_suit_test_case3_0; + +static class TestDescription_test_expr_suit_test_case4_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case4_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 28, "test_case4_0" ) {} + void runTest() { suite_test_expr_suit.test_case4_0(); } +} testDescription_test_expr_suit_test_case4_0; + +static class TestDescription_test_expr_suit_test_case5_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case5_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 33, "test_case5_0" ) {} + void runTest() { suite_test_expr_suit.test_case5_0(); } +} testDescription_test_expr_suit_test_case5_0; + +static class TestDescription_test_expr_suit_test_case6_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case6_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 38, "test_case6_0" ) {} + void runTest() { suite_test_expr_suit.test_case6_0(); } +} testDescription_test_expr_suit_test_case6_0; + +static class TestDescription_test_expr_suit_test_case7_0 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case7_0() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 43, "test_case7_0" ) {} + void runTest() { suite_test_expr_suit.test_case7_0(); } +} testDescription_test_expr_suit_test_case7_0; + +static class TestDescription_test_expr_suit_test_case0_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 48, "test_case0_1" ) {} + void runTest() { suite_test_expr_suit.test_case0_1(); } +} testDescription_test_expr_suit_test_case0_1; + +static class TestDescription_test_expr_suit_test_case1_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 53, "test_case1_1" ) {} + void runTest() { suite_test_expr_suit.test_case1_1(); } +} testDescription_test_expr_suit_test_case1_1; + +static class TestDescription_test_expr_suit_test_case2_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 58, "test_case2_1" ) {} + void runTest() { suite_test_expr_suit.test_case2_1(); } +} testDescription_test_expr_suit_test_case2_1; + +static class TestDescription_test_expr_suit_test_case3_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case3_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 63, "test_case3_1" ) {} + void runTest() { suite_test_expr_suit.test_case3_1(); } +} testDescription_test_expr_suit_test_case3_1; + +static class TestDescription_test_expr_suit_test_case4_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case4_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 68, "test_case4_1" ) {} + void runTest() { suite_test_expr_suit.test_case4_1(); } +} testDescription_test_expr_suit_test_case4_1; + +static class TestDescription_test_expr_suit_test_case5_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case5_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 73, "test_case5_1" ) {} + void runTest() { suite_test_expr_suit.test_case5_1(); } +} testDescription_test_expr_suit_test_case5_1; + +static class TestDescription_test_expr_suit_test_case6_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case6_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 78, "test_case6_1" ) {} + void runTest() { suite_test_expr_suit.test_case6_1(); } +} testDescription_test_expr_suit_test_case6_1; + +static class TestDescription_test_expr_suit_test_case7_1 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case7_1() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 83, "test_case7_1" ) {} + void runTest() { suite_test_expr_suit.test_case7_1(); } +} testDescription_test_expr_suit_test_case7_1; + +static class TestDescription_test_expr_suit_test_case0_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 88, "test_case0_2" ) {} + void runTest() { suite_test_expr_suit.test_case0_2(); } +} testDescription_test_expr_suit_test_case0_2; + +static class TestDescription_test_expr_suit_test_case1_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 93, "test_case1_2" ) {} + void runTest() { suite_test_expr_suit.test_case1_2(); } +} testDescription_test_expr_suit_test_case1_2; + +static class TestDescription_test_expr_suit_test_case2_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 98, "test_case2_2" ) {} + void runTest() { suite_test_expr_suit.test_case2_2(); } +} testDescription_test_expr_suit_test_case2_2; + +static class TestDescription_test_expr_suit_test_case3_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case3_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 103, "test_case3_2" ) {} + void runTest() { suite_test_expr_suit.test_case3_2(); } +} testDescription_test_expr_suit_test_case3_2; + +static class TestDescription_test_expr_suit_test_case4_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case4_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 108, "test_case4_2" ) {} + void runTest() { suite_test_expr_suit.test_case4_2(); } +} testDescription_test_expr_suit_test_case4_2; + +static class TestDescription_test_expr_suit_test_case5_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case5_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 113, "test_case5_2" ) {} + void runTest() { suite_test_expr_suit.test_case5_2(); } +} testDescription_test_expr_suit_test_case5_2; + +static class TestDescription_test_expr_suit_test_case6_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case6_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 118, "test_case6_2" ) {} + void runTest() { suite_test_expr_suit.test_case6_2(); } +} testDescription_test_expr_suit_test_case6_2; + +static class TestDescription_test_expr_suit_test_case7_2 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case7_2() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 123, "test_case7_2" ) {} + void runTest() { suite_test_expr_suit.test_case7_2(); } +} testDescription_test_expr_suit_test_case7_2; + +static class TestDescription_test_expr_suit_test_case0_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 128, "test_case0_3" ) {} + void runTest() { suite_test_expr_suit.test_case0_3(); } +} testDescription_test_expr_suit_test_case0_3; + +static class TestDescription_test_expr_suit_test_case1_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 133, "test_case1_3" ) {} + void runTest() { suite_test_expr_suit.test_case1_3(); } +} testDescription_test_expr_suit_test_case1_3; + +static class TestDescription_test_expr_suit_test_case2_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 138, "test_case2_3" ) {} + void runTest() { suite_test_expr_suit.test_case2_3(); } +} testDescription_test_expr_suit_test_case2_3; + +static class TestDescription_test_expr_suit_test_case3_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case3_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 143, "test_case3_3" ) {} + void runTest() { suite_test_expr_suit.test_case3_3(); } +} testDescription_test_expr_suit_test_case3_3; + +static class TestDescription_test_expr_suit_test_case4_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case4_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 148, "test_case4_3" ) {} + void runTest() { suite_test_expr_suit.test_case4_3(); } +} testDescription_test_expr_suit_test_case4_3; + +static class TestDescription_test_expr_suit_test_case5_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case5_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 153, "test_case5_3" ) {} + void runTest() { suite_test_expr_suit.test_case5_3(); } +} testDescription_test_expr_suit_test_case5_3; + +static class TestDescription_test_expr_suit_test_case6_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case6_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 158, "test_case6_3" ) {} + void runTest() { suite_test_expr_suit.test_case6_3(); } +} testDescription_test_expr_suit_test_case6_3; + +static class TestDescription_test_expr_suit_test_case7_3 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case7_3() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 163, "test_case7_3" ) {} + void runTest() { suite_test_expr_suit.test_case7_3(); } +} testDescription_test_expr_suit_test_case7_3; + +static class TestDescription_test_expr_suit_test_case0_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 168, "test_case0_4" ) {} + void runTest() { suite_test_expr_suit.test_case0_4(); } +} testDescription_test_expr_suit_test_case0_4; + +static class TestDescription_test_expr_suit_test_case1_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 173, "test_case1_4" ) {} + void runTest() { suite_test_expr_suit.test_case1_4(); } +} testDescription_test_expr_suit_test_case1_4; + +static class TestDescription_test_expr_suit_test_case2_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 178, "test_case2_4" ) {} + void runTest() { suite_test_expr_suit.test_case2_4(); } +} testDescription_test_expr_suit_test_case2_4; + +static class TestDescription_test_expr_suit_test_case3_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case3_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 183, "test_case3_4" ) {} + void runTest() { suite_test_expr_suit.test_case3_4(); } +} testDescription_test_expr_suit_test_case3_4; + +static class TestDescription_test_expr_suit_test_case4_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case4_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 188, "test_case4_4" ) {} + void runTest() { suite_test_expr_suit.test_case4_4(); } +} testDescription_test_expr_suit_test_case4_4; + +static class TestDescription_test_expr_suit_test_case5_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case5_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 193, "test_case5_4" ) {} + void runTest() { suite_test_expr_suit.test_case5_4(); } +} testDescription_test_expr_suit_test_case5_4; + +static class TestDescription_test_expr_suit_test_case6_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case6_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 198, "test_case6_4" ) {} + void runTest() { suite_test_expr_suit.test_case6_4(); } +} testDescription_test_expr_suit_test_case6_4; + +static class TestDescription_test_expr_suit_test_case7_4 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case7_4() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 203, "test_case7_4" ) {} + void runTest() { suite_test_expr_suit.test_case7_4(); } +} testDescription_test_expr_suit_test_case7_4; + +static class TestDescription_test_expr_suit_test_case0_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case0_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 208, "test_case0_5" ) {} + void runTest() { suite_test_expr_suit.test_case0_5(); } +} testDescription_test_expr_suit_test_case0_5; + +static class TestDescription_test_expr_suit_test_case1_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case1_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 213, "test_case1_5" ) {} + void runTest() { suite_test_expr_suit.test_case1_5(); } +} testDescription_test_expr_suit_test_case1_5; + +static class TestDescription_test_expr_suit_test_case2_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case2_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 218, "test_case2_5" ) {} + void runTest() { suite_test_expr_suit.test_case2_5(); } +} testDescription_test_expr_suit_test_case2_5; + +static class TestDescription_test_expr_suit_test_case3_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case3_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 223, "test_case3_5" ) {} + void runTest() { suite_test_expr_suit.test_case3_5(); } +} testDescription_test_expr_suit_test_case3_5; + +static class TestDescription_test_expr_suit_test_case4_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case4_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 228, "test_case4_5" ) {} + void runTest() { suite_test_expr_suit.test_case4_5(); } +} testDescription_test_expr_suit_test_case4_5; + +static class TestDescription_test_expr_suit_test_case5_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case5_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 233, "test_case5_5" ) {} + void runTest() { suite_test_expr_suit.test_case5_5(); } +} testDescription_test_expr_suit_test_case5_5; + +static class TestDescription_test_expr_suit_test_case6_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case6_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 238, "test_case6_5" ) {} + void runTest() { suite_test_expr_suit.test_case6_5(); } +} testDescription_test_expr_suit_test_case6_5; + +static class TestDescription_test_expr_suit_test_case7_5 : public CxxTest::RealTestDescription { +public: + TestDescription_test_expr_suit_test_case7_5() : CxxTest::RealTestDescription( Tests_test_expr_suit, suiteDescription_test_expr_suit, 243, "test_case7_5" ) {} + void runTest() { suite_test_expr_suit.test_case7_5(); } +} testDescription_test_expr_suit_test_case7_5; + +#include diff --git a/configure/compiler/testcase/test_gen.h b/configure/compiler/testcase/test_gen.h new file mode 100644 index 00000000..f6c2db91 --- /dev/null +++ b/configure/compiler/testcase/test_gen.h @@ -0,0 +1,248 @@ +#include +#include "../src/expr.h" +#include +#define DEQ(x, y) ( ((x)-(y)) < 1e5 || ((x)-(y)) > -1e5 ) +class test_expr_suit : public CxxTest::TestSuite +{ +public: + void test_case0_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("1+1", &val) == 0); + TSM_ASSERT ("", val == (int)(1+1)); + } + void test_case1_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("123124+32", &val) == 0); + TSM_ASSERT ("", val == (int)(123124+32)); + } + void test_case2_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("1*234/32+23*(1+23)", &val) == 0); + TSM_ASSERT ("", val == (int)(1*234/32+23*(1+23))); + } + void test_case3_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("1+2/3-2*4", &val) == 0); + TSM_ASSERT ("", val == (int)(1+2/3-2*4)); + } + void test_case4_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("1+3234234/2348*34+2", &val) == 0); + TSM_ASSERT ("", val == (int)(1+3234234/2348*34+2)); + } + void test_case5_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23", &val) == 0); + TSM_ASSERT ("", val == (int)(23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23)); + } + void test_case6_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("23.2/234.2+234.2", &val) == 0); + TSM_ASSERT ("", val == (int)(23.2/234.2+234.2)); + } + void test_case7_0() { + int val = 0; + TSM_ASSERT ("", xarthop::calc("1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2)", &val) == 0); + TSM_ASSERT ("", val == (int)(1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2))); + } + void test_case0_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("1+1", &val) == 0); + TSM_ASSERT ("", val == (long)(1+1)); + } + void test_case1_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("123124+32", &val) == 0); + TSM_ASSERT ("", val == (long)(123124+32)); + } + void test_case2_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("1*234/32+23*(1+23)", &val) == 0); + TSM_ASSERT ("", val == (long)(1*234/32+23*(1+23))); + } + void test_case3_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("1+2/3-2*4", &val) == 0); + TSM_ASSERT ("", val == (long)(1+2/3-2*4)); + } + void test_case4_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("1+3234234/2348*34+2", &val) == 0); + TSM_ASSERT ("", val == (long)(1+3234234/2348*34+2)); + } + void test_case5_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23", &val) == 0); + TSM_ASSERT ("", val == (long)(23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23)); + } + void test_case6_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("23.2/234.2+234.2", &val) == 0); + TSM_ASSERT ("", val == (long)(23.2/234.2+234.2)); + } + void test_case7_1() { + long val = 0; + TSM_ASSERT ("", xarthop::calc("1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2)", &val) == 0); + TSM_ASSERT ("", val == (long)(1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2))); + } + void test_case0_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("1+1", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(1+1)); + } + void test_case1_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("123124+32", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(123124+32)); + } + void test_case2_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("1*234/32+23*(1+23)", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(1*234/32+23*(1+23))); + } + void test_case3_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("1+2/3-2*4", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(1+2/3-2*4)); + } + void test_case4_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("1+3234234/2348*34+2", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(1+3234234/2348*34+2)); + } + void test_case5_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23)); + } + void test_case6_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("23.2/234.2+234.2", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(23.2/234.2+234.2)); + } + void test_case7_2() { + unsigned int val = 0; + TSM_ASSERT ("", xarthop::calc("1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2)", &val) == 0); + TSM_ASSERT ("", val == (unsigned int)(1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2))); + } + void test_case0_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("1+1", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(1+1)); + } + void test_case1_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("123124+32", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(123124+32)); + } + void test_case2_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("1*234/32+23*(1+23)", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(1*234/32+23*(1+23))); + } + void test_case3_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("1+2/3-2*4", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(1+2/3-2*4)); + } + void test_case4_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("1+3234234/2348*34+2", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(1+3234234/2348*34+2)); + } + void test_case5_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23)); + } + void test_case6_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("23.2/234.2+234.2", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(23.2/234.2+234.2)); + } + void test_case7_3() { + unsigned long val = 0; + TSM_ASSERT ("", xarthop::calc("1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2)", &val) == 0); + TSM_ASSERT ("", val == (unsigned long)(1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2))); + } + void test_case0_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+1", &val) == 0); + TSM_ASSERT ("", val == (long long)(1+1)); + } + void test_case1_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("123124+32", &val) == 0); + TSM_ASSERT ("", val == (long long)(123124+32)); + } + void test_case2_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("1*234/32+23*(1+23)", &val) == 0); + TSM_ASSERT ("", val == (long long)(1*234/32+23*(1+23))); + } + void test_case3_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+2/3-2*4", &val) == 0); + TSM_ASSERT ("", val == (long long)(1+2/3-2*4)); + } + void test_case4_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+3234234/2348*34+2", &val) == 0); + TSM_ASSERT ("", val == (long long)(1+3234234/2348*34+2)); + } + void test_case5_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23", &val) == 0); + TSM_ASSERT ("", val == (long long)(23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23)); + } + void test_case6_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("23.2/234.2+234.2", &val) == 0); + TSM_ASSERT ("", val == (long long)(23.2/234.2+234.2)); + } + void test_case7_4() { + long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2)", &val) == 0); + TSM_ASSERT ("", val == (long long)(1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2))); + } + void test_case0_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+1", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(1+1)); + } + void test_case1_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("123124+32", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(123124+32)); + } + void test_case2_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("1*234/32+23*(1+23)", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(1*234/32+23*(1+23))); + } + void test_case3_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+2/3-2*4", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(1+2/3-2*4)); + } + void test_case4_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+3234234/2348*34+2", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(1+3234234/2348*34+2)); + } + void test_case5_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(23/(234/23+3242*(3423+2)/234+1)*23+2342+23*32/23)); + } + void test_case6_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("23.2/234.2+234.2", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(23.2/234.2+234.2)); + } + void test_case7_5() { + unsigned long long val = 0; + TSM_ASSERT ("", xarthop::calc("1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2)", &val) == 0); + TSM_ASSERT ("", val == (unsigned long long)(1+23*(1+32/2-23)+232-111<<2+32+(1>>23)<<1+3<<2*(1<<2))); + } +}; diff --git a/configure/compiler/testcase/testcase.deps b/configure/compiler/testcase/testcase.deps new file mode 100644 index 00000000..9455a814 --- /dev/null +++ b/configure/compiler/testcase/testcase.deps @@ -0,0 +1,2 @@ +lib2/bsl bsl_1-0-2-5_PD_BL +lib2-64/bsl bsl_1-0-2-5_PD_BL \ No newline at end of file diff --git a/configure/compiler/testcase/testcase.prj b/configure/compiler/testcase/testcase.prj new file mode 100644 index 00000000..b31faa80 --- /dev/null +++ b/configure/compiler/testcase/testcase.prj @@ -0,0 +1,18 @@ +########################################################################### +# Automatically generated by comake (1.0.0) 2009-03-05 13:56:58 # +########################################################################### +WORKROOT = ../../../../ +INCPATH = . ../output/include +LDFLAGS = ../output/lib +LDLIBS = -lidlcompiler +CONFIG = lib2/bsl +SOURCES += + + +target(main) +{ +SOURCES += \ + main.cpp +} + + diff --git a/configure/compiler/testcase/var.cpp b/configure/compiler/testcase/var.cpp new file mode 100644 index 00000000..1dfa422d --- /dev/null +++ b/configure/compiler/testcase/var.cpp @@ -0,0 +1,31 @@ +/* Generated file, do not edit */ + +#ifndef CXXTEST_RUNNING +#define CXXTEST_RUNNING +#endif + +#define _CXXTEST_HAVE_STD +#define _CXXTEST_HAVE_EH +#include +#include +#include +#include +#include + +int main() { + return CxxTest::ErrorPrinter().run(); +} +#include "var.h" + +static TestVar suite_TestVar; + +static CxxTest::List Tests_TestVar = { 0, 0 }; +CxxTest::StaticSuiteDescription suiteDescription_TestVar( "var.h", 20, "TestVar", suite_TestVar, Tests_TestVar ); + +static class TestDescription_TestVar_testvar : public CxxTest::RealTestDescription { +public: + TestDescription_TestVar_testvar() : CxxTest::RealTestDescription( Tests_TestVar, suiteDescription_TestVar, 23, "testvar" ) {} + void runTest() { suite_TestVar.testvar(); } +} testDescription_TestVar_testvar; + +#include diff --git a/configure/configure.prj b/configure/configure.prj new file mode 100644 index 00000000..598c3c9e --- /dev/null +++ b/configure/configure.prj @@ -0,0 +1,43 @@ +########################################################################### +# Automatically generated by comake (1.0.0) 2009-03-09 16:54:08 # +########################################################################### +WORKROOT = ../../ +INCPATH = . compiler/src +CONFIG = public/spreg lib2/bsl lib2/ullib +CONFIG += MAKDEP +CC=g++ +SOURCES += \ + FileReloader.cpp\ + ConfigReloader.cpp\ + CmdOption.cpp\ + ConfigError.cpp\ + ConfigGroup.cpp\ + ConfigUnit.cpp\ + Configure.cpp\ + constraint/Constraint.cpp\ + constraint/ConstraintFunction.cpp\ + constraint/cc_default.cpp\ + reader/RawData.cpp\ + reader/Reader.cpp\ + utils/init.cpp\ + utils/trans.cpp\ + cfgext.cpp\ + cfgflag.cpp\ + compiler/src/idl.c\ + compiler/src/idl_lex.c\ + compiler/src/idl_gram.c\ + +target(config) +{ +TEMPLATE = lib +CXXFLAGS += -Woverloaded-virtual +all(output) { +SHELL=mkdir -p output output/lib output/include output/include/utils output/include/constraint +SHELL+=cp -rf *.h output/include/ +SHELL+=cp -rf utils/*.h output/include/utils/ +SHELL+=cp -rf constraint/*.h output/include/constraint/ +SHELL+=cp -rf compiler/src/idl_conf_if.h output/include/ +SHELL+=cp libconfig.a output/lib +} +} + diff --git a/configure/constraint/Constraint.cpp b/configure/constraint/Constraint.cpp new file mode 100644 index 00000000..70c9803e --- /dev/null +++ b/configure/constraint/Constraint.cpp @@ -0,0 +1,374 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: Constraint.cpp,v 1.14 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file Constraint.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/28 21:17:07 + * @version $Revision: 1.14 $ + * @brief + * + **/ +#include +#include "Constraint.h" +#include "ConstraintFunction.h" +#include "utils/cc_utils.h" +#include "idl_conf_if.h" + +#define ARRAY_FUNC "array" +#define CONSTRAINT_FUNC "constraint" +namespace comcfg{ + static const str_t baseType[] = { + CC_CHAR, + CC_UCHAR, + CC_INT16, + CC_UINT16, + CC_INT32, + CC_UINT32, + CC_INT64, + CC_UINT64, + CC_FLOAT, + CC_DOUBLE, + CC_STRING + }; + static std::set baseSet(baseType, baseType + (sizeof(baseType)/sizeof(baseType[0]))); + + //also used by other *.cpp + //like : cfgext.cpp + bool isBaseType(const str_t & s){ + return baseSet.find(s) != baseSet.end(); + } + + //约束函数需要有序执行,这个是比较函数 + class CF_cmp_t{ + public: + int operator()(const confIDL::cons_func_t * a, const confIDL::cons_func_t * b)const{ + return ConstraintLibrary :: getLevel_static(a->func.data) < + ConstraintLibrary :: getLevel_static(b->func.data); + } + }; + + str_t showIDLMsg(const confIDL::meta_t& meta){ + str_t s; + s.appendf("[File:%s Line:%d]=[%s]", meta.file.c_str(), meta.lineno, meta.data.c_str()); + return s; + } + + int Constraint :: printError(){ + if(idl == NULL){ + return -1; + } + LOG(WARNING) << " =========== We have error in Constraint file, see below ============"; + confIDL:: err_list_t :: iterator itr; + for(itr = idl->err_list.begin(); itr != idl->err_list.end(); ++itr){ + LOG(WARNING) << "Constraint Error : " << showIDLMsg((*itr)).c_str(); + } + return 0; + } + + int Constraint :: run(confIDL::idl_t * __idl, Configure * __conf){ + idl = __idl; + conf = __conf; + + if(idl == NULL || conf == NULL){ + return -1; + } + if(idl->retval != 0){ + printError(); + return -1; + } + + confIDL:: var_list_t :: iterator itr; + //=== init === + //排序,保证约束函数有序执行 + for(itr = idl->rc_var_list.begin(); itr != idl->rc_var_list.end(); ++itr){ + (*itr)->cf_list.sort(CF_cmp_t()); + } + + //check all variables + int result = 0; + for(itr = idl->var_list.begin(); itr != idl->var_list.end(); ++itr){ + try{ + if( runVar(*itr, conf) != 0 ){ + throw ConfigException(); + } + } + catch(...){ + result = -1; + } + } + return result; + } + + int Constraint :: runVar(confIDL::var_t* var, ConfigGroup * father, ConfigUnit * self){ + int ret = 0; + + //constraint()约束,重新约束 + confIDL :: cf_map_t :: iterator cfitr = var->cf_map.find(str_t(CONSTRAINT_FUNC)); + if(cfitr != var->cf_map.end() && cfitr->second->arg_vec.size() > 0 ){ + LOG(INFO) << "Re-constraint " << showIDLMsg(var->name).c_str() << " to " << cfitr->second->arg_vec[0]->data.c_str(); + var->type.data = cfitr->second->arg_vec[0]->data; + } + confIDL:: cf_list_t :: const_iterator itr = var->cf_list.begin(); + str_t plog; + for(itr = var->cf_list.begin(); itr != var->cf_list.end(); ++itr){ + plog.append((*itr)->func.data).append("();"); + } + LOG(INFO) << "Config : var[" << showIDLMsg(var->name).c_str() << "], func[" << plog.c_str() << "]"; + for(itr=var->cf_list.begin(); itr != var->cf_list.end(); ++itr){ + if( (*itr)->func.data == str_t(ARRAY_FUNC)){ + try{ + LOG(INFO) << "Pre-process array constraint : " << showIDLMsg(var->name).c_str(); + ret = ConstraintLibrary :: getInstance() -> check(*(*itr), *var, father, self); + }catch(ConfigException){ + //... + LOG(WARNING) << "Pre-process Array error..."; + return -1; + } + if(ret){ + return ret; + } + break; + } + } +#if 1 + const ConfigUnit & myref = (self == NULL) ? (*father)[var->name.data] : *self; + //array + if(myref.selfType() == CONFIG_ARRAY_TYPE){ + const ConfigUnit & arr = myref; + LOG(INFO) << "Constraint : check array elements[" << arr.size() << "]"; + confIDL::var_t xvar = *var; + if(xvar.cf_map.find(str_t(ARRAY_FUNC)) == xvar.cf_map.end()){ + LOG(WARNING) << "Constraint : " << arr[0].info().c_str() << " should not be array! " << showIDLMsg(xvar.name).c_str(); + return -1; + } + xvar.cf_map.erase(str_t(ARRAY_FUNC)); + //xvar.cf_list.erase(xvar.cf_list.begin());//第一个一定是array + for(confIDL::cf_list_t::iterator arritr = xvar.cf_list.begin(); arritr != xvar.cf_list.end(); ++arritr){ + if((*arritr)->func.data == str_t(ARRAY_FUNC)){ + xvar.cf_list.erase(arritr); + break; + } + } + for(int i = 0; i < (int)arr.size(); ++i){ + ConfigUnit * unit = const_cast(&arr[i]); + try{ + if( runVar(&xvar, NULL, unit) != 0 ){ + ret = -1; + } + }catch(...){ + LOG(WARNING) << "Constaint : invalid value " << unit->info().c_str() << " : " << showIDLMsg(xvar.name).c_str(); + ret = -1; + } + } + } +#endif + else { + if( isBaseType(var->type.data) ){ + ret = runKey(var, father, self); + } + else{ + ret = runGroup(var, father, self); + } + } + return ret; + } + + int Constraint :: runGroup(confIDL::var_t* var, ConfigGroup * father, ConfigUnit * self){ + LOG(INFO) << "Constaint : working as group : " << showIDLMsg(var->name).c_str() << " [type:" << var->type.data.c_str() << "]"; +#if 0 + if(father != NULL){ + printf("----father----\n"); + father->print(); + } + if(self != NULL){ + printf("----self----\n"); + self->print(); + } +#endif + confIDL:: group_map_t :: iterator mpitr = idl->group_map.find(var->type.data); + int ret = 0; + if( mpitr == idl->group_map.end() ){ // No such type + LOG(WARNING) << "Constraint : error constraint type : " << showIDLMsg(var->type).c_str(); + throw ConfigException(); + } + else{ + //group + ConfigUnit * gunit; + if(father == NULL){ // is an element of array + LOG(INFO) << var->name.data.c_str() << " is one of group array"; + gunit = self; + } + else{ + gunit = const_cast (&((*father)[var->name.data])); + } + + if(gunit == NULL || gunit->selfType() == CONFIG_ERROR_TYPE){ + LOG(INFO) << "No such section in config : " << showIDLMsg(var->name).c_str() << ". try to create."; + gunit = new ConfigGroup(var->name.data.c_str(), father); + father->push(var->name.data, gunit); + } + if(gunit->selfType() != CONFIG_GROUP_TYPE){ + LOG(WARNING) << var->name.data.c_str() << " should be a Group type."; + return -1; + } + confIDL:: var_list_t :: iterator gitr; + for(gitr = mpitr->second->var_list.begin(); gitr != mpitr->second->var_list.end(); ++gitr){ + try{//run constraints for every fields of the group + if( runVar(*gitr, (ConfigGroup *)gunit, NULL) != 0){ + throw ConfigException(); + } + } + catch(...){ + ret = -1; + } + } + } + return ret; + } + + int Constraint :: runKey(confIDL::var_t* var, ConfigGroup * father, ConfigUnit * self){ + //run一开始有对约束函数排序,然后逐一执行 + LOG(INFO) << "Constaint : working as simple type : " << showIDLMsg(var->name).c_str(); +#if 0 + if(father != NULL){ + printf("----father----\n"); + father->print(); + } + if(self != NULL){ + printf("----self----\n"); + self->print(); + } +#endif + int ret = 0; + confIDL:: cf_list_t :: const_iterator itr; + for(itr = var->cf_list.begin(); itr != var->cf_list.end(); ++itr){ + if(var->cf_map.find((*itr)->func.data) == var->cf_map.end()){ + continue; + } + try{ + LOG(INFO) << "Constaint : " << (*itr)->func.data.c_str(); + ret = ConstraintLibrary :: getInstance() -> check(*(*itr), *var, father, self); + if(ret){ + return ret; + } + + ConfigUnit & gunit = const_cast((self == NULL) ? (*father)[var->name.data] : *self); + if(gunit.selfType() == CONFIG_UNIT_TYPE){ + gunit.setConstrainted(true); + } + }catch(ConfigException){ + const ConfigUnit *unit = self; + if(unit == NULL){ + unit = &(*father)[var->name.data]; + } + LOG(WARNING) << "Constaint : invalid value " << unit->info().c_str() << " : " << showIDLMsg(var->name).c_str(); + ret = -1; + } + catch(...){ + LOG(WARNING) << "Constaint : Unknown exception"; + ret = -1; + } + + } + if(ret){ + return ret; + } + const ConfigUnit *unit = self; + if(unit == NULL){ + unit = &(*father)[var->name.data]; + } + ret = runType(var->type.data, *unit); + if(ret){ + LOG(WARNING) << "Constaint : Value is not a valid [" << var->type.data.c_str() << "]type " << unit->info().c_str() << " : " << showIDLMsg(var->name).c_str(); + } + return ret; + } + + + int Constraint :: runType(const str_t& type, const ConfigUnit & unit){ + try{ + if(strcmp(type.c_str(), CC_CHAR) == 0){ + unit.to_char(); + return 0; + } + + if(strcmp(type.c_str(), CC_UCHAR) == 0){ + unit.to_uchar(); + return 0; + } + + if(strcmp(type.c_str(), CC_INT16) == 0){ + unit.to_int16(); + return 0; + } + + if(strcmp(type.c_str(), CC_UINT16) == 0){ + unit.to_uint16(); + return 0; + } + + if(strcmp(type.c_str(), CC_INT32) == 0){ + unit.to_int32(); + return 0; + } + + if(strcmp(type.c_str(), CC_UINT32) == 0){ + unit.to_uint32(); + return 0; + } + + if(strcmp(type.c_str(), CC_INT64) == 0){ + unit.to_int64(); + return 0; + } + + if(strcmp(type.c_str(), CC_UINT64) == 0){ + unit.to_uint64(); + return 0; + } + + if(strcmp(type.c_str(), CC_FLOAT) == 0){ + unit.to_float(); + return 0; + } + + if(strcmp(type.c_str(), CC_DOUBLE) == 0){ + unit.to_double(); + return 0; + } + + if(strcmp(type.c_str(), CC_STRING) == 0){ + unit.to_bsl_string(); + return 0; + } + } + catch(...){ + return -1; + } + return -1; + } +} + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/constraint/Constraint.h b/configure/constraint/Constraint.h new file mode 100644 index 00000000..596e4442 --- /dev/null +++ b/configure/constraint/Constraint.h @@ -0,0 +1,69 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: Constraint.h,v 1.7 2009/02/27 10:14:00 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file Constraint.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/28 20:35:35 + * @version $Revision: 1.7 $ + * @brief + * + **/ + + +#ifndef __CONSTRAINT_H_ +#define __CONSTRAINT_H_ + +#include "Configure.h" +#include "ConstraintFunction.h" + +namespace comcfg{ + class Constraint{ + public: + /** + * @brief 检查约束信息 + * + * @param [in] __idl : confIDL::idl_t* 约束信息 + * @param [in/out] __conf : Configure* 配置信息 + * @return int + * @retval + * @see + * @author yingxiang + * @date 2008/12/29 01:40:40 + **/ + int run(confIDL::idl_t * __idl, Configure * __conf); + protected: + int printError(); + int runGroup(confIDL::var_t* var, ConfigGroup * father, ConfigUnit * self = NULL); + int runKey(confIDL::var_t* var, ConfigGroup * father, ConfigUnit * self = NULL); + int runVar(confIDL::var_t* var, ConfigGroup * father, ConfigUnit * self = NULL); + int runType(const str_t& type, const ConfigUnit & unit); + Configure * conf; + confIDL::idl_t * idl; + }; +} + + + + + + + + + + + + + + + + +#endif //__CONSTRAINT_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/constraint/ConstraintFunction.cpp b/configure/constraint/ConstraintFunction.cpp new file mode 100644 index 00000000..c512ae9a --- /dev/null +++ b/configure/constraint/ConstraintFunction.cpp @@ -0,0 +1,194 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConstraintFunction.cpp,v 1.7 2010/01/08 03:24:38 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConstraintFunction.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/28 23:17:51 + * @version $Revision: 1.7 $ + * @brief + * + **/ + +#include "ConstraintFunction.h" +#include "cc_default.h" + +static const int hashmap_bitems = 256; + +namespace comcfg{ + class ConsUnitControl { + private: + static int _needfree; + public: + ConsUnitControl() { + ConfigUnit :: get_err_unit(); + } + ~ConsUnitControl() { + if (_needfree) { + _needfree =0; + ConstraintLibrary* cu = ConstraintLibrary :: getInstance(); + delete cu; + } + } + }; + int ConsUnitControl::_needfree = 1; + + static ConsUnitControl cons_unit_control; + + + + ConstraintLibrary * ConstraintLibrary :: lib = NULL; + + //=======ConstraintFunction Methods + int ConstraintFunction :: check(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup*, ConfigUnit*){ + LOG(WARNING) << "Unknown function : calling virtual method"; + return 0; + }; + + void ConstraintFunction :: setLevel(int lv){ + _level = lv; + } + int ConstraintFunction :: getLevel(){ + return _level; + } + + //=======ConstraintLibrary Methods + ConstraintLibrary :: ConstraintLibrary(){ + cfMap.create(hashmap_bitems); + registConstraint(str_t("comment"), CFdefault :: cons_do_nothing, CF_VALUE); + registConstraint(str_t("array"), CFdefault :: cons_array, CF_STRUCT); + registConstraint(str_t("default"), CFdefault :: cons_default, CF_KEY); + registConstraint(str_t("ip"), CFdefault :: cons_ip, CF_VALUE); + registConstraint(str_t("length"), CFdefault :: cons_length, CF_VALUE); + registConstraint(str_t("regexp"), CFdefault :: cons_regexp, CF_VALUE); + registConstraint(str_t("enum"), CFdefault :: cons_enum, CF_VALUE); + registConstraint(str_t("range"), CFdefault :: cons_range, CF_VALUE); + }; + ConstraintLibrary :: ~ConstraintLibrary(){ + CFMAP_T::iterator itr; + for(itr = cfMap.begin(); itr != cfMap.end(); ++itr) { + if (NULL != itr->second) { + delete itr->second; + } + } + cfMap.destroy(); + } + ConstraintLibrary* ConstraintLibrary :: getInstance(){ + if(lib == NULL){ + lib = new ConstraintLibrary(); + } + return lib; + } + void ConstraintLibrary :: destroyInstance(){ + if(lib != NULL){ + delete lib; + lib = NULL; + } + } + int ConstraintLibrary :: getLevel(const str_t& function){ + CFMAP_T::_Pair * ptr = cfMap.find(function); + if(NULL != ptr && NULL != ptr->second){ + return ptr->second->getLevel(); + } + return CF_DEFAULT; + } + int ConstraintLibrary :: getLevel_static(const str_t& function){ + return getInstance() -> getLevel(function); + } + int ConstraintLibrary :: check(const confIDL::cons_func_t& func, + const confIDL::var_t& param, ConfigGroup* father, ConfigUnit * self){ + CFMAP_T::_Pair * ptr = cfMap.find(func.func.data); + if(NULL != ptr && NULL != ptr->second){ + return ptr->second->check(func, param, father, self); + } + LOG(WARNING) << "Unknown function : [File:" << func.func.file.c_str() << ", Line:" << func.func.lineno << "]=[" << func.func.data.c_str() << "]"; + return -1; + } + + int ConstraintLibrary :: checkGlobalConstraint(ConfigUnit *conf) + { + GCFLIST_T :: iterator itr = _gcfList.begin(); + for(; itr != _gcfList.end(); ++itr){ + if(itr->type() == typeid(GlobalConsFun)){ + GlobalConsFun *gcf = gcf_any_cast >(&*itr); + LOG(INFO) << "Now checking with global constraint function: " << gcf->_name.c_str() << "()"; + if(0 != gcf->_gcf(gcf->_arg, conf)){ + return -1; + } + } + else if(itr->type() == typeid(GlobalConsFun)){ + GlobalConsFun *gcf = gcf_any_cast >(&*itr); + LOG(INFO) << "Now checking with global constraint function: " << gcf->_name.c_str() << "()"; + if(0 != gcf->_gcf(gcf->_arg, conf)){ + return -1; + } + } + else if(itr->type() == typeid(GlobalConsFun)){ + GlobalConsFun *gcf = gcf_any_cast >(&*itr); + LOG(INFO) << "Now checking with global constraint function: " << gcf->_name.c_str() << "()"; + if(0 != gcf->_gcf(gcf->_arg, conf)){ + return -1; + } + } + else if(itr->type() == typeid(GlobalConsFun)){ + GlobalConsFun *gcf = gcf_any_cast >(&*itr); + LOG(INFO) << "Now checking with global constraint function: " << gcf->_name.c_str() << "()"; + if(0 != gcf->_gcf(gcf->_arg, conf)){ + return -1; + } + } + else{ + LOG(WARNING) << "An unrecognizable global constraint function is set."; + return -1; + } + } + return 0; + } + + int ConstraintLibrary :: registConstraint(const str_t& fname, ConstraintFunction* cons, bool overwrite) + { + CFMAP_T::_Pair * ptr = cfMap.find(fname); + if(false == overwrite && NULL != ptr){ + return -1; + } + if(NULL != ptr && NULL != ptr->second) { + delete ptr->second; + } + cfMap.set(fname,cons,1); + return 0; + } + + int ConstraintLibrary :: registConstraint(const str_t& fname, CF_T cf, int cfLevel, bool overwrite){ + WrapFunction * wf = new WrapFunction(); + wf->setCF(cf); + wf->setLevel(cfLevel); + return registConstraint(fname, wf, overwrite); + } + +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/constraint/ConstraintFunction.h b/configure/constraint/ConstraintFunction.h new file mode 100644 index 00000000..7357524e --- /dev/null +++ b/configure/constraint/ConstraintFunction.h @@ -0,0 +1,253 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ConstraintFunction.h,v 1.9 2010/01/08 03:24:38 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file ConstraintFunction.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/10 18:15:58 + * @version $Revision: 1.9 $ + * @brief + * + **/ + + +#ifndef __CONSTRAINTFUNCTION_H_ +#define __CONSTRAINTFUNCTION_H_ + +#include +#include +#include +#include "Configure.h" +#include "ConfigGroup.h" +#include "ConfigUnit.h" +#include "GlobalConsFun.h" + +namespace confIDL{ + struct cons_func_t; + struct var_t; + struct idl_t; +} + +namespace comcfg{ + //typedef std::string str_t; + typedef std::list param_list_t; + + //Constraint function pointer + typedef int (* CF_T)(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit*); + + enum CFLevel{ + CF_STRUCT = 0, //最高级别的约束,必须最早执行,如array,约束某个字段的类型 + CF_KEY, //字段约束,如default,约束某个字段的基本情况 + CF_TYPE, //类型约束,int16, int32, int64...,也是一种值的约束(CF_VALUE) + CF_VALUE, //普通级别的约束,如ip(), length()等,约束某个字段值的内容 + CF_DEFAULT, + }; + + class ConstraintFunction{ + int _level; + public: + virtual int check(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup*, ConfigUnit*); + void setLevel(int lv); + int getLevel(); + virtual ~ConstraintFunction(); + }; + typedef bsl::hashmap CFMAP_T; + + //Constraint Library is Singleton + class ConstraintLibrary{ + ConstraintLibrary(); + ~ConstraintLibrary(); + + static ConstraintLibrary * lib; + public: + /** + * @brief 获取Library的实例 + * @note 该实例在用户程序的整个生命周期都存在 + * 【用户不用关心本接口】 + * @return ConstraintLibrary* + * @retval + * @see + * @author yingxiang + * @date 2008/12/28 23:26:14 + **/ + static ConstraintLibrary* getInstance(); + /** + * @brief 删除Library的实例,回收内存 + * @note 在不再需要该实例,或者需要重新生成实例时,先删除原有实例 + * @return + * @retval + * @see + * @author linjieqiong + * @date 2013/01/22 16:26:14 + **/ + static void destroyInstance(); + /** + * @brief 获取某个函数的级别,对不存在的函数返回default + * 【用户不用关心本接口】 + * + * @param [in] function : const str_t& + * @return int + * @retval + * @see + * @author yingxiang + * @date 2008/12/28 23:26:28 + **/ + int getLevel(const str_t& function); + static int getLevel_static(const str_t& function); + /** + * @brief 根据函数检查一个内容 + * 内容以父节点的形式传入(因为被检查的字段不一定存在,如default就是在父节点下新建子结点) + * 【用户不用关心本接口】 + * + * @param [in] function : const str_t& 约束函数名 + * @param [in] : const confIDL::var_t& 约束信息 + * @param [in] : ConfigGroup * 传入的父节点 + * @return int + * @retval + * @see + * @author yingxiang + * @date 2008/12/28 23:26:42 + **/ + int check(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup*, ConfigUnit*); + + /** + * @brief 使用用户注册的全局约束函数检查所有key-value配置项, + * 默认将该key-value标记为被约束的,即如果进行了全局约束检查,则所有项都是被约束的 + * 用户不用关心本接口 + * + * @param [in] conf : ConfigUnit * 读入配置文件后建立的configure结构的根 + * @return int : 0, 所有key-value均满足约束,其他,不满足约束或其他错误发生 + * @retval + * @see + * @author linjieqiong + * @date 2013/01/15 23:29:50 + **/ + int checkGlobalConstraint(ConfigUnit *conf); + + /** + * @brief 注册一个约束函数 【用于用户的扩展】 + * + * @param [in] fname : const str_t& 约束函数的名字 + * @param [in] cons : const ConstraintFunction& 约束函数实体,相当于仿函数 + * 【注意】请new出来再传进去,然后ConstraintLibrary会delete之 + * @param [in] overwrite : bool 是否覆盖同名的函数 + * @return int + * @retval + * @see + * @author yingxiang + * @date 2008/12/28 23:29:50 + **/ + int registConstraint(const str_t& fname, ConstraintFunction* cons, bool overwrite = false); + + int registConstraint(const str_t& fname, CF_T cf, bool overwrite = false){ + return registConstraint(fname, cf, CF_VALUE, overwrite); + } + + /** + * @brief 注册一个全局约束函数 【用于用户的扩展】 + * + * @param [in] fname : const str_t& 约束函数的名字 + * @param [in] gcf_t : int (*gcf_t)(const std::vector &, ConfigUnit *) 约束函数的函数指针 + * @param [in] arg_vec : const std::vector & 约束函数的参数 + * @return int + * @retval + * @see + * @author linjieqiong + * @date 2013/01/15 10:00:00 + **/ + template + int registGlobalConstraint(const str_t& fname, + int (*gcf_t)(const std::vector &, ConfigUnit *), + const std::vector &arg_vec) + { + GlobalConsFun gFun(fname, gcf_t, arg_vec); + return registGlobalConstraint(gFun); + } + + /** + * @brief 注册一个全局约束函数 【用于用户的扩展】 + * 带可变参数的函数的调用一定要慎重,尽量确保传入参数类型正确 + * + * @param [in] fname : const str_t& 约束函数的名字 + * @param [in] gcf_t : int (*gcf_t)(const std::vector &, ConfigUnit *) 约束函数的函数指针 + * @param [in] argnum : size_t 约束函数的参数个数 + * @param [in] ... : 可变参数,表示每一个约束参数 + * @return int + * @retval + * @see + * @author linjieqiong + * @date 2013/01/15 10:00:00 + **/ + template + int registGlobalConstraint(const str_t& fname, + int (*gcf_t)(const std::vector &, ConfigUnit *), + size_t argnum, ...) + { + std::vector arg_vec; + va_list argp; + va_start(argp, argnum); + while(argnum > 0) + { + T arg = va_arg(argp, T); + arg_vec.push_back(arg); + -- argnum; + } + va_end(argp); + + return registGlobalConstraint(fname, gcf_t, arg_vec); + } + + + /** + * @brief 注册一个全局约束函数 【用于用户的扩展】 + * + * @param [in] GlobalConsFun: 该全局约束函数的描述信息 + * @return int + * @retval + * @see + * @author linjieqiong + * @date 2013/01/15 10:00:00 + **/ + template + int registGlobalConstraint(const GlobalConsFun& gFun) + { + _gcfList.push_back(gFun); + return 0; + } + + private: + friend class Constraint; + friend class ConsUnitControl; + int registConstraint(const str_t& fname, CF_T cf, int cfLevel, bool overwrite = false); + protected: + GCFLIST_T _gcfList; + CFMAP_T cfMap; + class WrapFunction : public ConstraintFunction{ + public: + virtual int check(const confIDL::cons_func_t& cons, + const confIDL::var_t& param, ConfigGroup* father, ConfigUnit* self){ + return _cf(cons, param, father, self); + } + void setCF(CF_T cf){ + _cf = cf; + } + WrapFunction(){} + virtual ~WrapFunction(); + protected: + CF_T _cf; + }; + }; +} + + + + +#endif //__CONSTRAINTFUNCTION_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/constraint/GlobalConsFun.h b/configure/constraint/GlobalConsFun.h new file mode 100644 index 00000000..3f4d46a2 --- /dev/null +++ b/configure/constraint/GlobalConsFun.h @@ -0,0 +1,104 @@ +/*************************************************************************** + * + * Copyright (c) 2013 Baidu.com, Inc. All Rights Reserved + * $Id: GlobalConsFun.h,v 1.6 2013/01/16 11:14:52 linjieqiong Exp $ + * + **************************************************************************/ + + + +/** + * @file GlobalConsFun.h + * @author linjieqiong(sat@baidu.com) + * @date 2013/01/16 01:04:16 + * @version $Revision: 1.6 $ + * @brief global constraint function framework + * + **/ + + +#ifndef __GLOBALCONSFUN_H_ +#define __GLOBALCONSFUN_H_ + +#include +#include +#include + +namespace comcfg{ + //脙猫脢枚脪禄赂枚脠芦戮脰脭录脢酶潞炉脢媒碌脛陆谩鹿鹿脤氓拢卢掳眉脌篓拢潞潞炉脢媒脙没拢卢碌脴脰路潞脥虏脦脢媒脕脨卤铆 + //陆谩鹿鹿脤氓脢脟脛拢掳氓拢卢脢碌脌媒禄炉潞贸脢么脫脷虏禄脥卢卤盲脕驴脌脿脨脥 + template + struct GlobalConsFun{ + typedef int (* GCF_T)(const std::vector &arg_vec, ConfigUnit *); + GlobalConsFun() : _gcf(NULL){} + GlobalConsFun(const str_t & name, const GCF_T & gcf) + : _name(name), _gcf(gcf){} + GlobalConsFun(const str_t & name, const GCF_T & gcf, const std::vector & arg) + : _name(name), _gcf(gcf), _arg(arg){} + + str_t _name; + GCF_T _gcf; + std::vector _arg; + }; + + //陆芦脡脧脙忙虏禄脥卢脌脿脨脥碌脛陆谩鹿鹿脤氓掳眉脳掳鲁脡any露脭脧贸拢卢脪脭卤茫脫脷麓忙路脜脭脷list陆谩鹿鹿脰脨拢卢脢碌脧脰路陆路篓虏脦脮脮boost::any + class gcf_any{ + public: + class gcf_placeholder; + template + gcf_any(const ValueType &value) + : content(new gcf_holder(value)){} + gcf_any(const gcf_any & other) + : content(other.content ? other.content->clone() : 0){} + ~gcf_any() + { + delete content; + } + const std::type_info & type()const + { + return content ? content->type() : typeid(void); + } + + class gcf_placeholder + { + public: + virtual ~gcf_placeholder(){} + virtual const std::type_info &type()const = 0; + virtual gcf_placeholder * clone()const = 0; + }; + + template + class gcf_holder : public gcf_placeholder + { + public: + gcf_holder(const ValueType &value) : held(value){} + virtual const std::type_info &type()const + { + return typeid(ValueType); + } + virtual gcf_placeholder * clone()const + { + return new gcf_holder(held); + } + + ValueType held; + }; + + private: + template + friend ValueType * gcf_any_cast(gcf_any *); + + gcf_placeholder *content; + }; + + template + ValueType * gcf_any_cast(gcf_any * operand) + { + return operand && operand->type() == typeid(ValueType) + ? &static_cast *>(operand->content)->held : 0; + } + + typedef std::list GCFLIST_T; +} + +#endif diff --git a/configure/constraint/cc_default.cpp b/configure/constraint/cc_default.cpp new file mode 100644 index 00000000..f73a3c99 --- /dev/null +++ b/configure/constraint/cc_default.cpp @@ -0,0 +1,443 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: cc_default.cpp,v 1.13 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file cc_default.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/29 01:43:14 + * @version $Revision: 1.13 $ + * @brief + * + **/ + +#include "cc_default.h" +#include "utils/cc_utils.h" +#include "Configure.h" +#include "ConfigUnit.h" +#include "ConfigGroup.h" +#include "ConfigArray.h" +#include "spreg.h" +namespace comcfg{ + + extern str_t showIDLMsg(const confIDL::meta_t& meta); + + int CFdefault :: cons_do_nothing(const confIDL::cons_func_t& /*func*/, const confIDL::var_t & /*var*/, ConfigGroup * /*father*/, ConfigUnit * /*self*/){ + return 0; + } + int CFdefault :: cons_array(const confIDL::cons_func_t& func, const confIDL::var_t & var, ConfigGroup * father, ConfigUnit * self){ + LOG(INFO) << "In constraint function array(), var is " << showIDLMsg(var.name).c_str(); + if(func.arg_list.size() > 1){ + LOG(WARNING) << "Constraint : Too many args for array(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + const ConfigUnit * unit = self; + if(unit == NULL){ + unit = & (*father)[var.name.data]; + } + if(unit->selfType() == CONFIG_ERROR_TYPE){ + if(father == NULL){ + LOG(WARNING) << "Constraint : Unknown error in array(). " << showIDLMsg(var.name).c_str(); + return -1; + } + father->push(var.name.data, new ConfigArray(var.name.data.c_str(), father)); + LOG(INFO) << "Constraint : create array, in " << showIDLMsg(var.name).c_str(); + } + else if(unit->selfType() != CONFIG_ARRAY_TYPE){ + LOG(WARNING) << "Constraint : variable exists but is not array. " << showIDLMsg(var.name).c_str(); + return -1; + } + else{ + if(func.arg_list.size() == 0){ + return 0; + } + unsigned long long asize; + if(Trans::str2uint64(func.arg_vec[0]->data, &asize) != 0 ){ + LOG(WARNING) << "Constraint : array size is invalid. Ignored! " << showIDLMsg(var.name).c_str(); + return -1; + } + else{ + if(asize == 0){ + return 0; + } + if(asize < unit->size()){ + LOG(WARNING) << "Constraint : array has too many elements! " << showIDLMsg(var.name).c_str() << " [MaxSize=" << asize << "][We have " << unit->size() << " elements]"; + return -1; + } + } + } + return 0; + } + + int CFdefault :: cons_default(const confIDL::cons_func_t& func, const confIDL::var_t & var, ConfigGroup * father, ConfigUnit * self){ + LOG(INFO) << "In constraint function default(), var is " << showIDLMsg(var.name).c_str(); + if(func.arg_list.size() != 1){ + LOG(WARNING) << "Constraint : wrong args for default(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + const ConfigUnit * unit = self; + if(unit == NULL){ + unit = & (*father)[var.name.data]; + } + if(unit->selfType() == CONFIG_ERROR_TYPE){ + if(father == NULL){ + LOG(WARNING) << "Constraint : Unknown error in default(). " << showIDLMsg(var.name).c_str(); + return -1; + } + father->push(var.name.data, new ConfigUnit(var.name.data.c_str(), func.arg_vec[0]->data, NULL, father)); + LOG(INFO) << "Constraint : create default key, use " << showIDLMsg(var.name).c_str(); + return 0; + } + return 0; + } + + int CFdefault :: cons_length(const confIDL::cons_func_t& func, const confIDL::var_t & var, ConfigGroup * father, ConfigUnit * self){ + LOG(INFO) << "In constraint function length(), var is " << showIDLMsg(var.name).c_str(); + if(func.arg_list.size() != 1){ + LOG(WARNING) << "Constraint : wrong args for length(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + unsigned long long asize; + if(Trans::str2uint64(func.arg_vec[0]->data, &asize) != 0 ){ + LOG(WARNING) << "Constraint : wrong args for length(). " << showIDLMsg(var.name).c_str(); + return -1; + } + const ConfigUnit * unit = self; + if(unit == NULL){ + unit = & (*father)[var.name.data]; + } + if(unit->selfType() == CONFIG_UNIT_TYPE){ + str_t ref = unit->to_bsl_string(); + if( ref.size() > asize){ + LOG(WARNING) << "Constraint : length() : value is too long. " << unit->info().c_str() << " : " << showIDLMsg(var.name).c_str(); + return -1; + } + } + return 0; + } + + int CFdefault :: cons_enum(const confIDL::cons_func_t& func, const confIDL::var_t & var, ConfigGroup * father, ConfigUnit * self){ + LOG(INFO) << "In constraint function enum(), var is " << showIDLMsg(var.name).c_str(); + const ConfigUnit * unit = self; + if(unit == NULL){ + unit = & (*father)[var.name.data]; + } + if(unit->selfType() == CONFIG_UNIT_TYPE){ + str_t str = unit->to_bsl_string(); + str_t buf; + for( int i = 0; i < (int)func.arg_vec.size(); ++i){ + //printf("ENUM: %s\n", func.arg_vec[i]->data.c_str()); + if( Trans::str2str(func.arg_vec[i]->data, &buf) != 0 ){ + buf = func.arg_vec[i]->data; + } + if(str == buf){ + return 0; + } + } + } + LOG(WARNING) << "Constraint : key not in enum. " << unit->info().c_str() << " : " << showIDLMsg(var.name).c_str(); + return -1; + } + + int CFdefault :: cons_regexp(const confIDL::cons_func_t& func, const confIDL::var_t & var, ConfigGroup * father, ConfigUnit * self){ + LOG(INFO) << "In constraint function regexp(), var is " << showIDLMsg(var.name).c_str(); + if(func.arg_list.size() != 1){ + LOG(WARNING) << "Constraint : wrong args for regexp(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + char const * err; + str_t reg; + spreg_t *re; + int ret = Trans::str2str(func.arg_vec[0]->data, ®); + re = spreg_init(reg.c_str(), &err); + if(ret != 0 || err != NULL){ + LOG(WARNING) << "Constraint : wrong args for regexp(). " << showIDLMsg(var.name).c_str(); + return -1; // init failed, do not need to destroy spreg_t + } + + const ConfigUnit * unit = self; + if(unit == NULL){ + unit = & (*father)[var.name.data]; + } + if(unit->selfType() == CONFIG_UNIT_TYPE){ + str_t str = unit->to_bsl_string(); + if( spreg_match(re, str.c_str(), str.size()) > 0){ + ret = 0; + goto end; + } + else{ + LOG(WARNING) << "Constraint : key not match regexp(). " << unit->info().c_str() << " : " << showIDLMsg(var.name).c_str(); + ret = -1; + goto end; + } + } + ret = 0; +end: + spreg_destroy(re); + return ret; + } + + int CFdefault :: cons_range(const confIDL::cons_func_t& func, const confIDL::var_t & var, ConfigGroup * father, ConfigUnit * self){ + LOG(INFO) << "In constraint function range(), var is " << showIDLMsg(var.name).c_str() << ", type=" << var.type.data.c_str(); + if(func.arg_list.size() != 2){ + LOG(WARNING) << "Constraint : wrong args for range(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + const ConfigUnit * unit = self; + if(unit == NULL){ + unit = & (*father)[var.name.data]; + } + if(unit->selfType() == CONFIG_UNIT_TYPE){ + if(var.type.data == CC_FLOAT || var.type.data == CC_DOUBLE){ + double val = unit->to_double(); + double buf1, buf2; + if( Trans::str2double(func.arg_vec[0]->data, &buf1) || + Trans::str2double(func.arg_vec[1]->data, &buf2)){ + LOG(WARNING) << "Constraint : wrong args in range(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + if(val < buf1 || val > buf2){ + LOG(WARNING) << "Constraint : Key not in range(), in " << unit->info().c_str() << " : " << showIDLMsg(var.name).c_str(); + return -1; + } + } + else if(var.type.data == CC_UINT64){ + unsigned long long val = unit->to_uint64(); + unsigned long long buf1, buf2; + if( Trans::str2uint64(func.arg_vec[0]->data, &buf1) || + Trans::str2uint64(func.arg_vec[1]->data, &buf2)){ + LOG(WARNING) << "Constraint : wrong args in range(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + if(val < buf1 || val > buf2){ + LOG(WARNING) << "Constraint : Key not in range(), in " << unit->info().c_str() << " : " << showIDLMsg(var.name).c_str(); + return -1; + } + } + else if(var.type.data == CC_STRING){ + LOG(WARNING) << "Constraint : wrong usage of range(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + else{// use int64 is enough + long long val = unit->to_int64(); + long long buf1, buf2; + if( Trans::str2int64(func.arg_vec[0]->data, &buf1) || + Trans::str2int64(func.arg_vec[1]->data, &buf2)){ + LOG(WARNING) << "Constraint : wrong args in range(), in " << showIDLMsg(var.name).c_str(); + return -1; + } + if(val < buf1 || val > buf2){ + LOG(WARNING) << "Constraint : Key not in range(), in " << unit->info().c_str() << " : " << showIDLMsg(var.name).c_str(); + return -1; + } + } + } + return 0; + } + + + + //ip : ***.***.***.*** + //status: 0 1 2 3 4 5 6 7 + static bool check_ip(const str_t& str, int pos, int status, int val){ + if(status > 7){ + return false; + } + if(pos == (int)str.size()){ + return status == 7; + } + if(str[pos] == '.'){ + if(status % 2 == 0){ + LOG(WARNING) << "Unexpected '.' in ip [" << str.c_str() << "]"; + return false; + } + return check_ip(str, pos+1, status+1, 0); + } + else if (isdigit(str[pos])){ + if(status % 2 == 0){ + return check_ip(str, pos+1, status+1, str[pos] - '0'); + } + else{ + val = val * 10 + str[pos] - '0'; + if(val > 255) { + LOG(WARNING) << "Unexpected digits in ip [" << str.c_str() << "]"; + return false; + } + return check_ip(str, pos+1, status, val); + } + } + else{ + LOG(WARNING) << "Unexpected char '" <selfType() == CONFIG_UNIT_TYPE){ + str_t str = unit->to_bsl_string(); + if(check_ip(str, 0, 0, 0)){ + return 0; + } + LOG(WARNING) << "Constraint : Key is not ip(), in " << unit->info().c_str() << " : " << showIDLMsg(var.name).c_str(); + return -1; + } + return 0; + } + + int CFdefault :: gcons_regexp(const std::vector &arg_vec, ConfigUnit *conf) + { + int cb_check_regexp(ConfigUnit *, void *); + if(arg_vec.size() != 1){ + LOG(WARNING) << + "Constraint: wrong arg number " << arg_vec.size() << " for global constraint gcons_regexp(), 1 arg is required."; + return -1; + } + str_t reg = arg_vec[0]; + char const *err; + spreg_t *re = spreg_init(reg.c_str(), &err); + if(err != NULL){ + LOG(WARNING) << "Constraint: wrong args for gcons_regexp(): " << reg.c_str(); + return -1; + } + int ret = conf->traverse_unit(cb_check_regexp, &re); + spreg_destroy(re); + return ret; + } + + int CFdefault :: gcons_ip(const std::vector &arg_vec, ConfigUnit *conf) + { + int cb_check_ip(ConfigUnit *, void *); + if(arg_vec.size() != 0){ + LOG(WARNING) << + "Constraint: wrong arg number " << arg_vec.size() << " for global constraint gcons_ip(), no arg is required."; + return -1; + } + return conf->traverse_unit(cb_check_ip, NULL); + } + + int CFdefault :: gcons_length(const std::vector &arg_vec, ConfigUnit *conf) + { + std::vector long_vec(arg_vec.begin(), arg_vec.end()); + return gcons_length(long_vec, conf); + } + + int CFdefault :: gcons_length(const std::vector &arg_vec, ConfigUnit *conf) + { + int cb_check_length(ConfigUnit *, void *); + if(arg_vec.size() != 1){ + LOG(WARNING) << + "Constraint: wrong arg number " << arg_vec.size() << " for global constraint gcons_length(), 1 arg is required."; + return -1; + } + long long len_limit = arg_vec[0]; + return conf->traverse_unit(cb_check_length, &len_limit); + } + + int cb_check_regexp(ConfigUnit *unit, void *reg) + { + unit->setConstrainted(true); + if(unit->selfType() != CONFIG_UNIT_TYPE){ + return 0; + } + str_t str = unit->to_bsl_string(); + if(spreg_match(*(spreg_t **)reg, str.c_str(), str.size()) > 0){ + return 0; + } + int errcode = 0; + LOG(WARNING) << + "Constraint: gcons_regexp() [key : value]:[" << unit->get_key_name().c_str() << " : " << unit->to_cstr(&errcode, "ERROR") << "]: value does not match regexp."; + return -1; + } + + int cb_check_ip(ConfigUnit *unit, void *) + { + unit->setConstrainted(true); + if(unit->selfType() != CONFIG_UNIT_TYPE){ + return 0; + } + str_t str = unit->to_bsl_string(); + if(check_ip(str, 0, 0, 0)){ + return 0; + } + int errcode = 0; + LOG(WARNING) << + "Constraint: gcons_ip() [key : value]:[" << unit->get_key_name().c_str() << " : " << unit->to_cstr(&errcode, "ERROR") << "]: value is not an IP string."; + return -1; + } + + int cb_check_default(ConfigUnit *unit, void *def_value) + { + unit->setConstrainted(true); + if(unit->selfType() != CONFIG_UNIT_TYPE || !unit->to_bsl_string().empty()){ + return 0; + } + if(unit->set_value(*(str_t *)def_value) != 0){ + int errcode = 0; + LOG(WARNING) << + "Constraint: gcons_default() [key : value]:[" << unit->get_key_name().c_str() << " : " << unit->to_cstr(&errcode, "ERROR") << "]: value is illegal."; + return -1; + } + return 0; + } + + int cb_check_length(ConfigUnit *unit, void *limit) + { + unit->setConstrainted(true); + if(unit->selfType() == CONFIG_UNIT_TYPE + && (long long)(unit->to_bsl_string().size()) > *(long long*)(limit)){ + int errcode = 0; + LOG(WARNING) << + "Constraint: gcons_length() [key : value]:[" << unit->get_key_name().c_str() << " : " << unit->to_cstr(&errcode, "ERROR") << "]: value length exceeds limit."; + return -1; + } + return 0; + } + + int cb_check_enum(ConfigUnit *unit, void *enum_vec) + { + unit->setConstrainted(true); + if(unit->selfType() != CONFIG_UNIT_TYPE){ + return 0; + } + std::vector &vec = *(std::vector *)enum_vec; + for(size_t i=0; ito_bsl_string() == vec[i]){ + return 0; + } + } + int errcode = 0; + LOG(WARNING) << + "Constraint: gcons_enum() [key : value]:[" << unit->get_key_name().c_str() << " : " <to_cstr(&errcode, "ERROR") << "]: value not in enum."; + return -1; + } +} + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/constraint/cc_default.h b/configure/constraint/cc_default.h new file mode 100644 index 00000000..033c21d8 --- /dev/null +++ b/configure/constraint/cc_default.h @@ -0,0 +1,163 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: cc_default.h,v 1.6 2009/03/23 03:14:52 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file cc_default.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/29 01:04:16 + * @version $Revision: 1.6 $ + * @brief + * + **/ + + +#ifndef __CC_DEFAULT_H_ +#define __CC_DEFAULT_H_ + +#include "Constraint.h" +#include "../compiler/src/idl_conf_if.h" +#include "ConstraintFunction.h" + +namespace comcfg{ + class CFdefault{ + public: + static int cons_array(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + static int cons_default(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + static int cons_length(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + static int cons_enum(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + static int cons_regexp(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + static int cons_range(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + static int cons_ip(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + static int cons_do_nothing(const confIDL::cons_func_t&, const confIDL::var_t &, ConfigGroup *, ConfigUnit *); + + static int gcons_regexp(const std::vector &arg_vec, ConfigUnit *conf); + static int gcons_ip(const std::vector &arg_vec, ConfigUnit *conf); + static int gcons_length(const std::vector &arg_vec, ConfigUnit *conf); + static int gcons_length(const std::vector &arg_vec, ConfigUnit *conf); + + template + static int gcons_default(const std::vector &arg_vec, ConfigUnit *conf) + { + int cb_check_default(ConfigUnit *, void *); + if(arg_vec.size() != 1){ + LOG(WARNING) << "Constraint: wrong arg number " << arg_vec.size() << " for global constraint gcons_default(), 1 arg is required."; + return -1; + } + str_t def_value; + if(typeid(T) == typeid(int)){ + def_value.setf("%d", *reinterpret_cast(&arg_vec[0])); + } + else if(typeid(T) == typeid(str_t)){ + def_value = *reinterpret_cast(&arg_vec[0]); + } + else if(typeid(T) == typeid(long long)){ + def_value.setf("%lld", *reinterpret_cast(&arg_vec[0])); + } + else if(typeid(T) == typeid(double)){ + def_value.setf("%lf", *reinterpret_cast(&arg_vec[0])); + } + return conf->traverse_unit(cb_check_default, &def_value); + } + + template + static int gcons_enum(const std::vector &arg_vec, ConfigUnit *conf) + { + int cb_check_enum(ConfigUnit *, void *); + std::vector enum_vec; + str_t enum_str; + if(typeid(T) == typeid(int)){ + for(size_t i=0; i(&arg_vec[i])); + enum_vec.push_back(enum_str); + } + } + else if(typeid(T) == typeid(str_t)){ + for(size_t i=0; i(&arg_vec[i])); + } + } + else if(typeid(T) == typeid(long long)){ + for(size_t i=0; i(&arg_vec[i])); + enum_vec.push_back(enum_str); + } + } + else if(typeid(T) == typeid(double)){ + for(size_t i=0; i(&arg_vec[i])); + enum_vec.push_back(enum_str); + } + } + if(arg_vec.size() == 0){ + LOG(WARNING) << "Constraint: wrong arg number 0 for global constraint gcons_enum(), at least 1 arg is required."; + return -1; + } + return conf->traverse_unit(cb_check_enum, &enum_vec); + } + + template + static int gcons_range(const std::vector &arg_vec, ConfigUnit *conf) + { + if(typeid(T) == typeid(str_t)){ + LOG(WARNING) << "Constraint: gcons_range() does not support str_t type constraint"; + return -1; + } + if(arg_vec.size() != 2){ + LOG(WARNING) << "Constraint: wrong arg number " << arg_vec.size() << " for global constraint gcons_range(), 2 args are required."; + return -1; + } + void *arg = &const_cast &>(arg_vec); + return conf->traverse_unit(cb_check_range, arg); + } + + template + static int cb_check_range(ConfigUnit *unit, void *range_vec) + { + unit->setConstrainted(true); + if(unit->selfType() != CONFIG_UNIT_TYPE){ + return 0; + } + std::vector &rvec = *static_cast *>(range_vec); + if(typeid(T) != typeid(double)){ + long long val = unit->to_int64(); + if(val >= rvec[0] && val <= rvec[1]){ + return 0; + } + } + else{ + double val = unit->to_double(); + if(val >= rvec[0] && val <= rvec[1]){ + return 0; + } + } + int errcode = 0; + LOG(WARNING) << "Constraint: gcons_range() [key : value]:[" << unit->get_key_name().c_str() << " : " << unit->to_cstr(&errcode, "ERROR") << "]: value not in range."; + return -1; + } + }; +} + + + + + + + + + + + + + + + + +#endif //__CC_DEFAULT_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/reader/RawData.cpp b/configure/reader/RawData.cpp new file mode 100644 index 00000000..cf045896 --- /dev/null +++ b/configure/reader/RawData.cpp @@ -0,0 +1,201 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: RawData.cpp,v 1.11 2010/01/08 03:24:38 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file RawData.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 20:49:06 + * @version $Revision: 1.11 $ + * @brief + * + **/ + +#include "RawData.h" +#include + +namespace comcfg{ + size_t RawData :: lineNum(){ + return _lnum; + } + + size_t RawData :: size(){ + return _fsize; + } + + const char * RawData :: getLine(int idx){ + if(idx < 0 || (size_t)idx >= lineNum()){ + return NULL; + } + return (const char *)(_file + _line[idx]); + } + + RawData :: RawData(){ + _file = NULL; + _file_original = NULL; + _lnum = 0; + _fsize = 0; + _bufsize = 0; + } + RawData :: ~RawData(){ + if(_file){ + free(_file); + } + if(_file_original){ + free(_file_original); + } + } + + int RawData :: load(const char * filename){ + LOG(INFO) << "Config : RawData read file [" << filename << "]"; + struct stat st; + if( stat(filename, &st) != 0 ){ + LOG(WARNING) << "I can't stat [" << filename << "]"; + return -1; + } + + int fd = open(filename, O_RDONLY); + if(-1 == fd){ + LOG(WARNING) << "I can't open [" << filename << "]"; + return -1; + } + if(_file){ + free(_file); + _file = NULL; + } + _fsize = (size_t)st.st_size; + _bufsize = ((_fsize >> 12) + 1) << 12;//以4K为单位上取整 + + _file = (char *)malloc(_bufsize); + if(NULL == _file){ + LOG(WARNING) << "malloc failed."; + close(fd); + return -1; + } + + if( read(fd, _file, _fsize) != (ssize_t)_fsize ){ + LOG(WARNING) << "Read file " << filename << " error..."; + free(_file); + _file = NULL; + close(fd); + return -1; + } + + close(fd); + return rebuild(); +#if 0 + _line.clear(); + + try{ + _file = (char *)malloc(_bufsize); + if(NULL == _file){ + ul_writelog(Log::warning(), "malloc failed...I can't load [%s]", filename); + throw ConfigException("Malloc failed"); + } + size_t cur_pos = 0; + + while(fgets(_file + cur_pos, _bufsize - cur_pos, fd) != NULL){ + _line.push_back(cur_pos); + cur_pos += strlen(_file + cur_pos); + if(cur_pos <= 0 || _file[cur_pos - 1] != '\n'){ + ul_writelog(Log::warning(), "Unrecognized end of line. file:[%s] line:[%d]", + filename, (int)_line.size()); + } + _file[cur_pos - 1] = '\0'; + } + _lnum = _line.size(); + _line.push_back(cur_pos); + _line.push_back(cur_pos);//保护 + if(cur_pos != size()){ + ul_writelog(Log::warning(), "[%s] file size = %llu bytes, But I only read = %llu bytes", + filename, (unsigned long long)size(), (unsigned long long)cur_pos); + } + + }catch(...){ + if(_file){ + free(_file); + _file = NULL; + } + _line.clear(); + _fsize = _bufsize = 0; + _lnum = 0; + return -1; + } + return 0; +#endif + } + + char * RawData :: getRebuildBuffer(size_t __size){ + if(_file){ + free(_file); + _file = NULL; + } + _line.clear(); + _lnum = 0; + _fsize = __size; + _bufsize = ((_fsize >> 12) + 1) << 12;//以4K为单位上取整 + _file = (char *)malloc(_bufsize); + return _file; + } + + int RawData :: rebuild(){ + if(_fsize == 0){ + LOG(WARNING) << "The rebuild buffer is empty."; + return -1; + } + if(_file_original != NULL){ + free(_file_original); + _file_original = NULL; + } + _file_original = (char *)malloc(_bufsize); + if(_file_original != NULL){ + memcpy(_file_original, _file, _bufsize); + } + else{ + LOG(INFO) << "Failed to create a copy of file."; + //so I can't dump it. But it's OK to go on. + } + _line.clear(); + _line.push_back(0); + for(size_t i = 0; i < _fsize; ++i){ + if(_file[i] == '\n' || _file[i] == '\r' || _file[i] == '\0'){ + _file[i] = '\0'; + _line.push_back(i+1); + } + } + _file[_fsize] = '\0'; + _lnum = _line.size(); + _line.push_back(_fsize);//多余的一行的位置,便于计算最后一行的长度 + return 0; + } + + char * RawData :: dump(size_t * __size){ + *__size = _fsize; + return _file_original; + } + +} + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/reader/RawData.h b/configure/reader/RawData.h new file mode 100644 index 00000000..24a8d992 --- /dev/null +++ b/configure/reader/RawData.h @@ -0,0 +1,70 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: RawData.h,v 1.4 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file RawData.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/18 22:52:32 + * @version $Revision: 1.4 $ + * @brief + * + **/ + + +#ifndef __RAWDATA_H_ +#define __RAWDATA_H_ + +#include +#include +#include +#include +#include "utils/cc_exception.h" +#include "butil/logging.h" + +namespace comcfg{ + class RawData{ + public: + + int load(const char * filename); + char * getRebuildBuffer(size_t size); + int rebuild(); + char * dump(size_t *); + size_t lineNum(); + size_t size(); + const char * getLine(int idx); + RawData(); + ~RawData(); + protected: + std::vector _line; + size_t _lnum; + char * _file; + char * _file_original; + size_t _fsize; + size_t _bufsize; + }; +} + + + + + + + + + + + + + + + + +#endif //__RAWDATA_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/reader/Reader.cpp b/configure/reader/Reader.cpp new file mode 100644 index 00000000..97294912 --- /dev/null +++ b/configure/reader/Reader.cpp @@ -0,0 +1,258 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: Reader.cpp,v 1.8 2009/03/23 03:14:52 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file reader/Reader.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 18:49:01 + * @version $Revision: 1.8 $ + * @brief + * + **/ + +#include +#include "utils/cc_utils.h" +#include "reader/Reader.h" + +namespace comcfg{ + Reader :: Reader(){ + _isRebuild = false; + } + + str_t get_middle(const str_t& str){ + int i, j; + if(str.size() == 0){ + return str; + } + for(i = 0; i < (int)str.size(); ++i){ + if(! isspace(str[i])){ + break; + } + } + for(j = (int)str.size() - 1; j >= 0; --j){ + if(! isspace(str[j])){ + break; + } + } + return str.substr(i, j+1-i); + } + + int Reader::read(const char * file, Configure * cfg){ + if( _fd.load(file) != 0 ){ + return -1; + } + _cur_file = file; + return build(cfg); + } + int Reader :: build(Configure *cfg){ + int ret = 0; + for(size_t i = 0; i < _fd.lineNum(); ++i){ + _cur_line = i+1; + cfg->setFileLine(_cur_line); + size_t length; + if(i != _fd.lineNum() - 1){ + length = (size_t)_fd.getLine(i+1) - (size_t)_fd.getLine(i); + } + else{ + length = (size_t)_fd.size() - (size_t)_fd.getLine(i); + } + if(push(cfg, _fd.getLine(i), length) != 0){ + LOG(WARNING) << "Error [File:" << _cur_file.c_str() << ", Line:" << i + 1 << "] " << _fd.getLine(i); + ret = -1; + } + } + _cur_line = -1; + return ret; + } + + int Reader::push(Configure * cfg, const char * buf, size_t length){ + const char *p = buf; + while(*p != 0 && isspace(*p)){ + ++p; + } + try{ + if(*p == '#' || *p == 0){ //is comment or blank line + return 0; + } + else if (*p == '['){ //must be section + str_t str; + if( sectionParser(p, length, &str) != 0 ){ + return -1; + } + LOG(INFO) << "Configure Reader: Change section to : [" << str.c_str() << "]"; + cfg->changeSection(str); + } + else{ // is config key-value pair + pair_t pair; + if( keyParser(p, length, &pair) != 0 ){ + return -1; + } + if(strcmp(pair.key.c_str(), CONFIG_INCLUDE) == 0){ + //$include : filename + //Sub Configure file + LOG(INFO) << "Configure Reader: read $include : " << pair.value.c_str(); + if(_isRebuild){ + LOG(INFO) << "Configure : I am rebuilding, $include is ignored."; + }else{ + str_t realfile; + Trans::str2str(pair.value, &realfile); + cfg->pushSubReader(realfile.c_str()); + } + } + else{ + LOG(INFO) << "Configure Reader: read key[" << pair.key.c_str() << "] value[" << pair.value.c_str() <<"]"; + cfg->pushPair(pair.key, pair.value); + } + } + } + catch(ConfigException){ + return -1; + } + catch(...){ + LOG(WARNING) << "Configure Reader: Unknown exception."; + return -1; + } + return 0; + } + + int Reader::sectionParser(const char * buf, size_t /*length*/, str_t * str){ + const char *p = buf; + const char *end = buf; + while(*end != 0 && *end != ']'){ + ++end; + } + if(0 == *end || p+1 >= end){ + return -1; + } + if(getWord(p+1, end, str) != 0){ + return -1; + } + ++end; + //检查末尾没有多余字符 + while(*end){ + if(*end == '#'){ + return 0; + } + if(! isspace(*end)){ + return -1; + } + ++end; + } + return 0; + } + + + int Reader::keyParser(const char * buf, size_t /*length*/, pair_t * pair){ + const char *p = buf; + while(*p != 0 && *p != ':'){ + ++p; + } + if(0 == *p || p == buf){ //到达末尾或在开头 + return -1; + } + if( getWord(buf, p, &(pair->key)) != 0 ){ + return -1; + } + + pair->value = p+1; + //ul_writelog(Log::debug(), "Configure Reader : key=[%s] whole value=[%s]", pair->key.c_str(), pair->value.c_str()); + pair->value = get_middle(pair->value); + //value : 引号转义? + return 0; + } + + + int Reader::getWord(const char * from, const char * to, str_t * str){ + //左闭右开区间[from, to) + int status = 0; //空格0->字符串1->空格2 + const char *f1 = from; + const char *f2 = to; + for(const char *i = from; i < to; ++i){ + if(isspace(*i)){ + if(status == 1){ + f2 = i; + status = 2; + } + } + else{ + if(status == 0){ + status = 1; + f1 = i; + } + else if(status == 2){ + return -1; + } + } + } + if(f1 >= f2){ + return -1; + } + //如果先clear str,再str->append(f1, f2-f1)的话: + //这里是有风险的,如果传入的是 getWord(str.begin(), str.end(), &str) 会挂 + //但是bsl::string不支持assign接口,只能先clear再append + //如果创建一个新对象,再copy回来,成本又太高,bsl::string不是copy-on-write + //还是copy一次吧: + str_t tmp; + tmp.append(f1, f2-f1); + *str = tmp; + return 0; + } + + void Reader::getCommentUpwards(str_t &comment, int line){ + const char * conf_line = _fd.getLine(line); + while(isCommentLine(conf_line)){ + str_t comment_line = conf_line; + comment_line.append("\n"); + comment_line.append(comment); + comment = comment_line; + --line; + conf_line = _fd.getLine(line); + } + } + + int Reader::isCommentLine(const char *line){ + if(line == NULL){ + return 0; + } + while(*line != 0 && isspace(*line)){ + ++ line; + } + if(*line == '#' || *line == 0){ + return 1; + } + return 0; + } + + char * Reader :: getRebuildBuffer(size_t size){ + return _fd.getRebuildBuffer(size); + } + int Reader :: rebuild(Configure * cfg){ + _isRebuild = true; + if( _fd.rebuild() != 0 ){ + return -1; + } + _cur_file = "./"REBUILD_CONF; + return build(cfg); + } + char * Reader :: dump(size_t * size){ + return _fd.dump(size); + } +} + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/reader/Reader.h b/configure/reader/Reader.h new file mode 100644 index 00000000..dbf5772f --- /dev/null +++ b/configure/reader/Reader.h @@ -0,0 +1,76 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: Reader.h,v 1.5 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file Reader.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 16:09:58 + * @version $Revision: 1.5 $ + * @brief + * + **/ + + +#ifndef __READER_H_ +#define __READER_H_ + +#include "RawData.h" +#include "Configure.h" +#include + +namespace comcfg{ +#define REBUILD_CONF "REBUILD_CONF" + class Reader{ + RawData _fd; + public: + int read(const char * file, Configure * cfg); + char * getRebuildBuffer(size_t size); + int rebuild(Configure * cfg); + char * dump(size_t *); + Reader(); + private: + int build(Configure * cfg); + int push(Configure * cfg, const char * buf, size_t length); + struct pair_t{ + str_t key; + str_t value; + }; + int sectionParser(const char * buf, size_t length, str_t * str); + int keyParser(const char * buf, size_t length, pair_t * pair); + int getWord(const char * from, const char * to, str_t * str); + void getCommentUpwards(str_t &comment, int line); + int isCommentLine(const char *);//comment line or blank line + friend class ConfigUnit; + friend class Configure; + friend class ConfigGroup; + friend int cb_dumpConf(ConfigUnit *, void *); + str_t _cur_file; + int _cur_line; + bool _isRebuild; + }; +} + + + + + + + + + + + + + + + + +#endif //__READER_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/run.sh b/configure/run.sh new file mode 100644 index 00000000..d5508e00 --- /dev/null +++ b/configure/run.sh @@ -0,0 +1,2 @@ +for i in FileReloader.cpp ConfigReloader.cpp CmdOption.cpp ConfigError.cpp ConfigGroup.cpp ConfigUnit.cpp Configure.cpp constraint/Constraint.cpp constraint/ConstraintFunction.cpp constraint/cc_default.cpp reader/RawData.cpp reader/Reader.cpp utils/init.cpp utils/trans.cpp cfgext.cpp cfgflag.cpp compiler/src/idl.c compiler/src/idl_lex.c compiler/src/idl_gram.c ; do echo -e "\${CMAKE_CURRENT_LIST_DIR}/$i"; done + diff --git a/configure/test/Makefile b/configure/test/Makefile new file mode 100644 index 00000000..02bd5b2a --- /dev/null +++ b/configure/test/Makefile @@ -0,0 +1,2054 @@ +########################################################################### +# Automatically generated by comake (1.0.0) # +########################################################################### + +#################设计系统参数####################################### +WORKROOT ?= ../../../ +IDLCC := $(WORKROOT)/public/idlcompiler/output/bin/mcy +RPCCC := $(WORKROOT)/public/ubrpc/output/bin/ubrpcgen +CC := gcc +CXX := g++ +LEX := flex +YACC := yacc +CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +LEXFLAGS := +YACCFLAGS := +IDLFLAGS := +LINKFLAGS := -rdynamic +LINK := g++ +AR := ar cqs +RANLIB := +COMAKE := comake + +###############baidu lib 的32位 64位支持################# +HARDWARE_PLATFORM := $(shell uname -m) +ifeq ($(HARDWARE_PLATFORM),x86_64) + lib2=lib2-64 + third=third-64 +else + lib2=lib2 + third=third +endif +ifeq ($(MAC),ARM32) + lib2=lib2-arm32 + third=third-arm32 +endif + +########################################## + +# 编译参数 +DEP_INCPATH = -I$(WORKROOT)/public/spreg/output//include/ -I$(WORKROOT)/$(lib2)/ullib//include/ -I$(WORKROOT)/$(third)/pcre//include/ -I$(WORKROOT)/$(lib2)/bsl//include/ -I../output//include/ +DEP_LDFLAGS = -L../output//lib/ -L$(WORKROOT)/$(lib2)/bsl//lib/ -L$(WORKROOT)/$(third)/pcre//lib/ -L$(WORKROOT)/$(lib2)/ullib//lib/ -L$(WORKROOT)/public/spreg/output//lib/ +DEP_LDLIBS = -lconfig -lspreg -lpcre -lpcrecpp -lpcreposix -lbsl -lullib +INCPATH = -I. -I.. +MAKDEP = Makefile.dep + + +#start target +first : all + +############# 默认推到公式 +.SUFFIXES: .c .cpp .cc .cxx .C .idl .des +.PRECIOUS: %.cpp + +.cpp.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.cc.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.cxx.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.C.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.c.o: + $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) $(INCPATH) + +.idl.cpp: + $(IDLCC) --ns=$(*F) -o $* $< $(CPPFLAGS) $(INCPATH) $(IDLFLAGS) + +############# +###cpp 支持 +%info : % + ccp $< +############# + + +#__$MAKEFILE_RULES$__ + + + +###############编译目标 +all : target output +.PHONY : all clean test output comake src conf + +target : test_get_default test_1010new test_ivar test_auto test_cfg test_conf test_demo test_err test_get_value test_option test_rawdata test_reader test_rebuild test_str test_t1 test_trans_float test_trans_str2str test_xiaowei test_cfg2 test_cfg3 test_zr test_to_default test_checkone test_reloader test_sigreload test_filereload test_setvalue +#target : rpcidl test_get_default test_1010new test_ivar test_auto test_cfg test_conf test_demo test_err test_get_value test_option test_rawdata test_reader test_rebuild test_str test_t1 test_trans_float test_trans_str2str test_xiaowei test_cfg2 test_cfg3 test_zr test_to_default test_checkone test_reloader test_sigreload test_filereload test_setvalue +#target : +#__$target_CMDLINE$__ + +rpcidl : + +clean_rpcidl : + + +test : + + +comake : + -make clean + -comake + +#-include $(MAKDEP) + + +#----------------build target : test_get_default-------------------- + +test_get_default : CC := gcc +test_get_default : CXX := g++ +test_get_default : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_get_default : CPPFLAGS := +test_get_default : IDLFLAGS := +test_get_default : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_get_default : INCPATH := -I. -I.. $(DEP_INCPATH) +test_get_default : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_get_default : LDFLAGS := $(DEP_LDFLAGS) +test_get_default : LINKFLAGS := -rdynamic + +test_get_default_SOURCES := $(wildcard comake_autogen.cpp test_get_default.cpp) +#test_get_default_HEADERS := $(wildcard *.h) +test_get_default_HEADERS := *.h +test_get_default_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_get_default_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_get_default_IDLSRC)) +test_get_default_IDLSRCH := $(patsubst %.idl,%.h, $(test_get_default_IDLSRC)) +test_get_default_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_get_default.des) +test_get_default_CONFRANGE := $(patsubst %.des,%.range, $(test_get_default_CONFDES)) +test_get_default_OBJS := $(test_get_default_IDLSRC:.idl=.o) +test_get_default_OBJS += $(test_get_default_SOURCES:.c=.o) +test_get_default_OBJS := $(test_get_default_OBJS:.cc=.o) +test_get_default_OBJS := $(test_get_default_OBJS:.cpp=.o) +test_get_default_OBJS := $(test_get_default_OBJS:.cxx=.o) +test_get_default_OBJS := $(test_get_default_OBJS:.C=.o) +test_get_default_OBJS := $(test_get_default_OBJS:.idl=.o) +test_get_default_OBJS := $(test_get_default_OBJS:.yacc=.o) +test_get_default_OBJS := $(test_get_default_OBJS:.lex=.o) +test_get_default : $(test_get_default_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_get_default_CONFDES);do cpp -C -o test_get_default.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_get_default.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_get_default_output + mkdir -p output + mkdir -p output/bin + cp -rf test_get_default output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_get_default_clean + -rm -rf $(test_get_default_OBJS) $(test_get_default_IDLSRCCPP) $(test_get_default_IDLSRCH) test_get_default.range conf/test_get_default.range + -rm -rf test_get_default + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_get_default_ccpc + ccp $(test_get_default_SOURCES) --formatter vim +endef + + +define test_get_default_cov + +endef + + + + +#---------------------end build target : test_get_default------------------ + +#----------------build target : test_1010new-------------------- + +test_1010new : CC := gcc +test_1010new : CXX := g++ +test_1010new : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_1010new : CPPFLAGS := +test_1010new : IDLFLAGS := +test_1010new : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_1010new : INCPATH := -I. -I.. $(DEP_INCPATH) +test_1010new : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_1010new : LDFLAGS := $(DEP_LDFLAGS) +test_1010new : LINKFLAGS := -rdynamic + +test_1010new_SOURCES := $(wildcard comake_autogen.cpp test_1010new.cpp) +#test_1010new_HEADERS := $(wildcard *.h) +test_1010new_HEADERS := *.h +test_1010new_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_1010new_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_1010new_IDLSRC)) +test_1010new_IDLSRCH := $(patsubst %.idl,%.h, $(test_1010new_IDLSRC)) +test_1010new_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_1010new.des) +test_1010new_CONFRANGE := $(patsubst %.des,%.range, $(test_1010new_CONFDES)) +test_1010new_OBJS := $(test_1010new_IDLSRC:.idl=.o) +test_1010new_OBJS += $(test_1010new_SOURCES:.c=.o) +test_1010new_OBJS := $(test_1010new_OBJS:.cc=.o) +test_1010new_OBJS := $(test_1010new_OBJS:.cpp=.o) +test_1010new_OBJS := $(test_1010new_OBJS:.cxx=.o) +test_1010new_OBJS := $(test_1010new_OBJS:.C=.o) +test_1010new_OBJS := $(test_1010new_OBJS:.idl=.o) +test_1010new_OBJS := $(test_1010new_OBJS:.yacc=.o) +test_1010new_OBJS := $(test_1010new_OBJS:.lex=.o) +test_1010new : $(test_1010new_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_1010new_CONFDES);do cpp -C -o test_1010new.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_1010new.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_1010new_output + mkdir -p output + mkdir -p output/bin + cp -rf test_1010new output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_1010new_clean + -rm -rf $(test_1010new_OBJS) $(test_1010new_IDLSRCCPP) $(test_1010new_IDLSRCH) test_1010new.range conf/test_1010new.range + -rm -rf test_1010new + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_1010new_ccpc + ccp $(test_1010new_SOURCES) --formatter vim +endef + + +define test_1010new_cov + +endef + + + + +#---------------------end build target : test_1010new------------------ + +#----------------build target : test_ivar-------------------- + +test_ivar : CC := gcc +test_ivar : CXX := g++ +test_ivar : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_ivar : CPPFLAGS := +test_ivar : IDLFLAGS := +test_ivar : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_ivar : INCPATH := -I. -I.. $(DEP_INCPATH) +test_ivar : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_ivar : LDFLAGS := $(DEP_LDFLAGS) +test_ivar : LINKFLAGS := -rdynamic + +test_ivar_SOURCES := $(wildcard comake_autogen.cpp test_ivar.cpp) +#test_ivar_HEADERS := $(wildcard *.h) +test_ivar_HEADERS := *.h +test_ivar_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_ivar_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_ivar_IDLSRC)) +test_ivar_IDLSRCH := $(patsubst %.idl,%.h, $(test_ivar_IDLSRC)) +test_ivar_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_ivar.des) +test_ivar_CONFRANGE := $(patsubst %.des,%.range, $(test_ivar_CONFDES)) +test_ivar_OBJS := $(test_ivar_IDLSRC:.idl=.o) +test_ivar_OBJS += $(test_ivar_SOURCES:.c=.o) +test_ivar_OBJS := $(test_ivar_OBJS:.cc=.o) +test_ivar_OBJS := $(test_ivar_OBJS:.cpp=.o) +test_ivar_OBJS := $(test_ivar_OBJS:.cxx=.o) +test_ivar_OBJS := $(test_ivar_OBJS:.C=.o) +test_ivar_OBJS := $(test_ivar_OBJS:.idl=.o) +test_ivar_OBJS := $(test_ivar_OBJS:.yacc=.o) +test_ivar_OBJS := $(test_ivar_OBJS:.lex=.o) +test_ivar : $(test_ivar_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_ivar_CONFDES);do cpp -C -o test_ivar.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_ivar.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_ivar_output + mkdir -p output + mkdir -p output/bin + cp -rf test_ivar output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_ivar_clean + -rm -rf $(test_ivar_OBJS) $(test_ivar_IDLSRCCPP) $(test_ivar_IDLSRCH) test_ivar.range conf/test_ivar.range + -rm -rf test_ivar + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_ivar_ccpc + ccp $(test_ivar_SOURCES) --formatter vim +endef + + +define test_ivar_cov + +endef + + + + +#---------------------end build target : test_ivar------------------ + +#----------------build target : test_auto-------------------- + +test_auto : CC := gcc +test_auto : CXX := g++ +test_auto : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_auto : CPPFLAGS := +test_auto : IDLFLAGS := +test_auto : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_auto : INCPATH := -I. -I.. $(DEP_INCPATH) +test_auto : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_auto : LDFLAGS := $(DEP_LDFLAGS) +test_auto : LINKFLAGS := -rdynamic + +test_auto_SOURCES := $(wildcard comake_autogen.cpp test_auto.cpp) +#test_auto_HEADERS := $(wildcard *.h) +test_auto_HEADERS := *.h +test_auto_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_auto_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_auto_IDLSRC)) +test_auto_IDLSRCH := $(patsubst %.idl,%.h, $(test_auto_IDLSRC)) +test_auto_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_auto.des) +test_auto_CONFRANGE := $(patsubst %.des,%.range, $(test_auto_CONFDES)) +test_auto_OBJS := $(test_auto_IDLSRC:.idl=.o) +test_auto_OBJS += $(test_auto_SOURCES:.c=.o) +test_auto_OBJS := $(test_auto_OBJS:.cc=.o) +test_auto_OBJS := $(test_auto_OBJS:.cpp=.o) +test_auto_OBJS := $(test_auto_OBJS:.cxx=.o) +test_auto_OBJS := $(test_auto_OBJS:.C=.o) +test_auto_OBJS := $(test_auto_OBJS:.idl=.o) +test_auto_OBJS := $(test_auto_OBJS:.yacc=.o) +test_auto_OBJS := $(test_auto_OBJS:.lex=.o) +test_auto : $(test_auto_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_auto_CONFDES);do cpp -C -o test_auto.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_auto.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_auto_output + mkdir -p output + mkdir -p output/bin + cp -rf test_auto output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_auto_clean + -rm -rf $(test_auto_OBJS) $(test_auto_IDLSRCCPP) $(test_auto_IDLSRCH) test_auto.range conf/test_auto.range + -rm -rf test_auto + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_auto_ccpc + ccp $(test_auto_SOURCES) --formatter vim +endef + + +define test_auto_cov + +endef + + + + +#---------------------end build target : test_auto------------------ + +#----------------build target : test_cfg-------------------- + +test_cfg : CC := gcc +test_cfg : CXX := g++ +test_cfg : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_cfg : CPPFLAGS := +test_cfg : IDLFLAGS := +test_cfg : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_cfg : INCPATH := -I. -I.. $(DEP_INCPATH) +test_cfg : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_cfg : LDFLAGS := $(DEP_LDFLAGS) +test_cfg : LINKFLAGS := -rdynamic + +test_cfg_SOURCES := $(wildcard comake_autogen.cpp test_cfg.cpp) +#test_cfg_HEADERS := $(wildcard *.h) +test_cfg_HEADERS := *.h +test_cfg_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_cfg_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_cfg_IDLSRC)) +test_cfg_IDLSRCH := $(patsubst %.idl,%.h, $(test_cfg_IDLSRC)) +test_cfg_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_cfg.des) +test_cfg_CONFRANGE := $(patsubst %.des,%.range, $(test_cfg_CONFDES)) +test_cfg_OBJS := $(test_cfg_IDLSRC:.idl=.o) +test_cfg_OBJS += $(test_cfg_SOURCES:.c=.o) +test_cfg_OBJS := $(test_cfg_OBJS:.cc=.o) +test_cfg_OBJS := $(test_cfg_OBJS:.cpp=.o) +test_cfg_OBJS := $(test_cfg_OBJS:.cxx=.o) +test_cfg_OBJS := $(test_cfg_OBJS:.C=.o) +test_cfg_OBJS := $(test_cfg_OBJS:.idl=.o) +test_cfg_OBJS := $(test_cfg_OBJS:.yacc=.o) +test_cfg_OBJS := $(test_cfg_OBJS:.lex=.o) +test_cfg : $(test_cfg_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_cfg_CONFDES);do cpp -C -o test_cfg.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_cfg.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_cfg_output + mkdir -p output + mkdir -p output/bin + cp -rf test_cfg output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_cfg_clean + -rm -rf $(test_cfg_OBJS) $(test_cfg_IDLSRCCPP) $(test_cfg_IDLSRCH) test_cfg.range conf/test_cfg.range + -rm -rf test_cfg + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_cfg_ccpc + ccp $(test_cfg_SOURCES) --formatter vim +endef + + +define test_cfg_cov + +endef + + + + +#---------------------end build target : test_cfg------------------ + +#----------------build target : test_conf-------------------- + +test_conf : CC := gcc +test_conf : CXX := g++ +test_conf : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_conf : CPPFLAGS := +test_conf : IDLFLAGS := +test_conf : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_conf : INCPATH := -I. -I.. $(DEP_INCPATH) +test_conf : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_conf : LDFLAGS := $(DEP_LDFLAGS) +test_conf : LINKFLAGS := -rdynamic + +test_conf_SOURCES := $(wildcard comake_autogen.cpp test_conf.cpp) +#test_conf_HEADERS := $(wildcard *.h) +test_conf_HEADERS := *.h +test_conf_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_conf_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_conf_IDLSRC)) +test_conf_IDLSRCH := $(patsubst %.idl,%.h, $(test_conf_IDLSRC)) +test_conf_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_conf.des) +test_conf_CONFRANGE := $(patsubst %.des,%.range, $(test_conf_CONFDES)) +test_conf_OBJS := $(test_conf_IDLSRC:.idl=.o) +test_conf_OBJS += $(test_conf_SOURCES:.c=.o) +test_conf_OBJS := $(test_conf_OBJS:.cc=.o) +test_conf_OBJS := $(test_conf_OBJS:.cpp=.o) +test_conf_OBJS := $(test_conf_OBJS:.cxx=.o) +test_conf_OBJS := $(test_conf_OBJS:.C=.o) +test_conf_OBJS := $(test_conf_OBJS:.idl=.o) +test_conf_OBJS := $(test_conf_OBJS:.yacc=.o) +test_conf_OBJS := $(test_conf_OBJS:.lex=.o) +test_conf : $(test_conf_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_conf_CONFDES);do cpp -C -o test_conf.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_conf.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_conf_output + mkdir -p output + mkdir -p output/bin + cp -rf test_conf output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_conf_clean + -rm -rf $(test_conf_OBJS) $(test_conf_IDLSRCCPP) $(test_conf_IDLSRCH) test_conf.range conf/test_conf.range + -rm -rf test_conf + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_conf_ccpc + ccp $(test_conf_SOURCES) --formatter vim +endef + + +define test_conf_cov + +endef + + + + +#---------------------end build target : test_conf------------------ + +#----------------build target : test_demo-------------------- + +test_demo : CC := gcc +test_demo : CXX := g++ +test_demo : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_demo : CPPFLAGS := +test_demo : IDLFLAGS := +test_demo : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_demo : INCPATH := -I. -I.. $(DEP_INCPATH) +test_demo : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_demo : LDFLAGS := $(DEP_LDFLAGS) +test_demo : LINKFLAGS := -rdynamic + +test_demo_SOURCES := $(wildcard comake_autogen.cpp test_demo.cpp) +#test_demo_HEADERS := $(wildcard *.h) +test_demo_HEADERS := *.h +test_demo_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_demo_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_demo_IDLSRC)) +test_demo_IDLSRCH := $(patsubst %.idl,%.h, $(test_demo_IDLSRC)) +test_demo_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_demo.des) +test_demo_CONFRANGE := $(patsubst %.des,%.range, $(test_demo_CONFDES)) +test_demo_OBJS := $(test_demo_IDLSRC:.idl=.o) +test_demo_OBJS += $(test_demo_SOURCES:.c=.o) +test_demo_OBJS := $(test_demo_OBJS:.cc=.o) +test_demo_OBJS := $(test_demo_OBJS:.cpp=.o) +test_demo_OBJS := $(test_demo_OBJS:.cxx=.o) +test_demo_OBJS := $(test_demo_OBJS:.C=.o) +test_demo_OBJS := $(test_demo_OBJS:.idl=.o) +test_demo_OBJS := $(test_demo_OBJS:.yacc=.o) +test_demo_OBJS := $(test_demo_OBJS:.lex=.o) +test_demo : $(test_demo_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_demo_CONFDES);do cpp -C -o test_demo.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_demo.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_demo_output + mkdir -p output + mkdir -p output/bin + cp -rf test_demo output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_demo_clean + -rm -rf $(test_demo_OBJS) $(test_demo_IDLSRCCPP) $(test_demo_IDLSRCH) test_demo.range conf/test_demo.range + -rm -rf test_demo + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_demo_ccpc + ccp $(test_demo_SOURCES) --formatter vim +endef + + +define test_demo_cov + +endef + + + + +#---------------------end build target : test_demo------------------ + +#----------------build target : test_err-------------------- + +test_err : CC := gcc +test_err : CXX := g++ +test_err : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_err : CPPFLAGS := +test_err : IDLFLAGS := +test_err : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_err : INCPATH := -I. -I.. $(DEP_INCPATH) +test_err : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_err : LDFLAGS := $(DEP_LDFLAGS) +test_err : LINKFLAGS := -rdynamic + +test_err_SOURCES := $(wildcard comake_autogen.cpp test_err.cpp) +#test_err_HEADERS := $(wildcard *.h) +test_err_HEADERS := *.h +test_err_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_err_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_err_IDLSRC)) +test_err_IDLSRCH := $(patsubst %.idl,%.h, $(test_err_IDLSRC)) +test_err_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_err.des) +test_err_CONFRANGE := $(patsubst %.des,%.range, $(test_err_CONFDES)) +test_err_OBJS := $(test_err_IDLSRC:.idl=.o) +test_err_OBJS += $(test_err_SOURCES:.c=.o) +test_err_OBJS := $(test_err_OBJS:.cc=.o) +test_err_OBJS := $(test_err_OBJS:.cpp=.o) +test_err_OBJS := $(test_err_OBJS:.cxx=.o) +test_err_OBJS := $(test_err_OBJS:.C=.o) +test_err_OBJS := $(test_err_OBJS:.idl=.o) +test_err_OBJS := $(test_err_OBJS:.yacc=.o) +test_err_OBJS := $(test_err_OBJS:.lex=.o) +test_err : $(test_err_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_err_CONFDES);do cpp -C -o test_err.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_err.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_err_output + mkdir -p output + mkdir -p output/bin + cp -rf test_err output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_err_clean + -rm -rf $(test_err_OBJS) $(test_err_IDLSRCCPP) $(test_err_IDLSRCH) test_err.range conf/test_err.range + -rm -rf test_err + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_err_ccpc + ccp $(test_err_SOURCES) --formatter vim +endef + + +define test_err_cov + +endef + + + + +#---------------------end build target : test_err------------------ + +#----------------build target : test_get_value-------------------- + +test_get_value : CC := gcc +test_get_value : CXX := g++ +test_get_value : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_get_value : CPPFLAGS := +test_get_value : IDLFLAGS := +test_get_value : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_get_value : INCPATH := -I. -I.. $(DEP_INCPATH) +test_get_value : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_get_value : LDFLAGS := $(DEP_LDFLAGS) +test_get_value : LINKFLAGS := -rdynamic + +test_get_value_SOURCES := $(wildcard comake_autogen.cpp test_get_value.cpp) +#test_get_value_HEADERS := $(wildcard *.h) +test_get_value_HEADERS := *.h +test_get_value_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_get_value_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_get_value_IDLSRC)) +test_get_value_IDLSRCH := $(patsubst %.idl,%.h, $(test_get_value_IDLSRC)) +test_get_value_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_get_value.des) +test_get_value_CONFRANGE := $(patsubst %.des,%.range, $(test_get_value_CONFDES)) +test_get_value_OBJS := $(test_get_value_IDLSRC:.idl=.o) +test_get_value_OBJS += $(test_get_value_SOURCES:.c=.o) +test_get_value_OBJS := $(test_get_value_OBJS:.cc=.o) +test_get_value_OBJS := $(test_get_value_OBJS:.cpp=.o) +test_get_value_OBJS := $(test_get_value_OBJS:.cxx=.o) +test_get_value_OBJS := $(test_get_value_OBJS:.C=.o) +test_get_value_OBJS := $(test_get_value_OBJS:.idl=.o) +test_get_value_OBJS := $(test_get_value_OBJS:.yacc=.o) +test_get_value_OBJS := $(test_get_value_OBJS:.lex=.o) +test_get_value : $(test_get_value_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_get_value_CONFDES);do cpp -C -o test_get_value.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_get_value.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_get_value_output + mkdir -p output + mkdir -p output/bin + cp -rf test_get_value output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_get_value_clean + -rm -rf $(test_get_value_OBJS) $(test_get_value_IDLSRCCPP) $(test_get_value_IDLSRCH) test_get_value.range conf/test_get_value.range + -rm -rf test_get_value + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_get_value_ccpc + ccp $(test_get_value_SOURCES) --formatter vim +endef + + +define test_get_value_cov + +endef + + + + +#---------------------end build target : test_get_value------------------ + +#----------------build target : test_option-------------------- + +test_option : CC := gcc +test_option : CXX := g++ +test_option : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_option : CPPFLAGS := +test_option : IDLFLAGS := +test_option : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_option : INCPATH := -I. -I.. $(DEP_INCPATH) +test_option : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_option : LDFLAGS := $(DEP_LDFLAGS) +test_option : LINKFLAGS := -rdynamic + +test_option_SOURCES := $(wildcard comake_autogen.cpp test_option.cpp) +#test_option_HEADERS := $(wildcard *.h) +test_option_HEADERS := *.h +test_option_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_option_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_option_IDLSRC)) +test_option_IDLSRCH := $(patsubst %.idl,%.h, $(test_option_IDLSRC)) +test_option_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_option.des) +test_option_CONFRANGE := $(patsubst %.des,%.range, $(test_option_CONFDES)) +test_option_OBJS := $(test_option_IDLSRC:.idl=.o) +test_option_OBJS += $(test_option_SOURCES:.c=.o) +test_option_OBJS := $(test_option_OBJS:.cc=.o) +test_option_OBJS := $(test_option_OBJS:.cpp=.o) +test_option_OBJS := $(test_option_OBJS:.cxx=.o) +test_option_OBJS := $(test_option_OBJS:.C=.o) +test_option_OBJS := $(test_option_OBJS:.idl=.o) +test_option_OBJS := $(test_option_OBJS:.yacc=.o) +test_option_OBJS := $(test_option_OBJS:.lex=.o) +test_option : $(test_option_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_option_CONFDES);do cpp -C -o test_option.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_option.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_option_output + mkdir -p output + mkdir -p output/bin + cp -rf test_option output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_option_clean + -rm -rf $(test_option_OBJS) $(test_option_IDLSRCCPP) $(test_option_IDLSRCH) test_option.range conf/test_option.range + -rm -rf test_option + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_option_ccpc + ccp $(test_option_SOURCES) --formatter vim +endef + + +define test_option_cov + +endef + + + + +#---------------------end build target : test_option------------------ + +#----------------build target : test_rawdata-------------------- + +test_rawdata : CC := gcc +test_rawdata : CXX := g++ +test_rawdata : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_rawdata : CPPFLAGS := +test_rawdata : IDLFLAGS := +test_rawdata : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_rawdata : INCPATH := -I. -I.. $(DEP_INCPATH) +test_rawdata : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_rawdata : LDFLAGS := $(DEP_LDFLAGS) +test_rawdata : LINKFLAGS := -rdynamic + +test_rawdata_SOURCES := $(wildcard comake_autogen.cpp test_rawdata.cpp) +#test_rawdata_HEADERS := $(wildcard *.h) +test_rawdata_HEADERS := *.h +test_rawdata_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_rawdata_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_rawdata_IDLSRC)) +test_rawdata_IDLSRCH := $(patsubst %.idl,%.h, $(test_rawdata_IDLSRC)) +test_rawdata_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_rawdata.des) +test_rawdata_CONFRANGE := $(patsubst %.des,%.range, $(test_rawdata_CONFDES)) +test_rawdata_OBJS := $(test_rawdata_IDLSRC:.idl=.o) +test_rawdata_OBJS += $(test_rawdata_SOURCES:.c=.o) +test_rawdata_OBJS := $(test_rawdata_OBJS:.cc=.o) +test_rawdata_OBJS := $(test_rawdata_OBJS:.cpp=.o) +test_rawdata_OBJS := $(test_rawdata_OBJS:.cxx=.o) +test_rawdata_OBJS := $(test_rawdata_OBJS:.C=.o) +test_rawdata_OBJS := $(test_rawdata_OBJS:.idl=.o) +test_rawdata_OBJS := $(test_rawdata_OBJS:.yacc=.o) +test_rawdata_OBJS := $(test_rawdata_OBJS:.lex=.o) +test_rawdata : $(test_rawdata_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_rawdata_CONFDES);do cpp -C -o test_rawdata.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_rawdata.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_rawdata_output + mkdir -p output + mkdir -p output/bin + cp -rf test_rawdata output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_rawdata_clean + -rm -rf $(test_rawdata_OBJS) $(test_rawdata_IDLSRCCPP) $(test_rawdata_IDLSRCH) test_rawdata.range conf/test_rawdata.range + -rm -rf test_rawdata + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_rawdata_ccpc + ccp $(test_rawdata_SOURCES) --formatter vim +endef + + +define test_rawdata_cov + +endef + + + + +#---------------------end build target : test_rawdata------------------ + +#----------------build target : test_reader-------------------- + +test_reader : CC := gcc +test_reader : CXX := g++ +test_reader : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_reader : CPPFLAGS := +test_reader : IDLFLAGS := +test_reader : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_reader : INCPATH := -I. -I.. $(DEP_INCPATH) +test_reader : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_reader : LDFLAGS := $(DEP_LDFLAGS) +test_reader : LINKFLAGS := -rdynamic + +test_reader_SOURCES := $(wildcard comake_autogen.cpp test_reader.cpp) +#test_reader_HEADERS := $(wildcard *.h) +test_reader_HEADERS := *.h +test_reader_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_reader_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_reader_IDLSRC)) +test_reader_IDLSRCH := $(patsubst %.idl,%.h, $(test_reader_IDLSRC)) +test_reader_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_reader.des) +test_reader_CONFRANGE := $(patsubst %.des,%.range, $(test_reader_CONFDES)) +test_reader_OBJS := $(test_reader_IDLSRC:.idl=.o) +test_reader_OBJS += $(test_reader_SOURCES:.c=.o) +test_reader_OBJS := $(test_reader_OBJS:.cc=.o) +test_reader_OBJS := $(test_reader_OBJS:.cpp=.o) +test_reader_OBJS := $(test_reader_OBJS:.cxx=.o) +test_reader_OBJS := $(test_reader_OBJS:.C=.o) +test_reader_OBJS := $(test_reader_OBJS:.idl=.o) +test_reader_OBJS := $(test_reader_OBJS:.yacc=.o) +test_reader_OBJS := $(test_reader_OBJS:.lex=.o) +test_reader : $(test_reader_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_reader_CONFDES);do cpp -C -o test_reader.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_reader.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_reader_output + mkdir -p output + mkdir -p output/bin + cp -rf test_reader output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_reader_clean + -rm -rf $(test_reader_OBJS) $(test_reader_IDLSRCCPP) $(test_reader_IDLSRCH) test_reader.range conf/test_reader.range + -rm -rf test_reader + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_reader_ccpc + ccp $(test_reader_SOURCES) --formatter vim +endef + + +define test_reader_cov + +endef + + + + +#---------------------end build target : test_reader------------------ + +#----------------build target : test_rebuild-------------------- + +test_rebuild : CC := gcc +test_rebuild : CXX := g++ +test_rebuild : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_rebuild : CPPFLAGS := +test_rebuild : IDLFLAGS := +test_rebuild : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_rebuild : INCPATH := -I. -I.. $(DEP_INCPATH) +test_rebuild : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_rebuild : LDFLAGS := $(DEP_LDFLAGS) +test_rebuild : LINKFLAGS := -rdynamic + +test_rebuild_SOURCES := $(wildcard comake_autogen.cpp test_rebuild.cpp) +#test_rebuild_HEADERS := $(wildcard *.h) +test_rebuild_HEADERS := *.h +test_rebuild_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_rebuild_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_rebuild_IDLSRC)) +test_rebuild_IDLSRCH := $(patsubst %.idl,%.h, $(test_rebuild_IDLSRC)) +test_rebuild_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_rebuild.des) +test_rebuild_CONFRANGE := $(patsubst %.des,%.range, $(test_rebuild_CONFDES)) +test_rebuild_OBJS := $(test_rebuild_IDLSRC:.idl=.o) +test_rebuild_OBJS += $(test_rebuild_SOURCES:.c=.o) +test_rebuild_OBJS := $(test_rebuild_OBJS:.cc=.o) +test_rebuild_OBJS := $(test_rebuild_OBJS:.cpp=.o) +test_rebuild_OBJS := $(test_rebuild_OBJS:.cxx=.o) +test_rebuild_OBJS := $(test_rebuild_OBJS:.C=.o) +test_rebuild_OBJS := $(test_rebuild_OBJS:.idl=.o) +test_rebuild_OBJS := $(test_rebuild_OBJS:.yacc=.o) +test_rebuild_OBJS := $(test_rebuild_OBJS:.lex=.o) +test_rebuild : $(test_rebuild_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_rebuild_CONFDES);do cpp -C -o test_rebuild.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_rebuild.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_rebuild_output + mkdir -p output + mkdir -p output/bin + cp -rf test_rebuild output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_rebuild_clean + -rm -rf $(test_rebuild_OBJS) $(test_rebuild_IDLSRCCPP) $(test_rebuild_IDLSRCH) test_rebuild.range conf/test_rebuild.range + -rm -rf test_rebuild + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_rebuild_ccpc + ccp $(test_rebuild_SOURCES) --formatter vim +endef + + +define test_rebuild_cov + +endef + + + + +#---------------------end build target : test_rebuild------------------ + +#----------------build target : test_str-------------------- + +test_str : CC := gcc +test_str : CXX := g++ +test_str : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_str : CPPFLAGS := +test_str : IDLFLAGS := +test_str : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_str : INCPATH := -I. -I.. $(DEP_INCPATH) +test_str : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_str : LDFLAGS := $(DEP_LDFLAGS) +test_str : LINKFLAGS := -rdynamic + +test_str_SOURCES := $(wildcard comake_autogen.cpp test_str.cpp) +#test_str_HEADERS := $(wildcard *.h) +test_str_HEADERS := *.h +test_str_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_str_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_str_IDLSRC)) +test_str_IDLSRCH := $(patsubst %.idl,%.h, $(test_str_IDLSRC)) +test_str_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_str.des) +test_str_CONFRANGE := $(patsubst %.des,%.range, $(test_str_CONFDES)) +test_str_OBJS := $(test_str_IDLSRC:.idl=.o) +test_str_OBJS += $(test_str_SOURCES:.c=.o) +test_str_OBJS := $(test_str_OBJS:.cc=.o) +test_str_OBJS := $(test_str_OBJS:.cpp=.o) +test_str_OBJS := $(test_str_OBJS:.cxx=.o) +test_str_OBJS := $(test_str_OBJS:.C=.o) +test_str_OBJS := $(test_str_OBJS:.idl=.o) +test_str_OBJS := $(test_str_OBJS:.yacc=.o) +test_str_OBJS := $(test_str_OBJS:.lex=.o) +test_str : $(test_str_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_str_CONFDES);do cpp -C -o test_str.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_str.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_str_output + mkdir -p output + mkdir -p output/bin + cp -rf test_str output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_str_clean + -rm -rf $(test_str_OBJS) $(test_str_IDLSRCCPP) $(test_str_IDLSRCH) test_str.range conf/test_str.range + -rm -rf test_str + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_str_ccpc + ccp $(test_str_SOURCES) --formatter vim +endef + + +define test_str_cov + +endef + + + + +#---------------------end build target : test_str------------------ + +#----------------build target : test_t1-------------------- + +test_t1 : CC := gcc +test_t1 : CXX := g++ +test_t1 : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_t1 : CPPFLAGS := +test_t1 : IDLFLAGS := +test_t1 : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_t1 : INCPATH := -I. -I.. $(DEP_INCPATH) +test_t1 : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_t1 : LDFLAGS := $(DEP_LDFLAGS) +test_t1 : LINKFLAGS := -rdynamic + +test_t1_SOURCES := $(wildcard comake_autogen.cpp test_t1.cpp) +#test_t1_HEADERS := $(wildcard *.h) +test_t1_HEADERS := *.h +test_t1_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_t1_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_t1_IDLSRC)) +test_t1_IDLSRCH := $(patsubst %.idl,%.h, $(test_t1_IDLSRC)) +test_t1_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_t1.des) +test_t1_CONFRANGE := $(patsubst %.des,%.range, $(test_t1_CONFDES)) +test_t1_OBJS := $(test_t1_IDLSRC:.idl=.o) +test_t1_OBJS += $(test_t1_SOURCES:.c=.o) +test_t1_OBJS := $(test_t1_OBJS:.cc=.o) +test_t1_OBJS := $(test_t1_OBJS:.cpp=.o) +test_t1_OBJS := $(test_t1_OBJS:.cxx=.o) +test_t1_OBJS := $(test_t1_OBJS:.C=.o) +test_t1_OBJS := $(test_t1_OBJS:.idl=.o) +test_t1_OBJS := $(test_t1_OBJS:.yacc=.o) +test_t1_OBJS := $(test_t1_OBJS:.lex=.o) +test_t1 : $(test_t1_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_t1_CONFDES);do cpp -C -o test_t1.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_t1.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_t1_output + mkdir -p output + mkdir -p output/bin + cp -rf test_t1 output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_t1_clean + -rm -rf $(test_t1_OBJS) $(test_t1_IDLSRCCPP) $(test_t1_IDLSRCH) test_t1.range conf/test_t1.range + -rm -rf test_t1 + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_t1_ccpc + ccp $(test_t1_SOURCES) --formatter vim +endef + + +define test_t1_cov + +endef + + + + +#---------------------end build target : test_t1------------------ + +#----------------build target : test_trans_float-------------------- + +test_trans_float : CC := gcc +test_trans_float : CXX := g++ +test_trans_float : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_trans_float : CPPFLAGS := +test_trans_float : IDLFLAGS := +test_trans_float : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_trans_float : INCPATH := -I. -I.. $(DEP_INCPATH) +test_trans_float : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_trans_float : LDFLAGS := $(DEP_LDFLAGS) +test_trans_float : LINKFLAGS := -rdynamic + +test_trans_float_SOURCES := $(wildcard comake_autogen.cpp test_trans_float.cpp) +#test_trans_float_HEADERS := $(wildcard *.h) +test_trans_float_HEADERS := *.h +test_trans_float_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_trans_float_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_trans_float_IDLSRC)) +test_trans_float_IDLSRCH := $(patsubst %.idl,%.h, $(test_trans_float_IDLSRC)) +test_trans_float_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_trans_float.des) +test_trans_float_CONFRANGE := $(patsubst %.des,%.range, $(test_trans_float_CONFDES)) +test_trans_float_OBJS := $(test_trans_float_IDLSRC:.idl=.o) +test_trans_float_OBJS += $(test_trans_float_SOURCES:.c=.o) +test_trans_float_OBJS := $(test_trans_float_OBJS:.cc=.o) +test_trans_float_OBJS := $(test_trans_float_OBJS:.cpp=.o) +test_trans_float_OBJS := $(test_trans_float_OBJS:.cxx=.o) +test_trans_float_OBJS := $(test_trans_float_OBJS:.C=.o) +test_trans_float_OBJS := $(test_trans_float_OBJS:.idl=.o) +test_trans_float_OBJS := $(test_trans_float_OBJS:.yacc=.o) +test_trans_float_OBJS := $(test_trans_float_OBJS:.lex=.o) +test_trans_float : $(test_trans_float_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_trans_float_CONFDES);do cpp -C -o test_trans_float.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_trans_float.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_trans_float_output + mkdir -p output + mkdir -p output/bin + cp -rf test_trans_float output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_trans_float_clean + -rm -rf $(test_trans_float_OBJS) $(test_trans_float_IDLSRCCPP) $(test_trans_float_IDLSRCH) test_trans_float.range conf/test_trans_float.range + -rm -rf test_trans_float + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_trans_float_ccpc + ccp $(test_trans_float_SOURCES) --formatter vim +endef + + +define test_trans_float_cov + +endef + + + + +#---------------------end build target : test_trans_float------------------ + +#----------------build target : test_trans_str2str-------------------- + +test_trans_str2str : CC := gcc +test_trans_str2str : CXX := g++ +test_trans_str2str : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_trans_str2str : CPPFLAGS := +test_trans_str2str : IDLFLAGS := +test_trans_str2str : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_trans_str2str : INCPATH := -I. -I.. $(DEP_INCPATH) +test_trans_str2str : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_trans_str2str : LDFLAGS := $(DEP_LDFLAGS) +test_trans_str2str : LINKFLAGS := -rdynamic + +test_trans_str2str_SOURCES := $(wildcard comake_autogen.cpp test_trans_str2str.cpp) +#test_trans_str2str_HEADERS := $(wildcard *.h) +test_trans_str2str_HEADERS := *.h +test_trans_str2str_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_trans_str2str_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_trans_str2str_IDLSRC)) +test_trans_str2str_IDLSRCH := $(patsubst %.idl,%.h, $(test_trans_str2str_IDLSRC)) +test_trans_str2str_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_trans_str2str.des) +test_trans_str2str_CONFRANGE := $(patsubst %.des,%.range, $(test_trans_str2str_CONFDES)) +test_trans_str2str_OBJS := $(test_trans_str2str_IDLSRC:.idl=.o) +test_trans_str2str_OBJS += $(test_trans_str2str_SOURCES:.c=.o) +test_trans_str2str_OBJS := $(test_trans_str2str_OBJS:.cc=.o) +test_trans_str2str_OBJS := $(test_trans_str2str_OBJS:.cpp=.o) +test_trans_str2str_OBJS := $(test_trans_str2str_OBJS:.cxx=.o) +test_trans_str2str_OBJS := $(test_trans_str2str_OBJS:.C=.o) +test_trans_str2str_OBJS := $(test_trans_str2str_OBJS:.idl=.o) +test_trans_str2str_OBJS := $(test_trans_str2str_OBJS:.yacc=.o) +test_trans_str2str_OBJS := $(test_trans_str2str_OBJS:.lex=.o) +test_trans_str2str : $(test_trans_str2str_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_trans_str2str_CONFDES);do cpp -C -o test_trans_str2str.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_trans_str2str.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_trans_str2str_output + mkdir -p output + mkdir -p output/bin + cp -rf test_trans_str2str output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_trans_str2str_clean + -rm -rf $(test_trans_str2str_OBJS) $(test_trans_str2str_IDLSRCCPP) $(test_trans_str2str_IDLSRCH) test_trans_str2str.range conf/test_trans_str2str.range + -rm -rf test_trans_str2str + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_trans_str2str_ccpc + ccp $(test_trans_str2str_SOURCES) --formatter vim +endef + + +define test_trans_str2str_cov + +endef + + + + +#---------------------end build target : test_trans_str2str------------------ + +#----------------build target : test_xiaowei-------------------- + +test_xiaowei : CC := gcc +test_xiaowei : CXX := g++ +test_xiaowei : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_xiaowei : CPPFLAGS := +test_xiaowei : IDLFLAGS := +test_xiaowei : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_xiaowei : INCPATH := -I. -I.. $(DEP_INCPATH) +test_xiaowei : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_xiaowei : LDFLAGS := $(DEP_LDFLAGS) +test_xiaowei : LINKFLAGS := -rdynamic + +test_xiaowei_SOURCES := $(wildcard comake_autogen.cpp test_xiaowei.cpp) +#test_xiaowei_HEADERS := $(wildcard *.h) +test_xiaowei_HEADERS := *.h +test_xiaowei_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_xiaowei_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_xiaowei_IDLSRC)) +test_xiaowei_IDLSRCH := $(patsubst %.idl,%.h, $(test_xiaowei_IDLSRC)) +test_xiaowei_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_xiaowei.des) +test_xiaowei_CONFRANGE := $(patsubst %.des,%.range, $(test_xiaowei_CONFDES)) +test_xiaowei_OBJS := $(test_xiaowei_IDLSRC:.idl=.o) +test_xiaowei_OBJS += $(test_xiaowei_SOURCES:.c=.o) +test_xiaowei_OBJS := $(test_xiaowei_OBJS:.cc=.o) +test_xiaowei_OBJS := $(test_xiaowei_OBJS:.cpp=.o) +test_xiaowei_OBJS := $(test_xiaowei_OBJS:.cxx=.o) +test_xiaowei_OBJS := $(test_xiaowei_OBJS:.C=.o) +test_xiaowei_OBJS := $(test_xiaowei_OBJS:.idl=.o) +test_xiaowei_OBJS := $(test_xiaowei_OBJS:.yacc=.o) +test_xiaowei_OBJS := $(test_xiaowei_OBJS:.lex=.o) +test_xiaowei : $(test_xiaowei_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_xiaowei_CONFDES);do cpp -C -o test_xiaowei.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_xiaowei.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_xiaowei_output + mkdir -p output + mkdir -p output/bin + cp -rf test_xiaowei output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_xiaowei_clean + -rm -rf $(test_xiaowei_OBJS) $(test_xiaowei_IDLSRCCPP) $(test_xiaowei_IDLSRCH) test_xiaowei.range conf/test_xiaowei.range + -rm -rf test_xiaowei + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_xiaowei_ccpc + ccp $(test_xiaowei_SOURCES) --formatter vim +endef + + +define test_xiaowei_cov + +endef + + + + +#---------------------end build target : test_xiaowei------------------ + +#----------------build target : test_cfg2-------------------- + +test_cfg2 : CC := gcc +test_cfg2 : CXX := g++ +test_cfg2 : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_cfg2 : CPPFLAGS := +test_cfg2 : IDLFLAGS := +test_cfg2 : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_cfg2 : INCPATH := -I. -I.. $(DEP_INCPATH) +test_cfg2 : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_cfg2 : LDFLAGS := $(DEP_LDFLAGS) +test_cfg2 : LINKFLAGS := -rdynamic + +test_cfg2_SOURCES := $(wildcard comake_autogen.cpp test_cfg2.cpp) +#test_cfg2_HEADERS := $(wildcard *.h) +test_cfg2_HEADERS := *.h +test_cfg2_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_cfg2_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_cfg2_IDLSRC)) +test_cfg2_IDLSRCH := $(patsubst %.idl,%.h, $(test_cfg2_IDLSRC)) +test_cfg2_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_cfg2.des) +test_cfg2_CONFRANGE := $(patsubst %.des,%.range, $(test_cfg2_CONFDES)) +test_cfg2_OBJS := $(test_cfg2_IDLSRC:.idl=.o) +test_cfg2_OBJS += $(test_cfg2_SOURCES:.c=.o) +test_cfg2_OBJS := $(test_cfg2_OBJS:.cc=.o) +test_cfg2_OBJS := $(test_cfg2_OBJS:.cpp=.o) +test_cfg2_OBJS := $(test_cfg2_OBJS:.cxx=.o) +test_cfg2_OBJS := $(test_cfg2_OBJS:.C=.o) +test_cfg2_OBJS := $(test_cfg2_OBJS:.idl=.o) +test_cfg2_OBJS := $(test_cfg2_OBJS:.yacc=.o) +test_cfg2_OBJS := $(test_cfg2_OBJS:.lex=.o) +test_cfg2 : $(test_cfg2_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_cfg2_CONFDES);do cpp -C -o test_cfg2.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_cfg2.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_cfg2_output + mkdir -p output + mkdir -p output/bin + cp -rf test_cfg2 output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_cfg2_clean + -rm -rf $(test_cfg2_OBJS) $(test_cfg2_IDLSRCCPP) $(test_cfg2_IDLSRCH) test_cfg2.range conf/test_cfg2.range + -rm -rf test_cfg2 + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_cfg2_ccpc + ccp $(test_cfg2_SOURCES) --formatter vim +endef + + +define test_cfg2_cov + +endef + + + + +#---------------------end build target : test_cfg2------------------ + +#----------------build target : test_cfg3-------------------- + +test_cfg3 : CC := gcc +test_cfg3 : CXX := g++ +test_cfg3 : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_cfg3 : CPPFLAGS := +test_cfg3 : IDLFLAGS := +test_cfg3 : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_cfg3 : INCPATH := -I. -I.. $(DEP_INCPATH) +test_cfg3 : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_cfg3 : LDFLAGS := $(DEP_LDFLAGS) +test_cfg3 : LINKFLAGS := -rdynamic + +test_cfg3_SOURCES := $(wildcard comake_autogen.cpp test_cfg3.cpp) +#test_cfg3_HEADERS := $(wildcard *.h) +test_cfg3_HEADERS := *.h +test_cfg3_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_cfg3_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_cfg3_IDLSRC)) +test_cfg3_IDLSRCH := $(patsubst %.idl,%.h, $(test_cfg3_IDLSRC)) +test_cfg3_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_cfg3.des) +test_cfg3_CONFRANGE := $(patsubst %.des,%.range, $(test_cfg3_CONFDES)) +test_cfg3_OBJS := $(test_cfg3_IDLSRC:.idl=.o) +test_cfg3_OBJS += $(test_cfg3_SOURCES:.c=.o) +test_cfg3_OBJS := $(test_cfg3_OBJS:.cc=.o) +test_cfg3_OBJS := $(test_cfg3_OBJS:.cpp=.o) +test_cfg3_OBJS := $(test_cfg3_OBJS:.cxx=.o) +test_cfg3_OBJS := $(test_cfg3_OBJS:.C=.o) +test_cfg3_OBJS := $(test_cfg3_OBJS:.idl=.o) +test_cfg3_OBJS := $(test_cfg3_OBJS:.yacc=.o) +test_cfg3_OBJS := $(test_cfg3_OBJS:.lex=.o) +test_cfg3 : $(test_cfg3_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_cfg3_CONFDES);do cpp -C -o test_cfg3.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_cfg3.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_cfg3_output + mkdir -p output + mkdir -p output/bin + cp -rf test_cfg3 output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_cfg3_clean + -rm -rf $(test_cfg3_OBJS) $(test_cfg3_IDLSRCCPP) $(test_cfg3_IDLSRCH) test_cfg3.range conf/test_cfg3.range + -rm -rf test_cfg3 + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_cfg3_ccpc + ccp $(test_cfg3_SOURCES) --formatter vim +endef + + +define test_cfg3_cov + +endef + + + + +#---------------------end build target : test_cfg3------------------ + +#----------------build target : test_zr-------------------- + +test_zr : CC := gcc +test_zr : CXX := g++ +test_zr : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_zr : CPPFLAGS := +test_zr : IDLFLAGS := +test_zr : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_zr : INCPATH := -I. -I.. $(DEP_INCPATH) +test_zr : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_zr : LDFLAGS := $(DEP_LDFLAGS) +test_zr : LINKFLAGS := -rdynamic + +test_zr_SOURCES := $(wildcard comake_autogen.cpp test_zr.cpp) +#test_zr_HEADERS := $(wildcard *.h) +test_zr_HEADERS := *.h +test_zr_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_zr_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_zr_IDLSRC)) +test_zr_IDLSRCH := $(patsubst %.idl,%.h, $(test_zr_IDLSRC)) +test_zr_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_zr.des) +test_zr_CONFRANGE := $(patsubst %.des,%.range, $(test_zr_CONFDES)) +test_zr_OBJS := $(test_zr_IDLSRC:.idl=.o) +test_zr_OBJS += $(test_zr_SOURCES:.c=.o) +test_zr_OBJS := $(test_zr_OBJS:.cc=.o) +test_zr_OBJS := $(test_zr_OBJS:.cpp=.o) +test_zr_OBJS := $(test_zr_OBJS:.cxx=.o) +test_zr_OBJS := $(test_zr_OBJS:.C=.o) +test_zr_OBJS := $(test_zr_OBJS:.idl=.o) +test_zr_OBJS := $(test_zr_OBJS:.yacc=.o) +test_zr_OBJS := $(test_zr_OBJS:.lex=.o) +test_zr : $(test_zr_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_zr_CONFDES);do cpp -C -o test_zr.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_zr.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_zr_output + mkdir -p output + mkdir -p output/bin + cp -rf test_zr output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_zr_clean + -rm -rf $(test_zr_OBJS) $(test_zr_IDLSRCCPP) $(test_zr_IDLSRCH) test_zr.range conf/test_zr.range + -rm -rf test_zr + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_zr_ccpc + ccp $(test_zr_SOURCES) --formatter vim +endef + + +define test_zr_cov + +endef + + + + +#---------------------end build target : test_zr------------------ + +#----------------build target : test_to_default-------------------- + +test_to_default : CC := gcc +test_to_default : CXX := g++ +test_to_default : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_to_default : CPPFLAGS := +test_to_default : IDLFLAGS := +test_to_default : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_to_default : INCPATH := -I. -I.. $(DEP_INCPATH) +test_to_default : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_to_default : LDFLAGS := $(DEP_LDFLAGS) +test_to_default : LINKFLAGS := -rdynamic + +test_to_default_SOURCES := $(wildcard comake_autogen.cpp test_to_default.cpp) +#test_to_default_HEADERS := $(wildcard *.h) +test_to_default_HEADERS := *.h +test_to_default_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_to_default_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_to_default_IDLSRC)) +test_to_default_IDLSRCH := $(patsubst %.idl,%.h, $(test_to_default_IDLSRC)) +test_to_default_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_to_default.des) +test_to_default_CONFRANGE := $(patsubst %.des,%.range, $(test_to_default_CONFDES)) +test_to_default_OBJS := $(test_to_default_IDLSRC:.idl=.o) +test_to_default_OBJS += $(test_to_default_SOURCES:.c=.o) +test_to_default_OBJS := $(test_to_default_OBJS:.cc=.o) +test_to_default_OBJS := $(test_to_default_OBJS:.cpp=.o) +test_to_default_OBJS := $(test_to_default_OBJS:.cxx=.o) +test_to_default_OBJS := $(test_to_default_OBJS:.C=.o) +test_to_default_OBJS := $(test_to_default_OBJS:.idl=.o) +test_to_default_OBJS := $(test_to_default_OBJS:.yacc=.o) +test_to_default_OBJS := $(test_to_default_OBJS:.lex=.o) +test_to_default : $(test_to_default_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_to_default_CONFDES);do cpp -C -o test_to_default.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_to_default.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_to_default_output + mkdir -p output + mkdir -p output/bin + cp -rf test_to_default output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_to_default_clean + -rm -rf $(test_to_default_OBJS) $(test_to_default_IDLSRCCPP) $(test_to_default_IDLSRCH) test_to_default.range conf/test_to_default.range + -rm -rf test_to_default + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_to_default_ccpc + ccp $(test_to_default_SOURCES) --formatter vim +endef + + +define test_to_default_cov + +endef + + + + +#---------------------end build target : test_to_default------------------ + +#----------------build target : test_checkone-------------------- + +test_checkone : CC := gcc +test_checkone : CXX := g++ +test_checkone : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_checkone : CPPFLAGS := +test_checkone : IDLFLAGS := +test_checkone : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_checkone : INCPATH := -I. -I.. $(DEP_INCPATH) +test_checkone : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_checkone : LDFLAGS := $(DEP_LDFLAGS) +test_checkone : LINKFLAGS := -rdynamic + +test_checkone_SOURCES := $(wildcard comake_autogen.cpp test_checkone.cpp) +#test_checkone_HEADERS := $(wildcard *.h) +test_checkone_HEADERS := *.h +test_checkone_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_checkone_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_checkone_IDLSRC)) +test_checkone_IDLSRCH := $(patsubst %.idl,%.h, $(test_checkone_IDLSRC)) +test_checkone_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_checkone.des) +test_checkone_CONFRANGE := $(patsubst %.des,%.range, $(test_checkone_CONFDES)) +test_checkone_OBJS := $(test_checkone_IDLSRC:.idl=.o) +test_checkone_OBJS += $(test_checkone_SOURCES:.c=.o) +test_checkone_OBJS := $(test_checkone_OBJS:.cc=.o) +test_checkone_OBJS := $(test_checkone_OBJS:.cpp=.o) +test_checkone_OBJS := $(test_checkone_OBJS:.cxx=.o) +test_checkone_OBJS := $(test_checkone_OBJS:.C=.o) +test_checkone_OBJS := $(test_checkone_OBJS:.idl=.o) +test_checkone_OBJS := $(test_checkone_OBJS:.yacc=.o) +test_checkone_OBJS := $(test_checkone_OBJS:.lex=.o) +test_checkone : $(test_checkone_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_checkone_CONFDES);do cpp -C -o test_checkone.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_checkone.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_checkone_output + mkdir -p output + mkdir -p output/bin + cp -rf test_checkone output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_checkone_clean + -rm -rf $(test_checkone_OBJS) $(test_checkone_IDLSRCCPP) $(test_checkone_IDLSRCH) test_checkone.range conf/test_checkone.range + -rm -rf test_checkone + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_checkone_ccpc + ccp $(test_checkone_SOURCES) --formatter vim +endef + + +define test_checkone_cov + +endef + + + + +#---------------------end build target : test_checkone------------------ + +#----------------build target : test_reloader-------------------- + +test_reloader : CC := gcc +test_reloader : CXX := g++ +test_reloader : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_reloader : CPPFLAGS := +test_reloader : IDLFLAGS := +test_reloader : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_reloader : INCPATH := -I. -I.. $(DEP_INCPATH) +test_reloader : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_reloader : LDFLAGS := $(DEP_LDFLAGS) +test_reloader : LINKFLAGS := -rdynamic + +test_reloader_SOURCES := $(wildcard comake_autogen.cpp test_reloader.cpp) +#test_reloader_HEADERS := $(wildcard *.h) +test_reloader_HEADERS := *.h +test_reloader_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_reloader_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_reloader_IDLSRC)) +test_reloader_IDLSRCH := $(patsubst %.idl,%.h, $(test_reloader_IDLSRC)) +test_reloader_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_reloader.des) +test_reloader_CONFRANGE := $(patsubst %.des,%.range, $(test_reloader_CONFDES)) +test_reloader_OBJS := $(test_reloader_IDLSRC:.idl=.o) +test_reloader_OBJS += $(test_reloader_SOURCES:.c=.o) +test_reloader_OBJS := $(test_reloader_OBJS:.cc=.o) +test_reloader_OBJS := $(test_reloader_OBJS:.cpp=.o) +test_reloader_OBJS := $(test_reloader_OBJS:.cxx=.o) +test_reloader_OBJS := $(test_reloader_OBJS:.C=.o) +test_reloader_OBJS := $(test_reloader_OBJS:.idl=.o) +test_reloader_OBJS := $(test_reloader_OBJS:.yacc=.o) +test_reloader_OBJS := $(test_reloader_OBJS:.lex=.o) +test_reloader : $(test_reloader_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_reloader_CONFDES);do cpp -C -o test_reloader.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_reloader.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_reloader_output + mkdir -p output + mkdir -p output/bin + cp -rf test_reloader output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_reloader_clean + -rm -rf $(test_reloader_OBJS) $(test_reloader_IDLSRCCPP) $(test_reloader_IDLSRCH) test_reloader.range conf/test_reloader.range + -rm -rf test_reloader + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_reloader_ccpc + ccp $(test_reloader_SOURCES) --formatter vim +endef + + +define test_reloader_cov + +endef + + + + +#---------------------end build target : test_reloader------------------ + +#----------------build target : test_sigreload-------------------- + +test_sigreload : CC := gcc +test_sigreload : CXX := g++ +test_sigreload : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_sigreload : CPPFLAGS := +test_sigreload : IDLFLAGS := +test_sigreload : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_sigreload : INCPATH := -I. -I.. $(DEP_INCPATH) +test_sigreload : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_sigreload : LDFLAGS := $(DEP_LDFLAGS) +test_sigreload : LINKFLAGS := -rdynamic + +test_sigreload_SOURCES := $(wildcard comake_autogen.cpp test_sigreload.cpp) +#test_sigreload_HEADERS := $(wildcard *.h) +test_sigreload_HEADERS := *.h +test_sigreload_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_sigreload_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_sigreload_IDLSRC)) +test_sigreload_IDLSRCH := $(patsubst %.idl,%.h, $(test_sigreload_IDLSRC)) +test_sigreload_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_sigreload.des) +test_sigreload_CONFRANGE := $(patsubst %.des,%.range, $(test_sigreload_CONFDES)) +test_sigreload_OBJS := $(test_sigreload_IDLSRC:.idl=.o) +test_sigreload_OBJS += $(test_sigreload_SOURCES:.c=.o) +test_sigreload_OBJS := $(test_sigreload_OBJS:.cc=.o) +test_sigreload_OBJS := $(test_sigreload_OBJS:.cpp=.o) +test_sigreload_OBJS := $(test_sigreload_OBJS:.cxx=.o) +test_sigreload_OBJS := $(test_sigreload_OBJS:.C=.o) +test_sigreload_OBJS := $(test_sigreload_OBJS:.idl=.o) +test_sigreload_OBJS := $(test_sigreload_OBJS:.yacc=.o) +test_sigreload_OBJS := $(test_sigreload_OBJS:.lex=.o) +test_sigreload : $(test_sigreload_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_sigreload_CONFDES);do cpp -C -o test_sigreload.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_sigreload.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_sigreload_output + mkdir -p output + mkdir -p output/bin + cp -rf test_sigreload output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_sigreload_clean + -rm -rf $(test_sigreload_OBJS) $(test_sigreload_IDLSRCCPP) $(test_sigreload_IDLSRCH) test_sigreload.range conf/test_sigreload.range + -rm -rf test_sigreload + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_sigreload_ccpc + ccp $(test_sigreload_SOURCES) --formatter vim +endef + + +define test_sigreload_cov + +endef + + + + +#---------------------end build target : test_sigreload------------------ + +#----------------build target : test_filereload-------------------- + +test_filereload : CC := gcc +test_filereload : CXX := g++ +test_filereload : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_filereload : CPPFLAGS := +test_filereload : IDLFLAGS := +test_filereload : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_filereload : INCPATH := -I. -I.. $(DEP_INCPATH) +test_filereload : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_filereload : LDFLAGS := $(DEP_LDFLAGS) +test_filereload : LINKFLAGS := -rdynamic + +test_filereload_SOURCES := $(wildcard comake_autogen.cpp test_filereload.cpp) +#test_filereload_HEADERS := $(wildcard *.h) +test_filereload_HEADERS := *.h +test_filereload_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_filereload_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_filereload_IDLSRC)) +test_filereload_IDLSRCH := $(patsubst %.idl,%.h, $(test_filereload_IDLSRC)) +test_filereload_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_filereload.des) +test_filereload_CONFRANGE := $(patsubst %.des,%.range, $(test_filereload_CONFDES)) +test_filereload_OBJS := $(test_filereload_IDLSRC:.idl=.o) +test_filereload_OBJS += $(test_filereload_SOURCES:.c=.o) +test_filereload_OBJS := $(test_filereload_OBJS:.cc=.o) +test_filereload_OBJS := $(test_filereload_OBJS:.cpp=.o) +test_filereload_OBJS := $(test_filereload_OBJS:.cxx=.o) +test_filereload_OBJS := $(test_filereload_OBJS:.C=.o) +test_filereload_OBJS := $(test_filereload_OBJS:.idl=.o) +test_filereload_OBJS := $(test_filereload_OBJS:.yacc=.o) +test_filereload_OBJS := $(test_filereload_OBJS:.lex=.o) +test_filereload : $(test_filereload_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_filereload_CONFDES);do cpp -C -o test_filereload.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_filereload.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_filereload_output + mkdir -p output + mkdir -p output/bin + cp -rf test_filereload output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_filereload_clean + -rm -rf $(test_filereload_OBJS) $(test_filereload_IDLSRCCPP) $(test_filereload_IDLSRCH) test_filereload.range conf/test_filereload.range + -rm -rf test_filereload + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_filereload_ccpc + ccp $(test_filereload_SOURCES) --formatter vim +endef + + +define test_filereload_cov + +endef + + + + +#---------------------end build target : test_filereload------------------ + +#----------------build target : test_setvalue-------------------- + +test_setvalue : CC := gcc +test_setvalue : CXX := g++ +test_setvalue : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_setvalue : CPPFLAGS := +test_setvalue : IDLFLAGS := +test_setvalue : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +test_setvalue : INCPATH := -I. -I.. $(DEP_INCPATH) +test_setvalue : LDLIBS := -lcrypto -lm -lpthread $(DEP_LDLIBS) +test_setvalue : LDFLAGS := $(DEP_LDFLAGS) +test_setvalue : LINKFLAGS := -rdynamic + +test_setvalue_SOURCES := $(wildcard comake_autogen.cpp test_setvalue.cpp) +#test_setvalue_HEADERS := $(wildcard *.h) +test_setvalue_HEADERS := *.h +test_setvalue_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +test_setvalue_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(test_setvalue_IDLSRC)) +test_setvalue_IDLSRCH := $(patsubst %.idl,%.h, $(test_setvalue_IDLSRC)) +test_setvalue_CONFDES := $(wildcard __$CONFDES$_VALUE$__ test_setvalue.des) +test_setvalue_CONFRANGE := $(patsubst %.des,%.range, $(test_setvalue_CONFDES)) +test_setvalue_OBJS := $(test_setvalue_IDLSRC:.idl=.o) +test_setvalue_OBJS += $(test_setvalue_SOURCES:.c=.o) +test_setvalue_OBJS := $(test_setvalue_OBJS:.cc=.o) +test_setvalue_OBJS := $(test_setvalue_OBJS:.cpp=.o) +test_setvalue_OBJS := $(test_setvalue_OBJS:.cxx=.o) +test_setvalue_OBJS := $(test_setvalue_OBJS:.C=.o) +test_setvalue_OBJS := $(test_setvalue_OBJS:.idl=.o) +test_setvalue_OBJS := $(test_setvalue_OBJS:.yacc=.o) +test_setvalue_OBJS := $(test_setvalue_OBJS:.lex=.o) +test_setvalue : $(test_setvalue_OBJS) + @echo "force_clean" + $(foreach n, $(wildcard ), $(if ifeq($(suffix $(n)), .c), $(CC) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); , $(CXX) -c -o $(basename $(n)).o $(n) $(CXXFLAGS) $(CPPFLAGS) $(INCPATH); )) + @`for x in $(test_setvalue_CONFDES);do cpp -C -o test_setvalue.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp test_setvalue.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define test_setvalue_output + mkdir -p output + mkdir -p output/bin + cp -rf test_setvalue output/bin + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define test_setvalue_clean + -rm -rf $(test_setvalue_OBJS) $(test_setvalue_IDLSRCCPP) $(test_setvalue_IDLSRCH) test_setvalue.range conf/test_setvalue.range + -rm -rf test_setvalue + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define test_setvalue_ccpc + ccp $(test_setvalue_SOURCES) --formatter vim +endef + + +define test_setvalue_cov + +endef + + + + +#---------------------end build target : test_setvalue------------------ + +define _output + $(test_get_default_output) + $(test_1010new_output) + $(test_ivar_output) + $(test_auto_output) + $(test_cfg_output) + $(test_conf_output) + $(test_demo_output) + $(test_err_output) + $(test_get_value_output) + $(test_option_output) + $(test_rawdata_output) + $(test_reader_output) + $(test_rebuild_output) + $(test_str_output) + $(test_t1_output) + $(test_trans_float_output) + $(test_trans_str2str_output) + $(test_xiaowei_output) + $(test_cfg2_output) + $(test_cfg3_output) + $(test_zr_output) + $(test_to_default_output) + $(test_checkone_output) + $(test_reloader_output) + $(test_sigreload_output) + $(test_filereload_output) + $(test_setvalue_output) +endef + + +define _clean + $(test_get_default_clean) + $(test_1010new_clean) + $(test_ivar_clean) + $(test_auto_clean) + $(test_cfg_clean) + $(test_conf_clean) + $(test_demo_clean) + $(test_err_clean) + $(test_get_value_clean) + $(test_option_clean) + $(test_rawdata_clean) + $(test_reader_clean) + $(test_rebuild_clean) + $(test_str_clean) + $(test_t1_clean) + $(test_trans_float_clean) + $(test_trans_str2str_clean) + $(test_xiaowei_clean) + $(test_cfg2_clean) + $(test_cfg3_clean) + $(test_zr_clean) + $(test_to_default_clean) + $(test_checkone_clean) + $(test_reloader_clean) + $(test_sigreload_clean) + $(test_filereload_clean) + $(test_setvalue_clean) +endef + + +ccpc : + $(test_get_default_ccpc) + $(test_1010new_ccpc) + $(test_ivar_ccpc) + $(test_auto_ccpc) + $(test_cfg_ccpc) + $(test_conf_ccpc) + $(test_demo_ccpc) + $(test_err_ccpc) + $(test_get_value_ccpc) + $(test_option_ccpc) + $(test_rawdata_ccpc) + $(test_reader_ccpc) + $(test_rebuild_ccpc) + $(test_str_ccpc) + $(test_t1_ccpc) + $(test_trans_float_ccpc) + $(test_trans_str2str_ccpc) + $(test_xiaowei_ccpc) + $(test_cfg2_ccpc) + $(test_cfg3_ccpc) + $(test_zr_ccpc) + $(test_to_default_ccpc) + $(test_checkone_ccpc) + $(test_reloader_ccpc) + $(test_sigreload_ccpc) + $(test_filereload_ccpc) + $(test_setvalue_ccpc) + +cov : + cov01 -1 + make clean + make + cov01 -0 + + + +output : test_get_default test_1010new test_ivar test_auto test_cfg test_conf test_demo test_err test_get_value test_option test_rawdata test_reader test_rebuild test_str test_t1 test_trans_float test_trans_str2str test_xiaowei test_cfg2 test_cfg3 test_zr test_to_default test_checkone test_reloader test_sigreload test_filereload test_setvalue + $(_output) + rm -rf $(MAKDEP) + +$(MAKDEP) : $(wildcard comake_autogen.cpp test_get_default.cpp test_1010new.cpp test_ivar.cpp test_auto.cpp test_cfg.cpp test_conf.cpp test_demo.cpp test_err.cpp test_get_value.cpp test_option.cpp test_rawdata.cpp test_reader.cpp test_rebuild.cpp test_str.cpp test_t1.cpp test_trans_float.cpp test_trans_str2str.cpp test_xiaowei.cpp test_cfg2.cpp test_cfg3.cpp test_zr.cpp test_to_default.cpp test_checkone.cpp test_reloader.cpp test_sigreload.cpp test_filereload.cpp test_setvalue.cpp) + -$(CC) -MG -MM $(CPPFLAGS) $(INCPATH) $(DEP_INCPATH) $^ > $@ + +clean: + $(_clean) + rm -rf $(MAKDEP) + + diff --git a/configure/test/checkone.conf b/configure/test/checkone.conf new file mode 100644 index 00000000..54e79ac8 --- /dev/null +++ b/configure/test/checkone.conf @@ -0,0 +1,4 @@ +#配置文件 +[server] +port : 9900 +ip : 127.0.0.1 diff --git a/configure/test/checkone.range b/configure/test/checkone.range new file mode 100644 index 00000000..5954b8aa --- /dev/null +++ b/configure/test/checkone.range @@ -0,0 +1,7 @@ +//约束文件:server.range +struct server_t{ + int32_t port = range(1024, 65535); + string ip = ip(); +}; +//然后我们就可以使用这种类型了 +server_t server; diff --git a/configure/test/clt.des b/configure/test/clt.des new file mode 100644 index 00000000..550106f2 --- /dev/null +++ b/configure/test/clt.des @@ -0,0 +1,14 @@ +#ifndef CLT_DES +#define CLT_DES + +struct ubclt //设置ub客户端 +{ + string name = default("default"); //请求服务器文件名 + string ip[]; //服务器ip数组 @ip 127.0.0.1 + int32_t port = default(5000); //请求服务器数组 + int32_t read_timeout = default(500); + int32_t write_timeout = default(500); + int32_t connect_timeout = default(200); +}; + +#endif diff --git a/configure/test/comlog.range b/configure/test/comlog.range new file mode 100644 index 00000000..00e771b7 --- /dev/null +++ b/configure/test/comlog.range @@ -0,0 +1,49 @@ +struct appender_t{ + string type; + string path; + string file; + string auth = default(""); + string reserved1 = default(""); + string reserved2 = default(""); + string reserved3 = default(""); + string reserved4 = default(""); + + string split_type = default("TRUNCT");//切割方式 + uint32_t log_size = default(2048);//回滚日志的大小 + int32_t open = range(0,1), default(1);//是否启用 + int32_t compress = range(0,1), default(0);//是否压缩 + uint32_t cuttime = default(60);//切割周期 + + uint32_t syslevel = range(0,31), default(16);//支持的系统日志级别 + string selflevel = default("");//支持的自定义日志级别 + string layout = default("");//打印出来的日志的格式 + string layout_ndc = default("");//打印的Key:value对的格式 +}; + + +struct comlog_t{ + string procname = default("NoModuleName");//进程名 + int32_t level = default(16);//日志级别的总控开关 + appender_t device[];//设备数组 + string selfdefine = default("");//自定义级别 +}; + +comlog_t comlog; +int32_t tt = default(16); + +struct A{ + int32_t a; +}; + +struct B{ + uint32_t b; +}; + +struct C{ + A a; + B b; + int32_t tt; + A a2; +}; + +C c; diff --git a/configure/test/gentest.sh b/configure/test/gentest.sh new file mode 100644 index 00000000..e53edd0c --- /dev/null +++ b/configure/test/gentest.sh @@ -0,0 +1,30 @@ +S=(char uchar int16 uint16 int32 uint32 int64 uint64 float double std_string) +for ((i=0;i<${#S[*]};i++)) ; do + echo ""; + echo '//========= Test '${S[$i]}'=============' + echo "try{" + echo ${S[$i]} a$i = $1.to_${S[$i]}"();" ; + echo 'std::cerr<<"to '${S[$i]}' successful, value = "< ./test_conf.log +diff ./test_conf.res ./test_conf.log >> res + + +echo ====RUN ./test_demo==== +./test_demo > ./test_demo.log +diff ./test_demo.res ./test_demo.log >> res + + +echo ====RUN ./test_err==== +./test_err > ./test_err.log +diff ./test_err.res ./test_err.log >> res + + +echo ====RUN ./test_get_value==== +./test_get_value > ./test_get_value.log +diff ./test_get_value.res ./test_get_value.log >> res + + +echo ====RUN ./test_option==== +./test_option > ./test_option.log +diff ./test_option.res ./test_option.log >> res + + +echo ====RUN ./test_rawdata==== +./test_rawdata > ./test_rawdata.log +diff ./test_rawdata.res ./test_rawdata.log >> res + + +echo ====RUN ./test_reader==== +./test_reader > ./test_reader.log +diff ./test_reader.res ./test_reader.log >> res + + +echo ====RUN ./test_rebuild==== +./test_rebuild > ./test_rebuild.log +diff ./test_rebuild.res ./test_rebuild.log >> res + + +echo ====RUN ./test_str==== +./test_str > ./test_str.log +diff ./test_str.res ./test_str.log >> res + + +echo ====RUN ./test_t1==== +./test_t1 > ./test_t1.log +diff ./test_t1.res ./test_t1.log >> res + + +echo ====RUN ./test_trans_float==== +./test_trans_float > ./test_trans_float.log +diff ./test_trans_float.res ./test_trans_float.log >> res + + +echo ====RUN ./test_trans_str2str==== +./test_trans_str2str > ./test_trans_str2str.log +diff ./test_trans_str2str.res ./test_trans_str2str.log >> res + + +echo ====RUN ./test_xiaowei==== +./test_xiaowei > ./test_xiaowei.log +diff ./test_xiaowei.res ./test_xiaowei.log >> res + +echo ======= Done! ============== +echo +echo | awk '{print "\033[1;32mIf *.log is diff to *.res, the diff is written to \033[31mres\033[m"}' +echo diff --git a/configure/test/str.conf b/configure/test/str.conf new file mode 100644 index 00000000..9ffcf4eb --- /dev/null +++ b/configure/test/str.conf @@ -0,0 +1,2 @@ +str1 : "xyz\x41\x42\x43" +str2 : x234567890y234567890 diff --git a/configure/test/str2str b/configure/test/str2str new file mode 100644 index 00000000..cb4dbcf4 --- /dev/null +++ b/configure/test/str2str @@ -0,0 +1,6 @@ +"test" +"Haha"ddd +"\tThis is \"Hawk\".\n"sadf +askdfj;aj jaskdfj;askf +"\x41---" +"\101---" diff --git a/configure/test/svr.des b/configure/test/svr.des new file mode 100644 index 00000000..0838e031 --- /dev/null +++ b/configure/test/svr.des @@ -0,0 +1,18 @@ +#ifndef SVR_DES +#define SVR_DES +struct ubsvr +{ + string name = default("name"); + int32_t thread_num = default(30); + int32_t port = default(50000); + int32_t read_bufsize = default(1024000); + int32_t write_bufsize = default(1024000); + int32_t read_timeout = default(500); + int32_t write_timeout = default(500); + int32_t connect_timeout = default(200); + int32_t queue_size = default(100); + int32_t socket_size = default(512); +}; + + +#endif diff --git a/configure/test/t1.conf b/configure/test/t1.conf new file mode 100644 index 00000000..657703b5 --- /dev/null +++ b/configure/test/t1.conf @@ -0,0 +1,26 @@ +[@com] +age : 22 +name : xiaowei +[.sub] +haha : xiaowei +[@com] +age : 212 +name : yingxiang +[.sub] +haha : yingxiang +[@com] +age : 30 +name : wangjiping +[.sun] +haha : wjp +[GLOBAL] +Putian : 100 +name : com +@num : 1 +@num : 11 +@num : -2 +@ip : 123.-1.2.6 +@ip : 1.1.1.1 +@reg : AdalDlP +@reg : "S2sadf\t\x41" +@reg : asdlLLLkdkksdf diff --git a/configure/test/t1.cons b/configure/test/t1.cons new file mode 100644 index 00000000..e55f6b34 --- /dev/null +++ b/configure/test/t1.cons @@ -0,0 +1,12 @@ +struct Person{ + int32_t age = range(0, 200); + string name = length(32); +}; + +Person com[4]; +string name; +int32_t Putian = range(-4, 18); +int32_t num[3] = range(0,10); +string ip[1] = ip(); + +string reg[4] = regexp("[A-Za-z]*"), length(10); diff --git a/configure/test/test.conf b/configure/test/test.conf new file mode 100644 index 00000000..218f17b9 --- /dev/null +++ b/configure/test/test.conf @@ -0,0 +1,8 @@ +module : Config Demo +[@server] +ip : 127.0.0.1 +port : 9900 +$include : inc.conf +[@server] +ip : 192.168.1.2 +port : 9901 diff --git a/configure/test/test.deps b/configure/test/test.deps new file mode 100644 index 00000000..0f3b7ae5 --- /dev/null +++ b/configure/test/test.deps @@ -0,0 +1,8 @@ ++ public/configure configure_1-0-0-5_PD_BL ++ public/spreg spreg_1-0-1-1_PD_BL ++ third-64/pcre pcre_7-7-0-0_PD_BL ++ lib2-64/bsl bsl_1-0-2-4_PD_BL ++ third/pcre pcre_7-7-0-0_PD_BL ++ lib2/ullib ullib_3-1-24-0_PD_BL ++ lib2-64/ullib ullib_3-1-24-0_PD_BL ++ lib2/bsl bsl_1-0-2-4_PD_BL \ No newline at end of file diff --git a/configure/test/test.prj b/configure/test/test.prj new file mode 100644 index 00000000..ad89183f --- /dev/null +++ b/configure/test/test.prj @@ -0,0 +1,97 @@ +########################################################################### +# Automatically generated by comake (1.0.0) 2009-03-09 16:24:43 # +########################################################################### +WORKROOT = ../../../ +INCPATH = . .. +CONFIG = public/configure +SOURCES += + + +target(test_get_default){ +SOURCES+=test_get_default.cpp +} +target(test_1010new){ +SOURCES+=test_1010new.cpp +} +target(test_ivar){ +SOURCES+=test_ivar.cpp +} +target(test_auto){ +SOURCES+=test_auto.cpp +} +target(test_cfg){ +SOURCES+=test_cfg.cpp +} +target(test_conf){ +SOURCES+=test_conf.cpp +} +target(test_demo){ +SOURCES+=test_demo.cpp +} +target(test_err){ +SOURCES+=test_err.cpp +} +target(test_get_value){ +SOURCES+=test_get_value.cpp +} +target(test_option){ +SOURCES+=test_option.cpp +} +target(test_rawdata){ +SOURCES+=test_rawdata.cpp +} +target(test_reader){ +SOURCES+=test_reader.cpp +} +target(test_rebuild){ +SOURCES+=test_rebuild.cpp +} +target(test_str){ +SOURCES+=test_str.cpp +} +target(test_t1){ +SOURCES+=test_t1.cpp +} +target(test_trans_float){ +SOURCES+=test_trans_float.cpp +} +target(test_trans_str2str){ +SOURCES+=test_trans_str2str.cpp +} +target(test_xiaowei){ +SOURCES+=test_xiaowei.cpp +} +target(test_cfg2){ +SOURCES+=test_cfg2.cpp +} +target(test_cfg3){ +SOURCES+=test_cfg3.cpp +} +target(test_zr){ +SOURCES+=test_zr.cpp +} +target(test_to_default){ +SOURCES+=test_to_default.cpp +} +target(test_checkone){ +SOURCES+=test_checkone.cpp +} +target(test_reloader){ +SOURCES+=test_reloader.cpp +} +target(test_sigreload){ +SOURCES+=test_sigreload.cpp +} + +target(test_filereload){ +SOURCES+=test_filereload.cpp +} + + + +target(test_Configure) { + SOURCES += test_Configure.cpp + CXXFLAGS += -Woverloaded-virtual + TEMPLATE += app +} + diff --git a/configure/test/test_1010new.cpp b/configure/test/test_1010new.cpp new file mode 100644 index 00000000..98728997 --- /dev/null +++ b/configure/test/test_1010new.cpp @@ -0,0 +1,57 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_1010new.cpp,v 1.2 2009/03/23 03:14:53 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_1010new.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/03/12 00:54:03 + * @version $Revision: 1.2 $ + * @brief + * + **/ + +#include "Configure.h" + +#define ASSERT(x) do{\ + if(!(x))printf("Assert failed %s:%d\n", __FILE__, __LINE__);\ + else printf("Assertion Successful. %s:%d\n", __FILE__, __LINE__);\ +}while(0) + + +int main(){ + comcfg::Configure conf; + int ret = conf.load(".", "t1.conf", "t1.cons"); + ASSERT(ret == comcfg::CONSTRAINT_ERROR); + system("touch t1.conf -d '19870121 12:35'"); + //system : date '+%s' -d'19870121 12:35' + //--> 538202100 + time_t t = conf.lastConfigModify(); + ASSERT(t == time_t(538202100) ); + return 0; +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_array_constraint/COMAKE b/configure/test/test_array_constraint/COMAKE new file mode 100644 index 00000000..44a02c8c --- /dev/null +++ b/configure/test/test_array_constraint/COMAKE @@ -0,0 +1,60 @@ +#edit-mode: -*- python -*- +#coding:gbk + +#工作路径. +WORKROOT('../../../../') + +#使用硬链接copy. +CopyUsingHardLink(True) + +#支持32位/64位平台编译 +#ENABLE_MULTI_LIBS(True) + +#C预处理器参数. +CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"') +#为32位目标编译指定额外的预处理参数 +#CPPFLAGS_32('-D_XOPEN_SOURE=500') + +#C编译参数. +CFLAGS('-g -pipe -W -Wall -fPIC') + +#C++编译参数. +CXXFLAGS('-g -pipe -W -Wall -fPIC') + +#IDL编译参数 +IDLFLAGS('--compack') + +#UBRPC编译参数 +UBRPCFLAGS('--compack') + +#头文件路径. +INCPATHS('. ../../ ./include ./output ./output/include') + +#使用库 +LIBS('../../libconfig.a') + +#链接参数. +LDFLAGS('-lpthread -lcrypto -lrt') + +#依赖模块 +CONFIGS('lib2-64/ullib@base') +CONFIGS('lib2-64/bsl@base') +CONFIGS('public/spreg@base') +CONFIGS('com/btest/gtest@base') + +#为32位/64位指定不同的依赖路径. +#CONFIGS_32('lib2/ullib') +#CONFIGS_64('lib2-64/ullib') + +user_sources='' +user_headers='' + +#可执行文件 +Application('test_arr',Sources('test_arr.cpp')) +#静态库 +#StaticLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#共享库 +#SharedLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#子目录 +#Directory('demo') + diff --git a/configure/test/test_array_constraint/Makefile b/configure/test/test_array_constraint/Makefile new file mode 100644 index 00000000..a7163ab9 --- /dev/null +++ b/configure/test/test_array_constraint/Makefile @@ -0,0 +1,137 @@ +#COMAKE2 edit-mode: -*- Makefile -*- +####################64Bit Mode#################### +ifeq ($(shell uname -m),x86_64) +CC=gcc +CXX=g++ +CXXFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CPPFLAGS=-D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -DVERSION=\"1.9.8.7\" +INCPATH=-I. \ + -I../../ \ + -I./include \ + -I./output \ + -I./output/include +DEP_INCPATH=-I../../../../com/btest/gtest \ + -I../../../../com/btest/gtest/include \ + -I../../../../com/btest/gtest/output \ + -I../../../../com/btest/gtest/output/include \ + -I../../../../lib2-64/bsl \ + -I../../../../lib2-64/bsl/include \ + -I../../../../lib2-64/bsl/output \ + -I../../../../lib2-64/bsl/output/include \ + -I../../../../lib2-64/ullib \ + -I../../../../lib2-64/ullib/include \ + -I../../../../lib2-64/ullib/output \ + -I../../../../lib2-64/ullib/output/include \ + -I../../../../public/spreg \ + -I../../../../public/spreg/include \ + -I../../../../public/spreg/output \ + -I../../../../public/spreg/output/include \ + -I../../../../quality/autotest/reportlib/cpp \ + -I../../../../quality/autotest/reportlib/cpp/include \ + -I../../../../quality/autotest/reportlib/cpp/output \ + -I../../../../quality/autotest/reportlib/cpp/output/include \ + -I../../../../third-64/pcre \ + -I../../../../third-64/pcre/include \ + -I../../../../third-64/pcre/output \ + -I../../../../third-64/pcre/output/include + +#============ CCP vars ============ +CCHECK=@ccheck.py +CCHECK_FLAGS= +PCLINT=@pclint +PCLINT_FLAGS= +CCP=@ccp.py +CCP_FLAGS= + + +#COMAKE UUID +COMAKE_MD5=96636deacbb58c864ba532f366b07a55 COMAKE + + +.PHONY:all +all:comake2_makefile_check test_arr + @echo "[COMAKE:BUILD][Target:'all']" + @echo "make all done" + +.PHONY:comake2_makefile_check +comake2_makefile_check: + @echo "[COMAKE:BUILD][Target:'comake2_makefile_check']" + #in case of error, update 'Makefile' by 'comake2' + @echo "$(COMAKE_MD5)">comake2.md5 + @md5sum -c --status comake2.md5 + @rm -f comake2.md5 + +.PHONY:ccpclean +ccpclean: + @echo "[COMAKE:BUILD][Target:'ccpclean']" + @echo "make ccpclean done" + +.PHONY:clean +clean:ccpclean + @echo "[COMAKE:BUILD][Target:'clean']" + rm -rf test_arr + rm -rf ./output/bin/test_arr + rm -rf test_arr_test_arr.o + +.PHONY:dist +dist: + @echo "[COMAKE:BUILD][Target:'dist']" + tar czvf output.tar.gz output + @echo "make dist done" + +.PHONY:distclean +distclean:clean + @echo "[COMAKE:BUILD][Target:'distclean']" + rm -f output.tar.gz + @echo "make distclean done" + +.PHONY:love +love: + @echo "[COMAKE:BUILD][Target:'love']" + @echo "make love done" + +test_arr:test_arr_test_arr.o \ + ../../libconfig.a + @echo "[COMAKE:BUILD][Target:'test_arr']" + $(CXX) test_arr_test_arr.o -Xlinker "-(" ../../libconfig.a ../../../../com/btest/gtest/output/lib/libgtest.a \ + ../../../../com/btest/gtest/output/lib/libgtest_main.a \ + ../../../../lib2-64/bsl/lib/libbsl.a \ + ../../../../lib2-64/bsl/lib/libbsl_ResourcePool.a \ + ../../../../lib2-64/bsl/lib/libbsl_archive.a \ + ../../../../lib2-64/bsl/lib/libbsl_buffer.a \ + ../../../../lib2-64/bsl/lib/libbsl_check_cast.a \ + ../../../../lib2-64/bsl/lib/libbsl_exception.a \ + ../../../../lib2-64/bsl/lib/libbsl_pool.a \ + ../../../../lib2-64/bsl/lib/libbsl_utils.a \ + ../../../../lib2-64/bsl/lib/libbsl_var.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_implement.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_utils.a \ + ../../../../lib2-64/ullib/lib/libullib.a \ + ../../../../public/spreg/libspreg.a \ + ../../../../quality/autotest/reportlib/cpp/libautotest.a \ + ../../../../third-64/pcre/lib/libpcre.a \ + ../../../../third-64/pcre/lib/libpcrecpp.a \ + ../../../../third-64/pcre/lib/libpcreposix.a -lpthread \ + -lcrypto \ + -lrt -Xlinker "-)" -o test_arr + mkdir -p ./output/bin + cp -f --link test_arr ./output/bin + +test_arr_test_arr.o:test_arr.cpp + @echo "[COMAKE:BUILD][Target:'test_arr_test_arr.o']" + $(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o test_arr_test_arr.o test_arr.cpp + +endif #ifeq ($(shell uname -m),x86_64) + + diff --git a/configure/test/test_array_constraint/conf/sample.conf b/configure/test/test_array_constraint/conf/sample.conf new file mode 100644 index 00000000..11f0f458 --- /dev/null +++ b/configure/test/test_array_constraint/conf/sample.conf @@ -0,0 +1,14 @@ +[@sample_level] +@plan_id : 0 +default_name : default + +[@sample_level] +@plan_id : 12305 +@plan_id : 12306 +default_name : default +[.@sample] +name : cf +ratio : 50 +[.@sample] +name : content +ratio : 40 diff --git a/configure/test/test_array_constraint/conf/sample.conf.range b/configure/test/test_array_constraint/conf/sample.conf.range new file mode 100644 index 00000000..e91d94a2 --- /dev/null +++ b/configure/test/test_array_constraint/conf/sample.conf.range @@ -0,0 +1,16 @@ +struct sample_t +{ + string name = default("default"); + string info = default(""); + int32_t ratio = default(50); +}; + +struct sample_level_t +{ + int32_t plan_id[]; + string default_name = default("default"); + string default_info = default(""); + sample_t sample[]; +}; + +sample_level_t sample_level[]; diff --git a/configure/test/test_array_constraint/conf/sample2.conf b/configure/test/test_array_constraint/conf/sample2.conf new file mode 100644 index 00000000..0f9cc13f --- /dev/null +++ b/configure/test/test_array_constraint/conf/sample2.conf @@ -0,0 +1,2 @@ +[@sample_level] +default_name : default diff --git a/configure/test/test_array_constraint/conf/sample2.conf.range b/configure/test/test_array_constraint/conf/sample2.conf.range new file mode 100644 index 00000000..aca57c48 --- /dev/null +++ b/configure/test/test_array_constraint/conf/sample2.conf.range @@ -0,0 +1,14 @@ +struct sample_t +{ + string name = default("default"); + string info = default(""); + int32_t ratio = default(50); +}; + +struct sample_level_t +{ + string default_name = default("default"); + sample_t sample[]; +}; + +sample_level_t sample_level[]; diff --git a/configure/test/test_array_constraint/test_arr.cpp b/configure/test/test_array_constraint/test_arr.cpp new file mode 100644 index 00000000..2d3eed72 --- /dev/null +++ b/configure/test/test_array_constraint/test_arr.cpp @@ -0,0 +1,56 @@ +#include +#include +#include +#include "plugin/plgcomlog.h" + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} +/** + * @brief check if the lib reports the vector overflow situation +**/ +class test_arr_suite : public ::testing::Test{ + protected: + test_arr_suite(){}; + virtual ~test_arr_suite(){}; + virtual void SetUp() { + //Called befor every TEST_F(test_arr_suite, *) + }; + virtual void TearDown() { + //Called after every TEST_F(test_arr_suite, *) + }; +}; + +/** + * @brief check if the defaultly created array can pass the constraint check + * @begin_version + **/ +TEST_F(test_arr_suite, case_constraint1) +{ + //TODO + //comcfg::Log::openLowLevel(); + comcfg::Configure conf; + int ret = conf.load("conf/", "sample.conf", "sample.conf.range"); + ASSERT_EQ(0, ret); + + EXPECT_EQ(conf["sample_level"][0]["sample"].selfType(), comcfg::CONFIG_ARRAY_TYPE); + EXPECT_EQ(conf["sample_level"][0]["sample"].size(), 0); +} + +/** + * @brief check if the defaultly created array can pass the constraint check + * @begin_version + **/ +TEST_F(test_arr_suite, case_constraint2) +{ + //TODO + //comcfg::Log::openLowLevel(); + comcfg::Configure conf; + int ret = conf.load("conf/", "sample2.conf", "sample2.conf.range"); + ASSERT_EQ(0, ret); + + EXPECT_EQ(conf["sample_level"][0]["sample"].selfType(), comcfg::CONFIG_ARRAY_TYPE); + EXPECT_EQ(conf["sample_level"][0]["sample"].size(), 0); +} diff --git a/configure/test/test_auto.cpp b/configure/test/test_auto.cpp new file mode 100644 index 00000000..e2c08c0f --- /dev/null +++ b/configure/test/test_auto.cpp @@ -0,0 +1,65 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_auto.cpp,v 1.2 2009/03/23 03:14:53 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_auto.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/03/11 17:06:15 + * @version $Revision: 1.2 $ + * @brief + * + **/ + +#include "cfgext.h" +#include "Configure.h" +int main(int argc, char ** argv){ + if(argc == 1){ + printf("Usage : %s constraint_file\n\n", argv[0]); + return 0; + } + try{ + //comcfg::Log::openLowLevel(); + bsl::string str = comcfg::autoConfigGen(argv[1]); + printf("%s", str.c_str()); +#if 1 + comcfg::Configure conf; + char * s = conf.getRebuildBuffer(str.size()); + strcpy(s, str.c_str()); + int ret = conf.rebuild(); + printf("================= rebuild ret = %d ===================\n", ret); + conf.print(); +#endif + }catch(comcfg::ConfigException e){ + fprintf(stderr, "Catch : %s\n", e.what()); + }catch(...){ + fprintf(stderr, "Catch : Unknown\n"); + } + + return 0; +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_cfg.cpp b/configure/test/test_cfg.cpp new file mode 100644 index 00000000..3d91419f --- /dev/null +++ b/configure/test/test_cfg.cpp @@ -0,0 +1,45 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_cfg.cpp,v 1.2 2009/03/23 03:14:53 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_cfg.cpp + * @author xiaowei(com@baidu.com) + * @date 2009/03/09 15:53:27 + * @version $Revision: 1.2 $ + * @brief + * + **/ +#include +int main(int argc, char **argv) +{ + comcfg::Flag flag; + flag.init(argc, argv); + flag.loadconfig(); + return 0; +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_cfg.des b/configure/test/test_cfg.des new file mode 100644 index 00000000..5f0da09a --- /dev/null +++ b/configure/test/test_cfg.des @@ -0,0 +1,17 @@ +#include "log.des" +#include "clt.des" +#include "svr.des" + +struct my_t +{ + comlog log; + ubclt clt; + ubsvr svr; +}; + +comlog log; +ubclt clt[]; +ubsvr svr[]; + +my_t my; +string b;//ab diff --git a/configure/test/test_cfg2.cpp b/configure/test/test_cfg2.cpp new file mode 100644 index 00000000..1f6b65f8 --- /dev/null +++ b/configure/test/test_cfg2.cpp @@ -0,0 +1,47 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_cfg2.cpp,v 1.2 2009/03/23 03:14:53 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_cfg2.cpp + * @author xiaowei(com@baidu.com) + * @date 2009/03/09 16:07:57 + * @version $Revision: 1.2 $ + * @brief + * + **/ + +#include +int main(int argc, char **argv) +{ + comcfg::Flag flag; + flag.init(argc, argv); + flag.set_confpath(".", "t1.conf", "t1.cons"); + flag.loadconfig(); + return 0; +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_cfg3.cpp b/configure/test/test_cfg3.cpp new file mode 100644 index 00000000..e77ad17e --- /dev/null +++ b/configure/test/test_cfg3.cpp @@ -0,0 +1,54 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_cfg3.cpp,v 1.2 2009/03/23 03:14:53 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_cfg3.cpp + * @author xiaowei(com@baidu.com) + * @date 2009/03/09 16:10:23 + * @version $Revision: 1.2 $ + * @brief + * + **/ + +#include + +void version() +{ + printf("faint-------------\n"); +} + +int main(int argc, char **argv) +{ + comcfg::Flag flag; + flag.set_version(version); + flag.set_help(version); + flag.init(argc, argv); + flag.loadconfig(); + return 0; +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_checkConstraint/COMAKE b/configure/test/test_checkConstraint/COMAKE new file mode 100644 index 00000000..14e9b58f --- /dev/null +++ b/configure/test/test_checkConstraint/COMAKE @@ -0,0 +1,60 @@ +#edit-mode: -*- python -*- +#coding:gbk + +#工作路径. +WORKROOT('../../../../') + +#使用硬链接copy. +CopyUsingHardLink(True) + +#支持32位/64位平台编译 +#ENABLE_MULTI_LIBS(True) + +#C预处理器参数. +CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"') +#为32位目标编译指定额外的预处理参数 +#CPPFLAGS_32('-D_XOPEN_SOURE=500') + +#C编译参数. +CFLAGS('-g -pipe -W -Wall -fPIC') + +#C++编译参数. +CXXFLAGS('-g -pipe -W -Wall -fPIC') + +#IDL编译参数 +IDLFLAGS('--compack') + +#UBRPC编译参数 +UBRPCFLAGS('--compack') + +#头文件路径. +INCPATHS('. ../../ ./include ./output ./output/include') + +#使用库 +LIBS('../../libconfig.a') + +#链接参数. +LDFLAGS('-lpthread -lcrypto -lrt') + +#依赖模块 +CONFIGS('lib2-64/ullib') +CONFIGS('lib2-64/bsl') +CONFIGS('public/spreg') +CONFIGS('com/btest/gtest') + +#为32位/64位指定不同的依赖路径. +#CONFIGS_32('lib2/ullib') +#CONFIGS_64('lib2-64/ullib') + +user_sources='' +user_headers='' + +#可执行文件 +Application('test_constraint',Sources('test_constraint.cpp')) +#静态库 +#StaticLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#共享库 +#SharedLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#子目录 +#Directory('demo') + diff --git a/configure/test/test_checkConstraint/Makefile b/configure/test/test_checkConstraint/Makefile new file mode 100644 index 00000000..ee216894 --- /dev/null +++ b/configure/test/test_checkConstraint/Makefile @@ -0,0 +1,137 @@ +#COMAKE2 edit-mode: -*- Makefile -*- +####################64Bit Mode#################### +ifeq ($(shell uname -m),x86_64) +CC=gcc +CXX=g++ +CXXFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CPPFLAGS=-D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -DVERSION=\"1.9.8.7\" +INCPATH=-I. \ + -I../../ \ + -I./include \ + -I./output \ + -I./output/include +DEP_INCPATH=-I../../../../com/btest/gtest \ + -I../../../../com/btest/gtest/include \ + -I../../../../com/btest/gtest/output \ + -I../../../../com/btest/gtest/output/include \ + -I../../../../lib2-64/bsl \ + -I../../../../lib2-64/bsl/include \ + -I../../../../lib2-64/bsl/output \ + -I../../../../lib2-64/bsl/output/include \ + -I../../../../lib2-64/ullib \ + -I../../../../lib2-64/ullib/include \ + -I../../../../lib2-64/ullib/output \ + -I../../../../lib2-64/ullib/output/include \ + -I../../../../public/spreg \ + -I../../../../public/spreg/include \ + -I../../../../public/spreg/output \ + -I../../../../public/spreg/output/include \ + -I../../../../quality/autotest/reportlib/cpp \ + -I../../../../quality/autotest/reportlib/cpp/include \ + -I../../../../quality/autotest/reportlib/cpp/output \ + -I../../../../quality/autotest/reportlib/cpp/output/include \ + -I../../../../third-64/pcre \ + -I../../../../third-64/pcre/include \ + -I../../../../third-64/pcre/output \ + -I../../../../third-64/pcre/output/include + +#============ CCP vars ============ +CCHECK=@ccheck.py +CCHECK_FLAGS= +PCLINT=@pclint +PCLINT_FLAGS= +CCP=@ccp.py +CCP_FLAGS= + + +#COMAKE UUID +COMAKE_MD5=1b60095c966a1f959e8affcbcd52b483 COMAKE + + +.PHONY:all +all:comake2_makefile_check test_constraint + @echo "[COMAKE:BUILD][Target:'all']" + @echo "make all done" + +.PHONY:comake2_makefile_check +comake2_makefile_check: + @echo "[COMAKE:BUILD][Target:'comake2_makefile_check']" + #in case of error, update 'Makefile' by 'comake2' + @echo "$(COMAKE_MD5)">comake2.md5 + @md5sum -c --status comake2.md5 + @rm -f comake2.md5 + +.PHONY:ccpclean +ccpclean: + @echo "[COMAKE:BUILD][Target:'ccpclean']" + @echo "make ccpclean done" + +.PHONY:clean +clean:ccpclean + @echo "[COMAKE:BUILD][Target:'clean']" + rm -rf test_constraint + rm -rf ./output/bin/test_constraint + rm -rf test_constraint_test_constraint.o + +.PHONY:dist +dist: + @echo "[COMAKE:BUILD][Target:'dist']" + tar czvf output.tar.gz output + @echo "make dist done" + +.PHONY:distclean +distclean:clean + @echo "[COMAKE:BUILD][Target:'distclean']" + rm -f output.tar.gz + @echo "make distclean done" + +.PHONY:love +love: + @echo "[COMAKE:BUILD][Target:'love']" + @echo "make love done" + +test_constraint:test_constraint_test_constraint.o \ + ../../libconfig.a + @echo "[COMAKE:BUILD][Target:'test_constraint']" + $(CXX) test_constraint_test_constraint.o -Xlinker "-(" ../../libconfig.a ../../../../com/btest/gtest/output/lib/libgtest.a \ + ../../../../com/btest/gtest/output/lib/libgtest_main.a \ + ../../../../lib2-64/bsl/lib/libbsl.a \ + ../../../../lib2-64/bsl/lib/libbsl_ResourcePool.a \ + ../../../../lib2-64/bsl/lib/libbsl_archive.a \ + ../../../../lib2-64/bsl/lib/libbsl_buffer.a \ + ../../../../lib2-64/bsl/lib/libbsl_check_cast.a \ + ../../../../lib2-64/bsl/lib/libbsl_exception.a \ + ../../../../lib2-64/bsl/lib/libbsl_pool.a \ + ../../../../lib2-64/bsl/lib/libbsl_utils.a \ + ../../../../lib2-64/bsl/lib/libbsl_var.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_implement.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_utils.a \ + ../../../../lib2-64/ullib/lib/libullib.a \ + ../../../../public/spreg/libspreg.a \ + ../../../../quality/autotest/reportlib/cpp/libautotest.a \ + ../../../../third-64/pcre/lib/libpcre.a \ + ../../../../third-64/pcre/lib/libpcrecpp.a \ + ../../../../third-64/pcre/lib/libpcreposix.a -lpthread \ + -lcrypto \ + -lrt -Xlinker "-)" -o test_constraint + mkdir -p ./output/bin + cp -f --link test_constraint ./output/bin + +test_constraint_test_constraint.o:test_constraint.cpp + @echo "[COMAKE:BUILD][Target:'test_constraint_test_constraint.o']" + $(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o test_constraint_test_constraint.o test_constraint.cpp + +endif #ifeq ($(shell uname -m),x86_64) + + diff --git a/configure/test/test_checkConstraint/conf/bad_cons.range b/configure/test/test_checkConstraint/conf/bad_cons.range new file mode 100644 index 00000000..eaea3490 --- /dev/null +++ b/configure/test/test_checkConstraint/conf/bad_cons.range @@ -0,0 +1,8 @@ +struct server_t{ + string ip = ip(), length(20); + uint16_t port = range(1, 1023); +}; + +server_t server; +string position = length(100); + diff --git a/configure/test/test_checkConstraint/conf/cons.range b/configure/test/test_checkConstraint/conf/cons.range new file mode 100644 index 00000000..f9a3873a --- /dev/null +++ b/configure/test/test_checkConstraint/conf/cons.range @@ -0,0 +1,16 @@ +struct server_t{ + string ip = ip(), length(20); + uint16_t port = range(1, 1023); + string host = length(100); +}; + +server_t server; +string position = length(100); +uint32_t height[10] = range(0,10); + +struct company_t{ + string name = length(100); + server_t svr[]; +}; + +company_t company; diff --git a/configure/test/test_checkConstraint/conf/ill_cons.conf b/configure/test/test_checkConstraint/conf/ill_cons.conf new file mode 100644 index 00000000..29f14aee --- /dev/null +++ b/configure/test/test_checkConstraint/conf/ill_cons.conf @@ -0,0 +1,26 @@ +[server] +ip : 1.2.3.4 +port : 123 +host : baidu +[GLOBAL] +position : beijing +[server2] +[.host1] +[..position2] +ip : 2.3.4.5 +[GLOBAL] +@height : 1 +@height : 2 +@height : 3 + +[company] +[.@svr] +ip : 4.3.2.1 +port : 321 +host : beijing +[.@svr] +ip : 5.5.5.5 +port : 111 +host : shenzhen +[company] +name : baidu.com diff --git a/configure/test/test_checkConstraint/conf/reg_cons.conf b/configure/test/test_checkConstraint/conf/reg_cons.conf new file mode 100644 index 00000000..60c13514 --- /dev/null +++ b/configure/test/test_checkConstraint/conf/reg_cons.conf @@ -0,0 +1,16 @@ +[server] +ip : 1.2.3.4 +port : 123 +host : baidu +[GLOBAL] +position : beijing +@height : 5 +@height : 6 + +[company] +[.@svr] +ip : 4.3.2.1 +port : 321 +host : baidu +[company] +name : baidu.com diff --git a/configure/test/test_checkConstraint/test_constraint.cpp b/configure/test/test_checkConstraint/test_constraint.cpp new file mode 100644 index 00000000..ddf92148 --- /dev/null +++ b/configure/test/test_checkConstraint/test_constraint.cpp @@ -0,0 +1,117 @@ +#include +#include +#include + + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} +/** + * @brief +**/ +class test_load_ex2_suite : public ::testing::Test{ + protected: + test_load_ex2_suite(){}; + virtual ~test_load_ex2_suite(){}; + virtual void SetUp() { + //Called befor every TEST_F(test_load_ex_suite, *) + }; + virtual void TearDown() { + //Called after every TEST_F(test_load_ex_suite, *) + }; +}; + + +/** + * @brief check null param + * @begin_version + **/ +TEST_F(test_load_ex2_suite, case_nullParam) +{ + //TODO + comcfg::Configure conf[3]; + int ret = conf[0].load_ex2("conf/", "ill_cons.conf", NULL); + ASSERT_EQ(0, ret); + ret = conf[1].load_ex2("conf/", "ill_cons.conf", ""); + ASSERT_EQ(0, ret); + ret = conf[2].load_ex2("conf/", "ill_cons.conf"); + ASSERT_EQ(0, ret); +} + +/** + * @brief check regular range file + * @begin_version + **/ +TEST_F(test_load_ex2_suite, case_reg_conf) +{ + //TODO + comcfg::Configure conf; + int ret = conf.load_ex2("conf/", "reg_cons.conf", "cons.range"); + ASSERT_EQ(0, ret); +} + +/** + * @brief check illegal range file + * @begin_version + **/ +TEST_F(test_load_ex2_suite, case_ill_conf) +{ + //TODO + comcfg::Configure conf; + int ret = conf.load_ex2("conf/", "ill_cons.conf", "cons.range"); + ASSERT_NE(0, ret); +} + +/** + * @brief check load()+checkConstraint() + * @begin_version + **/ +TEST_F(test_load_ex2_suite, case_load_check_conf) +{ + //TODO + comcfg::Configure conf; + int ret = conf.load("conf/", "ill_cons.conf", "cons.range"); + ASSERT_EQ(0, ret); + ret = conf.checkConstraint(); + ASSERT_NE(0, ret); +} + +/** + * @brief check load_ex()+checkConstraint() + * @begin_version + **/ +TEST_F(test_load_ex2_suite, case_load_ex_check_conf) +{ + //TODO + comcfg::Configure conf; + int ret = conf.load_ex("conf/", "ill_cons.conf", "cons.range"); + ASSERT_EQ(0, ret); + ret = conf.checkConstraint(); + ASSERT_NE(0, ret); +} + +/** + * @brief check reentrant check_once() + * @begin_version + **/ +TEST_F(test_load_ex2_suite, case_reentrant_check_once) +{ + //TODO + comcfg::Configure conf; + int ret = conf.load("conf/", "reg_cons.conf"); + ASSERT_EQ(0, ret); + for(int i=1; i<5; i++){ + ret = conf.check_once("conf/cons.range"); + ASSERT_EQ(0, ret); + ret = conf.checkConstraint(); + ASSERT_EQ(0, ret); + + ret = conf.check_once("conf/bad_cons.range"); + ASSERT_EQ(0, ret); + ret = conf.checkConstraint(); + ASSERT_NE(0, ret); + } +} + diff --git a/configure/test/test_checkone.cpp b/configure/test/test_checkone.cpp new file mode 100644 index 00000000..a3a23642 --- /dev/null +++ b/configure/test/test_checkone.cpp @@ -0,0 +1,31 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * + **************************************************************************/ + + + +/** + * @file test_checkone.cpp + * @author zhang_rui(com@baidu.com) + * @date 2009-12-15 + * @brief + * + **/ + +#include "Configure.h" + +int main(int argc, char* argv[]){ + if (argc < 3) { + printf("usage : %s conf range\n",argv[0]); + return -1; + } + comcfg::Configure conf; + conf.load("./", argv[1]); + int chk = conf.check_once(argv[2]); + printf("checkone:%d\n", chk); + + return 0; +} + diff --git a/configure/test/test_conf.cpp b/configure/test/test_conf.cpp new file mode 100644 index 00000000..ca84d7fe --- /dev/null +++ b/configure/test/test_conf.cpp @@ -0,0 +1,66 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_conf.cpp,v 1.5 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_conf.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/24 18:47:10 + * @version $Revision: 1.5 $ + * @brief + * + **/ + +#include "Configure.h" +#include "stdio.h" +#include + +int main(){ + comcfg::Configure conf; + //comcfg::Log::openLowLevel(); + conf.load("./", "new.conf"); + comcfg::str_t str; + if(conf["COMLOG"]["FILE"]["TYPE"].get_bsl_string(&str) == 0){ + printf("read = [%s]\n", str.c_str()); + }else{ + printf("No such key\n"); + } + if(conf["COMLOG"]["FILEx"]["TYPE"][2].get_bsl_string(&str) == 0){ + printf("read = [%s]\n", str.c_str()); + }else{ + printf("No such key\n"); + } + try{ + conf["COMLOG"]["FILEx"]["TYPE"][2].to_bsl_string(); + } + catch(bsl::Exception e){ + printf("%s\n", e.what()); + } + int err; + int tmp = conf["COMLOG"]["FILE"]["SIZE"].to_int32(&err); + printf("read = [%d]\n", tmp); + return 0; +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_conf.res b/configure/test/test_conf.res new file mode 100644 index 00000000..7ef8534d --- /dev/null +++ b/configure/test/test_conf.res @@ -0,0 +1,4 @@ +read = [FILE] +No such key +ConfigException.NoSuchKey +read = [0] diff --git a/configure/test/test_demo.cpp b/configure/test/test_demo.cpp new file mode 100644 index 00000000..10d62987 --- /dev/null +++ b/configure/test/test_demo.cpp @@ -0,0 +1,76 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_demo.cpp,v 1.5 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_demo.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/01/06 16:50:46 + * @version $Revision: 1.5 $ + * @brief + * + **/ + +#include "Configure.h" +#include + +int main(){ + //comcfg :: Log :: openLowLevel(); + comcfg :: Configure conf; + int ret = conf.load("", "test.conf"); + if(ret != 0){ + return 0; + } + + try{ + std::cout<< "Module Name : " << conf["module"].to_bsl_string() << std::endl; + size_t num = conf["server"].size(); + std::cout<< "We have " << num << " servers." << std::endl; + for(size_t i = 0; i < num; ++i){ + printf("Server[%d] is : ip = %s, port = %d\n", + (int)i, + conf["server"][i]["ip"].to_cstr(), + conf["server"][i]["port"].to_int32() ); + } + } + catch(comcfg :: ConfigException e){ + std::cerr << "Something error "<< e.what() << std::endl; + } + catch(...){ + std::cerr << "What's wrong?" << std::endl; + } + size_t sz; + printf("\n-------dump-------\n%s\n--------print---------\n", conf.dump(&sz)); + conf.print(); + comcfg::Configure nxt; + char * b = nxt.getRebuildBuffer(sz); + memcpy(b, conf.dump(NULL), sz); + nxt.rebuild(); + printf("----nxt.print----\n"); + nxt.print(); + return 0; +} + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_demo.res b/configure/test/test_demo.res new file mode 100644 index 00000000..6e65719e --- /dev/null +++ b/configure/test/test_demo.res @@ -0,0 +1,47 @@ +Module Name : Config Demo +We have 2 servers. +Server[0] is : ip = 127.0.0.1, port = 9900 +Server[1] is : ip = 192.168.1.2, port = 9901 + +-------dump------- +module : Config Demo +[@server] +ip : 127.0.0.1 +port : 9900 +$include : inc.conf +[@server] +ip : 192.168.1.2 +port : 9901 + +[GLOBAL] +#this is inc +name : inc +age : 12 +$include : "Hello" + +--------print--------- +Section-------[GLOBAL] + =[module], _value=[Config Demo] + =[name], _value=[inc] + =[age], _value=[12] + Array--------[server] : { + Section-------[GLOBAL.@server] + =[ip], _value=[127.0.0.1] + =[port], _value=[9900] + Section-------[GLOBAL.@server] + =[ip], _value=[192.168.1.2] + =[port], _value=[9901] + } +----nxt.print---- +Section-------[GLOBAL] + =[module], _value=[Config Demo] + =[name], _value=[inc] + =[age], _value=[12] + Array--------[server] : { + Section-------[GLOBAL.@server] + =[ip], _value=[127.0.0.1] + =[port], _value=[9900] + Section-------[GLOBAL.@server] + =[ip], _value=[192.168.1.2] + =[port], _value=[9901] + } diff --git a/configure/test/test_dump_ex/COMAKE b/configure/test/test_dump_ex/COMAKE new file mode 100644 index 00000000..d35161e2 --- /dev/null +++ b/configure/test/test_dump_ex/COMAKE @@ -0,0 +1,60 @@ +#edit-mode: -*- python -*- +#coding:gbk + +#工作路径. +WORKROOT('../../../../') + +#使用硬链接copy. +CopyUsingHardLink(True) + +#支持32位/64位平台编译 +#ENABLE_MULTI_LIBS(True) + +#C预处理器参数. +CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"') +#为32位目标编译指定额外的预处理参数 +#CPPFLAGS_32('-D_XOPEN_SOURE=500') + +#C编译参数. +CFLAGS('-g -pipe -W -Wall -fPIC') + +#C++编译参数. +CXXFLAGS('-g -pipe -W -Wall -fPIC') + +#IDL编译参数 +IDLFLAGS('--compack') + +#UBRPC编译参数 +UBRPCFLAGS('--compack') + +#头文件路径. +INCPATHS('. ../../ ./include ./output ./output/include') + +#使用库 +LIBS('../../libconfig.a') + +#链接参数. +LDFLAGS('-lpthread -lcrypto -lrt') + +#依赖模块 +CONFIGS('lib2-64/ullib') +CONFIGS('lib2-64/bsl') +CONFIGS('public/spreg') +CONFIGS('com/btest/gtest') + +#为32位/64位指定不同的依赖路径. +#CONFIGS_32('lib2/ullib') +#CONFIGS_64('lib2-64/ullib') + +user_sources='' +user_headers='' + +#可执行文件 +Application('dumpex', Sources('test_unit_dumpex.cpp')) +#静态库 +#StaticLibrary('test_other',Sources(user_sources),HeaderFiles(user_headers)) +#共享库 +#SharedLibrary('test_other',Sources(user_sources),HeaderFiles(user_headers)) +#子目录 +#Directory('demo') + diff --git a/configure/test/test_dump_ex/Makefile b/configure/test/test_dump_ex/Makefile new file mode 100644 index 00000000..a01761ef --- /dev/null +++ b/configure/test/test_dump_ex/Makefile @@ -0,0 +1,137 @@ +#COMAKE2 edit-mode: -*- Makefile -*- +####################64Bit Mode#################### +ifeq ($(shell uname -m),x86_64) +CC=gcc +CXX=g++ +CXXFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CPPFLAGS=-D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -DVERSION=\"1.9.8.7\" +INCPATH=-I. \ + -I../../ \ + -I./include \ + -I./output \ + -I./output/include +DEP_INCPATH=-I../../../../com/btest/gtest \ + -I../../../../com/btest/gtest/include \ + -I../../../../com/btest/gtest/output \ + -I../../../../com/btest/gtest/output/include \ + -I../../../../lib2-64/bsl \ + -I../../../../lib2-64/bsl/include \ + -I../../../../lib2-64/bsl/output \ + -I../../../../lib2-64/bsl/output/include \ + -I../../../../lib2-64/ullib \ + -I../../../../lib2-64/ullib/include \ + -I../../../../lib2-64/ullib/output \ + -I../../../../lib2-64/ullib/output/include \ + -I../../../../public/spreg \ + -I../../../../public/spreg/include \ + -I../../../../public/spreg/output \ + -I../../../../public/spreg/output/include \ + -I../../../../quality/autotest/reportlib/cpp \ + -I../../../../quality/autotest/reportlib/cpp/include \ + -I../../../../quality/autotest/reportlib/cpp/output \ + -I../../../../quality/autotest/reportlib/cpp/output/include \ + -I../../../../third-64/pcre \ + -I../../../../third-64/pcre/include \ + -I../../../../third-64/pcre/output \ + -I../../../../third-64/pcre/output/include + +#============ CCP vars ============ +CCHECK=@ccheck.py +CCHECK_FLAGS= +PCLINT=@pclint +PCLINT_FLAGS= +CCP=@ccp.py +CCP_FLAGS= + + +#COMAKE UUID +COMAKE_MD5=afda5b77791616ecf9f0922265568a51 COMAKE + + +.PHONY:all +all:comake2_makefile_check dumpex + @echo "[COMAKE:BUILD][Target:'all']" + @echo "make all done" + +.PHONY:comake2_makefile_check +comake2_makefile_check: + @echo "[COMAKE:BUILD][Target:'comake2_makefile_check']" + #in case of error, update 'Makefile' by 'comake2' + @echo "$(COMAKE_MD5)">comake2.md5 + @md5sum -c --status comake2.md5 + @rm -f comake2.md5 + +.PHONY:ccpclean +ccpclean: + @echo "[COMAKE:BUILD][Target:'ccpclean']" + @echo "make ccpclean done" + +.PHONY:clean +clean:ccpclean + @echo "[COMAKE:BUILD][Target:'clean']" + rm -rf dumpex + rm -rf ./output/bin/dumpex + rm -rf dumpex_test_unit_dumpex.o + +.PHONY:dist +dist: + @echo "[COMAKE:BUILD][Target:'dist']" + tar czvf output.tar.gz output + @echo "make dist done" + +.PHONY:distclean +distclean:clean + @echo "[COMAKE:BUILD][Target:'distclean']" + rm -f output.tar.gz + @echo "make distclean done" + +.PHONY:love +love: + @echo "[COMAKE:BUILD][Target:'love']" + @echo "make love done" + +dumpex:dumpex_test_unit_dumpex.o \ + ../../libconfig.a + @echo "[COMAKE:BUILD][Target:'dumpex']" + $(CXX) dumpex_test_unit_dumpex.o -Xlinker "-(" ../../libconfig.a ../../../../com/btest/gtest/output/lib/libgtest.a \ + ../../../../com/btest/gtest/output/lib/libgtest_main.a \ + ../../../../lib2-64/bsl/lib/libbsl.a \ + ../../../../lib2-64/bsl/lib/libbsl_ResourcePool.a \ + ../../../../lib2-64/bsl/lib/libbsl_archive.a \ + ../../../../lib2-64/bsl/lib/libbsl_buffer.a \ + ../../../../lib2-64/bsl/lib/libbsl_check_cast.a \ + ../../../../lib2-64/bsl/lib/libbsl_exception.a \ + ../../../../lib2-64/bsl/lib/libbsl_pool.a \ + ../../../../lib2-64/bsl/lib/libbsl_utils.a \ + ../../../../lib2-64/bsl/lib/libbsl_var.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_implement.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_utils.a \ + ../../../../lib2-64/ullib/lib/libullib.a \ + ../../../../public/spreg/libspreg.a \ + ../../../../quality/autotest/reportlib/cpp/libautotest.a \ + ../../../../third-64/pcre/lib/libpcre.a \ + ../../../../third-64/pcre/lib/libpcrecpp.a \ + ../../../../third-64/pcre/lib/libpcreposix.a -lpthread \ + -lcrypto \ + -lrt -Xlinker "-)" -o dumpex + mkdir -p ./output/bin + cp -f --link dumpex ./output/bin + +dumpex_test_unit_dumpex.o:test_unit_dumpex.cpp + @echo "[COMAKE:BUILD][Target:'dumpex_test_unit_dumpex.o']" + $(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o dumpex_test_unit_dumpex.o test_unit_dumpex.cpp + +endif #ifeq ($(shell uname -m),x86_64) + + diff --git a/configure/test/test_dump_ex/conf/array.conf b/configure/test/test_dump_ex/conf/array.conf new file mode 100644 index 00000000..72cfb05a --- /dev/null +++ b/configure/test/test_dump_ex/conf/array.conf @@ -0,0 +1,5 @@ +[@building] +@floor : 1 +@floor : 2 +@floor : 3 + diff --git a/configure/test/test_dump_ex/conf/sample.conf b/configure/test/test_dump_ex/conf/sample.conf new file mode 100644 index 00000000..bca21519 --- /dev/null +++ b/configure/test/test_dump_ex/conf/sample.conf @@ -0,0 +1,35 @@ +#this comment will not be dumped +#neither does this one +#me neither, LOL +$include : sub_conf.conf +[company] +name : baidu +addr : beijing +type : Internet +[.staff] +count : 20000 +[..@employee] +#you see, +#Joan is a girl, which means that +#you will never know +#if she is cheating to you +name : Joan +gender : female +age : 20 +#GLOBAL: this comment won't be dumped +#neither does this +[GLOBAL] +copyright : baidu.Inc +date : 2013/04/28 +[company.staff.@employee] +name : Jay +gender : male +age : 24 +[building] +#this is the reception floor +@floor : 1 +#this is the worker floor +@floor : 2 +#this is the administrator floor +@floor : 3 +#END: this comment won't be dumped diff --git a/configure/test/test_dump_ex/conf/sub_conf.conf b/configure/test/test_dump_ex/conf/sub_conf.conf new file mode 100644 index 00000000..8c685390 --- /dev/null +++ b/configure/test/test_dump_ex/conf/sub_conf.conf @@ -0,0 +1,2 @@ +@greeting : hi, i am from baidu +@greeting : hi, i am now working overtime, TT diff --git a/configure/test/test_dump_ex/test_unit_dumpex.cpp b/configure/test/test_dump_ex/test_unit_dumpex.cpp new file mode 100644 index 00000000..5639fb22 --- /dev/null +++ b/configure/test/test_dump_ex/test_unit_dumpex.cpp @@ -0,0 +1,242 @@ + +#include +#include +#include "spreg.h" + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} +/** + * @brief +**/ +class test_dump_ex_suite : public ::testing::Test{ + protected: + test_dump_ex_suite(){}; + virtual ~test_dump_ex_suite(){}; + virtual void SetUp() { + //Called befor every TEST_F(test_dump_ex_suite, *) + }; + virtual void TearDown() { + //Called after every TEST_F(test_dump_ex_suite, *) + }; +}; + +/** + * @brief + * @begin_version +**/ +TEST_F(test_dump_ex_suite, case_ivalid_param1) +{ + //TODO + //comcfg::Log::openLowLevel(); + comcfg::Configure conf; + int ret = conf.load("conf", "sample.conf"); + ASSERT_EQ(ret, 0); + + char buf[1024]; + + ret = conf.dump_ex(NULL, 1024, 1); + EXPECT_NE(ret, 0); + + ret = conf.dump_ex(buf, 0, 1); + EXPECT_NE(ret, 0); + + ret = conf.dump_ex(buf, 1024, -1); + EXPECT_NE(ret, 0); + + ret = conf.dump_ex(buf, 1024, 3); + EXPECT_NE(ret, 0); + + ret = conf.dump_ex(buf, 100, 0); + EXPECT_NE(ret, 0); +} + +/** + * @brief + * @begin_version +**/ +TEST_F(test_dump_ex_suite, case_Comment) +{ + //TODO + //comcfg::Log::openLowLevel(); + comcfg::Configure conf; + int ret = conf.load("conf", "sample.conf"); + ASSERT_EQ(ret, 0); + + char buf[10240]; + + ret = conf.dump_ex(buf, 10240, 0); + EXPECT_GT(ret, 0); + + char * comment_pos = strstr(buf,"#you see, \n#Joan is a girl, which"); + ASSERT_NE((long)comment_pos, 0); + + comment_pos = strstr(buf, "#this is the reception floor"); + ASSERT_NE((long)comment_pos, 0); + + comment_pos = strstr(buf, "#GLOBAL: this comment won't be dumped"); + ASSERT_EQ((long)comment_pos, 0); + + comment_pos = strstr(buf, "#END: this comment won't be dumped"); + ASSERT_EQ((long)comment_pos, 0); +} + +/** + * @brief + * @begin_version +**/ +TEST_F(test_dump_ex_suite, case_NoComment) +{ + //TODO + //comcfg::Log::openLowLevel(); + comcfg::Configure conf; + int ret = conf.load("conf", "sample.conf"); + ASSERT_EQ(ret, 0); + + char buf[10240]; + + ret = conf.dump_ex(buf, 10240, 1); + EXPECT_GT(ret, 0); + + char * comment_pos = strchr(buf, '#'); + ASSERT_EQ((long)comment_pos, 0); +} + +/** + * @brief + * @begin_version +**/ +TEST_F(test_dump_ex_suite, case_Position) +{ + //TODO + //comcfg::Log::openLowLevel(); + comcfg::Configure conf; + int ret = conf.load("conf", "sample.conf"); + ASSERT_EQ(ret, 0); + + char buf[10240]; + + ret = conf.dump_ex(buf, 10240, 2); + EXPECT_GT(ret, 0); + + //std::cout< + +int main(){ + comcfg :: Configure conf; + conf.load(".", "str.conf"); + int err; + conf["xxx"].to_int32(&err); + std::cout< +#include +#include "stdio.h" +#include + +using namespace comcfg; + +static int g_run = 0; + +static void * change_threadfun(void *param) +{ + FileReloader * prd = (FileReloader *)param; + while (g_run) { + printf("g_run:%d, monitor: %d\n",g_run, prd->monitor()); + sleep(10); + } + return NULL; +} + +int file_change(const char * filename, void * ) { + printf("file[%s]: changed\n", filename); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int main(){ + FileReloader rd; + rd.add_file_monitor("./reload.conf", file_change, NULL); + int add = rd.add_file_monitor("./reload.conf", file_change, NULL); + printf("add:%d\n", add); + rd.add_file_monitor("./reload.range", file_change, NULL); + g_run = 1; + pthread_t tid; + pthread_create(&tid, NULL, change_threadfun, &rd); + pthread_join(tid, NULL); + return 0; +} + + diff --git a/configure/test/test_get_default.cpp b/configure/test/test_get_default.cpp new file mode 100644 index 00000000..d09e1da1 --- /dev/null +++ b/configure/test/test_get_default.cpp @@ -0,0 +1,94 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_get_default.cpp,v 1.3 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file test_get_default.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/03/12 01:30:32 + * @version $Revision: 1.3 $ + * @brief + * + **/ + +#include "Configure.h" + + +#define ASSERT(x) do{\ + if(!(x))printf("Assert failed %s:%d\n", __FILE__, __LINE__);\ + else printf("Assertion Successful. %s:%d\n", __FILE__, __LINE__);\ +}while(0) + +int main(){ + using namespace comcfg; + system("touch Nothing.conf"); + system("echo A : B > Nothing.conf"); + comcfg::Configure conf; + int ret = conf.load(".", "Nothing.conf"); + ASSERT(ret == 0); + + char v0; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_char(&v0, '0') ); + ASSERT( v0 == '0' ); + unsigned char v1; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_uchar(&v1, '1') ); + ASSERT( v1 == '1' ); + int16_t v2; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_int16(&v2, 2) ); + ASSERT( v2 == 2 ); + u_int16_t v3; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_uint16(&v3, 3) ); + ASSERT( v3 == 3 ); + int v4; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_int32(&v4, 4) ); + ASSERT( v4 == 4 ); + u_int32_t v5; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_uint32(&v5, 5) ); + ASSERT( v5 == 5 ); + long long v6; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_int64(&v6, 6) ); + ASSERT( v6 == 6 ); + unsigned long long v7; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_uint64(&v7, 7) ); + ASSERT( v7 == 7 ); + float v8; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_float(&v8, 8) ); + ASSERT( v8 == 8 ); + double v9; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_double(&v9, 9) ); + ASSERT( v9 == 9 ); + bsl_string v10; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_bsl_string(&v10, "10") ); + ASSERT( v10 == str_t("10") ); + str_t v11; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_raw_string(&v11, "11") ); + ASSERT( v11 == str_t("11") ); + char s[12]; + ASSERT( comcfg::NOSUCHKEY == conf["xxx"].get_cstr(s,12, "12") ); + ASSERT(strcmp(s, "12") == 0); + + return 0; +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_get_value.cpp b/configure/test/test_get_value.cpp new file mode 100644 index 00000000..ecd06128 --- /dev/null +++ b/configure/test/test_get_value.cpp @@ -0,0 +1,244 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_get_value.cpp,v 1.5 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file test_get_value.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/29 16:45:20 + * @version $Revision: 1.5 $ + * @brief + * + **/ + +#include "ConfigUnit.h" +#include "Configure.h" +#include "utils/cc_struct.h" +#include +#include "ul_log.h" + +using namespace comcfg; + +void runtest(const comcfg::ConfigUnit &); + +int main(){ + ul_logstat_t ulg; + ulg.events = 2; + ul_openlog("./log", "test_get_value", &ulg, 2048); + comcfg::Configure conf; + conf.load(".", "test_value.conf", NULL); + printf( "\n\nRead test_int : "); + runtest(conf["test_int"]); + printf( "\n\nRead test_float : "); + runtest(conf["test_float"]); + printf( "\n\nRead test_str : "); + runtest(conf["test_str"]); + printf( "\n\nRead test_err : "); + runtest(conf["test_err"]); + return 0; +} + +void runtest(const comcfg::ConfigUnit & conf){ + + //========= Test char============= + try{ + char a0 = conf.to_char(); + std::cout<<"to char successful, value = "<comake2.md5 + @md5sum -c --status comake2.md5 + @rm -f comake2.md5 + +.PHONY:ccpclean +ccpclean: + @echo "[COMAKE:BUILD][Target:'ccpclean']" + @echo "make ccpclean done" + +.PHONY:clean +clean:ccpclean + @echo "[COMAKE:BUILD][Target:'clean']" + rm -rf test_globalConstraint + rm -rf ./output/bin/test_globalConstraint + rm -rf test_globalConstraint_test_globalConstraint.o + +.PHONY:dist +dist: + @echo "[COMAKE:BUILD][Target:'dist']" + tar czvf output.tar.gz output + @echo "make dist done" + +.PHONY:distclean +distclean:clean + @echo "[COMAKE:BUILD][Target:'distclean']" + rm -f output.tar.gz + @echo "make distclean done" + +.PHONY:love +love: + @echo "[COMAKE:BUILD][Target:'love']" + @echo "make love done" + +test_globalConstraint:test_globalConstraint_test_globalConstraint.o \ + ../../libconfig.a + @echo "[COMAKE:BUILD][Target:'test_globalConstraint']" + $(CXX) test_globalConstraint_test_globalConstraint.o -Xlinker "-(" ../../libconfig.a ../../../../com/btest/gtest/output/lib/libgtest.a \ + ../../../../com/btest/gtest/output/lib/libgtest_main.a \ + ../../../../lib2-64/bsl/lib/libbsl.a \ + ../../../../lib2-64/bsl/lib/libbsl_ResourcePool.a \ + ../../../../lib2-64/bsl/lib/libbsl_archive.a \ + ../../../../lib2-64/bsl/lib/libbsl_buffer.a \ + ../../../../lib2-64/bsl/lib/libbsl_check_cast.a \ + ../../../../lib2-64/bsl/lib/libbsl_exception.a \ + ../../../../lib2-64/bsl/lib/libbsl_pool.a \ + ../../../../lib2-64/bsl/lib/libbsl_utils.a \ + ../../../../lib2-64/bsl/lib/libbsl_var.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_implement.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_utils.a \ + ../../../../lib2-64/ullib/lib/libullib.a \ + ../../../../public/spreg/libspreg.a \ + ../../../../quality/autotest/reportlib/cpp/libautotest.a \ + ../../../../third-64/pcre/lib/libpcre.a \ + ../../../../third-64/pcre/lib/libpcrecpp.a \ + ../../../../third-64/pcre/lib/libpcreposix.a -lpthread \ + -lcrypto \ + -lrt -Xlinker "-)" -o test_globalConstraint + mkdir -p ./output/bin + cp -f --link test_globalConstraint ./output/bin + +test_globalConstraint_test_globalConstraint.o:test_globalConstraint.cpp + @echo "[COMAKE:BUILD][Target:'test_globalConstraint_test_globalConstraint.o']" + $(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o test_globalConstraint_test_globalConstraint.o test_globalConstraint.cpp + +endif #ifeq ($(shell uname -m),x86_64) + + diff --git a/configure/test/test_globalConstraint/conf/default.conf b/configure/test/test_globalConstraint/conf/default.conf new file mode 100644 index 00000000..ce519c74 --- /dev/null +++ b/configure/test/test_globalConstraint/conf/default.conf @@ -0,0 +1,4 @@ +[groupxxx] +def_value : +[groupyyy] +not_def_value : 4331 diff --git a/configure/test/test_globalConstraint/conf/enum.conf b/configure/test/test_globalConstraint/conf/enum.conf new file mode 100644 index 00000000..b075cee8 --- /dev/null +++ b/configure/test/test_globalConstraint/conf/enum.conf @@ -0,0 +1,5 @@ +[groupxxx] +enum1 : 100 +enum2 : 10 +enum3 : 10 +enum4 : 1 diff --git a/configure/test/test_globalConstraint/conf/getKey.conf b/configure/test/test_globalConstraint/conf/getKey.conf new file mode 100644 index 00000000..1f32cf23 --- /dev/null +++ b/configure/test/test_globalConstraint/conf/getKey.conf @@ -0,0 +1,19 @@ +[server] +ip : 1.2.3.4 +port : 123 +host : baidu +[GLOBAL] +position : beijing +@height : 5 +@height : 6 + +[company] +[.@svr] +ip : 4.3.2.1 +port : 321 +host : baidu +[company] +name : baidu.com +[GLOBAL] +g_n1 : value1 +g_n2 : value2 diff --git a/configure/test/test_globalConstraint/conf/getKey.range b/configure/test/test_globalConstraint/conf/getKey.range new file mode 100644 index 00000000..f9a3873a --- /dev/null +++ b/configure/test/test_globalConstraint/conf/getKey.range @@ -0,0 +1,16 @@ +struct server_t{ + string ip = ip(), length(20); + uint16_t port = range(1, 1023); + string host = length(100); +}; + +server_t server; +string position = length(100); +uint32_t height[10] = range(0,10); + +struct company_t{ + string name = length(100); + server_t svr[]; +}; + +company_t company; diff --git a/configure/test/test_globalConstraint/conf/ip.conf b/configure/test/test_globalConstraint/conf/ip.conf new file mode 100644 index 00000000..498314aa --- /dev/null +++ b/configure/test/test_globalConstraint/conf/ip.conf @@ -0,0 +1,2 @@ +[groupxxx] +addr : 1.2.3.4 diff --git a/configure/test/test_globalConstraint/conf/length.conf b/configure/test/test_globalConstraint/conf/length.conf new file mode 100644 index 00000000..c16c7911 --- /dev/null +++ b/configure/test/test_globalConstraint/conf/length.conf @@ -0,0 +1,2 @@ +[groupxxx] +str : 1234567890 diff --git a/configure/test/test_globalConstraint/conf/range.conf b/configure/test/test_globalConstraint/conf/range.conf new file mode 100644 index 00000000..e2820bdf --- /dev/null +++ b/configure/test/test_globalConstraint/conf/range.conf @@ -0,0 +1,4 @@ +[groupxxx] +range1 : 1 +range2 : 1000 +range3 : 250 diff --git a/configure/test/test_globalConstraint/conf/regexp.conf b/configure/test/test_globalConstraint/conf/regexp.conf new file mode 100644 index 00000000..0d8f97f1 --- /dev/null +++ b/configure/test/test_globalConstraint/conf/regexp.conf @@ -0,0 +1,4 @@ +#regular expression: (\d)+ match +#regular expression: .{1.5} not match +[groupxxx] +regtext : 1234567890 diff --git a/configure/test/test_globalConstraint/test_globalConstraint.cpp b/configure/test/test_globalConstraint/test_globalConstraint.cpp new file mode 100644 index 00000000..87e176d8 --- /dev/null +++ b/configure/test/test_globalConstraint/test_globalConstraint.cpp @@ -0,0 +1,526 @@ +#include +#include +#include +//#include "compiler/src/idl_conf_if.h" +#include "constraint/cc_default.h" +#include "constraint/ConstraintFunction.h" + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} +/** + * @brief +**/ +class test_globalConstraint_suite : public ::testing::Test{ + protected: + test_globalConstraint_suite(){}; + virtual ~test_globalConstraint_suite(){}; + virtual void SetUp() { + //Called befor every TEST_F(test_globalConstaint_suite, *) + }; + virtual void TearDown() { + //Called after every TEST_F(test_globalConstraint_suite, *) + }; +}; + + +/** + * @brief check printKeyConstraint + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_printKeyConstraint) +{ + //TODO + comcfg::Configure conf; + int ret = conf.load("conf/", "getKey.conf"); + ASSERT_EQ(0, ret); + //range file not specified + ret = conf.printKeyConstraint("company.svr.ip"); + ASSERT_NE(0, ret); + //wrongly formatted key_path + ret = conf.printKeyConstraint(".svr.ip", "conf/getKey.range"); + ASSERT_NE(0, ret); + //group not found + ret = conf.printKeyConstraint("company.notfound.ip", "conf/getKey.range"); + ASSERT_NE(0, ret); + //right long key + ret = conf.printKeyConstraint("company.svr.ip", "conf/getKey.range"); + ASSERT_EQ(0, ret); + //right short key + ret = conf.printKeyConstraint("position"); + ASSERT_EQ(0, ret); + //key not found + ret = conf.printKeyConstraint("not_found_key"); + ASSERT_NE(0, ret); +} + +/** + * @brief test global constraint function regexp + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_regexp_wrong_arg_num) +{ + comcfg::GlobalConsFun gFun("regexp_wrong_arg_num", comcfg::CFdefault::gcons_regexp); + gFun._arg.push_back("(\\d)+"); + gFun._arg.push_back(".{1,64}"); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "regexp.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function regexp + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_regexp_match) +{ + comcfg::GlobalConsFun gFun("regexp_match", comcfg::CFdefault::gcons_regexp); + gFun._arg.push_back("(\\d)+"); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "regexp.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function regexp + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_regexp_not_match) +{ + comcfg::GlobalConsFun gFun("regexp_not_match", comcfg::CFdefault::gcons_regexp); + gFun._arg.push_back(".{1,5}"); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "regexp.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function ip + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_ip_match) +{ + comcfg::GlobalConsFun gFun("ip_match", comcfg::CFdefault::gcons_ip); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "ip.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function ip + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_ip_not_match) +{ + comcfg::GlobalConsFun gFun("ip_not_match", comcfg::CFdefault::gcons_ip); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "regexp.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function length + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_length_int) +{ + typedef int ARG_TYPE; + ARG_TYPE DEF_VALUE = 100; + comcfg::GlobalConsFun gFun("length_int", comcfg::CFdefault::gcons_length); + gFun._arg.push_back(DEF_VALUE); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "length.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function length + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_length_longlong) +{ + typedef long long ARG_TYPE; + ARG_TYPE DEF_VALUE = 5; + comcfg::GlobalConsFun gFun("length_longlong", comcfg::CFdefault::gcons_length); + gFun._arg.push_back(DEF_VALUE); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "length.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function default + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_default_int) +{ + typedef int ARG_TYPE; + const ARG_TYPE DEF_VALUE = 100; + comcfg::GlobalConsFun gFun("default_int", comcfg::CFdefault::gcons_default); + gFun._arg.push_back(DEF_VALUE); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "default.conf"); + ASSERT_EQ(0, ret); + + int errcode = 0; + int value = conf["def_value"].to_int32(&errcode); + if(errcode == 0){ + ASSERT_EQ(DEF_VALUE, value); + } + errcode = 0; + value = conf["not_def_value"].to_int32(&errcode); + if(errcode == 0){ + ASSERT_NE(DEF_VALUE, value); + } + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function default + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_default_longlong) +{ + typedef long long ARG_TYPE; + const ARG_TYPE DEF_VALUE = 100; + comcfg::GlobalConsFun gFun("default_longlong", comcfg::CFdefault::gcons_default); + gFun._arg.push_back(DEF_VALUE); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "default.conf"); + ASSERT_EQ(0, ret); + + int errcode = 0; + ARG_TYPE value = conf["def_value"].to_int64(&errcode); + if(errcode == 0){ + ASSERT_EQ(DEF_VALUE, value); + } + errcode = 0; + value = conf["not_def_value"].to_int64(&errcode); + if(errcode == 0){ + ASSERT_NE(DEF_VALUE, value); + } + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function default + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_default_double) +{ + typedef double ARG_TYPE; + const ARG_TYPE DEF_VALUE = 100; + comcfg::GlobalConsFun gFun("default_double", comcfg::CFdefault::gcons_default); + gFun._arg.push_back(DEF_VALUE); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "default.conf"); + ASSERT_EQ(0, ret); + + int errcode = 0; + ARG_TYPE value = conf["def_value"].to_double(&errcode); + if(errcode == 0){ + ASSERT_DOUBLE_EQ(DEF_VALUE, value); + } + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function default + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_default_string) +{ + typedef bsl::string ARG_TYPE; + const ARG_TYPE DEF_VALUE = "hello, default string"; + comcfg::GlobalConsFun gFun("default_string", comcfg::CFdefault::gcons_default); + gFun._arg.push_back(DEF_VALUE); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "default.conf"); + ASSERT_EQ(0, ret); + + int errcode = 0; + ARG_TYPE value = conf["def_value"].to_bsl_string(&errcode); + if(errcode == 0){ + ASSERT_STREQ(DEF_VALUE.c_str(), value.c_str()); + } + errcode = 0; + value = conf["not_def_value"].to_bsl_string(&errcode); + if(errcode == 0){ + ASSERT_STRNE(DEF_VALUE.c_str(), value.c_str()); + } + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function default + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_default_wrong_type) +{ + typedef long ARG_TYPE; + ARG_TYPE DEF_VALUE = 100; + comcfg::GlobalConsFun gFun("default_long", comcfg::CFdefault::gcons_default); + gFun._arg.push_back(DEF_VALUE); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "default.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function enum + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_enum_int) +{ + typedef int ARG_TYPE; + comcfg::GlobalConsFun gFun("enum_int", comcfg::CFdefault::gcons_enum); + gFun._arg.push_back(1); + gFun._arg.push_back(10); + gFun._arg.push_back(100); + gFun._arg.push_back(1000); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "enum.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function enum + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_enum_longlong) +{ + typedef long long ARG_TYPE; + comcfg::GlobalConsFun gFun("enum_longlong", comcfg::CFdefault::gcons_enum); + gFun._arg.push_back(1); + gFun._arg.push_back(100); + gFun._arg.push_back(1000); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "enum.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function enum + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_enum_string) +{ + typedef bsl::string ARG_TYPE; + comcfg::GlobalConsFun gFun("enum_string", comcfg::CFdefault::gcons_enum); + gFun._arg.push_back("1"); + gFun._arg.push_back("10"); + gFun._arg.push_back("100"); + gFun._arg.push_back("1000"); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "enum.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function enum + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_enum_double) +{ + typedef double ARG_TYPE; + comcfg::GlobalConsFun gFun("enum_double", comcfg::CFdefault::gcons_enum); + gFun._arg.push_back(1); + gFun._arg.push_back(10); + gFun._arg.push_back(1000); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "enum.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function enum + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_enum_wrong_type) +{ + typedef char ARG_TYPE; + comcfg::GlobalConsFun gFun("enum_char", comcfg::CFdefault::gcons_enum); + gFun._arg.push_back('1'); + gFun._arg.push_back('2'); + gFun._arg.push_back('3'); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "enum.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function range + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_range_int) +{ + typedef int ARG_TYPE; + comcfg::GlobalConsFun gFun("range_int", comcfg::CFdefault::gcons_range); + gFun._arg.push_back(1); + gFun._arg.push_back(1000); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "range.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function range + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_range_longlong) +{ + typedef long long ARG_TYPE; + comcfg::GlobalConsFun gFun("range_longlong", comcfg::CFdefault::gcons_range); + gFun._arg.push_back(1); + gFun._arg.push_back(500); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "range.conf"); + ASSERT_NE(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test global constraint function range + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_range_double) +{ + typedef double ARG_TYPE; + comcfg::GlobalConsFun gFun("range_double", comcfg::CFdefault::gcons_range); + gFun._arg.push_back(1); + gFun._arg.push_back(1000); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint(gFun); + + comcfg::Configure conf; + int ret = conf.load("conf/", "range.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test variable parameters + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_variable_parameters_int) +{ + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint("range_int_vp",comcfg::CFdefault::gcons_range, 2, 1, 1000); + + comcfg::Configure conf; + int ret = conf.load("conf/", "range.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test variable parameters + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_variable_parameters_double) +{ + //comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint("range_double_vp",comcfg::CFdefault::gcons_range, 2, 1, 1000); + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint("range_double_vp",comcfg::CFdefault::gcons_range, 2, 1.0, 1000.0); + + comcfg::Configure conf; + int ret = conf.load("conf/", "range.conf"); + //ASSERT_NE(0, ret); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); +} + +/** + * @brief test variable parameters + * @note the program will crash if the variable parameters are not of POD type. This must be paid great attention. + * @begin_version + **/ +TEST_F(test_globalConstraint_suite, case_variable_parameters_string) +{ + /* + comcfg::ConstraintLibrary::getInstance()->registGlobalConstraint("enum_string_vp",comcfg::CFdefault::gcons_enum, 4, "1", "10", "100", "1000"); + + comcfg::Configure conf; + int ret = conf.load("conf/", "enum.conf"); + ASSERT_EQ(0, ret); + + comcfg::ConstraintLibrary::destroyInstance(); + */ +} + + + + diff --git a/configure/test/test_group/COMAKE b/configure/test/test_group/COMAKE new file mode 100644 index 00000000..06cf831c --- /dev/null +++ b/configure/test/test_group/COMAKE @@ -0,0 +1,60 @@ +#edit-mode: -*- python -*- +#coding:gbk + +#工作路径. +WORKROOT('../../../../') + +#使用硬链接copy. +CopyUsingHardLink(True) + +#支持32位/64位平台编译 +#ENABLE_MULTI_LIBS(True) + +#C预处理器参数. +CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"') +#为32位目标编译指定额外的预处理参数 +#CPPFLAGS_32('-D_XOPEN_SOURE=500') + +#C编译参数. +CFLAGS('-g -pipe -W -Wall -fPIC') + +#C++编译参数. +CXXFLAGS('-g -pipe -W -Wall -fPIC') + +#IDL编译参数 +IDLFLAGS('--compack') + +#UBRPC编译参数 +UBRPCFLAGS('--compack') + +#头文件路径. +INCPATHS('. ../../ ./include ./output ./output/include') + +#使用库 +LIBS('../../libconfig.a') + +#链接参数. +LDFLAGS('-lpthread -lcrypto -lrt') + +#依赖模块 +CONFIGS('lib2-64/ullib') +CONFIGS('lib2-64/bsl') +CONFIGS('public/spreg') +CONFIGS('com/btest/gtest') + +#为32位/64位指定不同的依赖路径. +#CONFIGS_32('lib2/ullib') +#CONFIGS_64('lib2-64/ullib') + +user_sources='' +user_headers='' + +#可执行文件 +Application('test_Configure',Sources('test_Configure.cpp')) +#静态库 +#StaticLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#共享库 +#SharedLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#子目录 +#Directory('demo') + diff --git a/configure/test/test_group/Makefile b/configure/test/test_group/Makefile new file mode 100644 index 00000000..f8fd8743 --- /dev/null +++ b/configure/test/test_group/Makefile @@ -0,0 +1,137 @@ +#COMAKE2 edit-mode: -*- Makefile -*- +####################64Bit Mode#################### +ifeq ($(shell uname -m),x86_64) +CC=gcc +CXX=g++ +CXXFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CPPFLAGS=-D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -DVERSION=\"1.9.8.7\" +INCPATH=-I. \ + -I../../ \ + -I./include \ + -I./output \ + -I./output/include +DEP_INCPATH=-I../../../../com/btest/gtest \ + -I../../../../com/btest/gtest/include \ + -I../../../../com/btest/gtest/output \ + -I../../../../com/btest/gtest/output/include \ + -I../../../../lib2-64/bsl \ + -I../../../../lib2-64/bsl/include \ + -I../../../../lib2-64/bsl/output \ + -I../../../../lib2-64/bsl/output/include \ + -I../../../../lib2-64/ullib \ + -I../../../../lib2-64/ullib/include \ + -I../../../../lib2-64/ullib/output \ + -I../../../../lib2-64/ullib/output/include \ + -I../../../../public/spreg \ + -I../../../../public/spreg/include \ + -I../../../../public/spreg/output \ + -I../../../../public/spreg/output/include \ + -I../../../../quality/autotest/reportlib/cpp \ + -I../../../../quality/autotest/reportlib/cpp/include \ + -I../../../../quality/autotest/reportlib/cpp/output \ + -I../../../../quality/autotest/reportlib/cpp/output/include \ + -I../../../../third-64/pcre \ + -I../../../../third-64/pcre/include \ + -I../../../../third-64/pcre/output \ + -I../../../../third-64/pcre/output/include + +#============ CCP vars ============ +CCHECK=@ccheck.py +CCHECK_FLAGS= +PCLINT=@pclint +PCLINT_FLAGS= +CCP=@ccp.py +CCP_FLAGS= + + +#COMAKE UUID +COMAKE_MD5=efc277696b93624647d9d0370f10bdd4 COMAKE + + +.PHONY:all +all:comake2_makefile_check test_Configure + @echo "[COMAKE:BUILD][Target:'all']" + @echo "make all done" + +.PHONY:comake2_makefile_check +comake2_makefile_check: + @echo "[COMAKE:BUILD][Target:'comake2_makefile_check']" + #in case of error, update 'Makefile' by 'comake2' + @echo "$(COMAKE_MD5)">comake2.md5 + @md5sum -c --status comake2.md5 + @rm -f comake2.md5 + +.PHONY:ccpclean +ccpclean: + @echo "[COMAKE:BUILD][Target:'ccpclean']" + @echo "make ccpclean done" + +.PHONY:clean +clean:ccpclean + @echo "[COMAKE:BUILD][Target:'clean']" + rm -rf test_Configure + rm -rf ./output/bin/test_Configure + rm -rf test_Configure_test_Configure.o + +.PHONY:dist +dist: + @echo "[COMAKE:BUILD][Target:'dist']" + tar czvf output.tar.gz output + @echo "make dist done" + +.PHONY:distclean +distclean:clean + @echo "[COMAKE:BUILD][Target:'distclean']" + rm -f output.tar.gz + @echo "make distclean done" + +.PHONY:love +love: + @echo "[COMAKE:BUILD][Target:'love']" + @echo "make love done" + +test_Configure:test_Configure_test_Configure.o \ + ../../libconfig.a + @echo "[COMAKE:BUILD][Target:'test_Configure']" + $(CXX) test_Configure_test_Configure.o -Xlinker "-(" ../../libconfig.a ../../../../com/btest/gtest/output/lib/libgtest.a \ + ../../../../com/btest/gtest/output/lib/libgtest_main.a \ + ../../../../lib2-64/bsl/lib/libbsl.a \ + ../../../../lib2-64/bsl/lib/libbsl_ResourcePool.a \ + ../../../../lib2-64/bsl/lib/libbsl_archive.a \ + ../../../../lib2-64/bsl/lib/libbsl_buffer.a \ + ../../../../lib2-64/bsl/lib/libbsl_check_cast.a \ + ../../../../lib2-64/bsl/lib/libbsl_exception.a \ + ../../../../lib2-64/bsl/lib/libbsl_pool.a \ + ../../../../lib2-64/bsl/lib/libbsl_utils.a \ + ../../../../lib2-64/bsl/lib/libbsl_var.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_implement.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_utils.a \ + ../../../../lib2-64/ullib/lib/libullib.a \ + ../../../../public/spreg/libspreg.a \ + ../../../../quality/autotest/reportlib/cpp/libautotest.a \ + ../../../../third-64/pcre/lib/libpcre.a \ + ../../../../third-64/pcre/lib/libpcrecpp.a \ + ../../../../third-64/pcre/lib/libpcreposix.a -lpthread \ + -lcrypto \ + -lrt -Xlinker "-)" -o test_Configure + mkdir -p ./output/bin + cp -f --link test_Configure ./output/bin + +test_Configure_test_Configure.o:test_Configure.cpp + @echo "[COMAKE:BUILD][Target:'test_Configure_test_Configure.o']" + $(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o test_Configure_test_Configure.o test_Configure.cpp + +endif #ifeq ($(shell uname -m),x86_64) + + diff --git a/configure/test/test_group/conf/bigconf.conf b/configure/test/test_group/conf/bigconf.conf new file mode 100644 index 00000000..20078318 --- /dev/null +++ b/configure/test/test_group/conf/bigconf.conf @@ -0,0 +1,100000 @@ +[group_1] +[group_2] +[group_3] +[group_4] +[group_5] +[group_6] +[group_7] +[group_8] +[group_9] +[group_10] +[group_11] +[group_12] +[group_13] +[group_14] +[group_15] +[group_16] +[group_17] +[group_18] +[group_19] +[group_20] +[group_21] +[group_22] +[group_23] +[group_24] +[group_25] +[group_26] +[group_27] +[group_28] +[group_29] +[group_30] +[group_31] +[group_32] +[group_33] +[group_34] +[group_35] +[group_36] +[group_37] +[group_38] +[group_39] +[group_40] +[group_41] +[group_42] +[group_43] +[group_44] +[group_45] +[group_46] +[group_47] +[group_48] +[group_49] +[group_50] +[group_51] +[group_52] +[group_53] +[group_54] +[group_55] +[group_56] +[group_57] +[group_58] +[group_59] +[group_60] +[group_61] +[group_62] +[group_63] +[group_64] +[group_65] +[group_66] +[group_67] +[group_68] +[group_69] +[group_70] +[group_71] +[group_72] +[group_73] +[group_74] +[group_75] +[group_76] +[group_77] +[group_78] +[group_79] +[group_80] +[group_81] +[group_82] +[group_83] +[group_84] +[group_85] +[group_86] +[group_87] +[group_88] +[group_89] +[group_90] +[group_91] +[group_92] +[group_93] +[group_94] +[group_95] +[group_96] +[group_97] +[group_98] +[group_99] +[group_100] +[group_101] +[group_102] +[group_103] +[group_104] +[group_105] +[group_106] +[group_107] +[group_108] +[group_109] +[group_110] +[group_111] +[group_112] +[group_113] +[group_114] +[group_115] +[group_116] +[group_117] +[group_118] +[group_119] +[group_120] +[group_121] +[group_122] +[group_123] +[group_124] +[group_125] +[group_126] +[group_127] +[group_128] +[group_129] +[group_130] +[group_131] +[group_132] +[group_133] +[group_134] +[group_135] +[group_136] +[group_137] +[group_138] +[group_139] +[group_140] +[group_141] +[group_142] +[group_143] +[group_144] +[group_145] +[group_146] +[group_147] +[group_148] +[group_149] +[group_150] +[group_151] +[group_152] +[group_153] +[group_154] +[group_155] +[group_156] +[group_157] +[group_158] +[group_159] +[group_160] +[group_161] +[group_162] +[group_163] +[group_164] +[group_165] +[group_166] +[group_167] +[group_168] +[group_169] +[group_170] +[group_171] +[group_172] +[group_173] +[group_174] +[group_175] +[group_176] +[group_177] +[group_178] +[group_179] +[group_180] +[group_181] +[group_182] +[group_183] +[group_184] +[group_185] +[group_186] +[group_187] +[group_188] +[group_189] +[group_190] +[group_191] +[group_192] +[group_193] +[group_194] +[group_195] +[group_196] +[group_197] +[group_198] +[group_199] +[group_200] +[group_201] +[group_202] +[group_203] +[group_204] +[group_205] +[group_206] +[group_207] +[group_208] +[group_209] +[group_210] +[group_211] +[group_212] +[group_213] +[group_214] +[group_215] +[group_216] +[group_217] +[group_218] +[group_219] +[group_220] +[group_221] +[group_222] +[group_223] +[group_224] +[group_225] +[group_226] +[group_227] +[group_228] +[group_229] +[group_230] +[group_231] +[group_232] +[group_233] +[group_234] +[group_235] +[group_236] +[group_237] +[group_238] +[group_239] +[group_240] +[group_241] +[group_242] +[group_243] +[group_244] +[group_245] +[group_246] +[group_247] +[group_248] +[group_249] +[group_250] +[group_251] +[group_252] +[group_253] +[group_254] +[group_255] +[group_256] +[group_257] +[group_258] +[group_259] +[group_260] +[group_261] +[group_262] +[group_263] +[group_264] +[group_265] +[group_266] +[group_267] +[group_268] +[group_269] +[group_270] +[group_271] +[group_272] +[group_273] +[group_274] +[group_275] +[group_276] +[group_277] +[group_278] +[group_279] +[group_280] +[group_281] +[group_282] +[group_283] +[group_284] +[group_285] +[group_286] +[group_287] +[group_288] +[group_289] +[group_290] +[group_291] +[group_292] +[group_293] +[group_294] +[group_295] +[group_296] +[group_297] +[group_298] +[group_299] +[group_300] +[group_301] +[group_302] +[group_303] +[group_304] +[group_305] +[group_306] +[group_307] +[group_308] +[group_309] +[group_310] +[group_311] +[group_312] +[group_313] +[group_314] +[group_315] +[group_316] +[group_317] +[group_318] +[group_319] +[group_320] +[group_321] +[group_322] +[group_323] +[group_324] +[group_325] +[group_326] +[group_327] +[group_328] +[group_329] +[group_330] +[group_331] +[group_332] +[group_333] +[group_334] +[group_335] +[group_336] +[group_337] +[group_338] +[group_339] +[group_340] +[group_341] +[group_342] +[group_343] +[group_344] +[group_345] +[group_346] +[group_347] +[group_348] +[group_349] +[group_350] +[group_351] +[group_352] +[group_353] +[group_354] +[group_355] +[group_356] +[group_357] +[group_358] +[group_359] +[group_360] +[group_361] +[group_362] +[group_363] +[group_364] +[group_365] +[group_366] +[group_367] +[group_368] +[group_369] +[group_370] +[group_371] +[group_372] +[group_373] +[group_374] +[group_375] +[group_376] +[group_377] +[group_378] +[group_379] +[group_380] +[group_381] +[group_382] +[group_383] +[group_384] +[group_385] +[group_386] +[group_387] +[group_388] +[group_389] +[group_390] +[group_391] +[group_392] +[group_393] +[group_394] +[group_395] +[group_396] +[group_397] +[group_398] +[group_399] +[group_400] +[group_401] +[group_402] +[group_403] +[group_404] +[group_405] +[group_406] +[group_407] +[group_408] +[group_409] +[group_410] +[group_411] +[group_412] +[group_413] +[group_414] +[group_415] +[group_416] +[group_417] +[group_418] +[group_419] +[group_420] +[group_421] +[group_422] +[group_423] +[group_424] +[group_425] +[group_426] +[group_427] +[group_428] +[group_429] +[group_430] +[group_431] +[group_432] +[group_433] +[group_434] +[group_435] +[group_436] +[group_437] +[group_438] +[group_439] +[group_440] +[group_441] +[group_442] +[group_443] +[group_444] +[group_445] +[group_446] +[group_447] +[group_448] +[group_449] +[group_450] +[group_451] +[group_452] +[group_453] +[group_454] +[group_455] +[group_456] +[group_457] +[group_458] +[group_459] +[group_460] +[group_461] +[group_462] +[group_463] +[group_464] +[group_465] +[group_466] +[group_467] +[group_468] +[group_469] +[group_470] +[group_471] +[group_472] +[group_473] +[group_474] +[group_475] +[group_476] +[group_477] +[group_478] +[group_479] +[group_480] +[group_481] +[group_482] +[group_483] +[group_484] +[group_485] +[group_486] +[group_487] +[group_488] +[group_489] +[group_490] +[group_491] +[group_492] +[group_493] +[group_494] +[group_495] +[group_496] +[group_497] +[group_498] +[group_499] +[group_500] +[group_501] +[group_502] +[group_503] +[group_504] +[group_505] +[group_506] +[group_507] +[group_508] +[group_509] +[group_510] +[group_511] +[group_512] +[group_513] +[group_514] +[group_515] +[group_516] +[group_517] +[group_518] +[group_519] +[group_520] +[group_521] +[group_522] +[group_523] +[group_524] +[group_525] +[group_526] +[group_527] +[group_528] +[group_529] +[group_530] +[group_531] +[group_532] +[group_533] +[group_534] +[group_535] +[group_536] +[group_537] +[group_538] +[group_539] +[group_540] +[group_541] +[group_542] +[group_543] +[group_544] +[group_545] +[group_546] +[group_547] +[group_548] +[group_549] +[group_550] +[group_551] +[group_552] +[group_553] +[group_554] +[group_555] +[group_556] +[group_557] +[group_558] +[group_559] +[group_560] +[group_561] +[group_562] +[group_563] +[group_564] +[group_565] +[group_566] +[group_567] +[group_568] +[group_569] +[group_570] +[group_571] +[group_572] +[group_573] +[group_574] +[group_575] +[group_576] +[group_577] +[group_578] +[group_579] +[group_580] +[group_581] +[group_582] +[group_583] +[group_584] +[group_585] +[group_586] +[group_587] +[group_588] +[group_589] +[group_590] +[group_591] +[group_592] +[group_593] +[group_594] +[group_595] +[group_596] +[group_597] +[group_598] +[group_599] +[group_600] +[group_601] +[group_602] +[group_603] +[group_604] +[group_605] +[group_606] +[group_607] +[group_608] +[group_609] +[group_610] +[group_611] +[group_612] +[group_613] +[group_614] +[group_615] +[group_616] +[group_617] +[group_618] +[group_619] +[group_620] +[group_621] +[group_622] +[group_623] +[group_624] +[group_625] +[group_626] +[group_627] +[group_628] +[group_629] +[group_630] +[group_631] +[group_632] +[group_633] +[group_634] +[group_635] +[group_636] +[group_637] +[group_638] +[group_639] +[group_640] +[group_641] +[group_642] +[group_643] +[group_644] +[group_645] +[group_646] +[group_647] +[group_648] +[group_649] +[group_650] +[group_651] +[group_652] +[group_653] +[group_654] +[group_655] +[group_656] +[group_657] +[group_658] +[group_659] +[group_660] +[group_661] +[group_662] +[group_663] +[group_664] +[group_665] +[group_666] +[group_667] +[group_668] +[group_669] +[group_670] +[group_671] +[group_672] +[group_673] +[group_674] +[group_675] +[group_676] +[group_677] +[group_678] +[group_679] +[group_680] +[group_681] +[group_682] +[group_683] +[group_684] +[group_685] +[group_686] +[group_687] +[group_688] +[group_689] +[group_690] +[group_691] +[group_692] +[group_693] +[group_694] +[group_695] +[group_696] +[group_697] +[group_698] +[group_699] +[group_700] +[group_701] +[group_702] +[group_703] +[group_704] +[group_705] +[group_706] +[group_707] +[group_708] +[group_709] +[group_710] +[group_711] +[group_712] +[group_713] +[group_714] +[group_715] +[group_716] +[group_717] +[group_718] +[group_719] +[group_720] +[group_721] +[group_722] +[group_723] +[group_724] +[group_725] +[group_726] +[group_727] +[group_728] +[group_729] +[group_730] +[group_731] +[group_732] +[group_733] +[group_734] +[group_735] +[group_736] +[group_737] +[group_738] +[group_739] +[group_740] +[group_741] +[group_742] +[group_743] +[group_744] +[group_745] +[group_746] +[group_747] +[group_748] +[group_749] +[group_750] +[group_751] +[group_752] +[group_753] +[group_754] +[group_755] +[group_756] +[group_757] +[group_758] +[group_759] +[group_760] +[group_761] +[group_762] +[group_763] +[group_764] +[group_765] +[group_766] +[group_767] +[group_768] +[group_769] +[group_770] +[group_771] +[group_772] +[group_773] +[group_774] +[group_775] +[group_776] +[group_777] +[group_778] +[group_779] +[group_780] +[group_781] +[group_782] +[group_783] +[group_784] +[group_785] +[group_786] +[group_787] +[group_788] +[group_789] +[group_790] +[group_791] +[group_792] +[group_793] +[group_794] +[group_795] +[group_796] +[group_797] +[group_798] +[group_799] +[group_800] +[group_801] +[group_802] +[group_803] +[group_804] +[group_805] +[group_806] +[group_807] +[group_808] +[group_809] +[group_810] +[group_811] +[group_812] +[group_813] +[group_814] +[group_815] +[group_816] +[group_817] +[group_818] +[group_819] +[group_820] +[group_821] +[group_822] +[group_823] +[group_824] +[group_825] +[group_826] +[group_827] +[group_828] +[group_829] +[group_830] +[group_831] +[group_832] +[group_833] +[group_834] +[group_835] +[group_836] +[group_837] +[group_838] +[group_839] +[group_840] +[group_841] +[group_842] +[group_843] +[group_844] +[group_845] +[group_846] +[group_847] +[group_848] +[group_849] +[group_850] +[group_851] +[group_852] +[group_853] +[group_854] +[group_855] +[group_856] +[group_857] +[group_858] +[group_859] +[group_860] +[group_861] +[group_862] +[group_863] +[group_864] +[group_865] +[group_866] +[group_867] +[group_868] +[group_869] +[group_870] +[group_871] +[group_872] +[group_873] +[group_874] +[group_875] +[group_876] +[group_877] +[group_878] +[group_879] +[group_880] +[group_881] +[group_882] +[group_883] +[group_884] +[group_885] +[group_886] +[group_887] +[group_888] +[group_889] +[group_890] +[group_891] +[group_892] +[group_893] +[group_894] +[group_895] +[group_896] +[group_897] +[group_898] +[group_899] +[group_900] +[group_901] +[group_902] +[group_903] +[group_904] +[group_905] +[group_906] +[group_907] +[group_908] +[group_909] +[group_910] +[group_911] +[group_912] +[group_913] +[group_914] +[group_915] +[group_916] +[group_917] +[group_918] +[group_919] +[group_920] +[group_921] +[group_922] +[group_923] +[group_924] +[group_925] +[group_926] +[group_927] +[group_928] +[group_929] +[group_930] +[group_931] +[group_932] +[group_933] +[group_934] +[group_935] +[group_936] +[group_937] +[group_938] +[group_939] +[group_940] +[group_941] +[group_942] +[group_943] +[group_944] +[group_945] +[group_946] +[group_947] +[group_948] +[group_949] +[group_950] +[group_951] +[group_952] +[group_953] +[group_954] +[group_955] +[group_956] +[group_957] +[group_958] +[group_959] +[group_960] +[group_961] +[group_962] +[group_963] +[group_964] +[group_965] +[group_966] +[group_967] +[group_968] +[group_969] +[group_970] +[group_971] +[group_972] +[group_973] +[group_974] +[group_975] +[group_976] +[group_977] +[group_978] +[group_979] +[group_980] +[group_981] +[group_982] +[group_983] +[group_984] +[group_985] +[group_986] +[group_987] +[group_988] +[group_989] +[group_990] +[group_991] +[group_992] +[group_993] +[group_994] +[group_995] +[group_996] +[group_997] +[group_998] +[group_999] +[group_1000] +[group_1001] +[group_1002] +[group_1003] +[group_1004] +[group_1005] +[group_1006] +[group_1007] +[group_1008] +[group_1009] +[group_1010] +[group_1011] +[group_1012] +[group_1013] +[group_1014] +[group_1015] +[group_1016] +[group_1017] +[group_1018] +[group_1019] +[group_1020] +[group_1021] +[group_1022] +[group_1023] +[group_1024] +[group_1025] +[group_1026] +[group_1027] +[group_1028] +[group_1029] +[group_1030] +[group_1031] +[group_1032] +[group_1033] +[group_1034] +[group_1035] +[group_1036] +[group_1037] +[group_1038] +[group_1039] +[group_1040] +[group_1041] +[group_1042] +[group_1043] +[group_1044] +[group_1045] +[group_1046] +[group_1047] +[group_1048] +[group_1049] +[group_1050] +[group_1051] +[group_1052] +[group_1053] +[group_1054] +[group_1055] +[group_1056] +[group_1057] +[group_1058] +[group_1059] +[group_1060] +[group_1061] +[group_1062] +[group_1063] +[group_1064] +[group_1065] +[group_1066] +[group_1067] +[group_1068] +[group_1069] +[group_1070] +[group_1071] +[group_1072] +[group_1073] +[group_1074] +[group_1075] +[group_1076] +[group_1077] +[group_1078] +[group_1079] +[group_1080] +[group_1081] +[group_1082] +[group_1083] +[group_1084] +[group_1085] +[group_1086] +[group_1087] +[group_1088] +[group_1089] +[group_1090] +[group_1091] +[group_1092] +[group_1093] +[group_1094] +[group_1095] +[group_1096] +[group_1097] +[group_1098] +[group_1099] +[group_1100] +[group_1101] +[group_1102] +[group_1103] +[group_1104] +[group_1105] +[group_1106] +[group_1107] +[group_1108] +[group_1109] +[group_1110] +[group_1111] +[group_1112] +[group_1113] +[group_1114] +[group_1115] +[group_1116] +[group_1117] +[group_1118] +[group_1119] +[group_1120] +[group_1121] +[group_1122] +[group_1123] +[group_1124] +[group_1125] +[group_1126] +[group_1127] +[group_1128] +[group_1129] +[group_1130] +[group_1131] +[group_1132] +[group_1133] +[group_1134] +[group_1135] +[group_1136] +[group_1137] +[group_1138] +[group_1139] +[group_1140] +[group_1141] +[group_1142] +[group_1143] +[group_1144] +[group_1145] +[group_1146] +[group_1147] +[group_1148] +[group_1149] +[group_1150] +[group_1151] +[group_1152] +[group_1153] +[group_1154] +[group_1155] +[group_1156] +[group_1157] +[group_1158] +[group_1159] +[group_1160] +[group_1161] +[group_1162] +[group_1163] +[group_1164] +[group_1165] +[group_1166] +[group_1167] +[group_1168] +[group_1169] +[group_1170] +[group_1171] +[group_1172] +[group_1173] +[group_1174] +[group_1175] +[group_1176] +[group_1177] +[group_1178] +[group_1179] +[group_1180] +[group_1181] +[group_1182] +[group_1183] +[group_1184] +[group_1185] +[group_1186] +[group_1187] +[group_1188] +[group_1189] +[group_1190] +[group_1191] +[group_1192] +[group_1193] +[group_1194] +[group_1195] +[group_1196] +[group_1197] +[group_1198] +[group_1199] +[group_1200] +[group_1201] +[group_1202] +[group_1203] +[group_1204] +[group_1205] +[group_1206] +[group_1207] +[group_1208] +[group_1209] +[group_1210] +[group_1211] +[group_1212] +[group_1213] +[group_1214] +[group_1215] +[group_1216] +[group_1217] +[group_1218] +[group_1219] +[group_1220] +[group_1221] +[group_1222] +[group_1223] +[group_1224] +[group_1225] +[group_1226] +[group_1227] +[group_1228] +[group_1229] +[group_1230] +[group_1231] +[group_1232] +[group_1233] +[group_1234] +[group_1235] +[group_1236] +[group_1237] +[group_1238] +[group_1239] +[group_1240] +[group_1241] +[group_1242] +[group_1243] +[group_1244] +[group_1245] +[group_1246] +[group_1247] +[group_1248] +[group_1249] +[group_1250] +[group_1251] +[group_1252] +[group_1253] +[group_1254] +[group_1255] +[group_1256] +[group_1257] +[group_1258] +[group_1259] +[group_1260] +[group_1261] +[group_1262] +[group_1263] +[group_1264] +[group_1265] +[group_1266] +[group_1267] +[group_1268] +[group_1269] +[group_1270] +[group_1271] +[group_1272] +[group_1273] +[group_1274] +[group_1275] +[group_1276] +[group_1277] +[group_1278] +[group_1279] +[group_1280] +[group_1281] +[group_1282] +[group_1283] +[group_1284] +[group_1285] +[group_1286] +[group_1287] +[group_1288] +[group_1289] +[group_1290] +[group_1291] +[group_1292] +[group_1293] +[group_1294] +[group_1295] +[group_1296] +[group_1297] +[group_1298] +[group_1299] +[group_1300] +[group_1301] +[group_1302] +[group_1303] +[group_1304] +[group_1305] +[group_1306] +[group_1307] +[group_1308] +[group_1309] +[group_1310] +[group_1311] +[group_1312] +[group_1313] +[group_1314] +[group_1315] +[group_1316] +[group_1317] +[group_1318] +[group_1319] +[group_1320] +[group_1321] +[group_1322] +[group_1323] +[group_1324] +[group_1325] +[group_1326] +[group_1327] +[group_1328] +[group_1329] +[group_1330] +[group_1331] +[group_1332] +[group_1333] +[group_1334] +[group_1335] +[group_1336] +[group_1337] +[group_1338] +[group_1339] +[group_1340] +[group_1341] +[group_1342] +[group_1343] +[group_1344] +[group_1345] +[group_1346] +[group_1347] +[group_1348] +[group_1349] +[group_1350] +[group_1351] +[group_1352] +[group_1353] +[group_1354] +[group_1355] +[group_1356] +[group_1357] +[group_1358] +[group_1359] +[group_1360] +[group_1361] +[group_1362] +[group_1363] +[group_1364] +[group_1365] +[group_1366] +[group_1367] +[group_1368] +[group_1369] +[group_1370] +[group_1371] +[group_1372] +[group_1373] +[group_1374] +[group_1375] +[group_1376] +[group_1377] +[group_1378] +[group_1379] +[group_1380] +[group_1381] +[group_1382] +[group_1383] +[group_1384] +[group_1385] +[group_1386] +[group_1387] +[group_1388] +[group_1389] +[group_1390] +[group_1391] +[group_1392] +[group_1393] +[group_1394] +[group_1395] +[group_1396] +[group_1397] +[group_1398] +[group_1399] +[group_1400] +[group_1401] +[group_1402] +[group_1403] +[group_1404] +[group_1405] +[group_1406] +[group_1407] +[group_1408] +[group_1409] +[group_1410] +[group_1411] +[group_1412] +[group_1413] +[group_1414] +[group_1415] +[group_1416] +[group_1417] +[group_1418] +[group_1419] +[group_1420] +[group_1421] +[group_1422] +[group_1423] +[group_1424] +[group_1425] +[group_1426] +[group_1427] +[group_1428] +[group_1429] +[group_1430] +[group_1431] +[group_1432] +[group_1433] +[group_1434] +[group_1435] +[group_1436] +[group_1437] +[group_1438] +[group_1439] +[group_1440] +[group_1441] +[group_1442] +[group_1443] +[group_1444] +[group_1445] +[group_1446] +[group_1447] +[group_1448] +[group_1449] +[group_1450] +[group_1451] +[group_1452] +[group_1453] +[group_1454] +[group_1455] +[group_1456] +[group_1457] +[group_1458] +[group_1459] +[group_1460] +[group_1461] +[group_1462] +[group_1463] +[group_1464] +[group_1465] +[group_1466] +[group_1467] +[group_1468] +[group_1469] +[group_1470] +[group_1471] +[group_1472] +[group_1473] +[group_1474] +[group_1475] +[group_1476] +[group_1477] +[group_1478] +[group_1479] +[group_1480] +[group_1481] +[group_1482] +[group_1483] +[group_1484] +[group_1485] +[group_1486] +[group_1487] +[group_1488] +[group_1489] +[group_1490] +[group_1491] +[group_1492] +[group_1493] +[group_1494] +[group_1495] +[group_1496] +[group_1497] +[group_1498] +[group_1499] +[group_1500] +[group_1501] +[group_1502] +[group_1503] +[group_1504] +[group_1505] +[group_1506] +[group_1507] +[group_1508] +[group_1509] +[group_1510] +[group_1511] +[group_1512] +[group_1513] +[group_1514] +[group_1515] +[group_1516] +[group_1517] +[group_1518] +[group_1519] +[group_1520] +[group_1521] +[group_1522] +[group_1523] +[group_1524] +[group_1525] +[group_1526] +[group_1527] +[group_1528] +[group_1529] +[group_1530] +[group_1531] +[group_1532] +[group_1533] +[group_1534] +[group_1535] +[group_1536] +[group_1537] +[group_1538] +[group_1539] +[group_1540] +[group_1541] +[group_1542] +[group_1543] +[group_1544] +[group_1545] +[group_1546] +[group_1547] +[group_1548] +[group_1549] +[group_1550] +[group_1551] +[group_1552] +[group_1553] +[group_1554] +[group_1555] +[group_1556] +[group_1557] +[group_1558] +[group_1559] +[group_1560] +[group_1561] +[group_1562] +[group_1563] +[group_1564] +[group_1565] +[group_1566] +[group_1567] +[group_1568] +[group_1569] +[group_1570] +[group_1571] +[group_1572] +[group_1573] +[group_1574] +[group_1575] +[group_1576] +[group_1577] +[group_1578] +[group_1579] +[group_1580] +[group_1581] +[group_1582] +[group_1583] +[group_1584] +[group_1585] +[group_1586] +[group_1587] +[group_1588] +[group_1589] +[group_1590] +[group_1591] +[group_1592] +[group_1593] +[group_1594] +[group_1595] +[group_1596] +[group_1597] +[group_1598] +[group_1599] +[group_1600] +[group_1601] +[group_1602] +[group_1603] +[group_1604] +[group_1605] +[group_1606] +[group_1607] +[group_1608] +[group_1609] +[group_1610] +[group_1611] +[group_1612] +[group_1613] +[group_1614] +[group_1615] +[group_1616] +[group_1617] +[group_1618] +[group_1619] +[group_1620] +[group_1621] +[group_1622] +[group_1623] +[group_1624] +[group_1625] +[group_1626] +[group_1627] +[group_1628] +[group_1629] +[group_1630] +[group_1631] +[group_1632] +[group_1633] +[group_1634] +[group_1635] +[group_1636] +[group_1637] +[group_1638] +[group_1639] +[group_1640] +[group_1641] +[group_1642] +[group_1643] +[group_1644] +[group_1645] +[group_1646] +[group_1647] +[group_1648] +[group_1649] +[group_1650] +[group_1651] +[group_1652] +[group_1653] +[group_1654] +[group_1655] +[group_1656] +[group_1657] +[group_1658] +[group_1659] +[group_1660] +[group_1661] +[group_1662] +[group_1663] +[group_1664] +[group_1665] +[group_1666] +[group_1667] +[group_1668] +[group_1669] +[group_1670] +[group_1671] +[group_1672] +[group_1673] +[group_1674] +[group_1675] +[group_1676] +[group_1677] +[group_1678] +[group_1679] +[group_1680] +[group_1681] +[group_1682] +[group_1683] +[group_1684] +[group_1685] +[group_1686] +[group_1687] +[group_1688] +[group_1689] +[group_1690] +[group_1691] +[group_1692] +[group_1693] +[group_1694] +[group_1695] +[group_1696] +[group_1697] +[group_1698] +[group_1699] +[group_1700] +[group_1701] +[group_1702] +[group_1703] +[group_1704] +[group_1705] +[group_1706] +[group_1707] +[group_1708] +[group_1709] +[group_1710] +[group_1711] +[group_1712] +[group_1713] +[group_1714] +[group_1715] +[group_1716] +[group_1717] +[group_1718] +[group_1719] +[group_1720] +[group_1721] +[group_1722] +[group_1723] +[group_1724] +[group_1725] +[group_1726] +[group_1727] +[group_1728] +[group_1729] +[group_1730] +[group_1731] +[group_1732] +[group_1733] +[group_1734] +[group_1735] +[group_1736] +[group_1737] +[group_1738] +[group_1739] +[group_1740] +[group_1741] +[group_1742] +[group_1743] +[group_1744] +[group_1745] +[group_1746] +[group_1747] +[group_1748] +[group_1749] +[group_1750] +[group_1751] +[group_1752] +[group_1753] +[group_1754] +[group_1755] +[group_1756] +[group_1757] +[group_1758] +[group_1759] +[group_1760] +[group_1761] +[group_1762] +[group_1763] +[group_1764] +[group_1765] +[group_1766] +[group_1767] +[group_1768] +[group_1769] +[group_1770] +[group_1771] +[group_1772] +[group_1773] +[group_1774] +[group_1775] +[group_1776] +[group_1777] +[group_1778] +[group_1779] +[group_1780] +[group_1781] +[group_1782] +[group_1783] +[group_1784] +[group_1785] +[group_1786] +[group_1787] +[group_1788] +[group_1789] +[group_1790] +[group_1791] +[group_1792] +[group_1793] +[group_1794] +[group_1795] +[group_1796] +[group_1797] +[group_1798] +[group_1799] +[group_1800] +[group_1801] +[group_1802] +[group_1803] +[group_1804] +[group_1805] +[group_1806] +[group_1807] +[group_1808] +[group_1809] +[group_1810] +[group_1811] +[group_1812] +[group_1813] +[group_1814] +[group_1815] +[group_1816] +[group_1817] +[group_1818] +[group_1819] +[group_1820] +[group_1821] +[group_1822] +[group_1823] +[group_1824] +[group_1825] +[group_1826] +[group_1827] +[group_1828] +[group_1829] +[group_1830] +[group_1831] +[group_1832] +[group_1833] +[group_1834] +[group_1835] +[group_1836] +[group_1837] +[group_1838] +[group_1839] +[group_1840] +[group_1841] +[group_1842] +[group_1843] +[group_1844] +[group_1845] +[group_1846] +[group_1847] +[group_1848] +[group_1849] +[group_1850] +[group_1851] +[group_1852] +[group_1853] +[group_1854] +[group_1855] +[group_1856] +[group_1857] +[group_1858] +[group_1859] +[group_1860] +[group_1861] +[group_1862] +[group_1863] +[group_1864] +[group_1865] +[group_1866] +[group_1867] +[group_1868] +[group_1869] +[group_1870] +[group_1871] +[group_1872] +[group_1873] +[group_1874] +[group_1875] +[group_1876] +[group_1877] +[group_1878] +[group_1879] +[group_1880] +[group_1881] +[group_1882] +[group_1883] +[group_1884] +[group_1885] +[group_1886] +[group_1887] +[group_1888] +[group_1889] +[group_1890] +[group_1891] +[group_1892] +[group_1893] +[group_1894] +[group_1895] +[group_1896] +[group_1897] +[group_1898] +[group_1899] +[group_1900] +[group_1901] +[group_1902] +[group_1903] +[group_1904] +[group_1905] +[group_1906] +[group_1907] +[group_1908] +[group_1909] +[group_1910] +[group_1911] +[group_1912] +[group_1913] +[group_1914] +[group_1915] +[group_1916] +[group_1917] +[group_1918] +[group_1919] +[group_1920] +[group_1921] +[group_1922] +[group_1923] +[group_1924] +[group_1925] +[group_1926] +[group_1927] +[group_1928] +[group_1929] +[group_1930] +[group_1931] +[group_1932] +[group_1933] +[group_1934] +[group_1935] +[group_1936] +[group_1937] +[group_1938] +[group_1939] +[group_1940] +[group_1941] +[group_1942] +[group_1943] +[group_1944] +[group_1945] +[group_1946] +[group_1947] +[group_1948] +[group_1949] +[group_1950] +[group_1951] +[group_1952] +[group_1953] +[group_1954] +[group_1955] +[group_1956] +[group_1957] +[group_1958] +[group_1959] +[group_1960] +[group_1961] +[group_1962] +[group_1963] +[group_1964] +[group_1965] +[group_1966] +[group_1967] +[group_1968] +[group_1969] +[group_1970] +[group_1971] +[group_1972] +[group_1973] +[group_1974] +[group_1975] +[group_1976] +[group_1977] +[group_1978] +[group_1979] +[group_1980] +[group_1981] +[group_1982] +[group_1983] +[group_1984] +[group_1985] +[group_1986] +[group_1987] +[group_1988] +[group_1989] +[group_1990] +[group_1991] +[group_1992] +[group_1993] +[group_1994] +[group_1995] +[group_1996] +[group_1997] +[group_1998] +[group_1999] +[group_2000] +[group_2001] +[group_2002] +[group_2003] +[group_2004] +[group_2005] +[group_2006] +[group_2007] +[group_2008] +[group_2009] +[group_2010] +[group_2011] +[group_2012] +[group_2013] +[group_2014] +[group_2015] +[group_2016] +[group_2017] +[group_2018] +[group_2019] +[group_2020] +[group_2021] +[group_2022] +[group_2023] +[group_2024] +[group_2025] +[group_2026] +[group_2027] +[group_2028] +[group_2029] +[group_2030] +[group_2031] +[group_2032] +[group_2033] +[group_2034] +[group_2035] +[group_2036] +[group_2037] +[group_2038] +[group_2039] +[group_2040] +[group_2041] +[group_2042] +[group_2043] +[group_2044] +[group_2045] +[group_2046] +[group_2047] +[group_2048] +[group_2049] +[group_2050] +[group_2051] +[group_2052] +[group_2053] +[group_2054] +[group_2055] +[group_2056] +[group_2057] +[group_2058] +[group_2059] +[group_2060] +[group_2061] +[group_2062] +[group_2063] +[group_2064] +[group_2065] +[group_2066] +[group_2067] +[group_2068] +[group_2069] +[group_2070] +[group_2071] +[group_2072] +[group_2073] +[group_2074] +[group_2075] +[group_2076] +[group_2077] +[group_2078] +[group_2079] +[group_2080] +[group_2081] +[group_2082] +[group_2083] +[group_2084] +[group_2085] +[group_2086] +[group_2087] +[group_2088] +[group_2089] +[group_2090] +[group_2091] +[group_2092] +[group_2093] +[group_2094] +[group_2095] +[group_2096] +[group_2097] +[group_2098] +[group_2099] +[group_2100] +[group_2101] +[group_2102] +[group_2103] +[group_2104] +[group_2105] +[group_2106] +[group_2107] +[group_2108] +[group_2109] +[group_2110] +[group_2111] +[group_2112] +[group_2113] +[group_2114] +[group_2115] +[group_2116] +[group_2117] +[group_2118] +[group_2119] +[group_2120] +[group_2121] +[group_2122] +[group_2123] +[group_2124] +[group_2125] +[group_2126] +[group_2127] +[group_2128] +[group_2129] +[group_2130] +[group_2131] +[group_2132] +[group_2133] +[group_2134] +[group_2135] +[group_2136] +[group_2137] +[group_2138] +[group_2139] +[group_2140] +[group_2141] +[group_2142] +[group_2143] +[group_2144] +[group_2145] +[group_2146] +[group_2147] +[group_2148] +[group_2149] +[group_2150] +[group_2151] +[group_2152] +[group_2153] +[group_2154] +[group_2155] +[group_2156] +[group_2157] +[group_2158] +[group_2159] +[group_2160] +[group_2161] +[group_2162] +[group_2163] +[group_2164] +[group_2165] +[group_2166] +[group_2167] +[group_2168] +[group_2169] +[group_2170] +[group_2171] +[group_2172] +[group_2173] +[group_2174] +[group_2175] +[group_2176] +[group_2177] +[group_2178] +[group_2179] +[group_2180] +[group_2181] +[group_2182] +[group_2183] +[group_2184] +[group_2185] +[group_2186] +[group_2187] +[group_2188] +[group_2189] +[group_2190] +[group_2191] +[group_2192] +[group_2193] +[group_2194] +[group_2195] +[group_2196] +[group_2197] +[group_2198] +[group_2199] +[group_2200] +[group_2201] +[group_2202] +[group_2203] +[group_2204] +[group_2205] +[group_2206] +[group_2207] +[group_2208] +[group_2209] +[group_2210] +[group_2211] +[group_2212] +[group_2213] +[group_2214] +[group_2215] +[group_2216] +[group_2217] +[group_2218] +[group_2219] +[group_2220] +[group_2221] +[group_2222] +[group_2223] +[group_2224] +[group_2225] +[group_2226] +[group_2227] +[group_2228] +[group_2229] +[group_2230] +[group_2231] +[group_2232] +[group_2233] +[group_2234] +[group_2235] +[group_2236] +[group_2237] +[group_2238] +[group_2239] +[group_2240] +[group_2241] +[group_2242] +[group_2243] +[group_2244] +[group_2245] +[group_2246] +[group_2247] +[group_2248] +[group_2249] +[group_2250] +[group_2251] +[group_2252] +[group_2253] +[group_2254] +[group_2255] +[group_2256] +[group_2257] +[group_2258] +[group_2259] +[group_2260] +[group_2261] +[group_2262] +[group_2263] +[group_2264] +[group_2265] +[group_2266] +[group_2267] +[group_2268] +[group_2269] +[group_2270] +[group_2271] +[group_2272] +[group_2273] +[group_2274] +[group_2275] +[group_2276] +[group_2277] +[group_2278] +[group_2279] +[group_2280] +[group_2281] +[group_2282] +[group_2283] +[group_2284] +[group_2285] +[group_2286] +[group_2287] +[group_2288] +[group_2289] +[group_2290] +[group_2291] +[group_2292] +[group_2293] +[group_2294] +[group_2295] +[group_2296] +[group_2297] +[group_2298] +[group_2299] +[group_2300] +[group_2301] +[group_2302] +[group_2303] +[group_2304] +[group_2305] +[group_2306] +[group_2307] +[group_2308] +[group_2309] +[group_2310] +[group_2311] +[group_2312] +[group_2313] +[group_2314] +[group_2315] +[group_2316] +[group_2317] +[group_2318] +[group_2319] +[group_2320] +[group_2321] +[group_2322] +[group_2323] +[group_2324] +[group_2325] +[group_2326] +[group_2327] +[group_2328] +[group_2329] +[group_2330] +[group_2331] +[group_2332] +[group_2333] +[group_2334] +[group_2335] +[group_2336] +[group_2337] +[group_2338] +[group_2339] +[group_2340] +[group_2341] +[group_2342] +[group_2343] +[group_2344] +[group_2345] +[group_2346] +[group_2347] +[group_2348] +[group_2349] +[group_2350] +[group_2351] +[group_2352] +[group_2353] +[group_2354] +[group_2355] +[group_2356] +[group_2357] +[group_2358] +[group_2359] +[group_2360] +[group_2361] +[group_2362] +[group_2363] +[group_2364] +[group_2365] +[group_2366] +[group_2367] +[group_2368] +[group_2369] +[group_2370] +[group_2371] +[group_2372] +[group_2373] +[group_2374] +[group_2375] +[group_2376] +[group_2377] +[group_2378] +[group_2379] +[group_2380] +[group_2381] +[group_2382] +[group_2383] +[group_2384] +[group_2385] +[group_2386] +[group_2387] +[group_2388] +[group_2389] +[group_2390] +[group_2391] +[group_2392] +[group_2393] +[group_2394] +[group_2395] +[group_2396] +[group_2397] +[group_2398] +[group_2399] +[group_2400] +[group_2401] +[group_2402] +[group_2403] +[group_2404] +[group_2405] +[group_2406] +[group_2407] +[group_2408] +[group_2409] +[group_2410] +[group_2411] +[group_2412] +[group_2413] +[group_2414] +[group_2415] +[group_2416] +[group_2417] +[group_2418] +[group_2419] +[group_2420] +[group_2421] +[group_2422] +[group_2423] +[group_2424] +[group_2425] +[group_2426] +[group_2427] +[group_2428] +[group_2429] +[group_2430] +[group_2431] +[group_2432] +[group_2433] +[group_2434] +[group_2435] +[group_2436] +[group_2437] +[group_2438] +[group_2439] +[group_2440] +[group_2441] +[group_2442] +[group_2443] +[group_2444] +[group_2445] +[group_2446] +[group_2447] +[group_2448] +[group_2449] +[group_2450] +[group_2451] +[group_2452] +[group_2453] +[group_2454] +[group_2455] +[group_2456] +[group_2457] +[group_2458] +[group_2459] +[group_2460] +[group_2461] +[group_2462] +[group_2463] +[group_2464] +[group_2465] +[group_2466] +[group_2467] +[group_2468] +[group_2469] +[group_2470] +[group_2471] +[group_2472] +[group_2473] +[group_2474] +[group_2475] +[group_2476] +[group_2477] +[group_2478] +[group_2479] +[group_2480] +[group_2481] +[group_2482] +[group_2483] +[group_2484] +[group_2485] +[group_2486] +[group_2487] +[group_2488] +[group_2489] +[group_2490] +[group_2491] +[group_2492] +[group_2493] +[group_2494] +[group_2495] +[group_2496] +[group_2497] +[group_2498] +[group_2499] +[group_2500] +[group_2501] +[group_2502] +[group_2503] +[group_2504] +[group_2505] +[group_2506] +[group_2507] +[group_2508] +[group_2509] +[group_2510] +[group_2511] +[group_2512] +[group_2513] +[group_2514] +[group_2515] +[group_2516] +[group_2517] +[group_2518] +[group_2519] +[group_2520] +[group_2521] +[group_2522] +[group_2523] +[group_2524] +[group_2525] +[group_2526] +[group_2527] +[group_2528] +[group_2529] +[group_2530] +[group_2531] +[group_2532] +[group_2533] +[group_2534] +[group_2535] +[group_2536] +[group_2537] +[group_2538] +[group_2539] +[group_2540] +[group_2541] +[group_2542] +[group_2543] +[group_2544] +[group_2545] +[group_2546] +[group_2547] +[group_2548] +[group_2549] +[group_2550] +[group_2551] +[group_2552] +[group_2553] +[group_2554] +[group_2555] +[group_2556] +[group_2557] +[group_2558] +[group_2559] +[group_2560] +[group_2561] +[group_2562] +[group_2563] +[group_2564] +[group_2565] +[group_2566] +[group_2567] +[group_2568] +[group_2569] +[group_2570] +[group_2571] +[group_2572] +[group_2573] +[group_2574] +[group_2575] +[group_2576] +[group_2577] +[group_2578] +[group_2579] +[group_2580] +[group_2581] +[group_2582] +[group_2583] +[group_2584] +[group_2585] +[group_2586] +[group_2587] +[group_2588] +[group_2589] +[group_2590] +[group_2591] +[group_2592] +[group_2593] +[group_2594] +[group_2595] +[group_2596] +[group_2597] +[group_2598] +[group_2599] +[group_2600] +[group_2601] +[group_2602] +[group_2603] +[group_2604] +[group_2605] +[group_2606] +[group_2607] +[group_2608] +[group_2609] +[group_2610] +[group_2611] +[group_2612] +[group_2613] +[group_2614] +[group_2615] +[group_2616] +[group_2617] +[group_2618] +[group_2619] +[group_2620] +[group_2621] +[group_2622] +[group_2623] +[group_2624] +[group_2625] +[group_2626] +[group_2627] +[group_2628] +[group_2629] +[group_2630] +[group_2631] +[group_2632] +[group_2633] +[group_2634] +[group_2635] +[group_2636] +[group_2637] +[group_2638] +[group_2639] +[group_2640] +[group_2641] +[group_2642] +[group_2643] +[group_2644] +[group_2645] +[group_2646] +[group_2647] +[group_2648] +[group_2649] +[group_2650] +[group_2651] +[group_2652] +[group_2653] +[group_2654] +[group_2655] +[group_2656] +[group_2657] +[group_2658] +[group_2659] +[group_2660] +[group_2661] +[group_2662] +[group_2663] +[group_2664] +[group_2665] +[group_2666] +[group_2667] +[group_2668] +[group_2669] +[group_2670] +[group_2671] +[group_2672] +[group_2673] +[group_2674] +[group_2675] +[group_2676] +[group_2677] +[group_2678] +[group_2679] +[group_2680] +[group_2681] +[group_2682] +[group_2683] +[group_2684] +[group_2685] +[group_2686] +[group_2687] +[group_2688] +[group_2689] +[group_2690] +[group_2691] +[group_2692] +[group_2693] +[group_2694] +[group_2695] +[group_2696] +[group_2697] +[group_2698] +[group_2699] +[group_2700] +[group_2701] +[group_2702] +[group_2703] +[group_2704] +[group_2705] +[group_2706] +[group_2707] +[group_2708] +[group_2709] +[group_2710] +[group_2711] +[group_2712] +[group_2713] +[group_2714] +[group_2715] +[group_2716] +[group_2717] +[group_2718] +[group_2719] +[group_2720] +[group_2721] +[group_2722] +[group_2723] +[group_2724] +[group_2725] +[group_2726] +[group_2727] +[group_2728] +[group_2729] +[group_2730] +[group_2731] +[group_2732] +[group_2733] +[group_2734] +[group_2735] +[group_2736] +[group_2737] +[group_2738] +[group_2739] +[group_2740] +[group_2741] +[group_2742] +[group_2743] +[group_2744] +[group_2745] +[group_2746] +[group_2747] +[group_2748] +[group_2749] +[group_2750] +[group_2751] +[group_2752] +[group_2753] +[group_2754] +[group_2755] +[group_2756] +[group_2757] +[group_2758] +[group_2759] +[group_2760] +[group_2761] +[group_2762] +[group_2763] +[group_2764] +[group_2765] +[group_2766] +[group_2767] +[group_2768] +[group_2769] +[group_2770] +[group_2771] +[group_2772] +[group_2773] +[group_2774] +[group_2775] +[group_2776] +[group_2777] +[group_2778] +[group_2779] +[group_2780] +[group_2781] +[group_2782] +[group_2783] +[group_2784] +[group_2785] +[group_2786] +[group_2787] +[group_2788] +[group_2789] +[group_2790] +[group_2791] +[group_2792] +[group_2793] +[group_2794] +[group_2795] +[group_2796] +[group_2797] +[group_2798] +[group_2799] +[group_2800] +[group_2801] +[group_2802] +[group_2803] +[group_2804] +[group_2805] +[group_2806] +[group_2807] +[group_2808] +[group_2809] +[group_2810] +[group_2811] +[group_2812] +[group_2813] +[group_2814] +[group_2815] +[group_2816] +[group_2817] +[group_2818] +[group_2819] +[group_2820] +[group_2821] +[group_2822] +[group_2823] +[group_2824] +[group_2825] +[group_2826] +[group_2827] +[group_2828] +[group_2829] +[group_2830] +[group_2831] +[group_2832] +[group_2833] +[group_2834] +[group_2835] +[group_2836] +[group_2837] +[group_2838] +[group_2839] +[group_2840] +[group_2841] +[group_2842] +[group_2843] +[group_2844] +[group_2845] +[group_2846] +[group_2847] +[group_2848] +[group_2849] +[group_2850] +[group_2851] +[group_2852] +[group_2853] +[group_2854] +[group_2855] +[group_2856] +[group_2857] +[group_2858] +[group_2859] +[group_2860] +[group_2861] +[group_2862] +[group_2863] +[group_2864] +[group_2865] +[group_2866] +[group_2867] +[group_2868] +[group_2869] +[group_2870] +[group_2871] +[group_2872] +[group_2873] +[group_2874] +[group_2875] +[group_2876] +[group_2877] +[group_2878] +[group_2879] +[group_2880] +[group_2881] +[group_2882] +[group_2883] +[group_2884] +[group_2885] +[group_2886] +[group_2887] +[group_2888] +[group_2889] +[group_2890] +[group_2891] +[group_2892] +[group_2893] +[group_2894] +[group_2895] +[group_2896] +[group_2897] +[group_2898] +[group_2899] +[group_2900] +[group_2901] +[group_2902] +[group_2903] +[group_2904] +[group_2905] +[group_2906] +[group_2907] +[group_2908] +[group_2909] +[group_2910] +[group_2911] +[group_2912] +[group_2913] +[group_2914] +[group_2915] +[group_2916] +[group_2917] +[group_2918] +[group_2919] +[group_2920] +[group_2921] +[group_2922] +[group_2923] +[group_2924] +[group_2925] +[group_2926] +[group_2927] +[group_2928] +[group_2929] +[group_2930] +[group_2931] +[group_2932] +[group_2933] +[group_2934] +[group_2935] +[group_2936] +[group_2937] +[group_2938] +[group_2939] +[group_2940] +[group_2941] +[group_2942] +[group_2943] +[group_2944] +[group_2945] +[group_2946] +[group_2947] +[group_2948] +[group_2949] +[group_2950] +[group_2951] +[group_2952] +[group_2953] +[group_2954] +[group_2955] +[group_2956] +[group_2957] +[group_2958] +[group_2959] +[group_2960] +[group_2961] +[group_2962] +[group_2963] +[group_2964] +[group_2965] +[group_2966] +[group_2967] +[group_2968] +[group_2969] +[group_2970] +[group_2971] +[group_2972] +[group_2973] +[group_2974] +[group_2975] +[group_2976] +[group_2977] +[group_2978] +[group_2979] +[group_2980] +[group_2981] +[group_2982] +[group_2983] +[group_2984] +[group_2985] +[group_2986] +[group_2987] +[group_2988] +[group_2989] +[group_2990] +[group_2991] +[group_2992] +[group_2993] +[group_2994] +[group_2995] +[group_2996] +[group_2997] +[group_2998] +[group_2999] +[group_3000] +[group_3001] +[group_3002] +[group_3003] +[group_3004] +[group_3005] +[group_3006] +[group_3007] +[group_3008] +[group_3009] +[group_3010] +[group_3011] +[group_3012] +[group_3013] +[group_3014] +[group_3015] +[group_3016] +[group_3017] +[group_3018] +[group_3019] +[group_3020] +[group_3021] +[group_3022] +[group_3023] +[group_3024] +[group_3025] +[group_3026] +[group_3027] +[group_3028] +[group_3029] +[group_3030] +[group_3031] +[group_3032] +[group_3033] +[group_3034] +[group_3035] +[group_3036] +[group_3037] +[group_3038] +[group_3039] +[group_3040] +[group_3041] +[group_3042] +[group_3043] +[group_3044] +[group_3045] +[group_3046] +[group_3047] +[group_3048] +[group_3049] +[group_3050] +[group_3051] +[group_3052] +[group_3053] +[group_3054] +[group_3055] +[group_3056] +[group_3057] +[group_3058] +[group_3059] +[group_3060] +[group_3061] +[group_3062] +[group_3063] +[group_3064] +[group_3065] +[group_3066] +[group_3067] +[group_3068] +[group_3069] +[group_3070] +[group_3071] +[group_3072] +[group_3073] +[group_3074] +[group_3075] +[group_3076] +[group_3077] +[group_3078] +[group_3079] +[group_3080] +[group_3081] +[group_3082] +[group_3083] +[group_3084] +[group_3085] +[group_3086] +[group_3087] +[group_3088] +[group_3089] +[group_3090] +[group_3091] +[group_3092] +[group_3093] +[group_3094] +[group_3095] +[group_3096] +[group_3097] +[group_3098] +[group_3099] +[group_3100] +[group_3101] +[group_3102] +[group_3103] +[group_3104] +[group_3105] +[group_3106] +[group_3107] +[group_3108] +[group_3109] +[group_3110] +[group_3111] +[group_3112] +[group_3113] +[group_3114] +[group_3115] +[group_3116] +[group_3117] +[group_3118] +[group_3119] +[group_3120] +[group_3121] +[group_3122] +[group_3123] +[group_3124] +[group_3125] +[group_3126] +[group_3127] +[group_3128] +[group_3129] +[group_3130] +[group_3131] +[group_3132] +[group_3133] +[group_3134] +[group_3135] +[group_3136] +[group_3137] +[group_3138] +[group_3139] +[group_3140] +[group_3141] +[group_3142] +[group_3143] +[group_3144] +[group_3145] +[group_3146] +[group_3147] +[group_3148] +[group_3149] +[group_3150] +[group_3151] +[group_3152] +[group_3153] +[group_3154] +[group_3155] +[group_3156] +[group_3157] +[group_3158] +[group_3159] +[group_3160] +[group_3161] +[group_3162] +[group_3163] +[group_3164] +[group_3165] +[group_3166] +[group_3167] +[group_3168] +[group_3169] +[group_3170] +[group_3171] +[group_3172] +[group_3173] +[group_3174] +[group_3175] +[group_3176] +[group_3177] +[group_3178] +[group_3179] +[group_3180] +[group_3181] +[group_3182] +[group_3183] +[group_3184] +[group_3185] +[group_3186] +[group_3187] +[group_3188] +[group_3189] +[group_3190] +[group_3191] +[group_3192] +[group_3193] +[group_3194] +[group_3195] +[group_3196] +[group_3197] +[group_3198] +[group_3199] +[group_3200] +[group_3201] +[group_3202] +[group_3203] +[group_3204] +[group_3205] +[group_3206] +[group_3207] +[group_3208] +[group_3209] +[group_3210] +[group_3211] +[group_3212] +[group_3213] +[group_3214] +[group_3215] +[group_3216] +[group_3217] +[group_3218] +[group_3219] +[group_3220] +[group_3221] +[group_3222] +[group_3223] +[group_3224] +[group_3225] +[group_3226] +[group_3227] +[group_3228] +[group_3229] +[group_3230] +[group_3231] +[group_3232] +[group_3233] +[group_3234] +[group_3235] +[group_3236] +[group_3237] +[group_3238] +[group_3239] +[group_3240] +[group_3241] +[group_3242] +[group_3243] +[group_3244] +[group_3245] +[group_3246] +[group_3247] +[group_3248] +[group_3249] +[group_3250] +[group_3251] +[group_3252] +[group_3253] +[group_3254] +[group_3255] +[group_3256] +[group_3257] +[group_3258] +[group_3259] +[group_3260] +[group_3261] +[group_3262] +[group_3263] +[group_3264] +[group_3265] +[group_3266] +[group_3267] +[group_3268] +[group_3269] +[group_3270] +[group_3271] +[group_3272] +[group_3273] +[group_3274] +[group_3275] +[group_3276] +[group_3277] +[group_3278] +[group_3279] +[group_3280] +[group_3281] +[group_3282] +[group_3283] +[group_3284] +[group_3285] +[group_3286] +[group_3287] +[group_3288] +[group_3289] +[group_3290] +[group_3291] +[group_3292] +[group_3293] +[group_3294] +[group_3295] +[group_3296] +[group_3297] +[group_3298] +[group_3299] +[group_3300] +[group_3301] +[group_3302] +[group_3303] +[group_3304] +[group_3305] +[group_3306] +[group_3307] +[group_3308] +[group_3309] +[group_3310] +[group_3311] +[group_3312] +[group_3313] +[group_3314] +[group_3315] +[group_3316] +[group_3317] +[group_3318] +[group_3319] +[group_3320] +[group_3321] +[group_3322] +[group_3323] +[group_3324] +[group_3325] +[group_3326] +[group_3327] +[group_3328] +[group_3329] +[group_3330] +[group_3331] +[group_3332] +[group_3333] +[group_3334] +[group_3335] +[group_3336] +[group_3337] +[group_3338] +[group_3339] +[group_3340] +[group_3341] +[group_3342] +[group_3343] +[group_3344] +[group_3345] +[group_3346] +[group_3347] +[group_3348] +[group_3349] +[group_3350] +[group_3351] +[group_3352] +[group_3353] +[group_3354] +[group_3355] +[group_3356] +[group_3357] +[group_3358] +[group_3359] +[group_3360] +[group_3361] +[group_3362] +[group_3363] +[group_3364] +[group_3365] +[group_3366] +[group_3367] +[group_3368] +[group_3369] +[group_3370] +[group_3371] +[group_3372] +[group_3373] +[group_3374] +[group_3375] +[group_3376] +[group_3377] +[group_3378] +[group_3379] +[group_3380] +[group_3381] +[group_3382] +[group_3383] +[group_3384] +[group_3385] +[group_3386] +[group_3387] +[group_3388] +[group_3389] +[group_3390] +[group_3391] +[group_3392] +[group_3393] +[group_3394] +[group_3395] +[group_3396] +[group_3397] +[group_3398] +[group_3399] +[group_3400] +[group_3401] +[group_3402] +[group_3403] +[group_3404] +[group_3405] +[group_3406] +[group_3407] +[group_3408] +[group_3409] +[group_3410] +[group_3411] +[group_3412] +[group_3413] +[group_3414] +[group_3415] +[group_3416] +[group_3417] +[group_3418] +[group_3419] +[group_3420] +[group_3421] +[group_3422] +[group_3423] +[group_3424] +[group_3425] +[group_3426] +[group_3427] +[group_3428] +[group_3429] +[group_3430] +[group_3431] +[group_3432] +[group_3433] +[group_3434] +[group_3435] +[group_3436] +[group_3437] +[group_3438] +[group_3439] +[group_3440] +[group_3441] +[group_3442] +[group_3443] +[group_3444] +[group_3445] +[group_3446] +[group_3447] +[group_3448] +[group_3449] +[group_3450] +[group_3451] +[group_3452] +[group_3453] +[group_3454] +[group_3455] +[group_3456] +[group_3457] +[group_3458] +[group_3459] +[group_3460] +[group_3461] +[group_3462] +[group_3463] +[group_3464] +[group_3465] +[group_3466] +[group_3467] +[group_3468] +[group_3469] +[group_3470] +[group_3471] +[group_3472] +[group_3473] +[group_3474] +[group_3475] +[group_3476] +[group_3477] +[group_3478] +[group_3479] +[group_3480] +[group_3481] +[group_3482] +[group_3483] +[group_3484] +[group_3485] +[group_3486] +[group_3487] +[group_3488] +[group_3489] +[group_3490] +[group_3491] +[group_3492] +[group_3493] +[group_3494] +[group_3495] +[group_3496] +[group_3497] +[group_3498] +[group_3499] +[group_3500] +[group_3501] +[group_3502] +[group_3503] +[group_3504] +[group_3505] +[group_3506] +[group_3507] +[group_3508] +[group_3509] +[group_3510] +[group_3511] +[group_3512] +[group_3513] +[group_3514] +[group_3515] +[group_3516] +[group_3517] +[group_3518] +[group_3519] +[group_3520] +[group_3521] +[group_3522] +[group_3523] +[group_3524] +[group_3525] +[group_3526] +[group_3527] +[group_3528] +[group_3529] +[group_3530] +[group_3531] +[group_3532] +[group_3533] +[group_3534] +[group_3535] +[group_3536] +[group_3537] +[group_3538] +[group_3539] +[group_3540] +[group_3541] +[group_3542] +[group_3543] +[group_3544] +[group_3545] +[group_3546] +[group_3547] +[group_3548] +[group_3549] +[group_3550] +[group_3551] +[group_3552] +[group_3553] +[group_3554] +[group_3555] +[group_3556] +[group_3557] +[group_3558] +[group_3559] +[group_3560] +[group_3561] +[group_3562] +[group_3563] +[group_3564] +[group_3565] +[group_3566] +[group_3567] +[group_3568] +[group_3569] +[group_3570] +[group_3571] +[group_3572] +[group_3573] +[group_3574] +[group_3575] +[group_3576] +[group_3577] +[group_3578] +[group_3579] +[group_3580] +[group_3581] +[group_3582] +[group_3583] +[group_3584] +[group_3585] +[group_3586] +[group_3587] +[group_3588] +[group_3589] +[group_3590] +[group_3591] +[group_3592] +[group_3593] +[group_3594] +[group_3595] +[group_3596] +[group_3597] +[group_3598] +[group_3599] +[group_3600] +[group_3601] +[group_3602] +[group_3603] +[group_3604] +[group_3605] +[group_3606] +[group_3607] +[group_3608] +[group_3609] +[group_3610] +[group_3611] +[group_3612] +[group_3613] +[group_3614] +[group_3615] +[group_3616] +[group_3617] +[group_3618] +[group_3619] +[group_3620] +[group_3621] +[group_3622] +[group_3623] +[group_3624] +[group_3625] +[group_3626] +[group_3627] +[group_3628] +[group_3629] +[group_3630] +[group_3631] +[group_3632] +[group_3633] +[group_3634] +[group_3635] +[group_3636] +[group_3637] +[group_3638] +[group_3639] +[group_3640] +[group_3641] +[group_3642] +[group_3643] +[group_3644] +[group_3645] +[group_3646] +[group_3647] +[group_3648] +[group_3649] +[group_3650] +[group_3651] +[group_3652] +[group_3653] +[group_3654] +[group_3655] +[group_3656] +[group_3657] +[group_3658] +[group_3659] +[group_3660] +[group_3661] +[group_3662] +[group_3663] +[group_3664] +[group_3665] +[group_3666] +[group_3667] +[group_3668] +[group_3669] +[group_3670] +[group_3671] +[group_3672] +[group_3673] +[group_3674] +[group_3675] +[group_3676] +[group_3677] +[group_3678] +[group_3679] +[group_3680] +[group_3681] +[group_3682] +[group_3683] +[group_3684] +[group_3685] +[group_3686] +[group_3687] +[group_3688] +[group_3689] +[group_3690] +[group_3691] +[group_3692] +[group_3693] +[group_3694] +[group_3695] +[group_3696] +[group_3697] +[group_3698] +[group_3699] +[group_3700] +[group_3701] +[group_3702] +[group_3703] +[group_3704] +[group_3705] +[group_3706] +[group_3707] +[group_3708] +[group_3709] +[group_3710] +[group_3711] +[group_3712] +[group_3713] +[group_3714] +[group_3715] +[group_3716] +[group_3717] +[group_3718] +[group_3719] +[group_3720] +[group_3721] +[group_3722] +[group_3723] +[group_3724] +[group_3725] +[group_3726] +[group_3727] +[group_3728] +[group_3729] +[group_3730] +[group_3731] +[group_3732] +[group_3733] +[group_3734] +[group_3735] +[group_3736] +[group_3737] +[group_3738] +[group_3739] +[group_3740] +[group_3741] +[group_3742] +[group_3743] +[group_3744] +[group_3745] +[group_3746] +[group_3747] +[group_3748] +[group_3749] +[group_3750] +[group_3751] +[group_3752] +[group_3753] +[group_3754] +[group_3755] +[group_3756] +[group_3757] +[group_3758] +[group_3759] +[group_3760] +[group_3761] +[group_3762] +[group_3763] +[group_3764] +[group_3765] +[group_3766] +[group_3767] +[group_3768] +[group_3769] +[group_3770] +[group_3771] +[group_3772] +[group_3773] +[group_3774] +[group_3775] +[group_3776] +[group_3777] +[group_3778] +[group_3779] +[group_3780] +[group_3781] +[group_3782] +[group_3783] +[group_3784] +[group_3785] +[group_3786] +[group_3787] +[group_3788] +[group_3789] +[group_3790] +[group_3791] +[group_3792] +[group_3793] +[group_3794] +[group_3795] +[group_3796] +[group_3797] +[group_3798] +[group_3799] +[group_3800] +[group_3801] +[group_3802] +[group_3803] +[group_3804] +[group_3805] +[group_3806] +[group_3807] +[group_3808] +[group_3809] +[group_3810] +[group_3811] +[group_3812] +[group_3813] +[group_3814] +[group_3815] +[group_3816] +[group_3817] +[group_3818] +[group_3819] +[group_3820] +[group_3821] +[group_3822] +[group_3823] +[group_3824] +[group_3825] +[group_3826] +[group_3827] +[group_3828] +[group_3829] +[group_3830] +[group_3831] +[group_3832] +[group_3833] +[group_3834] +[group_3835] +[group_3836] +[group_3837] +[group_3838] +[group_3839] +[group_3840] +[group_3841] +[group_3842] +[group_3843] +[group_3844] +[group_3845] +[group_3846] +[group_3847] +[group_3848] +[group_3849] +[group_3850] +[group_3851] +[group_3852] +[group_3853] +[group_3854] +[group_3855] +[group_3856] +[group_3857] +[group_3858] +[group_3859] +[group_3860] +[group_3861] +[group_3862] +[group_3863] +[group_3864] +[group_3865] +[group_3866] +[group_3867] +[group_3868] +[group_3869] +[group_3870] +[group_3871] +[group_3872] +[group_3873] +[group_3874] +[group_3875] +[group_3876] +[group_3877] +[group_3878] +[group_3879] +[group_3880] +[group_3881] +[group_3882] +[group_3883] +[group_3884] +[group_3885] +[group_3886] +[group_3887] +[group_3888] +[group_3889] +[group_3890] +[group_3891] +[group_3892] +[group_3893] +[group_3894] +[group_3895] +[group_3896] +[group_3897] +[group_3898] +[group_3899] +[group_3900] +[group_3901] +[group_3902] +[group_3903] +[group_3904] +[group_3905] +[group_3906] +[group_3907] +[group_3908] +[group_3909] +[group_3910] +[group_3911] +[group_3912] +[group_3913] +[group_3914] +[group_3915] +[group_3916] +[group_3917] +[group_3918] +[group_3919] +[group_3920] +[group_3921] +[group_3922] +[group_3923] +[group_3924] +[group_3925] +[group_3926] +[group_3927] +[group_3928] +[group_3929] +[group_3930] +[group_3931] +[group_3932] +[group_3933] +[group_3934] +[group_3935] +[group_3936] +[group_3937] +[group_3938] +[group_3939] +[group_3940] +[group_3941] +[group_3942] +[group_3943] +[group_3944] +[group_3945] +[group_3946] +[group_3947] +[group_3948] +[group_3949] +[group_3950] +[group_3951] +[group_3952] +[group_3953] +[group_3954] +[group_3955] +[group_3956] +[group_3957] +[group_3958] +[group_3959] +[group_3960] +[group_3961] +[group_3962] +[group_3963] +[group_3964] +[group_3965] +[group_3966] +[group_3967] +[group_3968] +[group_3969] +[group_3970] +[group_3971] +[group_3972] +[group_3973] +[group_3974] +[group_3975] +[group_3976] +[group_3977] +[group_3978] +[group_3979] +[group_3980] +[group_3981] +[group_3982] +[group_3983] +[group_3984] +[group_3985] +[group_3986] +[group_3987] +[group_3988] +[group_3989] +[group_3990] +[group_3991] +[group_3992] +[group_3993] +[group_3994] +[group_3995] +[group_3996] +[group_3997] +[group_3998] +[group_3999] +[group_4000] +[group_4001] +[group_4002] +[group_4003] +[group_4004] +[group_4005] +[group_4006] +[group_4007] +[group_4008] +[group_4009] +[group_4010] +[group_4011] +[group_4012] +[group_4013] +[group_4014] +[group_4015] +[group_4016] +[group_4017] +[group_4018] +[group_4019] +[group_4020] +[group_4021] +[group_4022] +[group_4023] +[group_4024] +[group_4025] +[group_4026] +[group_4027] +[group_4028] +[group_4029] +[group_4030] +[group_4031] +[group_4032] +[group_4033] +[group_4034] +[group_4035] +[group_4036] +[group_4037] +[group_4038] +[group_4039] +[group_4040] +[group_4041] +[group_4042] +[group_4043] +[group_4044] +[group_4045] +[group_4046] +[group_4047] +[group_4048] +[group_4049] +[group_4050] +[group_4051] +[group_4052] +[group_4053] +[group_4054] +[group_4055] +[group_4056] +[group_4057] +[group_4058] +[group_4059] +[group_4060] +[group_4061] +[group_4062] +[group_4063] +[group_4064] +[group_4065] +[group_4066] +[group_4067] +[group_4068] +[group_4069] +[group_4070] +[group_4071] +[group_4072] +[group_4073] +[group_4074] +[group_4075] +[group_4076] +[group_4077] +[group_4078] +[group_4079] +[group_4080] +[group_4081] +[group_4082] +[group_4083] +[group_4084] +[group_4085] +[group_4086] +[group_4087] +[group_4088] +[group_4089] +[group_4090] +[group_4091] +[group_4092] +[group_4093] +[group_4094] +[group_4095] +[group_4096] +[group_4097] +[group_4098] +[group_4099] +[group_4100] +[group_4101] +[group_4102] +[group_4103] +[group_4104] +[group_4105] +[group_4106] +[group_4107] +[group_4108] +[group_4109] +[group_4110] +[group_4111] +[group_4112] +[group_4113] +[group_4114] +[group_4115] +[group_4116] +[group_4117] +[group_4118] +[group_4119] +[group_4120] +[group_4121] +[group_4122] +[group_4123] +[group_4124] +[group_4125] +[group_4126] +[group_4127] +[group_4128] +[group_4129] +[group_4130] +[group_4131] +[group_4132] +[group_4133] +[group_4134] +[group_4135] +[group_4136] +[group_4137] +[group_4138] +[group_4139] +[group_4140] +[group_4141] +[group_4142] +[group_4143] +[group_4144] +[group_4145] +[group_4146] +[group_4147] +[group_4148] +[group_4149] +[group_4150] +[group_4151] +[group_4152] +[group_4153] +[group_4154] +[group_4155] +[group_4156] +[group_4157] +[group_4158] +[group_4159] +[group_4160] +[group_4161] +[group_4162] +[group_4163] +[group_4164] +[group_4165] +[group_4166] +[group_4167] +[group_4168] +[group_4169] +[group_4170] +[group_4171] +[group_4172] +[group_4173] +[group_4174] +[group_4175] +[group_4176] +[group_4177] +[group_4178] +[group_4179] +[group_4180] +[group_4181] +[group_4182] +[group_4183] +[group_4184] +[group_4185] +[group_4186] +[group_4187] +[group_4188] +[group_4189] +[group_4190] +[group_4191] +[group_4192] +[group_4193] +[group_4194] +[group_4195] +[group_4196] +[group_4197] +[group_4198] +[group_4199] +[group_4200] +[group_4201] +[group_4202] +[group_4203] +[group_4204] +[group_4205] +[group_4206] +[group_4207] +[group_4208] +[group_4209] +[group_4210] +[group_4211] +[group_4212] +[group_4213] +[group_4214] +[group_4215] +[group_4216] +[group_4217] +[group_4218] +[group_4219] +[group_4220] +[group_4221] +[group_4222] +[group_4223] +[group_4224] +[group_4225] +[group_4226] +[group_4227] +[group_4228] +[group_4229] +[group_4230] +[group_4231] +[group_4232] +[group_4233] +[group_4234] +[group_4235] +[group_4236] +[group_4237] +[group_4238] +[group_4239] +[group_4240] +[group_4241] +[group_4242] +[group_4243] +[group_4244] +[group_4245] +[group_4246] +[group_4247] +[group_4248] +[group_4249] +[group_4250] +[group_4251] +[group_4252] +[group_4253] +[group_4254] +[group_4255] +[group_4256] +[group_4257] +[group_4258] +[group_4259] +[group_4260] +[group_4261] +[group_4262] +[group_4263] +[group_4264] +[group_4265] +[group_4266] +[group_4267] +[group_4268] +[group_4269] +[group_4270] +[group_4271] +[group_4272] +[group_4273] +[group_4274] +[group_4275] +[group_4276] +[group_4277] +[group_4278] +[group_4279] +[group_4280] +[group_4281] +[group_4282] +[group_4283] +[group_4284] +[group_4285] +[group_4286] +[group_4287] +[group_4288] +[group_4289] +[group_4290] +[group_4291] +[group_4292] +[group_4293] +[group_4294] +[group_4295] +[group_4296] +[group_4297] +[group_4298] +[group_4299] +[group_4300] +[group_4301] +[group_4302] +[group_4303] +[group_4304] +[group_4305] +[group_4306] +[group_4307] +[group_4308] +[group_4309] +[group_4310] +[group_4311] +[group_4312] +[group_4313] +[group_4314] +[group_4315] +[group_4316] +[group_4317] +[group_4318] +[group_4319] +[group_4320] +[group_4321] +[group_4322] +[group_4323] +[group_4324] +[group_4325] +[group_4326] +[group_4327] +[group_4328] +[group_4329] +[group_4330] +[group_4331] +[group_4332] +[group_4333] +[group_4334] +[group_4335] +[group_4336] +[group_4337] +[group_4338] +[group_4339] +[group_4340] +[group_4341] +[group_4342] +[group_4343] +[group_4344] +[group_4345] +[group_4346] +[group_4347] +[group_4348] +[group_4349] +[group_4350] +[group_4351] +[group_4352] +[group_4353] +[group_4354] +[group_4355] +[group_4356] +[group_4357] +[group_4358] +[group_4359] +[group_4360] +[group_4361] +[group_4362] +[group_4363] +[group_4364] +[group_4365] +[group_4366] +[group_4367] +[group_4368] +[group_4369] +[group_4370] +[group_4371] +[group_4372] +[group_4373] +[group_4374] +[group_4375] +[group_4376] +[group_4377] +[group_4378] +[group_4379] +[group_4380] +[group_4381] +[group_4382] +[group_4383] +[group_4384] +[group_4385] +[group_4386] +[group_4387] +[group_4388] +[group_4389] +[group_4390] +[group_4391] +[group_4392] +[group_4393] +[group_4394] +[group_4395] +[group_4396] +[group_4397] +[group_4398] +[group_4399] +[group_4400] +[group_4401] +[group_4402] +[group_4403] +[group_4404] +[group_4405] +[group_4406] +[group_4407] +[group_4408] +[group_4409] +[group_4410] +[group_4411] +[group_4412] +[group_4413] +[group_4414] +[group_4415] +[group_4416] +[group_4417] +[group_4418] +[group_4419] +[group_4420] +[group_4421] +[group_4422] +[group_4423] +[group_4424] +[group_4425] +[group_4426] +[group_4427] +[group_4428] +[group_4429] +[group_4430] +[group_4431] +[group_4432] +[group_4433] +[group_4434] +[group_4435] +[group_4436] +[group_4437] +[group_4438] +[group_4439] +[group_4440] +[group_4441] +[group_4442] +[group_4443] +[group_4444] +[group_4445] +[group_4446] +[group_4447] +[group_4448] +[group_4449] +[group_4450] +[group_4451] +[group_4452] +[group_4453] +[group_4454] +[group_4455] +[group_4456] +[group_4457] +[group_4458] +[group_4459] +[group_4460] +[group_4461] +[group_4462] +[group_4463] +[group_4464] +[group_4465] +[group_4466] +[group_4467] +[group_4468] +[group_4469] +[group_4470] +[group_4471] +[group_4472] +[group_4473] +[group_4474] +[group_4475] +[group_4476] +[group_4477] +[group_4478] +[group_4479] +[group_4480] +[group_4481] +[group_4482] +[group_4483] +[group_4484] +[group_4485] +[group_4486] +[group_4487] +[group_4488] +[group_4489] +[group_4490] +[group_4491] +[group_4492] +[group_4493] +[group_4494] +[group_4495] +[group_4496] +[group_4497] +[group_4498] +[group_4499] +[group_4500] +[group_4501] +[group_4502] +[group_4503] +[group_4504] +[group_4505] +[group_4506] +[group_4507] +[group_4508] +[group_4509] +[group_4510] +[group_4511] +[group_4512] +[group_4513] +[group_4514] +[group_4515] +[group_4516] +[group_4517] +[group_4518] +[group_4519] +[group_4520] +[group_4521] +[group_4522] +[group_4523] +[group_4524] +[group_4525] +[group_4526] +[group_4527] +[group_4528] +[group_4529] +[group_4530] +[group_4531] +[group_4532] +[group_4533] +[group_4534] +[group_4535] +[group_4536] +[group_4537] +[group_4538] +[group_4539] +[group_4540] +[group_4541] +[group_4542] +[group_4543] +[group_4544] +[group_4545] +[group_4546] +[group_4547] +[group_4548] +[group_4549] +[group_4550] +[group_4551] +[group_4552] +[group_4553] +[group_4554] +[group_4555] +[group_4556] +[group_4557] +[group_4558] +[group_4559] +[group_4560] +[group_4561] +[group_4562] +[group_4563] +[group_4564] +[group_4565] +[group_4566] +[group_4567] +[group_4568] +[group_4569] +[group_4570] +[group_4571] +[group_4572] +[group_4573] +[group_4574] +[group_4575] +[group_4576] +[group_4577] +[group_4578] +[group_4579] +[group_4580] +[group_4581] +[group_4582] +[group_4583] +[group_4584] +[group_4585] +[group_4586] +[group_4587] +[group_4588] +[group_4589] +[group_4590] +[group_4591] +[group_4592] +[group_4593] +[group_4594] +[group_4595] +[group_4596] +[group_4597] +[group_4598] +[group_4599] +[group_4600] +[group_4601] +[group_4602] +[group_4603] +[group_4604] +[group_4605] +[group_4606] +[group_4607] +[group_4608] +[group_4609] +[group_4610] +[group_4611] +[group_4612] +[group_4613] +[group_4614] +[group_4615] +[group_4616] +[group_4617] +[group_4618] +[group_4619] +[group_4620] +[group_4621] +[group_4622] +[group_4623] +[group_4624] +[group_4625] +[group_4626] +[group_4627] +[group_4628] +[group_4629] +[group_4630] +[group_4631] +[group_4632] +[group_4633] +[group_4634] +[group_4635] +[group_4636] +[group_4637] +[group_4638] +[group_4639] +[group_4640] +[group_4641] +[group_4642] +[group_4643] +[group_4644] +[group_4645] +[group_4646] +[group_4647] +[group_4648] +[group_4649] +[group_4650] +[group_4651] +[group_4652] +[group_4653] +[group_4654] +[group_4655] +[group_4656] +[group_4657] +[group_4658] +[group_4659] +[group_4660] +[group_4661] +[group_4662] +[group_4663] +[group_4664] +[group_4665] +[group_4666] +[group_4667] +[group_4668] +[group_4669] +[group_4670] +[group_4671] +[group_4672] +[group_4673] +[group_4674] +[group_4675] +[group_4676] +[group_4677] +[group_4678] +[group_4679] +[group_4680] +[group_4681] +[group_4682] +[group_4683] +[group_4684] +[group_4685] +[group_4686] +[group_4687] +[group_4688] +[group_4689] +[group_4690] +[group_4691] +[group_4692] +[group_4693] +[group_4694] +[group_4695] +[group_4696] +[group_4697] +[group_4698] +[group_4699] +[group_4700] +[group_4701] +[group_4702] +[group_4703] +[group_4704] +[group_4705] +[group_4706] +[group_4707] +[group_4708] +[group_4709] +[group_4710] +[group_4711] +[group_4712] +[group_4713] +[group_4714] +[group_4715] +[group_4716] +[group_4717] +[group_4718] +[group_4719] +[group_4720] +[group_4721] +[group_4722] +[group_4723] +[group_4724] +[group_4725] +[group_4726] +[group_4727] +[group_4728] +[group_4729] +[group_4730] +[group_4731] +[group_4732] +[group_4733] +[group_4734] +[group_4735] +[group_4736] +[group_4737] +[group_4738] +[group_4739] +[group_4740] +[group_4741] +[group_4742] +[group_4743] +[group_4744] +[group_4745] +[group_4746] +[group_4747] +[group_4748] +[group_4749] +[group_4750] +[group_4751] +[group_4752] +[group_4753] +[group_4754] +[group_4755] +[group_4756] +[group_4757] +[group_4758] +[group_4759] +[group_4760] +[group_4761] +[group_4762] +[group_4763] +[group_4764] +[group_4765] +[group_4766] +[group_4767] +[group_4768] +[group_4769] +[group_4770] +[group_4771] +[group_4772] +[group_4773] +[group_4774] +[group_4775] +[group_4776] +[group_4777] +[group_4778] +[group_4779] +[group_4780] +[group_4781] +[group_4782] +[group_4783] +[group_4784] +[group_4785] +[group_4786] +[group_4787] +[group_4788] +[group_4789] +[group_4790] +[group_4791] +[group_4792] +[group_4793] +[group_4794] +[group_4795] +[group_4796] +[group_4797] +[group_4798] +[group_4799] +[group_4800] +[group_4801] +[group_4802] +[group_4803] +[group_4804] +[group_4805] +[group_4806] +[group_4807] +[group_4808] +[group_4809] +[group_4810] +[group_4811] +[group_4812] +[group_4813] +[group_4814] +[group_4815] +[group_4816] +[group_4817] +[group_4818] +[group_4819] +[group_4820] +[group_4821] +[group_4822] +[group_4823] +[group_4824] +[group_4825] +[group_4826] +[group_4827] +[group_4828] +[group_4829] +[group_4830] +[group_4831] +[group_4832] +[group_4833] +[group_4834] +[group_4835] +[group_4836] +[group_4837] +[group_4838] +[group_4839] +[group_4840] +[group_4841] +[group_4842] +[group_4843] +[group_4844] +[group_4845] +[group_4846] +[group_4847] +[group_4848] +[group_4849] +[group_4850] +[group_4851] +[group_4852] +[group_4853] +[group_4854] +[group_4855] +[group_4856] +[group_4857] +[group_4858] +[group_4859] +[group_4860] +[group_4861] +[group_4862] +[group_4863] +[group_4864] +[group_4865] +[group_4866] +[group_4867] +[group_4868] +[group_4869] +[group_4870] +[group_4871] +[group_4872] +[group_4873] +[group_4874] +[group_4875] +[group_4876] +[group_4877] +[group_4878] +[group_4879] +[group_4880] +[group_4881] +[group_4882] +[group_4883] +[group_4884] +[group_4885] +[group_4886] +[group_4887] +[group_4888] +[group_4889] +[group_4890] +[group_4891] +[group_4892] +[group_4893] +[group_4894] +[group_4895] +[group_4896] +[group_4897] +[group_4898] +[group_4899] +[group_4900] +[group_4901] +[group_4902] +[group_4903] +[group_4904] +[group_4905] +[group_4906] +[group_4907] +[group_4908] +[group_4909] +[group_4910] +[group_4911] +[group_4912] +[group_4913] +[group_4914] +[group_4915] +[group_4916] +[group_4917] +[group_4918] +[group_4919] +[group_4920] +[group_4921] +[group_4922] +[group_4923] +[group_4924] +[group_4925] +[group_4926] +[group_4927] +[group_4928] +[group_4929] +[group_4930] +[group_4931] +[group_4932] +[group_4933] +[group_4934] +[group_4935] +[group_4936] +[group_4937] +[group_4938] +[group_4939] +[group_4940] +[group_4941] +[group_4942] +[group_4943] +[group_4944] +[group_4945] +[group_4946] +[group_4947] +[group_4948] +[group_4949] +[group_4950] +[group_4951] +[group_4952] +[group_4953] +[group_4954] +[group_4955] +[group_4956] +[group_4957] +[group_4958] +[group_4959] +[group_4960] +[group_4961] +[group_4962] +[group_4963] +[group_4964] +[group_4965] +[group_4966] +[group_4967] +[group_4968] +[group_4969] +[group_4970] +[group_4971] +[group_4972] +[group_4973] +[group_4974] +[group_4975] +[group_4976] +[group_4977] +[group_4978] +[group_4979] +[group_4980] +[group_4981] +[group_4982] +[group_4983] +[group_4984] +[group_4985] +[group_4986] +[group_4987] +[group_4988] +[group_4989] +[group_4990] +[group_4991] +[group_4992] +[group_4993] +[group_4994] +[group_4995] +[group_4996] +[group_4997] +[group_4998] +[group_4999] +[group_5000] +[group_5001] +[group_5002] +[group_5003] +[group_5004] +[group_5005] +[group_5006] +[group_5007] +[group_5008] +[group_5009] +[group_5010] +[group_5011] +[group_5012] +[group_5013] +[group_5014] +[group_5015] +[group_5016] +[group_5017] +[group_5018] +[group_5019] +[group_5020] +[group_5021] +[group_5022] +[group_5023] +[group_5024] +[group_5025] +[group_5026] +[group_5027] +[group_5028] +[group_5029] +[group_5030] +[group_5031] +[group_5032] +[group_5033] +[group_5034] +[group_5035] +[group_5036] +[group_5037] +[group_5038] +[group_5039] +[group_5040] +[group_5041] +[group_5042] +[group_5043] +[group_5044] +[group_5045] +[group_5046] +[group_5047] +[group_5048] +[group_5049] +[group_5050] +[group_5051] +[group_5052] +[group_5053] +[group_5054] +[group_5055] +[group_5056] +[group_5057] +[group_5058] +[group_5059] +[group_5060] +[group_5061] +[group_5062] +[group_5063] +[group_5064] +[group_5065] +[group_5066] +[group_5067] +[group_5068] +[group_5069] +[group_5070] +[group_5071] +[group_5072] +[group_5073] +[group_5074] +[group_5075] +[group_5076] +[group_5077] +[group_5078] +[group_5079] +[group_5080] +[group_5081] +[group_5082] +[group_5083] +[group_5084] +[group_5085] +[group_5086] +[group_5087] +[group_5088] +[group_5089] +[group_5090] +[group_5091] +[group_5092] +[group_5093] +[group_5094] +[group_5095] +[group_5096] +[group_5097] +[group_5098] +[group_5099] +[group_5100] +[group_5101] +[group_5102] +[group_5103] +[group_5104] +[group_5105] +[group_5106] +[group_5107] +[group_5108] +[group_5109] +[group_5110] +[group_5111] +[group_5112] +[group_5113] +[group_5114] +[group_5115] +[group_5116] +[group_5117] +[group_5118] +[group_5119] +[group_5120] +[group_5121] +[group_5122] +[group_5123] +[group_5124] +[group_5125] +[group_5126] +[group_5127] +[group_5128] +[group_5129] +[group_5130] +[group_5131] +[group_5132] +[group_5133] +[group_5134] +[group_5135] +[group_5136] +[group_5137] +[group_5138] +[group_5139] +[group_5140] +[group_5141] +[group_5142] +[group_5143] +[group_5144] +[group_5145] +[group_5146] +[group_5147] +[group_5148] +[group_5149] +[group_5150] +[group_5151] +[group_5152] +[group_5153] +[group_5154] +[group_5155] +[group_5156] +[group_5157] +[group_5158] +[group_5159] +[group_5160] +[group_5161] +[group_5162] +[group_5163] +[group_5164] +[group_5165] +[group_5166] +[group_5167] +[group_5168] +[group_5169] +[group_5170] +[group_5171] +[group_5172] +[group_5173] +[group_5174] +[group_5175] +[group_5176] +[group_5177] +[group_5178] +[group_5179] +[group_5180] +[group_5181] +[group_5182] +[group_5183] +[group_5184] +[group_5185] +[group_5186] +[group_5187] +[group_5188] +[group_5189] +[group_5190] +[group_5191] +[group_5192] +[group_5193] +[group_5194] +[group_5195] +[group_5196] +[group_5197] +[group_5198] +[group_5199] +[group_5200] +[group_5201] +[group_5202] +[group_5203] +[group_5204] +[group_5205] +[group_5206] +[group_5207] +[group_5208] +[group_5209] +[group_5210] +[group_5211] +[group_5212] +[group_5213] +[group_5214] +[group_5215] +[group_5216] +[group_5217] +[group_5218] +[group_5219] +[group_5220] +[group_5221] +[group_5222] +[group_5223] +[group_5224] +[group_5225] +[group_5226] +[group_5227] +[group_5228] +[group_5229] +[group_5230] +[group_5231] +[group_5232] +[group_5233] +[group_5234] +[group_5235] +[group_5236] +[group_5237] +[group_5238] +[group_5239] +[group_5240] +[group_5241] +[group_5242] +[group_5243] +[group_5244] +[group_5245] +[group_5246] +[group_5247] +[group_5248] +[group_5249] +[group_5250] +[group_5251] +[group_5252] +[group_5253] +[group_5254] +[group_5255] +[group_5256] +[group_5257] +[group_5258] +[group_5259] +[group_5260] +[group_5261] +[group_5262] +[group_5263] +[group_5264] +[group_5265] +[group_5266] +[group_5267] +[group_5268] +[group_5269] +[group_5270] +[group_5271] +[group_5272] +[group_5273] +[group_5274] +[group_5275] +[group_5276] +[group_5277] +[group_5278] +[group_5279] +[group_5280] +[group_5281] +[group_5282] +[group_5283] +[group_5284] +[group_5285] +[group_5286] +[group_5287] +[group_5288] +[group_5289] +[group_5290] +[group_5291] +[group_5292] +[group_5293] +[group_5294] +[group_5295] +[group_5296] +[group_5297] +[group_5298] +[group_5299] +[group_5300] +[group_5301] +[group_5302] +[group_5303] +[group_5304] +[group_5305] +[group_5306] +[group_5307] +[group_5308] +[group_5309] +[group_5310] +[group_5311] +[group_5312] +[group_5313] +[group_5314] +[group_5315] +[group_5316] +[group_5317] +[group_5318] +[group_5319] +[group_5320] +[group_5321] +[group_5322] +[group_5323] +[group_5324] +[group_5325] +[group_5326] +[group_5327] +[group_5328] +[group_5329] +[group_5330] +[group_5331] +[group_5332] +[group_5333] +[group_5334] +[group_5335] +[group_5336] +[group_5337] +[group_5338] +[group_5339] +[group_5340] +[group_5341] +[group_5342] +[group_5343] +[group_5344] +[group_5345] +[group_5346] +[group_5347] +[group_5348] +[group_5349] +[group_5350] +[group_5351] +[group_5352] +[group_5353] +[group_5354] +[group_5355] +[group_5356] +[group_5357] +[group_5358] +[group_5359] +[group_5360] +[group_5361] +[group_5362] +[group_5363] +[group_5364] +[group_5365] +[group_5366] +[group_5367] +[group_5368] +[group_5369] +[group_5370] +[group_5371] +[group_5372] +[group_5373] +[group_5374] +[group_5375] +[group_5376] +[group_5377] +[group_5378] +[group_5379] +[group_5380] +[group_5381] +[group_5382] +[group_5383] +[group_5384] +[group_5385] +[group_5386] +[group_5387] +[group_5388] +[group_5389] +[group_5390] +[group_5391] +[group_5392] +[group_5393] +[group_5394] +[group_5395] +[group_5396] +[group_5397] +[group_5398] +[group_5399] +[group_5400] +[group_5401] +[group_5402] +[group_5403] +[group_5404] +[group_5405] +[group_5406] +[group_5407] +[group_5408] +[group_5409] +[group_5410] +[group_5411] +[group_5412] +[group_5413] +[group_5414] +[group_5415] +[group_5416] +[group_5417] +[group_5418] +[group_5419] +[group_5420] +[group_5421] +[group_5422] +[group_5423] +[group_5424] +[group_5425] +[group_5426] +[group_5427] +[group_5428] +[group_5429] +[group_5430] +[group_5431] +[group_5432] +[group_5433] +[group_5434] +[group_5435] +[group_5436] +[group_5437] +[group_5438] +[group_5439] +[group_5440] +[group_5441] +[group_5442] +[group_5443] +[group_5444] +[group_5445] +[group_5446] +[group_5447] +[group_5448] +[group_5449] +[group_5450] +[group_5451] +[group_5452] +[group_5453] +[group_5454] +[group_5455] +[group_5456] +[group_5457] +[group_5458] +[group_5459] +[group_5460] +[group_5461] +[group_5462] +[group_5463] +[group_5464] +[group_5465] +[group_5466] +[group_5467] +[group_5468] +[group_5469] +[group_5470] +[group_5471] +[group_5472] +[group_5473] +[group_5474] +[group_5475] +[group_5476] +[group_5477] +[group_5478] +[group_5479] +[group_5480] +[group_5481] +[group_5482] +[group_5483] +[group_5484] +[group_5485] +[group_5486] +[group_5487] +[group_5488] +[group_5489] +[group_5490] +[group_5491] +[group_5492] +[group_5493] +[group_5494] +[group_5495] +[group_5496] +[group_5497] +[group_5498] +[group_5499] +[group_5500] +[group_5501] +[group_5502] +[group_5503] +[group_5504] +[group_5505] +[group_5506] +[group_5507] +[group_5508] +[group_5509] +[group_5510] +[group_5511] +[group_5512] +[group_5513] +[group_5514] +[group_5515] +[group_5516] +[group_5517] +[group_5518] +[group_5519] +[group_5520] +[group_5521] +[group_5522] +[group_5523] +[group_5524] +[group_5525] +[group_5526] +[group_5527] +[group_5528] +[group_5529] +[group_5530] +[group_5531] +[group_5532] +[group_5533] +[group_5534] +[group_5535] +[group_5536] +[group_5537] +[group_5538] +[group_5539] +[group_5540] +[group_5541] +[group_5542] +[group_5543] +[group_5544] +[group_5545] +[group_5546] +[group_5547] +[group_5548] +[group_5549] +[group_5550] +[group_5551] +[group_5552] +[group_5553] +[group_5554] +[group_5555] +[group_5556] +[group_5557] +[group_5558] +[group_5559] +[group_5560] +[group_5561] +[group_5562] +[group_5563] +[group_5564] +[group_5565] +[group_5566] +[group_5567] +[group_5568] +[group_5569] +[group_5570] +[group_5571] +[group_5572] +[group_5573] +[group_5574] +[group_5575] +[group_5576] +[group_5577] +[group_5578] +[group_5579] +[group_5580] +[group_5581] +[group_5582] +[group_5583] +[group_5584] +[group_5585] +[group_5586] +[group_5587] +[group_5588] +[group_5589] +[group_5590] +[group_5591] +[group_5592] +[group_5593] +[group_5594] +[group_5595] +[group_5596] +[group_5597] +[group_5598] +[group_5599] +[group_5600] +[group_5601] +[group_5602] +[group_5603] +[group_5604] +[group_5605] +[group_5606] +[group_5607] +[group_5608] +[group_5609] +[group_5610] +[group_5611] +[group_5612] +[group_5613] +[group_5614] +[group_5615] +[group_5616] +[group_5617] +[group_5618] +[group_5619] +[group_5620] +[group_5621] +[group_5622] +[group_5623] +[group_5624] +[group_5625] +[group_5626] +[group_5627] +[group_5628] +[group_5629] +[group_5630] +[group_5631] +[group_5632] +[group_5633] +[group_5634] +[group_5635] +[group_5636] +[group_5637] +[group_5638] +[group_5639] +[group_5640] +[group_5641] +[group_5642] +[group_5643] +[group_5644] +[group_5645] +[group_5646] +[group_5647] +[group_5648] +[group_5649] +[group_5650] +[group_5651] +[group_5652] +[group_5653] +[group_5654] +[group_5655] +[group_5656] +[group_5657] +[group_5658] +[group_5659] +[group_5660] +[group_5661] +[group_5662] +[group_5663] +[group_5664] +[group_5665] +[group_5666] +[group_5667] +[group_5668] +[group_5669] +[group_5670] +[group_5671] +[group_5672] +[group_5673] +[group_5674] +[group_5675] +[group_5676] +[group_5677] +[group_5678] +[group_5679] +[group_5680] +[group_5681] +[group_5682] +[group_5683] +[group_5684] +[group_5685] +[group_5686] +[group_5687] +[group_5688] +[group_5689] +[group_5690] +[group_5691] +[group_5692] +[group_5693] +[group_5694] +[group_5695] +[group_5696] +[group_5697] +[group_5698] +[group_5699] +[group_5700] +[group_5701] +[group_5702] +[group_5703] +[group_5704] +[group_5705] +[group_5706] +[group_5707] +[group_5708] +[group_5709] +[group_5710] +[group_5711] +[group_5712] +[group_5713] +[group_5714] +[group_5715] +[group_5716] +[group_5717] +[group_5718] +[group_5719] +[group_5720] +[group_5721] +[group_5722] +[group_5723] +[group_5724] +[group_5725] +[group_5726] +[group_5727] +[group_5728] +[group_5729] +[group_5730] +[group_5731] +[group_5732] +[group_5733] +[group_5734] +[group_5735] +[group_5736] +[group_5737] +[group_5738] +[group_5739] +[group_5740] +[group_5741] +[group_5742] +[group_5743] +[group_5744] +[group_5745] +[group_5746] +[group_5747] +[group_5748] +[group_5749] +[group_5750] +[group_5751] +[group_5752] +[group_5753] +[group_5754] +[group_5755] +[group_5756] +[group_5757] +[group_5758] +[group_5759] +[group_5760] +[group_5761] +[group_5762] +[group_5763] +[group_5764] +[group_5765] +[group_5766] +[group_5767] +[group_5768] +[group_5769] +[group_5770] +[group_5771] +[group_5772] +[group_5773] +[group_5774] +[group_5775] +[group_5776] +[group_5777] +[group_5778] +[group_5779] +[group_5780] +[group_5781] +[group_5782] +[group_5783] +[group_5784] +[group_5785] +[group_5786] +[group_5787] +[group_5788] +[group_5789] +[group_5790] +[group_5791] +[group_5792] +[group_5793] +[group_5794] +[group_5795] +[group_5796] +[group_5797] +[group_5798] +[group_5799] +[group_5800] +[group_5801] +[group_5802] +[group_5803] +[group_5804] +[group_5805] +[group_5806] +[group_5807] +[group_5808] +[group_5809] +[group_5810] +[group_5811] +[group_5812] +[group_5813] +[group_5814] +[group_5815] +[group_5816] +[group_5817] +[group_5818] +[group_5819] +[group_5820] +[group_5821] +[group_5822] +[group_5823] +[group_5824] +[group_5825] +[group_5826] +[group_5827] +[group_5828] +[group_5829] +[group_5830] +[group_5831] +[group_5832] +[group_5833] +[group_5834] +[group_5835] +[group_5836] +[group_5837] +[group_5838] +[group_5839] +[group_5840] +[group_5841] +[group_5842] +[group_5843] +[group_5844] +[group_5845] +[group_5846] +[group_5847] +[group_5848] +[group_5849] +[group_5850] +[group_5851] +[group_5852] +[group_5853] +[group_5854] +[group_5855] +[group_5856] +[group_5857] +[group_5858] +[group_5859] +[group_5860] +[group_5861] +[group_5862] +[group_5863] +[group_5864] +[group_5865] +[group_5866] +[group_5867] +[group_5868] +[group_5869] +[group_5870] +[group_5871] +[group_5872] +[group_5873] +[group_5874] +[group_5875] +[group_5876] +[group_5877] +[group_5878] +[group_5879] +[group_5880] +[group_5881] +[group_5882] +[group_5883] +[group_5884] +[group_5885] +[group_5886] +[group_5887] +[group_5888] +[group_5889] +[group_5890] +[group_5891] +[group_5892] +[group_5893] +[group_5894] +[group_5895] +[group_5896] +[group_5897] +[group_5898] +[group_5899] +[group_5900] +[group_5901] +[group_5902] +[group_5903] +[group_5904] +[group_5905] +[group_5906] +[group_5907] +[group_5908] +[group_5909] +[group_5910] +[group_5911] +[group_5912] +[group_5913] +[group_5914] +[group_5915] +[group_5916] +[group_5917] +[group_5918] +[group_5919] +[group_5920] +[group_5921] +[group_5922] +[group_5923] +[group_5924] +[group_5925] +[group_5926] +[group_5927] +[group_5928] +[group_5929] +[group_5930] +[group_5931] +[group_5932] +[group_5933] +[group_5934] +[group_5935] +[group_5936] +[group_5937] +[group_5938] +[group_5939] +[group_5940] +[group_5941] +[group_5942] +[group_5943] +[group_5944] +[group_5945] +[group_5946] +[group_5947] +[group_5948] +[group_5949] +[group_5950] +[group_5951] +[group_5952] +[group_5953] +[group_5954] +[group_5955] +[group_5956] +[group_5957] +[group_5958] +[group_5959] +[group_5960] +[group_5961] +[group_5962] +[group_5963] +[group_5964] +[group_5965] +[group_5966] +[group_5967] +[group_5968] +[group_5969] +[group_5970] +[group_5971] +[group_5972] +[group_5973] +[group_5974] +[group_5975] +[group_5976] +[group_5977] +[group_5978] +[group_5979] +[group_5980] +[group_5981] +[group_5982] +[group_5983] +[group_5984] +[group_5985] +[group_5986] +[group_5987] +[group_5988] +[group_5989] +[group_5990] +[group_5991] +[group_5992] +[group_5993] +[group_5994] +[group_5995] +[group_5996] +[group_5997] +[group_5998] +[group_5999] +[group_6000] +[group_6001] +[group_6002] +[group_6003] +[group_6004] +[group_6005] +[group_6006] +[group_6007] +[group_6008] +[group_6009] +[group_6010] +[group_6011] +[group_6012] +[group_6013] +[group_6014] +[group_6015] +[group_6016] +[group_6017] +[group_6018] +[group_6019] +[group_6020] +[group_6021] +[group_6022] +[group_6023] +[group_6024] +[group_6025] +[group_6026] +[group_6027] +[group_6028] +[group_6029] +[group_6030] +[group_6031] +[group_6032] +[group_6033] +[group_6034] +[group_6035] +[group_6036] +[group_6037] +[group_6038] +[group_6039] +[group_6040] +[group_6041] +[group_6042] +[group_6043] +[group_6044] +[group_6045] +[group_6046] +[group_6047] +[group_6048] +[group_6049] +[group_6050] +[group_6051] +[group_6052] +[group_6053] +[group_6054] +[group_6055] +[group_6056] +[group_6057] +[group_6058] +[group_6059] +[group_6060] +[group_6061] +[group_6062] +[group_6063] +[group_6064] +[group_6065] +[group_6066] +[group_6067] +[group_6068] +[group_6069] +[group_6070] +[group_6071] +[group_6072] +[group_6073] +[group_6074] +[group_6075] +[group_6076] +[group_6077] +[group_6078] +[group_6079] +[group_6080] +[group_6081] +[group_6082] +[group_6083] +[group_6084] +[group_6085] +[group_6086] +[group_6087] +[group_6088] +[group_6089] +[group_6090] +[group_6091] +[group_6092] +[group_6093] +[group_6094] +[group_6095] +[group_6096] +[group_6097] +[group_6098] +[group_6099] +[group_6100] +[group_6101] +[group_6102] +[group_6103] +[group_6104] +[group_6105] +[group_6106] +[group_6107] +[group_6108] +[group_6109] +[group_6110] +[group_6111] +[group_6112] +[group_6113] +[group_6114] +[group_6115] +[group_6116] +[group_6117] +[group_6118] +[group_6119] +[group_6120] +[group_6121] +[group_6122] +[group_6123] +[group_6124] +[group_6125] +[group_6126] +[group_6127] +[group_6128] +[group_6129] +[group_6130] +[group_6131] +[group_6132] +[group_6133] +[group_6134] +[group_6135] +[group_6136] +[group_6137] +[group_6138] +[group_6139] +[group_6140] +[group_6141] +[group_6142] +[group_6143] +[group_6144] +[group_6145] +[group_6146] +[group_6147] +[group_6148] +[group_6149] +[group_6150] +[group_6151] +[group_6152] +[group_6153] +[group_6154] +[group_6155] +[group_6156] +[group_6157] +[group_6158] +[group_6159] +[group_6160] +[group_6161] +[group_6162] +[group_6163] +[group_6164] +[group_6165] +[group_6166] +[group_6167] +[group_6168] +[group_6169] +[group_6170] +[group_6171] +[group_6172] +[group_6173] +[group_6174] +[group_6175] +[group_6176] +[group_6177] +[group_6178] +[group_6179] +[group_6180] +[group_6181] +[group_6182] +[group_6183] +[group_6184] +[group_6185] +[group_6186] +[group_6187] +[group_6188] +[group_6189] +[group_6190] +[group_6191] +[group_6192] +[group_6193] +[group_6194] +[group_6195] +[group_6196] +[group_6197] +[group_6198] +[group_6199] +[group_6200] +[group_6201] +[group_6202] +[group_6203] +[group_6204] +[group_6205] +[group_6206] +[group_6207] +[group_6208] +[group_6209] +[group_6210] +[group_6211] +[group_6212] +[group_6213] +[group_6214] +[group_6215] +[group_6216] +[group_6217] +[group_6218] +[group_6219] +[group_6220] +[group_6221] +[group_6222] +[group_6223] +[group_6224] +[group_6225] +[group_6226] +[group_6227] +[group_6228] +[group_6229] +[group_6230] +[group_6231] +[group_6232] +[group_6233] +[group_6234] +[group_6235] +[group_6236] +[group_6237] +[group_6238] +[group_6239] +[group_6240] +[group_6241] +[group_6242] +[group_6243] +[group_6244] +[group_6245] +[group_6246] +[group_6247] +[group_6248] +[group_6249] +[group_6250] +[group_6251] +[group_6252] +[group_6253] +[group_6254] +[group_6255] +[group_6256] +[group_6257] +[group_6258] +[group_6259] +[group_6260] +[group_6261] +[group_6262] +[group_6263] +[group_6264] +[group_6265] +[group_6266] +[group_6267] +[group_6268] +[group_6269] +[group_6270] +[group_6271] +[group_6272] +[group_6273] +[group_6274] +[group_6275] +[group_6276] +[group_6277] +[group_6278] +[group_6279] +[group_6280] +[group_6281] +[group_6282] +[group_6283] +[group_6284] +[group_6285] +[group_6286] +[group_6287] +[group_6288] +[group_6289] +[group_6290] +[group_6291] +[group_6292] +[group_6293] +[group_6294] +[group_6295] +[group_6296] +[group_6297] +[group_6298] +[group_6299] +[group_6300] +[group_6301] +[group_6302] +[group_6303] +[group_6304] +[group_6305] +[group_6306] +[group_6307] +[group_6308] +[group_6309] +[group_6310] +[group_6311] +[group_6312] +[group_6313] +[group_6314] +[group_6315] +[group_6316] +[group_6317] +[group_6318] +[group_6319] +[group_6320] +[group_6321] +[group_6322] +[group_6323] +[group_6324] +[group_6325] +[group_6326] +[group_6327] +[group_6328] +[group_6329] +[group_6330] +[group_6331] +[group_6332] +[group_6333] +[group_6334] +[group_6335] +[group_6336] +[group_6337] +[group_6338] +[group_6339] +[group_6340] +[group_6341] +[group_6342] +[group_6343] +[group_6344] +[group_6345] +[group_6346] +[group_6347] +[group_6348] +[group_6349] +[group_6350] +[group_6351] +[group_6352] +[group_6353] +[group_6354] +[group_6355] +[group_6356] +[group_6357] +[group_6358] +[group_6359] +[group_6360] +[group_6361] +[group_6362] +[group_6363] +[group_6364] +[group_6365] +[group_6366] +[group_6367] +[group_6368] +[group_6369] +[group_6370] +[group_6371] +[group_6372] +[group_6373] +[group_6374] +[group_6375] +[group_6376] +[group_6377] +[group_6378] +[group_6379] +[group_6380] +[group_6381] +[group_6382] +[group_6383] +[group_6384] +[group_6385] +[group_6386] +[group_6387] +[group_6388] +[group_6389] +[group_6390] +[group_6391] +[group_6392] +[group_6393] +[group_6394] +[group_6395] +[group_6396] +[group_6397] +[group_6398] +[group_6399] +[group_6400] +[group_6401] +[group_6402] +[group_6403] +[group_6404] +[group_6405] +[group_6406] +[group_6407] +[group_6408] +[group_6409] +[group_6410] +[group_6411] +[group_6412] +[group_6413] +[group_6414] +[group_6415] +[group_6416] +[group_6417] +[group_6418] +[group_6419] +[group_6420] +[group_6421] +[group_6422] +[group_6423] +[group_6424] +[group_6425] +[group_6426] +[group_6427] +[group_6428] +[group_6429] +[group_6430] +[group_6431] +[group_6432] +[group_6433] +[group_6434] +[group_6435] +[group_6436] +[group_6437] +[group_6438] +[group_6439] +[group_6440] +[group_6441] +[group_6442] +[group_6443] +[group_6444] +[group_6445] +[group_6446] +[group_6447] +[group_6448] +[group_6449] +[group_6450] +[group_6451] +[group_6452] +[group_6453] +[group_6454] +[group_6455] +[group_6456] +[group_6457] +[group_6458] +[group_6459] +[group_6460] +[group_6461] +[group_6462] +[group_6463] +[group_6464] +[group_6465] +[group_6466] +[group_6467] +[group_6468] +[group_6469] +[group_6470] +[group_6471] +[group_6472] +[group_6473] +[group_6474] +[group_6475] +[group_6476] +[group_6477] +[group_6478] +[group_6479] +[group_6480] +[group_6481] +[group_6482] +[group_6483] +[group_6484] +[group_6485] +[group_6486] +[group_6487] +[group_6488] +[group_6489] +[group_6490] +[group_6491] +[group_6492] +[group_6493] +[group_6494] +[group_6495] +[group_6496] +[group_6497] +[group_6498] +[group_6499] +[group_6500] +[group_6501] +[group_6502] +[group_6503] +[group_6504] +[group_6505] +[group_6506] +[group_6507] +[group_6508] +[group_6509] +[group_6510] +[group_6511] +[group_6512] +[group_6513] +[group_6514] +[group_6515] +[group_6516] +[group_6517] +[group_6518] +[group_6519] +[group_6520] +[group_6521] +[group_6522] +[group_6523] +[group_6524] +[group_6525] +[group_6526] +[group_6527] +[group_6528] +[group_6529] +[group_6530] +[group_6531] +[group_6532] +[group_6533] +[group_6534] +[group_6535] +[group_6536] +[group_6537] +[group_6538] +[group_6539] +[group_6540] +[group_6541] +[group_6542] +[group_6543] +[group_6544] +[group_6545] +[group_6546] +[group_6547] +[group_6548] +[group_6549] +[group_6550] +[group_6551] +[group_6552] +[group_6553] +[group_6554] +[group_6555] +[group_6556] +[group_6557] +[group_6558] +[group_6559] +[group_6560] +[group_6561] +[group_6562] +[group_6563] +[group_6564] +[group_6565] +[group_6566] +[group_6567] +[group_6568] +[group_6569] +[group_6570] +[group_6571] +[group_6572] +[group_6573] +[group_6574] +[group_6575] +[group_6576] +[group_6577] +[group_6578] +[group_6579] +[group_6580] +[group_6581] +[group_6582] +[group_6583] +[group_6584] +[group_6585] +[group_6586] +[group_6587] +[group_6588] +[group_6589] +[group_6590] +[group_6591] +[group_6592] +[group_6593] +[group_6594] +[group_6595] +[group_6596] +[group_6597] +[group_6598] +[group_6599] +[group_6600] +[group_6601] +[group_6602] +[group_6603] +[group_6604] +[group_6605] +[group_6606] +[group_6607] +[group_6608] +[group_6609] +[group_6610] +[group_6611] +[group_6612] +[group_6613] +[group_6614] +[group_6615] +[group_6616] +[group_6617] +[group_6618] +[group_6619] +[group_6620] +[group_6621] +[group_6622] +[group_6623] +[group_6624] +[group_6625] +[group_6626] +[group_6627] +[group_6628] +[group_6629] +[group_6630] +[group_6631] +[group_6632] +[group_6633] +[group_6634] +[group_6635] +[group_6636] +[group_6637] +[group_6638] +[group_6639] +[group_6640] +[group_6641] +[group_6642] +[group_6643] +[group_6644] +[group_6645] +[group_6646] +[group_6647] +[group_6648] +[group_6649] +[group_6650] +[group_6651] +[group_6652] +[group_6653] +[group_6654] +[group_6655] +[group_6656] +[group_6657] +[group_6658] +[group_6659] +[group_6660] +[group_6661] +[group_6662] +[group_6663] +[group_6664] +[group_6665] +[group_6666] +[group_6667] +[group_6668] +[group_6669] +[group_6670] +[group_6671] +[group_6672] +[group_6673] +[group_6674] +[group_6675] +[group_6676] +[group_6677] +[group_6678] +[group_6679] +[group_6680] +[group_6681] +[group_6682] +[group_6683] +[group_6684] +[group_6685] +[group_6686] +[group_6687] +[group_6688] +[group_6689] +[group_6690] +[group_6691] +[group_6692] +[group_6693] +[group_6694] +[group_6695] +[group_6696] +[group_6697] +[group_6698] +[group_6699] +[group_6700] +[group_6701] +[group_6702] +[group_6703] +[group_6704] +[group_6705] +[group_6706] +[group_6707] +[group_6708] +[group_6709] +[group_6710] +[group_6711] +[group_6712] +[group_6713] +[group_6714] +[group_6715] +[group_6716] +[group_6717] +[group_6718] +[group_6719] +[group_6720] +[group_6721] +[group_6722] +[group_6723] +[group_6724] +[group_6725] +[group_6726] +[group_6727] +[group_6728] +[group_6729] +[group_6730] +[group_6731] +[group_6732] +[group_6733] +[group_6734] +[group_6735] +[group_6736] +[group_6737] +[group_6738] +[group_6739] +[group_6740] +[group_6741] +[group_6742] +[group_6743] +[group_6744] +[group_6745] +[group_6746] +[group_6747] +[group_6748] +[group_6749] +[group_6750] +[group_6751] +[group_6752] +[group_6753] +[group_6754] +[group_6755] +[group_6756] +[group_6757] +[group_6758] +[group_6759] +[group_6760] +[group_6761] +[group_6762] +[group_6763] +[group_6764] +[group_6765] +[group_6766] +[group_6767] +[group_6768] +[group_6769] +[group_6770] +[group_6771] +[group_6772] +[group_6773] +[group_6774] +[group_6775] +[group_6776] +[group_6777] +[group_6778] +[group_6779] +[group_6780] +[group_6781] +[group_6782] +[group_6783] +[group_6784] +[group_6785] +[group_6786] +[group_6787] +[group_6788] +[group_6789] +[group_6790] +[group_6791] +[group_6792] +[group_6793] +[group_6794] +[group_6795] +[group_6796] +[group_6797] +[group_6798] +[group_6799] +[group_6800] +[group_6801] +[group_6802] +[group_6803] +[group_6804] +[group_6805] +[group_6806] +[group_6807] +[group_6808] +[group_6809] +[group_6810] +[group_6811] +[group_6812] +[group_6813] +[group_6814] +[group_6815] +[group_6816] +[group_6817] +[group_6818] +[group_6819] +[group_6820] +[group_6821] +[group_6822] +[group_6823] +[group_6824] +[group_6825] +[group_6826] +[group_6827] +[group_6828] +[group_6829] +[group_6830] +[group_6831] +[group_6832] +[group_6833] +[group_6834] +[group_6835] +[group_6836] +[group_6837] +[group_6838] +[group_6839] +[group_6840] +[group_6841] +[group_6842] +[group_6843] +[group_6844] +[group_6845] +[group_6846] +[group_6847] +[group_6848] +[group_6849] +[group_6850] +[group_6851] +[group_6852] +[group_6853] +[group_6854] +[group_6855] +[group_6856] +[group_6857] +[group_6858] +[group_6859] +[group_6860] +[group_6861] +[group_6862] +[group_6863] +[group_6864] +[group_6865] +[group_6866] +[group_6867] +[group_6868] +[group_6869] +[group_6870] +[group_6871] +[group_6872] +[group_6873] +[group_6874] +[group_6875] +[group_6876] +[group_6877] +[group_6878] +[group_6879] +[group_6880] +[group_6881] +[group_6882] +[group_6883] +[group_6884] +[group_6885] +[group_6886] +[group_6887] +[group_6888] +[group_6889] +[group_6890] +[group_6891] +[group_6892] +[group_6893] +[group_6894] +[group_6895] +[group_6896] +[group_6897] +[group_6898] +[group_6899] +[group_6900] +[group_6901] +[group_6902] +[group_6903] +[group_6904] +[group_6905] +[group_6906] +[group_6907] +[group_6908] +[group_6909] +[group_6910] +[group_6911] +[group_6912] +[group_6913] +[group_6914] +[group_6915] +[group_6916] +[group_6917] +[group_6918] +[group_6919] +[group_6920] +[group_6921] +[group_6922] +[group_6923] +[group_6924] +[group_6925] +[group_6926] +[group_6927] +[group_6928] +[group_6929] +[group_6930] +[group_6931] +[group_6932] +[group_6933] +[group_6934] +[group_6935] +[group_6936] +[group_6937] +[group_6938] +[group_6939] +[group_6940] +[group_6941] +[group_6942] +[group_6943] +[group_6944] +[group_6945] +[group_6946] +[group_6947] +[group_6948] +[group_6949] +[group_6950] +[group_6951] +[group_6952] +[group_6953] +[group_6954] +[group_6955] +[group_6956] +[group_6957] +[group_6958] +[group_6959] +[group_6960] +[group_6961] +[group_6962] +[group_6963] +[group_6964] +[group_6965] +[group_6966] +[group_6967] +[group_6968] +[group_6969] +[group_6970] +[group_6971] +[group_6972] +[group_6973] +[group_6974] +[group_6975] +[group_6976] +[group_6977] +[group_6978] +[group_6979] +[group_6980] +[group_6981] +[group_6982] +[group_6983] +[group_6984] +[group_6985] +[group_6986] +[group_6987] +[group_6988] +[group_6989] +[group_6990] +[group_6991] +[group_6992] +[group_6993] +[group_6994] +[group_6995] +[group_6996] +[group_6997] +[group_6998] +[group_6999] +[group_7000] +[group_7001] +[group_7002] +[group_7003] +[group_7004] +[group_7005] +[group_7006] +[group_7007] +[group_7008] +[group_7009] +[group_7010] +[group_7011] +[group_7012] +[group_7013] +[group_7014] +[group_7015] +[group_7016] +[group_7017] +[group_7018] +[group_7019] +[group_7020] +[group_7021] +[group_7022] +[group_7023] +[group_7024] +[group_7025] +[group_7026] +[group_7027] +[group_7028] +[group_7029] +[group_7030] +[group_7031] +[group_7032] +[group_7033] +[group_7034] +[group_7035] +[group_7036] +[group_7037] +[group_7038] +[group_7039] +[group_7040] +[group_7041] +[group_7042] +[group_7043] +[group_7044] +[group_7045] +[group_7046] +[group_7047] +[group_7048] +[group_7049] +[group_7050] +[group_7051] +[group_7052] +[group_7053] +[group_7054] +[group_7055] +[group_7056] +[group_7057] +[group_7058] +[group_7059] +[group_7060] +[group_7061] +[group_7062] +[group_7063] +[group_7064] +[group_7065] +[group_7066] +[group_7067] +[group_7068] +[group_7069] +[group_7070] +[group_7071] +[group_7072] +[group_7073] +[group_7074] +[group_7075] +[group_7076] +[group_7077] +[group_7078] +[group_7079] +[group_7080] +[group_7081] +[group_7082] +[group_7083] +[group_7084] +[group_7085] +[group_7086] +[group_7087] +[group_7088] +[group_7089] +[group_7090] +[group_7091] +[group_7092] +[group_7093] +[group_7094] +[group_7095] +[group_7096] +[group_7097] +[group_7098] +[group_7099] +[group_7100] +[group_7101] +[group_7102] +[group_7103] +[group_7104] +[group_7105] +[group_7106] +[group_7107] +[group_7108] +[group_7109] +[group_7110] +[group_7111] +[group_7112] +[group_7113] +[group_7114] +[group_7115] +[group_7116] +[group_7117] +[group_7118] +[group_7119] +[group_7120] +[group_7121] +[group_7122] +[group_7123] +[group_7124] +[group_7125] +[group_7126] +[group_7127] +[group_7128] +[group_7129] +[group_7130] +[group_7131] +[group_7132] +[group_7133] +[group_7134] +[group_7135] +[group_7136] +[group_7137] +[group_7138] +[group_7139] +[group_7140] +[group_7141] +[group_7142] +[group_7143] +[group_7144] +[group_7145] +[group_7146] +[group_7147] +[group_7148] +[group_7149] +[group_7150] +[group_7151] +[group_7152] +[group_7153] +[group_7154] +[group_7155] +[group_7156] +[group_7157] +[group_7158] +[group_7159] +[group_7160] +[group_7161] +[group_7162] +[group_7163] +[group_7164] +[group_7165] +[group_7166] +[group_7167] +[group_7168] +[group_7169] +[group_7170] +[group_7171] +[group_7172] +[group_7173] +[group_7174] +[group_7175] +[group_7176] +[group_7177] +[group_7178] +[group_7179] +[group_7180] +[group_7181] +[group_7182] +[group_7183] +[group_7184] +[group_7185] +[group_7186] +[group_7187] +[group_7188] +[group_7189] +[group_7190] +[group_7191] +[group_7192] +[group_7193] +[group_7194] +[group_7195] +[group_7196] +[group_7197] +[group_7198] +[group_7199] +[group_7200] +[group_7201] +[group_7202] +[group_7203] +[group_7204] +[group_7205] +[group_7206] +[group_7207] +[group_7208] +[group_7209] +[group_7210] +[group_7211] +[group_7212] +[group_7213] +[group_7214] +[group_7215] +[group_7216] +[group_7217] +[group_7218] +[group_7219] +[group_7220] +[group_7221] +[group_7222] +[group_7223] +[group_7224] +[group_7225] +[group_7226] +[group_7227] +[group_7228] +[group_7229] +[group_7230] +[group_7231] +[group_7232] +[group_7233] +[group_7234] +[group_7235] +[group_7236] +[group_7237] +[group_7238] +[group_7239] +[group_7240] +[group_7241] +[group_7242] +[group_7243] +[group_7244] +[group_7245] +[group_7246] +[group_7247] +[group_7248] +[group_7249] +[group_7250] +[group_7251] +[group_7252] +[group_7253] +[group_7254] +[group_7255] +[group_7256] +[group_7257] +[group_7258] +[group_7259] +[group_7260] +[group_7261] +[group_7262] +[group_7263] +[group_7264] +[group_7265] +[group_7266] +[group_7267] +[group_7268] +[group_7269] +[group_7270] +[group_7271] +[group_7272] +[group_7273] +[group_7274] +[group_7275] +[group_7276] +[group_7277] +[group_7278] +[group_7279] +[group_7280] +[group_7281] +[group_7282] +[group_7283] +[group_7284] +[group_7285] +[group_7286] +[group_7287] +[group_7288] +[group_7289] +[group_7290] +[group_7291] +[group_7292] +[group_7293] +[group_7294] +[group_7295] +[group_7296] +[group_7297] +[group_7298] +[group_7299] +[group_7300] +[group_7301] +[group_7302] +[group_7303] +[group_7304] +[group_7305] +[group_7306] +[group_7307] +[group_7308] +[group_7309] +[group_7310] +[group_7311] +[group_7312] +[group_7313] +[group_7314] +[group_7315] +[group_7316] +[group_7317] +[group_7318] +[group_7319] +[group_7320] +[group_7321] +[group_7322] +[group_7323] +[group_7324] +[group_7325] +[group_7326] +[group_7327] +[group_7328] +[group_7329] +[group_7330] +[group_7331] +[group_7332] +[group_7333] +[group_7334] +[group_7335] +[group_7336] +[group_7337] +[group_7338] +[group_7339] +[group_7340] +[group_7341] +[group_7342] +[group_7343] +[group_7344] +[group_7345] +[group_7346] +[group_7347] +[group_7348] +[group_7349] +[group_7350] +[group_7351] +[group_7352] +[group_7353] +[group_7354] +[group_7355] +[group_7356] +[group_7357] +[group_7358] +[group_7359] +[group_7360] +[group_7361] +[group_7362] +[group_7363] +[group_7364] +[group_7365] +[group_7366] +[group_7367] +[group_7368] +[group_7369] +[group_7370] +[group_7371] +[group_7372] +[group_7373] +[group_7374] +[group_7375] +[group_7376] +[group_7377] +[group_7378] +[group_7379] +[group_7380] +[group_7381] +[group_7382] +[group_7383] +[group_7384] +[group_7385] +[group_7386] +[group_7387] +[group_7388] +[group_7389] +[group_7390] +[group_7391] +[group_7392] +[group_7393] +[group_7394] +[group_7395] +[group_7396] +[group_7397] +[group_7398] +[group_7399] +[group_7400] +[group_7401] +[group_7402] +[group_7403] +[group_7404] +[group_7405] +[group_7406] +[group_7407] +[group_7408] +[group_7409] +[group_7410] +[group_7411] +[group_7412] +[group_7413] +[group_7414] +[group_7415] +[group_7416] +[group_7417] +[group_7418] +[group_7419] +[group_7420] +[group_7421] +[group_7422] +[group_7423] +[group_7424] +[group_7425] +[group_7426] +[group_7427] +[group_7428] +[group_7429] +[group_7430] +[group_7431] +[group_7432] +[group_7433] +[group_7434] +[group_7435] +[group_7436] +[group_7437] +[group_7438] +[group_7439] +[group_7440] +[group_7441] +[group_7442] +[group_7443] +[group_7444] +[group_7445] +[group_7446] +[group_7447] +[group_7448] +[group_7449] +[group_7450] +[group_7451] +[group_7452] +[group_7453] +[group_7454] +[group_7455] +[group_7456] +[group_7457] +[group_7458] +[group_7459] +[group_7460] +[group_7461] +[group_7462] +[group_7463] +[group_7464] +[group_7465] +[group_7466] +[group_7467] +[group_7468] +[group_7469] +[group_7470] +[group_7471] +[group_7472] +[group_7473] +[group_7474] +[group_7475] +[group_7476] +[group_7477] +[group_7478] +[group_7479] +[group_7480] +[group_7481] +[group_7482] +[group_7483] +[group_7484] +[group_7485] +[group_7486] +[group_7487] +[group_7488] +[group_7489] +[group_7490] +[group_7491] +[group_7492] +[group_7493] +[group_7494] +[group_7495] +[group_7496] +[group_7497] +[group_7498] +[group_7499] +[group_7500] +[group_7501] +[group_7502] +[group_7503] +[group_7504] +[group_7505] +[group_7506] +[group_7507] +[group_7508] +[group_7509] +[group_7510] +[group_7511] +[group_7512] +[group_7513] +[group_7514] +[group_7515] +[group_7516] +[group_7517] +[group_7518] +[group_7519] +[group_7520] +[group_7521] +[group_7522] +[group_7523] +[group_7524] +[group_7525] +[group_7526] +[group_7527] +[group_7528] +[group_7529] +[group_7530] +[group_7531] +[group_7532] +[group_7533] +[group_7534] +[group_7535] +[group_7536] +[group_7537] +[group_7538] +[group_7539] +[group_7540] +[group_7541] +[group_7542] +[group_7543] +[group_7544] +[group_7545] +[group_7546] +[group_7547] +[group_7548] +[group_7549] +[group_7550] +[group_7551] +[group_7552] +[group_7553] +[group_7554] +[group_7555] +[group_7556] +[group_7557] +[group_7558] +[group_7559] +[group_7560] +[group_7561] +[group_7562] +[group_7563] +[group_7564] +[group_7565] +[group_7566] +[group_7567] +[group_7568] +[group_7569] +[group_7570] +[group_7571] +[group_7572] +[group_7573] +[group_7574] +[group_7575] +[group_7576] +[group_7577] +[group_7578] +[group_7579] +[group_7580] +[group_7581] +[group_7582] +[group_7583] +[group_7584] +[group_7585] +[group_7586] +[group_7587] +[group_7588] +[group_7589] +[group_7590] +[group_7591] +[group_7592] +[group_7593] +[group_7594] +[group_7595] +[group_7596] +[group_7597] +[group_7598] +[group_7599] +[group_7600] +[group_7601] +[group_7602] +[group_7603] +[group_7604] +[group_7605] +[group_7606] +[group_7607] +[group_7608] +[group_7609] +[group_7610] +[group_7611] +[group_7612] +[group_7613] +[group_7614] +[group_7615] +[group_7616] +[group_7617] +[group_7618] +[group_7619] +[group_7620] +[group_7621] +[group_7622] +[group_7623] +[group_7624] +[group_7625] +[group_7626] +[group_7627] +[group_7628] +[group_7629] +[group_7630] +[group_7631] +[group_7632] +[group_7633] +[group_7634] +[group_7635] +[group_7636] +[group_7637] +[group_7638] +[group_7639] +[group_7640] +[group_7641] +[group_7642] +[group_7643] +[group_7644] +[group_7645] +[group_7646] +[group_7647] +[group_7648] +[group_7649] +[group_7650] +[group_7651] +[group_7652] +[group_7653] +[group_7654] +[group_7655] +[group_7656] +[group_7657] +[group_7658] +[group_7659] +[group_7660] +[group_7661] +[group_7662] +[group_7663] +[group_7664] +[group_7665] +[group_7666] +[group_7667] +[group_7668] +[group_7669] +[group_7670] +[group_7671] +[group_7672] +[group_7673] +[group_7674] +[group_7675] +[group_7676] +[group_7677] +[group_7678] +[group_7679] +[group_7680] +[group_7681] +[group_7682] +[group_7683] +[group_7684] +[group_7685] +[group_7686] +[group_7687] +[group_7688] +[group_7689] +[group_7690] +[group_7691] +[group_7692] +[group_7693] +[group_7694] +[group_7695] +[group_7696] +[group_7697] +[group_7698] +[group_7699] +[group_7700] +[group_7701] +[group_7702] +[group_7703] +[group_7704] +[group_7705] +[group_7706] +[group_7707] +[group_7708] +[group_7709] +[group_7710] +[group_7711] +[group_7712] +[group_7713] +[group_7714] +[group_7715] +[group_7716] +[group_7717] +[group_7718] +[group_7719] +[group_7720] +[group_7721] +[group_7722] +[group_7723] +[group_7724] +[group_7725] +[group_7726] +[group_7727] +[group_7728] +[group_7729] +[group_7730] +[group_7731] +[group_7732] +[group_7733] +[group_7734] +[group_7735] +[group_7736] +[group_7737] +[group_7738] +[group_7739] +[group_7740] +[group_7741] +[group_7742] +[group_7743] +[group_7744] +[group_7745] +[group_7746] +[group_7747] +[group_7748] +[group_7749] +[group_7750] +[group_7751] +[group_7752] +[group_7753] +[group_7754] +[group_7755] +[group_7756] +[group_7757] +[group_7758] +[group_7759] +[group_7760] +[group_7761] +[group_7762] +[group_7763] +[group_7764] +[group_7765] +[group_7766] +[group_7767] +[group_7768] +[group_7769] +[group_7770] +[group_7771] +[group_7772] +[group_7773] +[group_7774] +[group_7775] +[group_7776] +[group_7777] +[group_7778] +[group_7779] +[group_7780] +[group_7781] +[group_7782] +[group_7783] +[group_7784] +[group_7785] +[group_7786] +[group_7787] +[group_7788] +[group_7789] +[group_7790] +[group_7791] +[group_7792] +[group_7793] +[group_7794] +[group_7795] +[group_7796] +[group_7797] +[group_7798] +[group_7799] +[group_7800] +[group_7801] +[group_7802] +[group_7803] +[group_7804] +[group_7805] +[group_7806] +[group_7807] +[group_7808] +[group_7809] +[group_7810] +[group_7811] +[group_7812] +[group_7813] +[group_7814] +[group_7815] +[group_7816] +[group_7817] +[group_7818] +[group_7819] +[group_7820] +[group_7821] +[group_7822] +[group_7823] +[group_7824] +[group_7825] +[group_7826] +[group_7827] +[group_7828] +[group_7829] +[group_7830] +[group_7831] +[group_7832] +[group_7833] +[group_7834] +[group_7835] +[group_7836] +[group_7837] +[group_7838] +[group_7839] +[group_7840] +[group_7841] +[group_7842] +[group_7843] +[group_7844] +[group_7845] +[group_7846] +[group_7847] +[group_7848] +[group_7849] +[group_7850] +[group_7851] +[group_7852] +[group_7853] +[group_7854] +[group_7855] +[group_7856] +[group_7857] +[group_7858] +[group_7859] +[group_7860] +[group_7861] +[group_7862] +[group_7863] +[group_7864] +[group_7865] +[group_7866] +[group_7867] +[group_7868] +[group_7869] +[group_7870] +[group_7871] +[group_7872] +[group_7873] +[group_7874] +[group_7875] +[group_7876] +[group_7877] +[group_7878] +[group_7879] +[group_7880] +[group_7881] +[group_7882] +[group_7883] +[group_7884] +[group_7885] +[group_7886] +[group_7887] +[group_7888] +[group_7889] +[group_7890] +[group_7891] +[group_7892] +[group_7893] +[group_7894] +[group_7895] +[group_7896] +[group_7897] +[group_7898] +[group_7899] +[group_7900] +[group_7901] +[group_7902] +[group_7903] +[group_7904] +[group_7905] +[group_7906] +[group_7907] +[group_7908] +[group_7909] +[group_7910] +[group_7911] +[group_7912] +[group_7913] +[group_7914] +[group_7915] +[group_7916] +[group_7917] +[group_7918] +[group_7919] +[group_7920] +[group_7921] +[group_7922] +[group_7923] +[group_7924] +[group_7925] +[group_7926] +[group_7927] +[group_7928] +[group_7929] +[group_7930] +[group_7931] +[group_7932] +[group_7933] +[group_7934] +[group_7935] +[group_7936] +[group_7937] +[group_7938] +[group_7939] +[group_7940] +[group_7941] +[group_7942] +[group_7943] +[group_7944] +[group_7945] +[group_7946] +[group_7947] +[group_7948] +[group_7949] +[group_7950] +[group_7951] +[group_7952] +[group_7953] +[group_7954] +[group_7955] +[group_7956] +[group_7957] +[group_7958] +[group_7959] +[group_7960] +[group_7961] +[group_7962] +[group_7963] +[group_7964] +[group_7965] +[group_7966] +[group_7967] +[group_7968] +[group_7969] +[group_7970] +[group_7971] +[group_7972] +[group_7973] +[group_7974] +[group_7975] +[group_7976] +[group_7977] +[group_7978] +[group_7979] +[group_7980] +[group_7981] +[group_7982] +[group_7983] +[group_7984] +[group_7985] +[group_7986] +[group_7987] +[group_7988] +[group_7989] +[group_7990] +[group_7991] +[group_7992] +[group_7993] +[group_7994] +[group_7995] +[group_7996] +[group_7997] +[group_7998] +[group_7999] +[group_8000] +[group_8001] +[group_8002] +[group_8003] +[group_8004] +[group_8005] +[group_8006] +[group_8007] +[group_8008] +[group_8009] +[group_8010] +[group_8011] +[group_8012] +[group_8013] +[group_8014] +[group_8015] +[group_8016] +[group_8017] +[group_8018] +[group_8019] +[group_8020] +[group_8021] +[group_8022] +[group_8023] +[group_8024] +[group_8025] +[group_8026] +[group_8027] +[group_8028] +[group_8029] +[group_8030] +[group_8031] +[group_8032] +[group_8033] +[group_8034] +[group_8035] +[group_8036] +[group_8037] +[group_8038] +[group_8039] +[group_8040] +[group_8041] +[group_8042] +[group_8043] +[group_8044] +[group_8045] +[group_8046] +[group_8047] +[group_8048] +[group_8049] +[group_8050] +[group_8051] +[group_8052] +[group_8053] +[group_8054] +[group_8055] +[group_8056] +[group_8057] +[group_8058] +[group_8059] +[group_8060] +[group_8061] +[group_8062] +[group_8063] +[group_8064] +[group_8065] +[group_8066] +[group_8067] +[group_8068] +[group_8069] +[group_8070] +[group_8071] +[group_8072] +[group_8073] +[group_8074] +[group_8075] +[group_8076] +[group_8077] +[group_8078] +[group_8079] +[group_8080] +[group_8081] +[group_8082] +[group_8083] +[group_8084] +[group_8085] +[group_8086] +[group_8087] +[group_8088] +[group_8089] +[group_8090] +[group_8091] +[group_8092] +[group_8093] +[group_8094] +[group_8095] +[group_8096] +[group_8097] +[group_8098] +[group_8099] +[group_8100] +[group_8101] +[group_8102] +[group_8103] +[group_8104] +[group_8105] +[group_8106] +[group_8107] +[group_8108] +[group_8109] +[group_8110] +[group_8111] +[group_8112] +[group_8113] +[group_8114] +[group_8115] +[group_8116] +[group_8117] +[group_8118] +[group_8119] +[group_8120] +[group_8121] +[group_8122] +[group_8123] +[group_8124] +[group_8125] +[group_8126] +[group_8127] +[group_8128] +[group_8129] +[group_8130] +[group_8131] +[group_8132] +[group_8133] +[group_8134] +[group_8135] +[group_8136] +[group_8137] +[group_8138] +[group_8139] +[group_8140] +[group_8141] +[group_8142] +[group_8143] +[group_8144] +[group_8145] +[group_8146] +[group_8147] +[group_8148] +[group_8149] +[group_8150] +[group_8151] +[group_8152] +[group_8153] +[group_8154] +[group_8155] +[group_8156] +[group_8157] +[group_8158] +[group_8159] +[group_8160] +[group_8161] +[group_8162] +[group_8163] +[group_8164] +[group_8165] +[group_8166] +[group_8167] +[group_8168] +[group_8169] +[group_8170] +[group_8171] +[group_8172] +[group_8173] +[group_8174] +[group_8175] +[group_8176] +[group_8177] +[group_8178] +[group_8179] +[group_8180] +[group_8181] +[group_8182] +[group_8183] +[group_8184] +[group_8185] +[group_8186] +[group_8187] +[group_8188] +[group_8189] +[group_8190] +[group_8191] +[group_8192] +[group_8193] +[group_8194] +[group_8195] +[group_8196] +[group_8197] +[group_8198] +[group_8199] +[group_8200] +[group_8201] +[group_8202] +[group_8203] +[group_8204] +[group_8205] +[group_8206] +[group_8207] +[group_8208] +[group_8209] +[group_8210] +[group_8211] +[group_8212] +[group_8213] +[group_8214] +[group_8215] +[group_8216] +[group_8217] +[group_8218] +[group_8219] +[group_8220] +[group_8221] +[group_8222] +[group_8223] +[group_8224] +[group_8225] +[group_8226] +[group_8227] +[group_8228] +[group_8229] +[group_8230] +[group_8231] +[group_8232] +[group_8233] +[group_8234] +[group_8235] +[group_8236] +[group_8237] +[group_8238] +[group_8239] +[group_8240] +[group_8241] +[group_8242] +[group_8243] +[group_8244] +[group_8245] +[group_8246] +[group_8247] +[group_8248] +[group_8249] +[group_8250] +[group_8251] +[group_8252] +[group_8253] +[group_8254] +[group_8255] +[group_8256] +[group_8257] +[group_8258] +[group_8259] +[group_8260] +[group_8261] +[group_8262] +[group_8263] +[group_8264] +[group_8265] +[group_8266] +[group_8267] +[group_8268] +[group_8269] +[group_8270] +[group_8271] +[group_8272] +[group_8273] +[group_8274] +[group_8275] +[group_8276] +[group_8277] +[group_8278] +[group_8279] +[group_8280] +[group_8281] +[group_8282] +[group_8283] +[group_8284] +[group_8285] +[group_8286] +[group_8287] +[group_8288] +[group_8289] +[group_8290] +[group_8291] +[group_8292] +[group_8293] +[group_8294] +[group_8295] +[group_8296] +[group_8297] +[group_8298] +[group_8299] +[group_8300] +[group_8301] +[group_8302] +[group_8303] +[group_8304] +[group_8305] +[group_8306] +[group_8307] +[group_8308] +[group_8309] +[group_8310] +[group_8311] +[group_8312] +[group_8313] +[group_8314] +[group_8315] +[group_8316] +[group_8317] +[group_8318] +[group_8319] +[group_8320] +[group_8321] +[group_8322] +[group_8323] +[group_8324] +[group_8325] +[group_8326] +[group_8327] +[group_8328] +[group_8329] +[group_8330] +[group_8331] +[group_8332] +[group_8333] +[group_8334] +[group_8335] +[group_8336] +[group_8337] +[group_8338] +[group_8339] +[group_8340] +[group_8341] +[group_8342] +[group_8343] +[group_8344] +[group_8345] +[group_8346] +[group_8347] +[group_8348] +[group_8349] +[group_8350] +[group_8351] +[group_8352] +[group_8353] +[group_8354] +[group_8355] +[group_8356] +[group_8357] +[group_8358] +[group_8359] +[group_8360] +[group_8361] +[group_8362] +[group_8363] +[group_8364] +[group_8365] +[group_8366] +[group_8367] +[group_8368] +[group_8369] +[group_8370] +[group_8371] +[group_8372] +[group_8373] +[group_8374] +[group_8375] +[group_8376] +[group_8377] +[group_8378] +[group_8379] +[group_8380] +[group_8381] +[group_8382] +[group_8383] +[group_8384] +[group_8385] +[group_8386] +[group_8387] +[group_8388] +[group_8389] +[group_8390] +[group_8391] +[group_8392] +[group_8393] +[group_8394] +[group_8395] +[group_8396] +[group_8397] +[group_8398] +[group_8399] +[group_8400] +[group_8401] +[group_8402] +[group_8403] +[group_8404] +[group_8405] +[group_8406] +[group_8407] +[group_8408] +[group_8409] +[group_8410] +[group_8411] +[group_8412] +[group_8413] +[group_8414] +[group_8415] +[group_8416] +[group_8417] +[group_8418] +[group_8419] +[group_8420] +[group_8421] +[group_8422] +[group_8423] +[group_8424] +[group_8425] +[group_8426] +[group_8427] +[group_8428] +[group_8429] +[group_8430] +[group_8431] +[group_8432] +[group_8433] +[group_8434] +[group_8435] +[group_8436] +[group_8437] +[group_8438] +[group_8439] +[group_8440] +[group_8441] +[group_8442] +[group_8443] +[group_8444] +[group_8445] +[group_8446] +[group_8447] +[group_8448] +[group_8449] +[group_8450] +[group_8451] +[group_8452] +[group_8453] +[group_8454] +[group_8455] +[group_8456] +[group_8457] +[group_8458] +[group_8459] +[group_8460] +[group_8461] +[group_8462] +[group_8463] +[group_8464] +[group_8465] +[group_8466] +[group_8467] +[group_8468] +[group_8469] +[group_8470] +[group_8471] +[group_8472] +[group_8473] +[group_8474] +[group_8475] +[group_8476] +[group_8477] +[group_8478] +[group_8479] +[group_8480] +[group_8481] +[group_8482] +[group_8483] +[group_8484] +[group_8485] +[group_8486] +[group_8487] +[group_8488] +[group_8489] +[group_8490] +[group_8491] +[group_8492] +[group_8493] +[group_8494] +[group_8495] +[group_8496] +[group_8497] +[group_8498] +[group_8499] +[group_8500] +[group_8501] +[group_8502] +[group_8503] +[group_8504] +[group_8505] +[group_8506] +[group_8507] +[group_8508] +[group_8509] +[group_8510] +[group_8511] +[group_8512] +[group_8513] +[group_8514] +[group_8515] +[group_8516] +[group_8517] +[group_8518] +[group_8519] +[group_8520] +[group_8521] +[group_8522] +[group_8523] +[group_8524] +[group_8525] +[group_8526] +[group_8527] +[group_8528] +[group_8529] +[group_8530] +[group_8531] +[group_8532] +[group_8533] +[group_8534] +[group_8535] +[group_8536] +[group_8537] +[group_8538] +[group_8539] +[group_8540] +[group_8541] +[group_8542] +[group_8543] +[group_8544] +[group_8545] +[group_8546] +[group_8547] +[group_8548] +[group_8549] +[group_8550] +[group_8551] +[group_8552] +[group_8553] +[group_8554] +[group_8555] +[group_8556] +[group_8557] +[group_8558] +[group_8559] +[group_8560] +[group_8561] +[group_8562] +[group_8563] +[group_8564] +[group_8565] +[group_8566] +[group_8567] +[group_8568] +[group_8569] +[group_8570] +[group_8571] +[group_8572] +[group_8573] +[group_8574] +[group_8575] +[group_8576] +[group_8577] +[group_8578] +[group_8579] +[group_8580] +[group_8581] +[group_8582] +[group_8583] +[group_8584] +[group_8585] +[group_8586] +[group_8587] +[group_8588] +[group_8589] +[group_8590] +[group_8591] +[group_8592] +[group_8593] +[group_8594] +[group_8595] +[group_8596] +[group_8597] +[group_8598] +[group_8599] +[group_8600] +[group_8601] +[group_8602] +[group_8603] +[group_8604] +[group_8605] +[group_8606] +[group_8607] +[group_8608] +[group_8609] +[group_8610] +[group_8611] +[group_8612] +[group_8613] +[group_8614] +[group_8615] +[group_8616] +[group_8617] +[group_8618] +[group_8619] +[group_8620] +[group_8621] +[group_8622] +[group_8623] +[group_8624] +[group_8625] +[group_8626] +[group_8627] +[group_8628] +[group_8629] +[group_8630] +[group_8631] +[group_8632] +[group_8633] +[group_8634] +[group_8635] +[group_8636] +[group_8637] +[group_8638] +[group_8639] +[group_8640] +[group_8641] +[group_8642] +[group_8643] +[group_8644] +[group_8645] +[group_8646] +[group_8647] +[group_8648] +[group_8649] +[group_8650] +[group_8651] +[group_8652] +[group_8653] +[group_8654] +[group_8655] +[group_8656] +[group_8657] +[group_8658] +[group_8659] +[group_8660] +[group_8661] +[group_8662] +[group_8663] +[group_8664] +[group_8665] +[group_8666] +[group_8667] +[group_8668] +[group_8669] +[group_8670] +[group_8671] +[group_8672] +[group_8673] +[group_8674] +[group_8675] +[group_8676] +[group_8677] +[group_8678] +[group_8679] +[group_8680] +[group_8681] +[group_8682] +[group_8683] +[group_8684] +[group_8685] +[group_8686] +[group_8687] +[group_8688] +[group_8689] +[group_8690] +[group_8691] +[group_8692] +[group_8693] +[group_8694] +[group_8695] +[group_8696] +[group_8697] +[group_8698] +[group_8699] +[group_8700] +[group_8701] +[group_8702] +[group_8703] +[group_8704] +[group_8705] +[group_8706] +[group_8707] +[group_8708] +[group_8709] +[group_8710] +[group_8711] +[group_8712] +[group_8713] +[group_8714] +[group_8715] +[group_8716] +[group_8717] +[group_8718] +[group_8719] +[group_8720] +[group_8721] +[group_8722] +[group_8723] +[group_8724] +[group_8725] +[group_8726] +[group_8727] +[group_8728] +[group_8729] +[group_8730] +[group_8731] +[group_8732] +[group_8733] +[group_8734] +[group_8735] +[group_8736] +[group_8737] +[group_8738] +[group_8739] +[group_8740] +[group_8741] +[group_8742] +[group_8743] +[group_8744] +[group_8745] +[group_8746] +[group_8747] +[group_8748] +[group_8749] +[group_8750] +[group_8751] +[group_8752] +[group_8753] +[group_8754] +[group_8755] +[group_8756] +[group_8757] +[group_8758] +[group_8759] +[group_8760] +[group_8761] +[group_8762] +[group_8763] +[group_8764] +[group_8765] +[group_8766] +[group_8767] +[group_8768] +[group_8769] +[group_8770] +[group_8771] +[group_8772] +[group_8773] +[group_8774] +[group_8775] +[group_8776] +[group_8777] +[group_8778] +[group_8779] +[group_8780] +[group_8781] +[group_8782] +[group_8783] +[group_8784] +[group_8785] +[group_8786] +[group_8787] +[group_8788] +[group_8789] +[group_8790] +[group_8791] +[group_8792] +[group_8793] +[group_8794] +[group_8795] +[group_8796] +[group_8797] +[group_8798] +[group_8799] +[group_8800] +[group_8801] +[group_8802] +[group_8803] +[group_8804] +[group_8805] +[group_8806] +[group_8807] +[group_8808] +[group_8809] +[group_8810] +[group_8811] +[group_8812] +[group_8813] +[group_8814] +[group_8815] +[group_8816] +[group_8817] +[group_8818] +[group_8819] +[group_8820] +[group_8821] +[group_8822] +[group_8823] +[group_8824] +[group_8825] +[group_8826] +[group_8827] +[group_8828] +[group_8829] +[group_8830] +[group_8831] +[group_8832] +[group_8833] +[group_8834] +[group_8835] +[group_8836] +[group_8837] +[group_8838] +[group_8839] +[group_8840] +[group_8841] +[group_8842] +[group_8843] +[group_8844] +[group_8845] +[group_8846] +[group_8847] +[group_8848] +[group_8849] +[group_8850] +[group_8851] +[group_8852] +[group_8853] +[group_8854] +[group_8855] +[group_8856] +[group_8857] +[group_8858] +[group_8859] +[group_8860] +[group_8861] +[group_8862] +[group_8863] +[group_8864] +[group_8865] +[group_8866] +[group_8867] +[group_8868] +[group_8869] +[group_8870] +[group_8871] +[group_8872] +[group_8873] +[group_8874] +[group_8875] +[group_8876] +[group_8877] +[group_8878] +[group_8879] +[group_8880] +[group_8881] +[group_8882] +[group_8883] +[group_8884] +[group_8885] +[group_8886] +[group_8887] +[group_8888] +[group_8889] +[group_8890] +[group_8891] +[group_8892] +[group_8893] +[group_8894] +[group_8895] +[group_8896] +[group_8897] +[group_8898] +[group_8899] +[group_8900] +[group_8901] +[group_8902] +[group_8903] +[group_8904] +[group_8905] +[group_8906] +[group_8907] +[group_8908] +[group_8909] +[group_8910] +[group_8911] +[group_8912] +[group_8913] +[group_8914] +[group_8915] +[group_8916] +[group_8917] +[group_8918] +[group_8919] +[group_8920] +[group_8921] +[group_8922] +[group_8923] +[group_8924] +[group_8925] +[group_8926] +[group_8927] +[group_8928] +[group_8929] +[group_8930] +[group_8931] +[group_8932] +[group_8933] +[group_8934] +[group_8935] +[group_8936] +[group_8937] +[group_8938] +[group_8939] +[group_8940] +[group_8941] +[group_8942] +[group_8943] +[group_8944] +[group_8945] +[group_8946] +[group_8947] +[group_8948] +[group_8949] +[group_8950] +[group_8951] +[group_8952] +[group_8953] +[group_8954] +[group_8955] +[group_8956] +[group_8957] +[group_8958] +[group_8959] +[group_8960] +[group_8961] +[group_8962] +[group_8963] +[group_8964] +[group_8965] +[group_8966] +[group_8967] +[group_8968] +[group_8969] +[group_8970] +[group_8971] +[group_8972] +[group_8973] +[group_8974] +[group_8975] +[group_8976] +[group_8977] +[group_8978] +[group_8979] +[group_8980] +[group_8981] +[group_8982] +[group_8983] +[group_8984] +[group_8985] +[group_8986] +[group_8987] +[group_8988] +[group_8989] +[group_8990] +[group_8991] +[group_8992] +[group_8993] +[group_8994] +[group_8995] +[group_8996] +[group_8997] +[group_8998] +[group_8999] +[group_9000] +[group_9001] +[group_9002] +[group_9003] +[group_9004] +[group_9005] +[group_9006] +[group_9007] +[group_9008] +[group_9009] +[group_9010] +[group_9011] +[group_9012] +[group_9013] +[group_9014] +[group_9015] +[group_9016] +[group_9017] +[group_9018] +[group_9019] +[group_9020] +[group_9021] +[group_9022] +[group_9023] +[group_9024] +[group_9025] +[group_9026] +[group_9027] +[group_9028] +[group_9029] +[group_9030] +[group_9031] +[group_9032] +[group_9033] +[group_9034] +[group_9035] +[group_9036] +[group_9037] +[group_9038] +[group_9039] +[group_9040] +[group_9041] +[group_9042] +[group_9043] +[group_9044] +[group_9045] +[group_9046] +[group_9047] +[group_9048] +[group_9049] +[group_9050] +[group_9051] +[group_9052] +[group_9053] +[group_9054] +[group_9055] +[group_9056] +[group_9057] +[group_9058] +[group_9059] +[group_9060] +[group_9061] +[group_9062] +[group_9063] +[group_9064] +[group_9065] +[group_9066] +[group_9067] +[group_9068] +[group_9069] +[group_9070] +[group_9071] +[group_9072] +[group_9073] +[group_9074] +[group_9075] +[group_9076] +[group_9077] +[group_9078] +[group_9079] +[group_9080] +[group_9081] +[group_9082] +[group_9083] +[group_9084] +[group_9085] +[group_9086] +[group_9087] +[group_9088] +[group_9089] +[group_9090] +[group_9091] +[group_9092] +[group_9093] +[group_9094] +[group_9095] +[group_9096] +[group_9097] +[group_9098] +[group_9099] +[group_9100] +[group_9101] +[group_9102] +[group_9103] +[group_9104] +[group_9105] +[group_9106] +[group_9107] +[group_9108] +[group_9109] +[group_9110] +[group_9111] +[group_9112] +[group_9113] +[group_9114] +[group_9115] +[group_9116] +[group_9117] +[group_9118] +[group_9119] +[group_9120] +[group_9121] +[group_9122] +[group_9123] +[group_9124] +[group_9125] +[group_9126] +[group_9127] +[group_9128] +[group_9129] +[group_9130] +[group_9131] +[group_9132] +[group_9133] +[group_9134] +[group_9135] +[group_9136] +[group_9137] +[group_9138] +[group_9139] +[group_9140] +[group_9141] +[group_9142] +[group_9143] +[group_9144] +[group_9145] +[group_9146] +[group_9147] +[group_9148] +[group_9149] +[group_9150] +[group_9151] +[group_9152] +[group_9153] +[group_9154] +[group_9155] +[group_9156] +[group_9157] +[group_9158] +[group_9159] +[group_9160] +[group_9161] +[group_9162] +[group_9163] +[group_9164] +[group_9165] +[group_9166] +[group_9167] +[group_9168] +[group_9169] +[group_9170] +[group_9171] +[group_9172] +[group_9173] +[group_9174] +[group_9175] +[group_9176] +[group_9177] +[group_9178] +[group_9179] +[group_9180] +[group_9181] +[group_9182] +[group_9183] +[group_9184] +[group_9185] +[group_9186] +[group_9187] +[group_9188] +[group_9189] +[group_9190] +[group_9191] +[group_9192] +[group_9193] +[group_9194] +[group_9195] +[group_9196] +[group_9197] +[group_9198] +[group_9199] +[group_9200] +[group_9201] +[group_9202] +[group_9203] +[group_9204] +[group_9205] +[group_9206] +[group_9207] +[group_9208] +[group_9209] +[group_9210] +[group_9211] +[group_9212] +[group_9213] +[group_9214] +[group_9215] +[group_9216] +[group_9217] +[group_9218] +[group_9219] +[group_9220] +[group_9221] +[group_9222] +[group_9223] +[group_9224] +[group_9225] +[group_9226] +[group_9227] +[group_9228] +[group_9229] +[group_9230] +[group_9231] +[group_9232] +[group_9233] +[group_9234] +[group_9235] +[group_9236] +[group_9237] +[group_9238] +[group_9239] +[group_9240] +[group_9241] +[group_9242] +[group_9243] +[group_9244] +[group_9245] +[group_9246] +[group_9247] +[group_9248] +[group_9249] +[group_9250] +[group_9251] +[group_9252] +[group_9253] +[group_9254] +[group_9255] +[group_9256] +[group_9257] +[group_9258] +[group_9259] +[group_9260] +[group_9261] +[group_9262] +[group_9263] +[group_9264] +[group_9265] +[group_9266] +[group_9267] +[group_9268] +[group_9269] +[group_9270] +[group_9271] +[group_9272] +[group_9273] +[group_9274] +[group_9275] +[group_9276] +[group_9277] +[group_9278] +[group_9279] +[group_9280] +[group_9281] +[group_9282] +[group_9283] +[group_9284] +[group_9285] +[group_9286] +[group_9287] +[group_9288] +[group_9289] +[group_9290] +[group_9291] +[group_9292] +[group_9293] +[group_9294] +[group_9295] +[group_9296] +[group_9297] +[group_9298] +[group_9299] +[group_9300] +[group_9301] +[group_9302] +[group_9303] +[group_9304] +[group_9305] +[group_9306] +[group_9307] +[group_9308] +[group_9309] +[group_9310] +[group_9311] +[group_9312] +[group_9313] +[group_9314] +[group_9315] +[group_9316] +[group_9317] +[group_9318] +[group_9319] +[group_9320] +[group_9321] +[group_9322] +[group_9323] +[group_9324] +[group_9325] +[group_9326] +[group_9327] +[group_9328] +[group_9329] +[group_9330] +[group_9331] +[group_9332] +[group_9333] +[group_9334] +[group_9335] +[group_9336] +[group_9337] +[group_9338] +[group_9339] +[group_9340] +[group_9341] +[group_9342] +[group_9343] +[group_9344] +[group_9345] +[group_9346] +[group_9347] +[group_9348] +[group_9349] +[group_9350] +[group_9351] +[group_9352] +[group_9353] +[group_9354] +[group_9355] +[group_9356] +[group_9357] +[group_9358] +[group_9359] +[group_9360] +[group_9361] +[group_9362] +[group_9363] +[group_9364] +[group_9365] +[group_9366] +[group_9367] +[group_9368] +[group_9369] +[group_9370] +[group_9371] +[group_9372] +[group_9373] +[group_9374] +[group_9375] +[group_9376] +[group_9377] +[group_9378] +[group_9379] +[group_9380] +[group_9381] +[group_9382] +[group_9383] +[group_9384] +[group_9385] +[group_9386] +[group_9387] +[group_9388] +[group_9389] +[group_9390] +[group_9391] +[group_9392] +[group_9393] +[group_9394] +[group_9395] +[group_9396] +[group_9397] +[group_9398] +[group_9399] +[group_9400] +[group_9401] +[group_9402] +[group_9403] +[group_9404] +[group_9405] +[group_9406] +[group_9407] +[group_9408] +[group_9409] +[group_9410] +[group_9411] +[group_9412] +[group_9413] +[group_9414] +[group_9415] +[group_9416] +[group_9417] +[group_9418] +[group_9419] +[group_9420] +[group_9421] +[group_9422] +[group_9423] +[group_9424] +[group_9425] +[group_9426] +[group_9427] +[group_9428] +[group_9429] +[group_9430] +[group_9431] +[group_9432] +[group_9433] +[group_9434] +[group_9435] +[group_9436] +[group_9437] +[group_9438] +[group_9439] +[group_9440] +[group_9441] +[group_9442] +[group_9443] +[group_9444] +[group_9445] +[group_9446] +[group_9447] +[group_9448] +[group_9449] +[group_9450] +[group_9451] +[group_9452] +[group_9453] +[group_9454] +[group_9455] +[group_9456] +[group_9457] +[group_9458] +[group_9459] +[group_9460] +[group_9461] +[group_9462] +[group_9463] +[group_9464] +[group_9465] +[group_9466] +[group_9467] +[group_9468] +[group_9469] +[group_9470] +[group_9471] +[group_9472] +[group_9473] +[group_9474] +[group_9475] +[group_9476] +[group_9477] +[group_9478] +[group_9479] +[group_9480] +[group_9481] +[group_9482] +[group_9483] +[group_9484] +[group_9485] +[group_9486] +[group_9487] +[group_9488] +[group_9489] +[group_9490] +[group_9491] +[group_9492] +[group_9493] +[group_9494] +[group_9495] +[group_9496] +[group_9497] +[group_9498] +[group_9499] +[group_9500] +[group_9501] +[group_9502] +[group_9503] +[group_9504] +[group_9505] +[group_9506] +[group_9507] +[group_9508] +[group_9509] +[group_9510] +[group_9511] +[group_9512] +[group_9513] +[group_9514] +[group_9515] +[group_9516] +[group_9517] +[group_9518] +[group_9519] +[group_9520] +[group_9521] +[group_9522] +[group_9523] +[group_9524] +[group_9525] +[group_9526] +[group_9527] +[group_9528] +[group_9529] +[group_9530] +[group_9531] +[group_9532] +[group_9533] +[group_9534] +[group_9535] +[group_9536] +[group_9537] +[group_9538] +[group_9539] +[group_9540] +[group_9541] +[group_9542] +[group_9543] +[group_9544] +[group_9545] +[group_9546] +[group_9547] +[group_9548] +[group_9549] +[group_9550] +[group_9551] +[group_9552] +[group_9553] +[group_9554] +[group_9555] +[group_9556] +[group_9557] +[group_9558] +[group_9559] +[group_9560] +[group_9561] +[group_9562] +[group_9563] +[group_9564] +[group_9565] +[group_9566] +[group_9567] +[group_9568] +[group_9569] +[group_9570] +[group_9571] +[group_9572] +[group_9573] +[group_9574] +[group_9575] +[group_9576] +[group_9577] +[group_9578] +[group_9579] +[group_9580] +[group_9581] +[group_9582] +[group_9583] +[group_9584] +[group_9585] +[group_9586] +[group_9587] +[group_9588] +[group_9589] +[group_9590] +[group_9591] +[group_9592] +[group_9593] +[group_9594] +[group_9595] +[group_9596] +[group_9597] +[group_9598] +[group_9599] +[group_9600] +[group_9601] +[group_9602] +[group_9603] +[group_9604] +[group_9605] +[group_9606] +[group_9607] +[group_9608] +[group_9609] +[group_9610] +[group_9611] +[group_9612] +[group_9613] +[group_9614] +[group_9615] +[group_9616] +[group_9617] +[group_9618] +[group_9619] +[group_9620] +[group_9621] +[group_9622] +[group_9623] +[group_9624] +[group_9625] +[group_9626] +[group_9627] +[group_9628] +[group_9629] +[group_9630] +[group_9631] +[group_9632] +[group_9633] +[group_9634] +[group_9635] +[group_9636] +[group_9637] +[group_9638] +[group_9639] +[group_9640] +[group_9641] +[group_9642] +[group_9643] +[group_9644] +[group_9645] +[group_9646] +[group_9647] +[group_9648] +[group_9649] +[group_9650] +[group_9651] +[group_9652] +[group_9653] +[group_9654] +[group_9655] +[group_9656] +[group_9657] +[group_9658] +[group_9659] +[group_9660] +[group_9661] +[group_9662] +[group_9663] +[group_9664] +[group_9665] +[group_9666] +[group_9667] +[group_9668] +[group_9669] +[group_9670] +[group_9671] +[group_9672] +[group_9673] +[group_9674] +[group_9675] +[group_9676] +[group_9677] +[group_9678] +[group_9679] +[group_9680] +[group_9681] +[group_9682] +[group_9683] +[group_9684] +[group_9685] +[group_9686] +[group_9687] +[group_9688] +[group_9689] +[group_9690] +[group_9691] +[group_9692] +[group_9693] +[group_9694] +[group_9695] +[group_9696] +[group_9697] +[group_9698] +[group_9699] +[group_9700] +[group_9701] +[group_9702] +[group_9703] +[group_9704] +[group_9705] +[group_9706] +[group_9707] +[group_9708] +[group_9709] +[group_9710] +[group_9711] +[group_9712] +[group_9713] +[group_9714] +[group_9715] +[group_9716] +[group_9717] +[group_9718] +[group_9719] +[group_9720] +[group_9721] +[group_9722] +[group_9723] +[group_9724] +[group_9725] +[group_9726] +[group_9727] +[group_9728] +[group_9729] +[group_9730] +[group_9731] +[group_9732] +[group_9733] +[group_9734] +[group_9735] +[group_9736] +[group_9737] +[group_9738] +[group_9739] +[group_9740] +[group_9741] +[group_9742] +[group_9743] +[group_9744] +[group_9745] +[group_9746] +[group_9747] +[group_9748] +[group_9749] +[group_9750] +[group_9751] +[group_9752] +[group_9753] +[group_9754] +[group_9755] +[group_9756] +[group_9757] +[group_9758] +[group_9759] +[group_9760] +[group_9761] +[group_9762] +[group_9763] +[group_9764] +[group_9765] +[group_9766] +[group_9767] +[group_9768] +[group_9769] +[group_9770] +[group_9771] +[group_9772] +[group_9773] +[group_9774] +[group_9775] +[group_9776] +[group_9777] +[group_9778] +[group_9779] +[group_9780] +[group_9781] +[group_9782] +[group_9783] +[group_9784] +[group_9785] +[group_9786] +[group_9787] +[group_9788] +[group_9789] +[group_9790] +[group_9791] +[group_9792] +[group_9793] +[group_9794] +[group_9795] +[group_9796] +[group_9797] +[group_9798] +[group_9799] +[group_9800] +[group_9801] +[group_9802] +[group_9803] +[group_9804] +[group_9805] +[group_9806] +[group_9807] +[group_9808] +[group_9809] +[group_9810] +[group_9811] +[group_9812] +[group_9813] +[group_9814] +[group_9815] +[group_9816] +[group_9817] +[group_9818] +[group_9819] +[group_9820] +[group_9821] +[group_9822] +[group_9823] +[group_9824] +[group_9825] +[group_9826] +[group_9827] +[group_9828] +[group_9829] +[group_9830] +[group_9831] +[group_9832] +[group_9833] +[group_9834] +[group_9835] +[group_9836] +[group_9837] +[group_9838] +[group_9839] +[group_9840] +[group_9841] +[group_9842] +[group_9843] +[group_9844] +[group_9845] +[group_9846] +[group_9847] +[group_9848] +[group_9849] +[group_9850] +[group_9851] +[group_9852] +[group_9853] +[group_9854] +[group_9855] +[group_9856] +[group_9857] +[group_9858] +[group_9859] +[group_9860] +[group_9861] +[group_9862] +[group_9863] +[group_9864] +[group_9865] +[group_9866] +[group_9867] +[group_9868] +[group_9869] +[group_9870] +[group_9871] +[group_9872] +[group_9873] +[group_9874] +[group_9875] +[group_9876] +[group_9877] +[group_9878] +[group_9879] +[group_9880] +[group_9881] +[group_9882] +[group_9883] +[group_9884] +[group_9885] +[group_9886] +[group_9887] +[group_9888] +[group_9889] +[group_9890] +[group_9891] +[group_9892] +[group_9893] +[group_9894] +[group_9895] +[group_9896] +[group_9897] +[group_9898] +[group_9899] +[group_9900] +[group_9901] +[group_9902] +[group_9903] +[group_9904] +[group_9905] +[group_9906] +[group_9907] +[group_9908] +[group_9909] +[group_9910] +[group_9911] +[group_9912] +[group_9913] +[group_9914] +[group_9915] +[group_9916] +[group_9917] +[group_9918] +[group_9919] +[group_9920] +[group_9921] +[group_9922] +[group_9923] +[group_9924] +[group_9925] +[group_9926] +[group_9927] +[group_9928] +[group_9929] +[group_9930] +[group_9931] +[group_9932] +[group_9933] +[group_9934] +[group_9935] +[group_9936] +[group_9937] +[group_9938] +[group_9939] +[group_9940] +[group_9941] +[group_9942] +[group_9943] +[group_9944] +[group_9945] +[group_9946] +[group_9947] +[group_9948] +[group_9949] +[group_9950] +[group_9951] +[group_9952] +[group_9953] +[group_9954] +[group_9955] +[group_9956] +[group_9957] +[group_9958] +[group_9959] +[group_9960] +[group_9961] +[group_9962] +[group_9963] +[group_9964] +[group_9965] +[group_9966] +[group_9967] +[group_9968] +[group_9969] +[group_9970] +[group_9971] +[group_9972] +[group_9973] +[group_9974] +[group_9975] +[group_9976] +[group_9977] +[group_9978] +[group_9979] +[group_9980] +[group_9981] +[group_9982] +[group_9983] +[group_9984] +[group_9985] +[group_9986] +[group_9987] +[group_9988] +[group_9989] +[group_9990] +[group_9991] +[group_9992] +[group_9993] +[group_9994] +[group_9995] +[group_9996] +[group_9997] +[group_9998] +[group_9999] +[group_10000] +[group_10001] +[group_10002] +[group_10003] +[group_10004] +[group_10005] +[group_10006] +[group_10007] +[group_10008] +[group_10009] +[group_10010] +[group_10011] +[group_10012] +[group_10013] +[group_10014] +[group_10015] +[group_10016] +[group_10017] +[group_10018] +[group_10019] +[group_10020] +[group_10021] +[group_10022] +[group_10023] +[group_10024] +[group_10025] +[group_10026] +[group_10027] +[group_10028] +[group_10029] +[group_10030] +[group_10031] +[group_10032] +[group_10033] +[group_10034] +[group_10035] +[group_10036] +[group_10037] +[group_10038] +[group_10039] +[group_10040] +[group_10041] +[group_10042] +[group_10043] +[group_10044] +[group_10045] +[group_10046] +[group_10047] +[group_10048] +[group_10049] +[group_10050] +[group_10051] +[group_10052] +[group_10053] +[group_10054] +[group_10055] +[group_10056] +[group_10057] +[group_10058] +[group_10059] +[group_10060] +[group_10061] +[group_10062] +[group_10063] +[group_10064] +[group_10065] +[group_10066] +[group_10067] +[group_10068] +[group_10069] +[group_10070] +[group_10071] +[group_10072] +[group_10073] +[group_10074] +[group_10075] +[group_10076] +[group_10077] +[group_10078] +[group_10079] +[group_10080] +[group_10081] +[group_10082] +[group_10083] +[group_10084] +[group_10085] +[group_10086] +[group_10087] +[group_10088] +[group_10089] +[group_10090] +[group_10091] +[group_10092] +[group_10093] +[group_10094] +[group_10095] +[group_10096] +[group_10097] +[group_10098] +[group_10099] +[group_10100] +[group_10101] +[group_10102] +[group_10103] +[group_10104] +[group_10105] +[group_10106] +[group_10107] +[group_10108] +[group_10109] +[group_10110] +[group_10111] +[group_10112] +[group_10113] +[group_10114] +[group_10115] +[group_10116] +[group_10117] +[group_10118] +[group_10119] +[group_10120] +[group_10121] +[group_10122] +[group_10123] +[group_10124] +[group_10125] +[group_10126] +[group_10127] +[group_10128] +[group_10129] +[group_10130] +[group_10131] +[group_10132] +[group_10133] +[group_10134] +[group_10135] +[group_10136] +[group_10137] +[group_10138] +[group_10139] +[group_10140] +[group_10141] +[group_10142] +[group_10143] +[group_10144] +[group_10145] +[group_10146] +[group_10147] +[group_10148] +[group_10149] +[group_10150] +[group_10151] +[group_10152] +[group_10153] +[group_10154] +[group_10155] +[group_10156] +[group_10157] +[group_10158] +[group_10159] +[group_10160] +[group_10161] +[group_10162] +[group_10163] +[group_10164] +[group_10165] +[group_10166] +[group_10167] +[group_10168] +[group_10169] +[group_10170] +[group_10171] +[group_10172] +[group_10173] +[group_10174] +[group_10175] +[group_10176] +[group_10177] +[group_10178] +[group_10179] +[group_10180] +[group_10181] +[group_10182] +[group_10183] +[group_10184] +[group_10185] +[group_10186] +[group_10187] +[group_10188] +[group_10189] +[group_10190] +[group_10191] +[group_10192] +[group_10193] +[group_10194] +[group_10195] +[group_10196] +[group_10197] +[group_10198] +[group_10199] +[group_10200] +[group_10201] +[group_10202] +[group_10203] +[group_10204] +[group_10205] +[group_10206] +[group_10207] +[group_10208] +[group_10209] +[group_10210] +[group_10211] +[group_10212] +[group_10213] +[group_10214] +[group_10215] +[group_10216] +[group_10217] +[group_10218] +[group_10219] +[group_10220] +[group_10221] +[group_10222] +[group_10223] +[group_10224] +[group_10225] +[group_10226] +[group_10227] +[group_10228] +[group_10229] +[group_10230] +[group_10231] +[group_10232] +[group_10233] +[group_10234] +[group_10235] +[group_10236] +[group_10237] +[group_10238] +[group_10239] +[group_10240] +[group_10241] +[group_10242] +[group_10243] +[group_10244] +[group_10245] +[group_10246] +[group_10247] +[group_10248] +[group_10249] +[group_10250] +[group_10251] +[group_10252] +[group_10253] +[group_10254] +[group_10255] +[group_10256] +[group_10257] +[group_10258] +[group_10259] +[group_10260] +[group_10261] +[group_10262] +[group_10263] +[group_10264] +[group_10265] +[group_10266] +[group_10267] +[group_10268] +[group_10269] +[group_10270] +[group_10271] +[group_10272] +[group_10273] +[group_10274] +[group_10275] +[group_10276] +[group_10277] +[group_10278] +[group_10279] +[group_10280] +[group_10281] +[group_10282] +[group_10283] +[group_10284] +[group_10285] +[group_10286] +[group_10287] +[group_10288] +[group_10289] +[group_10290] +[group_10291] +[group_10292] +[group_10293] +[group_10294] +[group_10295] +[group_10296] +[group_10297] +[group_10298] +[group_10299] +[group_10300] +[group_10301] +[group_10302] +[group_10303] +[group_10304] +[group_10305] +[group_10306] +[group_10307] +[group_10308] +[group_10309] +[group_10310] +[group_10311] +[group_10312] +[group_10313] +[group_10314] +[group_10315] +[group_10316] +[group_10317] +[group_10318] +[group_10319] +[group_10320] +[group_10321] +[group_10322] +[group_10323] +[group_10324] +[group_10325] +[group_10326] +[group_10327] +[group_10328] +[group_10329] +[group_10330] +[group_10331] +[group_10332] +[group_10333] +[group_10334] +[group_10335] +[group_10336] +[group_10337] +[group_10338] +[group_10339] +[group_10340] +[group_10341] +[group_10342] +[group_10343] +[group_10344] +[group_10345] +[group_10346] +[group_10347] +[group_10348] +[group_10349] +[group_10350] +[group_10351] +[group_10352] +[group_10353] +[group_10354] +[group_10355] +[group_10356] +[group_10357] +[group_10358] +[group_10359] +[group_10360] +[group_10361] +[group_10362] +[group_10363] +[group_10364] +[group_10365] +[group_10366] +[group_10367] +[group_10368] +[group_10369] +[group_10370] +[group_10371] +[group_10372] +[group_10373] +[group_10374] +[group_10375] +[group_10376] +[group_10377] +[group_10378] +[group_10379] +[group_10380] +[group_10381] +[group_10382] +[group_10383] +[group_10384] +[group_10385] +[group_10386] +[group_10387] +[group_10388] +[group_10389] +[group_10390] +[group_10391] +[group_10392] +[group_10393] +[group_10394] +[group_10395] +[group_10396] +[group_10397] +[group_10398] +[group_10399] +[group_10400] +[group_10401] +[group_10402] +[group_10403] +[group_10404] +[group_10405] +[group_10406] +[group_10407] +[group_10408] +[group_10409] +[group_10410] +[group_10411] +[group_10412] +[group_10413] +[group_10414] +[group_10415] +[group_10416] +[group_10417] +[group_10418] +[group_10419] +[group_10420] +[group_10421] +[group_10422] +[group_10423] +[group_10424] +[group_10425] +[group_10426] +[group_10427] +[group_10428] +[group_10429] +[group_10430] +[group_10431] +[group_10432] +[group_10433] +[group_10434] +[group_10435] +[group_10436] +[group_10437] +[group_10438] +[group_10439] +[group_10440] +[group_10441] +[group_10442] +[group_10443] +[group_10444] +[group_10445] +[group_10446] +[group_10447] +[group_10448] +[group_10449] +[group_10450] +[group_10451] +[group_10452] +[group_10453] +[group_10454] +[group_10455] +[group_10456] +[group_10457] +[group_10458] +[group_10459] +[group_10460] +[group_10461] +[group_10462] +[group_10463] +[group_10464] +[group_10465] +[group_10466] +[group_10467] +[group_10468] +[group_10469] +[group_10470] +[group_10471] +[group_10472] +[group_10473] +[group_10474] +[group_10475] +[group_10476] +[group_10477] +[group_10478] +[group_10479] +[group_10480] +[group_10481] +[group_10482] +[group_10483] +[group_10484] +[group_10485] +[group_10486] +[group_10487] +[group_10488] +[group_10489] +[group_10490] +[group_10491] +[group_10492] +[group_10493] +[group_10494] +[group_10495] +[group_10496] +[group_10497] +[group_10498] +[group_10499] +[group_10500] +[group_10501] +[group_10502] +[group_10503] +[group_10504] +[group_10505] +[group_10506] +[group_10507] +[group_10508] +[group_10509] +[group_10510] +[group_10511] +[group_10512] +[group_10513] +[group_10514] +[group_10515] +[group_10516] +[group_10517] +[group_10518] +[group_10519] +[group_10520] +[group_10521] +[group_10522] +[group_10523] +[group_10524] +[group_10525] +[group_10526] +[group_10527] +[group_10528] +[group_10529] +[group_10530] +[group_10531] +[group_10532] +[group_10533] +[group_10534] +[group_10535] +[group_10536] +[group_10537] +[group_10538] +[group_10539] +[group_10540] +[group_10541] +[group_10542] +[group_10543] +[group_10544] +[group_10545] +[group_10546] +[group_10547] +[group_10548] +[group_10549] +[group_10550] +[group_10551] +[group_10552] +[group_10553] +[group_10554] +[group_10555] +[group_10556] +[group_10557] +[group_10558] +[group_10559] +[group_10560] +[group_10561] +[group_10562] +[group_10563] +[group_10564] +[group_10565] +[group_10566] +[group_10567] +[group_10568] +[group_10569] +[group_10570] +[group_10571] +[group_10572] +[group_10573] +[group_10574] +[group_10575] +[group_10576] +[group_10577] +[group_10578] +[group_10579] +[group_10580] +[group_10581] +[group_10582] +[group_10583] +[group_10584] +[group_10585] +[group_10586] +[group_10587] +[group_10588] +[group_10589] +[group_10590] +[group_10591] +[group_10592] +[group_10593] +[group_10594] +[group_10595] +[group_10596] +[group_10597] +[group_10598] +[group_10599] +[group_10600] +[group_10601] +[group_10602] +[group_10603] +[group_10604] +[group_10605] +[group_10606] +[group_10607] +[group_10608] +[group_10609] +[group_10610] +[group_10611] +[group_10612] +[group_10613] +[group_10614] +[group_10615] +[group_10616] +[group_10617] +[group_10618] +[group_10619] +[group_10620] +[group_10621] +[group_10622] +[group_10623] +[group_10624] +[group_10625] +[group_10626] +[group_10627] +[group_10628] +[group_10629] +[group_10630] +[group_10631] +[group_10632] +[group_10633] +[group_10634] +[group_10635] +[group_10636] +[group_10637] +[group_10638] +[group_10639] +[group_10640] +[group_10641] +[group_10642] +[group_10643] +[group_10644] +[group_10645] +[group_10646] +[group_10647] +[group_10648] +[group_10649] +[group_10650] +[group_10651] +[group_10652] +[group_10653] +[group_10654] +[group_10655] +[group_10656] +[group_10657] +[group_10658] +[group_10659] +[group_10660] +[group_10661] +[group_10662] +[group_10663] +[group_10664] +[group_10665] +[group_10666] +[group_10667] +[group_10668] +[group_10669] +[group_10670] +[group_10671] +[group_10672] +[group_10673] +[group_10674] +[group_10675] +[group_10676] +[group_10677] +[group_10678] +[group_10679] +[group_10680] +[group_10681] +[group_10682] +[group_10683] +[group_10684] +[group_10685] +[group_10686] +[group_10687] +[group_10688] +[group_10689] +[group_10690] +[group_10691] +[group_10692] +[group_10693] +[group_10694] +[group_10695] +[group_10696] +[group_10697] +[group_10698] +[group_10699] +[group_10700] +[group_10701] +[group_10702] +[group_10703] +[group_10704] +[group_10705] +[group_10706] +[group_10707] +[group_10708] +[group_10709] +[group_10710] +[group_10711] +[group_10712] +[group_10713] +[group_10714] +[group_10715] +[group_10716] +[group_10717] +[group_10718] +[group_10719] +[group_10720] +[group_10721] +[group_10722] +[group_10723] +[group_10724] +[group_10725] +[group_10726] +[group_10727] +[group_10728] +[group_10729] +[group_10730] +[group_10731] +[group_10732] +[group_10733] +[group_10734] +[group_10735] +[group_10736] +[group_10737] +[group_10738] +[group_10739] +[group_10740] +[group_10741] +[group_10742] +[group_10743] +[group_10744] +[group_10745] +[group_10746] +[group_10747] +[group_10748] +[group_10749] +[group_10750] +[group_10751] +[group_10752] +[group_10753] +[group_10754] +[group_10755] +[group_10756] +[group_10757] +[group_10758] +[group_10759] +[group_10760] +[group_10761] +[group_10762] +[group_10763] +[group_10764] +[group_10765] +[group_10766] +[group_10767] +[group_10768] +[group_10769] +[group_10770] +[group_10771] +[group_10772] +[group_10773] +[group_10774] +[group_10775] +[group_10776] +[group_10777] +[group_10778] +[group_10779] +[group_10780] +[group_10781] +[group_10782] +[group_10783] +[group_10784] +[group_10785] +[group_10786] +[group_10787] +[group_10788] +[group_10789] +[group_10790] +[group_10791] +[group_10792] +[group_10793] +[group_10794] +[group_10795] +[group_10796] +[group_10797] +[group_10798] +[group_10799] +[group_10800] +[group_10801] +[group_10802] +[group_10803] +[group_10804] +[group_10805] +[group_10806] +[group_10807] +[group_10808] +[group_10809] +[group_10810] +[group_10811] +[group_10812] +[group_10813] +[group_10814] +[group_10815] +[group_10816] +[group_10817] +[group_10818] +[group_10819] +[group_10820] +[group_10821] +[group_10822] +[group_10823] +[group_10824] +[group_10825] +[group_10826] +[group_10827] +[group_10828] +[group_10829] +[group_10830] +[group_10831] +[group_10832] +[group_10833] +[group_10834] +[group_10835] +[group_10836] +[group_10837] +[group_10838] +[group_10839] +[group_10840] +[group_10841] +[group_10842] +[group_10843] +[group_10844] +[group_10845] +[group_10846] +[group_10847] +[group_10848] +[group_10849] +[group_10850] +[group_10851] +[group_10852] +[group_10853] +[group_10854] +[group_10855] +[group_10856] +[group_10857] +[group_10858] +[group_10859] +[group_10860] +[group_10861] +[group_10862] +[group_10863] +[group_10864] +[group_10865] +[group_10866] +[group_10867] +[group_10868] +[group_10869] +[group_10870] +[group_10871] +[group_10872] +[group_10873] +[group_10874] +[group_10875] +[group_10876] +[group_10877] +[group_10878] +[group_10879] +[group_10880] +[group_10881] +[group_10882] +[group_10883] +[group_10884] +[group_10885] +[group_10886] +[group_10887] +[group_10888] +[group_10889] +[group_10890] +[group_10891] +[group_10892] +[group_10893] +[group_10894] +[group_10895] +[group_10896] +[group_10897] +[group_10898] +[group_10899] +[group_10900] +[group_10901] +[group_10902] +[group_10903] +[group_10904] +[group_10905] +[group_10906] +[group_10907] +[group_10908] +[group_10909] +[group_10910] +[group_10911] +[group_10912] +[group_10913] +[group_10914] +[group_10915] +[group_10916] +[group_10917] +[group_10918] +[group_10919] +[group_10920] +[group_10921] +[group_10922] +[group_10923] +[group_10924] +[group_10925] +[group_10926] +[group_10927] +[group_10928] +[group_10929] +[group_10930] +[group_10931] +[group_10932] +[group_10933] +[group_10934] +[group_10935] +[group_10936] +[group_10937] +[group_10938] +[group_10939] +[group_10940] +[group_10941] +[group_10942] +[group_10943] +[group_10944] +[group_10945] +[group_10946] +[group_10947] +[group_10948] +[group_10949] +[group_10950] +[group_10951] +[group_10952] +[group_10953] +[group_10954] +[group_10955] +[group_10956] +[group_10957] +[group_10958] +[group_10959] +[group_10960] +[group_10961] +[group_10962] +[group_10963] +[group_10964] +[group_10965] +[group_10966] +[group_10967] +[group_10968] +[group_10969] +[group_10970] +[group_10971] +[group_10972] +[group_10973] +[group_10974] +[group_10975] +[group_10976] +[group_10977] +[group_10978] +[group_10979] +[group_10980] +[group_10981] +[group_10982] +[group_10983] +[group_10984] +[group_10985] +[group_10986] +[group_10987] +[group_10988] +[group_10989] +[group_10990] +[group_10991] +[group_10992] +[group_10993] +[group_10994] +[group_10995] +[group_10996] +[group_10997] +[group_10998] +[group_10999] +[group_11000] +[group_11001] +[group_11002] +[group_11003] +[group_11004] +[group_11005] +[group_11006] +[group_11007] +[group_11008] +[group_11009] +[group_11010] +[group_11011] +[group_11012] +[group_11013] +[group_11014] +[group_11015] +[group_11016] +[group_11017] +[group_11018] +[group_11019] +[group_11020] +[group_11021] +[group_11022] +[group_11023] +[group_11024] +[group_11025] +[group_11026] +[group_11027] +[group_11028] +[group_11029] +[group_11030] +[group_11031] +[group_11032] +[group_11033] +[group_11034] +[group_11035] +[group_11036] +[group_11037] +[group_11038] +[group_11039] +[group_11040] +[group_11041] +[group_11042] +[group_11043] +[group_11044] +[group_11045] +[group_11046] +[group_11047] +[group_11048] +[group_11049] +[group_11050] +[group_11051] +[group_11052] +[group_11053] +[group_11054] +[group_11055] +[group_11056] +[group_11057] +[group_11058] +[group_11059] +[group_11060] +[group_11061] +[group_11062] +[group_11063] +[group_11064] +[group_11065] +[group_11066] +[group_11067] +[group_11068] +[group_11069] +[group_11070] +[group_11071] +[group_11072] +[group_11073] +[group_11074] +[group_11075] +[group_11076] +[group_11077] +[group_11078] +[group_11079] +[group_11080] +[group_11081] +[group_11082] +[group_11083] +[group_11084] +[group_11085] +[group_11086] +[group_11087] +[group_11088] +[group_11089] +[group_11090] +[group_11091] +[group_11092] +[group_11093] +[group_11094] +[group_11095] +[group_11096] +[group_11097] +[group_11098] +[group_11099] +[group_11100] +[group_11101] +[group_11102] +[group_11103] +[group_11104] +[group_11105] +[group_11106] +[group_11107] +[group_11108] +[group_11109] +[group_11110] +[group_11111] +[group_11112] +[group_11113] +[group_11114] +[group_11115] +[group_11116] +[group_11117] +[group_11118] +[group_11119] +[group_11120] +[group_11121] +[group_11122] +[group_11123] +[group_11124] +[group_11125] +[group_11126] +[group_11127] +[group_11128] +[group_11129] +[group_11130] +[group_11131] +[group_11132] +[group_11133] +[group_11134] +[group_11135] +[group_11136] +[group_11137] +[group_11138] +[group_11139] +[group_11140] +[group_11141] +[group_11142] +[group_11143] +[group_11144] +[group_11145] +[group_11146] +[group_11147] +[group_11148] +[group_11149] +[group_11150] +[group_11151] +[group_11152] +[group_11153] +[group_11154] +[group_11155] +[group_11156] +[group_11157] +[group_11158] +[group_11159] +[group_11160] +[group_11161] +[group_11162] +[group_11163] +[group_11164] +[group_11165] +[group_11166] +[group_11167] +[group_11168] +[group_11169] +[group_11170] +[group_11171] +[group_11172] +[group_11173] +[group_11174] +[group_11175] +[group_11176] +[group_11177] +[group_11178] +[group_11179] +[group_11180] +[group_11181] +[group_11182] +[group_11183] +[group_11184] +[group_11185] +[group_11186] +[group_11187] +[group_11188] +[group_11189] +[group_11190] +[group_11191] +[group_11192] +[group_11193] +[group_11194] +[group_11195] +[group_11196] +[group_11197] +[group_11198] +[group_11199] +[group_11200] +[group_11201] +[group_11202] +[group_11203] +[group_11204] +[group_11205] +[group_11206] +[group_11207] +[group_11208] +[group_11209] +[group_11210] +[group_11211] +[group_11212] +[group_11213] +[group_11214] +[group_11215] +[group_11216] +[group_11217] +[group_11218] +[group_11219] +[group_11220] +[group_11221] +[group_11222] +[group_11223] +[group_11224] +[group_11225] +[group_11226] +[group_11227] +[group_11228] +[group_11229] +[group_11230] +[group_11231] +[group_11232] +[group_11233] +[group_11234] +[group_11235] +[group_11236] +[group_11237] +[group_11238] +[group_11239] +[group_11240] +[group_11241] +[group_11242] +[group_11243] +[group_11244] +[group_11245] +[group_11246] +[group_11247] +[group_11248] +[group_11249] +[group_11250] +[group_11251] +[group_11252] +[group_11253] +[group_11254] +[group_11255] +[group_11256] +[group_11257] +[group_11258] +[group_11259] +[group_11260] +[group_11261] +[group_11262] +[group_11263] +[group_11264] +[group_11265] +[group_11266] +[group_11267] +[group_11268] +[group_11269] +[group_11270] +[group_11271] +[group_11272] +[group_11273] +[group_11274] +[group_11275] +[group_11276] +[group_11277] +[group_11278] +[group_11279] +[group_11280] +[group_11281] +[group_11282] +[group_11283] +[group_11284] +[group_11285] +[group_11286] +[group_11287] +[group_11288] +[group_11289] +[group_11290] +[group_11291] +[group_11292] +[group_11293] +[group_11294] +[group_11295] +[group_11296] +[group_11297] +[group_11298] +[group_11299] +[group_11300] +[group_11301] +[group_11302] +[group_11303] +[group_11304] +[group_11305] +[group_11306] +[group_11307] +[group_11308] +[group_11309] +[group_11310] +[group_11311] +[group_11312] +[group_11313] +[group_11314] +[group_11315] +[group_11316] +[group_11317] +[group_11318] +[group_11319] +[group_11320] +[group_11321] +[group_11322] +[group_11323] +[group_11324] +[group_11325] +[group_11326] +[group_11327] +[group_11328] +[group_11329] +[group_11330] +[group_11331] +[group_11332] +[group_11333] +[group_11334] +[group_11335] +[group_11336] +[group_11337] +[group_11338] +[group_11339] +[group_11340] +[group_11341] +[group_11342] +[group_11343] +[group_11344] +[group_11345] +[group_11346] +[group_11347] +[group_11348] +[group_11349] +[group_11350] +[group_11351] +[group_11352] +[group_11353] +[group_11354] +[group_11355] +[group_11356] +[group_11357] +[group_11358] +[group_11359] +[group_11360] +[group_11361] +[group_11362] +[group_11363] +[group_11364] +[group_11365] +[group_11366] +[group_11367] +[group_11368] +[group_11369] +[group_11370] +[group_11371] +[group_11372] +[group_11373] +[group_11374] +[group_11375] +[group_11376] +[group_11377] +[group_11378] +[group_11379] +[group_11380] +[group_11381] +[group_11382] +[group_11383] +[group_11384] +[group_11385] +[group_11386] +[group_11387] +[group_11388] +[group_11389] +[group_11390] +[group_11391] +[group_11392] +[group_11393] +[group_11394] +[group_11395] +[group_11396] +[group_11397] +[group_11398] +[group_11399] +[group_11400] +[group_11401] +[group_11402] +[group_11403] +[group_11404] +[group_11405] +[group_11406] +[group_11407] +[group_11408] +[group_11409] +[group_11410] +[group_11411] +[group_11412] +[group_11413] +[group_11414] +[group_11415] +[group_11416] +[group_11417] +[group_11418] +[group_11419] +[group_11420] +[group_11421] +[group_11422] +[group_11423] +[group_11424] +[group_11425] +[group_11426] +[group_11427] +[group_11428] +[group_11429] +[group_11430] +[group_11431] +[group_11432] +[group_11433] +[group_11434] +[group_11435] +[group_11436] +[group_11437] +[group_11438] +[group_11439] +[group_11440] +[group_11441] +[group_11442] +[group_11443] +[group_11444] +[group_11445] +[group_11446] +[group_11447] +[group_11448] +[group_11449] +[group_11450] +[group_11451] +[group_11452] +[group_11453] +[group_11454] +[group_11455] +[group_11456] +[group_11457] +[group_11458] +[group_11459] +[group_11460] +[group_11461] +[group_11462] +[group_11463] +[group_11464] +[group_11465] +[group_11466] +[group_11467] +[group_11468] +[group_11469] +[group_11470] +[group_11471] +[group_11472] +[group_11473] +[group_11474] +[group_11475] +[group_11476] +[group_11477] +[group_11478] +[group_11479] +[group_11480] +[group_11481] +[group_11482] +[group_11483] +[group_11484] +[group_11485] +[group_11486] +[group_11487] +[group_11488] +[group_11489] +[group_11490] +[group_11491] +[group_11492] +[group_11493] +[group_11494] +[group_11495] +[group_11496] +[group_11497] +[group_11498] +[group_11499] +[group_11500] +[group_11501] +[group_11502] +[group_11503] +[group_11504] +[group_11505] +[group_11506] +[group_11507] +[group_11508] +[group_11509] +[group_11510] +[group_11511] +[group_11512] +[group_11513] +[group_11514] +[group_11515] +[group_11516] +[group_11517] +[group_11518] +[group_11519] +[group_11520] +[group_11521] +[group_11522] +[group_11523] +[group_11524] +[group_11525] +[group_11526] +[group_11527] +[group_11528] +[group_11529] +[group_11530] +[group_11531] +[group_11532] +[group_11533] +[group_11534] +[group_11535] +[group_11536] +[group_11537] +[group_11538] +[group_11539] +[group_11540] +[group_11541] +[group_11542] +[group_11543] +[group_11544] +[group_11545] +[group_11546] +[group_11547] +[group_11548] +[group_11549] +[group_11550] +[group_11551] +[group_11552] +[group_11553] +[group_11554] +[group_11555] +[group_11556] +[group_11557] +[group_11558] +[group_11559] +[group_11560] +[group_11561] +[group_11562] +[group_11563] +[group_11564] +[group_11565] +[group_11566] +[group_11567] +[group_11568] +[group_11569] +[group_11570] +[group_11571] +[group_11572] +[group_11573] +[group_11574] +[group_11575] +[group_11576] +[group_11577] +[group_11578] +[group_11579] +[group_11580] +[group_11581] +[group_11582] +[group_11583] +[group_11584] +[group_11585] +[group_11586] +[group_11587] +[group_11588] +[group_11589] +[group_11590] +[group_11591] +[group_11592] +[group_11593] +[group_11594] +[group_11595] +[group_11596] +[group_11597] +[group_11598] +[group_11599] +[group_11600] +[group_11601] +[group_11602] +[group_11603] +[group_11604] +[group_11605] +[group_11606] +[group_11607] +[group_11608] +[group_11609] +[group_11610] +[group_11611] +[group_11612] +[group_11613] +[group_11614] +[group_11615] +[group_11616] +[group_11617] +[group_11618] +[group_11619] +[group_11620] +[group_11621] +[group_11622] +[group_11623] +[group_11624] +[group_11625] +[group_11626] +[group_11627] +[group_11628] +[group_11629] +[group_11630] +[group_11631] +[group_11632] +[group_11633] +[group_11634] +[group_11635] +[group_11636] +[group_11637] +[group_11638] +[group_11639] +[group_11640] +[group_11641] +[group_11642] +[group_11643] +[group_11644] +[group_11645] +[group_11646] +[group_11647] +[group_11648] +[group_11649] +[group_11650] +[group_11651] +[group_11652] +[group_11653] +[group_11654] +[group_11655] +[group_11656] +[group_11657] +[group_11658] +[group_11659] +[group_11660] +[group_11661] +[group_11662] +[group_11663] +[group_11664] +[group_11665] +[group_11666] +[group_11667] +[group_11668] +[group_11669] +[group_11670] +[group_11671] +[group_11672] +[group_11673] +[group_11674] +[group_11675] +[group_11676] +[group_11677] +[group_11678] +[group_11679] +[group_11680] +[group_11681] +[group_11682] +[group_11683] +[group_11684] +[group_11685] +[group_11686] +[group_11687] +[group_11688] +[group_11689] +[group_11690] +[group_11691] +[group_11692] +[group_11693] +[group_11694] +[group_11695] +[group_11696] +[group_11697] +[group_11698] +[group_11699] +[group_11700] +[group_11701] +[group_11702] +[group_11703] +[group_11704] +[group_11705] +[group_11706] +[group_11707] +[group_11708] +[group_11709] +[group_11710] +[group_11711] +[group_11712] +[group_11713] +[group_11714] +[group_11715] +[group_11716] +[group_11717] +[group_11718] +[group_11719] +[group_11720] +[group_11721] +[group_11722] +[group_11723] +[group_11724] +[group_11725] +[group_11726] +[group_11727] +[group_11728] +[group_11729] +[group_11730] +[group_11731] +[group_11732] +[group_11733] +[group_11734] +[group_11735] +[group_11736] +[group_11737] +[group_11738] +[group_11739] +[group_11740] +[group_11741] +[group_11742] +[group_11743] +[group_11744] +[group_11745] +[group_11746] +[group_11747] +[group_11748] +[group_11749] +[group_11750] +[group_11751] +[group_11752] +[group_11753] +[group_11754] +[group_11755] +[group_11756] +[group_11757] +[group_11758] +[group_11759] +[group_11760] +[group_11761] +[group_11762] +[group_11763] +[group_11764] +[group_11765] +[group_11766] +[group_11767] +[group_11768] +[group_11769] +[group_11770] +[group_11771] +[group_11772] +[group_11773] +[group_11774] +[group_11775] +[group_11776] +[group_11777] +[group_11778] +[group_11779] +[group_11780] +[group_11781] +[group_11782] +[group_11783] +[group_11784] +[group_11785] +[group_11786] +[group_11787] +[group_11788] +[group_11789] +[group_11790] +[group_11791] +[group_11792] +[group_11793] +[group_11794] +[group_11795] +[group_11796] +[group_11797] +[group_11798] +[group_11799] +[group_11800] +[group_11801] +[group_11802] +[group_11803] +[group_11804] +[group_11805] +[group_11806] +[group_11807] +[group_11808] +[group_11809] +[group_11810] +[group_11811] +[group_11812] +[group_11813] +[group_11814] +[group_11815] +[group_11816] +[group_11817] +[group_11818] +[group_11819] +[group_11820] +[group_11821] +[group_11822] +[group_11823] +[group_11824] +[group_11825] +[group_11826] +[group_11827] +[group_11828] +[group_11829] +[group_11830] +[group_11831] +[group_11832] +[group_11833] +[group_11834] +[group_11835] +[group_11836] +[group_11837] +[group_11838] +[group_11839] +[group_11840] +[group_11841] +[group_11842] +[group_11843] +[group_11844] +[group_11845] +[group_11846] +[group_11847] +[group_11848] +[group_11849] +[group_11850] +[group_11851] +[group_11852] +[group_11853] +[group_11854] +[group_11855] +[group_11856] +[group_11857] +[group_11858] +[group_11859] +[group_11860] +[group_11861] +[group_11862] +[group_11863] +[group_11864] +[group_11865] +[group_11866] +[group_11867] +[group_11868] +[group_11869] +[group_11870] +[group_11871] +[group_11872] +[group_11873] +[group_11874] +[group_11875] +[group_11876] +[group_11877] +[group_11878] +[group_11879] +[group_11880] +[group_11881] +[group_11882] +[group_11883] +[group_11884] +[group_11885] +[group_11886] +[group_11887] +[group_11888] +[group_11889] +[group_11890] +[group_11891] +[group_11892] +[group_11893] +[group_11894] +[group_11895] +[group_11896] +[group_11897] +[group_11898] +[group_11899] +[group_11900] +[group_11901] +[group_11902] +[group_11903] +[group_11904] +[group_11905] +[group_11906] +[group_11907] +[group_11908] +[group_11909] +[group_11910] +[group_11911] +[group_11912] +[group_11913] +[group_11914] +[group_11915] +[group_11916] +[group_11917] +[group_11918] +[group_11919] +[group_11920] +[group_11921] +[group_11922] +[group_11923] +[group_11924] +[group_11925] +[group_11926] +[group_11927] +[group_11928] +[group_11929] +[group_11930] +[group_11931] +[group_11932] +[group_11933] +[group_11934] +[group_11935] +[group_11936] +[group_11937] +[group_11938] +[group_11939] +[group_11940] +[group_11941] +[group_11942] +[group_11943] +[group_11944] +[group_11945] +[group_11946] +[group_11947] +[group_11948] +[group_11949] +[group_11950] +[group_11951] +[group_11952] +[group_11953] +[group_11954] +[group_11955] +[group_11956] +[group_11957] +[group_11958] +[group_11959] +[group_11960] +[group_11961] +[group_11962] +[group_11963] +[group_11964] +[group_11965] +[group_11966] +[group_11967] +[group_11968] +[group_11969] +[group_11970] +[group_11971] +[group_11972] +[group_11973] +[group_11974] +[group_11975] +[group_11976] +[group_11977] +[group_11978] +[group_11979] +[group_11980] +[group_11981] +[group_11982] +[group_11983] +[group_11984] +[group_11985] +[group_11986] +[group_11987] +[group_11988] +[group_11989] +[group_11990] +[group_11991] +[group_11992] +[group_11993] +[group_11994] +[group_11995] +[group_11996] +[group_11997] +[group_11998] +[group_11999] +[group_12000] +[group_12001] +[group_12002] +[group_12003] +[group_12004] +[group_12005] +[group_12006] +[group_12007] +[group_12008] +[group_12009] +[group_12010] +[group_12011] +[group_12012] +[group_12013] +[group_12014] +[group_12015] +[group_12016] +[group_12017] +[group_12018] +[group_12019] +[group_12020] +[group_12021] +[group_12022] +[group_12023] +[group_12024] +[group_12025] +[group_12026] +[group_12027] +[group_12028] +[group_12029] +[group_12030] +[group_12031] +[group_12032] +[group_12033] +[group_12034] +[group_12035] +[group_12036] +[group_12037] +[group_12038] +[group_12039] +[group_12040] +[group_12041] +[group_12042] +[group_12043] +[group_12044] +[group_12045] +[group_12046] +[group_12047] +[group_12048] +[group_12049] +[group_12050] +[group_12051] +[group_12052] +[group_12053] +[group_12054] +[group_12055] +[group_12056] +[group_12057] +[group_12058] +[group_12059] +[group_12060] +[group_12061] +[group_12062] +[group_12063] +[group_12064] +[group_12065] +[group_12066] +[group_12067] +[group_12068] +[group_12069] +[group_12070] +[group_12071] +[group_12072] +[group_12073] +[group_12074] +[group_12075] +[group_12076] +[group_12077] +[group_12078] +[group_12079] +[group_12080] +[group_12081] +[group_12082] +[group_12083] +[group_12084] +[group_12085] +[group_12086] +[group_12087] +[group_12088] +[group_12089] +[group_12090] +[group_12091] +[group_12092] +[group_12093] +[group_12094] +[group_12095] +[group_12096] +[group_12097] +[group_12098] +[group_12099] +[group_12100] +[group_12101] +[group_12102] +[group_12103] +[group_12104] +[group_12105] +[group_12106] +[group_12107] +[group_12108] +[group_12109] +[group_12110] +[group_12111] +[group_12112] +[group_12113] +[group_12114] +[group_12115] +[group_12116] +[group_12117] +[group_12118] +[group_12119] +[group_12120] +[group_12121] +[group_12122] +[group_12123] +[group_12124] +[group_12125] +[group_12126] +[group_12127] +[group_12128] +[group_12129] +[group_12130] +[group_12131] +[group_12132] +[group_12133] +[group_12134] +[group_12135] +[group_12136] +[group_12137] +[group_12138] +[group_12139] +[group_12140] +[group_12141] +[group_12142] +[group_12143] +[group_12144] +[group_12145] +[group_12146] +[group_12147] +[group_12148] +[group_12149] +[group_12150] +[group_12151] +[group_12152] +[group_12153] +[group_12154] +[group_12155] +[group_12156] +[group_12157] +[group_12158] +[group_12159] +[group_12160] +[group_12161] +[group_12162] +[group_12163] +[group_12164] +[group_12165] +[group_12166] +[group_12167] +[group_12168] +[group_12169] +[group_12170] +[group_12171] +[group_12172] +[group_12173] +[group_12174] +[group_12175] +[group_12176] +[group_12177] +[group_12178] +[group_12179] +[group_12180] +[group_12181] +[group_12182] +[group_12183] +[group_12184] +[group_12185] +[group_12186] +[group_12187] +[group_12188] +[group_12189] +[group_12190] +[group_12191] +[group_12192] +[group_12193] +[group_12194] +[group_12195] +[group_12196] +[group_12197] +[group_12198] +[group_12199] +[group_12200] +[group_12201] +[group_12202] +[group_12203] +[group_12204] +[group_12205] +[group_12206] +[group_12207] +[group_12208] +[group_12209] +[group_12210] +[group_12211] +[group_12212] +[group_12213] +[group_12214] +[group_12215] +[group_12216] +[group_12217] +[group_12218] +[group_12219] +[group_12220] +[group_12221] +[group_12222] +[group_12223] +[group_12224] +[group_12225] +[group_12226] +[group_12227] +[group_12228] +[group_12229] +[group_12230] +[group_12231] +[group_12232] +[group_12233] +[group_12234] +[group_12235] +[group_12236] +[group_12237] +[group_12238] +[group_12239] +[group_12240] +[group_12241] +[group_12242] +[group_12243] +[group_12244] +[group_12245] +[group_12246] +[group_12247] +[group_12248] +[group_12249] +[group_12250] +[group_12251] +[group_12252] +[group_12253] +[group_12254] +[group_12255] +[group_12256] +[group_12257] +[group_12258] +[group_12259] +[group_12260] +[group_12261] +[group_12262] +[group_12263] +[group_12264] +[group_12265] +[group_12266] +[group_12267] +[group_12268] +[group_12269] +[group_12270] +[group_12271] +[group_12272] +[group_12273] +[group_12274] +[group_12275] +[group_12276] +[group_12277] +[group_12278] +[group_12279] +[group_12280] +[group_12281] +[group_12282] +[group_12283] +[group_12284] +[group_12285] +[group_12286] +[group_12287] +[group_12288] +[group_12289] +[group_12290] +[group_12291] +[group_12292] +[group_12293] +[group_12294] +[group_12295] +[group_12296] +[group_12297] +[group_12298] +[group_12299] +[group_12300] +[group_12301] +[group_12302] +[group_12303] +[group_12304] +[group_12305] +[group_12306] +[group_12307] +[group_12308] +[group_12309] +[group_12310] +[group_12311] +[group_12312] +[group_12313] +[group_12314] +[group_12315] +[group_12316] +[group_12317] +[group_12318] +[group_12319] +[group_12320] +[group_12321] +[group_12322] +[group_12323] +[group_12324] +[group_12325] +[group_12326] +[group_12327] +[group_12328] +[group_12329] +[group_12330] +[group_12331] +[group_12332] +[group_12333] +[group_12334] +[group_12335] +[group_12336] +[group_12337] +[group_12338] +[group_12339] +[group_12340] +[group_12341] +[group_12342] +[group_12343] +[group_12344] +[group_12345] +[group_12346] +[group_12347] +[group_12348] +[group_12349] +[group_12350] +[group_12351] +[group_12352] +[group_12353] +[group_12354] +[group_12355] +[group_12356] +[group_12357] +[group_12358] +[group_12359] +[group_12360] +[group_12361] +[group_12362] +[group_12363] +[group_12364] +[group_12365] +[group_12366] +[group_12367] +[group_12368] +[group_12369] +[group_12370] +[group_12371] +[group_12372] +[group_12373] +[group_12374] +[group_12375] +[group_12376] +[group_12377] +[group_12378] +[group_12379] +[group_12380] +[group_12381] +[group_12382] +[group_12383] +[group_12384] +[group_12385] +[group_12386] +[group_12387] +[group_12388] +[group_12389] +[group_12390] +[group_12391] +[group_12392] +[group_12393] +[group_12394] +[group_12395] +[group_12396] +[group_12397] +[group_12398] +[group_12399] +[group_12400] +[group_12401] +[group_12402] +[group_12403] +[group_12404] +[group_12405] +[group_12406] +[group_12407] +[group_12408] +[group_12409] +[group_12410] +[group_12411] +[group_12412] +[group_12413] +[group_12414] +[group_12415] +[group_12416] +[group_12417] +[group_12418] +[group_12419] +[group_12420] +[group_12421] +[group_12422] +[group_12423] +[group_12424] +[group_12425] +[group_12426] +[group_12427] +[group_12428] +[group_12429] +[group_12430] +[group_12431] +[group_12432] +[group_12433] +[group_12434] +[group_12435] +[group_12436] +[group_12437] +[group_12438] +[group_12439] +[group_12440] +[group_12441] +[group_12442] +[group_12443] +[group_12444] +[group_12445] +[group_12446] +[group_12447] +[group_12448] +[group_12449] +[group_12450] +[group_12451] +[group_12452] +[group_12453] +[group_12454] +[group_12455] +[group_12456] +[group_12457] +[group_12458] +[group_12459] +[group_12460] +[group_12461] +[group_12462] +[group_12463] +[group_12464] +[group_12465] +[group_12466] +[group_12467] +[group_12468] +[group_12469] +[group_12470] +[group_12471] +[group_12472] +[group_12473] +[group_12474] +[group_12475] +[group_12476] +[group_12477] +[group_12478] +[group_12479] +[group_12480] +[group_12481] +[group_12482] +[group_12483] +[group_12484] +[group_12485] +[group_12486] +[group_12487] +[group_12488] +[group_12489] +[group_12490] +[group_12491] +[group_12492] +[group_12493] +[group_12494] +[group_12495] +[group_12496] +[group_12497] +[group_12498] +[group_12499] +[group_12500] +[group_12501] +[group_12502] +[group_12503] +[group_12504] +[group_12505] +[group_12506] +[group_12507] +[group_12508] +[group_12509] +[group_12510] +[group_12511] +[group_12512] +[group_12513] +[group_12514] +[group_12515] +[group_12516] +[group_12517] +[group_12518] +[group_12519] +[group_12520] +[group_12521] +[group_12522] +[group_12523] +[group_12524] +[group_12525] +[group_12526] +[group_12527] +[group_12528] +[group_12529] +[group_12530] +[group_12531] +[group_12532] +[group_12533] +[group_12534] +[group_12535] +[group_12536] +[group_12537] +[group_12538] +[group_12539] +[group_12540] +[group_12541] +[group_12542] +[group_12543] +[group_12544] +[group_12545] +[group_12546] +[group_12547] +[group_12548] +[group_12549] +[group_12550] +[group_12551] +[group_12552] +[group_12553] +[group_12554] +[group_12555] +[group_12556] +[group_12557] +[group_12558] +[group_12559] +[group_12560] +[group_12561] +[group_12562] +[group_12563] +[group_12564] +[group_12565] +[group_12566] +[group_12567] +[group_12568] +[group_12569] +[group_12570] +[group_12571] +[group_12572] +[group_12573] +[group_12574] +[group_12575] +[group_12576] +[group_12577] +[group_12578] +[group_12579] +[group_12580] +[group_12581] +[group_12582] +[group_12583] +[group_12584] +[group_12585] +[group_12586] +[group_12587] +[group_12588] +[group_12589] +[group_12590] +[group_12591] +[group_12592] +[group_12593] +[group_12594] +[group_12595] +[group_12596] +[group_12597] +[group_12598] +[group_12599] +[group_12600] +[group_12601] +[group_12602] +[group_12603] +[group_12604] +[group_12605] +[group_12606] +[group_12607] +[group_12608] +[group_12609] +[group_12610] +[group_12611] +[group_12612] +[group_12613] +[group_12614] +[group_12615] +[group_12616] +[group_12617] +[group_12618] +[group_12619] +[group_12620] +[group_12621] +[group_12622] +[group_12623] +[group_12624] +[group_12625] +[group_12626] +[group_12627] +[group_12628] +[group_12629] +[group_12630] +[group_12631] +[group_12632] +[group_12633] +[group_12634] +[group_12635] +[group_12636] +[group_12637] +[group_12638] +[group_12639] +[group_12640] +[group_12641] +[group_12642] +[group_12643] +[group_12644] +[group_12645] +[group_12646] +[group_12647] +[group_12648] +[group_12649] +[group_12650] +[group_12651] +[group_12652] +[group_12653] +[group_12654] +[group_12655] +[group_12656] +[group_12657] +[group_12658] +[group_12659] +[group_12660] +[group_12661] +[group_12662] +[group_12663] +[group_12664] +[group_12665] +[group_12666] +[group_12667] +[group_12668] +[group_12669] +[group_12670] +[group_12671] +[group_12672] +[group_12673] +[group_12674] +[group_12675] +[group_12676] +[group_12677] +[group_12678] +[group_12679] +[group_12680] +[group_12681] +[group_12682] +[group_12683] +[group_12684] +[group_12685] +[group_12686] +[group_12687] +[group_12688] +[group_12689] +[group_12690] +[group_12691] +[group_12692] +[group_12693] +[group_12694] +[group_12695] +[group_12696] +[group_12697] +[group_12698] +[group_12699] +[group_12700] +[group_12701] +[group_12702] +[group_12703] +[group_12704] +[group_12705] +[group_12706] +[group_12707] +[group_12708] +[group_12709] +[group_12710] +[group_12711] +[group_12712] +[group_12713] +[group_12714] +[group_12715] +[group_12716] +[group_12717] +[group_12718] +[group_12719] +[group_12720] +[group_12721] +[group_12722] +[group_12723] +[group_12724] +[group_12725] +[group_12726] +[group_12727] +[group_12728] +[group_12729] +[group_12730] +[group_12731] +[group_12732] +[group_12733] +[group_12734] +[group_12735] +[group_12736] +[group_12737] +[group_12738] +[group_12739] +[group_12740] +[group_12741] +[group_12742] +[group_12743] +[group_12744] +[group_12745] +[group_12746] +[group_12747] +[group_12748] +[group_12749] +[group_12750] +[group_12751] +[group_12752] +[group_12753] +[group_12754] +[group_12755] +[group_12756] +[group_12757] +[group_12758] +[group_12759] +[group_12760] +[group_12761] +[group_12762] +[group_12763] +[group_12764] +[group_12765] +[group_12766] +[group_12767] +[group_12768] +[group_12769] +[group_12770] +[group_12771] +[group_12772] +[group_12773] +[group_12774] +[group_12775] +[group_12776] +[group_12777] +[group_12778] +[group_12779] +[group_12780] +[group_12781] +[group_12782] +[group_12783] +[group_12784] +[group_12785] +[group_12786] +[group_12787] +[group_12788] +[group_12789] +[group_12790] +[group_12791] +[group_12792] +[group_12793] +[group_12794] +[group_12795] +[group_12796] +[group_12797] +[group_12798] +[group_12799] +[group_12800] +[group_12801] +[group_12802] +[group_12803] +[group_12804] +[group_12805] +[group_12806] +[group_12807] +[group_12808] +[group_12809] +[group_12810] +[group_12811] +[group_12812] +[group_12813] +[group_12814] +[group_12815] +[group_12816] +[group_12817] +[group_12818] +[group_12819] +[group_12820] +[group_12821] +[group_12822] +[group_12823] +[group_12824] +[group_12825] +[group_12826] +[group_12827] +[group_12828] +[group_12829] +[group_12830] +[group_12831] +[group_12832] +[group_12833] +[group_12834] +[group_12835] +[group_12836] +[group_12837] +[group_12838] +[group_12839] +[group_12840] +[group_12841] +[group_12842] +[group_12843] +[group_12844] +[group_12845] +[group_12846] +[group_12847] +[group_12848] +[group_12849] +[group_12850] +[group_12851] +[group_12852] +[group_12853] +[group_12854] +[group_12855] +[group_12856] +[group_12857] +[group_12858] +[group_12859] +[group_12860] +[group_12861] +[group_12862] +[group_12863] +[group_12864] +[group_12865] +[group_12866] +[group_12867] +[group_12868] +[group_12869] +[group_12870] +[group_12871] +[group_12872] +[group_12873] +[group_12874] +[group_12875] +[group_12876] +[group_12877] +[group_12878] +[group_12879] +[group_12880] +[group_12881] +[group_12882] +[group_12883] +[group_12884] +[group_12885] +[group_12886] +[group_12887] +[group_12888] +[group_12889] +[group_12890] +[group_12891] +[group_12892] +[group_12893] +[group_12894] +[group_12895] +[group_12896] +[group_12897] +[group_12898] +[group_12899] +[group_12900] +[group_12901] +[group_12902] +[group_12903] +[group_12904] +[group_12905] +[group_12906] +[group_12907] +[group_12908] +[group_12909] +[group_12910] +[group_12911] +[group_12912] +[group_12913] +[group_12914] +[group_12915] +[group_12916] +[group_12917] +[group_12918] +[group_12919] +[group_12920] +[group_12921] +[group_12922] +[group_12923] +[group_12924] +[group_12925] +[group_12926] +[group_12927] +[group_12928] +[group_12929] +[group_12930] +[group_12931] +[group_12932] +[group_12933] +[group_12934] +[group_12935] +[group_12936] +[group_12937] +[group_12938] +[group_12939] +[group_12940] +[group_12941] +[group_12942] +[group_12943] +[group_12944] +[group_12945] +[group_12946] +[group_12947] +[group_12948] +[group_12949] +[group_12950] +[group_12951] +[group_12952] +[group_12953] +[group_12954] +[group_12955] +[group_12956] +[group_12957] +[group_12958] +[group_12959] +[group_12960] +[group_12961] +[group_12962] +[group_12963] +[group_12964] +[group_12965] +[group_12966] +[group_12967] +[group_12968] +[group_12969] +[group_12970] +[group_12971] +[group_12972] +[group_12973] +[group_12974] +[group_12975] +[group_12976] +[group_12977] +[group_12978] +[group_12979] +[group_12980] +[group_12981] +[group_12982] +[group_12983] +[group_12984] +[group_12985] +[group_12986] +[group_12987] +[group_12988] +[group_12989] +[group_12990] +[group_12991] +[group_12992] +[group_12993] +[group_12994] +[group_12995] +[group_12996] +[group_12997] +[group_12998] +[group_12999] +[group_13000] +[group_13001] +[group_13002] +[group_13003] +[group_13004] +[group_13005] +[group_13006] +[group_13007] +[group_13008] +[group_13009] +[group_13010] +[group_13011] +[group_13012] +[group_13013] +[group_13014] +[group_13015] +[group_13016] +[group_13017] +[group_13018] +[group_13019] +[group_13020] +[group_13021] +[group_13022] +[group_13023] +[group_13024] +[group_13025] +[group_13026] +[group_13027] +[group_13028] +[group_13029] +[group_13030] +[group_13031] +[group_13032] +[group_13033] +[group_13034] +[group_13035] +[group_13036] +[group_13037] +[group_13038] +[group_13039] +[group_13040] +[group_13041] +[group_13042] +[group_13043] +[group_13044] +[group_13045] +[group_13046] +[group_13047] +[group_13048] +[group_13049] +[group_13050] +[group_13051] +[group_13052] +[group_13053] +[group_13054] +[group_13055] +[group_13056] +[group_13057] +[group_13058] +[group_13059] +[group_13060] +[group_13061] +[group_13062] +[group_13063] +[group_13064] +[group_13065] +[group_13066] +[group_13067] +[group_13068] +[group_13069] +[group_13070] +[group_13071] +[group_13072] +[group_13073] +[group_13074] +[group_13075] +[group_13076] +[group_13077] +[group_13078] +[group_13079] +[group_13080] +[group_13081] +[group_13082] +[group_13083] +[group_13084] +[group_13085] +[group_13086] +[group_13087] +[group_13088] +[group_13089] +[group_13090] +[group_13091] +[group_13092] +[group_13093] +[group_13094] +[group_13095] +[group_13096] +[group_13097] +[group_13098] +[group_13099] +[group_13100] +[group_13101] +[group_13102] +[group_13103] +[group_13104] +[group_13105] +[group_13106] +[group_13107] +[group_13108] +[group_13109] +[group_13110] +[group_13111] +[group_13112] +[group_13113] +[group_13114] +[group_13115] +[group_13116] +[group_13117] +[group_13118] +[group_13119] +[group_13120] +[group_13121] +[group_13122] +[group_13123] +[group_13124] +[group_13125] +[group_13126] +[group_13127] +[group_13128] +[group_13129] +[group_13130] +[group_13131] +[group_13132] +[group_13133] +[group_13134] +[group_13135] +[group_13136] +[group_13137] +[group_13138] +[group_13139] +[group_13140] +[group_13141] +[group_13142] +[group_13143] +[group_13144] +[group_13145] +[group_13146] +[group_13147] +[group_13148] +[group_13149] +[group_13150] +[group_13151] +[group_13152] +[group_13153] +[group_13154] +[group_13155] +[group_13156] +[group_13157] +[group_13158] +[group_13159] +[group_13160] +[group_13161] +[group_13162] +[group_13163] +[group_13164] +[group_13165] +[group_13166] +[group_13167] +[group_13168] +[group_13169] +[group_13170] +[group_13171] +[group_13172] +[group_13173] +[group_13174] +[group_13175] +[group_13176] +[group_13177] +[group_13178] +[group_13179] +[group_13180] +[group_13181] +[group_13182] +[group_13183] +[group_13184] +[group_13185] +[group_13186] +[group_13187] +[group_13188] +[group_13189] +[group_13190] +[group_13191] +[group_13192] +[group_13193] +[group_13194] +[group_13195] +[group_13196] +[group_13197] +[group_13198] +[group_13199] +[group_13200] +[group_13201] +[group_13202] +[group_13203] +[group_13204] +[group_13205] +[group_13206] +[group_13207] +[group_13208] +[group_13209] +[group_13210] +[group_13211] +[group_13212] +[group_13213] +[group_13214] +[group_13215] +[group_13216] +[group_13217] +[group_13218] +[group_13219] +[group_13220] +[group_13221] +[group_13222] +[group_13223] +[group_13224] +[group_13225] +[group_13226] +[group_13227] +[group_13228] +[group_13229] +[group_13230] +[group_13231] +[group_13232] +[group_13233] +[group_13234] +[group_13235] +[group_13236] +[group_13237] +[group_13238] +[group_13239] +[group_13240] +[group_13241] +[group_13242] +[group_13243] +[group_13244] +[group_13245] +[group_13246] +[group_13247] +[group_13248] +[group_13249] +[group_13250] +[group_13251] +[group_13252] +[group_13253] +[group_13254] +[group_13255] +[group_13256] +[group_13257] +[group_13258] +[group_13259] +[group_13260] +[group_13261] +[group_13262] +[group_13263] +[group_13264] +[group_13265] +[group_13266] +[group_13267] +[group_13268] +[group_13269] +[group_13270] +[group_13271] +[group_13272] +[group_13273] +[group_13274] +[group_13275] +[group_13276] +[group_13277] +[group_13278] +[group_13279] +[group_13280] +[group_13281] +[group_13282] +[group_13283] +[group_13284] +[group_13285] +[group_13286] +[group_13287] +[group_13288] +[group_13289] +[group_13290] +[group_13291] +[group_13292] +[group_13293] +[group_13294] +[group_13295] +[group_13296] +[group_13297] +[group_13298] +[group_13299] +[group_13300] +[group_13301] +[group_13302] +[group_13303] +[group_13304] +[group_13305] +[group_13306] +[group_13307] +[group_13308] +[group_13309] +[group_13310] +[group_13311] +[group_13312] +[group_13313] +[group_13314] +[group_13315] +[group_13316] +[group_13317] +[group_13318] +[group_13319] +[group_13320] +[group_13321] +[group_13322] +[group_13323] +[group_13324] +[group_13325] +[group_13326] +[group_13327] +[group_13328] +[group_13329] +[group_13330] +[group_13331] +[group_13332] +[group_13333] +[group_13334] +[group_13335] +[group_13336] +[group_13337] +[group_13338] +[group_13339] +[group_13340] +[group_13341] +[group_13342] +[group_13343] +[group_13344] +[group_13345] +[group_13346] +[group_13347] +[group_13348] +[group_13349] +[group_13350] +[group_13351] +[group_13352] +[group_13353] +[group_13354] +[group_13355] +[group_13356] +[group_13357] +[group_13358] +[group_13359] +[group_13360] +[group_13361] +[group_13362] +[group_13363] +[group_13364] +[group_13365] +[group_13366] +[group_13367] +[group_13368] +[group_13369] +[group_13370] +[group_13371] +[group_13372] +[group_13373] +[group_13374] +[group_13375] +[group_13376] +[group_13377] +[group_13378] +[group_13379] +[group_13380] +[group_13381] +[group_13382] +[group_13383] +[group_13384] +[group_13385] +[group_13386] +[group_13387] +[group_13388] +[group_13389] +[group_13390] +[group_13391] +[group_13392] +[group_13393] +[group_13394] +[group_13395] +[group_13396] +[group_13397] +[group_13398] +[group_13399] +[group_13400] +[group_13401] +[group_13402] +[group_13403] +[group_13404] +[group_13405] +[group_13406] +[group_13407] +[group_13408] +[group_13409] +[group_13410] +[group_13411] +[group_13412] +[group_13413] +[group_13414] +[group_13415] +[group_13416] +[group_13417] +[group_13418] +[group_13419] +[group_13420] +[group_13421] +[group_13422] +[group_13423] +[group_13424] +[group_13425] +[group_13426] +[group_13427] +[group_13428] +[group_13429] +[group_13430] +[group_13431] +[group_13432] +[group_13433] +[group_13434] +[group_13435] +[group_13436] +[group_13437] +[group_13438] +[group_13439] +[group_13440] +[group_13441] +[group_13442] +[group_13443] +[group_13444] +[group_13445] +[group_13446] +[group_13447] +[group_13448] +[group_13449] +[group_13450] +[group_13451] +[group_13452] +[group_13453] +[group_13454] +[group_13455] +[group_13456] +[group_13457] +[group_13458] +[group_13459] +[group_13460] +[group_13461] +[group_13462] +[group_13463] +[group_13464] +[group_13465] +[group_13466] +[group_13467] +[group_13468] +[group_13469] +[group_13470] +[group_13471] +[group_13472] +[group_13473] +[group_13474] +[group_13475] +[group_13476] +[group_13477] +[group_13478] +[group_13479] +[group_13480] +[group_13481] +[group_13482] +[group_13483] +[group_13484] +[group_13485] +[group_13486] +[group_13487] +[group_13488] +[group_13489] +[group_13490] +[group_13491] +[group_13492] +[group_13493] +[group_13494] +[group_13495] +[group_13496] +[group_13497] +[group_13498] +[group_13499] +[group_13500] +[group_13501] +[group_13502] +[group_13503] +[group_13504] +[group_13505] +[group_13506] +[group_13507] +[group_13508] +[group_13509] +[group_13510] +[group_13511] +[group_13512] +[group_13513] +[group_13514] +[group_13515] +[group_13516] +[group_13517] +[group_13518] +[group_13519] +[group_13520] +[group_13521] +[group_13522] +[group_13523] +[group_13524] +[group_13525] +[group_13526] +[group_13527] +[group_13528] +[group_13529] +[group_13530] +[group_13531] +[group_13532] +[group_13533] +[group_13534] +[group_13535] +[group_13536] +[group_13537] +[group_13538] +[group_13539] +[group_13540] +[group_13541] +[group_13542] +[group_13543] +[group_13544] +[group_13545] +[group_13546] +[group_13547] +[group_13548] +[group_13549] +[group_13550] +[group_13551] +[group_13552] +[group_13553] +[group_13554] +[group_13555] +[group_13556] +[group_13557] +[group_13558] +[group_13559] +[group_13560] +[group_13561] +[group_13562] +[group_13563] +[group_13564] +[group_13565] +[group_13566] +[group_13567] +[group_13568] +[group_13569] +[group_13570] +[group_13571] +[group_13572] +[group_13573] +[group_13574] +[group_13575] +[group_13576] +[group_13577] +[group_13578] +[group_13579] +[group_13580] +[group_13581] +[group_13582] +[group_13583] +[group_13584] +[group_13585] +[group_13586] +[group_13587] +[group_13588] +[group_13589] +[group_13590] +[group_13591] +[group_13592] +[group_13593] +[group_13594] +[group_13595] +[group_13596] +[group_13597] +[group_13598] +[group_13599] +[group_13600] +[group_13601] +[group_13602] +[group_13603] +[group_13604] +[group_13605] +[group_13606] +[group_13607] +[group_13608] +[group_13609] +[group_13610] +[group_13611] +[group_13612] +[group_13613] +[group_13614] +[group_13615] +[group_13616] +[group_13617] +[group_13618] +[group_13619] +[group_13620] +[group_13621] +[group_13622] +[group_13623] +[group_13624] +[group_13625] +[group_13626] +[group_13627] +[group_13628] +[group_13629] +[group_13630] +[group_13631] +[group_13632] +[group_13633] +[group_13634] +[group_13635] +[group_13636] +[group_13637] +[group_13638] +[group_13639] +[group_13640] +[group_13641] +[group_13642] +[group_13643] +[group_13644] +[group_13645] +[group_13646] +[group_13647] +[group_13648] +[group_13649] +[group_13650] +[group_13651] +[group_13652] +[group_13653] +[group_13654] +[group_13655] +[group_13656] +[group_13657] +[group_13658] +[group_13659] +[group_13660] +[group_13661] +[group_13662] +[group_13663] +[group_13664] +[group_13665] +[group_13666] +[group_13667] +[group_13668] +[group_13669] +[group_13670] +[group_13671] +[group_13672] +[group_13673] +[group_13674] +[group_13675] +[group_13676] +[group_13677] +[group_13678] +[group_13679] +[group_13680] +[group_13681] +[group_13682] +[group_13683] +[group_13684] +[group_13685] +[group_13686] +[group_13687] +[group_13688] +[group_13689] +[group_13690] +[group_13691] +[group_13692] +[group_13693] +[group_13694] +[group_13695] +[group_13696] +[group_13697] +[group_13698] +[group_13699] +[group_13700] +[group_13701] +[group_13702] +[group_13703] +[group_13704] +[group_13705] +[group_13706] +[group_13707] +[group_13708] +[group_13709] +[group_13710] +[group_13711] +[group_13712] +[group_13713] +[group_13714] +[group_13715] +[group_13716] +[group_13717] +[group_13718] +[group_13719] +[group_13720] +[group_13721] +[group_13722] +[group_13723] +[group_13724] +[group_13725] +[group_13726] +[group_13727] +[group_13728] +[group_13729] +[group_13730] +[group_13731] +[group_13732] +[group_13733] +[group_13734] +[group_13735] +[group_13736] +[group_13737] +[group_13738] +[group_13739] +[group_13740] +[group_13741] +[group_13742] +[group_13743] +[group_13744] +[group_13745] +[group_13746] +[group_13747] +[group_13748] +[group_13749] +[group_13750] +[group_13751] +[group_13752] +[group_13753] +[group_13754] +[group_13755] +[group_13756] +[group_13757] +[group_13758] +[group_13759] +[group_13760] +[group_13761] +[group_13762] +[group_13763] +[group_13764] +[group_13765] +[group_13766] +[group_13767] +[group_13768] +[group_13769] +[group_13770] +[group_13771] +[group_13772] +[group_13773] +[group_13774] +[group_13775] +[group_13776] +[group_13777] +[group_13778] +[group_13779] +[group_13780] +[group_13781] +[group_13782] +[group_13783] +[group_13784] +[group_13785] +[group_13786] +[group_13787] +[group_13788] +[group_13789] +[group_13790] +[group_13791] +[group_13792] +[group_13793] +[group_13794] +[group_13795] +[group_13796] +[group_13797] +[group_13798] +[group_13799] +[group_13800] +[group_13801] +[group_13802] +[group_13803] +[group_13804] +[group_13805] +[group_13806] +[group_13807] +[group_13808] +[group_13809] +[group_13810] +[group_13811] +[group_13812] +[group_13813] +[group_13814] +[group_13815] +[group_13816] +[group_13817] +[group_13818] +[group_13819] +[group_13820] +[group_13821] +[group_13822] +[group_13823] +[group_13824] +[group_13825] +[group_13826] +[group_13827] +[group_13828] +[group_13829] +[group_13830] +[group_13831] +[group_13832] +[group_13833] +[group_13834] +[group_13835] +[group_13836] +[group_13837] +[group_13838] +[group_13839] +[group_13840] +[group_13841] +[group_13842] +[group_13843] +[group_13844] +[group_13845] +[group_13846] +[group_13847] +[group_13848] +[group_13849] +[group_13850] +[group_13851] +[group_13852] +[group_13853] +[group_13854] +[group_13855] +[group_13856] +[group_13857] +[group_13858] +[group_13859] +[group_13860] +[group_13861] +[group_13862] +[group_13863] +[group_13864] +[group_13865] +[group_13866] +[group_13867] +[group_13868] +[group_13869] +[group_13870] +[group_13871] +[group_13872] +[group_13873] +[group_13874] +[group_13875] +[group_13876] +[group_13877] +[group_13878] +[group_13879] +[group_13880] +[group_13881] +[group_13882] +[group_13883] +[group_13884] +[group_13885] +[group_13886] +[group_13887] +[group_13888] +[group_13889] +[group_13890] +[group_13891] +[group_13892] +[group_13893] +[group_13894] +[group_13895] +[group_13896] +[group_13897] +[group_13898] +[group_13899] +[group_13900] +[group_13901] +[group_13902] +[group_13903] +[group_13904] +[group_13905] +[group_13906] +[group_13907] +[group_13908] +[group_13909] +[group_13910] +[group_13911] +[group_13912] +[group_13913] +[group_13914] +[group_13915] +[group_13916] +[group_13917] +[group_13918] +[group_13919] +[group_13920] +[group_13921] +[group_13922] +[group_13923] +[group_13924] +[group_13925] +[group_13926] +[group_13927] +[group_13928] +[group_13929] +[group_13930] +[group_13931] +[group_13932] +[group_13933] +[group_13934] +[group_13935] +[group_13936] +[group_13937] +[group_13938] +[group_13939] +[group_13940] +[group_13941] +[group_13942] +[group_13943] +[group_13944] +[group_13945] +[group_13946] +[group_13947] +[group_13948] +[group_13949] +[group_13950] +[group_13951] +[group_13952] +[group_13953] +[group_13954] +[group_13955] +[group_13956] +[group_13957] +[group_13958] +[group_13959] +[group_13960] +[group_13961] +[group_13962] +[group_13963] +[group_13964] +[group_13965] +[group_13966] +[group_13967] +[group_13968] +[group_13969] +[group_13970] +[group_13971] +[group_13972] +[group_13973] +[group_13974] +[group_13975] +[group_13976] +[group_13977] +[group_13978] +[group_13979] +[group_13980] +[group_13981] +[group_13982] +[group_13983] +[group_13984] +[group_13985] +[group_13986] +[group_13987] +[group_13988] +[group_13989] +[group_13990] +[group_13991] +[group_13992] +[group_13993] +[group_13994] +[group_13995] +[group_13996] +[group_13997] +[group_13998] +[group_13999] +[group_14000] +[group_14001] +[group_14002] +[group_14003] +[group_14004] +[group_14005] +[group_14006] +[group_14007] +[group_14008] +[group_14009] +[group_14010] +[group_14011] +[group_14012] +[group_14013] +[group_14014] +[group_14015] +[group_14016] +[group_14017] +[group_14018] +[group_14019] +[group_14020] +[group_14021] +[group_14022] +[group_14023] +[group_14024] +[group_14025] +[group_14026] +[group_14027] +[group_14028] +[group_14029] +[group_14030] +[group_14031] +[group_14032] +[group_14033] +[group_14034] +[group_14035] +[group_14036] +[group_14037] +[group_14038] +[group_14039] +[group_14040] +[group_14041] +[group_14042] +[group_14043] +[group_14044] +[group_14045] +[group_14046] +[group_14047] +[group_14048] +[group_14049] +[group_14050] +[group_14051] +[group_14052] +[group_14053] +[group_14054] +[group_14055] +[group_14056] +[group_14057] +[group_14058] +[group_14059] +[group_14060] +[group_14061] +[group_14062] +[group_14063] +[group_14064] +[group_14065] +[group_14066] +[group_14067] +[group_14068] +[group_14069] +[group_14070] +[group_14071] +[group_14072] +[group_14073] +[group_14074] +[group_14075] +[group_14076] +[group_14077] +[group_14078] +[group_14079] +[group_14080] +[group_14081] +[group_14082] +[group_14083] +[group_14084] +[group_14085] +[group_14086] +[group_14087] +[group_14088] +[group_14089] +[group_14090] +[group_14091] +[group_14092] +[group_14093] +[group_14094] +[group_14095] +[group_14096] +[group_14097] +[group_14098] +[group_14099] +[group_14100] +[group_14101] +[group_14102] +[group_14103] +[group_14104] +[group_14105] +[group_14106] +[group_14107] +[group_14108] +[group_14109] +[group_14110] +[group_14111] +[group_14112] +[group_14113] +[group_14114] +[group_14115] +[group_14116] +[group_14117] +[group_14118] +[group_14119] +[group_14120] +[group_14121] +[group_14122] +[group_14123] +[group_14124] +[group_14125] +[group_14126] +[group_14127] +[group_14128] +[group_14129] +[group_14130] +[group_14131] +[group_14132] +[group_14133] +[group_14134] +[group_14135] +[group_14136] +[group_14137] +[group_14138] +[group_14139] +[group_14140] +[group_14141] +[group_14142] +[group_14143] +[group_14144] +[group_14145] +[group_14146] +[group_14147] +[group_14148] +[group_14149] +[group_14150] +[group_14151] +[group_14152] +[group_14153] +[group_14154] +[group_14155] +[group_14156] +[group_14157] +[group_14158] +[group_14159] +[group_14160] +[group_14161] +[group_14162] +[group_14163] +[group_14164] +[group_14165] +[group_14166] +[group_14167] +[group_14168] +[group_14169] +[group_14170] +[group_14171] +[group_14172] +[group_14173] +[group_14174] +[group_14175] +[group_14176] +[group_14177] +[group_14178] +[group_14179] +[group_14180] +[group_14181] +[group_14182] +[group_14183] +[group_14184] +[group_14185] +[group_14186] +[group_14187] +[group_14188] +[group_14189] +[group_14190] +[group_14191] +[group_14192] +[group_14193] +[group_14194] +[group_14195] +[group_14196] +[group_14197] +[group_14198] +[group_14199] +[group_14200] +[group_14201] +[group_14202] +[group_14203] +[group_14204] +[group_14205] +[group_14206] +[group_14207] +[group_14208] +[group_14209] +[group_14210] +[group_14211] +[group_14212] +[group_14213] +[group_14214] +[group_14215] +[group_14216] +[group_14217] +[group_14218] +[group_14219] +[group_14220] +[group_14221] +[group_14222] +[group_14223] +[group_14224] +[group_14225] +[group_14226] +[group_14227] +[group_14228] +[group_14229] +[group_14230] +[group_14231] +[group_14232] +[group_14233] +[group_14234] +[group_14235] +[group_14236] +[group_14237] +[group_14238] +[group_14239] +[group_14240] +[group_14241] +[group_14242] +[group_14243] +[group_14244] +[group_14245] +[group_14246] +[group_14247] +[group_14248] +[group_14249] +[group_14250] +[group_14251] +[group_14252] +[group_14253] +[group_14254] +[group_14255] +[group_14256] +[group_14257] +[group_14258] +[group_14259] +[group_14260] +[group_14261] +[group_14262] +[group_14263] +[group_14264] +[group_14265] +[group_14266] +[group_14267] +[group_14268] +[group_14269] +[group_14270] +[group_14271] +[group_14272] +[group_14273] +[group_14274] +[group_14275] +[group_14276] +[group_14277] +[group_14278] +[group_14279] +[group_14280] +[group_14281] +[group_14282] +[group_14283] +[group_14284] +[group_14285] +[group_14286] +[group_14287] +[group_14288] +[group_14289] +[group_14290] +[group_14291] +[group_14292] +[group_14293] +[group_14294] +[group_14295] +[group_14296] +[group_14297] +[group_14298] +[group_14299] +[group_14300] +[group_14301] +[group_14302] +[group_14303] +[group_14304] +[group_14305] +[group_14306] +[group_14307] +[group_14308] +[group_14309] +[group_14310] +[group_14311] +[group_14312] +[group_14313] +[group_14314] +[group_14315] +[group_14316] +[group_14317] +[group_14318] +[group_14319] +[group_14320] +[group_14321] +[group_14322] +[group_14323] +[group_14324] +[group_14325] +[group_14326] +[group_14327] +[group_14328] +[group_14329] +[group_14330] +[group_14331] +[group_14332] +[group_14333] +[group_14334] +[group_14335] +[group_14336] +[group_14337] +[group_14338] +[group_14339] +[group_14340] +[group_14341] +[group_14342] +[group_14343] +[group_14344] +[group_14345] +[group_14346] +[group_14347] +[group_14348] +[group_14349] +[group_14350] +[group_14351] +[group_14352] +[group_14353] +[group_14354] +[group_14355] +[group_14356] +[group_14357] +[group_14358] +[group_14359] +[group_14360] +[group_14361] +[group_14362] +[group_14363] +[group_14364] +[group_14365] +[group_14366] +[group_14367] +[group_14368] +[group_14369] +[group_14370] +[group_14371] +[group_14372] +[group_14373] +[group_14374] +[group_14375] +[group_14376] +[group_14377] +[group_14378] +[group_14379] +[group_14380] +[group_14381] +[group_14382] +[group_14383] +[group_14384] +[group_14385] +[group_14386] +[group_14387] +[group_14388] +[group_14389] +[group_14390] +[group_14391] +[group_14392] +[group_14393] +[group_14394] +[group_14395] +[group_14396] +[group_14397] +[group_14398] +[group_14399] +[group_14400] +[group_14401] +[group_14402] +[group_14403] +[group_14404] +[group_14405] +[group_14406] +[group_14407] +[group_14408] +[group_14409] +[group_14410] +[group_14411] +[group_14412] +[group_14413] +[group_14414] +[group_14415] +[group_14416] +[group_14417] +[group_14418] +[group_14419] +[group_14420] +[group_14421] +[group_14422] +[group_14423] +[group_14424] +[group_14425] +[group_14426] +[group_14427] +[group_14428] +[group_14429] +[group_14430] +[group_14431] +[group_14432] +[group_14433] +[group_14434] +[group_14435] +[group_14436] +[group_14437] +[group_14438] +[group_14439] +[group_14440] +[group_14441] +[group_14442] +[group_14443] +[group_14444] +[group_14445] +[group_14446] +[group_14447] +[group_14448] +[group_14449] +[group_14450] +[group_14451] +[group_14452] +[group_14453] +[group_14454] +[group_14455] +[group_14456] +[group_14457] +[group_14458] +[group_14459] +[group_14460] +[group_14461] +[group_14462] +[group_14463] +[group_14464] +[group_14465] +[group_14466] +[group_14467] +[group_14468] +[group_14469] +[group_14470] +[group_14471] +[group_14472] +[group_14473] +[group_14474] +[group_14475] +[group_14476] +[group_14477] +[group_14478] +[group_14479] +[group_14480] +[group_14481] +[group_14482] +[group_14483] +[group_14484] +[group_14485] +[group_14486] +[group_14487] +[group_14488] +[group_14489] +[group_14490] +[group_14491] +[group_14492] +[group_14493] +[group_14494] +[group_14495] +[group_14496] +[group_14497] +[group_14498] +[group_14499] +[group_14500] +[group_14501] +[group_14502] +[group_14503] +[group_14504] +[group_14505] +[group_14506] +[group_14507] +[group_14508] +[group_14509] +[group_14510] +[group_14511] +[group_14512] +[group_14513] +[group_14514] +[group_14515] +[group_14516] +[group_14517] +[group_14518] +[group_14519] +[group_14520] +[group_14521] +[group_14522] +[group_14523] +[group_14524] +[group_14525] +[group_14526] +[group_14527] +[group_14528] +[group_14529] +[group_14530] +[group_14531] +[group_14532] +[group_14533] +[group_14534] +[group_14535] +[group_14536] +[group_14537] +[group_14538] +[group_14539] +[group_14540] +[group_14541] +[group_14542] +[group_14543] +[group_14544] +[group_14545] +[group_14546] +[group_14547] +[group_14548] +[group_14549] +[group_14550] +[group_14551] +[group_14552] +[group_14553] +[group_14554] +[group_14555] +[group_14556] +[group_14557] +[group_14558] +[group_14559] +[group_14560] +[group_14561] +[group_14562] +[group_14563] +[group_14564] +[group_14565] +[group_14566] +[group_14567] +[group_14568] +[group_14569] +[group_14570] +[group_14571] +[group_14572] +[group_14573] +[group_14574] +[group_14575] +[group_14576] +[group_14577] +[group_14578] +[group_14579] +[group_14580] +[group_14581] +[group_14582] +[group_14583] +[group_14584] +[group_14585] +[group_14586] +[group_14587] +[group_14588] +[group_14589] +[group_14590] +[group_14591] +[group_14592] +[group_14593] +[group_14594] +[group_14595] +[group_14596] +[group_14597] +[group_14598] +[group_14599] +[group_14600] +[group_14601] +[group_14602] +[group_14603] +[group_14604] +[group_14605] +[group_14606] +[group_14607] +[group_14608] +[group_14609] +[group_14610] +[group_14611] +[group_14612] +[group_14613] +[group_14614] +[group_14615] +[group_14616] +[group_14617] +[group_14618] +[group_14619] +[group_14620] +[group_14621] +[group_14622] +[group_14623] +[group_14624] +[group_14625] +[group_14626] +[group_14627] +[group_14628] +[group_14629] +[group_14630] +[group_14631] +[group_14632] +[group_14633] +[group_14634] +[group_14635] +[group_14636] +[group_14637] +[group_14638] +[group_14639] +[group_14640] +[group_14641] +[group_14642] +[group_14643] +[group_14644] +[group_14645] +[group_14646] +[group_14647] +[group_14648] +[group_14649] +[group_14650] +[group_14651] +[group_14652] +[group_14653] +[group_14654] +[group_14655] +[group_14656] +[group_14657] +[group_14658] +[group_14659] +[group_14660] +[group_14661] +[group_14662] +[group_14663] +[group_14664] +[group_14665] +[group_14666] +[group_14667] +[group_14668] +[group_14669] +[group_14670] +[group_14671] +[group_14672] +[group_14673] +[group_14674] +[group_14675] +[group_14676] +[group_14677] +[group_14678] +[group_14679] +[group_14680] +[group_14681] +[group_14682] +[group_14683] +[group_14684] +[group_14685] +[group_14686] +[group_14687] +[group_14688] +[group_14689] +[group_14690] +[group_14691] +[group_14692] +[group_14693] +[group_14694] +[group_14695] +[group_14696] +[group_14697] +[group_14698] +[group_14699] +[group_14700] +[group_14701] +[group_14702] +[group_14703] +[group_14704] +[group_14705] +[group_14706] +[group_14707] +[group_14708] +[group_14709] +[group_14710] +[group_14711] +[group_14712] +[group_14713] +[group_14714] +[group_14715] +[group_14716] +[group_14717] +[group_14718] +[group_14719] +[group_14720] +[group_14721] +[group_14722] +[group_14723] +[group_14724] +[group_14725] +[group_14726] +[group_14727] +[group_14728] +[group_14729] +[group_14730] +[group_14731] +[group_14732] +[group_14733] +[group_14734] +[group_14735] +[group_14736] +[group_14737] +[group_14738] +[group_14739] +[group_14740] +[group_14741] +[group_14742] +[group_14743] +[group_14744] +[group_14745] +[group_14746] +[group_14747] +[group_14748] +[group_14749] +[group_14750] +[group_14751] +[group_14752] +[group_14753] +[group_14754] +[group_14755] +[group_14756] +[group_14757] +[group_14758] +[group_14759] +[group_14760] +[group_14761] +[group_14762] +[group_14763] +[group_14764] +[group_14765] +[group_14766] +[group_14767] +[group_14768] +[group_14769] +[group_14770] +[group_14771] +[group_14772] +[group_14773] +[group_14774] +[group_14775] +[group_14776] +[group_14777] +[group_14778] +[group_14779] +[group_14780] +[group_14781] +[group_14782] +[group_14783] +[group_14784] +[group_14785] +[group_14786] +[group_14787] +[group_14788] +[group_14789] +[group_14790] +[group_14791] +[group_14792] +[group_14793] +[group_14794] +[group_14795] +[group_14796] +[group_14797] +[group_14798] +[group_14799] +[group_14800] +[group_14801] +[group_14802] +[group_14803] +[group_14804] +[group_14805] +[group_14806] +[group_14807] +[group_14808] +[group_14809] +[group_14810] +[group_14811] +[group_14812] +[group_14813] +[group_14814] +[group_14815] +[group_14816] +[group_14817] +[group_14818] +[group_14819] +[group_14820] +[group_14821] +[group_14822] +[group_14823] +[group_14824] +[group_14825] +[group_14826] +[group_14827] +[group_14828] +[group_14829] +[group_14830] +[group_14831] +[group_14832] +[group_14833] +[group_14834] +[group_14835] +[group_14836] +[group_14837] +[group_14838] +[group_14839] +[group_14840] +[group_14841] +[group_14842] +[group_14843] +[group_14844] +[group_14845] +[group_14846] +[group_14847] +[group_14848] +[group_14849] +[group_14850] +[group_14851] +[group_14852] +[group_14853] +[group_14854] +[group_14855] +[group_14856] +[group_14857] +[group_14858] +[group_14859] +[group_14860] +[group_14861] +[group_14862] +[group_14863] +[group_14864] +[group_14865] +[group_14866] +[group_14867] +[group_14868] +[group_14869] +[group_14870] +[group_14871] +[group_14872] +[group_14873] +[group_14874] +[group_14875] +[group_14876] +[group_14877] +[group_14878] +[group_14879] +[group_14880] +[group_14881] +[group_14882] +[group_14883] +[group_14884] +[group_14885] +[group_14886] +[group_14887] +[group_14888] +[group_14889] +[group_14890] +[group_14891] +[group_14892] +[group_14893] +[group_14894] +[group_14895] +[group_14896] +[group_14897] +[group_14898] +[group_14899] +[group_14900] +[group_14901] +[group_14902] +[group_14903] +[group_14904] +[group_14905] +[group_14906] +[group_14907] +[group_14908] +[group_14909] +[group_14910] +[group_14911] +[group_14912] +[group_14913] +[group_14914] +[group_14915] +[group_14916] +[group_14917] +[group_14918] +[group_14919] +[group_14920] +[group_14921] +[group_14922] +[group_14923] +[group_14924] +[group_14925] +[group_14926] +[group_14927] +[group_14928] +[group_14929] +[group_14930] +[group_14931] +[group_14932] +[group_14933] +[group_14934] +[group_14935] +[group_14936] +[group_14937] +[group_14938] +[group_14939] +[group_14940] +[group_14941] +[group_14942] +[group_14943] +[group_14944] +[group_14945] +[group_14946] +[group_14947] +[group_14948] +[group_14949] +[group_14950] +[group_14951] +[group_14952] +[group_14953] +[group_14954] +[group_14955] +[group_14956] +[group_14957] +[group_14958] +[group_14959] +[group_14960] +[group_14961] +[group_14962] +[group_14963] +[group_14964] +[group_14965] +[group_14966] +[group_14967] +[group_14968] +[group_14969] +[group_14970] +[group_14971] +[group_14972] +[group_14973] +[group_14974] +[group_14975] +[group_14976] +[group_14977] +[group_14978] +[group_14979] +[group_14980] +[group_14981] +[group_14982] +[group_14983] +[group_14984] +[group_14985] +[group_14986] +[group_14987] +[group_14988] +[group_14989] +[group_14990] +[group_14991] +[group_14992] +[group_14993] +[group_14994] +[group_14995] +[group_14996] +[group_14997] +[group_14998] +[group_14999] +[group_15000] +[group_15001] +[group_15002] +[group_15003] +[group_15004] +[group_15005] +[group_15006] +[group_15007] +[group_15008] +[group_15009] +[group_15010] +[group_15011] +[group_15012] +[group_15013] +[group_15014] +[group_15015] +[group_15016] +[group_15017] +[group_15018] +[group_15019] +[group_15020] +[group_15021] +[group_15022] +[group_15023] +[group_15024] +[group_15025] +[group_15026] +[group_15027] +[group_15028] +[group_15029] +[group_15030] +[group_15031] +[group_15032] +[group_15033] +[group_15034] +[group_15035] +[group_15036] +[group_15037] +[group_15038] +[group_15039] +[group_15040] +[group_15041] +[group_15042] +[group_15043] +[group_15044] +[group_15045] +[group_15046] +[group_15047] +[group_15048] +[group_15049] +[group_15050] +[group_15051] +[group_15052] +[group_15053] +[group_15054] +[group_15055] +[group_15056] +[group_15057] +[group_15058] +[group_15059] +[group_15060] +[group_15061] +[group_15062] +[group_15063] +[group_15064] +[group_15065] +[group_15066] +[group_15067] +[group_15068] +[group_15069] +[group_15070] +[group_15071] +[group_15072] +[group_15073] +[group_15074] +[group_15075] +[group_15076] +[group_15077] +[group_15078] +[group_15079] +[group_15080] +[group_15081] +[group_15082] +[group_15083] +[group_15084] +[group_15085] +[group_15086] +[group_15087] +[group_15088] +[group_15089] +[group_15090] +[group_15091] +[group_15092] +[group_15093] +[group_15094] +[group_15095] +[group_15096] +[group_15097] +[group_15098] +[group_15099] +[group_15100] +[group_15101] +[group_15102] +[group_15103] +[group_15104] +[group_15105] +[group_15106] +[group_15107] +[group_15108] +[group_15109] +[group_15110] +[group_15111] +[group_15112] +[group_15113] +[group_15114] +[group_15115] +[group_15116] +[group_15117] +[group_15118] +[group_15119] +[group_15120] +[group_15121] +[group_15122] +[group_15123] +[group_15124] +[group_15125] +[group_15126] +[group_15127] +[group_15128] +[group_15129] +[group_15130] +[group_15131] +[group_15132] +[group_15133] +[group_15134] +[group_15135] +[group_15136] +[group_15137] +[group_15138] +[group_15139] +[group_15140] +[group_15141] +[group_15142] +[group_15143] +[group_15144] +[group_15145] +[group_15146] +[group_15147] +[group_15148] +[group_15149] +[group_15150] +[group_15151] +[group_15152] +[group_15153] +[group_15154] +[group_15155] +[group_15156] +[group_15157] +[group_15158] +[group_15159] +[group_15160] +[group_15161] +[group_15162] +[group_15163] +[group_15164] +[group_15165] +[group_15166] +[group_15167] +[group_15168] +[group_15169] +[group_15170] +[group_15171] +[group_15172] +[group_15173] +[group_15174] +[group_15175] +[group_15176] +[group_15177] +[group_15178] +[group_15179] +[group_15180] +[group_15181] +[group_15182] +[group_15183] +[group_15184] +[group_15185] +[group_15186] +[group_15187] +[group_15188] +[group_15189] +[group_15190] +[group_15191] +[group_15192] +[group_15193] +[group_15194] +[group_15195] +[group_15196] +[group_15197] +[group_15198] +[group_15199] +[group_15200] +[group_15201] +[group_15202] +[group_15203] +[group_15204] +[group_15205] +[group_15206] +[group_15207] +[group_15208] +[group_15209] +[group_15210] +[group_15211] +[group_15212] +[group_15213] +[group_15214] +[group_15215] +[group_15216] +[group_15217] +[group_15218] +[group_15219] +[group_15220] +[group_15221] +[group_15222] +[group_15223] +[group_15224] +[group_15225] +[group_15226] +[group_15227] +[group_15228] +[group_15229] +[group_15230] +[group_15231] +[group_15232] +[group_15233] +[group_15234] +[group_15235] +[group_15236] +[group_15237] +[group_15238] +[group_15239] +[group_15240] +[group_15241] +[group_15242] +[group_15243] +[group_15244] +[group_15245] +[group_15246] +[group_15247] +[group_15248] +[group_15249] +[group_15250] +[group_15251] +[group_15252] +[group_15253] +[group_15254] +[group_15255] +[group_15256] +[group_15257] +[group_15258] +[group_15259] +[group_15260] +[group_15261] +[group_15262] +[group_15263] +[group_15264] +[group_15265] +[group_15266] +[group_15267] +[group_15268] +[group_15269] +[group_15270] +[group_15271] +[group_15272] +[group_15273] +[group_15274] +[group_15275] +[group_15276] +[group_15277] +[group_15278] +[group_15279] +[group_15280] +[group_15281] +[group_15282] +[group_15283] +[group_15284] +[group_15285] +[group_15286] +[group_15287] +[group_15288] +[group_15289] +[group_15290] +[group_15291] +[group_15292] +[group_15293] +[group_15294] +[group_15295] +[group_15296] +[group_15297] +[group_15298] +[group_15299] +[group_15300] +[group_15301] +[group_15302] +[group_15303] +[group_15304] +[group_15305] +[group_15306] +[group_15307] +[group_15308] +[group_15309] +[group_15310] +[group_15311] +[group_15312] +[group_15313] +[group_15314] +[group_15315] +[group_15316] +[group_15317] +[group_15318] +[group_15319] +[group_15320] +[group_15321] +[group_15322] +[group_15323] +[group_15324] +[group_15325] +[group_15326] +[group_15327] +[group_15328] +[group_15329] +[group_15330] +[group_15331] +[group_15332] +[group_15333] +[group_15334] +[group_15335] +[group_15336] +[group_15337] +[group_15338] +[group_15339] +[group_15340] +[group_15341] +[group_15342] +[group_15343] +[group_15344] +[group_15345] +[group_15346] +[group_15347] +[group_15348] +[group_15349] +[group_15350] +[group_15351] +[group_15352] +[group_15353] +[group_15354] +[group_15355] +[group_15356] +[group_15357] +[group_15358] +[group_15359] +[group_15360] +[group_15361] +[group_15362] +[group_15363] +[group_15364] +[group_15365] +[group_15366] +[group_15367] +[group_15368] +[group_15369] +[group_15370] +[group_15371] +[group_15372] +[group_15373] +[group_15374] +[group_15375] +[group_15376] +[group_15377] +[group_15378] +[group_15379] +[group_15380] +[group_15381] +[group_15382] +[group_15383] +[group_15384] +[group_15385] +[group_15386] +[group_15387] +[group_15388] +[group_15389] +[group_15390] +[group_15391] +[group_15392] +[group_15393] +[group_15394] +[group_15395] +[group_15396] +[group_15397] +[group_15398] +[group_15399] +[group_15400] +[group_15401] +[group_15402] +[group_15403] +[group_15404] +[group_15405] +[group_15406] +[group_15407] +[group_15408] +[group_15409] +[group_15410] +[group_15411] +[group_15412] +[group_15413] +[group_15414] +[group_15415] +[group_15416] +[group_15417] +[group_15418] +[group_15419] +[group_15420] +[group_15421] +[group_15422] +[group_15423] +[group_15424] +[group_15425] +[group_15426] +[group_15427] +[group_15428] +[group_15429] +[group_15430] +[group_15431] +[group_15432] +[group_15433] +[group_15434] +[group_15435] +[group_15436] +[group_15437] +[group_15438] +[group_15439] +[group_15440] +[group_15441] +[group_15442] +[group_15443] +[group_15444] +[group_15445] +[group_15446] +[group_15447] +[group_15448] +[group_15449] +[group_15450] +[group_15451] +[group_15452] +[group_15453] +[group_15454] +[group_15455] +[group_15456] +[group_15457] +[group_15458] +[group_15459] +[group_15460] +[group_15461] +[group_15462] +[group_15463] +[group_15464] +[group_15465] +[group_15466] +[group_15467] +[group_15468] +[group_15469] +[group_15470] +[group_15471] +[group_15472] +[group_15473] +[group_15474] +[group_15475] +[group_15476] +[group_15477] +[group_15478] +[group_15479] +[group_15480] +[group_15481] +[group_15482] +[group_15483] +[group_15484] +[group_15485] +[group_15486] +[group_15487] +[group_15488] +[group_15489] +[group_15490] +[group_15491] +[group_15492] +[group_15493] +[group_15494] +[group_15495] +[group_15496] +[group_15497] +[group_15498] +[group_15499] +[group_15500] +[group_15501] +[group_15502] +[group_15503] +[group_15504] +[group_15505] +[group_15506] +[group_15507] +[group_15508] +[group_15509] +[group_15510] +[group_15511] +[group_15512] +[group_15513] +[group_15514] +[group_15515] +[group_15516] +[group_15517] +[group_15518] +[group_15519] +[group_15520] +[group_15521] +[group_15522] +[group_15523] +[group_15524] +[group_15525] +[group_15526] +[group_15527] +[group_15528] +[group_15529] +[group_15530] +[group_15531] +[group_15532] +[group_15533] +[group_15534] +[group_15535] +[group_15536] +[group_15537] +[group_15538] +[group_15539] +[group_15540] +[group_15541] +[group_15542] +[group_15543] +[group_15544] +[group_15545] +[group_15546] +[group_15547] +[group_15548] +[group_15549] +[group_15550] +[group_15551] +[group_15552] +[group_15553] +[group_15554] +[group_15555] +[group_15556] +[group_15557] +[group_15558] +[group_15559] +[group_15560] +[group_15561] +[group_15562] +[group_15563] +[group_15564] +[group_15565] +[group_15566] +[group_15567] +[group_15568] +[group_15569] +[group_15570] +[group_15571] +[group_15572] +[group_15573] +[group_15574] +[group_15575] +[group_15576] +[group_15577] +[group_15578] +[group_15579] +[group_15580] +[group_15581] +[group_15582] +[group_15583] +[group_15584] +[group_15585] +[group_15586] +[group_15587] +[group_15588] +[group_15589] +[group_15590] +[group_15591] +[group_15592] +[group_15593] +[group_15594] +[group_15595] +[group_15596] +[group_15597] +[group_15598] +[group_15599] +[group_15600] +[group_15601] +[group_15602] +[group_15603] +[group_15604] +[group_15605] +[group_15606] +[group_15607] +[group_15608] +[group_15609] +[group_15610] +[group_15611] +[group_15612] +[group_15613] +[group_15614] +[group_15615] +[group_15616] +[group_15617] +[group_15618] +[group_15619] +[group_15620] +[group_15621] +[group_15622] +[group_15623] +[group_15624] +[group_15625] +[group_15626] +[group_15627] +[group_15628] +[group_15629] +[group_15630] +[group_15631] +[group_15632] +[group_15633] +[group_15634] +[group_15635] +[group_15636] +[group_15637] +[group_15638] +[group_15639] +[group_15640] +[group_15641] +[group_15642] +[group_15643] +[group_15644] +[group_15645] +[group_15646] +[group_15647] +[group_15648] +[group_15649] +[group_15650] +[group_15651] +[group_15652] +[group_15653] +[group_15654] +[group_15655] +[group_15656] +[group_15657] +[group_15658] +[group_15659] +[group_15660] +[group_15661] +[group_15662] +[group_15663] +[group_15664] +[group_15665] +[group_15666] +[group_15667] +[group_15668] +[group_15669] +[group_15670] +[group_15671] +[group_15672] +[group_15673] +[group_15674] +[group_15675] +[group_15676] +[group_15677] +[group_15678] +[group_15679] +[group_15680] +[group_15681] +[group_15682] +[group_15683] +[group_15684] +[group_15685] +[group_15686] +[group_15687] +[group_15688] +[group_15689] +[group_15690] +[group_15691] +[group_15692] +[group_15693] +[group_15694] +[group_15695] +[group_15696] +[group_15697] +[group_15698] +[group_15699] +[group_15700] +[group_15701] +[group_15702] +[group_15703] +[group_15704] +[group_15705] +[group_15706] +[group_15707] +[group_15708] +[group_15709] +[group_15710] +[group_15711] +[group_15712] +[group_15713] +[group_15714] +[group_15715] +[group_15716] +[group_15717] +[group_15718] +[group_15719] +[group_15720] +[group_15721] +[group_15722] +[group_15723] +[group_15724] +[group_15725] +[group_15726] +[group_15727] +[group_15728] +[group_15729] +[group_15730] +[group_15731] +[group_15732] +[group_15733] +[group_15734] +[group_15735] +[group_15736] +[group_15737] +[group_15738] +[group_15739] +[group_15740] +[group_15741] +[group_15742] +[group_15743] +[group_15744] +[group_15745] +[group_15746] +[group_15747] +[group_15748] +[group_15749] +[group_15750] +[group_15751] +[group_15752] +[group_15753] +[group_15754] +[group_15755] +[group_15756] +[group_15757] +[group_15758] +[group_15759] +[group_15760] +[group_15761] +[group_15762] +[group_15763] +[group_15764] +[group_15765] +[group_15766] +[group_15767] +[group_15768] +[group_15769] +[group_15770] +[group_15771] +[group_15772] +[group_15773] +[group_15774] +[group_15775] +[group_15776] +[group_15777] +[group_15778] +[group_15779] +[group_15780] +[group_15781] +[group_15782] +[group_15783] +[group_15784] +[group_15785] +[group_15786] +[group_15787] +[group_15788] +[group_15789] +[group_15790] +[group_15791] +[group_15792] +[group_15793] +[group_15794] +[group_15795] +[group_15796] +[group_15797] +[group_15798] +[group_15799] +[group_15800] +[group_15801] +[group_15802] +[group_15803] +[group_15804] +[group_15805] +[group_15806] +[group_15807] +[group_15808] +[group_15809] +[group_15810] +[group_15811] +[group_15812] +[group_15813] +[group_15814] +[group_15815] +[group_15816] +[group_15817] +[group_15818] +[group_15819] +[group_15820] +[group_15821] +[group_15822] +[group_15823] +[group_15824] +[group_15825] +[group_15826] +[group_15827] +[group_15828] +[group_15829] +[group_15830] +[group_15831] +[group_15832] +[group_15833] +[group_15834] +[group_15835] +[group_15836] +[group_15837] +[group_15838] +[group_15839] +[group_15840] +[group_15841] +[group_15842] +[group_15843] +[group_15844] +[group_15845] +[group_15846] +[group_15847] +[group_15848] +[group_15849] +[group_15850] +[group_15851] +[group_15852] +[group_15853] +[group_15854] +[group_15855] +[group_15856] +[group_15857] +[group_15858] +[group_15859] +[group_15860] +[group_15861] +[group_15862] +[group_15863] +[group_15864] +[group_15865] +[group_15866] +[group_15867] +[group_15868] +[group_15869] +[group_15870] +[group_15871] +[group_15872] +[group_15873] +[group_15874] +[group_15875] +[group_15876] +[group_15877] +[group_15878] +[group_15879] +[group_15880] +[group_15881] +[group_15882] +[group_15883] +[group_15884] +[group_15885] +[group_15886] +[group_15887] +[group_15888] +[group_15889] +[group_15890] +[group_15891] +[group_15892] +[group_15893] +[group_15894] +[group_15895] +[group_15896] +[group_15897] +[group_15898] +[group_15899] +[group_15900] +[group_15901] +[group_15902] +[group_15903] +[group_15904] +[group_15905] +[group_15906] +[group_15907] +[group_15908] +[group_15909] +[group_15910] +[group_15911] +[group_15912] +[group_15913] +[group_15914] +[group_15915] +[group_15916] +[group_15917] +[group_15918] +[group_15919] +[group_15920] +[group_15921] +[group_15922] +[group_15923] +[group_15924] +[group_15925] +[group_15926] +[group_15927] +[group_15928] +[group_15929] +[group_15930] +[group_15931] +[group_15932] +[group_15933] +[group_15934] +[group_15935] +[group_15936] +[group_15937] +[group_15938] +[group_15939] +[group_15940] +[group_15941] +[group_15942] +[group_15943] +[group_15944] +[group_15945] +[group_15946] +[group_15947] +[group_15948] +[group_15949] +[group_15950] +[group_15951] +[group_15952] +[group_15953] +[group_15954] +[group_15955] +[group_15956] +[group_15957] +[group_15958] +[group_15959] +[group_15960] +[group_15961] +[group_15962] +[group_15963] +[group_15964] +[group_15965] +[group_15966] +[group_15967] +[group_15968] +[group_15969] +[group_15970] +[group_15971] +[group_15972] +[group_15973] +[group_15974] +[group_15975] +[group_15976] +[group_15977] +[group_15978] +[group_15979] +[group_15980] +[group_15981] +[group_15982] +[group_15983] +[group_15984] +[group_15985] +[group_15986] +[group_15987] +[group_15988] +[group_15989] +[group_15990] +[group_15991] +[group_15992] +[group_15993] +[group_15994] +[group_15995] +[group_15996] +[group_15997] +[group_15998] +[group_15999] +[group_16000] +[group_16001] +[group_16002] +[group_16003] +[group_16004] +[group_16005] +[group_16006] +[group_16007] +[group_16008] +[group_16009] +[group_16010] +[group_16011] +[group_16012] +[group_16013] +[group_16014] +[group_16015] +[group_16016] +[group_16017] +[group_16018] +[group_16019] +[group_16020] +[group_16021] +[group_16022] +[group_16023] +[group_16024] +[group_16025] +[group_16026] +[group_16027] +[group_16028] +[group_16029] +[group_16030] +[group_16031] +[group_16032] +[group_16033] +[group_16034] +[group_16035] +[group_16036] +[group_16037] +[group_16038] +[group_16039] +[group_16040] +[group_16041] +[group_16042] +[group_16043] +[group_16044] +[group_16045] +[group_16046] +[group_16047] +[group_16048] +[group_16049] +[group_16050] +[group_16051] +[group_16052] +[group_16053] +[group_16054] +[group_16055] +[group_16056] +[group_16057] +[group_16058] +[group_16059] +[group_16060] +[group_16061] +[group_16062] +[group_16063] +[group_16064] +[group_16065] +[group_16066] +[group_16067] +[group_16068] +[group_16069] +[group_16070] +[group_16071] +[group_16072] +[group_16073] +[group_16074] +[group_16075] +[group_16076] +[group_16077] +[group_16078] +[group_16079] +[group_16080] +[group_16081] +[group_16082] +[group_16083] +[group_16084] +[group_16085] +[group_16086] +[group_16087] +[group_16088] +[group_16089] +[group_16090] +[group_16091] +[group_16092] +[group_16093] +[group_16094] +[group_16095] +[group_16096] +[group_16097] +[group_16098] +[group_16099] +[group_16100] +[group_16101] +[group_16102] +[group_16103] +[group_16104] +[group_16105] +[group_16106] +[group_16107] +[group_16108] +[group_16109] +[group_16110] +[group_16111] +[group_16112] +[group_16113] +[group_16114] +[group_16115] +[group_16116] +[group_16117] +[group_16118] +[group_16119] +[group_16120] +[group_16121] +[group_16122] +[group_16123] +[group_16124] +[group_16125] +[group_16126] +[group_16127] +[group_16128] +[group_16129] +[group_16130] +[group_16131] +[group_16132] +[group_16133] +[group_16134] +[group_16135] +[group_16136] +[group_16137] +[group_16138] +[group_16139] +[group_16140] +[group_16141] +[group_16142] +[group_16143] +[group_16144] +[group_16145] +[group_16146] +[group_16147] +[group_16148] +[group_16149] +[group_16150] +[group_16151] +[group_16152] +[group_16153] +[group_16154] +[group_16155] +[group_16156] +[group_16157] +[group_16158] +[group_16159] +[group_16160] +[group_16161] +[group_16162] +[group_16163] +[group_16164] +[group_16165] +[group_16166] +[group_16167] +[group_16168] +[group_16169] +[group_16170] +[group_16171] +[group_16172] +[group_16173] +[group_16174] +[group_16175] +[group_16176] +[group_16177] +[group_16178] +[group_16179] +[group_16180] +[group_16181] +[group_16182] +[group_16183] +[group_16184] +[group_16185] +[group_16186] +[group_16187] +[group_16188] +[group_16189] +[group_16190] +[group_16191] +[group_16192] +[group_16193] +[group_16194] +[group_16195] +[group_16196] +[group_16197] +[group_16198] +[group_16199] +[group_16200] +[group_16201] +[group_16202] +[group_16203] +[group_16204] +[group_16205] +[group_16206] +[group_16207] +[group_16208] +[group_16209] +[group_16210] +[group_16211] +[group_16212] +[group_16213] +[group_16214] +[group_16215] +[group_16216] +[group_16217] +[group_16218] +[group_16219] +[group_16220] +[group_16221] +[group_16222] +[group_16223] +[group_16224] +[group_16225] +[group_16226] +[group_16227] +[group_16228] +[group_16229] +[group_16230] +[group_16231] +[group_16232] +[group_16233] +[group_16234] +[group_16235] +[group_16236] +[group_16237] +[group_16238] +[group_16239] +[group_16240] +[group_16241] +[group_16242] +[group_16243] +[group_16244] +[group_16245] +[group_16246] +[group_16247] +[group_16248] +[group_16249] +[group_16250] +[group_16251] +[group_16252] +[group_16253] +[group_16254] +[group_16255] +[group_16256] +[group_16257] +[group_16258] +[group_16259] +[group_16260] +[group_16261] +[group_16262] +[group_16263] +[group_16264] +[group_16265] +[group_16266] +[group_16267] +[group_16268] +[group_16269] +[group_16270] +[group_16271] +[group_16272] +[group_16273] +[group_16274] +[group_16275] +[group_16276] +[group_16277] +[group_16278] +[group_16279] +[group_16280] +[group_16281] +[group_16282] +[group_16283] +[group_16284] +[group_16285] +[group_16286] +[group_16287] +[group_16288] +[group_16289] +[group_16290] +[group_16291] +[group_16292] +[group_16293] +[group_16294] +[group_16295] +[group_16296] +[group_16297] +[group_16298] +[group_16299] +[group_16300] +[group_16301] +[group_16302] +[group_16303] +[group_16304] +[group_16305] +[group_16306] +[group_16307] +[group_16308] +[group_16309] +[group_16310] +[group_16311] +[group_16312] +[group_16313] +[group_16314] +[group_16315] +[group_16316] +[group_16317] +[group_16318] +[group_16319] +[group_16320] +[group_16321] +[group_16322] +[group_16323] +[group_16324] +[group_16325] +[group_16326] +[group_16327] +[group_16328] +[group_16329] +[group_16330] +[group_16331] +[group_16332] +[group_16333] +[group_16334] +[group_16335] +[group_16336] +[group_16337] +[group_16338] +[group_16339] +[group_16340] +[group_16341] +[group_16342] +[group_16343] +[group_16344] +[group_16345] +[group_16346] +[group_16347] +[group_16348] +[group_16349] +[group_16350] +[group_16351] +[group_16352] +[group_16353] +[group_16354] +[group_16355] +[group_16356] +[group_16357] +[group_16358] +[group_16359] +[group_16360] +[group_16361] +[group_16362] +[group_16363] +[group_16364] +[group_16365] +[group_16366] +[group_16367] +[group_16368] +[group_16369] +[group_16370] +[group_16371] +[group_16372] +[group_16373] +[group_16374] +[group_16375] +[group_16376] +[group_16377] +[group_16378] +[group_16379] +[group_16380] +[group_16381] +[group_16382] +[group_16383] +[group_16384] +[group_16385] +[group_16386] +[group_16387] +[group_16388] +[group_16389] +[group_16390] +[group_16391] +[group_16392] +[group_16393] +[group_16394] +[group_16395] +[group_16396] +[group_16397] +[group_16398] +[group_16399] +[group_16400] +[group_16401] +[group_16402] +[group_16403] +[group_16404] +[group_16405] +[group_16406] +[group_16407] +[group_16408] +[group_16409] +[group_16410] +[group_16411] +[group_16412] +[group_16413] +[group_16414] +[group_16415] +[group_16416] +[group_16417] +[group_16418] +[group_16419] +[group_16420] +[group_16421] +[group_16422] +[group_16423] +[group_16424] +[group_16425] +[group_16426] +[group_16427] +[group_16428] +[group_16429] +[group_16430] +[group_16431] +[group_16432] +[group_16433] +[group_16434] +[group_16435] +[group_16436] +[group_16437] +[group_16438] +[group_16439] +[group_16440] +[group_16441] +[group_16442] +[group_16443] +[group_16444] +[group_16445] +[group_16446] +[group_16447] +[group_16448] +[group_16449] +[group_16450] +[group_16451] +[group_16452] +[group_16453] +[group_16454] +[group_16455] +[group_16456] +[group_16457] +[group_16458] +[group_16459] +[group_16460] +[group_16461] +[group_16462] +[group_16463] +[group_16464] +[group_16465] +[group_16466] +[group_16467] +[group_16468] +[group_16469] +[group_16470] +[group_16471] +[group_16472] +[group_16473] +[group_16474] +[group_16475] +[group_16476] +[group_16477] +[group_16478] +[group_16479] +[group_16480] +[group_16481] +[group_16482] +[group_16483] +[group_16484] +[group_16485] +[group_16486] +[group_16487] +[group_16488] +[group_16489] +[group_16490] +[group_16491] +[group_16492] +[group_16493] +[group_16494] +[group_16495] +[group_16496] +[group_16497] +[group_16498] +[group_16499] +[group_16500] +[group_16501] +[group_16502] +[group_16503] +[group_16504] +[group_16505] +[group_16506] +[group_16507] +[group_16508] +[group_16509] +[group_16510] +[group_16511] +[group_16512] +[group_16513] +[group_16514] +[group_16515] +[group_16516] +[group_16517] +[group_16518] +[group_16519] +[group_16520] +[group_16521] +[group_16522] +[group_16523] +[group_16524] +[group_16525] +[group_16526] +[group_16527] +[group_16528] +[group_16529] +[group_16530] +[group_16531] +[group_16532] +[group_16533] +[group_16534] +[group_16535] +[group_16536] +[group_16537] +[group_16538] +[group_16539] +[group_16540] +[group_16541] +[group_16542] +[group_16543] +[group_16544] +[group_16545] +[group_16546] +[group_16547] +[group_16548] +[group_16549] +[group_16550] +[group_16551] +[group_16552] +[group_16553] +[group_16554] +[group_16555] +[group_16556] +[group_16557] +[group_16558] +[group_16559] +[group_16560] +[group_16561] +[group_16562] +[group_16563] +[group_16564] +[group_16565] +[group_16566] +[group_16567] +[group_16568] +[group_16569] +[group_16570] +[group_16571] +[group_16572] +[group_16573] +[group_16574] +[group_16575] +[group_16576] +[group_16577] +[group_16578] +[group_16579] +[group_16580] +[group_16581] +[group_16582] +[group_16583] +[group_16584] +[group_16585] +[group_16586] +[group_16587] +[group_16588] +[group_16589] +[group_16590] +[group_16591] +[group_16592] +[group_16593] +[group_16594] +[group_16595] +[group_16596] +[group_16597] +[group_16598] +[group_16599] +[group_16600] +[group_16601] +[group_16602] +[group_16603] +[group_16604] +[group_16605] +[group_16606] +[group_16607] +[group_16608] +[group_16609] +[group_16610] +[group_16611] +[group_16612] +[group_16613] +[group_16614] +[group_16615] +[group_16616] +[group_16617] +[group_16618] +[group_16619] +[group_16620] +[group_16621] +[group_16622] +[group_16623] +[group_16624] +[group_16625] +[group_16626] +[group_16627] +[group_16628] +[group_16629] +[group_16630] +[group_16631] +[group_16632] +[group_16633] +[group_16634] +[group_16635] +[group_16636] +[group_16637] +[group_16638] +[group_16639] +[group_16640] +[group_16641] +[group_16642] +[group_16643] +[group_16644] +[group_16645] +[group_16646] +[group_16647] +[group_16648] +[group_16649] +[group_16650] +[group_16651] +[group_16652] +[group_16653] +[group_16654] +[group_16655] +[group_16656] +[group_16657] +[group_16658] +[group_16659] +[group_16660] +[group_16661] +[group_16662] +[group_16663] +[group_16664] +[group_16665] +[group_16666] +[group_16667] +[group_16668] +[group_16669] +[group_16670] +[group_16671] +[group_16672] +[group_16673] +[group_16674] +[group_16675] +[group_16676] +[group_16677] +[group_16678] +[group_16679] +[group_16680] +[group_16681] +[group_16682] +[group_16683] +[group_16684] +[group_16685] +[group_16686] +[group_16687] +[group_16688] +[group_16689] +[group_16690] +[group_16691] +[group_16692] +[group_16693] +[group_16694] +[group_16695] +[group_16696] +[group_16697] +[group_16698] +[group_16699] +[group_16700] +[group_16701] +[group_16702] +[group_16703] +[group_16704] +[group_16705] +[group_16706] +[group_16707] +[group_16708] +[group_16709] +[group_16710] +[group_16711] +[group_16712] +[group_16713] +[group_16714] +[group_16715] +[group_16716] +[group_16717] +[group_16718] +[group_16719] +[group_16720] +[group_16721] +[group_16722] +[group_16723] +[group_16724] +[group_16725] +[group_16726] +[group_16727] +[group_16728] +[group_16729] +[group_16730] +[group_16731] +[group_16732] +[group_16733] +[group_16734] +[group_16735] +[group_16736] +[group_16737] +[group_16738] +[group_16739] +[group_16740] +[group_16741] +[group_16742] +[group_16743] +[group_16744] +[group_16745] +[group_16746] +[group_16747] +[group_16748] +[group_16749] +[group_16750] +[group_16751] +[group_16752] +[group_16753] +[group_16754] +[group_16755] +[group_16756] +[group_16757] +[group_16758] +[group_16759] +[group_16760] +[group_16761] +[group_16762] +[group_16763] +[group_16764] +[group_16765] +[group_16766] +[group_16767] +[group_16768] +[group_16769] +[group_16770] +[group_16771] +[group_16772] +[group_16773] +[group_16774] +[group_16775] +[group_16776] +[group_16777] +[group_16778] +[group_16779] +[group_16780] +[group_16781] +[group_16782] +[group_16783] +[group_16784] +[group_16785] +[group_16786] +[group_16787] +[group_16788] +[group_16789] +[group_16790] +[group_16791] +[group_16792] +[group_16793] +[group_16794] +[group_16795] +[group_16796] +[group_16797] +[group_16798] +[group_16799] +[group_16800] +[group_16801] +[group_16802] +[group_16803] +[group_16804] +[group_16805] +[group_16806] +[group_16807] +[group_16808] +[group_16809] +[group_16810] +[group_16811] +[group_16812] +[group_16813] +[group_16814] +[group_16815] +[group_16816] +[group_16817] +[group_16818] +[group_16819] +[group_16820] +[group_16821] +[group_16822] +[group_16823] +[group_16824] +[group_16825] +[group_16826] +[group_16827] +[group_16828] +[group_16829] +[group_16830] +[group_16831] +[group_16832] +[group_16833] +[group_16834] +[group_16835] +[group_16836] +[group_16837] +[group_16838] +[group_16839] +[group_16840] +[group_16841] +[group_16842] +[group_16843] +[group_16844] +[group_16845] +[group_16846] +[group_16847] +[group_16848] +[group_16849] +[group_16850] +[group_16851] +[group_16852] +[group_16853] +[group_16854] +[group_16855] +[group_16856] +[group_16857] +[group_16858] +[group_16859] +[group_16860] +[group_16861] +[group_16862] +[group_16863] +[group_16864] +[group_16865] +[group_16866] +[group_16867] +[group_16868] +[group_16869] +[group_16870] +[group_16871] +[group_16872] +[group_16873] +[group_16874] +[group_16875] +[group_16876] +[group_16877] +[group_16878] +[group_16879] +[group_16880] +[group_16881] +[group_16882] +[group_16883] +[group_16884] +[group_16885] +[group_16886] +[group_16887] +[group_16888] +[group_16889] +[group_16890] +[group_16891] +[group_16892] +[group_16893] +[group_16894] +[group_16895] +[group_16896] +[group_16897] +[group_16898] +[group_16899] +[group_16900] +[group_16901] +[group_16902] +[group_16903] +[group_16904] +[group_16905] +[group_16906] +[group_16907] +[group_16908] +[group_16909] +[group_16910] +[group_16911] +[group_16912] +[group_16913] +[group_16914] +[group_16915] +[group_16916] +[group_16917] +[group_16918] +[group_16919] +[group_16920] +[group_16921] +[group_16922] +[group_16923] +[group_16924] +[group_16925] +[group_16926] +[group_16927] +[group_16928] +[group_16929] +[group_16930] +[group_16931] +[group_16932] +[group_16933] +[group_16934] +[group_16935] +[group_16936] +[group_16937] +[group_16938] +[group_16939] +[group_16940] +[group_16941] +[group_16942] +[group_16943] +[group_16944] +[group_16945] +[group_16946] +[group_16947] +[group_16948] +[group_16949] +[group_16950] +[group_16951] +[group_16952] +[group_16953] +[group_16954] +[group_16955] +[group_16956] +[group_16957] +[group_16958] +[group_16959] +[group_16960] +[group_16961] +[group_16962] +[group_16963] +[group_16964] +[group_16965] +[group_16966] +[group_16967] +[group_16968] +[group_16969] +[group_16970] +[group_16971] +[group_16972] +[group_16973] +[group_16974] +[group_16975] +[group_16976] +[group_16977] +[group_16978] +[group_16979] +[group_16980] +[group_16981] +[group_16982] +[group_16983] +[group_16984] +[group_16985] +[group_16986] +[group_16987] +[group_16988] +[group_16989] +[group_16990] +[group_16991] +[group_16992] +[group_16993] +[group_16994] +[group_16995] +[group_16996] +[group_16997] +[group_16998] +[group_16999] +[group_17000] +[group_17001] +[group_17002] +[group_17003] +[group_17004] +[group_17005] +[group_17006] +[group_17007] +[group_17008] +[group_17009] +[group_17010] +[group_17011] +[group_17012] +[group_17013] +[group_17014] +[group_17015] +[group_17016] +[group_17017] +[group_17018] +[group_17019] +[group_17020] +[group_17021] +[group_17022] +[group_17023] +[group_17024] +[group_17025] +[group_17026] +[group_17027] +[group_17028] +[group_17029] +[group_17030] +[group_17031] +[group_17032] +[group_17033] +[group_17034] +[group_17035] +[group_17036] +[group_17037] +[group_17038] +[group_17039] +[group_17040] +[group_17041] +[group_17042] +[group_17043] +[group_17044] +[group_17045] +[group_17046] +[group_17047] +[group_17048] +[group_17049] +[group_17050] +[group_17051] +[group_17052] +[group_17053] +[group_17054] +[group_17055] +[group_17056] +[group_17057] +[group_17058] +[group_17059] +[group_17060] +[group_17061] +[group_17062] +[group_17063] +[group_17064] +[group_17065] +[group_17066] +[group_17067] +[group_17068] +[group_17069] +[group_17070] +[group_17071] +[group_17072] +[group_17073] +[group_17074] +[group_17075] +[group_17076] +[group_17077] +[group_17078] +[group_17079] +[group_17080] +[group_17081] +[group_17082] +[group_17083] +[group_17084] +[group_17085] +[group_17086] +[group_17087] +[group_17088] +[group_17089] +[group_17090] +[group_17091] +[group_17092] +[group_17093] +[group_17094] +[group_17095] +[group_17096] +[group_17097] +[group_17098] +[group_17099] +[group_17100] +[group_17101] +[group_17102] +[group_17103] +[group_17104] +[group_17105] +[group_17106] +[group_17107] +[group_17108] +[group_17109] +[group_17110] +[group_17111] +[group_17112] +[group_17113] +[group_17114] +[group_17115] +[group_17116] +[group_17117] +[group_17118] +[group_17119] +[group_17120] +[group_17121] +[group_17122] +[group_17123] +[group_17124] +[group_17125] +[group_17126] +[group_17127] +[group_17128] +[group_17129] +[group_17130] +[group_17131] +[group_17132] +[group_17133] +[group_17134] +[group_17135] +[group_17136] +[group_17137] +[group_17138] +[group_17139] +[group_17140] +[group_17141] +[group_17142] +[group_17143] +[group_17144] +[group_17145] +[group_17146] +[group_17147] +[group_17148] +[group_17149] +[group_17150] +[group_17151] +[group_17152] +[group_17153] +[group_17154] +[group_17155] +[group_17156] +[group_17157] +[group_17158] +[group_17159] +[group_17160] +[group_17161] +[group_17162] +[group_17163] +[group_17164] +[group_17165] +[group_17166] +[group_17167] +[group_17168] +[group_17169] +[group_17170] +[group_17171] +[group_17172] +[group_17173] +[group_17174] +[group_17175] +[group_17176] +[group_17177] +[group_17178] +[group_17179] +[group_17180] +[group_17181] +[group_17182] +[group_17183] +[group_17184] +[group_17185] +[group_17186] +[group_17187] +[group_17188] +[group_17189] +[group_17190] +[group_17191] +[group_17192] +[group_17193] +[group_17194] +[group_17195] +[group_17196] +[group_17197] +[group_17198] +[group_17199] +[group_17200] +[group_17201] +[group_17202] +[group_17203] +[group_17204] +[group_17205] +[group_17206] +[group_17207] +[group_17208] +[group_17209] +[group_17210] +[group_17211] +[group_17212] +[group_17213] +[group_17214] +[group_17215] +[group_17216] +[group_17217] +[group_17218] +[group_17219] +[group_17220] +[group_17221] +[group_17222] +[group_17223] +[group_17224] +[group_17225] +[group_17226] +[group_17227] +[group_17228] +[group_17229] +[group_17230] +[group_17231] +[group_17232] +[group_17233] +[group_17234] +[group_17235] +[group_17236] +[group_17237] +[group_17238] +[group_17239] +[group_17240] +[group_17241] +[group_17242] +[group_17243] +[group_17244] +[group_17245] +[group_17246] +[group_17247] +[group_17248] +[group_17249] +[group_17250] +[group_17251] +[group_17252] +[group_17253] +[group_17254] +[group_17255] +[group_17256] +[group_17257] +[group_17258] +[group_17259] +[group_17260] +[group_17261] +[group_17262] +[group_17263] +[group_17264] +[group_17265] +[group_17266] +[group_17267] +[group_17268] +[group_17269] +[group_17270] +[group_17271] +[group_17272] +[group_17273] +[group_17274] +[group_17275] +[group_17276] +[group_17277] +[group_17278] +[group_17279] +[group_17280] +[group_17281] +[group_17282] +[group_17283] +[group_17284] +[group_17285] +[group_17286] +[group_17287] +[group_17288] +[group_17289] +[group_17290] +[group_17291] +[group_17292] +[group_17293] +[group_17294] +[group_17295] +[group_17296] +[group_17297] +[group_17298] +[group_17299] +[group_17300] +[group_17301] +[group_17302] +[group_17303] +[group_17304] +[group_17305] +[group_17306] +[group_17307] +[group_17308] +[group_17309] +[group_17310] +[group_17311] +[group_17312] +[group_17313] +[group_17314] +[group_17315] +[group_17316] +[group_17317] +[group_17318] +[group_17319] +[group_17320] +[group_17321] +[group_17322] +[group_17323] +[group_17324] +[group_17325] +[group_17326] +[group_17327] +[group_17328] +[group_17329] +[group_17330] +[group_17331] +[group_17332] +[group_17333] +[group_17334] +[group_17335] +[group_17336] +[group_17337] +[group_17338] +[group_17339] +[group_17340] +[group_17341] +[group_17342] +[group_17343] +[group_17344] +[group_17345] +[group_17346] +[group_17347] +[group_17348] +[group_17349] +[group_17350] +[group_17351] +[group_17352] +[group_17353] +[group_17354] +[group_17355] +[group_17356] +[group_17357] +[group_17358] +[group_17359] +[group_17360] +[group_17361] +[group_17362] +[group_17363] +[group_17364] +[group_17365] +[group_17366] +[group_17367] +[group_17368] +[group_17369] +[group_17370] +[group_17371] +[group_17372] +[group_17373] +[group_17374] +[group_17375] +[group_17376] +[group_17377] +[group_17378] +[group_17379] +[group_17380] +[group_17381] +[group_17382] +[group_17383] +[group_17384] +[group_17385] +[group_17386] +[group_17387] +[group_17388] +[group_17389] +[group_17390] +[group_17391] +[group_17392] +[group_17393] +[group_17394] +[group_17395] +[group_17396] +[group_17397] +[group_17398] +[group_17399] +[group_17400] +[group_17401] +[group_17402] +[group_17403] +[group_17404] +[group_17405] +[group_17406] +[group_17407] +[group_17408] +[group_17409] +[group_17410] +[group_17411] +[group_17412] +[group_17413] +[group_17414] +[group_17415] +[group_17416] +[group_17417] +[group_17418] +[group_17419] +[group_17420] +[group_17421] +[group_17422] +[group_17423] +[group_17424] +[group_17425] +[group_17426] +[group_17427] +[group_17428] +[group_17429] +[group_17430] +[group_17431] +[group_17432] +[group_17433] +[group_17434] +[group_17435] +[group_17436] +[group_17437] +[group_17438] +[group_17439] +[group_17440] +[group_17441] +[group_17442] +[group_17443] +[group_17444] +[group_17445] +[group_17446] +[group_17447] +[group_17448] +[group_17449] +[group_17450] +[group_17451] +[group_17452] +[group_17453] +[group_17454] +[group_17455] +[group_17456] +[group_17457] +[group_17458] +[group_17459] +[group_17460] +[group_17461] +[group_17462] +[group_17463] +[group_17464] +[group_17465] +[group_17466] +[group_17467] +[group_17468] +[group_17469] +[group_17470] +[group_17471] +[group_17472] +[group_17473] +[group_17474] +[group_17475] +[group_17476] +[group_17477] +[group_17478] +[group_17479] +[group_17480] +[group_17481] +[group_17482] +[group_17483] +[group_17484] +[group_17485] +[group_17486] +[group_17487] +[group_17488] +[group_17489] +[group_17490] +[group_17491] +[group_17492] +[group_17493] +[group_17494] +[group_17495] +[group_17496] +[group_17497] +[group_17498] +[group_17499] +[group_17500] +[group_17501] +[group_17502] +[group_17503] +[group_17504] +[group_17505] +[group_17506] +[group_17507] +[group_17508] +[group_17509] +[group_17510] +[group_17511] +[group_17512] +[group_17513] +[group_17514] +[group_17515] +[group_17516] +[group_17517] +[group_17518] +[group_17519] +[group_17520] +[group_17521] +[group_17522] +[group_17523] +[group_17524] +[group_17525] +[group_17526] +[group_17527] +[group_17528] +[group_17529] +[group_17530] +[group_17531] +[group_17532] +[group_17533] +[group_17534] +[group_17535] +[group_17536] +[group_17537] +[group_17538] +[group_17539] +[group_17540] +[group_17541] +[group_17542] +[group_17543] +[group_17544] +[group_17545] +[group_17546] +[group_17547] +[group_17548] +[group_17549] +[group_17550] +[group_17551] +[group_17552] +[group_17553] +[group_17554] +[group_17555] +[group_17556] +[group_17557] +[group_17558] +[group_17559] +[group_17560] +[group_17561] +[group_17562] +[group_17563] +[group_17564] +[group_17565] +[group_17566] +[group_17567] +[group_17568] +[group_17569] +[group_17570] +[group_17571] +[group_17572] +[group_17573] +[group_17574] +[group_17575] +[group_17576] +[group_17577] +[group_17578] +[group_17579] +[group_17580] +[group_17581] +[group_17582] +[group_17583] +[group_17584] +[group_17585] +[group_17586] +[group_17587] +[group_17588] +[group_17589] +[group_17590] +[group_17591] +[group_17592] +[group_17593] +[group_17594] +[group_17595] +[group_17596] +[group_17597] +[group_17598] +[group_17599] +[group_17600] +[group_17601] +[group_17602] +[group_17603] +[group_17604] +[group_17605] +[group_17606] +[group_17607] +[group_17608] +[group_17609] +[group_17610] +[group_17611] +[group_17612] +[group_17613] +[group_17614] +[group_17615] +[group_17616] +[group_17617] +[group_17618] +[group_17619] +[group_17620] +[group_17621] +[group_17622] +[group_17623] +[group_17624] +[group_17625] +[group_17626] +[group_17627] +[group_17628] +[group_17629] +[group_17630] +[group_17631] +[group_17632] +[group_17633] +[group_17634] +[group_17635] +[group_17636] +[group_17637] +[group_17638] +[group_17639] +[group_17640] +[group_17641] +[group_17642] +[group_17643] +[group_17644] +[group_17645] +[group_17646] +[group_17647] +[group_17648] +[group_17649] +[group_17650] +[group_17651] +[group_17652] +[group_17653] +[group_17654] +[group_17655] +[group_17656] +[group_17657] +[group_17658] +[group_17659] +[group_17660] +[group_17661] +[group_17662] +[group_17663] +[group_17664] +[group_17665] +[group_17666] +[group_17667] +[group_17668] +[group_17669] +[group_17670] +[group_17671] +[group_17672] +[group_17673] +[group_17674] +[group_17675] +[group_17676] +[group_17677] +[group_17678] +[group_17679] +[group_17680] +[group_17681] +[group_17682] +[group_17683] +[group_17684] +[group_17685] +[group_17686] +[group_17687] +[group_17688] +[group_17689] +[group_17690] +[group_17691] +[group_17692] +[group_17693] +[group_17694] +[group_17695] +[group_17696] +[group_17697] +[group_17698] +[group_17699] +[group_17700] +[group_17701] +[group_17702] +[group_17703] +[group_17704] +[group_17705] +[group_17706] +[group_17707] +[group_17708] +[group_17709] +[group_17710] +[group_17711] +[group_17712] +[group_17713] +[group_17714] +[group_17715] +[group_17716] +[group_17717] +[group_17718] +[group_17719] +[group_17720] +[group_17721] +[group_17722] +[group_17723] +[group_17724] +[group_17725] +[group_17726] +[group_17727] +[group_17728] +[group_17729] +[group_17730] +[group_17731] +[group_17732] +[group_17733] +[group_17734] +[group_17735] +[group_17736] +[group_17737] +[group_17738] +[group_17739] +[group_17740] +[group_17741] +[group_17742] +[group_17743] +[group_17744] +[group_17745] +[group_17746] +[group_17747] +[group_17748] +[group_17749] +[group_17750] +[group_17751] +[group_17752] +[group_17753] +[group_17754] +[group_17755] +[group_17756] +[group_17757] +[group_17758] +[group_17759] +[group_17760] +[group_17761] +[group_17762] +[group_17763] +[group_17764] +[group_17765] +[group_17766] +[group_17767] +[group_17768] +[group_17769] +[group_17770] +[group_17771] +[group_17772] +[group_17773] +[group_17774] +[group_17775] +[group_17776] +[group_17777] +[group_17778] +[group_17779] +[group_17780] +[group_17781] +[group_17782] +[group_17783] +[group_17784] +[group_17785] +[group_17786] +[group_17787] +[group_17788] +[group_17789] +[group_17790] +[group_17791] +[group_17792] +[group_17793] +[group_17794] +[group_17795] +[group_17796] +[group_17797] +[group_17798] +[group_17799] +[group_17800] +[group_17801] +[group_17802] +[group_17803] +[group_17804] +[group_17805] +[group_17806] +[group_17807] +[group_17808] +[group_17809] +[group_17810] +[group_17811] +[group_17812] +[group_17813] +[group_17814] +[group_17815] +[group_17816] +[group_17817] +[group_17818] +[group_17819] +[group_17820] +[group_17821] +[group_17822] +[group_17823] +[group_17824] +[group_17825] +[group_17826] +[group_17827] +[group_17828] +[group_17829] +[group_17830] +[group_17831] +[group_17832] +[group_17833] +[group_17834] +[group_17835] +[group_17836] +[group_17837] +[group_17838] +[group_17839] +[group_17840] +[group_17841] +[group_17842] +[group_17843] +[group_17844] +[group_17845] +[group_17846] +[group_17847] +[group_17848] +[group_17849] +[group_17850] +[group_17851] +[group_17852] +[group_17853] +[group_17854] +[group_17855] +[group_17856] +[group_17857] +[group_17858] +[group_17859] +[group_17860] +[group_17861] +[group_17862] +[group_17863] +[group_17864] +[group_17865] +[group_17866] +[group_17867] +[group_17868] +[group_17869] +[group_17870] +[group_17871] +[group_17872] +[group_17873] +[group_17874] +[group_17875] +[group_17876] +[group_17877] +[group_17878] +[group_17879] +[group_17880] +[group_17881] +[group_17882] +[group_17883] +[group_17884] +[group_17885] +[group_17886] +[group_17887] +[group_17888] +[group_17889] +[group_17890] +[group_17891] +[group_17892] +[group_17893] +[group_17894] +[group_17895] +[group_17896] +[group_17897] +[group_17898] +[group_17899] +[group_17900] +[group_17901] +[group_17902] +[group_17903] +[group_17904] +[group_17905] +[group_17906] +[group_17907] +[group_17908] +[group_17909] +[group_17910] +[group_17911] +[group_17912] +[group_17913] +[group_17914] +[group_17915] +[group_17916] +[group_17917] +[group_17918] +[group_17919] +[group_17920] +[group_17921] +[group_17922] +[group_17923] +[group_17924] +[group_17925] +[group_17926] +[group_17927] +[group_17928] +[group_17929] +[group_17930] +[group_17931] +[group_17932] +[group_17933] +[group_17934] +[group_17935] +[group_17936] +[group_17937] +[group_17938] +[group_17939] +[group_17940] +[group_17941] +[group_17942] +[group_17943] +[group_17944] +[group_17945] +[group_17946] +[group_17947] +[group_17948] +[group_17949] +[group_17950] +[group_17951] +[group_17952] +[group_17953] +[group_17954] +[group_17955] +[group_17956] +[group_17957] +[group_17958] +[group_17959] +[group_17960] +[group_17961] +[group_17962] +[group_17963] +[group_17964] +[group_17965] +[group_17966] +[group_17967] +[group_17968] +[group_17969] +[group_17970] +[group_17971] +[group_17972] +[group_17973] +[group_17974] +[group_17975] +[group_17976] +[group_17977] +[group_17978] +[group_17979] +[group_17980] +[group_17981] +[group_17982] +[group_17983] +[group_17984] +[group_17985] +[group_17986] +[group_17987] +[group_17988] +[group_17989] +[group_17990] +[group_17991] +[group_17992] +[group_17993] +[group_17994] +[group_17995] +[group_17996] +[group_17997] +[group_17998] +[group_17999] +[group_18000] +[group_18001] +[group_18002] +[group_18003] +[group_18004] +[group_18005] +[group_18006] +[group_18007] +[group_18008] +[group_18009] +[group_18010] +[group_18011] +[group_18012] +[group_18013] +[group_18014] +[group_18015] +[group_18016] +[group_18017] +[group_18018] +[group_18019] +[group_18020] +[group_18021] +[group_18022] +[group_18023] +[group_18024] +[group_18025] +[group_18026] +[group_18027] +[group_18028] +[group_18029] +[group_18030] +[group_18031] +[group_18032] +[group_18033] +[group_18034] +[group_18035] +[group_18036] +[group_18037] +[group_18038] +[group_18039] +[group_18040] +[group_18041] +[group_18042] +[group_18043] +[group_18044] +[group_18045] +[group_18046] +[group_18047] +[group_18048] +[group_18049] +[group_18050] +[group_18051] +[group_18052] +[group_18053] +[group_18054] +[group_18055] +[group_18056] +[group_18057] +[group_18058] +[group_18059] +[group_18060] +[group_18061] +[group_18062] +[group_18063] +[group_18064] +[group_18065] +[group_18066] +[group_18067] +[group_18068] +[group_18069] +[group_18070] +[group_18071] +[group_18072] +[group_18073] +[group_18074] +[group_18075] +[group_18076] +[group_18077] +[group_18078] +[group_18079] +[group_18080] +[group_18081] +[group_18082] +[group_18083] +[group_18084] +[group_18085] +[group_18086] +[group_18087] +[group_18088] +[group_18089] +[group_18090] +[group_18091] +[group_18092] +[group_18093] +[group_18094] +[group_18095] +[group_18096] +[group_18097] +[group_18098] +[group_18099] +[group_18100] +[group_18101] +[group_18102] +[group_18103] +[group_18104] +[group_18105] +[group_18106] +[group_18107] +[group_18108] +[group_18109] +[group_18110] +[group_18111] +[group_18112] +[group_18113] +[group_18114] +[group_18115] +[group_18116] +[group_18117] +[group_18118] +[group_18119] +[group_18120] +[group_18121] +[group_18122] +[group_18123] +[group_18124] +[group_18125] +[group_18126] +[group_18127] +[group_18128] +[group_18129] +[group_18130] +[group_18131] +[group_18132] +[group_18133] +[group_18134] +[group_18135] +[group_18136] +[group_18137] +[group_18138] +[group_18139] +[group_18140] +[group_18141] +[group_18142] +[group_18143] +[group_18144] +[group_18145] +[group_18146] +[group_18147] +[group_18148] +[group_18149] +[group_18150] +[group_18151] +[group_18152] +[group_18153] +[group_18154] +[group_18155] +[group_18156] +[group_18157] +[group_18158] +[group_18159] +[group_18160] +[group_18161] +[group_18162] +[group_18163] +[group_18164] +[group_18165] +[group_18166] +[group_18167] +[group_18168] +[group_18169] +[group_18170] +[group_18171] +[group_18172] +[group_18173] +[group_18174] +[group_18175] +[group_18176] +[group_18177] +[group_18178] +[group_18179] +[group_18180] +[group_18181] +[group_18182] +[group_18183] +[group_18184] +[group_18185] +[group_18186] +[group_18187] +[group_18188] +[group_18189] +[group_18190] +[group_18191] +[group_18192] +[group_18193] +[group_18194] +[group_18195] +[group_18196] +[group_18197] +[group_18198] +[group_18199] +[group_18200] +[group_18201] +[group_18202] +[group_18203] +[group_18204] +[group_18205] +[group_18206] +[group_18207] +[group_18208] +[group_18209] +[group_18210] +[group_18211] +[group_18212] +[group_18213] +[group_18214] +[group_18215] +[group_18216] +[group_18217] +[group_18218] +[group_18219] +[group_18220] +[group_18221] +[group_18222] +[group_18223] +[group_18224] +[group_18225] +[group_18226] +[group_18227] +[group_18228] +[group_18229] +[group_18230] +[group_18231] +[group_18232] +[group_18233] +[group_18234] +[group_18235] +[group_18236] +[group_18237] +[group_18238] +[group_18239] +[group_18240] +[group_18241] +[group_18242] +[group_18243] +[group_18244] +[group_18245] +[group_18246] +[group_18247] +[group_18248] +[group_18249] +[group_18250] +[group_18251] +[group_18252] +[group_18253] +[group_18254] +[group_18255] +[group_18256] +[group_18257] +[group_18258] +[group_18259] +[group_18260] +[group_18261] +[group_18262] +[group_18263] +[group_18264] +[group_18265] +[group_18266] +[group_18267] +[group_18268] +[group_18269] +[group_18270] +[group_18271] +[group_18272] +[group_18273] +[group_18274] +[group_18275] +[group_18276] +[group_18277] +[group_18278] +[group_18279] +[group_18280] +[group_18281] +[group_18282] +[group_18283] +[group_18284] +[group_18285] +[group_18286] +[group_18287] +[group_18288] +[group_18289] +[group_18290] +[group_18291] +[group_18292] +[group_18293] +[group_18294] +[group_18295] +[group_18296] +[group_18297] +[group_18298] +[group_18299] +[group_18300] +[group_18301] +[group_18302] +[group_18303] +[group_18304] +[group_18305] +[group_18306] +[group_18307] +[group_18308] +[group_18309] +[group_18310] +[group_18311] +[group_18312] +[group_18313] +[group_18314] +[group_18315] +[group_18316] +[group_18317] +[group_18318] +[group_18319] +[group_18320] +[group_18321] +[group_18322] +[group_18323] +[group_18324] +[group_18325] +[group_18326] +[group_18327] +[group_18328] +[group_18329] +[group_18330] +[group_18331] +[group_18332] +[group_18333] +[group_18334] +[group_18335] +[group_18336] +[group_18337] +[group_18338] +[group_18339] +[group_18340] +[group_18341] +[group_18342] +[group_18343] +[group_18344] +[group_18345] +[group_18346] +[group_18347] +[group_18348] +[group_18349] +[group_18350] +[group_18351] +[group_18352] +[group_18353] +[group_18354] +[group_18355] +[group_18356] +[group_18357] +[group_18358] +[group_18359] +[group_18360] +[group_18361] +[group_18362] +[group_18363] +[group_18364] +[group_18365] +[group_18366] +[group_18367] +[group_18368] +[group_18369] +[group_18370] +[group_18371] +[group_18372] +[group_18373] +[group_18374] +[group_18375] +[group_18376] +[group_18377] +[group_18378] +[group_18379] +[group_18380] +[group_18381] +[group_18382] +[group_18383] +[group_18384] +[group_18385] +[group_18386] +[group_18387] +[group_18388] +[group_18389] +[group_18390] +[group_18391] +[group_18392] +[group_18393] +[group_18394] +[group_18395] +[group_18396] +[group_18397] +[group_18398] +[group_18399] +[group_18400] +[group_18401] +[group_18402] +[group_18403] +[group_18404] +[group_18405] +[group_18406] +[group_18407] +[group_18408] +[group_18409] +[group_18410] +[group_18411] +[group_18412] +[group_18413] +[group_18414] +[group_18415] +[group_18416] +[group_18417] +[group_18418] +[group_18419] +[group_18420] +[group_18421] +[group_18422] +[group_18423] +[group_18424] +[group_18425] +[group_18426] +[group_18427] +[group_18428] +[group_18429] +[group_18430] +[group_18431] +[group_18432] +[group_18433] +[group_18434] +[group_18435] +[group_18436] +[group_18437] +[group_18438] +[group_18439] +[group_18440] +[group_18441] +[group_18442] +[group_18443] +[group_18444] +[group_18445] +[group_18446] +[group_18447] +[group_18448] +[group_18449] +[group_18450] +[group_18451] +[group_18452] +[group_18453] +[group_18454] +[group_18455] +[group_18456] +[group_18457] +[group_18458] +[group_18459] +[group_18460] +[group_18461] +[group_18462] +[group_18463] +[group_18464] +[group_18465] +[group_18466] +[group_18467] +[group_18468] +[group_18469] +[group_18470] +[group_18471] +[group_18472] +[group_18473] +[group_18474] +[group_18475] +[group_18476] +[group_18477] +[group_18478] +[group_18479] +[group_18480] +[group_18481] +[group_18482] +[group_18483] +[group_18484] +[group_18485] +[group_18486] +[group_18487] +[group_18488] +[group_18489] +[group_18490] +[group_18491] +[group_18492] +[group_18493] +[group_18494] +[group_18495] +[group_18496] +[group_18497] +[group_18498] +[group_18499] +[group_18500] +[group_18501] +[group_18502] +[group_18503] +[group_18504] +[group_18505] +[group_18506] +[group_18507] +[group_18508] +[group_18509] +[group_18510] +[group_18511] +[group_18512] +[group_18513] +[group_18514] +[group_18515] +[group_18516] +[group_18517] +[group_18518] +[group_18519] +[group_18520] +[group_18521] +[group_18522] +[group_18523] +[group_18524] +[group_18525] +[group_18526] +[group_18527] +[group_18528] +[group_18529] +[group_18530] +[group_18531] +[group_18532] +[group_18533] +[group_18534] +[group_18535] +[group_18536] +[group_18537] +[group_18538] +[group_18539] +[group_18540] +[group_18541] +[group_18542] +[group_18543] +[group_18544] +[group_18545] +[group_18546] +[group_18547] +[group_18548] +[group_18549] +[group_18550] +[group_18551] +[group_18552] +[group_18553] +[group_18554] +[group_18555] +[group_18556] +[group_18557] +[group_18558] +[group_18559] +[group_18560] +[group_18561] +[group_18562] +[group_18563] +[group_18564] +[group_18565] +[group_18566] +[group_18567] +[group_18568] +[group_18569] +[group_18570] +[group_18571] +[group_18572] +[group_18573] +[group_18574] +[group_18575] +[group_18576] +[group_18577] +[group_18578] +[group_18579] +[group_18580] +[group_18581] +[group_18582] +[group_18583] +[group_18584] +[group_18585] +[group_18586] +[group_18587] +[group_18588] +[group_18589] +[group_18590] +[group_18591] +[group_18592] +[group_18593] +[group_18594] +[group_18595] +[group_18596] +[group_18597] +[group_18598] +[group_18599] +[group_18600] +[group_18601] +[group_18602] +[group_18603] +[group_18604] +[group_18605] +[group_18606] +[group_18607] +[group_18608] +[group_18609] +[group_18610] +[group_18611] +[group_18612] +[group_18613] +[group_18614] +[group_18615] +[group_18616] +[group_18617] +[group_18618] +[group_18619] +[group_18620] +[group_18621] +[group_18622] +[group_18623] +[group_18624] +[group_18625] +[group_18626] +[group_18627] +[group_18628] +[group_18629] +[group_18630] +[group_18631] +[group_18632] +[group_18633] +[group_18634] +[group_18635] +[group_18636] +[group_18637] +[group_18638] +[group_18639] +[group_18640] +[group_18641] +[group_18642] +[group_18643] +[group_18644] +[group_18645] +[group_18646] +[group_18647] +[group_18648] +[group_18649] +[group_18650] +[group_18651] +[group_18652] +[group_18653] +[group_18654] +[group_18655] +[group_18656] +[group_18657] +[group_18658] +[group_18659] +[group_18660] +[group_18661] +[group_18662] +[group_18663] +[group_18664] +[group_18665] +[group_18666] +[group_18667] +[group_18668] +[group_18669] +[group_18670] +[group_18671] +[group_18672] +[group_18673] +[group_18674] +[group_18675] +[group_18676] +[group_18677] +[group_18678] +[group_18679] +[group_18680] +[group_18681] +[group_18682] +[group_18683] +[group_18684] +[group_18685] +[group_18686] +[group_18687] +[group_18688] +[group_18689] +[group_18690] +[group_18691] +[group_18692] +[group_18693] +[group_18694] +[group_18695] +[group_18696] +[group_18697] +[group_18698] +[group_18699] +[group_18700] +[group_18701] +[group_18702] +[group_18703] +[group_18704] +[group_18705] +[group_18706] +[group_18707] +[group_18708] +[group_18709] +[group_18710] +[group_18711] +[group_18712] +[group_18713] +[group_18714] +[group_18715] +[group_18716] +[group_18717] +[group_18718] +[group_18719] +[group_18720] +[group_18721] +[group_18722] +[group_18723] +[group_18724] +[group_18725] +[group_18726] +[group_18727] +[group_18728] +[group_18729] +[group_18730] +[group_18731] +[group_18732] +[group_18733] +[group_18734] +[group_18735] +[group_18736] +[group_18737] +[group_18738] +[group_18739] +[group_18740] +[group_18741] +[group_18742] +[group_18743] +[group_18744] +[group_18745] +[group_18746] +[group_18747] +[group_18748] +[group_18749] +[group_18750] +[group_18751] +[group_18752] +[group_18753] +[group_18754] +[group_18755] +[group_18756] +[group_18757] +[group_18758] +[group_18759] +[group_18760] +[group_18761] +[group_18762] +[group_18763] +[group_18764] +[group_18765] +[group_18766] +[group_18767] +[group_18768] +[group_18769] +[group_18770] +[group_18771] +[group_18772] +[group_18773] +[group_18774] +[group_18775] +[group_18776] +[group_18777] +[group_18778] +[group_18779] +[group_18780] +[group_18781] +[group_18782] +[group_18783] +[group_18784] +[group_18785] +[group_18786] +[group_18787] +[group_18788] +[group_18789] +[group_18790] +[group_18791] +[group_18792] +[group_18793] +[group_18794] +[group_18795] +[group_18796] +[group_18797] +[group_18798] +[group_18799] +[group_18800] +[group_18801] +[group_18802] +[group_18803] +[group_18804] +[group_18805] +[group_18806] +[group_18807] +[group_18808] +[group_18809] +[group_18810] +[group_18811] +[group_18812] +[group_18813] +[group_18814] +[group_18815] +[group_18816] +[group_18817] +[group_18818] +[group_18819] +[group_18820] +[group_18821] +[group_18822] +[group_18823] +[group_18824] +[group_18825] +[group_18826] +[group_18827] +[group_18828] +[group_18829] +[group_18830] +[group_18831] +[group_18832] +[group_18833] +[group_18834] +[group_18835] +[group_18836] +[group_18837] +[group_18838] +[group_18839] +[group_18840] +[group_18841] +[group_18842] +[group_18843] +[group_18844] +[group_18845] +[group_18846] +[group_18847] +[group_18848] +[group_18849] +[group_18850] +[group_18851] +[group_18852] +[group_18853] +[group_18854] +[group_18855] +[group_18856] +[group_18857] +[group_18858] +[group_18859] +[group_18860] +[group_18861] +[group_18862] +[group_18863] +[group_18864] +[group_18865] +[group_18866] +[group_18867] +[group_18868] +[group_18869] +[group_18870] +[group_18871] +[group_18872] +[group_18873] +[group_18874] +[group_18875] +[group_18876] +[group_18877] +[group_18878] +[group_18879] +[group_18880] +[group_18881] +[group_18882] +[group_18883] +[group_18884] +[group_18885] +[group_18886] +[group_18887] +[group_18888] +[group_18889] +[group_18890] +[group_18891] +[group_18892] +[group_18893] +[group_18894] +[group_18895] +[group_18896] +[group_18897] +[group_18898] +[group_18899] +[group_18900] +[group_18901] +[group_18902] +[group_18903] +[group_18904] +[group_18905] +[group_18906] +[group_18907] +[group_18908] +[group_18909] +[group_18910] +[group_18911] +[group_18912] +[group_18913] +[group_18914] +[group_18915] +[group_18916] +[group_18917] +[group_18918] +[group_18919] +[group_18920] +[group_18921] +[group_18922] +[group_18923] +[group_18924] +[group_18925] +[group_18926] +[group_18927] +[group_18928] +[group_18929] +[group_18930] +[group_18931] +[group_18932] +[group_18933] +[group_18934] +[group_18935] +[group_18936] +[group_18937] +[group_18938] +[group_18939] +[group_18940] +[group_18941] +[group_18942] +[group_18943] +[group_18944] +[group_18945] +[group_18946] +[group_18947] +[group_18948] +[group_18949] +[group_18950] +[group_18951] +[group_18952] +[group_18953] +[group_18954] +[group_18955] +[group_18956] +[group_18957] +[group_18958] +[group_18959] +[group_18960] +[group_18961] +[group_18962] +[group_18963] +[group_18964] +[group_18965] +[group_18966] +[group_18967] +[group_18968] +[group_18969] +[group_18970] +[group_18971] +[group_18972] +[group_18973] +[group_18974] +[group_18975] +[group_18976] +[group_18977] +[group_18978] +[group_18979] +[group_18980] +[group_18981] +[group_18982] +[group_18983] +[group_18984] +[group_18985] +[group_18986] +[group_18987] +[group_18988] +[group_18989] +[group_18990] +[group_18991] +[group_18992] +[group_18993] +[group_18994] +[group_18995] +[group_18996] +[group_18997] +[group_18998] +[group_18999] +[group_19000] +[group_19001] +[group_19002] +[group_19003] +[group_19004] +[group_19005] +[group_19006] +[group_19007] +[group_19008] +[group_19009] +[group_19010] +[group_19011] +[group_19012] +[group_19013] +[group_19014] +[group_19015] +[group_19016] +[group_19017] +[group_19018] +[group_19019] +[group_19020] +[group_19021] +[group_19022] +[group_19023] +[group_19024] +[group_19025] +[group_19026] +[group_19027] +[group_19028] +[group_19029] +[group_19030] +[group_19031] +[group_19032] +[group_19033] +[group_19034] +[group_19035] +[group_19036] +[group_19037] +[group_19038] +[group_19039] +[group_19040] +[group_19041] +[group_19042] +[group_19043] +[group_19044] +[group_19045] +[group_19046] +[group_19047] +[group_19048] +[group_19049] +[group_19050] +[group_19051] +[group_19052] +[group_19053] +[group_19054] +[group_19055] +[group_19056] +[group_19057] +[group_19058] +[group_19059] +[group_19060] +[group_19061] +[group_19062] +[group_19063] +[group_19064] +[group_19065] +[group_19066] +[group_19067] +[group_19068] +[group_19069] +[group_19070] +[group_19071] +[group_19072] +[group_19073] +[group_19074] +[group_19075] +[group_19076] +[group_19077] +[group_19078] +[group_19079] +[group_19080] +[group_19081] +[group_19082] +[group_19083] +[group_19084] +[group_19085] +[group_19086] +[group_19087] +[group_19088] +[group_19089] +[group_19090] +[group_19091] +[group_19092] +[group_19093] +[group_19094] +[group_19095] +[group_19096] +[group_19097] +[group_19098] +[group_19099] +[group_19100] +[group_19101] +[group_19102] +[group_19103] +[group_19104] +[group_19105] +[group_19106] +[group_19107] +[group_19108] +[group_19109] +[group_19110] +[group_19111] +[group_19112] +[group_19113] +[group_19114] +[group_19115] +[group_19116] +[group_19117] +[group_19118] +[group_19119] +[group_19120] +[group_19121] +[group_19122] +[group_19123] +[group_19124] +[group_19125] +[group_19126] +[group_19127] +[group_19128] +[group_19129] +[group_19130] +[group_19131] +[group_19132] +[group_19133] +[group_19134] +[group_19135] +[group_19136] +[group_19137] +[group_19138] +[group_19139] +[group_19140] +[group_19141] +[group_19142] +[group_19143] +[group_19144] +[group_19145] +[group_19146] +[group_19147] +[group_19148] +[group_19149] +[group_19150] +[group_19151] +[group_19152] +[group_19153] +[group_19154] +[group_19155] +[group_19156] +[group_19157] +[group_19158] +[group_19159] +[group_19160] +[group_19161] +[group_19162] +[group_19163] +[group_19164] +[group_19165] +[group_19166] +[group_19167] +[group_19168] +[group_19169] +[group_19170] +[group_19171] +[group_19172] +[group_19173] +[group_19174] +[group_19175] +[group_19176] +[group_19177] +[group_19178] +[group_19179] +[group_19180] +[group_19181] +[group_19182] +[group_19183] +[group_19184] +[group_19185] +[group_19186] +[group_19187] +[group_19188] +[group_19189] +[group_19190] +[group_19191] +[group_19192] +[group_19193] +[group_19194] +[group_19195] +[group_19196] +[group_19197] +[group_19198] +[group_19199] +[group_19200] +[group_19201] +[group_19202] +[group_19203] +[group_19204] +[group_19205] +[group_19206] +[group_19207] +[group_19208] +[group_19209] +[group_19210] +[group_19211] +[group_19212] +[group_19213] +[group_19214] +[group_19215] +[group_19216] +[group_19217] +[group_19218] +[group_19219] +[group_19220] +[group_19221] +[group_19222] +[group_19223] +[group_19224] +[group_19225] +[group_19226] +[group_19227] +[group_19228] +[group_19229] +[group_19230] +[group_19231] +[group_19232] +[group_19233] +[group_19234] +[group_19235] +[group_19236] +[group_19237] +[group_19238] +[group_19239] +[group_19240] +[group_19241] +[group_19242] +[group_19243] +[group_19244] +[group_19245] +[group_19246] +[group_19247] +[group_19248] +[group_19249] +[group_19250] +[group_19251] +[group_19252] +[group_19253] +[group_19254] +[group_19255] +[group_19256] +[group_19257] +[group_19258] +[group_19259] +[group_19260] +[group_19261] +[group_19262] +[group_19263] +[group_19264] +[group_19265] +[group_19266] +[group_19267] +[group_19268] +[group_19269] +[group_19270] +[group_19271] +[group_19272] +[group_19273] +[group_19274] +[group_19275] +[group_19276] +[group_19277] +[group_19278] +[group_19279] +[group_19280] +[group_19281] +[group_19282] +[group_19283] +[group_19284] +[group_19285] +[group_19286] +[group_19287] +[group_19288] +[group_19289] +[group_19290] +[group_19291] +[group_19292] +[group_19293] +[group_19294] +[group_19295] +[group_19296] +[group_19297] +[group_19298] +[group_19299] +[group_19300] +[group_19301] +[group_19302] +[group_19303] +[group_19304] +[group_19305] +[group_19306] +[group_19307] +[group_19308] +[group_19309] +[group_19310] +[group_19311] +[group_19312] +[group_19313] +[group_19314] +[group_19315] +[group_19316] +[group_19317] +[group_19318] +[group_19319] +[group_19320] +[group_19321] +[group_19322] +[group_19323] +[group_19324] +[group_19325] +[group_19326] +[group_19327] +[group_19328] +[group_19329] +[group_19330] +[group_19331] +[group_19332] +[group_19333] +[group_19334] +[group_19335] +[group_19336] +[group_19337] +[group_19338] +[group_19339] +[group_19340] +[group_19341] +[group_19342] +[group_19343] +[group_19344] +[group_19345] +[group_19346] +[group_19347] +[group_19348] +[group_19349] +[group_19350] +[group_19351] +[group_19352] +[group_19353] +[group_19354] +[group_19355] +[group_19356] +[group_19357] +[group_19358] +[group_19359] +[group_19360] +[group_19361] +[group_19362] +[group_19363] +[group_19364] +[group_19365] +[group_19366] +[group_19367] +[group_19368] +[group_19369] +[group_19370] +[group_19371] +[group_19372] +[group_19373] +[group_19374] +[group_19375] +[group_19376] +[group_19377] +[group_19378] +[group_19379] +[group_19380] +[group_19381] +[group_19382] +[group_19383] +[group_19384] +[group_19385] +[group_19386] +[group_19387] +[group_19388] +[group_19389] +[group_19390] +[group_19391] +[group_19392] +[group_19393] +[group_19394] +[group_19395] +[group_19396] +[group_19397] +[group_19398] +[group_19399] +[group_19400] +[group_19401] +[group_19402] +[group_19403] +[group_19404] +[group_19405] +[group_19406] +[group_19407] +[group_19408] +[group_19409] +[group_19410] +[group_19411] +[group_19412] +[group_19413] +[group_19414] +[group_19415] +[group_19416] +[group_19417] +[group_19418] +[group_19419] +[group_19420] +[group_19421] +[group_19422] +[group_19423] +[group_19424] +[group_19425] +[group_19426] +[group_19427] +[group_19428] +[group_19429] +[group_19430] +[group_19431] +[group_19432] +[group_19433] +[group_19434] +[group_19435] +[group_19436] +[group_19437] +[group_19438] +[group_19439] +[group_19440] +[group_19441] +[group_19442] +[group_19443] +[group_19444] +[group_19445] +[group_19446] +[group_19447] +[group_19448] +[group_19449] +[group_19450] +[group_19451] +[group_19452] +[group_19453] +[group_19454] +[group_19455] +[group_19456] +[group_19457] +[group_19458] +[group_19459] +[group_19460] +[group_19461] +[group_19462] +[group_19463] +[group_19464] +[group_19465] +[group_19466] +[group_19467] +[group_19468] +[group_19469] +[group_19470] +[group_19471] +[group_19472] +[group_19473] +[group_19474] +[group_19475] +[group_19476] +[group_19477] +[group_19478] +[group_19479] +[group_19480] +[group_19481] +[group_19482] +[group_19483] +[group_19484] +[group_19485] +[group_19486] +[group_19487] +[group_19488] +[group_19489] +[group_19490] +[group_19491] +[group_19492] +[group_19493] +[group_19494] +[group_19495] +[group_19496] +[group_19497] +[group_19498] +[group_19499] +[group_19500] +[group_19501] +[group_19502] +[group_19503] +[group_19504] +[group_19505] +[group_19506] +[group_19507] +[group_19508] +[group_19509] +[group_19510] +[group_19511] +[group_19512] +[group_19513] +[group_19514] +[group_19515] +[group_19516] +[group_19517] +[group_19518] +[group_19519] +[group_19520] +[group_19521] +[group_19522] +[group_19523] +[group_19524] +[group_19525] +[group_19526] +[group_19527] +[group_19528] +[group_19529] +[group_19530] +[group_19531] +[group_19532] +[group_19533] +[group_19534] +[group_19535] +[group_19536] +[group_19537] +[group_19538] +[group_19539] +[group_19540] +[group_19541] +[group_19542] +[group_19543] +[group_19544] +[group_19545] +[group_19546] +[group_19547] +[group_19548] +[group_19549] +[group_19550] +[group_19551] +[group_19552] +[group_19553] +[group_19554] +[group_19555] +[group_19556] +[group_19557] +[group_19558] +[group_19559] +[group_19560] +[group_19561] +[group_19562] +[group_19563] +[group_19564] +[group_19565] +[group_19566] +[group_19567] +[group_19568] +[group_19569] +[group_19570] +[group_19571] +[group_19572] +[group_19573] +[group_19574] +[group_19575] +[group_19576] +[group_19577] +[group_19578] +[group_19579] +[group_19580] +[group_19581] +[group_19582] +[group_19583] +[group_19584] +[group_19585] +[group_19586] +[group_19587] +[group_19588] +[group_19589] +[group_19590] +[group_19591] +[group_19592] +[group_19593] +[group_19594] +[group_19595] +[group_19596] +[group_19597] +[group_19598] +[group_19599] +[group_19600] +[group_19601] +[group_19602] +[group_19603] +[group_19604] +[group_19605] +[group_19606] +[group_19607] +[group_19608] +[group_19609] +[group_19610] +[group_19611] +[group_19612] +[group_19613] +[group_19614] +[group_19615] +[group_19616] +[group_19617] +[group_19618] +[group_19619] +[group_19620] +[group_19621] +[group_19622] +[group_19623] +[group_19624] +[group_19625] +[group_19626] +[group_19627] +[group_19628] +[group_19629] +[group_19630] +[group_19631] +[group_19632] +[group_19633] +[group_19634] +[group_19635] +[group_19636] +[group_19637] +[group_19638] +[group_19639] +[group_19640] +[group_19641] +[group_19642] +[group_19643] +[group_19644] +[group_19645] +[group_19646] +[group_19647] +[group_19648] +[group_19649] +[group_19650] +[group_19651] +[group_19652] +[group_19653] +[group_19654] +[group_19655] +[group_19656] +[group_19657] +[group_19658] +[group_19659] +[group_19660] +[group_19661] +[group_19662] +[group_19663] +[group_19664] +[group_19665] +[group_19666] +[group_19667] +[group_19668] +[group_19669] +[group_19670] +[group_19671] +[group_19672] +[group_19673] +[group_19674] +[group_19675] +[group_19676] +[group_19677] +[group_19678] +[group_19679] +[group_19680] +[group_19681] +[group_19682] +[group_19683] +[group_19684] +[group_19685] +[group_19686] +[group_19687] +[group_19688] +[group_19689] +[group_19690] +[group_19691] +[group_19692] +[group_19693] +[group_19694] +[group_19695] +[group_19696] +[group_19697] +[group_19698] +[group_19699] +[group_19700] +[group_19701] +[group_19702] +[group_19703] +[group_19704] +[group_19705] +[group_19706] +[group_19707] +[group_19708] +[group_19709] +[group_19710] +[group_19711] +[group_19712] +[group_19713] +[group_19714] +[group_19715] +[group_19716] +[group_19717] +[group_19718] +[group_19719] +[group_19720] +[group_19721] +[group_19722] +[group_19723] +[group_19724] +[group_19725] +[group_19726] +[group_19727] +[group_19728] +[group_19729] +[group_19730] +[group_19731] +[group_19732] +[group_19733] +[group_19734] +[group_19735] +[group_19736] +[group_19737] +[group_19738] +[group_19739] +[group_19740] +[group_19741] +[group_19742] +[group_19743] +[group_19744] +[group_19745] +[group_19746] +[group_19747] +[group_19748] +[group_19749] +[group_19750] +[group_19751] +[group_19752] +[group_19753] +[group_19754] +[group_19755] +[group_19756] +[group_19757] +[group_19758] +[group_19759] +[group_19760] +[group_19761] +[group_19762] +[group_19763] +[group_19764] +[group_19765] +[group_19766] +[group_19767] +[group_19768] +[group_19769] +[group_19770] +[group_19771] +[group_19772] +[group_19773] +[group_19774] +[group_19775] +[group_19776] +[group_19777] +[group_19778] +[group_19779] +[group_19780] +[group_19781] +[group_19782] +[group_19783] +[group_19784] +[group_19785] +[group_19786] +[group_19787] +[group_19788] +[group_19789] +[group_19790] +[group_19791] +[group_19792] +[group_19793] +[group_19794] +[group_19795] +[group_19796] +[group_19797] +[group_19798] +[group_19799] +[group_19800] +[group_19801] +[group_19802] +[group_19803] +[group_19804] +[group_19805] +[group_19806] +[group_19807] +[group_19808] +[group_19809] +[group_19810] +[group_19811] +[group_19812] +[group_19813] +[group_19814] +[group_19815] +[group_19816] +[group_19817] +[group_19818] +[group_19819] +[group_19820] +[group_19821] +[group_19822] +[group_19823] +[group_19824] +[group_19825] +[group_19826] +[group_19827] +[group_19828] +[group_19829] +[group_19830] +[group_19831] +[group_19832] +[group_19833] +[group_19834] +[group_19835] +[group_19836] +[group_19837] +[group_19838] +[group_19839] +[group_19840] +[group_19841] +[group_19842] +[group_19843] +[group_19844] +[group_19845] +[group_19846] +[group_19847] +[group_19848] +[group_19849] +[group_19850] +[group_19851] +[group_19852] +[group_19853] +[group_19854] +[group_19855] +[group_19856] +[group_19857] +[group_19858] +[group_19859] +[group_19860] +[group_19861] +[group_19862] +[group_19863] +[group_19864] +[group_19865] +[group_19866] +[group_19867] +[group_19868] +[group_19869] +[group_19870] +[group_19871] +[group_19872] +[group_19873] +[group_19874] +[group_19875] +[group_19876] +[group_19877] +[group_19878] +[group_19879] +[group_19880] +[group_19881] +[group_19882] +[group_19883] +[group_19884] +[group_19885] +[group_19886] +[group_19887] +[group_19888] +[group_19889] +[group_19890] +[group_19891] +[group_19892] +[group_19893] +[group_19894] +[group_19895] +[group_19896] +[group_19897] +[group_19898] +[group_19899] +[group_19900] +[group_19901] +[group_19902] +[group_19903] +[group_19904] +[group_19905] +[group_19906] +[group_19907] +[group_19908] +[group_19909] +[group_19910] +[group_19911] +[group_19912] +[group_19913] +[group_19914] +[group_19915] +[group_19916] +[group_19917] +[group_19918] +[group_19919] +[group_19920] +[group_19921] +[group_19922] +[group_19923] +[group_19924] +[group_19925] +[group_19926] +[group_19927] +[group_19928] +[group_19929] +[group_19930] +[group_19931] +[group_19932] +[group_19933] +[group_19934] +[group_19935] +[group_19936] +[group_19937] +[group_19938] +[group_19939] +[group_19940] +[group_19941] +[group_19942] +[group_19943] +[group_19944] +[group_19945] +[group_19946] +[group_19947] +[group_19948] +[group_19949] +[group_19950] +[group_19951] +[group_19952] +[group_19953] +[group_19954] +[group_19955] +[group_19956] +[group_19957] +[group_19958] +[group_19959] +[group_19960] +[group_19961] +[group_19962] +[group_19963] +[group_19964] +[group_19965] +[group_19966] +[group_19967] +[group_19968] +[group_19969] +[group_19970] +[group_19971] +[group_19972] +[group_19973] +[group_19974] +[group_19975] +[group_19976] +[group_19977] +[group_19978] +[group_19979] +[group_19980] +[group_19981] +[group_19982] +[group_19983] +[group_19984] +[group_19985] +[group_19986] +[group_19987] +[group_19988] +[group_19989] +[group_19990] +[group_19991] +[group_19992] +[group_19993] +[group_19994] +[group_19995] +[group_19996] +[group_19997] +[group_19998] +[group_19999] +[group_20000] +[group_20001] +[group_20002] +[group_20003] +[group_20004] +[group_20005] +[group_20006] +[group_20007] +[group_20008] +[group_20009] +[group_20010] +[group_20011] +[group_20012] +[group_20013] +[group_20014] +[group_20015] +[group_20016] +[group_20017] +[group_20018] +[group_20019] +[group_20020] +[group_20021] +[group_20022] +[group_20023] +[group_20024] +[group_20025] +[group_20026] +[group_20027] +[group_20028] +[group_20029] +[group_20030] +[group_20031] +[group_20032] +[group_20033] +[group_20034] +[group_20035] +[group_20036] +[group_20037] +[group_20038] +[group_20039] +[group_20040] +[group_20041] +[group_20042] +[group_20043] +[group_20044] +[group_20045] +[group_20046] +[group_20047] +[group_20048] +[group_20049] +[group_20050] +[group_20051] +[group_20052] +[group_20053] +[group_20054] +[group_20055] +[group_20056] +[group_20057] +[group_20058] +[group_20059] +[group_20060] +[group_20061] +[group_20062] +[group_20063] +[group_20064] +[group_20065] +[group_20066] +[group_20067] +[group_20068] +[group_20069] +[group_20070] +[group_20071] +[group_20072] +[group_20073] +[group_20074] +[group_20075] +[group_20076] +[group_20077] +[group_20078] +[group_20079] +[group_20080] +[group_20081] +[group_20082] +[group_20083] +[group_20084] +[group_20085] +[group_20086] +[group_20087] +[group_20088] +[group_20089] +[group_20090] +[group_20091] +[group_20092] +[group_20093] +[group_20094] +[group_20095] +[group_20096] +[group_20097] +[group_20098] +[group_20099] +[group_20100] +[group_20101] +[group_20102] +[group_20103] +[group_20104] +[group_20105] +[group_20106] +[group_20107] +[group_20108] +[group_20109] +[group_20110] +[group_20111] +[group_20112] +[group_20113] +[group_20114] +[group_20115] +[group_20116] +[group_20117] +[group_20118] +[group_20119] +[group_20120] +[group_20121] +[group_20122] +[group_20123] +[group_20124] +[group_20125] +[group_20126] +[group_20127] +[group_20128] +[group_20129] +[group_20130] +[group_20131] +[group_20132] +[group_20133] +[group_20134] +[group_20135] +[group_20136] +[group_20137] +[group_20138] +[group_20139] +[group_20140] +[group_20141] +[group_20142] +[group_20143] +[group_20144] +[group_20145] +[group_20146] +[group_20147] +[group_20148] +[group_20149] +[group_20150] +[group_20151] +[group_20152] +[group_20153] +[group_20154] +[group_20155] +[group_20156] +[group_20157] +[group_20158] +[group_20159] +[group_20160] +[group_20161] +[group_20162] +[group_20163] +[group_20164] +[group_20165] +[group_20166] +[group_20167] +[group_20168] +[group_20169] +[group_20170] +[group_20171] +[group_20172] +[group_20173] +[group_20174] +[group_20175] +[group_20176] +[group_20177] +[group_20178] +[group_20179] +[group_20180] +[group_20181] +[group_20182] +[group_20183] +[group_20184] +[group_20185] +[group_20186] +[group_20187] +[group_20188] +[group_20189] +[group_20190] +[group_20191] +[group_20192] +[group_20193] +[group_20194] +[group_20195] +[group_20196] +[group_20197] +[group_20198] +[group_20199] +[group_20200] +[group_20201] +[group_20202] +[group_20203] +[group_20204] +[group_20205] +[group_20206] +[group_20207] +[group_20208] +[group_20209] +[group_20210] +[group_20211] +[group_20212] +[group_20213] +[group_20214] +[group_20215] +[group_20216] +[group_20217] +[group_20218] +[group_20219] +[group_20220] +[group_20221] +[group_20222] +[group_20223] +[group_20224] +[group_20225] +[group_20226] +[group_20227] +[group_20228] +[group_20229] +[group_20230] +[group_20231] +[group_20232] +[group_20233] +[group_20234] +[group_20235] +[group_20236] +[group_20237] +[group_20238] +[group_20239] +[group_20240] +[group_20241] +[group_20242] +[group_20243] +[group_20244] +[group_20245] +[group_20246] +[group_20247] +[group_20248] +[group_20249] +[group_20250] +[group_20251] +[group_20252] +[group_20253] +[group_20254] +[group_20255] +[group_20256] +[group_20257] +[group_20258] +[group_20259] +[group_20260] +[group_20261] +[group_20262] +[group_20263] +[group_20264] +[group_20265] +[group_20266] +[group_20267] +[group_20268] +[group_20269] +[group_20270] +[group_20271] +[group_20272] +[group_20273] +[group_20274] +[group_20275] +[group_20276] +[group_20277] +[group_20278] +[group_20279] +[group_20280] +[group_20281] +[group_20282] +[group_20283] +[group_20284] +[group_20285] +[group_20286] +[group_20287] +[group_20288] +[group_20289] +[group_20290] +[group_20291] +[group_20292] +[group_20293] +[group_20294] +[group_20295] +[group_20296] +[group_20297] +[group_20298] +[group_20299] +[group_20300] +[group_20301] +[group_20302] +[group_20303] +[group_20304] +[group_20305] +[group_20306] +[group_20307] +[group_20308] +[group_20309] +[group_20310] +[group_20311] +[group_20312] +[group_20313] +[group_20314] +[group_20315] +[group_20316] +[group_20317] +[group_20318] +[group_20319] +[group_20320] +[group_20321] +[group_20322] +[group_20323] +[group_20324] +[group_20325] +[group_20326] +[group_20327] +[group_20328] +[group_20329] +[group_20330] +[group_20331] +[group_20332] +[group_20333] +[group_20334] +[group_20335] +[group_20336] +[group_20337] +[group_20338] +[group_20339] +[group_20340] +[group_20341] +[group_20342] +[group_20343] +[group_20344] +[group_20345] +[group_20346] +[group_20347] +[group_20348] +[group_20349] +[group_20350] +[group_20351] +[group_20352] +[group_20353] +[group_20354] +[group_20355] +[group_20356] +[group_20357] +[group_20358] +[group_20359] +[group_20360] +[group_20361] +[group_20362] +[group_20363] +[group_20364] +[group_20365] +[group_20366] +[group_20367] +[group_20368] +[group_20369] +[group_20370] +[group_20371] +[group_20372] +[group_20373] +[group_20374] +[group_20375] +[group_20376] +[group_20377] +[group_20378] +[group_20379] +[group_20380] +[group_20381] +[group_20382] +[group_20383] +[group_20384] +[group_20385] +[group_20386] +[group_20387] +[group_20388] +[group_20389] +[group_20390] +[group_20391] +[group_20392] +[group_20393] +[group_20394] +[group_20395] +[group_20396] +[group_20397] +[group_20398] +[group_20399] +[group_20400] +[group_20401] +[group_20402] +[group_20403] +[group_20404] +[group_20405] +[group_20406] +[group_20407] +[group_20408] +[group_20409] +[group_20410] +[group_20411] +[group_20412] +[group_20413] +[group_20414] +[group_20415] +[group_20416] +[group_20417] +[group_20418] +[group_20419] +[group_20420] +[group_20421] +[group_20422] +[group_20423] +[group_20424] +[group_20425] +[group_20426] +[group_20427] +[group_20428] +[group_20429] +[group_20430] +[group_20431] +[group_20432] +[group_20433] +[group_20434] +[group_20435] +[group_20436] +[group_20437] +[group_20438] +[group_20439] +[group_20440] +[group_20441] +[group_20442] +[group_20443] +[group_20444] +[group_20445] +[group_20446] +[group_20447] +[group_20448] +[group_20449] +[group_20450] +[group_20451] +[group_20452] +[group_20453] +[group_20454] +[group_20455] +[group_20456] +[group_20457] +[group_20458] +[group_20459] +[group_20460] +[group_20461] +[group_20462] +[group_20463] +[group_20464] +[group_20465] +[group_20466] +[group_20467] +[group_20468] +[group_20469] +[group_20470] +[group_20471] +[group_20472] +[group_20473] +[group_20474] +[group_20475] +[group_20476] +[group_20477] +[group_20478] +[group_20479] +[group_20480] +[group_20481] +[group_20482] +[group_20483] +[group_20484] +[group_20485] +[group_20486] +[group_20487] +[group_20488] +[group_20489] +[group_20490] +[group_20491] +[group_20492] +[group_20493] +[group_20494] +[group_20495] +[group_20496] +[group_20497] +[group_20498] +[group_20499] +[group_20500] +[group_20501] +[group_20502] +[group_20503] +[group_20504] +[group_20505] +[group_20506] +[group_20507] +[group_20508] +[group_20509] +[group_20510] +[group_20511] +[group_20512] +[group_20513] +[group_20514] +[group_20515] +[group_20516] +[group_20517] +[group_20518] +[group_20519] +[group_20520] +[group_20521] +[group_20522] +[group_20523] +[group_20524] +[group_20525] +[group_20526] +[group_20527] +[group_20528] +[group_20529] +[group_20530] +[group_20531] +[group_20532] +[group_20533] +[group_20534] +[group_20535] +[group_20536] +[group_20537] +[group_20538] +[group_20539] +[group_20540] +[group_20541] +[group_20542] +[group_20543] +[group_20544] +[group_20545] +[group_20546] +[group_20547] +[group_20548] +[group_20549] +[group_20550] +[group_20551] +[group_20552] +[group_20553] +[group_20554] +[group_20555] +[group_20556] +[group_20557] +[group_20558] +[group_20559] +[group_20560] +[group_20561] +[group_20562] +[group_20563] +[group_20564] +[group_20565] +[group_20566] +[group_20567] +[group_20568] +[group_20569] +[group_20570] +[group_20571] +[group_20572] +[group_20573] +[group_20574] +[group_20575] +[group_20576] +[group_20577] +[group_20578] +[group_20579] +[group_20580] +[group_20581] +[group_20582] +[group_20583] +[group_20584] +[group_20585] +[group_20586] +[group_20587] +[group_20588] +[group_20589] +[group_20590] +[group_20591] +[group_20592] +[group_20593] +[group_20594] +[group_20595] +[group_20596] +[group_20597] +[group_20598] +[group_20599] +[group_20600] +[group_20601] +[group_20602] +[group_20603] +[group_20604] +[group_20605] +[group_20606] +[group_20607] +[group_20608] +[group_20609] +[group_20610] +[group_20611] +[group_20612] +[group_20613] +[group_20614] +[group_20615] +[group_20616] +[group_20617] +[group_20618] +[group_20619] +[group_20620] +[group_20621] +[group_20622] +[group_20623] +[group_20624] +[group_20625] +[group_20626] +[group_20627] +[group_20628] +[group_20629] +[group_20630] +[group_20631] +[group_20632] +[group_20633] +[group_20634] +[group_20635] +[group_20636] +[group_20637] +[group_20638] +[group_20639] +[group_20640] +[group_20641] +[group_20642] +[group_20643] +[group_20644] +[group_20645] +[group_20646] +[group_20647] +[group_20648] +[group_20649] +[group_20650] +[group_20651] +[group_20652] +[group_20653] +[group_20654] +[group_20655] +[group_20656] +[group_20657] +[group_20658] +[group_20659] +[group_20660] +[group_20661] +[group_20662] +[group_20663] +[group_20664] +[group_20665] +[group_20666] +[group_20667] +[group_20668] +[group_20669] +[group_20670] +[group_20671] +[group_20672] +[group_20673] +[group_20674] +[group_20675] +[group_20676] +[group_20677] +[group_20678] +[group_20679] +[group_20680] +[group_20681] +[group_20682] +[group_20683] +[group_20684] +[group_20685] +[group_20686] +[group_20687] +[group_20688] +[group_20689] +[group_20690] +[group_20691] +[group_20692] +[group_20693] +[group_20694] +[group_20695] +[group_20696] +[group_20697] +[group_20698] +[group_20699] +[group_20700] +[group_20701] +[group_20702] +[group_20703] +[group_20704] +[group_20705] +[group_20706] +[group_20707] +[group_20708] +[group_20709] +[group_20710] +[group_20711] +[group_20712] +[group_20713] +[group_20714] +[group_20715] +[group_20716] +[group_20717] +[group_20718] +[group_20719] +[group_20720] +[group_20721] +[group_20722] +[group_20723] +[group_20724] +[group_20725] +[group_20726] +[group_20727] +[group_20728] +[group_20729] +[group_20730] +[group_20731] +[group_20732] +[group_20733] +[group_20734] +[group_20735] +[group_20736] +[group_20737] +[group_20738] +[group_20739] +[group_20740] +[group_20741] +[group_20742] +[group_20743] +[group_20744] +[group_20745] +[group_20746] +[group_20747] +[group_20748] +[group_20749] +[group_20750] +[group_20751] +[group_20752] +[group_20753] +[group_20754] +[group_20755] +[group_20756] +[group_20757] +[group_20758] +[group_20759] +[group_20760] +[group_20761] +[group_20762] +[group_20763] +[group_20764] +[group_20765] +[group_20766] +[group_20767] +[group_20768] +[group_20769] +[group_20770] +[group_20771] +[group_20772] +[group_20773] +[group_20774] +[group_20775] +[group_20776] +[group_20777] +[group_20778] +[group_20779] +[group_20780] +[group_20781] +[group_20782] +[group_20783] +[group_20784] +[group_20785] +[group_20786] +[group_20787] +[group_20788] +[group_20789] +[group_20790] +[group_20791] +[group_20792] +[group_20793] +[group_20794] +[group_20795] +[group_20796] +[group_20797] +[group_20798] +[group_20799] +[group_20800] +[group_20801] +[group_20802] +[group_20803] +[group_20804] +[group_20805] +[group_20806] +[group_20807] +[group_20808] +[group_20809] +[group_20810] +[group_20811] +[group_20812] +[group_20813] +[group_20814] +[group_20815] +[group_20816] +[group_20817] +[group_20818] +[group_20819] +[group_20820] +[group_20821] +[group_20822] +[group_20823] +[group_20824] +[group_20825] +[group_20826] +[group_20827] +[group_20828] +[group_20829] +[group_20830] +[group_20831] +[group_20832] +[group_20833] +[group_20834] +[group_20835] +[group_20836] +[group_20837] +[group_20838] +[group_20839] +[group_20840] +[group_20841] +[group_20842] +[group_20843] +[group_20844] +[group_20845] +[group_20846] +[group_20847] +[group_20848] +[group_20849] +[group_20850] +[group_20851] +[group_20852] +[group_20853] +[group_20854] +[group_20855] +[group_20856] +[group_20857] +[group_20858] +[group_20859] +[group_20860] +[group_20861] +[group_20862] +[group_20863] +[group_20864] +[group_20865] +[group_20866] +[group_20867] +[group_20868] +[group_20869] +[group_20870] +[group_20871] +[group_20872] +[group_20873] +[group_20874] +[group_20875] +[group_20876] +[group_20877] +[group_20878] +[group_20879] +[group_20880] +[group_20881] +[group_20882] +[group_20883] +[group_20884] +[group_20885] +[group_20886] +[group_20887] +[group_20888] +[group_20889] +[group_20890] +[group_20891] +[group_20892] +[group_20893] +[group_20894] +[group_20895] +[group_20896] +[group_20897] +[group_20898] +[group_20899] +[group_20900] +[group_20901] +[group_20902] +[group_20903] +[group_20904] +[group_20905] +[group_20906] +[group_20907] +[group_20908] +[group_20909] +[group_20910] +[group_20911] +[group_20912] +[group_20913] +[group_20914] +[group_20915] +[group_20916] +[group_20917] +[group_20918] +[group_20919] +[group_20920] +[group_20921] +[group_20922] +[group_20923] +[group_20924] +[group_20925] +[group_20926] +[group_20927] +[group_20928] +[group_20929] +[group_20930] +[group_20931] +[group_20932] +[group_20933] +[group_20934] +[group_20935] +[group_20936] +[group_20937] +[group_20938] +[group_20939] +[group_20940] +[group_20941] +[group_20942] +[group_20943] +[group_20944] +[group_20945] +[group_20946] +[group_20947] +[group_20948] +[group_20949] +[group_20950] +[group_20951] +[group_20952] +[group_20953] +[group_20954] +[group_20955] +[group_20956] +[group_20957] +[group_20958] +[group_20959] +[group_20960] +[group_20961] +[group_20962] +[group_20963] +[group_20964] +[group_20965] +[group_20966] +[group_20967] +[group_20968] +[group_20969] +[group_20970] +[group_20971] +[group_20972] +[group_20973] +[group_20974] +[group_20975] +[group_20976] +[group_20977] +[group_20978] +[group_20979] +[group_20980] +[group_20981] +[group_20982] +[group_20983] +[group_20984] +[group_20985] +[group_20986] +[group_20987] +[group_20988] +[group_20989] +[group_20990] +[group_20991] +[group_20992] +[group_20993] +[group_20994] +[group_20995] +[group_20996] +[group_20997] +[group_20998] +[group_20999] +[group_21000] +[group_21001] +[group_21002] +[group_21003] +[group_21004] +[group_21005] +[group_21006] +[group_21007] +[group_21008] +[group_21009] +[group_21010] +[group_21011] +[group_21012] +[group_21013] +[group_21014] +[group_21015] +[group_21016] +[group_21017] +[group_21018] +[group_21019] +[group_21020] +[group_21021] +[group_21022] +[group_21023] +[group_21024] +[group_21025] +[group_21026] +[group_21027] +[group_21028] +[group_21029] +[group_21030] +[group_21031] +[group_21032] +[group_21033] +[group_21034] +[group_21035] +[group_21036] +[group_21037] +[group_21038] +[group_21039] +[group_21040] +[group_21041] +[group_21042] +[group_21043] +[group_21044] +[group_21045] +[group_21046] +[group_21047] +[group_21048] +[group_21049] +[group_21050] +[group_21051] +[group_21052] +[group_21053] +[group_21054] +[group_21055] +[group_21056] +[group_21057] +[group_21058] +[group_21059] +[group_21060] +[group_21061] +[group_21062] +[group_21063] +[group_21064] +[group_21065] +[group_21066] +[group_21067] +[group_21068] +[group_21069] +[group_21070] +[group_21071] +[group_21072] +[group_21073] +[group_21074] +[group_21075] +[group_21076] +[group_21077] +[group_21078] +[group_21079] +[group_21080] +[group_21081] +[group_21082] +[group_21083] +[group_21084] +[group_21085] +[group_21086] +[group_21087] +[group_21088] +[group_21089] +[group_21090] +[group_21091] +[group_21092] +[group_21093] +[group_21094] +[group_21095] +[group_21096] +[group_21097] +[group_21098] +[group_21099] +[group_21100] +[group_21101] +[group_21102] +[group_21103] +[group_21104] +[group_21105] +[group_21106] +[group_21107] +[group_21108] +[group_21109] +[group_21110] +[group_21111] +[group_21112] +[group_21113] +[group_21114] +[group_21115] +[group_21116] +[group_21117] +[group_21118] +[group_21119] +[group_21120] +[group_21121] +[group_21122] +[group_21123] +[group_21124] +[group_21125] +[group_21126] +[group_21127] +[group_21128] +[group_21129] +[group_21130] +[group_21131] +[group_21132] +[group_21133] +[group_21134] +[group_21135] +[group_21136] +[group_21137] +[group_21138] +[group_21139] +[group_21140] +[group_21141] +[group_21142] +[group_21143] +[group_21144] +[group_21145] +[group_21146] +[group_21147] +[group_21148] +[group_21149] +[group_21150] +[group_21151] +[group_21152] +[group_21153] +[group_21154] +[group_21155] +[group_21156] +[group_21157] +[group_21158] +[group_21159] +[group_21160] +[group_21161] +[group_21162] +[group_21163] +[group_21164] +[group_21165] +[group_21166] +[group_21167] +[group_21168] +[group_21169] +[group_21170] +[group_21171] +[group_21172] +[group_21173] +[group_21174] +[group_21175] +[group_21176] +[group_21177] +[group_21178] +[group_21179] +[group_21180] +[group_21181] +[group_21182] +[group_21183] +[group_21184] +[group_21185] +[group_21186] +[group_21187] +[group_21188] +[group_21189] +[group_21190] +[group_21191] +[group_21192] +[group_21193] +[group_21194] +[group_21195] +[group_21196] +[group_21197] +[group_21198] +[group_21199] +[group_21200] +[group_21201] +[group_21202] +[group_21203] +[group_21204] +[group_21205] +[group_21206] +[group_21207] +[group_21208] +[group_21209] +[group_21210] +[group_21211] +[group_21212] +[group_21213] +[group_21214] +[group_21215] +[group_21216] +[group_21217] +[group_21218] +[group_21219] +[group_21220] +[group_21221] +[group_21222] +[group_21223] +[group_21224] +[group_21225] +[group_21226] +[group_21227] +[group_21228] +[group_21229] +[group_21230] +[group_21231] +[group_21232] +[group_21233] +[group_21234] +[group_21235] +[group_21236] +[group_21237] +[group_21238] +[group_21239] +[group_21240] +[group_21241] +[group_21242] +[group_21243] +[group_21244] +[group_21245] +[group_21246] +[group_21247] +[group_21248] +[group_21249] +[group_21250] +[group_21251] +[group_21252] +[group_21253] +[group_21254] +[group_21255] +[group_21256] +[group_21257] +[group_21258] +[group_21259] +[group_21260] +[group_21261] +[group_21262] +[group_21263] +[group_21264] +[group_21265] +[group_21266] +[group_21267] +[group_21268] +[group_21269] +[group_21270] +[group_21271] +[group_21272] +[group_21273] +[group_21274] +[group_21275] +[group_21276] +[group_21277] +[group_21278] +[group_21279] +[group_21280] +[group_21281] +[group_21282] +[group_21283] +[group_21284] +[group_21285] +[group_21286] +[group_21287] +[group_21288] +[group_21289] +[group_21290] +[group_21291] +[group_21292] +[group_21293] +[group_21294] +[group_21295] +[group_21296] +[group_21297] +[group_21298] +[group_21299] +[group_21300] +[group_21301] +[group_21302] +[group_21303] +[group_21304] +[group_21305] +[group_21306] +[group_21307] +[group_21308] +[group_21309] +[group_21310] +[group_21311] +[group_21312] +[group_21313] +[group_21314] +[group_21315] +[group_21316] +[group_21317] +[group_21318] +[group_21319] +[group_21320] +[group_21321] +[group_21322] +[group_21323] +[group_21324] +[group_21325] +[group_21326] +[group_21327] +[group_21328] +[group_21329] +[group_21330] +[group_21331] +[group_21332] +[group_21333] +[group_21334] +[group_21335] +[group_21336] +[group_21337] +[group_21338] +[group_21339] +[group_21340] +[group_21341] +[group_21342] +[group_21343] +[group_21344] +[group_21345] +[group_21346] +[group_21347] +[group_21348] +[group_21349] +[group_21350] +[group_21351] +[group_21352] +[group_21353] +[group_21354] +[group_21355] +[group_21356] +[group_21357] +[group_21358] +[group_21359] +[group_21360] +[group_21361] +[group_21362] +[group_21363] +[group_21364] +[group_21365] +[group_21366] +[group_21367] +[group_21368] +[group_21369] +[group_21370] +[group_21371] +[group_21372] +[group_21373] +[group_21374] +[group_21375] +[group_21376] +[group_21377] +[group_21378] +[group_21379] +[group_21380] +[group_21381] +[group_21382] +[group_21383] +[group_21384] +[group_21385] +[group_21386] +[group_21387] +[group_21388] +[group_21389] +[group_21390] +[group_21391] +[group_21392] +[group_21393] +[group_21394] +[group_21395] +[group_21396] +[group_21397] +[group_21398] +[group_21399] +[group_21400] +[group_21401] +[group_21402] +[group_21403] +[group_21404] +[group_21405] +[group_21406] +[group_21407] +[group_21408] +[group_21409] +[group_21410] +[group_21411] +[group_21412] +[group_21413] +[group_21414] +[group_21415] +[group_21416] +[group_21417] +[group_21418] +[group_21419] +[group_21420] +[group_21421] +[group_21422] +[group_21423] +[group_21424] +[group_21425] +[group_21426] +[group_21427] +[group_21428] +[group_21429] +[group_21430] +[group_21431] +[group_21432] +[group_21433] +[group_21434] +[group_21435] +[group_21436] +[group_21437] +[group_21438] +[group_21439] +[group_21440] +[group_21441] +[group_21442] +[group_21443] +[group_21444] +[group_21445] +[group_21446] +[group_21447] +[group_21448] +[group_21449] +[group_21450] +[group_21451] +[group_21452] +[group_21453] +[group_21454] +[group_21455] +[group_21456] +[group_21457] +[group_21458] +[group_21459] +[group_21460] +[group_21461] +[group_21462] +[group_21463] +[group_21464] +[group_21465] +[group_21466] +[group_21467] +[group_21468] +[group_21469] +[group_21470] +[group_21471] +[group_21472] +[group_21473] +[group_21474] +[group_21475] +[group_21476] +[group_21477] +[group_21478] +[group_21479] +[group_21480] +[group_21481] +[group_21482] +[group_21483] +[group_21484] +[group_21485] +[group_21486] +[group_21487] +[group_21488] +[group_21489] +[group_21490] +[group_21491] +[group_21492] +[group_21493] +[group_21494] +[group_21495] +[group_21496] +[group_21497] +[group_21498] +[group_21499] +[group_21500] +[group_21501] +[group_21502] +[group_21503] +[group_21504] +[group_21505] +[group_21506] +[group_21507] +[group_21508] +[group_21509] +[group_21510] +[group_21511] +[group_21512] +[group_21513] +[group_21514] +[group_21515] +[group_21516] +[group_21517] +[group_21518] +[group_21519] +[group_21520] +[group_21521] +[group_21522] +[group_21523] +[group_21524] +[group_21525] +[group_21526] +[group_21527] +[group_21528] +[group_21529] +[group_21530] +[group_21531] +[group_21532] +[group_21533] +[group_21534] +[group_21535] +[group_21536] +[group_21537] +[group_21538] +[group_21539] +[group_21540] +[group_21541] +[group_21542] +[group_21543] +[group_21544] +[group_21545] +[group_21546] +[group_21547] +[group_21548] +[group_21549] +[group_21550] +[group_21551] +[group_21552] +[group_21553] +[group_21554] +[group_21555] +[group_21556] +[group_21557] +[group_21558] +[group_21559] +[group_21560] +[group_21561] +[group_21562] +[group_21563] +[group_21564] +[group_21565] +[group_21566] +[group_21567] +[group_21568] +[group_21569] +[group_21570] +[group_21571] +[group_21572] +[group_21573] +[group_21574] +[group_21575] +[group_21576] +[group_21577] +[group_21578] +[group_21579] +[group_21580] +[group_21581] +[group_21582] +[group_21583] +[group_21584] +[group_21585] +[group_21586] +[group_21587] +[group_21588] +[group_21589] +[group_21590] +[group_21591] +[group_21592] +[group_21593] +[group_21594] +[group_21595] +[group_21596] +[group_21597] +[group_21598] +[group_21599] +[group_21600] +[group_21601] +[group_21602] +[group_21603] +[group_21604] +[group_21605] +[group_21606] +[group_21607] +[group_21608] +[group_21609] +[group_21610] +[group_21611] +[group_21612] +[group_21613] +[group_21614] +[group_21615] +[group_21616] +[group_21617] +[group_21618] +[group_21619] +[group_21620] +[group_21621] +[group_21622] +[group_21623] +[group_21624] +[group_21625] +[group_21626] +[group_21627] +[group_21628] +[group_21629] +[group_21630] +[group_21631] +[group_21632] +[group_21633] +[group_21634] +[group_21635] +[group_21636] +[group_21637] +[group_21638] +[group_21639] +[group_21640] +[group_21641] +[group_21642] +[group_21643] +[group_21644] +[group_21645] +[group_21646] +[group_21647] +[group_21648] +[group_21649] +[group_21650] +[group_21651] +[group_21652] +[group_21653] +[group_21654] +[group_21655] +[group_21656] +[group_21657] +[group_21658] +[group_21659] +[group_21660] +[group_21661] +[group_21662] +[group_21663] +[group_21664] +[group_21665] +[group_21666] +[group_21667] +[group_21668] +[group_21669] +[group_21670] +[group_21671] +[group_21672] +[group_21673] +[group_21674] +[group_21675] +[group_21676] +[group_21677] +[group_21678] +[group_21679] +[group_21680] +[group_21681] +[group_21682] +[group_21683] +[group_21684] +[group_21685] +[group_21686] +[group_21687] +[group_21688] +[group_21689] +[group_21690] +[group_21691] +[group_21692] +[group_21693] +[group_21694] +[group_21695] +[group_21696] +[group_21697] +[group_21698] +[group_21699] +[group_21700] +[group_21701] +[group_21702] +[group_21703] +[group_21704] +[group_21705] +[group_21706] +[group_21707] +[group_21708] +[group_21709] +[group_21710] +[group_21711] +[group_21712] +[group_21713] +[group_21714] +[group_21715] +[group_21716] +[group_21717] +[group_21718] +[group_21719] +[group_21720] +[group_21721] +[group_21722] +[group_21723] +[group_21724] +[group_21725] +[group_21726] +[group_21727] +[group_21728] +[group_21729] +[group_21730] +[group_21731] +[group_21732] +[group_21733] +[group_21734] +[group_21735] +[group_21736] +[group_21737] +[group_21738] +[group_21739] +[group_21740] +[group_21741] +[group_21742] +[group_21743] +[group_21744] +[group_21745] +[group_21746] +[group_21747] +[group_21748] +[group_21749] +[group_21750] +[group_21751] +[group_21752] +[group_21753] +[group_21754] +[group_21755] +[group_21756] +[group_21757] +[group_21758] +[group_21759] +[group_21760] +[group_21761] +[group_21762] +[group_21763] +[group_21764] +[group_21765] +[group_21766] +[group_21767] +[group_21768] +[group_21769] +[group_21770] +[group_21771] +[group_21772] +[group_21773] +[group_21774] +[group_21775] +[group_21776] +[group_21777] +[group_21778] +[group_21779] +[group_21780] +[group_21781] +[group_21782] +[group_21783] +[group_21784] +[group_21785] +[group_21786] +[group_21787] +[group_21788] +[group_21789] +[group_21790] +[group_21791] +[group_21792] +[group_21793] +[group_21794] +[group_21795] +[group_21796] +[group_21797] +[group_21798] +[group_21799] +[group_21800] +[group_21801] +[group_21802] +[group_21803] +[group_21804] +[group_21805] +[group_21806] +[group_21807] +[group_21808] +[group_21809] +[group_21810] +[group_21811] +[group_21812] +[group_21813] +[group_21814] +[group_21815] +[group_21816] +[group_21817] +[group_21818] +[group_21819] +[group_21820] +[group_21821] +[group_21822] +[group_21823] +[group_21824] +[group_21825] +[group_21826] +[group_21827] +[group_21828] +[group_21829] +[group_21830] +[group_21831] +[group_21832] +[group_21833] +[group_21834] +[group_21835] +[group_21836] +[group_21837] +[group_21838] +[group_21839] +[group_21840] +[group_21841] +[group_21842] +[group_21843] +[group_21844] +[group_21845] +[group_21846] +[group_21847] +[group_21848] +[group_21849] +[group_21850] +[group_21851] +[group_21852] +[group_21853] +[group_21854] +[group_21855] +[group_21856] +[group_21857] +[group_21858] +[group_21859] +[group_21860] +[group_21861] +[group_21862] +[group_21863] +[group_21864] +[group_21865] +[group_21866] +[group_21867] +[group_21868] +[group_21869] +[group_21870] +[group_21871] +[group_21872] +[group_21873] +[group_21874] +[group_21875] +[group_21876] +[group_21877] +[group_21878] +[group_21879] +[group_21880] +[group_21881] +[group_21882] +[group_21883] +[group_21884] +[group_21885] +[group_21886] +[group_21887] +[group_21888] +[group_21889] +[group_21890] +[group_21891] +[group_21892] +[group_21893] +[group_21894] +[group_21895] +[group_21896] +[group_21897] +[group_21898] +[group_21899] +[group_21900] +[group_21901] +[group_21902] +[group_21903] +[group_21904] +[group_21905] +[group_21906] +[group_21907] +[group_21908] +[group_21909] +[group_21910] +[group_21911] +[group_21912] +[group_21913] +[group_21914] +[group_21915] +[group_21916] +[group_21917] +[group_21918] +[group_21919] +[group_21920] +[group_21921] +[group_21922] +[group_21923] +[group_21924] +[group_21925] +[group_21926] +[group_21927] +[group_21928] +[group_21929] +[group_21930] +[group_21931] +[group_21932] +[group_21933] +[group_21934] +[group_21935] +[group_21936] +[group_21937] +[group_21938] +[group_21939] +[group_21940] +[group_21941] +[group_21942] +[group_21943] +[group_21944] +[group_21945] +[group_21946] +[group_21947] +[group_21948] +[group_21949] +[group_21950] +[group_21951] +[group_21952] +[group_21953] +[group_21954] +[group_21955] +[group_21956] +[group_21957] +[group_21958] +[group_21959] +[group_21960] +[group_21961] +[group_21962] +[group_21963] +[group_21964] +[group_21965] +[group_21966] +[group_21967] +[group_21968] +[group_21969] +[group_21970] +[group_21971] +[group_21972] +[group_21973] +[group_21974] +[group_21975] +[group_21976] +[group_21977] +[group_21978] +[group_21979] +[group_21980] +[group_21981] +[group_21982] +[group_21983] +[group_21984] +[group_21985] +[group_21986] +[group_21987] +[group_21988] +[group_21989] +[group_21990] +[group_21991] +[group_21992] +[group_21993] +[group_21994] +[group_21995] +[group_21996] +[group_21997] +[group_21998] +[group_21999] +[group_22000] +[group_22001] +[group_22002] +[group_22003] +[group_22004] +[group_22005] +[group_22006] +[group_22007] +[group_22008] +[group_22009] +[group_22010] +[group_22011] +[group_22012] +[group_22013] +[group_22014] +[group_22015] +[group_22016] +[group_22017] +[group_22018] +[group_22019] +[group_22020] +[group_22021] +[group_22022] +[group_22023] +[group_22024] +[group_22025] +[group_22026] +[group_22027] +[group_22028] +[group_22029] +[group_22030] +[group_22031] +[group_22032] +[group_22033] +[group_22034] +[group_22035] +[group_22036] +[group_22037] +[group_22038] +[group_22039] +[group_22040] +[group_22041] +[group_22042] +[group_22043] +[group_22044] +[group_22045] +[group_22046] +[group_22047] +[group_22048] +[group_22049] +[group_22050] +[group_22051] +[group_22052] +[group_22053] +[group_22054] +[group_22055] +[group_22056] +[group_22057] +[group_22058] +[group_22059] +[group_22060] +[group_22061] +[group_22062] +[group_22063] +[group_22064] +[group_22065] +[group_22066] +[group_22067] +[group_22068] +[group_22069] +[group_22070] +[group_22071] +[group_22072] +[group_22073] +[group_22074] +[group_22075] +[group_22076] +[group_22077] +[group_22078] +[group_22079] +[group_22080] +[group_22081] +[group_22082] +[group_22083] +[group_22084] +[group_22085] +[group_22086] +[group_22087] +[group_22088] +[group_22089] +[group_22090] +[group_22091] +[group_22092] +[group_22093] +[group_22094] +[group_22095] +[group_22096] +[group_22097] +[group_22098] +[group_22099] +[group_22100] +[group_22101] +[group_22102] +[group_22103] +[group_22104] +[group_22105] +[group_22106] +[group_22107] +[group_22108] +[group_22109] +[group_22110] +[group_22111] +[group_22112] +[group_22113] +[group_22114] +[group_22115] +[group_22116] +[group_22117] +[group_22118] +[group_22119] +[group_22120] +[group_22121] +[group_22122] +[group_22123] +[group_22124] +[group_22125] +[group_22126] +[group_22127] +[group_22128] +[group_22129] +[group_22130] +[group_22131] +[group_22132] +[group_22133] +[group_22134] +[group_22135] +[group_22136] +[group_22137] +[group_22138] +[group_22139] +[group_22140] +[group_22141] +[group_22142] +[group_22143] +[group_22144] +[group_22145] +[group_22146] +[group_22147] +[group_22148] +[group_22149] +[group_22150] +[group_22151] +[group_22152] +[group_22153] +[group_22154] +[group_22155] +[group_22156] +[group_22157] +[group_22158] +[group_22159] +[group_22160] +[group_22161] +[group_22162] +[group_22163] +[group_22164] +[group_22165] +[group_22166] +[group_22167] +[group_22168] +[group_22169] +[group_22170] +[group_22171] +[group_22172] +[group_22173] +[group_22174] +[group_22175] +[group_22176] +[group_22177] +[group_22178] +[group_22179] +[group_22180] +[group_22181] +[group_22182] +[group_22183] +[group_22184] +[group_22185] +[group_22186] +[group_22187] +[group_22188] +[group_22189] +[group_22190] +[group_22191] +[group_22192] +[group_22193] +[group_22194] +[group_22195] +[group_22196] +[group_22197] +[group_22198] +[group_22199] +[group_22200] +[group_22201] +[group_22202] +[group_22203] +[group_22204] +[group_22205] +[group_22206] +[group_22207] +[group_22208] +[group_22209] +[group_22210] +[group_22211] +[group_22212] +[group_22213] +[group_22214] +[group_22215] +[group_22216] +[group_22217] +[group_22218] +[group_22219] +[group_22220] +[group_22221] +[group_22222] +[group_22223] +[group_22224] +[group_22225] +[group_22226] +[group_22227] +[group_22228] +[group_22229] +[group_22230] +[group_22231] +[group_22232] +[group_22233] +[group_22234] +[group_22235] +[group_22236] +[group_22237] +[group_22238] +[group_22239] +[group_22240] +[group_22241] +[group_22242] +[group_22243] +[group_22244] +[group_22245] +[group_22246] +[group_22247] +[group_22248] +[group_22249] +[group_22250] +[group_22251] +[group_22252] +[group_22253] +[group_22254] +[group_22255] +[group_22256] +[group_22257] +[group_22258] +[group_22259] +[group_22260] +[group_22261] +[group_22262] +[group_22263] +[group_22264] +[group_22265] +[group_22266] +[group_22267] +[group_22268] +[group_22269] +[group_22270] +[group_22271] +[group_22272] +[group_22273] +[group_22274] +[group_22275] +[group_22276] +[group_22277] +[group_22278] +[group_22279] +[group_22280] +[group_22281] +[group_22282] +[group_22283] +[group_22284] +[group_22285] +[group_22286] +[group_22287] +[group_22288] +[group_22289] +[group_22290] +[group_22291] +[group_22292] +[group_22293] +[group_22294] +[group_22295] +[group_22296] +[group_22297] +[group_22298] +[group_22299] +[group_22300] +[group_22301] +[group_22302] +[group_22303] +[group_22304] +[group_22305] +[group_22306] +[group_22307] +[group_22308] +[group_22309] +[group_22310] +[group_22311] +[group_22312] +[group_22313] +[group_22314] +[group_22315] +[group_22316] +[group_22317] +[group_22318] +[group_22319] +[group_22320] +[group_22321] +[group_22322] +[group_22323] +[group_22324] +[group_22325] +[group_22326] +[group_22327] +[group_22328] +[group_22329] +[group_22330] +[group_22331] +[group_22332] +[group_22333] +[group_22334] +[group_22335] +[group_22336] +[group_22337] +[group_22338] +[group_22339] +[group_22340] +[group_22341] +[group_22342] +[group_22343] +[group_22344] +[group_22345] +[group_22346] +[group_22347] +[group_22348] +[group_22349] +[group_22350] +[group_22351] +[group_22352] +[group_22353] +[group_22354] +[group_22355] +[group_22356] +[group_22357] +[group_22358] +[group_22359] +[group_22360] +[group_22361] +[group_22362] +[group_22363] +[group_22364] +[group_22365] +[group_22366] +[group_22367] +[group_22368] +[group_22369] +[group_22370] +[group_22371] +[group_22372] +[group_22373] +[group_22374] +[group_22375] +[group_22376] +[group_22377] +[group_22378] +[group_22379] +[group_22380] +[group_22381] +[group_22382] +[group_22383] +[group_22384] +[group_22385] +[group_22386] +[group_22387] +[group_22388] +[group_22389] +[group_22390] +[group_22391] +[group_22392] +[group_22393] +[group_22394] +[group_22395] +[group_22396] +[group_22397] +[group_22398] +[group_22399] +[group_22400] +[group_22401] +[group_22402] +[group_22403] +[group_22404] +[group_22405] +[group_22406] +[group_22407] +[group_22408] +[group_22409] +[group_22410] +[group_22411] +[group_22412] +[group_22413] +[group_22414] +[group_22415] +[group_22416] +[group_22417] +[group_22418] +[group_22419] +[group_22420] +[group_22421] +[group_22422] +[group_22423] +[group_22424] +[group_22425] +[group_22426] +[group_22427] +[group_22428] +[group_22429] +[group_22430] +[group_22431] +[group_22432] +[group_22433] +[group_22434] +[group_22435] +[group_22436] +[group_22437] +[group_22438] +[group_22439] +[group_22440] +[group_22441] +[group_22442] +[group_22443] +[group_22444] +[group_22445] +[group_22446] +[group_22447] +[group_22448] +[group_22449] +[group_22450] +[group_22451] +[group_22452] +[group_22453] +[group_22454] +[group_22455] +[group_22456] +[group_22457] +[group_22458] +[group_22459] +[group_22460] +[group_22461] +[group_22462] +[group_22463] +[group_22464] +[group_22465] +[group_22466] +[group_22467] +[group_22468] +[group_22469] +[group_22470] +[group_22471] +[group_22472] +[group_22473] +[group_22474] +[group_22475] +[group_22476] +[group_22477] +[group_22478] +[group_22479] +[group_22480] +[group_22481] +[group_22482] +[group_22483] +[group_22484] +[group_22485] +[group_22486] +[group_22487] +[group_22488] +[group_22489] +[group_22490] +[group_22491] +[group_22492] +[group_22493] +[group_22494] +[group_22495] +[group_22496] +[group_22497] +[group_22498] +[group_22499] +[group_22500] +[group_22501] +[group_22502] +[group_22503] +[group_22504] +[group_22505] +[group_22506] +[group_22507] +[group_22508] +[group_22509] +[group_22510] +[group_22511] +[group_22512] +[group_22513] +[group_22514] +[group_22515] +[group_22516] +[group_22517] +[group_22518] +[group_22519] +[group_22520] +[group_22521] +[group_22522] +[group_22523] +[group_22524] +[group_22525] +[group_22526] +[group_22527] +[group_22528] +[group_22529] +[group_22530] +[group_22531] +[group_22532] +[group_22533] +[group_22534] +[group_22535] +[group_22536] +[group_22537] +[group_22538] +[group_22539] +[group_22540] +[group_22541] +[group_22542] +[group_22543] +[group_22544] +[group_22545] +[group_22546] +[group_22547] +[group_22548] +[group_22549] +[group_22550] +[group_22551] +[group_22552] +[group_22553] +[group_22554] +[group_22555] +[group_22556] +[group_22557] +[group_22558] +[group_22559] +[group_22560] +[group_22561] +[group_22562] +[group_22563] +[group_22564] +[group_22565] +[group_22566] +[group_22567] +[group_22568] +[group_22569] +[group_22570] +[group_22571] +[group_22572] +[group_22573] +[group_22574] +[group_22575] +[group_22576] +[group_22577] +[group_22578] +[group_22579] +[group_22580] +[group_22581] +[group_22582] +[group_22583] +[group_22584] +[group_22585] +[group_22586] +[group_22587] +[group_22588] +[group_22589] +[group_22590] +[group_22591] +[group_22592] +[group_22593] +[group_22594] +[group_22595] +[group_22596] +[group_22597] +[group_22598] +[group_22599] +[group_22600] +[group_22601] +[group_22602] +[group_22603] +[group_22604] +[group_22605] +[group_22606] +[group_22607] +[group_22608] +[group_22609] +[group_22610] +[group_22611] +[group_22612] +[group_22613] +[group_22614] +[group_22615] +[group_22616] +[group_22617] +[group_22618] +[group_22619] +[group_22620] +[group_22621] +[group_22622] +[group_22623] +[group_22624] +[group_22625] +[group_22626] +[group_22627] +[group_22628] +[group_22629] +[group_22630] +[group_22631] +[group_22632] +[group_22633] +[group_22634] +[group_22635] +[group_22636] +[group_22637] +[group_22638] +[group_22639] +[group_22640] +[group_22641] +[group_22642] +[group_22643] +[group_22644] +[group_22645] +[group_22646] +[group_22647] +[group_22648] +[group_22649] +[group_22650] +[group_22651] +[group_22652] +[group_22653] +[group_22654] +[group_22655] +[group_22656] +[group_22657] +[group_22658] +[group_22659] +[group_22660] +[group_22661] +[group_22662] +[group_22663] +[group_22664] +[group_22665] +[group_22666] +[group_22667] +[group_22668] +[group_22669] +[group_22670] +[group_22671] +[group_22672] +[group_22673] +[group_22674] +[group_22675] +[group_22676] +[group_22677] +[group_22678] +[group_22679] +[group_22680] +[group_22681] +[group_22682] +[group_22683] +[group_22684] +[group_22685] +[group_22686] +[group_22687] +[group_22688] +[group_22689] +[group_22690] +[group_22691] +[group_22692] +[group_22693] +[group_22694] +[group_22695] +[group_22696] +[group_22697] +[group_22698] +[group_22699] +[group_22700] +[group_22701] +[group_22702] +[group_22703] +[group_22704] +[group_22705] +[group_22706] +[group_22707] +[group_22708] +[group_22709] +[group_22710] +[group_22711] +[group_22712] +[group_22713] +[group_22714] +[group_22715] +[group_22716] +[group_22717] +[group_22718] +[group_22719] +[group_22720] +[group_22721] +[group_22722] +[group_22723] +[group_22724] +[group_22725] +[group_22726] +[group_22727] +[group_22728] +[group_22729] +[group_22730] +[group_22731] +[group_22732] +[group_22733] +[group_22734] +[group_22735] +[group_22736] +[group_22737] +[group_22738] +[group_22739] +[group_22740] +[group_22741] +[group_22742] +[group_22743] +[group_22744] +[group_22745] +[group_22746] +[group_22747] +[group_22748] +[group_22749] +[group_22750] +[group_22751] +[group_22752] +[group_22753] +[group_22754] +[group_22755] +[group_22756] +[group_22757] +[group_22758] +[group_22759] +[group_22760] +[group_22761] +[group_22762] +[group_22763] +[group_22764] +[group_22765] +[group_22766] +[group_22767] +[group_22768] +[group_22769] +[group_22770] +[group_22771] +[group_22772] +[group_22773] +[group_22774] +[group_22775] +[group_22776] +[group_22777] +[group_22778] +[group_22779] +[group_22780] +[group_22781] +[group_22782] +[group_22783] +[group_22784] +[group_22785] +[group_22786] +[group_22787] +[group_22788] +[group_22789] +[group_22790] +[group_22791] +[group_22792] +[group_22793] +[group_22794] +[group_22795] +[group_22796] +[group_22797] +[group_22798] +[group_22799] +[group_22800] +[group_22801] +[group_22802] +[group_22803] +[group_22804] +[group_22805] +[group_22806] +[group_22807] +[group_22808] +[group_22809] +[group_22810] +[group_22811] +[group_22812] +[group_22813] +[group_22814] +[group_22815] +[group_22816] +[group_22817] +[group_22818] +[group_22819] +[group_22820] +[group_22821] +[group_22822] +[group_22823] +[group_22824] +[group_22825] +[group_22826] +[group_22827] +[group_22828] +[group_22829] +[group_22830] +[group_22831] +[group_22832] +[group_22833] +[group_22834] +[group_22835] +[group_22836] +[group_22837] +[group_22838] +[group_22839] +[group_22840] +[group_22841] +[group_22842] +[group_22843] +[group_22844] +[group_22845] +[group_22846] +[group_22847] +[group_22848] +[group_22849] +[group_22850] +[group_22851] +[group_22852] +[group_22853] +[group_22854] +[group_22855] +[group_22856] +[group_22857] +[group_22858] +[group_22859] +[group_22860] +[group_22861] +[group_22862] +[group_22863] +[group_22864] +[group_22865] +[group_22866] +[group_22867] +[group_22868] +[group_22869] +[group_22870] +[group_22871] +[group_22872] +[group_22873] +[group_22874] +[group_22875] +[group_22876] +[group_22877] +[group_22878] +[group_22879] +[group_22880] +[group_22881] +[group_22882] +[group_22883] +[group_22884] +[group_22885] +[group_22886] +[group_22887] +[group_22888] +[group_22889] +[group_22890] +[group_22891] +[group_22892] +[group_22893] +[group_22894] +[group_22895] +[group_22896] +[group_22897] +[group_22898] +[group_22899] +[group_22900] +[group_22901] +[group_22902] +[group_22903] +[group_22904] +[group_22905] +[group_22906] +[group_22907] +[group_22908] +[group_22909] +[group_22910] +[group_22911] +[group_22912] +[group_22913] +[group_22914] +[group_22915] +[group_22916] +[group_22917] +[group_22918] +[group_22919] +[group_22920] +[group_22921] +[group_22922] +[group_22923] +[group_22924] +[group_22925] +[group_22926] +[group_22927] +[group_22928] +[group_22929] +[group_22930] +[group_22931] +[group_22932] +[group_22933] +[group_22934] +[group_22935] +[group_22936] +[group_22937] +[group_22938] +[group_22939] +[group_22940] +[group_22941] +[group_22942] +[group_22943] +[group_22944] +[group_22945] +[group_22946] +[group_22947] +[group_22948] +[group_22949] +[group_22950] +[group_22951] +[group_22952] +[group_22953] +[group_22954] +[group_22955] +[group_22956] +[group_22957] +[group_22958] +[group_22959] +[group_22960] +[group_22961] +[group_22962] +[group_22963] +[group_22964] +[group_22965] +[group_22966] +[group_22967] +[group_22968] +[group_22969] +[group_22970] +[group_22971] +[group_22972] +[group_22973] +[group_22974] +[group_22975] +[group_22976] +[group_22977] +[group_22978] +[group_22979] +[group_22980] +[group_22981] +[group_22982] +[group_22983] +[group_22984] +[group_22985] +[group_22986] +[group_22987] +[group_22988] +[group_22989] +[group_22990] +[group_22991] +[group_22992] +[group_22993] +[group_22994] +[group_22995] +[group_22996] +[group_22997] +[group_22998] +[group_22999] +[group_23000] +[group_23001] +[group_23002] +[group_23003] +[group_23004] +[group_23005] +[group_23006] +[group_23007] +[group_23008] +[group_23009] +[group_23010] +[group_23011] +[group_23012] +[group_23013] +[group_23014] +[group_23015] +[group_23016] +[group_23017] +[group_23018] +[group_23019] +[group_23020] +[group_23021] +[group_23022] +[group_23023] +[group_23024] +[group_23025] +[group_23026] +[group_23027] +[group_23028] +[group_23029] +[group_23030] +[group_23031] +[group_23032] +[group_23033] +[group_23034] +[group_23035] +[group_23036] +[group_23037] +[group_23038] +[group_23039] +[group_23040] +[group_23041] +[group_23042] +[group_23043] +[group_23044] +[group_23045] +[group_23046] +[group_23047] +[group_23048] +[group_23049] +[group_23050] +[group_23051] +[group_23052] +[group_23053] +[group_23054] +[group_23055] +[group_23056] +[group_23057] +[group_23058] +[group_23059] +[group_23060] +[group_23061] +[group_23062] +[group_23063] +[group_23064] +[group_23065] +[group_23066] +[group_23067] +[group_23068] +[group_23069] +[group_23070] +[group_23071] +[group_23072] +[group_23073] +[group_23074] +[group_23075] +[group_23076] +[group_23077] +[group_23078] +[group_23079] +[group_23080] +[group_23081] +[group_23082] +[group_23083] +[group_23084] +[group_23085] +[group_23086] +[group_23087] +[group_23088] +[group_23089] +[group_23090] +[group_23091] +[group_23092] +[group_23093] +[group_23094] +[group_23095] +[group_23096] +[group_23097] +[group_23098] +[group_23099] +[group_23100] +[group_23101] +[group_23102] +[group_23103] +[group_23104] +[group_23105] +[group_23106] +[group_23107] +[group_23108] +[group_23109] +[group_23110] +[group_23111] +[group_23112] +[group_23113] +[group_23114] +[group_23115] +[group_23116] +[group_23117] +[group_23118] +[group_23119] +[group_23120] +[group_23121] +[group_23122] +[group_23123] +[group_23124] +[group_23125] +[group_23126] +[group_23127] +[group_23128] +[group_23129] +[group_23130] +[group_23131] +[group_23132] +[group_23133] +[group_23134] +[group_23135] +[group_23136] +[group_23137] +[group_23138] +[group_23139] +[group_23140] +[group_23141] +[group_23142] +[group_23143] +[group_23144] +[group_23145] +[group_23146] +[group_23147] +[group_23148] +[group_23149] +[group_23150] +[group_23151] +[group_23152] +[group_23153] +[group_23154] +[group_23155] +[group_23156] +[group_23157] +[group_23158] +[group_23159] +[group_23160] +[group_23161] +[group_23162] +[group_23163] +[group_23164] +[group_23165] +[group_23166] +[group_23167] +[group_23168] +[group_23169] +[group_23170] +[group_23171] +[group_23172] +[group_23173] +[group_23174] +[group_23175] +[group_23176] +[group_23177] +[group_23178] +[group_23179] +[group_23180] +[group_23181] +[group_23182] +[group_23183] +[group_23184] +[group_23185] +[group_23186] +[group_23187] +[group_23188] +[group_23189] +[group_23190] +[group_23191] +[group_23192] +[group_23193] +[group_23194] +[group_23195] +[group_23196] +[group_23197] +[group_23198] +[group_23199] +[group_23200] +[group_23201] +[group_23202] +[group_23203] +[group_23204] +[group_23205] +[group_23206] +[group_23207] +[group_23208] +[group_23209] +[group_23210] +[group_23211] +[group_23212] +[group_23213] +[group_23214] +[group_23215] +[group_23216] +[group_23217] +[group_23218] +[group_23219] +[group_23220] +[group_23221] +[group_23222] +[group_23223] +[group_23224] +[group_23225] +[group_23226] +[group_23227] +[group_23228] +[group_23229] +[group_23230] +[group_23231] +[group_23232] +[group_23233] +[group_23234] +[group_23235] +[group_23236] +[group_23237] +[group_23238] +[group_23239] +[group_23240] +[group_23241] +[group_23242] +[group_23243] +[group_23244] +[group_23245] +[group_23246] +[group_23247] +[group_23248] +[group_23249] +[group_23250] +[group_23251] +[group_23252] +[group_23253] +[group_23254] +[group_23255] +[group_23256] +[group_23257] +[group_23258] +[group_23259] +[group_23260] +[group_23261] +[group_23262] +[group_23263] +[group_23264] +[group_23265] +[group_23266] +[group_23267] +[group_23268] +[group_23269] +[group_23270] +[group_23271] +[group_23272] +[group_23273] +[group_23274] +[group_23275] +[group_23276] +[group_23277] +[group_23278] +[group_23279] +[group_23280] +[group_23281] +[group_23282] +[group_23283] +[group_23284] +[group_23285] +[group_23286] +[group_23287] +[group_23288] +[group_23289] +[group_23290] +[group_23291] +[group_23292] +[group_23293] +[group_23294] +[group_23295] +[group_23296] +[group_23297] +[group_23298] +[group_23299] +[group_23300] +[group_23301] +[group_23302] +[group_23303] +[group_23304] +[group_23305] +[group_23306] +[group_23307] +[group_23308] +[group_23309] +[group_23310] +[group_23311] +[group_23312] +[group_23313] +[group_23314] +[group_23315] +[group_23316] +[group_23317] +[group_23318] +[group_23319] +[group_23320] +[group_23321] +[group_23322] +[group_23323] +[group_23324] +[group_23325] +[group_23326] +[group_23327] +[group_23328] +[group_23329] +[group_23330] +[group_23331] +[group_23332] +[group_23333] +[group_23334] +[group_23335] +[group_23336] +[group_23337] +[group_23338] +[group_23339] +[group_23340] +[group_23341] +[group_23342] +[group_23343] +[group_23344] +[group_23345] +[group_23346] +[group_23347] +[group_23348] +[group_23349] +[group_23350] +[group_23351] +[group_23352] +[group_23353] +[group_23354] +[group_23355] +[group_23356] +[group_23357] +[group_23358] +[group_23359] +[group_23360] +[group_23361] +[group_23362] +[group_23363] +[group_23364] +[group_23365] +[group_23366] +[group_23367] +[group_23368] +[group_23369] +[group_23370] +[group_23371] +[group_23372] +[group_23373] +[group_23374] +[group_23375] +[group_23376] +[group_23377] +[group_23378] +[group_23379] +[group_23380] +[group_23381] +[group_23382] +[group_23383] +[group_23384] +[group_23385] +[group_23386] +[group_23387] +[group_23388] +[group_23389] +[group_23390] +[group_23391] +[group_23392] +[group_23393] +[group_23394] +[group_23395] +[group_23396] +[group_23397] +[group_23398] +[group_23399] +[group_23400] +[group_23401] +[group_23402] +[group_23403] +[group_23404] +[group_23405] +[group_23406] +[group_23407] +[group_23408] +[group_23409] +[group_23410] +[group_23411] +[group_23412] +[group_23413] +[group_23414] +[group_23415] +[group_23416] +[group_23417] +[group_23418] +[group_23419] +[group_23420] +[group_23421] +[group_23422] +[group_23423] +[group_23424] +[group_23425] +[group_23426] +[group_23427] +[group_23428] +[group_23429] +[group_23430] +[group_23431] +[group_23432] +[group_23433] +[group_23434] +[group_23435] +[group_23436] +[group_23437] +[group_23438] +[group_23439] +[group_23440] +[group_23441] +[group_23442] +[group_23443] +[group_23444] +[group_23445] +[group_23446] +[group_23447] +[group_23448] +[group_23449] +[group_23450] +[group_23451] +[group_23452] +[group_23453] +[group_23454] +[group_23455] +[group_23456] +[group_23457] +[group_23458] +[group_23459] +[group_23460] +[group_23461] +[group_23462] +[group_23463] +[group_23464] +[group_23465] +[group_23466] +[group_23467] +[group_23468] +[group_23469] +[group_23470] +[group_23471] +[group_23472] +[group_23473] +[group_23474] +[group_23475] +[group_23476] +[group_23477] +[group_23478] +[group_23479] +[group_23480] +[group_23481] +[group_23482] +[group_23483] +[group_23484] +[group_23485] +[group_23486] +[group_23487] +[group_23488] +[group_23489] +[group_23490] +[group_23491] +[group_23492] +[group_23493] +[group_23494] +[group_23495] +[group_23496] +[group_23497] +[group_23498] +[group_23499] +[group_23500] +[group_23501] +[group_23502] +[group_23503] +[group_23504] +[group_23505] +[group_23506] +[group_23507] +[group_23508] +[group_23509] +[group_23510] +[group_23511] +[group_23512] +[group_23513] +[group_23514] +[group_23515] +[group_23516] +[group_23517] +[group_23518] +[group_23519] +[group_23520] +[group_23521] +[group_23522] +[group_23523] +[group_23524] +[group_23525] +[group_23526] +[group_23527] +[group_23528] +[group_23529] +[group_23530] +[group_23531] +[group_23532] +[group_23533] +[group_23534] +[group_23535] +[group_23536] +[group_23537] +[group_23538] +[group_23539] +[group_23540] +[group_23541] +[group_23542] +[group_23543] +[group_23544] +[group_23545] +[group_23546] +[group_23547] +[group_23548] +[group_23549] +[group_23550] +[group_23551] +[group_23552] +[group_23553] +[group_23554] +[group_23555] +[group_23556] +[group_23557] +[group_23558] +[group_23559] +[group_23560] +[group_23561] +[group_23562] +[group_23563] +[group_23564] +[group_23565] +[group_23566] +[group_23567] +[group_23568] +[group_23569] +[group_23570] +[group_23571] +[group_23572] +[group_23573] +[group_23574] +[group_23575] +[group_23576] +[group_23577] +[group_23578] +[group_23579] +[group_23580] +[group_23581] +[group_23582] +[group_23583] +[group_23584] +[group_23585] +[group_23586] +[group_23587] +[group_23588] +[group_23589] +[group_23590] +[group_23591] +[group_23592] +[group_23593] +[group_23594] +[group_23595] +[group_23596] +[group_23597] +[group_23598] +[group_23599] +[group_23600] +[group_23601] +[group_23602] +[group_23603] +[group_23604] +[group_23605] +[group_23606] +[group_23607] +[group_23608] +[group_23609] +[group_23610] +[group_23611] +[group_23612] +[group_23613] +[group_23614] +[group_23615] +[group_23616] +[group_23617] +[group_23618] +[group_23619] +[group_23620] +[group_23621] +[group_23622] +[group_23623] +[group_23624] +[group_23625] +[group_23626] +[group_23627] +[group_23628] +[group_23629] +[group_23630] +[group_23631] +[group_23632] +[group_23633] +[group_23634] +[group_23635] +[group_23636] +[group_23637] +[group_23638] +[group_23639] +[group_23640] +[group_23641] +[group_23642] +[group_23643] +[group_23644] +[group_23645] +[group_23646] +[group_23647] +[group_23648] +[group_23649] +[group_23650] +[group_23651] +[group_23652] +[group_23653] +[group_23654] +[group_23655] +[group_23656] +[group_23657] +[group_23658] +[group_23659] +[group_23660] +[group_23661] +[group_23662] +[group_23663] +[group_23664] +[group_23665] +[group_23666] +[group_23667] +[group_23668] +[group_23669] +[group_23670] +[group_23671] +[group_23672] +[group_23673] +[group_23674] +[group_23675] +[group_23676] +[group_23677] +[group_23678] +[group_23679] +[group_23680] +[group_23681] +[group_23682] +[group_23683] +[group_23684] +[group_23685] +[group_23686] +[group_23687] +[group_23688] +[group_23689] +[group_23690] +[group_23691] +[group_23692] +[group_23693] +[group_23694] +[group_23695] +[group_23696] +[group_23697] +[group_23698] +[group_23699] +[group_23700] +[group_23701] +[group_23702] +[group_23703] +[group_23704] +[group_23705] +[group_23706] +[group_23707] +[group_23708] +[group_23709] +[group_23710] +[group_23711] +[group_23712] +[group_23713] +[group_23714] +[group_23715] +[group_23716] +[group_23717] +[group_23718] +[group_23719] +[group_23720] +[group_23721] +[group_23722] +[group_23723] +[group_23724] +[group_23725] +[group_23726] +[group_23727] +[group_23728] +[group_23729] +[group_23730] +[group_23731] +[group_23732] +[group_23733] +[group_23734] +[group_23735] +[group_23736] +[group_23737] +[group_23738] +[group_23739] +[group_23740] +[group_23741] +[group_23742] +[group_23743] +[group_23744] +[group_23745] +[group_23746] +[group_23747] +[group_23748] +[group_23749] +[group_23750] +[group_23751] +[group_23752] +[group_23753] +[group_23754] +[group_23755] +[group_23756] +[group_23757] +[group_23758] +[group_23759] +[group_23760] +[group_23761] +[group_23762] +[group_23763] +[group_23764] +[group_23765] +[group_23766] +[group_23767] +[group_23768] +[group_23769] +[group_23770] +[group_23771] +[group_23772] +[group_23773] +[group_23774] +[group_23775] +[group_23776] +[group_23777] +[group_23778] +[group_23779] +[group_23780] +[group_23781] +[group_23782] +[group_23783] +[group_23784] +[group_23785] +[group_23786] +[group_23787] +[group_23788] +[group_23789] +[group_23790] +[group_23791] +[group_23792] +[group_23793] +[group_23794] +[group_23795] +[group_23796] +[group_23797] +[group_23798] +[group_23799] +[group_23800] +[group_23801] +[group_23802] +[group_23803] +[group_23804] +[group_23805] +[group_23806] +[group_23807] +[group_23808] +[group_23809] +[group_23810] +[group_23811] +[group_23812] +[group_23813] +[group_23814] +[group_23815] +[group_23816] +[group_23817] +[group_23818] +[group_23819] +[group_23820] +[group_23821] +[group_23822] +[group_23823] +[group_23824] +[group_23825] +[group_23826] +[group_23827] +[group_23828] +[group_23829] +[group_23830] +[group_23831] +[group_23832] +[group_23833] +[group_23834] +[group_23835] +[group_23836] +[group_23837] +[group_23838] +[group_23839] +[group_23840] +[group_23841] +[group_23842] +[group_23843] +[group_23844] +[group_23845] +[group_23846] +[group_23847] +[group_23848] +[group_23849] +[group_23850] +[group_23851] +[group_23852] +[group_23853] +[group_23854] +[group_23855] +[group_23856] +[group_23857] +[group_23858] +[group_23859] +[group_23860] +[group_23861] +[group_23862] +[group_23863] +[group_23864] +[group_23865] +[group_23866] +[group_23867] +[group_23868] +[group_23869] +[group_23870] +[group_23871] +[group_23872] +[group_23873] +[group_23874] +[group_23875] +[group_23876] +[group_23877] +[group_23878] +[group_23879] +[group_23880] +[group_23881] +[group_23882] +[group_23883] +[group_23884] +[group_23885] +[group_23886] +[group_23887] +[group_23888] +[group_23889] +[group_23890] +[group_23891] +[group_23892] +[group_23893] +[group_23894] +[group_23895] +[group_23896] +[group_23897] +[group_23898] +[group_23899] +[group_23900] +[group_23901] +[group_23902] +[group_23903] +[group_23904] +[group_23905] +[group_23906] +[group_23907] +[group_23908] +[group_23909] +[group_23910] +[group_23911] +[group_23912] +[group_23913] +[group_23914] +[group_23915] +[group_23916] +[group_23917] +[group_23918] +[group_23919] +[group_23920] +[group_23921] +[group_23922] +[group_23923] +[group_23924] +[group_23925] +[group_23926] +[group_23927] +[group_23928] +[group_23929] +[group_23930] +[group_23931] +[group_23932] +[group_23933] +[group_23934] +[group_23935] +[group_23936] +[group_23937] +[group_23938] +[group_23939] +[group_23940] +[group_23941] +[group_23942] +[group_23943] +[group_23944] +[group_23945] +[group_23946] +[group_23947] +[group_23948] +[group_23949] +[group_23950] +[group_23951] +[group_23952] +[group_23953] +[group_23954] +[group_23955] +[group_23956] +[group_23957] +[group_23958] +[group_23959] +[group_23960] +[group_23961] +[group_23962] +[group_23963] +[group_23964] +[group_23965] +[group_23966] +[group_23967] +[group_23968] +[group_23969] +[group_23970] +[group_23971] +[group_23972] +[group_23973] +[group_23974] +[group_23975] +[group_23976] +[group_23977] +[group_23978] +[group_23979] +[group_23980] +[group_23981] +[group_23982] +[group_23983] +[group_23984] +[group_23985] +[group_23986] +[group_23987] +[group_23988] +[group_23989] +[group_23990] +[group_23991] +[group_23992] +[group_23993] +[group_23994] +[group_23995] +[group_23996] +[group_23997] +[group_23998] +[group_23999] +[group_24000] +[group_24001] +[group_24002] +[group_24003] +[group_24004] +[group_24005] +[group_24006] +[group_24007] +[group_24008] +[group_24009] +[group_24010] +[group_24011] +[group_24012] +[group_24013] +[group_24014] +[group_24015] +[group_24016] +[group_24017] +[group_24018] +[group_24019] +[group_24020] +[group_24021] +[group_24022] +[group_24023] +[group_24024] +[group_24025] +[group_24026] +[group_24027] +[group_24028] +[group_24029] +[group_24030] +[group_24031] +[group_24032] +[group_24033] +[group_24034] +[group_24035] +[group_24036] +[group_24037] +[group_24038] +[group_24039] +[group_24040] +[group_24041] +[group_24042] +[group_24043] +[group_24044] +[group_24045] +[group_24046] +[group_24047] +[group_24048] +[group_24049] +[group_24050] +[group_24051] +[group_24052] +[group_24053] +[group_24054] +[group_24055] +[group_24056] +[group_24057] +[group_24058] +[group_24059] +[group_24060] +[group_24061] +[group_24062] +[group_24063] +[group_24064] +[group_24065] +[group_24066] +[group_24067] +[group_24068] +[group_24069] +[group_24070] +[group_24071] +[group_24072] +[group_24073] +[group_24074] +[group_24075] +[group_24076] +[group_24077] +[group_24078] +[group_24079] +[group_24080] +[group_24081] +[group_24082] +[group_24083] +[group_24084] +[group_24085] +[group_24086] +[group_24087] +[group_24088] +[group_24089] +[group_24090] +[group_24091] +[group_24092] +[group_24093] +[group_24094] +[group_24095] +[group_24096] +[group_24097] +[group_24098] +[group_24099] +[group_24100] +[group_24101] +[group_24102] +[group_24103] +[group_24104] +[group_24105] +[group_24106] +[group_24107] +[group_24108] +[group_24109] +[group_24110] +[group_24111] +[group_24112] +[group_24113] +[group_24114] +[group_24115] +[group_24116] +[group_24117] +[group_24118] +[group_24119] +[group_24120] +[group_24121] +[group_24122] +[group_24123] +[group_24124] +[group_24125] +[group_24126] +[group_24127] +[group_24128] +[group_24129] +[group_24130] +[group_24131] +[group_24132] +[group_24133] +[group_24134] +[group_24135] +[group_24136] +[group_24137] +[group_24138] +[group_24139] +[group_24140] +[group_24141] +[group_24142] +[group_24143] +[group_24144] +[group_24145] +[group_24146] +[group_24147] +[group_24148] +[group_24149] +[group_24150] +[group_24151] +[group_24152] +[group_24153] +[group_24154] +[group_24155] +[group_24156] +[group_24157] +[group_24158] +[group_24159] +[group_24160] +[group_24161] +[group_24162] +[group_24163] +[group_24164] +[group_24165] +[group_24166] +[group_24167] +[group_24168] +[group_24169] +[group_24170] +[group_24171] +[group_24172] +[group_24173] +[group_24174] +[group_24175] +[group_24176] +[group_24177] +[group_24178] +[group_24179] +[group_24180] +[group_24181] +[group_24182] +[group_24183] +[group_24184] +[group_24185] +[group_24186] +[group_24187] +[group_24188] +[group_24189] +[group_24190] +[group_24191] +[group_24192] +[group_24193] +[group_24194] +[group_24195] +[group_24196] +[group_24197] +[group_24198] +[group_24199] +[group_24200] +[group_24201] +[group_24202] +[group_24203] +[group_24204] +[group_24205] +[group_24206] +[group_24207] +[group_24208] +[group_24209] +[group_24210] +[group_24211] +[group_24212] +[group_24213] +[group_24214] +[group_24215] +[group_24216] +[group_24217] +[group_24218] +[group_24219] +[group_24220] +[group_24221] +[group_24222] +[group_24223] +[group_24224] +[group_24225] +[group_24226] +[group_24227] +[group_24228] +[group_24229] +[group_24230] +[group_24231] +[group_24232] +[group_24233] +[group_24234] +[group_24235] +[group_24236] +[group_24237] +[group_24238] +[group_24239] +[group_24240] +[group_24241] +[group_24242] +[group_24243] +[group_24244] +[group_24245] +[group_24246] +[group_24247] +[group_24248] +[group_24249] +[group_24250] +[group_24251] +[group_24252] +[group_24253] +[group_24254] +[group_24255] +[group_24256] +[group_24257] +[group_24258] +[group_24259] +[group_24260] +[group_24261] +[group_24262] +[group_24263] +[group_24264] +[group_24265] +[group_24266] +[group_24267] +[group_24268] +[group_24269] +[group_24270] +[group_24271] +[group_24272] +[group_24273] +[group_24274] +[group_24275] +[group_24276] +[group_24277] +[group_24278] +[group_24279] +[group_24280] +[group_24281] +[group_24282] +[group_24283] +[group_24284] +[group_24285] +[group_24286] +[group_24287] +[group_24288] +[group_24289] +[group_24290] +[group_24291] +[group_24292] +[group_24293] +[group_24294] +[group_24295] +[group_24296] +[group_24297] +[group_24298] +[group_24299] +[group_24300] +[group_24301] +[group_24302] +[group_24303] +[group_24304] +[group_24305] +[group_24306] +[group_24307] +[group_24308] +[group_24309] +[group_24310] +[group_24311] +[group_24312] +[group_24313] +[group_24314] +[group_24315] +[group_24316] +[group_24317] +[group_24318] +[group_24319] +[group_24320] +[group_24321] +[group_24322] +[group_24323] +[group_24324] +[group_24325] +[group_24326] +[group_24327] +[group_24328] +[group_24329] +[group_24330] +[group_24331] +[group_24332] +[group_24333] +[group_24334] +[group_24335] +[group_24336] +[group_24337] +[group_24338] +[group_24339] +[group_24340] +[group_24341] +[group_24342] +[group_24343] +[group_24344] +[group_24345] +[group_24346] +[group_24347] +[group_24348] +[group_24349] +[group_24350] +[group_24351] +[group_24352] +[group_24353] +[group_24354] +[group_24355] +[group_24356] +[group_24357] +[group_24358] +[group_24359] +[group_24360] +[group_24361] +[group_24362] +[group_24363] +[group_24364] +[group_24365] +[group_24366] +[group_24367] +[group_24368] +[group_24369] +[group_24370] +[group_24371] +[group_24372] +[group_24373] +[group_24374] +[group_24375] +[group_24376] +[group_24377] +[group_24378] +[group_24379] +[group_24380] +[group_24381] +[group_24382] +[group_24383] +[group_24384] +[group_24385] +[group_24386] +[group_24387] +[group_24388] +[group_24389] +[group_24390] +[group_24391] +[group_24392] +[group_24393] +[group_24394] +[group_24395] +[group_24396] +[group_24397] +[group_24398] +[group_24399] +[group_24400] +[group_24401] +[group_24402] +[group_24403] +[group_24404] +[group_24405] +[group_24406] +[group_24407] +[group_24408] +[group_24409] +[group_24410] +[group_24411] +[group_24412] +[group_24413] +[group_24414] +[group_24415] +[group_24416] +[group_24417] +[group_24418] +[group_24419] +[group_24420] +[group_24421] +[group_24422] +[group_24423] +[group_24424] +[group_24425] +[group_24426] +[group_24427] +[group_24428] +[group_24429] +[group_24430] +[group_24431] +[group_24432] +[group_24433] +[group_24434] +[group_24435] +[group_24436] +[group_24437] +[group_24438] +[group_24439] +[group_24440] +[group_24441] +[group_24442] +[group_24443] +[group_24444] +[group_24445] +[group_24446] +[group_24447] +[group_24448] +[group_24449] +[group_24450] +[group_24451] +[group_24452] +[group_24453] +[group_24454] +[group_24455] +[group_24456] +[group_24457] +[group_24458] +[group_24459] +[group_24460] +[group_24461] +[group_24462] +[group_24463] +[group_24464] +[group_24465] +[group_24466] +[group_24467] +[group_24468] +[group_24469] +[group_24470] +[group_24471] +[group_24472] +[group_24473] +[group_24474] +[group_24475] +[group_24476] +[group_24477] +[group_24478] +[group_24479] +[group_24480] +[group_24481] +[group_24482] +[group_24483] +[group_24484] +[group_24485] +[group_24486] +[group_24487] +[group_24488] +[group_24489] +[group_24490] +[group_24491] +[group_24492] +[group_24493] +[group_24494] +[group_24495] +[group_24496] +[group_24497] +[group_24498] +[group_24499] +[group_24500] +[group_24501] +[group_24502] +[group_24503] +[group_24504] +[group_24505] +[group_24506] +[group_24507] +[group_24508] +[group_24509] +[group_24510] +[group_24511] +[group_24512] +[group_24513] +[group_24514] +[group_24515] +[group_24516] +[group_24517] +[group_24518] +[group_24519] +[group_24520] +[group_24521] +[group_24522] +[group_24523] +[group_24524] +[group_24525] +[group_24526] +[group_24527] +[group_24528] +[group_24529] +[group_24530] +[group_24531] +[group_24532] +[group_24533] +[group_24534] +[group_24535] +[group_24536] +[group_24537] +[group_24538] +[group_24539] +[group_24540] +[group_24541] +[group_24542] +[group_24543] +[group_24544] +[group_24545] +[group_24546] +[group_24547] +[group_24548] +[group_24549] +[group_24550] +[group_24551] +[group_24552] +[group_24553] +[group_24554] +[group_24555] +[group_24556] +[group_24557] +[group_24558] +[group_24559] +[group_24560] +[group_24561] +[group_24562] +[group_24563] +[group_24564] +[group_24565] +[group_24566] +[group_24567] +[group_24568] +[group_24569] +[group_24570] +[group_24571] +[group_24572] +[group_24573] +[group_24574] +[group_24575] +[group_24576] +[group_24577] +[group_24578] +[group_24579] +[group_24580] +[group_24581] +[group_24582] +[group_24583] +[group_24584] +[group_24585] +[group_24586] +[group_24587] +[group_24588] +[group_24589] +[group_24590] +[group_24591] +[group_24592] +[group_24593] +[group_24594] +[group_24595] +[group_24596] +[group_24597] +[group_24598] +[group_24599] +[group_24600] +[group_24601] +[group_24602] +[group_24603] +[group_24604] +[group_24605] +[group_24606] +[group_24607] +[group_24608] +[group_24609] +[group_24610] +[group_24611] +[group_24612] +[group_24613] +[group_24614] +[group_24615] +[group_24616] +[group_24617] +[group_24618] +[group_24619] +[group_24620] +[group_24621] +[group_24622] +[group_24623] +[group_24624] +[group_24625] +[group_24626] +[group_24627] +[group_24628] +[group_24629] +[group_24630] +[group_24631] +[group_24632] +[group_24633] +[group_24634] +[group_24635] +[group_24636] +[group_24637] +[group_24638] +[group_24639] +[group_24640] +[group_24641] +[group_24642] +[group_24643] +[group_24644] +[group_24645] +[group_24646] +[group_24647] +[group_24648] +[group_24649] +[group_24650] +[group_24651] +[group_24652] +[group_24653] +[group_24654] +[group_24655] +[group_24656] +[group_24657] +[group_24658] +[group_24659] +[group_24660] +[group_24661] +[group_24662] +[group_24663] +[group_24664] +[group_24665] +[group_24666] +[group_24667] +[group_24668] +[group_24669] +[group_24670] +[group_24671] +[group_24672] +[group_24673] +[group_24674] +[group_24675] +[group_24676] +[group_24677] +[group_24678] +[group_24679] +[group_24680] +[group_24681] +[group_24682] +[group_24683] +[group_24684] +[group_24685] +[group_24686] +[group_24687] +[group_24688] +[group_24689] +[group_24690] +[group_24691] +[group_24692] +[group_24693] +[group_24694] +[group_24695] +[group_24696] +[group_24697] +[group_24698] +[group_24699] +[group_24700] +[group_24701] +[group_24702] +[group_24703] +[group_24704] +[group_24705] +[group_24706] +[group_24707] +[group_24708] +[group_24709] +[group_24710] +[group_24711] +[group_24712] +[group_24713] +[group_24714] +[group_24715] +[group_24716] +[group_24717] +[group_24718] +[group_24719] +[group_24720] +[group_24721] +[group_24722] +[group_24723] +[group_24724] +[group_24725] +[group_24726] +[group_24727] +[group_24728] +[group_24729] +[group_24730] +[group_24731] +[group_24732] +[group_24733] +[group_24734] +[group_24735] +[group_24736] +[group_24737] +[group_24738] +[group_24739] +[group_24740] +[group_24741] +[group_24742] +[group_24743] +[group_24744] +[group_24745] +[group_24746] +[group_24747] +[group_24748] +[group_24749] +[group_24750] +[group_24751] +[group_24752] +[group_24753] +[group_24754] +[group_24755] +[group_24756] +[group_24757] +[group_24758] +[group_24759] +[group_24760] +[group_24761] +[group_24762] +[group_24763] +[group_24764] +[group_24765] +[group_24766] +[group_24767] +[group_24768] +[group_24769] +[group_24770] +[group_24771] +[group_24772] +[group_24773] +[group_24774] +[group_24775] +[group_24776] +[group_24777] +[group_24778] +[group_24779] +[group_24780] +[group_24781] +[group_24782] +[group_24783] +[group_24784] +[group_24785] +[group_24786] +[group_24787] +[group_24788] +[group_24789] +[group_24790] +[group_24791] +[group_24792] +[group_24793] +[group_24794] +[group_24795] +[group_24796] +[group_24797] +[group_24798] +[group_24799] +[group_24800] +[group_24801] +[group_24802] +[group_24803] +[group_24804] +[group_24805] +[group_24806] +[group_24807] +[group_24808] +[group_24809] +[group_24810] +[group_24811] +[group_24812] +[group_24813] +[group_24814] +[group_24815] +[group_24816] +[group_24817] +[group_24818] +[group_24819] +[group_24820] +[group_24821] +[group_24822] +[group_24823] +[group_24824] +[group_24825] +[group_24826] +[group_24827] +[group_24828] +[group_24829] +[group_24830] +[group_24831] +[group_24832] +[group_24833] +[group_24834] +[group_24835] +[group_24836] +[group_24837] +[group_24838] +[group_24839] +[group_24840] +[group_24841] +[group_24842] +[group_24843] +[group_24844] +[group_24845] +[group_24846] +[group_24847] +[group_24848] +[group_24849] +[group_24850] +[group_24851] +[group_24852] +[group_24853] +[group_24854] +[group_24855] +[group_24856] +[group_24857] +[group_24858] +[group_24859] +[group_24860] +[group_24861] +[group_24862] +[group_24863] +[group_24864] +[group_24865] +[group_24866] +[group_24867] +[group_24868] +[group_24869] +[group_24870] +[group_24871] +[group_24872] +[group_24873] +[group_24874] +[group_24875] +[group_24876] +[group_24877] +[group_24878] +[group_24879] +[group_24880] +[group_24881] +[group_24882] +[group_24883] +[group_24884] +[group_24885] +[group_24886] +[group_24887] +[group_24888] +[group_24889] +[group_24890] +[group_24891] +[group_24892] +[group_24893] +[group_24894] +[group_24895] +[group_24896] +[group_24897] +[group_24898] +[group_24899] +[group_24900] +[group_24901] +[group_24902] +[group_24903] +[group_24904] +[group_24905] +[group_24906] +[group_24907] +[group_24908] +[group_24909] +[group_24910] +[group_24911] +[group_24912] +[group_24913] +[group_24914] +[group_24915] +[group_24916] +[group_24917] +[group_24918] +[group_24919] +[group_24920] +[group_24921] +[group_24922] +[group_24923] +[group_24924] +[group_24925] +[group_24926] +[group_24927] +[group_24928] +[group_24929] +[group_24930] +[group_24931] +[group_24932] +[group_24933] +[group_24934] +[group_24935] +[group_24936] +[group_24937] +[group_24938] +[group_24939] +[group_24940] +[group_24941] +[group_24942] +[group_24943] +[group_24944] +[group_24945] +[group_24946] +[group_24947] +[group_24948] +[group_24949] +[group_24950] +[group_24951] +[group_24952] +[group_24953] +[group_24954] +[group_24955] +[group_24956] +[group_24957] +[group_24958] +[group_24959] +[group_24960] +[group_24961] +[group_24962] +[group_24963] +[group_24964] +[group_24965] +[group_24966] +[group_24967] +[group_24968] +[group_24969] +[group_24970] +[group_24971] +[group_24972] +[group_24973] +[group_24974] +[group_24975] +[group_24976] +[group_24977] +[group_24978] +[group_24979] +[group_24980] +[group_24981] +[group_24982] +[group_24983] +[group_24984] +[group_24985] +[group_24986] +[group_24987] +[group_24988] +[group_24989] +[group_24990] +[group_24991] +[group_24992] +[group_24993] +[group_24994] +[group_24995] +[group_24996] +[group_24997] +[group_24998] +[group_24999] +[group_25000] +[group_25001] +[group_25002] +[group_25003] +[group_25004] +[group_25005] +[group_25006] +[group_25007] +[group_25008] +[group_25009] +[group_25010] +[group_25011] +[group_25012] +[group_25013] +[group_25014] +[group_25015] +[group_25016] +[group_25017] +[group_25018] +[group_25019] +[group_25020] +[group_25021] +[group_25022] +[group_25023] +[group_25024] +[group_25025] +[group_25026] +[group_25027] +[group_25028] +[group_25029] +[group_25030] +[group_25031] +[group_25032] +[group_25033] +[group_25034] +[group_25035] +[group_25036] +[group_25037] +[group_25038] +[group_25039] +[group_25040] +[group_25041] +[group_25042] +[group_25043] +[group_25044] +[group_25045] +[group_25046] +[group_25047] +[group_25048] +[group_25049] +[group_25050] +[group_25051] +[group_25052] +[group_25053] +[group_25054] +[group_25055] +[group_25056] +[group_25057] +[group_25058] +[group_25059] +[group_25060] +[group_25061] +[group_25062] +[group_25063] +[group_25064] +[group_25065] +[group_25066] +[group_25067] +[group_25068] +[group_25069] +[group_25070] +[group_25071] +[group_25072] +[group_25073] +[group_25074] +[group_25075] +[group_25076] +[group_25077] +[group_25078] +[group_25079] +[group_25080] +[group_25081] +[group_25082] +[group_25083] +[group_25084] +[group_25085] +[group_25086] +[group_25087] +[group_25088] +[group_25089] +[group_25090] +[group_25091] +[group_25092] +[group_25093] +[group_25094] +[group_25095] +[group_25096] +[group_25097] +[group_25098] +[group_25099] +[group_25100] +[group_25101] +[group_25102] +[group_25103] +[group_25104] +[group_25105] +[group_25106] +[group_25107] +[group_25108] +[group_25109] +[group_25110] +[group_25111] +[group_25112] +[group_25113] +[group_25114] +[group_25115] +[group_25116] +[group_25117] +[group_25118] +[group_25119] +[group_25120] +[group_25121] +[group_25122] +[group_25123] +[group_25124] +[group_25125] +[group_25126] +[group_25127] +[group_25128] +[group_25129] +[group_25130] +[group_25131] +[group_25132] +[group_25133] +[group_25134] +[group_25135] +[group_25136] +[group_25137] +[group_25138] +[group_25139] +[group_25140] +[group_25141] +[group_25142] +[group_25143] +[group_25144] +[group_25145] +[group_25146] +[group_25147] +[group_25148] +[group_25149] +[group_25150] +[group_25151] +[group_25152] +[group_25153] +[group_25154] +[group_25155] +[group_25156] +[group_25157] +[group_25158] +[group_25159] +[group_25160] +[group_25161] +[group_25162] +[group_25163] +[group_25164] +[group_25165] +[group_25166] +[group_25167] +[group_25168] +[group_25169] +[group_25170] +[group_25171] +[group_25172] +[group_25173] +[group_25174] +[group_25175] +[group_25176] +[group_25177] +[group_25178] +[group_25179] +[group_25180] +[group_25181] +[group_25182] +[group_25183] +[group_25184] +[group_25185] +[group_25186] +[group_25187] +[group_25188] +[group_25189] +[group_25190] +[group_25191] +[group_25192] +[group_25193] +[group_25194] +[group_25195] +[group_25196] +[group_25197] +[group_25198] +[group_25199] +[group_25200] +[group_25201] +[group_25202] +[group_25203] +[group_25204] +[group_25205] +[group_25206] +[group_25207] +[group_25208] +[group_25209] +[group_25210] +[group_25211] +[group_25212] +[group_25213] +[group_25214] +[group_25215] +[group_25216] +[group_25217] +[group_25218] +[group_25219] +[group_25220] +[group_25221] +[group_25222] +[group_25223] +[group_25224] +[group_25225] +[group_25226] +[group_25227] +[group_25228] +[group_25229] +[group_25230] +[group_25231] +[group_25232] +[group_25233] +[group_25234] +[group_25235] +[group_25236] +[group_25237] +[group_25238] +[group_25239] +[group_25240] +[group_25241] +[group_25242] +[group_25243] +[group_25244] +[group_25245] +[group_25246] +[group_25247] +[group_25248] +[group_25249] +[group_25250] +[group_25251] +[group_25252] +[group_25253] +[group_25254] +[group_25255] +[group_25256] +[group_25257] +[group_25258] +[group_25259] +[group_25260] +[group_25261] +[group_25262] +[group_25263] +[group_25264] +[group_25265] +[group_25266] +[group_25267] +[group_25268] +[group_25269] +[group_25270] +[group_25271] +[group_25272] +[group_25273] +[group_25274] +[group_25275] +[group_25276] +[group_25277] +[group_25278] +[group_25279] +[group_25280] +[group_25281] +[group_25282] +[group_25283] +[group_25284] +[group_25285] +[group_25286] +[group_25287] +[group_25288] +[group_25289] +[group_25290] +[group_25291] +[group_25292] +[group_25293] +[group_25294] +[group_25295] +[group_25296] +[group_25297] +[group_25298] +[group_25299] +[group_25300] +[group_25301] +[group_25302] +[group_25303] +[group_25304] +[group_25305] +[group_25306] +[group_25307] +[group_25308] +[group_25309] +[group_25310] +[group_25311] +[group_25312] +[group_25313] +[group_25314] +[group_25315] +[group_25316] +[group_25317] +[group_25318] +[group_25319] +[group_25320] +[group_25321] +[group_25322] +[group_25323] +[group_25324] +[group_25325] +[group_25326] +[group_25327] +[group_25328] +[group_25329] +[group_25330] +[group_25331] +[group_25332] +[group_25333] +[group_25334] +[group_25335] +[group_25336] +[group_25337] +[group_25338] +[group_25339] +[group_25340] +[group_25341] +[group_25342] +[group_25343] +[group_25344] +[group_25345] +[group_25346] +[group_25347] +[group_25348] +[group_25349] +[group_25350] +[group_25351] +[group_25352] +[group_25353] +[group_25354] +[group_25355] +[group_25356] +[group_25357] +[group_25358] +[group_25359] +[group_25360] +[group_25361] +[group_25362] +[group_25363] +[group_25364] +[group_25365] +[group_25366] +[group_25367] +[group_25368] +[group_25369] +[group_25370] +[group_25371] +[group_25372] +[group_25373] +[group_25374] +[group_25375] +[group_25376] +[group_25377] +[group_25378] +[group_25379] +[group_25380] +[group_25381] +[group_25382] +[group_25383] +[group_25384] +[group_25385] +[group_25386] +[group_25387] +[group_25388] +[group_25389] +[group_25390] +[group_25391] +[group_25392] +[group_25393] +[group_25394] +[group_25395] +[group_25396] +[group_25397] +[group_25398] +[group_25399] +[group_25400] +[group_25401] +[group_25402] +[group_25403] +[group_25404] +[group_25405] +[group_25406] +[group_25407] +[group_25408] +[group_25409] +[group_25410] +[group_25411] +[group_25412] +[group_25413] +[group_25414] +[group_25415] +[group_25416] +[group_25417] +[group_25418] +[group_25419] +[group_25420] +[group_25421] +[group_25422] +[group_25423] +[group_25424] +[group_25425] +[group_25426] +[group_25427] +[group_25428] +[group_25429] +[group_25430] +[group_25431] +[group_25432] +[group_25433] +[group_25434] +[group_25435] +[group_25436] +[group_25437] +[group_25438] +[group_25439] +[group_25440] +[group_25441] +[group_25442] +[group_25443] +[group_25444] +[group_25445] +[group_25446] +[group_25447] +[group_25448] +[group_25449] +[group_25450] +[group_25451] +[group_25452] +[group_25453] +[group_25454] +[group_25455] +[group_25456] +[group_25457] +[group_25458] +[group_25459] +[group_25460] +[group_25461] +[group_25462] +[group_25463] +[group_25464] +[group_25465] +[group_25466] +[group_25467] +[group_25468] +[group_25469] +[group_25470] +[group_25471] +[group_25472] +[group_25473] +[group_25474] +[group_25475] +[group_25476] +[group_25477] +[group_25478] +[group_25479] +[group_25480] +[group_25481] +[group_25482] +[group_25483] +[group_25484] +[group_25485] +[group_25486] +[group_25487] +[group_25488] +[group_25489] +[group_25490] +[group_25491] +[group_25492] +[group_25493] +[group_25494] +[group_25495] +[group_25496] +[group_25497] +[group_25498] +[group_25499] +[group_25500] +[group_25501] +[group_25502] +[group_25503] +[group_25504] +[group_25505] +[group_25506] +[group_25507] +[group_25508] +[group_25509] +[group_25510] +[group_25511] +[group_25512] +[group_25513] +[group_25514] +[group_25515] +[group_25516] +[group_25517] +[group_25518] +[group_25519] +[group_25520] +[group_25521] +[group_25522] +[group_25523] +[group_25524] +[group_25525] +[group_25526] +[group_25527] +[group_25528] +[group_25529] +[group_25530] +[group_25531] +[group_25532] +[group_25533] +[group_25534] +[group_25535] +[group_25536] +[group_25537] +[group_25538] +[group_25539] +[group_25540] +[group_25541] +[group_25542] +[group_25543] +[group_25544] +[group_25545] +[group_25546] +[group_25547] +[group_25548] +[group_25549] +[group_25550] +[group_25551] +[group_25552] +[group_25553] +[group_25554] +[group_25555] +[group_25556] +[group_25557] +[group_25558] +[group_25559] +[group_25560] +[group_25561] +[group_25562] +[group_25563] +[group_25564] +[group_25565] +[group_25566] +[group_25567] +[group_25568] +[group_25569] +[group_25570] +[group_25571] +[group_25572] +[group_25573] +[group_25574] +[group_25575] +[group_25576] +[group_25577] +[group_25578] +[group_25579] +[group_25580] +[group_25581] +[group_25582] +[group_25583] +[group_25584] +[group_25585] +[group_25586] +[group_25587] +[group_25588] +[group_25589] +[group_25590] +[group_25591] +[group_25592] +[group_25593] +[group_25594] +[group_25595] +[group_25596] +[group_25597] +[group_25598] +[group_25599] +[group_25600] +[group_25601] +[group_25602] +[group_25603] +[group_25604] +[group_25605] +[group_25606] +[group_25607] +[group_25608] +[group_25609] +[group_25610] +[group_25611] +[group_25612] +[group_25613] +[group_25614] +[group_25615] +[group_25616] +[group_25617] +[group_25618] +[group_25619] +[group_25620] +[group_25621] +[group_25622] +[group_25623] +[group_25624] +[group_25625] +[group_25626] +[group_25627] +[group_25628] +[group_25629] +[group_25630] +[group_25631] +[group_25632] +[group_25633] +[group_25634] +[group_25635] +[group_25636] +[group_25637] +[group_25638] +[group_25639] +[group_25640] +[group_25641] +[group_25642] +[group_25643] +[group_25644] +[group_25645] +[group_25646] +[group_25647] +[group_25648] +[group_25649] +[group_25650] +[group_25651] +[group_25652] +[group_25653] +[group_25654] +[group_25655] +[group_25656] +[group_25657] +[group_25658] +[group_25659] +[group_25660] +[group_25661] +[group_25662] +[group_25663] +[group_25664] +[group_25665] +[group_25666] +[group_25667] +[group_25668] +[group_25669] +[group_25670] +[group_25671] +[group_25672] +[group_25673] +[group_25674] +[group_25675] +[group_25676] +[group_25677] +[group_25678] +[group_25679] +[group_25680] +[group_25681] +[group_25682] +[group_25683] +[group_25684] +[group_25685] +[group_25686] +[group_25687] +[group_25688] +[group_25689] +[group_25690] +[group_25691] +[group_25692] +[group_25693] +[group_25694] +[group_25695] +[group_25696] +[group_25697] +[group_25698] +[group_25699] +[group_25700] +[group_25701] +[group_25702] +[group_25703] +[group_25704] +[group_25705] +[group_25706] +[group_25707] +[group_25708] +[group_25709] +[group_25710] +[group_25711] +[group_25712] +[group_25713] +[group_25714] +[group_25715] +[group_25716] +[group_25717] +[group_25718] +[group_25719] +[group_25720] +[group_25721] +[group_25722] +[group_25723] +[group_25724] +[group_25725] +[group_25726] +[group_25727] +[group_25728] +[group_25729] +[group_25730] +[group_25731] +[group_25732] +[group_25733] +[group_25734] +[group_25735] +[group_25736] +[group_25737] +[group_25738] +[group_25739] +[group_25740] +[group_25741] +[group_25742] +[group_25743] +[group_25744] +[group_25745] +[group_25746] +[group_25747] +[group_25748] +[group_25749] +[group_25750] +[group_25751] +[group_25752] +[group_25753] +[group_25754] +[group_25755] +[group_25756] +[group_25757] +[group_25758] +[group_25759] +[group_25760] +[group_25761] +[group_25762] +[group_25763] +[group_25764] +[group_25765] +[group_25766] +[group_25767] +[group_25768] +[group_25769] +[group_25770] +[group_25771] +[group_25772] +[group_25773] +[group_25774] +[group_25775] +[group_25776] +[group_25777] +[group_25778] +[group_25779] +[group_25780] +[group_25781] +[group_25782] +[group_25783] +[group_25784] +[group_25785] +[group_25786] +[group_25787] +[group_25788] +[group_25789] +[group_25790] +[group_25791] +[group_25792] +[group_25793] +[group_25794] +[group_25795] +[group_25796] +[group_25797] +[group_25798] +[group_25799] +[group_25800] +[group_25801] +[group_25802] +[group_25803] +[group_25804] +[group_25805] +[group_25806] +[group_25807] +[group_25808] +[group_25809] +[group_25810] +[group_25811] +[group_25812] +[group_25813] +[group_25814] +[group_25815] +[group_25816] +[group_25817] +[group_25818] +[group_25819] +[group_25820] +[group_25821] +[group_25822] +[group_25823] +[group_25824] +[group_25825] +[group_25826] +[group_25827] +[group_25828] +[group_25829] +[group_25830] +[group_25831] +[group_25832] +[group_25833] +[group_25834] +[group_25835] +[group_25836] +[group_25837] +[group_25838] +[group_25839] +[group_25840] +[group_25841] +[group_25842] +[group_25843] +[group_25844] +[group_25845] +[group_25846] +[group_25847] +[group_25848] +[group_25849] +[group_25850] +[group_25851] +[group_25852] +[group_25853] +[group_25854] +[group_25855] +[group_25856] +[group_25857] +[group_25858] +[group_25859] +[group_25860] +[group_25861] +[group_25862] +[group_25863] +[group_25864] +[group_25865] +[group_25866] +[group_25867] +[group_25868] +[group_25869] +[group_25870] +[group_25871] +[group_25872] +[group_25873] +[group_25874] +[group_25875] +[group_25876] +[group_25877] +[group_25878] +[group_25879] +[group_25880] +[group_25881] +[group_25882] +[group_25883] +[group_25884] +[group_25885] +[group_25886] +[group_25887] +[group_25888] +[group_25889] +[group_25890] +[group_25891] +[group_25892] +[group_25893] +[group_25894] +[group_25895] +[group_25896] +[group_25897] +[group_25898] +[group_25899] +[group_25900] +[group_25901] +[group_25902] +[group_25903] +[group_25904] +[group_25905] +[group_25906] +[group_25907] +[group_25908] +[group_25909] +[group_25910] +[group_25911] +[group_25912] +[group_25913] +[group_25914] +[group_25915] +[group_25916] +[group_25917] +[group_25918] +[group_25919] +[group_25920] +[group_25921] +[group_25922] +[group_25923] +[group_25924] +[group_25925] +[group_25926] +[group_25927] +[group_25928] +[group_25929] +[group_25930] +[group_25931] +[group_25932] +[group_25933] +[group_25934] +[group_25935] +[group_25936] +[group_25937] +[group_25938] +[group_25939] +[group_25940] +[group_25941] +[group_25942] +[group_25943] +[group_25944] +[group_25945] +[group_25946] +[group_25947] +[group_25948] +[group_25949] +[group_25950] +[group_25951] +[group_25952] +[group_25953] +[group_25954] +[group_25955] +[group_25956] +[group_25957] +[group_25958] +[group_25959] +[group_25960] +[group_25961] +[group_25962] +[group_25963] +[group_25964] +[group_25965] +[group_25966] +[group_25967] +[group_25968] +[group_25969] +[group_25970] +[group_25971] +[group_25972] +[group_25973] +[group_25974] +[group_25975] +[group_25976] +[group_25977] +[group_25978] +[group_25979] +[group_25980] +[group_25981] +[group_25982] +[group_25983] +[group_25984] +[group_25985] +[group_25986] +[group_25987] +[group_25988] +[group_25989] +[group_25990] +[group_25991] +[group_25992] +[group_25993] +[group_25994] +[group_25995] +[group_25996] +[group_25997] +[group_25998] +[group_25999] +[group_26000] +[group_26001] +[group_26002] +[group_26003] +[group_26004] +[group_26005] +[group_26006] +[group_26007] +[group_26008] +[group_26009] +[group_26010] +[group_26011] +[group_26012] +[group_26013] +[group_26014] +[group_26015] +[group_26016] +[group_26017] +[group_26018] +[group_26019] +[group_26020] +[group_26021] +[group_26022] +[group_26023] +[group_26024] +[group_26025] +[group_26026] +[group_26027] +[group_26028] +[group_26029] +[group_26030] +[group_26031] +[group_26032] +[group_26033] +[group_26034] +[group_26035] +[group_26036] +[group_26037] +[group_26038] +[group_26039] +[group_26040] +[group_26041] +[group_26042] +[group_26043] +[group_26044] +[group_26045] +[group_26046] +[group_26047] +[group_26048] +[group_26049] +[group_26050] +[group_26051] +[group_26052] +[group_26053] +[group_26054] +[group_26055] +[group_26056] +[group_26057] +[group_26058] +[group_26059] +[group_26060] +[group_26061] +[group_26062] +[group_26063] +[group_26064] +[group_26065] +[group_26066] +[group_26067] +[group_26068] +[group_26069] +[group_26070] +[group_26071] +[group_26072] +[group_26073] +[group_26074] +[group_26075] +[group_26076] +[group_26077] +[group_26078] +[group_26079] +[group_26080] +[group_26081] +[group_26082] +[group_26083] +[group_26084] +[group_26085] +[group_26086] +[group_26087] +[group_26088] +[group_26089] +[group_26090] +[group_26091] +[group_26092] +[group_26093] +[group_26094] +[group_26095] +[group_26096] +[group_26097] +[group_26098] +[group_26099] +[group_26100] +[group_26101] +[group_26102] +[group_26103] +[group_26104] +[group_26105] +[group_26106] +[group_26107] +[group_26108] +[group_26109] +[group_26110] +[group_26111] +[group_26112] +[group_26113] +[group_26114] +[group_26115] +[group_26116] +[group_26117] +[group_26118] +[group_26119] +[group_26120] +[group_26121] +[group_26122] +[group_26123] +[group_26124] +[group_26125] +[group_26126] +[group_26127] +[group_26128] +[group_26129] +[group_26130] +[group_26131] +[group_26132] +[group_26133] +[group_26134] +[group_26135] +[group_26136] +[group_26137] +[group_26138] +[group_26139] +[group_26140] +[group_26141] +[group_26142] +[group_26143] +[group_26144] +[group_26145] +[group_26146] +[group_26147] +[group_26148] +[group_26149] +[group_26150] +[group_26151] +[group_26152] +[group_26153] +[group_26154] +[group_26155] +[group_26156] +[group_26157] +[group_26158] +[group_26159] +[group_26160] +[group_26161] +[group_26162] +[group_26163] +[group_26164] +[group_26165] +[group_26166] +[group_26167] +[group_26168] +[group_26169] +[group_26170] +[group_26171] +[group_26172] +[group_26173] +[group_26174] +[group_26175] +[group_26176] +[group_26177] +[group_26178] +[group_26179] +[group_26180] +[group_26181] +[group_26182] +[group_26183] +[group_26184] +[group_26185] +[group_26186] +[group_26187] +[group_26188] +[group_26189] +[group_26190] +[group_26191] +[group_26192] +[group_26193] +[group_26194] +[group_26195] +[group_26196] +[group_26197] +[group_26198] +[group_26199] +[group_26200] +[group_26201] +[group_26202] +[group_26203] +[group_26204] +[group_26205] +[group_26206] +[group_26207] +[group_26208] +[group_26209] +[group_26210] +[group_26211] +[group_26212] +[group_26213] +[group_26214] +[group_26215] +[group_26216] +[group_26217] +[group_26218] +[group_26219] +[group_26220] +[group_26221] +[group_26222] +[group_26223] +[group_26224] +[group_26225] +[group_26226] +[group_26227] +[group_26228] +[group_26229] +[group_26230] +[group_26231] +[group_26232] +[group_26233] +[group_26234] +[group_26235] +[group_26236] +[group_26237] +[group_26238] +[group_26239] +[group_26240] +[group_26241] +[group_26242] +[group_26243] +[group_26244] +[group_26245] +[group_26246] +[group_26247] +[group_26248] +[group_26249] +[group_26250] +[group_26251] +[group_26252] +[group_26253] +[group_26254] +[group_26255] +[group_26256] +[group_26257] +[group_26258] +[group_26259] +[group_26260] +[group_26261] +[group_26262] +[group_26263] +[group_26264] +[group_26265] +[group_26266] +[group_26267] +[group_26268] +[group_26269] +[group_26270] +[group_26271] +[group_26272] +[group_26273] +[group_26274] +[group_26275] +[group_26276] +[group_26277] +[group_26278] +[group_26279] +[group_26280] +[group_26281] +[group_26282] +[group_26283] +[group_26284] +[group_26285] +[group_26286] +[group_26287] +[group_26288] +[group_26289] +[group_26290] +[group_26291] +[group_26292] +[group_26293] +[group_26294] +[group_26295] +[group_26296] +[group_26297] +[group_26298] +[group_26299] +[group_26300] +[group_26301] +[group_26302] +[group_26303] +[group_26304] +[group_26305] +[group_26306] +[group_26307] +[group_26308] +[group_26309] +[group_26310] +[group_26311] +[group_26312] +[group_26313] +[group_26314] +[group_26315] +[group_26316] +[group_26317] +[group_26318] +[group_26319] +[group_26320] +[group_26321] +[group_26322] +[group_26323] +[group_26324] +[group_26325] +[group_26326] +[group_26327] +[group_26328] +[group_26329] +[group_26330] +[group_26331] +[group_26332] +[group_26333] +[group_26334] +[group_26335] +[group_26336] +[group_26337] +[group_26338] +[group_26339] +[group_26340] +[group_26341] +[group_26342] +[group_26343] +[group_26344] +[group_26345] +[group_26346] +[group_26347] +[group_26348] +[group_26349] +[group_26350] +[group_26351] +[group_26352] +[group_26353] +[group_26354] +[group_26355] +[group_26356] +[group_26357] +[group_26358] +[group_26359] +[group_26360] +[group_26361] +[group_26362] +[group_26363] +[group_26364] +[group_26365] +[group_26366] +[group_26367] +[group_26368] +[group_26369] +[group_26370] +[group_26371] +[group_26372] +[group_26373] +[group_26374] +[group_26375] +[group_26376] +[group_26377] +[group_26378] +[group_26379] +[group_26380] +[group_26381] +[group_26382] +[group_26383] +[group_26384] +[group_26385] +[group_26386] +[group_26387] +[group_26388] +[group_26389] +[group_26390] +[group_26391] +[group_26392] +[group_26393] +[group_26394] +[group_26395] +[group_26396] +[group_26397] +[group_26398] +[group_26399] +[group_26400] +[group_26401] +[group_26402] +[group_26403] +[group_26404] +[group_26405] +[group_26406] +[group_26407] +[group_26408] +[group_26409] +[group_26410] +[group_26411] +[group_26412] +[group_26413] +[group_26414] +[group_26415] +[group_26416] +[group_26417] +[group_26418] +[group_26419] +[group_26420] +[group_26421] +[group_26422] +[group_26423] +[group_26424] +[group_26425] +[group_26426] +[group_26427] +[group_26428] +[group_26429] +[group_26430] +[group_26431] +[group_26432] +[group_26433] +[group_26434] +[group_26435] +[group_26436] +[group_26437] +[group_26438] +[group_26439] +[group_26440] +[group_26441] +[group_26442] +[group_26443] +[group_26444] +[group_26445] +[group_26446] +[group_26447] +[group_26448] +[group_26449] +[group_26450] +[group_26451] +[group_26452] +[group_26453] +[group_26454] +[group_26455] +[group_26456] +[group_26457] +[group_26458] +[group_26459] +[group_26460] +[group_26461] +[group_26462] +[group_26463] +[group_26464] +[group_26465] +[group_26466] +[group_26467] +[group_26468] +[group_26469] +[group_26470] +[group_26471] +[group_26472] +[group_26473] +[group_26474] +[group_26475] +[group_26476] +[group_26477] +[group_26478] +[group_26479] +[group_26480] +[group_26481] +[group_26482] +[group_26483] +[group_26484] +[group_26485] +[group_26486] +[group_26487] +[group_26488] +[group_26489] +[group_26490] +[group_26491] +[group_26492] +[group_26493] +[group_26494] +[group_26495] +[group_26496] +[group_26497] +[group_26498] +[group_26499] +[group_26500] +[group_26501] +[group_26502] +[group_26503] +[group_26504] +[group_26505] +[group_26506] +[group_26507] +[group_26508] +[group_26509] +[group_26510] +[group_26511] +[group_26512] +[group_26513] +[group_26514] +[group_26515] +[group_26516] +[group_26517] +[group_26518] +[group_26519] +[group_26520] +[group_26521] +[group_26522] +[group_26523] +[group_26524] +[group_26525] +[group_26526] +[group_26527] +[group_26528] +[group_26529] +[group_26530] +[group_26531] +[group_26532] +[group_26533] +[group_26534] +[group_26535] +[group_26536] +[group_26537] +[group_26538] +[group_26539] +[group_26540] +[group_26541] +[group_26542] +[group_26543] +[group_26544] +[group_26545] +[group_26546] +[group_26547] +[group_26548] +[group_26549] +[group_26550] +[group_26551] +[group_26552] +[group_26553] +[group_26554] +[group_26555] +[group_26556] +[group_26557] +[group_26558] +[group_26559] +[group_26560] +[group_26561] +[group_26562] +[group_26563] +[group_26564] +[group_26565] +[group_26566] +[group_26567] +[group_26568] +[group_26569] +[group_26570] +[group_26571] +[group_26572] +[group_26573] +[group_26574] +[group_26575] +[group_26576] +[group_26577] +[group_26578] +[group_26579] +[group_26580] +[group_26581] +[group_26582] +[group_26583] +[group_26584] +[group_26585] +[group_26586] +[group_26587] +[group_26588] +[group_26589] +[group_26590] +[group_26591] +[group_26592] +[group_26593] +[group_26594] +[group_26595] +[group_26596] +[group_26597] +[group_26598] +[group_26599] +[group_26600] +[group_26601] +[group_26602] +[group_26603] +[group_26604] +[group_26605] +[group_26606] +[group_26607] +[group_26608] +[group_26609] +[group_26610] +[group_26611] +[group_26612] +[group_26613] +[group_26614] +[group_26615] +[group_26616] +[group_26617] +[group_26618] +[group_26619] +[group_26620] +[group_26621] +[group_26622] +[group_26623] +[group_26624] +[group_26625] +[group_26626] +[group_26627] +[group_26628] +[group_26629] +[group_26630] +[group_26631] +[group_26632] +[group_26633] +[group_26634] +[group_26635] +[group_26636] +[group_26637] +[group_26638] +[group_26639] +[group_26640] +[group_26641] +[group_26642] +[group_26643] +[group_26644] +[group_26645] +[group_26646] +[group_26647] +[group_26648] +[group_26649] +[group_26650] +[group_26651] +[group_26652] +[group_26653] +[group_26654] +[group_26655] +[group_26656] +[group_26657] +[group_26658] +[group_26659] +[group_26660] +[group_26661] +[group_26662] +[group_26663] +[group_26664] +[group_26665] +[group_26666] +[group_26667] +[group_26668] +[group_26669] +[group_26670] +[group_26671] +[group_26672] +[group_26673] +[group_26674] +[group_26675] +[group_26676] +[group_26677] +[group_26678] +[group_26679] +[group_26680] +[group_26681] +[group_26682] +[group_26683] +[group_26684] +[group_26685] +[group_26686] +[group_26687] +[group_26688] +[group_26689] +[group_26690] +[group_26691] +[group_26692] +[group_26693] +[group_26694] +[group_26695] +[group_26696] +[group_26697] +[group_26698] +[group_26699] +[group_26700] +[group_26701] +[group_26702] +[group_26703] +[group_26704] +[group_26705] +[group_26706] +[group_26707] +[group_26708] +[group_26709] +[group_26710] +[group_26711] +[group_26712] +[group_26713] +[group_26714] +[group_26715] +[group_26716] +[group_26717] +[group_26718] +[group_26719] +[group_26720] +[group_26721] +[group_26722] +[group_26723] +[group_26724] +[group_26725] +[group_26726] +[group_26727] +[group_26728] +[group_26729] +[group_26730] +[group_26731] +[group_26732] +[group_26733] +[group_26734] +[group_26735] +[group_26736] +[group_26737] +[group_26738] +[group_26739] +[group_26740] +[group_26741] +[group_26742] +[group_26743] +[group_26744] +[group_26745] +[group_26746] +[group_26747] +[group_26748] +[group_26749] +[group_26750] +[group_26751] +[group_26752] +[group_26753] +[group_26754] +[group_26755] +[group_26756] +[group_26757] +[group_26758] +[group_26759] +[group_26760] +[group_26761] +[group_26762] +[group_26763] +[group_26764] +[group_26765] +[group_26766] +[group_26767] +[group_26768] +[group_26769] +[group_26770] +[group_26771] +[group_26772] +[group_26773] +[group_26774] +[group_26775] +[group_26776] +[group_26777] +[group_26778] +[group_26779] +[group_26780] +[group_26781] +[group_26782] +[group_26783] +[group_26784] +[group_26785] +[group_26786] +[group_26787] +[group_26788] +[group_26789] +[group_26790] +[group_26791] +[group_26792] +[group_26793] +[group_26794] +[group_26795] +[group_26796] +[group_26797] +[group_26798] +[group_26799] +[group_26800] +[group_26801] +[group_26802] +[group_26803] +[group_26804] +[group_26805] +[group_26806] +[group_26807] +[group_26808] +[group_26809] +[group_26810] +[group_26811] +[group_26812] +[group_26813] +[group_26814] +[group_26815] +[group_26816] +[group_26817] +[group_26818] +[group_26819] +[group_26820] +[group_26821] +[group_26822] +[group_26823] +[group_26824] +[group_26825] +[group_26826] +[group_26827] +[group_26828] +[group_26829] +[group_26830] +[group_26831] +[group_26832] +[group_26833] +[group_26834] +[group_26835] +[group_26836] +[group_26837] +[group_26838] +[group_26839] +[group_26840] +[group_26841] +[group_26842] +[group_26843] +[group_26844] +[group_26845] +[group_26846] +[group_26847] +[group_26848] +[group_26849] +[group_26850] +[group_26851] +[group_26852] +[group_26853] +[group_26854] +[group_26855] +[group_26856] +[group_26857] +[group_26858] +[group_26859] +[group_26860] +[group_26861] +[group_26862] +[group_26863] +[group_26864] +[group_26865] +[group_26866] +[group_26867] +[group_26868] +[group_26869] +[group_26870] +[group_26871] +[group_26872] +[group_26873] +[group_26874] +[group_26875] +[group_26876] +[group_26877] +[group_26878] +[group_26879] +[group_26880] +[group_26881] +[group_26882] +[group_26883] +[group_26884] +[group_26885] +[group_26886] +[group_26887] +[group_26888] +[group_26889] +[group_26890] +[group_26891] +[group_26892] +[group_26893] +[group_26894] +[group_26895] +[group_26896] +[group_26897] +[group_26898] +[group_26899] +[group_26900] +[group_26901] +[group_26902] +[group_26903] +[group_26904] +[group_26905] +[group_26906] +[group_26907] +[group_26908] +[group_26909] +[group_26910] +[group_26911] +[group_26912] +[group_26913] +[group_26914] +[group_26915] +[group_26916] +[group_26917] +[group_26918] +[group_26919] +[group_26920] +[group_26921] +[group_26922] +[group_26923] +[group_26924] +[group_26925] +[group_26926] +[group_26927] +[group_26928] +[group_26929] +[group_26930] +[group_26931] +[group_26932] +[group_26933] +[group_26934] +[group_26935] +[group_26936] +[group_26937] +[group_26938] +[group_26939] +[group_26940] +[group_26941] +[group_26942] +[group_26943] +[group_26944] +[group_26945] +[group_26946] +[group_26947] +[group_26948] +[group_26949] +[group_26950] +[group_26951] +[group_26952] +[group_26953] +[group_26954] +[group_26955] +[group_26956] +[group_26957] +[group_26958] +[group_26959] +[group_26960] +[group_26961] +[group_26962] +[group_26963] +[group_26964] +[group_26965] +[group_26966] +[group_26967] +[group_26968] +[group_26969] +[group_26970] +[group_26971] +[group_26972] +[group_26973] +[group_26974] +[group_26975] +[group_26976] +[group_26977] +[group_26978] +[group_26979] +[group_26980] +[group_26981] +[group_26982] +[group_26983] +[group_26984] +[group_26985] +[group_26986] +[group_26987] +[group_26988] +[group_26989] +[group_26990] +[group_26991] +[group_26992] +[group_26993] +[group_26994] +[group_26995] +[group_26996] +[group_26997] +[group_26998] +[group_26999] +[group_27000] +[group_27001] +[group_27002] +[group_27003] +[group_27004] +[group_27005] +[group_27006] +[group_27007] +[group_27008] +[group_27009] +[group_27010] +[group_27011] +[group_27012] +[group_27013] +[group_27014] +[group_27015] +[group_27016] +[group_27017] +[group_27018] +[group_27019] +[group_27020] +[group_27021] +[group_27022] +[group_27023] +[group_27024] +[group_27025] +[group_27026] +[group_27027] +[group_27028] +[group_27029] +[group_27030] +[group_27031] +[group_27032] +[group_27033] +[group_27034] +[group_27035] +[group_27036] +[group_27037] +[group_27038] +[group_27039] +[group_27040] +[group_27041] +[group_27042] +[group_27043] +[group_27044] +[group_27045] +[group_27046] +[group_27047] +[group_27048] +[group_27049] +[group_27050] +[group_27051] +[group_27052] +[group_27053] +[group_27054] +[group_27055] +[group_27056] +[group_27057] +[group_27058] +[group_27059] +[group_27060] +[group_27061] +[group_27062] +[group_27063] +[group_27064] +[group_27065] +[group_27066] +[group_27067] +[group_27068] +[group_27069] +[group_27070] +[group_27071] +[group_27072] +[group_27073] +[group_27074] +[group_27075] +[group_27076] +[group_27077] +[group_27078] +[group_27079] +[group_27080] +[group_27081] +[group_27082] +[group_27083] +[group_27084] +[group_27085] +[group_27086] +[group_27087] +[group_27088] +[group_27089] +[group_27090] +[group_27091] +[group_27092] +[group_27093] +[group_27094] +[group_27095] +[group_27096] +[group_27097] +[group_27098] +[group_27099] +[group_27100] +[group_27101] +[group_27102] +[group_27103] +[group_27104] +[group_27105] +[group_27106] +[group_27107] +[group_27108] +[group_27109] +[group_27110] +[group_27111] +[group_27112] +[group_27113] +[group_27114] +[group_27115] +[group_27116] +[group_27117] +[group_27118] +[group_27119] +[group_27120] +[group_27121] +[group_27122] +[group_27123] +[group_27124] +[group_27125] +[group_27126] +[group_27127] +[group_27128] +[group_27129] +[group_27130] +[group_27131] +[group_27132] +[group_27133] +[group_27134] +[group_27135] +[group_27136] +[group_27137] +[group_27138] +[group_27139] +[group_27140] +[group_27141] +[group_27142] +[group_27143] +[group_27144] +[group_27145] +[group_27146] +[group_27147] +[group_27148] +[group_27149] +[group_27150] +[group_27151] +[group_27152] +[group_27153] +[group_27154] +[group_27155] +[group_27156] +[group_27157] +[group_27158] +[group_27159] +[group_27160] +[group_27161] +[group_27162] +[group_27163] +[group_27164] +[group_27165] +[group_27166] +[group_27167] +[group_27168] +[group_27169] +[group_27170] +[group_27171] +[group_27172] +[group_27173] +[group_27174] +[group_27175] +[group_27176] +[group_27177] +[group_27178] +[group_27179] +[group_27180] +[group_27181] +[group_27182] +[group_27183] +[group_27184] +[group_27185] +[group_27186] +[group_27187] +[group_27188] +[group_27189] +[group_27190] +[group_27191] +[group_27192] +[group_27193] +[group_27194] +[group_27195] +[group_27196] +[group_27197] +[group_27198] +[group_27199] +[group_27200] +[group_27201] +[group_27202] +[group_27203] +[group_27204] +[group_27205] +[group_27206] +[group_27207] +[group_27208] +[group_27209] +[group_27210] +[group_27211] +[group_27212] +[group_27213] +[group_27214] +[group_27215] +[group_27216] +[group_27217] +[group_27218] +[group_27219] +[group_27220] +[group_27221] +[group_27222] +[group_27223] +[group_27224] +[group_27225] +[group_27226] +[group_27227] +[group_27228] +[group_27229] +[group_27230] +[group_27231] +[group_27232] +[group_27233] +[group_27234] +[group_27235] +[group_27236] +[group_27237] +[group_27238] +[group_27239] +[group_27240] +[group_27241] +[group_27242] +[group_27243] +[group_27244] +[group_27245] +[group_27246] +[group_27247] +[group_27248] +[group_27249] +[group_27250] +[group_27251] +[group_27252] +[group_27253] +[group_27254] +[group_27255] +[group_27256] +[group_27257] +[group_27258] +[group_27259] +[group_27260] +[group_27261] +[group_27262] +[group_27263] +[group_27264] +[group_27265] +[group_27266] +[group_27267] +[group_27268] +[group_27269] +[group_27270] +[group_27271] +[group_27272] +[group_27273] +[group_27274] +[group_27275] +[group_27276] +[group_27277] +[group_27278] +[group_27279] +[group_27280] +[group_27281] +[group_27282] +[group_27283] +[group_27284] +[group_27285] +[group_27286] +[group_27287] +[group_27288] +[group_27289] +[group_27290] +[group_27291] +[group_27292] +[group_27293] +[group_27294] +[group_27295] +[group_27296] +[group_27297] +[group_27298] +[group_27299] +[group_27300] +[group_27301] +[group_27302] +[group_27303] +[group_27304] +[group_27305] +[group_27306] +[group_27307] +[group_27308] +[group_27309] +[group_27310] +[group_27311] +[group_27312] +[group_27313] +[group_27314] +[group_27315] +[group_27316] +[group_27317] +[group_27318] +[group_27319] +[group_27320] +[group_27321] +[group_27322] +[group_27323] +[group_27324] +[group_27325] +[group_27326] +[group_27327] +[group_27328] +[group_27329] +[group_27330] +[group_27331] +[group_27332] +[group_27333] +[group_27334] +[group_27335] +[group_27336] +[group_27337] +[group_27338] +[group_27339] +[group_27340] +[group_27341] +[group_27342] +[group_27343] +[group_27344] +[group_27345] +[group_27346] +[group_27347] +[group_27348] +[group_27349] +[group_27350] +[group_27351] +[group_27352] +[group_27353] +[group_27354] +[group_27355] +[group_27356] +[group_27357] +[group_27358] +[group_27359] +[group_27360] +[group_27361] +[group_27362] +[group_27363] +[group_27364] +[group_27365] +[group_27366] +[group_27367] +[group_27368] +[group_27369] +[group_27370] +[group_27371] +[group_27372] +[group_27373] +[group_27374] +[group_27375] +[group_27376] +[group_27377] +[group_27378] +[group_27379] +[group_27380] +[group_27381] +[group_27382] +[group_27383] +[group_27384] +[group_27385] +[group_27386] +[group_27387] +[group_27388] +[group_27389] +[group_27390] +[group_27391] +[group_27392] +[group_27393] +[group_27394] +[group_27395] +[group_27396] +[group_27397] +[group_27398] +[group_27399] +[group_27400] +[group_27401] +[group_27402] +[group_27403] +[group_27404] +[group_27405] +[group_27406] +[group_27407] +[group_27408] +[group_27409] +[group_27410] +[group_27411] +[group_27412] +[group_27413] +[group_27414] +[group_27415] +[group_27416] +[group_27417] +[group_27418] +[group_27419] +[group_27420] +[group_27421] +[group_27422] +[group_27423] +[group_27424] +[group_27425] +[group_27426] +[group_27427] +[group_27428] +[group_27429] +[group_27430] +[group_27431] +[group_27432] +[group_27433] +[group_27434] +[group_27435] +[group_27436] +[group_27437] +[group_27438] +[group_27439] +[group_27440] +[group_27441] +[group_27442] +[group_27443] +[group_27444] +[group_27445] +[group_27446] +[group_27447] +[group_27448] +[group_27449] +[group_27450] +[group_27451] +[group_27452] +[group_27453] +[group_27454] +[group_27455] +[group_27456] +[group_27457] +[group_27458] +[group_27459] +[group_27460] +[group_27461] +[group_27462] +[group_27463] +[group_27464] +[group_27465] +[group_27466] +[group_27467] +[group_27468] +[group_27469] +[group_27470] +[group_27471] +[group_27472] +[group_27473] +[group_27474] +[group_27475] +[group_27476] +[group_27477] +[group_27478] +[group_27479] +[group_27480] +[group_27481] +[group_27482] +[group_27483] +[group_27484] +[group_27485] +[group_27486] +[group_27487] +[group_27488] +[group_27489] +[group_27490] +[group_27491] +[group_27492] +[group_27493] +[group_27494] +[group_27495] +[group_27496] +[group_27497] +[group_27498] +[group_27499] +[group_27500] +[group_27501] +[group_27502] +[group_27503] +[group_27504] +[group_27505] +[group_27506] +[group_27507] +[group_27508] +[group_27509] +[group_27510] +[group_27511] +[group_27512] +[group_27513] +[group_27514] +[group_27515] +[group_27516] +[group_27517] +[group_27518] +[group_27519] +[group_27520] +[group_27521] +[group_27522] +[group_27523] +[group_27524] +[group_27525] +[group_27526] +[group_27527] +[group_27528] +[group_27529] +[group_27530] +[group_27531] +[group_27532] +[group_27533] +[group_27534] +[group_27535] +[group_27536] +[group_27537] +[group_27538] +[group_27539] +[group_27540] +[group_27541] +[group_27542] +[group_27543] +[group_27544] +[group_27545] +[group_27546] +[group_27547] +[group_27548] +[group_27549] +[group_27550] +[group_27551] +[group_27552] +[group_27553] +[group_27554] +[group_27555] +[group_27556] +[group_27557] +[group_27558] +[group_27559] +[group_27560] +[group_27561] +[group_27562] +[group_27563] +[group_27564] +[group_27565] +[group_27566] +[group_27567] +[group_27568] +[group_27569] +[group_27570] +[group_27571] +[group_27572] +[group_27573] +[group_27574] +[group_27575] +[group_27576] +[group_27577] +[group_27578] +[group_27579] +[group_27580] +[group_27581] +[group_27582] +[group_27583] +[group_27584] +[group_27585] +[group_27586] +[group_27587] +[group_27588] +[group_27589] +[group_27590] +[group_27591] +[group_27592] +[group_27593] +[group_27594] +[group_27595] +[group_27596] +[group_27597] +[group_27598] +[group_27599] +[group_27600] +[group_27601] +[group_27602] +[group_27603] +[group_27604] +[group_27605] +[group_27606] +[group_27607] +[group_27608] +[group_27609] +[group_27610] +[group_27611] +[group_27612] +[group_27613] +[group_27614] +[group_27615] +[group_27616] +[group_27617] +[group_27618] +[group_27619] +[group_27620] +[group_27621] +[group_27622] +[group_27623] +[group_27624] +[group_27625] +[group_27626] +[group_27627] +[group_27628] +[group_27629] +[group_27630] +[group_27631] +[group_27632] +[group_27633] +[group_27634] +[group_27635] +[group_27636] +[group_27637] +[group_27638] +[group_27639] +[group_27640] +[group_27641] +[group_27642] +[group_27643] +[group_27644] +[group_27645] +[group_27646] +[group_27647] +[group_27648] +[group_27649] +[group_27650] +[group_27651] +[group_27652] +[group_27653] +[group_27654] +[group_27655] +[group_27656] +[group_27657] +[group_27658] +[group_27659] +[group_27660] +[group_27661] +[group_27662] +[group_27663] +[group_27664] +[group_27665] +[group_27666] +[group_27667] +[group_27668] +[group_27669] +[group_27670] +[group_27671] +[group_27672] +[group_27673] +[group_27674] +[group_27675] +[group_27676] +[group_27677] +[group_27678] +[group_27679] +[group_27680] +[group_27681] +[group_27682] +[group_27683] +[group_27684] +[group_27685] +[group_27686] +[group_27687] +[group_27688] +[group_27689] +[group_27690] +[group_27691] +[group_27692] +[group_27693] +[group_27694] +[group_27695] +[group_27696] +[group_27697] +[group_27698] +[group_27699] +[group_27700] +[group_27701] +[group_27702] +[group_27703] +[group_27704] +[group_27705] +[group_27706] +[group_27707] +[group_27708] +[group_27709] +[group_27710] +[group_27711] +[group_27712] +[group_27713] +[group_27714] +[group_27715] +[group_27716] +[group_27717] +[group_27718] +[group_27719] +[group_27720] +[group_27721] +[group_27722] +[group_27723] +[group_27724] +[group_27725] +[group_27726] +[group_27727] +[group_27728] +[group_27729] +[group_27730] +[group_27731] +[group_27732] +[group_27733] +[group_27734] +[group_27735] +[group_27736] +[group_27737] +[group_27738] +[group_27739] +[group_27740] +[group_27741] +[group_27742] +[group_27743] +[group_27744] +[group_27745] +[group_27746] +[group_27747] +[group_27748] +[group_27749] +[group_27750] +[group_27751] +[group_27752] +[group_27753] +[group_27754] +[group_27755] +[group_27756] +[group_27757] +[group_27758] +[group_27759] +[group_27760] +[group_27761] +[group_27762] +[group_27763] +[group_27764] +[group_27765] +[group_27766] +[group_27767] +[group_27768] +[group_27769] +[group_27770] +[group_27771] +[group_27772] +[group_27773] +[group_27774] +[group_27775] +[group_27776] +[group_27777] +[group_27778] +[group_27779] +[group_27780] +[group_27781] +[group_27782] +[group_27783] +[group_27784] +[group_27785] +[group_27786] +[group_27787] +[group_27788] +[group_27789] +[group_27790] +[group_27791] +[group_27792] +[group_27793] +[group_27794] +[group_27795] +[group_27796] +[group_27797] +[group_27798] +[group_27799] +[group_27800] +[group_27801] +[group_27802] +[group_27803] +[group_27804] +[group_27805] +[group_27806] +[group_27807] +[group_27808] +[group_27809] +[group_27810] +[group_27811] +[group_27812] +[group_27813] +[group_27814] +[group_27815] +[group_27816] +[group_27817] +[group_27818] +[group_27819] +[group_27820] +[group_27821] +[group_27822] +[group_27823] +[group_27824] +[group_27825] +[group_27826] +[group_27827] +[group_27828] +[group_27829] +[group_27830] +[group_27831] +[group_27832] +[group_27833] +[group_27834] +[group_27835] +[group_27836] +[group_27837] +[group_27838] +[group_27839] +[group_27840] +[group_27841] +[group_27842] +[group_27843] +[group_27844] +[group_27845] +[group_27846] +[group_27847] +[group_27848] +[group_27849] +[group_27850] +[group_27851] +[group_27852] +[group_27853] +[group_27854] +[group_27855] +[group_27856] +[group_27857] +[group_27858] +[group_27859] +[group_27860] +[group_27861] +[group_27862] +[group_27863] +[group_27864] +[group_27865] +[group_27866] +[group_27867] +[group_27868] +[group_27869] +[group_27870] +[group_27871] +[group_27872] +[group_27873] +[group_27874] +[group_27875] +[group_27876] +[group_27877] +[group_27878] +[group_27879] +[group_27880] +[group_27881] +[group_27882] +[group_27883] +[group_27884] +[group_27885] +[group_27886] +[group_27887] +[group_27888] +[group_27889] +[group_27890] +[group_27891] +[group_27892] +[group_27893] +[group_27894] +[group_27895] +[group_27896] +[group_27897] +[group_27898] +[group_27899] +[group_27900] +[group_27901] +[group_27902] +[group_27903] +[group_27904] +[group_27905] +[group_27906] +[group_27907] +[group_27908] +[group_27909] +[group_27910] +[group_27911] +[group_27912] +[group_27913] +[group_27914] +[group_27915] +[group_27916] +[group_27917] +[group_27918] +[group_27919] +[group_27920] +[group_27921] +[group_27922] +[group_27923] +[group_27924] +[group_27925] +[group_27926] +[group_27927] +[group_27928] +[group_27929] +[group_27930] +[group_27931] +[group_27932] +[group_27933] +[group_27934] +[group_27935] +[group_27936] +[group_27937] +[group_27938] +[group_27939] +[group_27940] +[group_27941] +[group_27942] +[group_27943] +[group_27944] +[group_27945] +[group_27946] +[group_27947] +[group_27948] +[group_27949] +[group_27950] +[group_27951] +[group_27952] +[group_27953] +[group_27954] +[group_27955] +[group_27956] +[group_27957] +[group_27958] +[group_27959] +[group_27960] +[group_27961] +[group_27962] +[group_27963] +[group_27964] +[group_27965] +[group_27966] +[group_27967] +[group_27968] +[group_27969] +[group_27970] +[group_27971] +[group_27972] +[group_27973] +[group_27974] +[group_27975] +[group_27976] +[group_27977] +[group_27978] +[group_27979] +[group_27980] +[group_27981] +[group_27982] +[group_27983] +[group_27984] +[group_27985] +[group_27986] +[group_27987] +[group_27988] +[group_27989] +[group_27990] +[group_27991] +[group_27992] +[group_27993] +[group_27994] +[group_27995] +[group_27996] +[group_27997] +[group_27998] +[group_27999] +[group_28000] +[group_28001] +[group_28002] +[group_28003] +[group_28004] +[group_28005] +[group_28006] +[group_28007] +[group_28008] +[group_28009] +[group_28010] +[group_28011] +[group_28012] +[group_28013] +[group_28014] +[group_28015] +[group_28016] +[group_28017] +[group_28018] +[group_28019] +[group_28020] +[group_28021] +[group_28022] +[group_28023] +[group_28024] +[group_28025] +[group_28026] +[group_28027] +[group_28028] +[group_28029] +[group_28030] +[group_28031] +[group_28032] +[group_28033] +[group_28034] +[group_28035] +[group_28036] +[group_28037] +[group_28038] +[group_28039] +[group_28040] +[group_28041] +[group_28042] +[group_28043] +[group_28044] +[group_28045] +[group_28046] +[group_28047] +[group_28048] +[group_28049] +[group_28050] +[group_28051] +[group_28052] +[group_28053] +[group_28054] +[group_28055] +[group_28056] +[group_28057] +[group_28058] +[group_28059] +[group_28060] +[group_28061] +[group_28062] +[group_28063] +[group_28064] +[group_28065] +[group_28066] +[group_28067] +[group_28068] +[group_28069] +[group_28070] +[group_28071] +[group_28072] +[group_28073] +[group_28074] +[group_28075] +[group_28076] +[group_28077] +[group_28078] +[group_28079] +[group_28080] +[group_28081] +[group_28082] +[group_28083] +[group_28084] +[group_28085] +[group_28086] +[group_28087] +[group_28088] +[group_28089] +[group_28090] +[group_28091] +[group_28092] +[group_28093] +[group_28094] +[group_28095] +[group_28096] +[group_28097] +[group_28098] +[group_28099] +[group_28100] +[group_28101] +[group_28102] +[group_28103] +[group_28104] +[group_28105] +[group_28106] +[group_28107] +[group_28108] +[group_28109] +[group_28110] +[group_28111] +[group_28112] +[group_28113] +[group_28114] +[group_28115] +[group_28116] +[group_28117] +[group_28118] +[group_28119] +[group_28120] +[group_28121] +[group_28122] +[group_28123] +[group_28124] +[group_28125] +[group_28126] +[group_28127] +[group_28128] +[group_28129] +[group_28130] +[group_28131] +[group_28132] +[group_28133] +[group_28134] +[group_28135] +[group_28136] +[group_28137] +[group_28138] +[group_28139] +[group_28140] +[group_28141] +[group_28142] +[group_28143] +[group_28144] +[group_28145] +[group_28146] +[group_28147] +[group_28148] +[group_28149] +[group_28150] +[group_28151] +[group_28152] +[group_28153] +[group_28154] +[group_28155] +[group_28156] +[group_28157] +[group_28158] +[group_28159] +[group_28160] +[group_28161] +[group_28162] +[group_28163] +[group_28164] +[group_28165] +[group_28166] +[group_28167] +[group_28168] +[group_28169] +[group_28170] +[group_28171] +[group_28172] +[group_28173] +[group_28174] +[group_28175] +[group_28176] +[group_28177] +[group_28178] +[group_28179] +[group_28180] +[group_28181] +[group_28182] +[group_28183] +[group_28184] +[group_28185] +[group_28186] +[group_28187] +[group_28188] +[group_28189] +[group_28190] +[group_28191] +[group_28192] +[group_28193] +[group_28194] +[group_28195] +[group_28196] +[group_28197] +[group_28198] +[group_28199] +[group_28200] +[group_28201] +[group_28202] +[group_28203] +[group_28204] +[group_28205] +[group_28206] +[group_28207] +[group_28208] +[group_28209] +[group_28210] +[group_28211] +[group_28212] +[group_28213] +[group_28214] +[group_28215] +[group_28216] +[group_28217] +[group_28218] +[group_28219] +[group_28220] +[group_28221] +[group_28222] +[group_28223] +[group_28224] +[group_28225] +[group_28226] +[group_28227] +[group_28228] +[group_28229] +[group_28230] +[group_28231] +[group_28232] +[group_28233] +[group_28234] +[group_28235] +[group_28236] +[group_28237] +[group_28238] +[group_28239] +[group_28240] +[group_28241] +[group_28242] +[group_28243] +[group_28244] +[group_28245] +[group_28246] +[group_28247] +[group_28248] +[group_28249] +[group_28250] +[group_28251] +[group_28252] +[group_28253] +[group_28254] +[group_28255] +[group_28256] +[group_28257] +[group_28258] +[group_28259] +[group_28260] +[group_28261] +[group_28262] +[group_28263] +[group_28264] +[group_28265] +[group_28266] +[group_28267] +[group_28268] +[group_28269] +[group_28270] +[group_28271] +[group_28272] +[group_28273] +[group_28274] +[group_28275] +[group_28276] +[group_28277] +[group_28278] +[group_28279] +[group_28280] +[group_28281] +[group_28282] +[group_28283] +[group_28284] +[group_28285] +[group_28286] +[group_28287] +[group_28288] +[group_28289] +[group_28290] +[group_28291] +[group_28292] +[group_28293] +[group_28294] +[group_28295] +[group_28296] +[group_28297] +[group_28298] +[group_28299] +[group_28300] +[group_28301] +[group_28302] +[group_28303] +[group_28304] +[group_28305] +[group_28306] +[group_28307] +[group_28308] +[group_28309] +[group_28310] +[group_28311] +[group_28312] +[group_28313] +[group_28314] +[group_28315] +[group_28316] +[group_28317] +[group_28318] +[group_28319] +[group_28320] +[group_28321] +[group_28322] +[group_28323] +[group_28324] +[group_28325] +[group_28326] +[group_28327] +[group_28328] +[group_28329] +[group_28330] +[group_28331] +[group_28332] +[group_28333] +[group_28334] +[group_28335] +[group_28336] +[group_28337] +[group_28338] +[group_28339] +[group_28340] +[group_28341] +[group_28342] +[group_28343] +[group_28344] +[group_28345] +[group_28346] +[group_28347] +[group_28348] +[group_28349] +[group_28350] +[group_28351] +[group_28352] +[group_28353] +[group_28354] +[group_28355] +[group_28356] +[group_28357] +[group_28358] +[group_28359] +[group_28360] +[group_28361] +[group_28362] +[group_28363] +[group_28364] +[group_28365] +[group_28366] +[group_28367] +[group_28368] +[group_28369] +[group_28370] +[group_28371] +[group_28372] +[group_28373] +[group_28374] +[group_28375] +[group_28376] +[group_28377] +[group_28378] +[group_28379] +[group_28380] +[group_28381] +[group_28382] +[group_28383] +[group_28384] +[group_28385] +[group_28386] +[group_28387] +[group_28388] +[group_28389] +[group_28390] +[group_28391] +[group_28392] +[group_28393] +[group_28394] +[group_28395] +[group_28396] +[group_28397] +[group_28398] +[group_28399] +[group_28400] +[group_28401] +[group_28402] +[group_28403] +[group_28404] +[group_28405] +[group_28406] +[group_28407] +[group_28408] +[group_28409] +[group_28410] +[group_28411] +[group_28412] +[group_28413] +[group_28414] +[group_28415] +[group_28416] +[group_28417] +[group_28418] +[group_28419] +[group_28420] +[group_28421] +[group_28422] +[group_28423] +[group_28424] +[group_28425] +[group_28426] +[group_28427] +[group_28428] +[group_28429] +[group_28430] +[group_28431] +[group_28432] +[group_28433] +[group_28434] +[group_28435] +[group_28436] +[group_28437] +[group_28438] +[group_28439] +[group_28440] +[group_28441] +[group_28442] +[group_28443] +[group_28444] +[group_28445] +[group_28446] +[group_28447] +[group_28448] +[group_28449] +[group_28450] +[group_28451] +[group_28452] +[group_28453] +[group_28454] +[group_28455] +[group_28456] +[group_28457] +[group_28458] +[group_28459] +[group_28460] +[group_28461] +[group_28462] +[group_28463] +[group_28464] +[group_28465] +[group_28466] +[group_28467] +[group_28468] +[group_28469] +[group_28470] +[group_28471] +[group_28472] +[group_28473] +[group_28474] +[group_28475] +[group_28476] +[group_28477] +[group_28478] +[group_28479] +[group_28480] +[group_28481] +[group_28482] +[group_28483] +[group_28484] +[group_28485] +[group_28486] +[group_28487] +[group_28488] +[group_28489] +[group_28490] +[group_28491] +[group_28492] +[group_28493] +[group_28494] +[group_28495] +[group_28496] +[group_28497] +[group_28498] +[group_28499] +[group_28500] +[group_28501] +[group_28502] +[group_28503] +[group_28504] +[group_28505] +[group_28506] +[group_28507] +[group_28508] +[group_28509] +[group_28510] +[group_28511] +[group_28512] +[group_28513] +[group_28514] +[group_28515] +[group_28516] +[group_28517] +[group_28518] +[group_28519] +[group_28520] +[group_28521] +[group_28522] +[group_28523] +[group_28524] +[group_28525] +[group_28526] +[group_28527] +[group_28528] +[group_28529] +[group_28530] +[group_28531] +[group_28532] +[group_28533] +[group_28534] +[group_28535] +[group_28536] +[group_28537] +[group_28538] +[group_28539] +[group_28540] +[group_28541] +[group_28542] +[group_28543] +[group_28544] +[group_28545] +[group_28546] +[group_28547] +[group_28548] +[group_28549] +[group_28550] +[group_28551] +[group_28552] +[group_28553] +[group_28554] +[group_28555] +[group_28556] +[group_28557] +[group_28558] +[group_28559] +[group_28560] +[group_28561] +[group_28562] +[group_28563] +[group_28564] +[group_28565] +[group_28566] +[group_28567] +[group_28568] +[group_28569] +[group_28570] +[group_28571] +[group_28572] +[group_28573] +[group_28574] +[group_28575] +[group_28576] +[group_28577] +[group_28578] +[group_28579] +[group_28580] +[group_28581] +[group_28582] +[group_28583] +[group_28584] +[group_28585] +[group_28586] +[group_28587] +[group_28588] +[group_28589] +[group_28590] +[group_28591] +[group_28592] +[group_28593] +[group_28594] +[group_28595] +[group_28596] +[group_28597] +[group_28598] +[group_28599] +[group_28600] +[group_28601] +[group_28602] +[group_28603] +[group_28604] +[group_28605] +[group_28606] +[group_28607] +[group_28608] +[group_28609] +[group_28610] +[group_28611] +[group_28612] +[group_28613] +[group_28614] +[group_28615] +[group_28616] +[group_28617] +[group_28618] +[group_28619] +[group_28620] +[group_28621] +[group_28622] +[group_28623] +[group_28624] +[group_28625] +[group_28626] +[group_28627] +[group_28628] +[group_28629] +[group_28630] +[group_28631] +[group_28632] +[group_28633] +[group_28634] +[group_28635] +[group_28636] +[group_28637] +[group_28638] +[group_28639] +[group_28640] +[group_28641] +[group_28642] +[group_28643] +[group_28644] +[group_28645] +[group_28646] +[group_28647] +[group_28648] +[group_28649] +[group_28650] +[group_28651] +[group_28652] +[group_28653] +[group_28654] +[group_28655] +[group_28656] +[group_28657] +[group_28658] +[group_28659] +[group_28660] +[group_28661] +[group_28662] +[group_28663] +[group_28664] +[group_28665] +[group_28666] +[group_28667] +[group_28668] +[group_28669] +[group_28670] +[group_28671] +[group_28672] +[group_28673] +[group_28674] +[group_28675] +[group_28676] +[group_28677] +[group_28678] +[group_28679] +[group_28680] +[group_28681] +[group_28682] +[group_28683] +[group_28684] +[group_28685] +[group_28686] +[group_28687] +[group_28688] +[group_28689] +[group_28690] +[group_28691] +[group_28692] +[group_28693] +[group_28694] +[group_28695] +[group_28696] +[group_28697] +[group_28698] +[group_28699] +[group_28700] +[group_28701] +[group_28702] +[group_28703] +[group_28704] +[group_28705] +[group_28706] +[group_28707] +[group_28708] +[group_28709] +[group_28710] +[group_28711] +[group_28712] +[group_28713] +[group_28714] +[group_28715] +[group_28716] +[group_28717] +[group_28718] +[group_28719] +[group_28720] +[group_28721] +[group_28722] +[group_28723] +[group_28724] +[group_28725] +[group_28726] +[group_28727] +[group_28728] +[group_28729] +[group_28730] +[group_28731] +[group_28732] +[group_28733] +[group_28734] +[group_28735] +[group_28736] +[group_28737] +[group_28738] +[group_28739] +[group_28740] +[group_28741] +[group_28742] +[group_28743] +[group_28744] +[group_28745] +[group_28746] +[group_28747] +[group_28748] +[group_28749] +[group_28750] +[group_28751] +[group_28752] +[group_28753] +[group_28754] +[group_28755] +[group_28756] +[group_28757] +[group_28758] +[group_28759] +[group_28760] +[group_28761] +[group_28762] +[group_28763] +[group_28764] +[group_28765] +[group_28766] +[group_28767] +[group_28768] +[group_28769] +[group_28770] +[group_28771] +[group_28772] +[group_28773] +[group_28774] +[group_28775] +[group_28776] +[group_28777] +[group_28778] +[group_28779] +[group_28780] +[group_28781] +[group_28782] +[group_28783] +[group_28784] +[group_28785] +[group_28786] +[group_28787] +[group_28788] +[group_28789] +[group_28790] +[group_28791] +[group_28792] +[group_28793] +[group_28794] +[group_28795] +[group_28796] +[group_28797] +[group_28798] +[group_28799] +[group_28800] +[group_28801] +[group_28802] +[group_28803] +[group_28804] +[group_28805] +[group_28806] +[group_28807] +[group_28808] +[group_28809] +[group_28810] +[group_28811] +[group_28812] +[group_28813] +[group_28814] +[group_28815] +[group_28816] +[group_28817] +[group_28818] +[group_28819] +[group_28820] +[group_28821] +[group_28822] +[group_28823] +[group_28824] +[group_28825] +[group_28826] +[group_28827] +[group_28828] +[group_28829] +[group_28830] +[group_28831] +[group_28832] +[group_28833] +[group_28834] +[group_28835] +[group_28836] +[group_28837] +[group_28838] +[group_28839] +[group_28840] +[group_28841] +[group_28842] +[group_28843] +[group_28844] +[group_28845] +[group_28846] +[group_28847] +[group_28848] +[group_28849] +[group_28850] +[group_28851] +[group_28852] +[group_28853] +[group_28854] +[group_28855] +[group_28856] +[group_28857] +[group_28858] +[group_28859] +[group_28860] +[group_28861] +[group_28862] +[group_28863] +[group_28864] +[group_28865] +[group_28866] +[group_28867] +[group_28868] +[group_28869] +[group_28870] +[group_28871] +[group_28872] +[group_28873] +[group_28874] +[group_28875] +[group_28876] +[group_28877] +[group_28878] +[group_28879] +[group_28880] +[group_28881] +[group_28882] +[group_28883] +[group_28884] +[group_28885] +[group_28886] +[group_28887] +[group_28888] +[group_28889] +[group_28890] +[group_28891] +[group_28892] +[group_28893] +[group_28894] +[group_28895] +[group_28896] +[group_28897] +[group_28898] +[group_28899] +[group_28900] +[group_28901] +[group_28902] +[group_28903] +[group_28904] +[group_28905] +[group_28906] +[group_28907] +[group_28908] +[group_28909] +[group_28910] +[group_28911] +[group_28912] +[group_28913] +[group_28914] +[group_28915] +[group_28916] +[group_28917] +[group_28918] +[group_28919] +[group_28920] +[group_28921] +[group_28922] +[group_28923] +[group_28924] +[group_28925] +[group_28926] +[group_28927] +[group_28928] +[group_28929] +[group_28930] +[group_28931] +[group_28932] +[group_28933] +[group_28934] +[group_28935] +[group_28936] +[group_28937] +[group_28938] +[group_28939] +[group_28940] +[group_28941] +[group_28942] +[group_28943] +[group_28944] +[group_28945] +[group_28946] +[group_28947] +[group_28948] +[group_28949] +[group_28950] +[group_28951] +[group_28952] +[group_28953] +[group_28954] +[group_28955] +[group_28956] +[group_28957] +[group_28958] +[group_28959] +[group_28960] +[group_28961] +[group_28962] +[group_28963] +[group_28964] +[group_28965] +[group_28966] +[group_28967] +[group_28968] +[group_28969] +[group_28970] +[group_28971] +[group_28972] +[group_28973] +[group_28974] +[group_28975] +[group_28976] +[group_28977] +[group_28978] +[group_28979] +[group_28980] +[group_28981] +[group_28982] +[group_28983] +[group_28984] +[group_28985] +[group_28986] +[group_28987] +[group_28988] +[group_28989] +[group_28990] +[group_28991] +[group_28992] +[group_28993] +[group_28994] +[group_28995] +[group_28996] +[group_28997] +[group_28998] +[group_28999] +[group_29000] +[group_29001] +[group_29002] +[group_29003] +[group_29004] +[group_29005] +[group_29006] +[group_29007] +[group_29008] +[group_29009] +[group_29010] +[group_29011] +[group_29012] +[group_29013] +[group_29014] +[group_29015] +[group_29016] +[group_29017] +[group_29018] +[group_29019] +[group_29020] +[group_29021] +[group_29022] +[group_29023] +[group_29024] +[group_29025] +[group_29026] +[group_29027] +[group_29028] +[group_29029] +[group_29030] +[group_29031] +[group_29032] +[group_29033] +[group_29034] +[group_29035] +[group_29036] +[group_29037] +[group_29038] +[group_29039] +[group_29040] +[group_29041] +[group_29042] +[group_29043] +[group_29044] +[group_29045] +[group_29046] +[group_29047] +[group_29048] +[group_29049] +[group_29050] +[group_29051] +[group_29052] +[group_29053] +[group_29054] +[group_29055] +[group_29056] +[group_29057] +[group_29058] +[group_29059] +[group_29060] +[group_29061] +[group_29062] +[group_29063] +[group_29064] +[group_29065] +[group_29066] +[group_29067] +[group_29068] +[group_29069] +[group_29070] +[group_29071] +[group_29072] +[group_29073] +[group_29074] +[group_29075] +[group_29076] +[group_29077] +[group_29078] +[group_29079] +[group_29080] +[group_29081] +[group_29082] +[group_29083] +[group_29084] +[group_29085] +[group_29086] +[group_29087] +[group_29088] +[group_29089] +[group_29090] +[group_29091] +[group_29092] +[group_29093] +[group_29094] +[group_29095] +[group_29096] +[group_29097] +[group_29098] +[group_29099] +[group_29100] +[group_29101] +[group_29102] +[group_29103] +[group_29104] +[group_29105] +[group_29106] +[group_29107] +[group_29108] +[group_29109] +[group_29110] +[group_29111] +[group_29112] +[group_29113] +[group_29114] +[group_29115] +[group_29116] +[group_29117] +[group_29118] +[group_29119] +[group_29120] +[group_29121] +[group_29122] +[group_29123] +[group_29124] +[group_29125] +[group_29126] +[group_29127] +[group_29128] +[group_29129] +[group_29130] +[group_29131] +[group_29132] +[group_29133] +[group_29134] +[group_29135] +[group_29136] +[group_29137] +[group_29138] +[group_29139] +[group_29140] +[group_29141] +[group_29142] +[group_29143] +[group_29144] +[group_29145] +[group_29146] +[group_29147] +[group_29148] +[group_29149] +[group_29150] +[group_29151] +[group_29152] +[group_29153] +[group_29154] +[group_29155] +[group_29156] +[group_29157] +[group_29158] +[group_29159] +[group_29160] +[group_29161] +[group_29162] +[group_29163] +[group_29164] +[group_29165] +[group_29166] +[group_29167] +[group_29168] +[group_29169] +[group_29170] +[group_29171] +[group_29172] +[group_29173] +[group_29174] +[group_29175] +[group_29176] +[group_29177] +[group_29178] +[group_29179] +[group_29180] +[group_29181] +[group_29182] +[group_29183] +[group_29184] +[group_29185] +[group_29186] +[group_29187] +[group_29188] +[group_29189] +[group_29190] +[group_29191] +[group_29192] +[group_29193] +[group_29194] +[group_29195] +[group_29196] +[group_29197] +[group_29198] +[group_29199] +[group_29200] +[group_29201] +[group_29202] +[group_29203] +[group_29204] +[group_29205] +[group_29206] +[group_29207] +[group_29208] +[group_29209] +[group_29210] +[group_29211] +[group_29212] +[group_29213] +[group_29214] +[group_29215] +[group_29216] +[group_29217] +[group_29218] +[group_29219] +[group_29220] +[group_29221] +[group_29222] +[group_29223] +[group_29224] +[group_29225] +[group_29226] +[group_29227] +[group_29228] +[group_29229] +[group_29230] +[group_29231] +[group_29232] +[group_29233] +[group_29234] +[group_29235] +[group_29236] +[group_29237] +[group_29238] +[group_29239] +[group_29240] +[group_29241] +[group_29242] +[group_29243] +[group_29244] +[group_29245] +[group_29246] +[group_29247] +[group_29248] +[group_29249] +[group_29250] +[group_29251] +[group_29252] +[group_29253] +[group_29254] +[group_29255] +[group_29256] +[group_29257] +[group_29258] +[group_29259] +[group_29260] +[group_29261] +[group_29262] +[group_29263] +[group_29264] +[group_29265] +[group_29266] +[group_29267] +[group_29268] +[group_29269] +[group_29270] +[group_29271] +[group_29272] +[group_29273] +[group_29274] +[group_29275] +[group_29276] +[group_29277] +[group_29278] +[group_29279] +[group_29280] +[group_29281] +[group_29282] +[group_29283] +[group_29284] +[group_29285] +[group_29286] +[group_29287] +[group_29288] +[group_29289] +[group_29290] +[group_29291] +[group_29292] +[group_29293] +[group_29294] +[group_29295] +[group_29296] +[group_29297] +[group_29298] +[group_29299] +[group_29300] +[group_29301] +[group_29302] +[group_29303] +[group_29304] +[group_29305] +[group_29306] +[group_29307] +[group_29308] +[group_29309] +[group_29310] +[group_29311] +[group_29312] +[group_29313] +[group_29314] +[group_29315] +[group_29316] +[group_29317] +[group_29318] +[group_29319] +[group_29320] +[group_29321] +[group_29322] +[group_29323] +[group_29324] +[group_29325] +[group_29326] +[group_29327] +[group_29328] +[group_29329] +[group_29330] +[group_29331] +[group_29332] +[group_29333] +[group_29334] +[group_29335] +[group_29336] +[group_29337] +[group_29338] +[group_29339] +[group_29340] +[group_29341] +[group_29342] +[group_29343] +[group_29344] +[group_29345] +[group_29346] +[group_29347] +[group_29348] +[group_29349] +[group_29350] +[group_29351] +[group_29352] +[group_29353] +[group_29354] +[group_29355] +[group_29356] +[group_29357] +[group_29358] +[group_29359] +[group_29360] +[group_29361] +[group_29362] +[group_29363] +[group_29364] +[group_29365] +[group_29366] +[group_29367] +[group_29368] +[group_29369] +[group_29370] +[group_29371] +[group_29372] +[group_29373] +[group_29374] +[group_29375] +[group_29376] +[group_29377] +[group_29378] +[group_29379] +[group_29380] +[group_29381] +[group_29382] +[group_29383] +[group_29384] +[group_29385] +[group_29386] +[group_29387] +[group_29388] +[group_29389] +[group_29390] +[group_29391] +[group_29392] +[group_29393] +[group_29394] +[group_29395] +[group_29396] +[group_29397] +[group_29398] +[group_29399] +[group_29400] +[group_29401] +[group_29402] +[group_29403] +[group_29404] +[group_29405] +[group_29406] +[group_29407] +[group_29408] +[group_29409] +[group_29410] +[group_29411] +[group_29412] +[group_29413] +[group_29414] +[group_29415] +[group_29416] +[group_29417] +[group_29418] +[group_29419] +[group_29420] +[group_29421] +[group_29422] +[group_29423] +[group_29424] +[group_29425] +[group_29426] +[group_29427] +[group_29428] +[group_29429] +[group_29430] +[group_29431] +[group_29432] +[group_29433] +[group_29434] +[group_29435] +[group_29436] +[group_29437] +[group_29438] +[group_29439] +[group_29440] +[group_29441] +[group_29442] +[group_29443] +[group_29444] +[group_29445] +[group_29446] +[group_29447] +[group_29448] +[group_29449] +[group_29450] +[group_29451] +[group_29452] +[group_29453] +[group_29454] +[group_29455] +[group_29456] +[group_29457] +[group_29458] +[group_29459] +[group_29460] +[group_29461] +[group_29462] +[group_29463] +[group_29464] +[group_29465] +[group_29466] +[group_29467] +[group_29468] +[group_29469] +[group_29470] +[group_29471] +[group_29472] +[group_29473] +[group_29474] +[group_29475] +[group_29476] +[group_29477] +[group_29478] +[group_29479] +[group_29480] +[group_29481] +[group_29482] +[group_29483] +[group_29484] +[group_29485] +[group_29486] +[group_29487] +[group_29488] +[group_29489] +[group_29490] +[group_29491] +[group_29492] +[group_29493] +[group_29494] +[group_29495] +[group_29496] +[group_29497] +[group_29498] +[group_29499] +[group_29500] +[group_29501] +[group_29502] +[group_29503] +[group_29504] +[group_29505] +[group_29506] +[group_29507] +[group_29508] +[group_29509] +[group_29510] +[group_29511] +[group_29512] +[group_29513] +[group_29514] +[group_29515] +[group_29516] +[group_29517] +[group_29518] +[group_29519] +[group_29520] +[group_29521] +[group_29522] +[group_29523] +[group_29524] +[group_29525] +[group_29526] +[group_29527] +[group_29528] +[group_29529] +[group_29530] +[group_29531] +[group_29532] +[group_29533] +[group_29534] +[group_29535] +[group_29536] +[group_29537] +[group_29538] +[group_29539] +[group_29540] +[group_29541] +[group_29542] +[group_29543] +[group_29544] +[group_29545] +[group_29546] +[group_29547] +[group_29548] +[group_29549] +[group_29550] +[group_29551] +[group_29552] +[group_29553] +[group_29554] +[group_29555] +[group_29556] +[group_29557] +[group_29558] +[group_29559] +[group_29560] +[group_29561] +[group_29562] +[group_29563] +[group_29564] +[group_29565] +[group_29566] +[group_29567] +[group_29568] +[group_29569] +[group_29570] +[group_29571] +[group_29572] +[group_29573] +[group_29574] +[group_29575] +[group_29576] +[group_29577] +[group_29578] +[group_29579] +[group_29580] +[group_29581] +[group_29582] +[group_29583] +[group_29584] +[group_29585] +[group_29586] +[group_29587] +[group_29588] +[group_29589] +[group_29590] +[group_29591] +[group_29592] +[group_29593] +[group_29594] +[group_29595] +[group_29596] +[group_29597] +[group_29598] +[group_29599] +[group_29600] +[group_29601] +[group_29602] +[group_29603] +[group_29604] +[group_29605] +[group_29606] +[group_29607] +[group_29608] +[group_29609] +[group_29610] +[group_29611] +[group_29612] +[group_29613] +[group_29614] +[group_29615] +[group_29616] +[group_29617] +[group_29618] +[group_29619] +[group_29620] +[group_29621] +[group_29622] +[group_29623] +[group_29624] +[group_29625] +[group_29626] +[group_29627] +[group_29628] +[group_29629] +[group_29630] +[group_29631] +[group_29632] +[group_29633] +[group_29634] +[group_29635] +[group_29636] +[group_29637] +[group_29638] +[group_29639] +[group_29640] +[group_29641] +[group_29642] +[group_29643] +[group_29644] +[group_29645] +[group_29646] +[group_29647] +[group_29648] +[group_29649] +[group_29650] +[group_29651] +[group_29652] +[group_29653] +[group_29654] +[group_29655] +[group_29656] +[group_29657] +[group_29658] +[group_29659] +[group_29660] +[group_29661] +[group_29662] +[group_29663] +[group_29664] +[group_29665] +[group_29666] +[group_29667] +[group_29668] +[group_29669] +[group_29670] +[group_29671] +[group_29672] +[group_29673] +[group_29674] +[group_29675] +[group_29676] +[group_29677] +[group_29678] +[group_29679] +[group_29680] +[group_29681] +[group_29682] +[group_29683] +[group_29684] +[group_29685] +[group_29686] +[group_29687] +[group_29688] +[group_29689] +[group_29690] +[group_29691] +[group_29692] +[group_29693] +[group_29694] +[group_29695] +[group_29696] +[group_29697] +[group_29698] +[group_29699] +[group_29700] +[group_29701] +[group_29702] +[group_29703] +[group_29704] +[group_29705] +[group_29706] +[group_29707] +[group_29708] +[group_29709] +[group_29710] +[group_29711] +[group_29712] +[group_29713] +[group_29714] +[group_29715] +[group_29716] +[group_29717] +[group_29718] +[group_29719] +[group_29720] +[group_29721] +[group_29722] +[group_29723] +[group_29724] +[group_29725] +[group_29726] +[group_29727] +[group_29728] +[group_29729] +[group_29730] +[group_29731] +[group_29732] +[group_29733] +[group_29734] +[group_29735] +[group_29736] +[group_29737] +[group_29738] +[group_29739] +[group_29740] +[group_29741] +[group_29742] +[group_29743] +[group_29744] +[group_29745] +[group_29746] +[group_29747] +[group_29748] +[group_29749] +[group_29750] +[group_29751] +[group_29752] +[group_29753] +[group_29754] +[group_29755] +[group_29756] +[group_29757] +[group_29758] +[group_29759] +[group_29760] +[group_29761] +[group_29762] +[group_29763] +[group_29764] +[group_29765] +[group_29766] +[group_29767] +[group_29768] +[group_29769] +[group_29770] +[group_29771] +[group_29772] +[group_29773] +[group_29774] +[group_29775] +[group_29776] +[group_29777] +[group_29778] +[group_29779] +[group_29780] +[group_29781] +[group_29782] +[group_29783] +[group_29784] +[group_29785] +[group_29786] +[group_29787] +[group_29788] +[group_29789] +[group_29790] +[group_29791] +[group_29792] +[group_29793] +[group_29794] +[group_29795] +[group_29796] +[group_29797] +[group_29798] +[group_29799] +[group_29800] +[group_29801] +[group_29802] +[group_29803] +[group_29804] +[group_29805] +[group_29806] +[group_29807] +[group_29808] +[group_29809] +[group_29810] +[group_29811] +[group_29812] +[group_29813] +[group_29814] +[group_29815] +[group_29816] +[group_29817] +[group_29818] +[group_29819] +[group_29820] +[group_29821] +[group_29822] +[group_29823] +[group_29824] +[group_29825] +[group_29826] +[group_29827] +[group_29828] +[group_29829] +[group_29830] +[group_29831] +[group_29832] +[group_29833] +[group_29834] +[group_29835] +[group_29836] +[group_29837] +[group_29838] +[group_29839] +[group_29840] +[group_29841] +[group_29842] +[group_29843] +[group_29844] +[group_29845] +[group_29846] +[group_29847] +[group_29848] +[group_29849] +[group_29850] +[group_29851] +[group_29852] +[group_29853] +[group_29854] +[group_29855] +[group_29856] +[group_29857] +[group_29858] +[group_29859] +[group_29860] +[group_29861] +[group_29862] +[group_29863] +[group_29864] +[group_29865] +[group_29866] +[group_29867] +[group_29868] +[group_29869] +[group_29870] +[group_29871] +[group_29872] +[group_29873] +[group_29874] +[group_29875] +[group_29876] +[group_29877] +[group_29878] +[group_29879] +[group_29880] +[group_29881] +[group_29882] +[group_29883] +[group_29884] +[group_29885] +[group_29886] +[group_29887] +[group_29888] +[group_29889] +[group_29890] +[group_29891] +[group_29892] +[group_29893] +[group_29894] +[group_29895] +[group_29896] +[group_29897] +[group_29898] +[group_29899] +[group_29900] +[group_29901] +[group_29902] +[group_29903] +[group_29904] +[group_29905] +[group_29906] +[group_29907] +[group_29908] +[group_29909] +[group_29910] +[group_29911] +[group_29912] +[group_29913] +[group_29914] +[group_29915] +[group_29916] +[group_29917] +[group_29918] +[group_29919] +[group_29920] +[group_29921] +[group_29922] +[group_29923] +[group_29924] +[group_29925] +[group_29926] +[group_29927] +[group_29928] +[group_29929] +[group_29930] +[group_29931] +[group_29932] +[group_29933] +[group_29934] +[group_29935] +[group_29936] +[group_29937] +[group_29938] +[group_29939] +[group_29940] +[group_29941] +[group_29942] +[group_29943] +[group_29944] +[group_29945] +[group_29946] +[group_29947] +[group_29948] +[group_29949] +[group_29950] +[group_29951] +[group_29952] +[group_29953] +[group_29954] +[group_29955] +[group_29956] +[group_29957] +[group_29958] +[group_29959] +[group_29960] +[group_29961] +[group_29962] +[group_29963] +[group_29964] +[group_29965] +[group_29966] +[group_29967] +[group_29968] +[group_29969] +[group_29970] +[group_29971] +[group_29972] +[group_29973] +[group_29974] +[group_29975] +[group_29976] +[group_29977] +[group_29978] +[group_29979] +[group_29980] +[group_29981] +[group_29982] +[group_29983] +[group_29984] +[group_29985] +[group_29986] +[group_29987] +[group_29988] +[group_29989] +[group_29990] +[group_29991] +[group_29992] +[group_29993] +[group_29994] +[group_29995] +[group_29996] +[group_29997] +[group_29998] +[group_29999] +[group_30000] +[group_30001] +[group_30002] +[group_30003] +[group_30004] +[group_30005] +[group_30006] +[group_30007] +[group_30008] +[group_30009] +[group_30010] +[group_30011] +[group_30012] +[group_30013] +[group_30014] +[group_30015] +[group_30016] +[group_30017] +[group_30018] +[group_30019] +[group_30020] +[group_30021] +[group_30022] +[group_30023] +[group_30024] +[group_30025] +[group_30026] +[group_30027] +[group_30028] +[group_30029] +[group_30030] +[group_30031] +[group_30032] +[group_30033] +[group_30034] +[group_30035] +[group_30036] +[group_30037] +[group_30038] +[group_30039] +[group_30040] +[group_30041] +[group_30042] +[group_30043] +[group_30044] +[group_30045] +[group_30046] +[group_30047] +[group_30048] +[group_30049] +[group_30050] +[group_30051] +[group_30052] +[group_30053] +[group_30054] +[group_30055] +[group_30056] +[group_30057] +[group_30058] +[group_30059] +[group_30060] +[group_30061] +[group_30062] +[group_30063] +[group_30064] +[group_30065] +[group_30066] +[group_30067] +[group_30068] +[group_30069] +[group_30070] +[group_30071] +[group_30072] +[group_30073] +[group_30074] +[group_30075] +[group_30076] +[group_30077] +[group_30078] +[group_30079] +[group_30080] +[group_30081] +[group_30082] +[group_30083] +[group_30084] +[group_30085] +[group_30086] +[group_30087] +[group_30088] +[group_30089] +[group_30090] +[group_30091] +[group_30092] +[group_30093] +[group_30094] +[group_30095] +[group_30096] +[group_30097] +[group_30098] +[group_30099] +[group_30100] +[group_30101] +[group_30102] +[group_30103] +[group_30104] +[group_30105] +[group_30106] +[group_30107] +[group_30108] +[group_30109] +[group_30110] +[group_30111] +[group_30112] +[group_30113] +[group_30114] +[group_30115] +[group_30116] +[group_30117] +[group_30118] +[group_30119] +[group_30120] +[group_30121] +[group_30122] +[group_30123] +[group_30124] +[group_30125] +[group_30126] +[group_30127] +[group_30128] +[group_30129] +[group_30130] +[group_30131] +[group_30132] +[group_30133] +[group_30134] +[group_30135] +[group_30136] +[group_30137] +[group_30138] +[group_30139] +[group_30140] +[group_30141] +[group_30142] +[group_30143] +[group_30144] +[group_30145] +[group_30146] +[group_30147] +[group_30148] +[group_30149] +[group_30150] +[group_30151] +[group_30152] +[group_30153] +[group_30154] +[group_30155] +[group_30156] +[group_30157] +[group_30158] +[group_30159] +[group_30160] +[group_30161] +[group_30162] +[group_30163] +[group_30164] +[group_30165] +[group_30166] +[group_30167] +[group_30168] +[group_30169] +[group_30170] +[group_30171] +[group_30172] +[group_30173] +[group_30174] +[group_30175] +[group_30176] +[group_30177] +[group_30178] +[group_30179] +[group_30180] +[group_30181] +[group_30182] +[group_30183] +[group_30184] +[group_30185] +[group_30186] +[group_30187] +[group_30188] +[group_30189] +[group_30190] +[group_30191] +[group_30192] +[group_30193] +[group_30194] +[group_30195] +[group_30196] +[group_30197] +[group_30198] +[group_30199] +[group_30200] +[group_30201] +[group_30202] +[group_30203] +[group_30204] +[group_30205] +[group_30206] +[group_30207] +[group_30208] +[group_30209] +[group_30210] +[group_30211] +[group_30212] +[group_30213] +[group_30214] +[group_30215] +[group_30216] +[group_30217] +[group_30218] +[group_30219] +[group_30220] +[group_30221] +[group_30222] +[group_30223] +[group_30224] +[group_30225] +[group_30226] +[group_30227] +[group_30228] +[group_30229] +[group_30230] +[group_30231] +[group_30232] +[group_30233] +[group_30234] +[group_30235] +[group_30236] +[group_30237] +[group_30238] +[group_30239] +[group_30240] +[group_30241] +[group_30242] +[group_30243] +[group_30244] +[group_30245] +[group_30246] +[group_30247] +[group_30248] +[group_30249] +[group_30250] +[group_30251] +[group_30252] +[group_30253] +[group_30254] +[group_30255] +[group_30256] +[group_30257] +[group_30258] +[group_30259] +[group_30260] +[group_30261] +[group_30262] +[group_30263] +[group_30264] +[group_30265] +[group_30266] +[group_30267] +[group_30268] +[group_30269] +[group_30270] +[group_30271] +[group_30272] +[group_30273] +[group_30274] +[group_30275] +[group_30276] +[group_30277] +[group_30278] +[group_30279] +[group_30280] +[group_30281] +[group_30282] +[group_30283] +[group_30284] +[group_30285] +[group_30286] +[group_30287] +[group_30288] +[group_30289] +[group_30290] +[group_30291] +[group_30292] +[group_30293] +[group_30294] +[group_30295] +[group_30296] +[group_30297] +[group_30298] +[group_30299] +[group_30300] +[group_30301] +[group_30302] +[group_30303] +[group_30304] +[group_30305] +[group_30306] +[group_30307] +[group_30308] +[group_30309] +[group_30310] +[group_30311] +[group_30312] +[group_30313] +[group_30314] +[group_30315] +[group_30316] +[group_30317] +[group_30318] +[group_30319] +[group_30320] +[group_30321] +[group_30322] +[group_30323] +[group_30324] +[group_30325] +[group_30326] +[group_30327] +[group_30328] +[group_30329] +[group_30330] +[group_30331] +[group_30332] +[group_30333] +[group_30334] +[group_30335] +[group_30336] +[group_30337] +[group_30338] +[group_30339] +[group_30340] +[group_30341] +[group_30342] +[group_30343] +[group_30344] +[group_30345] +[group_30346] +[group_30347] +[group_30348] +[group_30349] +[group_30350] +[group_30351] +[group_30352] +[group_30353] +[group_30354] +[group_30355] +[group_30356] +[group_30357] +[group_30358] +[group_30359] +[group_30360] +[group_30361] +[group_30362] +[group_30363] +[group_30364] +[group_30365] +[group_30366] +[group_30367] +[group_30368] +[group_30369] +[group_30370] +[group_30371] +[group_30372] +[group_30373] +[group_30374] +[group_30375] +[group_30376] +[group_30377] +[group_30378] +[group_30379] +[group_30380] +[group_30381] +[group_30382] +[group_30383] +[group_30384] +[group_30385] +[group_30386] +[group_30387] +[group_30388] +[group_30389] +[group_30390] +[group_30391] +[group_30392] +[group_30393] +[group_30394] +[group_30395] +[group_30396] +[group_30397] +[group_30398] +[group_30399] +[group_30400] +[group_30401] +[group_30402] +[group_30403] +[group_30404] +[group_30405] +[group_30406] +[group_30407] +[group_30408] +[group_30409] +[group_30410] +[group_30411] +[group_30412] +[group_30413] +[group_30414] +[group_30415] +[group_30416] +[group_30417] +[group_30418] +[group_30419] +[group_30420] +[group_30421] +[group_30422] +[group_30423] +[group_30424] +[group_30425] +[group_30426] +[group_30427] +[group_30428] +[group_30429] +[group_30430] +[group_30431] +[group_30432] +[group_30433] +[group_30434] +[group_30435] +[group_30436] +[group_30437] +[group_30438] +[group_30439] +[group_30440] +[group_30441] +[group_30442] +[group_30443] +[group_30444] +[group_30445] +[group_30446] +[group_30447] +[group_30448] +[group_30449] +[group_30450] +[group_30451] +[group_30452] +[group_30453] +[group_30454] +[group_30455] +[group_30456] +[group_30457] +[group_30458] +[group_30459] +[group_30460] +[group_30461] +[group_30462] +[group_30463] +[group_30464] +[group_30465] +[group_30466] +[group_30467] +[group_30468] +[group_30469] +[group_30470] +[group_30471] +[group_30472] +[group_30473] +[group_30474] +[group_30475] +[group_30476] +[group_30477] +[group_30478] +[group_30479] +[group_30480] +[group_30481] +[group_30482] +[group_30483] +[group_30484] +[group_30485] +[group_30486] +[group_30487] +[group_30488] +[group_30489] +[group_30490] +[group_30491] +[group_30492] +[group_30493] +[group_30494] +[group_30495] +[group_30496] +[group_30497] +[group_30498] +[group_30499] +[group_30500] +[group_30501] +[group_30502] +[group_30503] +[group_30504] +[group_30505] +[group_30506] +[group_30507] +[group_30508] +[group_30509] +[group_30510] +[group_30511] +[group_30512] +[group_30513] +[group_30514] +[group_30515] +[group_30516] +[group_30517] +[group_30518] +[group_30519] +[group_30520] +[group_30521] +[group_30522] +[group_30523] +[group_30524] +[group_30525] +[group_30526] +[group_30527] +[group_30528] +[group_30529] +[group_30530] +[group_30531] +[group_30532] +[group_30533] +[group_30534] +[group_30535] +[group_30536] +[group_30537] +[group_30538] +[group_30539] +[group_30540] +[group_30541] +[group_30542] +[group_30543] +[group_30544] +[group_30545] +[group_30546] +[group_30547] +[group_30548] +[group_30549] +[group_30550] +[group_30551] +[group_30552] +[group_30553] +[group_30554] +[group_30555] +[group_30556] +[group_30557] +[group_30558] +[group_30559] +[group_30560] +[group_30561] +[group_30562] +[group_30563] +[group_30564] +[group_30565] +[group_30566] +[group_30567] +[group_30568] +[group_30569] +[group_30570] +[group_30571] +[group_30572] +[group_30573] +[group_30574] +[group_30575] +[group_30576] +[group_30577] +[group_30578] +[group_30579] +[group_30580] +[group_30581] +[group_30582] +[group_30583] +[group_30584] +[group_30585] +[group_30586] +[group_30587] +[group_30588] +[group_30589] +[group_30590] +[group_30591] +[group_30592] +[group_30593] +[group_30594] +[group_30595] +[group_30596] +[group_30597] +[group_30598] +[group_30599] +[group_30600] +[group_30601] +[group_30602] +[group_30603] +[group_30604] +[group_30605] +[group_30606] +[group_30607] +[group_30608] +[group_30609] +[group_30610] +[group_30611] +[group_30612] +[group_30613] +[group_30614] +[group_30615] +[group_30616] +[group_30617] +[group_30618] +[group_30619] +[group_30620] +[group_30621] +[group_30622] +[group_30623] +[group_30624] +[group_30625] +[group_30626] +[group_30627] +[group_30628] +[group_30629] +[group_30630] +[group_30631] +[group_30632] +[group_30633] +[group_30634] +[group_30635] +[group_30636] +[group_30637] +[group_30638] +[group_30639] +[group_30640] +[group_30641] +[group_30642] +[group_30643] +[group_30644] +[group_30645] +[group_30646] +[group_30647] +[group_30648] +[group_30649] +[group_30650] +[group_30651] +[group_30652] +[group_30653] +[group_30654] +[group_30655] +[group_30656] +[group_30657] +[group_30658] +[group_30659] +[group_30660] +[group_30661] +[group_30662] +[group_30663] +[group_30664] +[group_30665] +[group_30666] +[group_30667] +[group_30668] +[group_30669] +[group_30670] +[group_30671] +[group_30672] +[group_30673] +[group_30674] +[group_30675] +[group_30676] +[group_30677] +[group_30678] +[group_30679] +[group_30680] +[group_30681] +[group_30682] +[group_30683] +[group_30684] +[group_30685] +[group_30686] +[group_30687] +[group_30688] +[group_30689] +[group_30690] +[group_30691] +[group_30692] +[group_30693] +[group_30694] +[group_30695] +[group_30696] +[group_30697] +[group_30698] +[group_30699] +[group_30700] +[group_30701] +[group_30702] +[group_30703] +[group_30704] +[group_30705] +[group_30706] +[group_30707] +[group_30708] +[group_30709] +[group_30710] +[group_30711] +[group_30712] +[group_30713] +[group_30714] +[group_30715] +[group_30716] +[group_30717] +[group_30718] +[group_30719] +[group_30720] +[group_30721] +[group_30722] +[group_30723] +[group_30724] +[group_30725] +[group_30726] +[group_30727] +[group_30728] +[group_30729] +[group_30730] +[group_30731] +[group_30732] +[group_30733] +[group_30734] +[group_30735] +[group_30736] +[group_30737] +[group_30738] +[group_30739] +[group_30740] +[group_30741] +[group_30742] +[group_30743] +[group_30744] +[group_30745] +[group_30746] +[group_30747] +[group_30748] +[group_30749] +[group_30750] +[group_30751] +[group_30752] +[group_30753] +[group_30754] +[group_30755] +[group_30756] +[group_30757] +[group_30758] +[group_30759] +[group_30760] +[group_30761] +[group_30762] +[group_30763] +[group_30764] +[group_30765] +[group_30766] +[group_30767] +[group_30768] +[group_30769] +[group_30770] +[group_30771] +[group_30772] +[group_30773] +[group_30774] +[group_30775] +[group_30776] +[group_30777] +[group_30778] +[group_30779] +[group_30780] +[group_30781] +[group_30782] +[group_30783] +[group_30784] +[group_30785] +[group_30786] +[group_30787] +[group_30788] +[group_30789] +[group_30790] +[group_30791] +[group_30792] +[group_30793] +[group_30794] +[group_30795] +[group_30796] +[group_30797] +[group_30798] +[group_30799] +[group_30800] +[group_30801] +[group_30802] +[group_30803] +[group_30804] +[group_30805] +[group_30806] +[group_30807] +[group_30808] +[group_30809] +[group_30810] +[group_30811] +[group_30812] +[group_30813] +[group_30814] +[group_30815] +[group_30816] +[group_30817] +[group_30818] +[group_30819] +[group_30820] +[group_30821] +[group_30822] +[group_30823] +[group_30824] +[group_30825] +[group_30826] +[group_30827] +[group_30828] +[group_30829] +[group_30830] +[group_30831] +[group_30832] +[group_30833] +[group_30834] +[group_30835] +[group_30836] +[group_30837] +[group_30838] +[group_30839] +[group_30840] +[group_30841] +[group_30842] +[group_30843] +[group_30844] +[group_30845] +[group_30846] +[group_30847] +[group_30848] +[group_30849] +[group_30850] +[group_30851] +[group_30852] +[group_30853] +[group_30854] +[group_30855] +[group_30856] +[group_30857] +[group_30858] +[group_30859] +[group_30860] +[group_30861] +[group_30862] +[group_30863] +[group_30864] +[group_30865] +[group_30866] +[group_30867] +[group_30868] +[group_30869] +[group_30870] +[group_30871] +[group_30872] +[group_30873] +[group_30874] +[group_30875] +[group_30876] +[group_30877] +[group_30878] +[group_30879] +[group_30880] +[group_30881] +[group_30882] +[group_30883] +[group_30884] +[group_30885] +[group_30886] +[group_30887] +[group_30888] +[group_30889] +[group_30890] +[group_30891] +[group_30892] +[group_30893] +[group_30894] +[group_30895] +[group_30896] +[group_30897] +[group_30898] +[group_30899] +[group_30900] +[group_30901] +[group_30902] +[group_30903] +[group_30904] +[group_30905] +[group_30906] +[group_30907] +[group_30908] +[group_30909] +[group_30910] +[group_30911] +[group_30912] +[group_30913] +[group_30914] +[group_30915] +[group_30916] +[group_30917] +[group_30918] +[group_30919] +[group_30920] +[group_30921] +[group_30922] +[group_30923] +[group_30924] +[group_30925] +[group_30926] +[group_30927] +[group_30928] +[group_30929] +[group_30930] +[group_30931] +[group_30932] +[group_30933] +[group_30934] +[group_30935] +[group_30936] +[group_30937] +[group_30938] +[group_30939] +[group_30940] +[group_30941] +[group_30942] +[group_30943] +[group_30944] +[group_30945] +[group_30946] +[group_30947] +[group_30948] +[group_30949] +[group_30950] +[group_30951] +[group_30952] +[group_30953] +[group_30954] +[group_30955] +[group_30956] +[group_30957] +[group_30958] +[group_30959] +[group_30960] +[group_30961] +[group_30962] +[group_30963] +[group_30964] +[group_30965] +[group_30966] +[group_30967] +[group_30968] +[group_30969] +[group_30970] +[group_30971] +[group_30972] +[group_30973] +[group_30974] +[group_30975] +[group_30976] +[group_30977] +[group_30978] +[group_30979] +[group_30980] +[group_30981] +[group_30982] +[group_30983] +[group_30984] +[group_30985] +[group_30986] +[group_30987] +[group_30988] +[group_30989] +[group_30990] +[group_30991] +[group_30992] +[group_30993] +[group_30994] +[group_30995] +[group_30996] +[group_30997] +[group_30998] +[group_30999] +[group_31000] +[group_31001] +[group_31002] +[group_31003] +[group_31004] +[group_31005] +[group_31006] +[group_31007] +[group_31008] +[group_31009] +[group_31010] +[group_31011] +[group_31012] +[group_31013] +[group_31014] +[group_31015] +[group_31016] +[group_31017] +[group_31018] +[group_31019] +[group_31020] +[group_31021] +[group_31022] +[group_31023] +[group_31024] +[group_31025] +[group_31026] +[group_31027] +[group_31028] +[group_31029] +[group_31030] +[group_31031] +[group_31032] +[group_31033] +[group_31034] +[group_31035] +[group_31036] +[group_31037] +[group_31038] +[group_31039] +[group_31040] +[group_31041] +[group_31042] +[group_31043] +[group_31044] +[group_31045] +[group_31046] +[group_31047] +[group_31048] +[group_31049] +[group_31050] +[group_31051] +[group_31052] +[group_31053] +[group_31054] +[group_31055] +[group_31056] +[group_31057] +[group_31058] +[group_31059] +[group_31060] +[group_31061] +[group_31062] +[group_31063] +[group_31064] +[group_31065] +[group_31066] +[group_31067] +[group_31068] +[group_31069] +[group_31070] +[group_31071] +[group_31072] +[group_31073] +[group_31074] +[group_31075] +[group_31076] +[group_31077] +[group_31078] +[group_31079] +[group_31080] +[group_31081] +[group_31082] +[group_31083] +[group_31084] +[group_31085] +[group_31086] +[group_31087] +[group_31088] +[group_31089] +[group_31090] +[group_31091] +[group_31092] +[group_31093] +[group_31094] +[group_31095] +[group_31096] +[group_31097] +[group_31098] +[group_31099] +[group_31100] +[group_31101] +[group_31102] +[group_31103] +[group_31104] +[group_31105] +[group_31106] +[group_31107] +[group_31108] +[group_31109] +[group_31110] +[group_31111] +[group_31112] +[group_31113] +[group_31114] +[group_31115] +[group_31116] +[group_31117] +[group_31118] +[group_31119] +[group_31120] +[group_31121] +[group_31122] +[group_31123] +[group_31124] +[group_31125] +[group_31126] +[group_31127] +[group_31128] +[group_31129] +[group_31130] +[group_31131] +[group_31132] +[group_31133] +[group_31134] +[group_31135] +[group_31136] +[group_31137] +[group_31138] +[group_31139] +[group_31140] +[group_31141] +[group_31142] +[group_31143] +[group_31144] +[group_31145] +[group_31146] +[group_31147] +[group_31148] +[group_31149] +[group_31150] +[group_31151] +[group_31152] +[group_31153] +[group_31154] +[group_31155] +[group_31156] +[group_31157] +[group_31158] +[group_31159] +[group_31160] +[group_31161] +[group_31162] +[group_31163] +[group_31164] +[group_31165] +[group_31166] +[group_31167] +[group_31168] +[group_31169] +[group_31170] +[group_31171] +[group_31172] +[group_31173] +[group_31174] +[group_31175] +[group_31176] +[group_31177] +[group_31178] +[group_31179] +[group_31180] +[group_31181] +[group_31182] +[group_31183] +[group_31184] +[group_31185] +[group_31186] +[group_31187] +[group_31188] +[group_31189] +[group_31190] +[group_31191] +[group_31192] +[group_31193] +[group_31194] +[group_31195] +[group_31196] +[group_31197] +[group_31198] +[group_31199] +[group_31200] +[group_31201] +[group_31202] +[group_31203] +[group_31204] +[group_31205] +[group_31206] +[group_31207] +[group_31208] +[group_31209] +[group_31210] +[group_31211] +[group_31212] +[group_31213] +[group_31214] +[group_31215] +[group_31216] +[group_31217] +[group_31218] +[group_31219] +[group_31220] +[group_31221] +[group_31222] +[group_31223] +[group_31224] +[group_31225] +[group_31226] +[group_31227] +[group_31228] +[group_31229] +[group_31230] +[group_31231] +[group_31232] +[group_31233] +[group_31234] +[group_31235] +[group_31236] +[group_31237] +[group_31238] +[group_31239] +[group_31240] +[group_31241] +[group_31242] +[group_31243] +[group_31244] +[group_31245] +[group_31246] +[group_31247] +[group_31248] +[group_31249] +[group_31250] +[group_31251] +[group_31252] +[group_31253] +[group_31254] +[group_31255] +[group_31256] +[group_31257] +[group_31258] +[group_31259] +[group_31260] +[group_31261] +[group_31262] +[group_31263] +[group_31264] +[group_31265] +[group_31266] +[group_31267] +[group_31268] +[group_31269] +[group_31270] +[group_31271] +[group_31272] +[group_31273] +[group_31274] +[group_31275] +[group_31276] +[group_31277] +[group_31278] +[group_31279] +[group_31280] +[group_31281] +[group_31282] +[group_31283] +[group_31284] +[group_31285] +[group_31286] +[group_31287] +[group_31288] +[group_31289] +[group_31290] +[group_31291] +[group_31292] +[group_31293] +[group_31294] +[group_31295] +[group_31296] +[group_31297] +[group_31298] +[group_31299] +[group_31300] +[group_31301] +[group_31302] +[group_31303] +[group_31304] +[group_31305] +[group_31306] +[group_31307] +[group_31308] +[group_31309] +[group_31310] +[group_31311] +[group_31312] +[group_31313] +[group_31314] +[group_31315] +[group_31316] +[group_31317] +[group_31318] +[group_31319] +[group_31320] +[group_31321] +[group_31322] +[group_31323] +[group_31324] +[group_31325] +[group_31326] +[group_31327] +[group_31328] +[group_31329] +[group_31330] +[group_31331] +[group_31332] +[group_31333] +[group_31334] +[group_31335] +[group_31336] +[group_31337] +[group_31338] +[group_31339] +[group_31340] +[group_31341] +[group_31342] +[group_31343] +[group_31344] +[group_31345] +[group_31346] +[group_31347] +[group_31348] +[group_31349] +[group_31350] +[group_31351] +[group_31352] +[group_31353] +[group_31354] +[group_31355] +[group_31356] +[group_31357] +[group_31358] +[group_31359] +[group_31360] +[group_31361] +[group_31362] +[group_31363] +[group_31364] +[group_31365] +[group_31366] +[group_31367] +[group_31368] +[group_31369] +[group_31370] +[group_31371] +[group_31372] +[group_31373] +[group_31374] +[group_31375] +[group_31376] +[group_31377] +[group_31378] +[group_31379] +[group_31380] +[group_31381] +[group_31382] +[group_31383] +[group_31384] +[group_31385] +[group_31386] +[group_31387] +[group_31388] +[group_31389] +[group_31390] +[group_31391] +[group_31392] +[group_31393] +[group_31394] +[group_31395] +[group_31396] +[group_31397] +[group_31398] +[group_31399] +[group_31400] +[group_31401] +[group_31402] +[group_31403] +[group_31404] +[group_31405] +[group_31406] +[group_31407] +[group_31408] +[group_31409] +[group_31410] +[group_31411] +[group_31412] +[group_31413] +[group_31414] +[group_31415] +[group_31416] +[group_31417] +[group_31418] +[group_31419] +[group_31420] +[group_31421] +[group_31422] +[group_31423] +[group_31424] +[group_31425] +[group_31426] +[group_31427] +[group_31428] +[group_31429] +[group_31430] +[group_31431] +[group_31432] +[group_31433] +[group_31434] +[group_31435] +[group_31436] +[group_31437] +[group_31438] +[group_31439] +[group_31440] +[group_31441] +[group_31442] +[group_31443] +[group_31444] +[group_31445] +[group_31446] +[group_31447] +[group_31448] +[group_31449] +[group_31450] +[group_31451] +[group_31452] +[group_31453] +[group_31454] +[group_31455] +[group_31456] +[group_31457] +[group_31458] +[group_31459] +[group_31460] +[group_31461] +[group_31462] +[group_31463] +[group_31464] +[group_31465] +[group_31466] +[group_31467] +[group_31468] +[group_31469] +[group_31470] +[group_31471] +[group_31472] +[group_31473] +[group_31474] +[group_31475] +[group_31476] +[group_31477] +[group_31478] +[group_31479] +[group_31480] +[group_31481] +[group_31482] +[group_31483] +[group_31484] +[group_31485] +[group_31486] +[group_31487] +[group_31488] +[group_31489] +[group_31490] +[group_31491] +[group_31492] +[group_31493] +[group_31494] +[group_31495] +[group_31496] +[group_31497] +[group_31498] +[group_31499] +[group_31500] +[group_31501] +[group_31502] +[group_31503] +[group_31504] +[group_31505] +[group_31506] +[group_31507] +[group_31508] +[group_31509] +[group_31510] +[group_31511] +[group_31512] +[group_31513] +[group_31514] +[group_31515] +[group_31516] +[group_31517] +[group_31518] +[group_31519] +[group_31520] +[group_31521] +[group_31522] +[group_31523] +[group_31524] +[group_31525] +[group_31526] +[group_31527] +[group_31528] +[group_31529] +[group_31530] +[group_31531] +[group_31532] +[group_31533] +[group_31534] +[group_31535] +[group_31536] +[group_31537] +[group_31538] +[group_31539] +[group_31540] +[group_31541] +[group_31542] +[group_31543] +[group_31544] +[group_31545] +[group_31546] +[group_31547] +[group_31548] +[group_31549] +[group_31550] +[group_31551] +[group_31552] +[group_31553] +[group_31554] +[group_31555] +[group_31556] +[group_31557] +[group_31558] +[group_31559] +[group_31560] +[group_31561] +[group_31562] +[group_31563] +[group_31564] +[group_31565] +[group_31566] +[group_31567] +[group_31568] +[group_31569] +[group_31570] +[group_31571] +[group_31572] +[group_31573] +[group_31574] +[group_31575] +[group_31576] +[group_31577] +[group_31578] +[group_31579] +[group_31580] +[group_31581] +[group_31582] +[group_31583] +[group_31584] +[group_31585] +[group_31586] +[group_31587] +[group_31588] +[group_31589] +[group_31590] +[group_31591] +[group_31592] +[group_31593] +[group_31594] +[group_31595] +[group_31596] +[group_31597] +[group_31598] +[group_31599] +[group_31600] +[group_31601] +[group_31602] +[group_31603] +[group_31604] +[group_31605] +[group_31606] +[group_31607] +[group_31608] +[group_31609] +[group_31610] +[group_31611] +[group_31612] +[group_31613] +[group_31614] +[group_31615] +[group_31616] +[group_31617] +[group_31618] +[group_31619] +[group_31620] +[group_31621] +[group_31622] +[group_31623] +[group_31624] +[group_31625] +[group_31626] +[group_31627] +[group_31628] +[group_31629] +[group_31630] +[group_31631] +[group_31632] +[group_31633] +[group_31634] +[group_31635] +[group_31636] +[group_31637] +[group_31638] +[group_31639] +[group_31640] +[group_31641] +[group_31642] +[group_31643] +[group_31644] +[group_31645] +[group_31646] +[group_31647] +[group_31648] +[group_31649] +[group_31650] +[group_31651] +[group_31652] +[group_31653] +[group_31654] +[group_31655] +[group_31656] +[group_31657] +[group_31658] +[group_31659] +[group_31660] +[group_31661] +[group_31662] +[group_31663] +[group_31664] +[group_31665] +[group_31666] +[group_31667] +[group_31668] +[group_31669] +[group_31670] +[group_31671] +[group_31672] +[group_31673] +[group_31674] +[group_31675] +[group_31676] +[group_31677] +[group_31678] +[group_31679] +[group_31680] +[group_31681] +[group_31682] +[group_31683] +[group_31684] +[group_31685] +[group_31686] +[group_31687] +[group_31688] +[group_31689] +[group_31690] +[group_31691] +[group_31692] +[group_31693] +[group_31694] +[group_31695] +[group_31696] +[group_31697] +[group_31698] +[group_31699] +[group_31700] +[group_31701] +[group_31702] +[group_31703] +[group_31704] +[group_31705] +[group_31706] +[group_31707] +[group_31708] +[group_31709] +[group_31710] +[group_31711] +[group_31712] +[group_31713] +[group_31714] +[group_31715] +[group_31716] +[group_31717] +[group_31718] +[group_31719] +[group_31720] +[group_31721] +[group_31722] +[group_31723] +[group_31724] +[group_31725] +[group_31726] +[group_31727] +[group_31728] +[group_31729] +[group_31730] +[group_31731] +[group_31732] +[group_31733] +[group_31734] +[group_31735] +[group_31736] +[group_31737] +[group_31738] +[group_31739] +[group_31740] +[group_31741] +[group_31742] +[group_31743] +[group_31744] +[group_31745] +[group_31746] +[group_31747] +[group_31748] +[group_31749] +[group_31750] +[group_31751] +[group_31752] +[group_31753] +[group_31754] +[group_31755] +[group_31756] +[group_31757] +[group_31758] +[group_31759] +[group_31760] +[group_31761] +[group_31762] +[group_31763] +[group_31764] +[group_31765] +[group_31766] +[group_31767] +[group_31768] +[group_31769] +[group_31770] +[group_31771] +[group_31772] +[group_31773] +[group_31774] +[group_31775] +[group_31776] +[group_31777] +[group_31778] +[group_31779] +[group_31780] +[group_31781] +[group_31782] +[group_31783] +[group_31784] +[group_31785] +[group_31786] +[group_31787] +[group_31788] +[group_31789] +[group_31790] +[group_31791] +[group_31792] +[group_31793] +[group_31794] +[group_31795] +[group_31796] +[group_31797] +[group_31798] +[group_31799] +[group_31800] +[group_31801] +[group_31802] +[group_31803] +[group_31804] +[group_31805] +[group_31806] +[group_31807] +[group_31808] +[group_31809] +[group_31810] +[group_31811] +[group_31812] +[group_31813] +[group_31814] +[group_31815] +[group_31816] +[group_31817] +[group_31818] +[group_31819] +[group_31820] +[group_31821] +[group_31822] +[group_31823] +[group_31824] +[group_31825] +[group_31826] +[group_31827] +[group_31828] +[group_31829] +[group_31830] +[group_31831] +[group_31832] +[group_31833] +[group_31834] +[group_31835] +[group_31836] +[group_31837] +[group_31838] +[group_31839] +[group_31840] +[group_31841] +[group_31842] +[group_31843] +[group_31844] +[group_31845] +[group_31846] +[group_31847] +[group_31848] +[group_31849] +[group_31850] +[group_31851] +[group_31852] +[group_31853] +[group_31854] +[group_31855] +[group_31856] +[group_31857] +[group_31858] +[group_31859] +[group_31860] +[group_31861] +[group_31862] +[group_31863] +[group_31864] +[group_31865] +[group_31866] +[group_31867] +[group_31868] +[group_31869] +[group_31870] +[group_31871] +[group_31872] +[group_31873] +[group_31874] +[group_31875] +[group_31876] +[group_31877] +[group_31878] +[group_31879] +[group_31880] +[group_31881] +[group_31882] +[group_31883] +[group_31884] +[group_31885] +[group_31886] +[group_31887] +[group_31888] +[group_31889] +[group_31890] +[group_31891] +[group_31892] +[group_31893] +[group_31894] +[group_31895] +[group_31896] +[group_31897] +[group_31898] +[group_31899] +[group_31900] +[group_31901] +[group_31902] +[group_31903] +[group_31904] +[group_31905] +[group_31906] +[group_31907] +[group_31908] +[group_31909] +[group_31910] +[group_31911] +[group_31912] +[group_31913] +[group_31914] +[group_31915] +[group_31916] +[group_31917] +[group_31918] +[group_31919] +[group_31920] +[group_31921] +[group_31922] +[group_31923] +[group_31924] +[group_31925] +[group_31926] +[group_31927] +[group_31928] +[group_31929] +[group_31930] +[group_31931] +[group_31932] +[group_31933] +[group_31934] +[group_31935] +[group_31936] +[group_31937] +[group_31938] +[group_31939] +[group_31940] +[group_31941] +[group_31942] +[group_31943] +[group_31944] +[group_31945] +[group_31946] +[group_31947] +[group_31948] +[group_31949] +[group_31950] +[group_31951] +[group_31952] +[group_31953] +[group_31954] +[group_31955] +[group_31956] +[group_31957] +[group_31958] +[group_31959] +[group_31960] +[group_31961] +[group_31962] +[group_31963] +[group_31964] +[group_31965] +[group_31966] +[group_31967] +[group_31968] +[group_31969] +[group_31970] +[group_31971] +[group_31972] +[group_31973] +[group_31974] +[group_31975] +[group_31976] +[group_31977] +[group_31978] +[group_31979] +[group_31980] +[group_31981] +[group_31982] +[group_31983] +[group_31984] +[group_31985] +[group_31986] +[group_31987] +[group_31988] +[group_31989] +[group_31990] +[group_31991] +[group_31992] +[group_31993] +[group_31994] +[group_31995] +[group_31996] +[group_31997] +[group_31998] +[group_31999] +[group_32000] +[group_32001] +[group_32002] +[group_32003] +[group_32004] +[group_32005] +[group_32006] +[group_32007] +[group_32008] +[group_32009] +[group_32010] +[group_32011] +[group_32012] +[group_32013] +[group_32014] +[group_32015] +[group_32016] +[group_32017] +[group_32018] +[group_32019] +[group_32020] +[group_32021] +[group_32022] +[group_32023] +[group_32024] +[group_32025] +[group_32026] +[group_32027] +[group_32028] +[group_32029] +[group_32030] +[group_32031] +[group_32032] +[group_32033] +[group_32034] +[group_32035] +[group_32036] +[group_32037] +[group_32038] +[group_32039] +[group_32040] +[group_32041] +[group_32042] +[group_32043] +[group_32044] +[group_32045] +[group_32046] +[group_32047] +[group_32048] +[group_32049] +[group_32050] +[group_32051] +[group_32052] +[group_32053] +[group_32054] +[group_32055] +[group_32056] +[group_32057] +[group_32058] +[group_32059] +[group_32060] +[group_32061] +[group_32062] +[group_32063] +[group_32064] +[group_32065] +[group_32066] +[group_32067] +[group_32068] +[group_32069] +[group_32070] +[group_32071] +[group_32072] +[group_32073] +[group_32074] +[group_32075] +[group_32076] +[group_32077] +[group_32078] +[group_32079] +[group_32080] +[group_32081] +[group_32082] +[group_32083] +[group_32084] +[group_32085] +[group_32086] +[group_32087] +[group_32088] +[group_32089] +[group_32090] +[group_32091] +[group_32092] +[group_32093] +[group_32094] +[group_32095] +[group_32096] +[group_32097] +[group_32098] +[group_32099] +[group_32100] +[group_32101] +[group_32102] +[group_32103] +[group_32104] +[group_32105] +[group_32106] +[group_32107] +[group_32108] +[group_32109] +[group_32110] +[group_32111] +[group_32112] +[group_32113] +[group_32114] +[group_32115] +[group_32116] +[group_32117] +[group_32118] +[group_32119] +[group_32120] +[group_32121] +[group_32122] +[group_32123] +[group_32124] +[group_32125] +[group_32126] +[group_32127] +[group_32128] +[group_32129] +[group_32130] +[group_32131] +[group_32132] +[group_32133] +[group_32134] +[group_32135] +[group_32136] +[group_32137] +[group_32138] +[group_32139] +[group_32140] +[group_32141] +[group_32142] +[group_32143] +[group_32144] +[group_32145] +[group_32146] +[group_32147] +[group_32148] +[group_32149] +[group_32150] +[group_32151] +[group_32152] +[group_32153] +[group_32154] +[group_32155] +[group_32156] +[group_32157] +[group_32158] +[group_32159] +[group_32160] +[group_32161] +[group_32162] +[group_32163] +[group_32164] +[group_32165] +[group_32166] +[group_32167] +[group_32168] +[group_32169] +[group_32170] +[group_32171] +[group_32172] +[group_32173] +[group_32174] +[group_32175] +[group_32176] +[group_32177] +[group_32178] +[group_32179] +[group_32180] +[group_32181] +[group_32182] +[group_32183] +[group_32184] +[group_32185] +[group_32186] +[group_32187] +[group_32188] +[group_32189] +[group_32190] +[group_32191] +[group_32192] +[group_32193] +[group_32194] +[group_32195] +[group_32196] +[group_32197] +[group_32198] +[group_32199] +[group_32200] +[group_32201] +[group_32202] +[group_32203] +[group_32204] +[group_32205] +[group_32206] +[group_32207] +[group_32208] +[group_32209] +[group_32210] +[group_32211] +[group_32212] +[group_32213] +[group_32214] +[group_32215] +[group_32216] +[group_32217] +[group_32218] +[group_32219] +[group_32220] +[group_32221] +[group_32222] +[group_32223] +[group_32224] +[group_32225] +[group_32226] +[group_32227] +[group_32228] +[group_32229] +[group_32230] +[group_32231] +[group_32232] +[group_32233] +[group_32234] +[group_32235] +[group_32236] +[group_32237] +[group_32238] +[group_32239] +[group_32240] +[group_32241] +[group_32242] +[group_32243] +[group_32244] +[group_32245] +[group_32246] +[group_32247] +[group_32248] +[group_32249] +[group_32250] +[group_32251] +[group_32252] +[group_32253] +[group_32254] +[group_32255] +[group_32256] +[group_32257] +[group_32258] +[group_32259] +[group_32260] +[group_32261] +[group_32262] +[group_32263] +[group_32264] +[group_32265] +[group_32266] +[group_32267] +[group_32268] +[group_32269] +[group_32270] +[group_32271] +[group_32272] +[group_32273] +[group_32274] +[group_32275] +[group_32276] +[group_32277] +[group_32278] +[group_32279] +[group_32280] +[group_32281] +[group_32282] +[group_32283] +[group_32284] +[group_32285] +[group_32286] +[group_32287] +[group_32288] +[group_32289] +[group_32290] +[group_32291] +[group_32292] +[group_32293] +[group_32294] +[group_32295] +[group_32296] +[group_32297] +[group_32298] +[group_32299] +[group_32300] +[group_32301] +[group_32302] +[group_32303] +[group_32304] +[group_32305] +[group_32306] +[group_32307] +[group_32308] +[group_32309] +[group_32310] +[group_32311] +[group_32312] +[group_32313] +[group_32314] +[group_32315] +[group_32316] +[group_32317] +[group_32318] +[group_32319] +[group_32320] +[group_32321] +[group_32322] +[group_32323] +[group_32324] +[group_32325] +[group_32326] +[group_32327] +[group_32328] +[group_32329] +[group_32330] +[group_32331] +[group_32332] +[group_32333] +[group_32334] +[group_32335] +[group_32336] +[group_32337] +[group_32338] +[group_32339] +[group_32340] +[group_32341] +[group_32342] +[group_32343] +[group_32344] +[group_32345] +[group_32346] +[group_32347] +[group_32348] +[group_32349] +[group_32350] +[group_32351] +[group_32352] +[group_32353] +[group_32354] +[group_32355] +[group_32356] +[group_32357] +[group_32358] +[group_32359] +[group_32360] +[group_32361] +[group_32362] +[group_32363] +[group_32364] +[group_32365] +[group_32366] +[group_32367] +[group_32368] +[group_32369] +[group_32370] +[group_32371] +[group_32372] +[group_32373] +[group_32374] +[group_32375] +[group_32376] +[group_32377] +[group_32378] +[group_32379] +[group_32380] +[group_32381] +[group_32382] +[group_32383] +[group_32384] +[group_32385] +[group_32386] +[group_32387] +[group_32388] +[group_32389] +[group_32390] +[group_32391] +[group_32392] +[group_32393] +[group_32394] +[group_32395] +[group_32396] +[group_32397] +[group_32398] +[group_32399] +[group_32400] +[group_32401] +[group_32402] +[group_32403] +[group_32404] +[group_32405] +[group_32406] +[group_32407] +[group_32408] +[group_32409] +[group_32410] +[group_32411] +[group_32412] +[group_32413] +[group_32414] +[group_32415] +[group_32416] +[group_32417] +[group_32418] +[group_32419] +[group_32420] +[group_32421] +[group_32422] +[group_32423] +[group_32424] +[group_32425] +[group_32426] +[group_32427] +[group_32428] +[group_32429] +[group_32430] +[group_32431] +[group_32432] +[group_32433] +[group_32434] +[group_32435] +[group_32436] +[group_32437] +[group_32438] +[group_32439] +[group_32440] +[group_32441] +[group_32442] +[group_32443] +[group_32444] +[group_32445] +[group_32446] +[group_32447] +[group_32448] +[group_32449] +[group_32450] +[group_32451] +[group_32452] +[group_32453] +[group_32454] +[group_32455] +[group_32456] +[group_32457] +[group_32458] +[group_32459] +[group_32460] +[group_32461] +[group_32462] +[group_32463] +[group_32464] +[group_32465] +[group_32466] +[group_32467] +[group_32468] +[group_32469] +[group_32470] +[group_32471] +[group_32472] +[group_32473] +[group_32474] +[group_32475] +[group_32476] +[group_32477] +[group_32478] +[group_32479] +[group_32480] +[group_32481] +[group_32482] +[group_32483] +[group_32484] +[group_32485] +[group_32486] +[group_32487] +[group_32488] +[group_32489] +[group_32490] +[group_32491] +[group_32492] +[group_32493] +[group_32494] +[group_32495] +[group_32496] +[group_32497] +[group_32498] +[group_32499] +[group_32500] +[group_32501] +[group_32502] +[group_32503] +[group_32504] +[group_32505] +[group_32506] +[group_32507] +[group_32508] +[group_32509] +[group_32510] +[group_32511] +[group_32512] +[group_32513] +[group_32514] +[group_32515] +[group_32516] +[group_32517] +[group_32518] +[group_32519] +[group_32520] +[group_32521] +[group_32522] +[group_32523] +[group_32524] +[group_32525] +[group_32526] +[group_32527] +[group_32528] +[group_32529] +[group_32530] +[group_32531] +[group_32532] +[group_32533] +[group_32534] +[group_32535] +[group_32536] +[group_32537] +[group_32538] +[group_32539] +[group_32540] +[group_32541] +[group_32542] +[group_32543] +[group_32544] +[group_32545] +[group_32546] +[group_32547] +[group_32548] +[group_32549] +[group_32550] +[group_32551] +[group_32552] +[group_32553] +[group_32554] +[group_32555] +[group_32556] +[group_32557] +[group_32558] +[group_32559] +[group_32560] +[group_32561] +[group_32562] +[group_32563] +[group_32564] +[group_32565] +[group_32566] +[group_32567] +[group_32568] +[group_32569] +[group_32570] +[group_32571] +[group_32572] +[group_32573] +[group_32574] +[group_32575] +[group_32576] +[group_32577] +[group_32578] +[group_32579] +[group_32580] +[group_32581] +[group_32582] +[group_32583] +[group_32584] +[group_32585] +[group_32586] +[group_32587] +[group_32588] +[group_32589] +[group_32590] +[group_32591] +[group_32592] +[group_32593] +[group_32594] +[group_32595] +[group_32596] +[group_32597] +[group_32598] +[group_32599] +[group_32600] +[group_32601] +[group_32602] +[group_32603] +[group_32604] +[group_32605] +[group_32606] +[group_32607] +[group_32608] +[group_32609] +[group_32610] +[group_32611] +[group_32612] +[group_32613] +[group_32614] +[group_32615] +[group_32616] +[group_32617] +[group_32618] +[group_32619] +[group_32620] +[group_32621] +[group_32622] +[group_32623] +[group_32624] +[group_32625] +[group_32626] +[group_32627] +[group_32628] +[group_32629] +[group_32630] +[group_32631] +[group_32632] +[group_32633] +[group_32634] +[group_32635] +[group_32636] +[group_32637] +[group_32638] +[group_32639] +[group_32640] +[group_32641] +[group_32642] +[group_32643] +[group_32644] +[group_32645] +[group_32646] +[group_32647] +[group_32648] +[group_32649] +[group_32650] +[group_32651] +[group_32652] +[group_32653] +[group_32654] +[group_32655] +[group_32656] +[group_32657] +[group_32658] +[group_32659] +[group_32660] +[group_32661] +[group_32662] +[group_32663] +[group_32664] +[group_32665] +[group_32666] +[group_32667] +[group_32668] +[group_32669] +[group_32670] +[group_32671] +[group_32672] +[group_32673] +[group_32674] +[group_32675] +[group_32676] +[group_32677] +[group_32678] +[group_32679] +[group_32680] +[group_32681] +[group_32682] +[group_32683] +[group_32684] +[group_32685] +[group_32686] +[group_32687] +[group_32688] +[group_32689] +[group_32690] +[group_32691] +[group_32692] +[group_32693] +[group_32694] +[group_32695] +[group_32696] +[group_32697] +[group_32698] +[group_32699] +[group_32700] +[group_32701] +[group_32702] +[group_32703] +[group_32704] +[group_32705] +[group_32706] +[group_32707] +[group_32708] +[group_32709] +[group_32710] +[group_32711] +[group_32712] +[group_32713] +[group_32714] +[group_32715] +[group_32716] +[group_32717] +[group_32718] +[group_32719] +[group_32720] +[group_32721] +[group_32722] +[group_32723] +[group_32724] +[group_32725] +[group_32726] +[group_32727] +[group_32728] +[group_32729] +[group_32730] +[group_32731] +[group_32732] +[group_32733] +[group_32734] +[group_32735] +[group_32736] +[group_32737] +[group_32738] +[group_32739] +[group_32740] +[group_32741] +[group_32742] +[group_32743] +[group_32744] +[group_32745] +[group_32746] +[group_32747] +[group_32748] +[group_32749] +[group_32750] +[group_32751] +[group_32752] +[group_32753] +[group_32754] +[group_32755] +[group_32756] +[group_32757] +[group_32758] +[group_32759] +[group_32760] +[group_32761] +[group_32762] +[group_32763] +[group_32764] +[group_32765] +[group_32766] +[group_32767] +[group_32768] +[group_32769] +[group_32770] +[group_32771] +[group_32772] +[group_32773] +[group_32774] +[group_32775] +[group_32776] +[group_32777] +[group_32778] +[group_32779] +[group_32780] +[group_32781] +[group_32782] +[group_32783] +[group_32784] +[group_32785] +[group_32786] +[group_32787] +[group_32788] +[group_32789] +[group_32790] +[group_32791] +[group_32792] +[group_32793] +[group_32794] +[group_32795] +[group_32796] +[group_32797] +[group_32798] +[group_32799] +[group_32800] +[group_32801] +[group_32802] +[group_32803] +[group_32804] +[group_32805] +[group_32806] +[group_32807] +[group_32808] +[group_32809] +[group_32810] +[group_32811] +[group_32812] +[group_32813] +[group_32814] +[group_32815] +[group_32816] +[group_32817] +[group_32818] +[group_32819] +[group_32820] +[group_32821] +[group_32822] +[group_32823] +[group_32824] +[group_32825] +[group_32826] +[group_32827] +[group_32828] +[group_32829] +[group_32830] +[group_32831] +[group_32832] +[group_32833] +[group_32834] +[group_32835] +[group_32836] +[group_32837] +[group_32838] +[group_32839] +[group_32840] +[group_32841] +[group_32842] +[group_32843] +[group_32844] +[group_32845] +[group_32846] +[group_32847] +[group_32848] +[group_32849] +[group_32850] +[group_32851] +[group_32852] +[group_32853] +[group_32854] +[group_32855] +[group_32856] +[group_32857] +[group_32858] +[group_32859] +[group_32860] +[group_32861] +[group_32862] +[group_32863] +[group_32864] +[group_32865] +[group_32866] +[group_32867] +[group_32868] +[group_32869] +[group_32870] +[group_32871] +[group_32872] +[group_32873] +[group_32874] +[group_32875] +[group_32876] +[group_32877] +[group_32878] +[group_32879] +[group_32880] +[group_32881] +[group_32882] +[group_32883] +[group_32884] +[group_32885] +[group_32886] +[group_32887] +[group_32888] +[group_32889] +[group_32890] +[group_32891] +[group_32892] +[group_32893] +[group_32894] +[group_32895] +[group_32896] +[group_32897] +[group_32898] +[group_32899] +[group_32900] +[group_32901] +[group_32902] +[group_32903] +[group_32904] +[group_32905] +[group_32906] +[group_32907] +[group_32908] +[group_32909] +[group_32910] +[group_32911] +[group_32912] +[group_32913] +[group_32914] +[group_32915] +[group_32916] +[group_32917] +[group_32918] +[group_32919] +[group_32920] +[group_32921] +[group_32922] +[group_32923] +[group_32924] +[group_32925] +[group_32926] +[group_32927] +[group_32928] +[group_32929] +[group_32930] +[group_32931] +[group_32932] +[group_32933] +[group_32934] +[group_32935] +[group_32936] +[group_32937] +[group_32938] +[group_32939] +[group_32940] +[group_32941] +[group_32942] +[group_32943] +[group_32944] +[group_32945] +[group_32946] +[group_32947] +[group_32948] +[group_32949] +[group_32950] +[group_32951] +[group_32952] +[group_32953] +[group_32954] +[group_32955] +[group_32956] +[group_32957] +[group_32958] +[group_32959] +[group_32960] +[group_32961] +[group_32962] +[group_32963] +[group_32964] +[group_32965] +[group_32966] +[group_32967] +[group_32968] +[group_32969] +[group_32970] +[group_32971] +[group_32972] +[group_32973] +[group_32974] +[group_32975] +[group_32976] +[group_32977] +[group_32978] +[group_32979] +[group_32980] +[group_32981] +[group_32982] +[group_32983] +[group_32984] +[group_32985] +[group_32986] +[group_32987] +[group_32988] +[group_32989] +[group_32990] +[group_32991] +[group_32992] +[group_32993] +[group_32994] +[group_32995] +[group_32996] +[group_32997] +[group_32998] +[group_32999] +[group_33000] +[group_33001] +[group_33002] +[group_33003] +[group_33004] +[group_33005] +[group_33006] +[group_33007] +[group_33008] +[group_33009] +[group_33010] +[group_33011] +[group_33012] +[group_33013] +[group_33014] +[group_33015] +[group_33016] +[group_33017] +[group_33018] +[group_33019] +[group_33020] +[group_33021] +[group_33022] +[group_33023] +[group_33024] +[group_33025] +[group_33026] +[group_33027] +[group_33028] +[group_33029] +[group_33030] +[group_33031] +[group_33032] +[group_33033] +[group_33034] +[group_33035] +[group_33036] +[group_33037] +[group_33038] +[group_33039] +[group_33040] +[group_33041] +[group_33042] +[group_33043] +[group_33044] +[group_33045] +[group_33046] +[group_33047] +[group_33048] +[group_33049] +[group_33050] +[group_33051] +[group_33052] +[group_33053] +[group_33054] +[group_33055] +[group_33056] +[group_33057] +[group_33058] +[group_33059] +[group_33060] +[group_33061] +[group_33062] +[group_33063] +[group_33064] +[group_33065] +[group_33066] +[group_33067] +[group_33068] +[group_33069] +[group_33070] +[group_33071] +[group_33072] +[group_33073] +[group_33074] +[group_33075] +[group_33076] +[group_33077] +[group_33078] +[group_33079] +[group_33080] +[group_33081] +[group_33082] +[group_33083] +[group_33084] +[group_33085] +[group_33086] +[group_33087] +[group_33088] +[group_33089] +[group_33090] +[group_33091] +[group_33092] +[group_33093] +[group_33094] +[group_33095] +[group_33096] +[group_33097] +[group_33098] +[group_33099] +[group_33100] +[group_33101] +[group_33102] +[group_33103] +[group_33104] +[group_33105] +[group_33106] +[group_33107] +[group_33108] +[group_33109] +[group_33110] +[group_33111] +[group_33112] +[group_33113] +[group_33114] +[group_33115] +[group_33116] +[group_33117] +[group_33118] +[group_33119] +[group_33120] +[group_33121] +[group_33122] +[group_33123] +[group_33124] +[group_33125] +[group_33126] +[group_33127] +[group_33128] +[group_33129] +[group_33130] +[group_33131] +[group_33132] +[group_33133] +[group_33134] +[group_33135] +[group_33136] +[group_33137] +[group_33138] +[group_33139] +[group_33140] +[group_33141] +[group_33142] +[group_33143] +[group_33144] +[group_33145] +[group_33146] +[group_33147] +[group_33148] +[group_33149] +[group_33150] +[group_33151] +[group_33152] +[group_33153] +[group_33154] +[group_33155] +[group_33156] +[group_33157] +[group_33158] +[group_33159] +[group_33160] +[group_33161] +[group_33162] +[group_33163] +[group_33164] +[group_33165] +[group_33166] +[group_33167] +[group_33168] +[group_33169] +[group_33170] +[group_33171] +[group_33172] +[group_33173] +[group_33174] +[group_33175] +[group_33176] +[group_33177] +[group_33178] +[group_33179] +[group_33180] +[group_33181] +[group_33182] +[group_33183] +[group_33184] +[group_33185] +[group_33186] +[group_33187] +[group_33188] +[group_33189] +[group_33190] +[group_33191] +[group_33192] +[group_33193] +[group_33194] +[group_33195] +[group_33196] +[group_33197] +[group_33198] +[group_33199] +[group_33200] +[group_33201] +[group_33202] +[group_33203] +[group_33204] +[group_33205] +[group_33206] +[group_33207] +[group_33208] +[group_33209] +[group_33210] +[group_33211] +[group_33212] +[group_33213] +[group_33214] +[group_33215] +[group_33216] +[group_33217] +[group_33218] +[group_33219] +[group_33220] +[group_33221] +[group_33222] +[group_33223] +[group_33224] +[group_33225] +[group_33226] +[group_33227] +[group_33228] +[group_33229] +[group_33230] +[group_33231] +[group_33232] +[group_33233] +[group_33234] +[group_33235] +[group_33236] +[group_33237] +[group_33238] +[group_33239] +[group_33240] +[group_33241] +[group_33242] +[group_33243] +[group_33244] +[group_33245] +[group_33246] +[group_33247] +[group_33248] +[group_33249] +[group_33250] +[group_33251] +[group_33252] +[group_33253] +[group_33254] +[group_33255] +[group_33256] +[group_33257] +[group_33258] +[group_33259] +[group_33260] +[group_33261] +[group_33262] +[group_33263] +[group_33264] +[group_33265] +[group_33266] +[group_33267] +[group_33268] +[group_33269] +[group_33270] +[group_33271] +[group_33272] +[group_33273] +[group_33274] +[group_33275] +[group_33276] +[group_33277] +[group_33278] +[group_33279] +[group_33280] +[group_33281] +[group_33282] +[group_33283] +[group_33284] +[group_33285] +[group_33286] +[group_33287] +[group_33288] +[group_33289] +[group_33290] +[group_33291] +[group_33292] +[group_33293] +[group_33294] +[group_33295] +[group_33296] +[group_33297] +[group_33298] +[group_33299] +[group_33300] +[group_33301] +[group_33302] +[group_33303] +[group_33304] +[group_33305] +[group_33306] +[group_33307] +[group_33308] +[group_33309] +[group_33310] +[group_33311] +[group_33312] +[group_33313] +[group_33314] +[group_33315] +[group_33316] +[group_33317] +[group_33318] +[group_33319] +[group_33320] +[group_33321] +[group_33322] +[group_33323] +[group_33324] +[group_33325] +[group_33326] +[group_33327] +[group_33328] +[group_33329] +[group_33330] +[group_33331] +[group_33332] +[group_33333] +[group_33334] +[group_33335] +[group_33336] +[group_33337] +[group_33338] +[group_33339] +[group_33340] +[group_33341] +[group_33342] +[group_33343] +[group_33344] +[group_33345] +[group_33346] +[group_33347] +[group_33348] +[group_33349] +[group_33350] +[group_33351] +[group_33352] +[group_33353] +[group_33354] +[group_33355] +[group_33356] +[group_33357] +[group_33358] +[group_33359] +[group_33360] +[group_33361] +[group_33362] +[group_33363] +[group_33364] +[group_33365] +[group_33366] +[group_33367] +[group_33368] +[group_33369] +[group_33370] +[group_33371] +[group_33372] +[group_33373] +[group_33374] +[group_33375] +[group_33376] +[group_33377] +[group_33378] +[group_33379] +[group_33380] +[group_33381] +[group_33382] +[group_33383] +[group_33384] +[group_33385] +[group_33386] +[group_33387] +[group_33388] +[group_33389] +[group_33390] +[group_33391] +[group_33392] +[group_33393] +[group_33394] +[group_33395] +[group_33396] +[group_33397] +[group_33398] +[group_33399] +[group_33400] +[group_33401] +[group_33402] +[group_33403] +[group_33404] +[group_33405] +[group_33406] +[group_33407] +[group_33408] +[group_33409] +[group_33410] +[group_33411] +[group_33412] +[group_33413] +[group_33414] +[group_33415] +[group_33416] +[group_33417] +[group_33418] +[group_33419] +[group_33420] +[group_33421] +[group_33422] +[group_33423] +[group_33424] +[group_33425] +[group_33426] +[group_33427] +[group_33428] +[group_33429] +[group_33430] +[group_33431] +[group_33432] +[group_33433] +[group_33434] +[group_33435] +[group_33436] +[group_33437] +[group_33438] +[group_33439] +[group_33440] +[group_33441] +[group_33442] +[group_33443] +[group_33444] +[group_33445] +[group_33446] +[group_33447] +[group_33448] +[group_33449] +[group_33450] +[group_33451] +[group_33452] +[group_33453] +[group_33454] +[group_33455] +[group_33456] +[group_33457] +[group_33458] +[group_33459] +[group_33460] +[group_33461] +[group_33462] +[group_33463] +[group_33464] +[group_33465] +[group_33466] +[group_33467] +[group_33468] +[group_33469] +[group_33470] +[group_33471] +[group_33472] +[group_33473] +[group_33474] +[group_33475] +[group_33476] +[group_33477] +[group_33478] +[group_33479] +[group_33480] +[group_33481] +[group_33482] +[group_33483] +[group_33484] +[group_33485] +[group_33486] +[group_33487] +[group_33488] +[group_33489] +[group_33490] +[group_33491] +[group_33492] +[group_33493] +[group_33494] +[group_33495] +[group_33496] +[group_33497] +[group_33498] +[group_33499] +[group_33500] +[group_33501] +[group_33502] +[group_33503] +[group_33504] +[group_33505] +[group_33506] +[group_33507] +[group_33508] +[group_33509] +[group_33510] +[group_33511] +[group_33512] +[group_33513] +[group_33514] +[group_33515] +[group_33516] +[group_33517] +[group_33518] +[group_33519] +[group_33520] +[group_33521] +[group_33522] +[group_33523] +[group_33524] +[group_33525] +[group_33526] +[group_33527] +[group_33528] +[group_33529] +[group_33530] +[group_33531] +[group_33532] +[group_33533] +[group_33534] +[group_33535] +[group_33536] +[group_33537] +[group_33538] +[group_33539] +[group_33540] +[group_33541] +[group_33542] +[group_33543] +[group_33544] +[group_33545] +[group_33546] +[group_33547] +[group_33548] +[group_33549] +[group_33550] +[group_33551] +[group_33552] +[group_33553] +[group_33554] +[group_33555] +[group_33556] +[group_33557] +[group_33558] +[group_33559] +[group_33560] +[group_33561] +[group_33562] +[group_33563] +[group_33564] +[group_33565] +[group_33566] +[group_33567] +[group_33568] +[group_33569] +[group_33570] +[group_33571] +[group_33572] +[group_33573] +[group_33574] +[group_33575] +[group_33576] +[group_33577] +[group_33578] +[group_33579] +[group_33580] +[group_33581] +[group_33582] +[group_33583] +[group_33584] +[group_33585] +[group_33586] +[group_33587] +[group_33588] +[group_33589] +[group_33590] +[group_33591] +[group_33592] +[group_33593] +[group_33594] +[group_33595] +[group_33596] +[group_33597] +[group_33598] +[group_33599] +[group_33600] +[group_33601] +[group_33602] +[group_33603] +[group_33604] +[group_33605] +[group_33606] +[group_33607] +[group_33608] +[group_33609] +[group_33610] +[group_33611] +[group_33612] +[group_33613] +[group_33614] +[group_33615] +[group_33616] +[group_33617] +[group_33618] +[group_33619] +[group_33620] +[group_33621] +[group_33622] +[group_33623] +[group_33624] +[group_33625] +[group_33626] +[group_33627] +[group_33628] +[group_33629] +[group_33630] +[group_33631] +[group_33632] +[group_33633] +[group_33634] +[group_33635] +[group_33636] +[group_33637] +[group_33638] +[group_33639] +[group_33640] +[group_33641] +[group_33642] +[group_33643] +[group_33644] +[group_33645] +[group_33646] +[group_33647] +[group_33648] +[group_33649] +[group_33650] +[group_33651] +[group_33652] +[group_33653] +[group_33654] +[group_33655] +[group_33656] +[group_33657] +[group_33658] +[group_33659] +[group_33660] +[group_33661] +[group_33662] +[group_33663] +[group_33664] +[group_33665] +[group_33666] +[group_33667] +[group_33668] +[group_33669] +[group_33670] +[group_33671] +[group_33672] +[group_33673] +[group_33674] +[group_33675] +[group_33676] +[group_33677] +[group_33678] +[group_33679] +[group_33680] +[group_33681] +[group_33682] +[group_33683] +[group_33684] +[group_33685] +[group_33686] +[group_33687] +[group_33688] +[group_33689] +[group_33690] +[group_33691] +[group_33692] +[group_33693] +[group_33694] +[group_33695] +[group_33696] +[group_33697] +[group_33698] +[group_33699] +[group_33700] +[group_33701] +[group_33702] +[group_33703] +[group_33704] +[group_33705] +[group_33706] +[group_33707] +[group_33708] +[group_33709] +[group_33710] +[group_33711] +[group_33712] +[group_33713] +[group_33714] +[group_33715] +[group_33716] +[group_33717] +[group_33718] +[group_33719] +[group_33720] +[group_33721] +[group_33722] +[group_33723] +[group_33724] +[group_33725] +[group_33726] +[group_33727] +[group_33728] +[group_33729] +[group_33730] +[group_33731] +[group_33732] +[group_33733] +[group_33734] +[group_33735] +[group_33736] +[group_33737] +[group_33738] +[group_33739] +[group_33740] +[group_33741] +[group_33742] +[group_33743] +[group_33744] +[group_33745] +[group_33746] +[group_33747] +[group_33748] +[group_33749] +[group_33750] +[group_33751] +[group_33752] +[group_33753] +[group_33754] +[group_33755] +[group_33756] +[group_33757] +[group_33758] +[group_33759] +[group_33760] +[group_33761] +[group_33762] +[group_33763] +[group_33764] +[group_33765] +[group_33766] +[group_33767] +[group_33768] +[group_33769] +[group_33770] +[group_33771] +[group_33772] +[group_33773] +[group_33774] +[group_33775] +[group_33776] +[group_33777] +[group_33778] +[group_33779] +[group_33780] +[group_33781] +[group_33782] +[group_33783] +[group_33784] +[group_33785] +[group_33786] +[group_33787] +[group_33788] +[group_33789] +[group_33790] +[group_33791] +[group_33792] +[group_33793] +[group_33794] +[group_33795] +[group_33796] +[group_33797] +[group_33798] +[group_33799] +[group_33800] +[group_33801] +[group_33802] +[group_33803] +[group_33804] +[group_33805] +[group_33806] +[group_33807] +[group_33808] +[group_33809] +[group_33810] +[group_33811] +[group_33812] +[group_33813] +[group_33814] +[group_33815] +[group_33816] +[group_33817] +[group_33818] +[group_33819] +[group_33820] +[group_33821] +[group_33822] +[group_33823] +[group_33824] +[group_33825] +[group_33826] +[group_33827] +[group_33828] +[group_33829] +[group_33830] +[group_33831] +[group_33832] +[group_33833] +[group_33834] +[group_33835] +[group_33836] +[group_33837] +[group_33838] +[group_33839] +[group_33840] +[group_33841] +[group_33842] +[group_33843] +[group_33844] +[group_33845] +[group_33846] +[group_33847] +[group_33848] +[group_33849] +[group_33850] +[group_33851] +[group_33852] +[group_33853] +[group_33854] +[group_33855] +[group_33856] +[group_33857] +[group_33858] +[group_33859] +[group_33860] +[group_33861] +[group_33862] +[group_33863] +[group_33864] +[group_33865] +[group_33866] +[group_33867] +[group_33868] +[group_33869] +[group_33870] +[group_33871] +[group_33872] +[group_33873] +[group_33874] +[group_33875] +[group_33876] +[group_33877] +[group_33878] +[group_33879] +[group_33880] +[group_33881] +[group_33882] +[group_33883] +[group_33884] +[group_33885] +[group_33886] +[group_33887] +[group_33888] +[group_33889] +[group_33890] +[group_33891] +[group_33892] +[group_33893] +[group_33894] +[group_33895] +[group_33896] +[group_33897] +[group_33898] +[group_33899] +[group_33900] +[group_33901] +[group_33902] +[group_33903] +[group_33904] +[group_33905] +[group_33906] +[group_33907] +[group_33908] +[group_33909] +[group_33910] +[group_33911] +[group_33912] +[group_33913] +[group_33914] +[group_33915] +[group_33916] +[group_33917] +[group_33918] +[group_33919] +[group_33920] +[group_33921] +[group_33922] +[group_33923] +[group_33924] +[group_33925] +[group_33926] +[group_33927] +[group_33928] +[group_33929] +[group_33930] +[group_33931] +[group_33932] +[group_33933] +[group_33934] +[group_33935] +[group_33936] +[group_33937] +[group_33938] +[group_33939] +[group_33940] +[group_33941] +[group_33942] +[group_33943] +[group_33944] +[group_33945] +[group_33946] +[group_33947] +[group_33948] +[group_33949] +[group_33950] +[group_33951] +[group_33952] +[group_33953] +[group_33954] +[group_33955] +[group_33956] +[group_33957] +[group_33958] +[group_33959] +[group_33960] +[group_33961] +[group_33962] +[group_33963] +[group_33964] +[group_33965] +[group_33966] +[group_33967] +[group_33968] +[group_33969] +[group_33970] +[group_33971] +[group_33972] +[group_33973] +[group_33974] +[group_33975] +[group_33976] +[group_33977] +[group_33978] +[group_33979] +[group_33980] +[group_33981] +[group_33982] +[group_33983] +[group_33984] +[group_33985] +[group_33986] +[group_33987] +[group_33988] +[group_33989] +[group_33990] +[group_33991] +[group_33992] +[group_33993] +[group_33994] +[group_33995] +[group_33996] +[group_33997] +[group_33998] +[group_33999] +[group_34000] +[group_34001] +[group_34002] +[group_34003] +[group_34004] +[group_34005] +[group_34006] +[group_34007] +[group_34008] +[group_34009] +[group_34010] +[group_34011] +[group_34012] +[group_34013] +[group_34014] +[group_34015] +[group_34016] +[group_34017] +[group_34018] +[group_34019] +[group_34020] +[group_34021] +[group_34022] +[group_34023] +[group_34024] +[group_34025] +[group_34026] +[group_34027] +[group_34028] +[group_34029] +[group_34030] +[group_34031] +[group_34032] +[group_34033] +[group_34034] +[group_34035] +[group_34036] +[group_34037] +[group_34038] +[group_34039] +[group_34040] +[group_34041] +[group_34042] +[group_34043] +[group_34044] +[group_34045] +[group_34046] +[group_34047] +[group_34048] +[group_34049] +[group_34050] +[group_34051] +[group_34052] +[group_34053] +[group_34054] +[group_34055] +[group_34056] +[group_34057] +[group_34058] +[group_34059] +[group_34060] +[group_34061] +[group_34062] +[group_34063] +[group_34064] +[group_34065] +[group_34066] +[group_34067] +[group_34068] +[group_34069] +[group_34070] +[group_34071] +[group_34072] +[group_34073] +[group_34074] +[group_34075] +[group_34076] +[group_34077] +[group_34078] +[group_34079] +[group_34080] +[group_34081] +[group_34082] +[group_34083] +[group_34084] +[group_34085] +[group_34086] +[group_34087] +[group_34088] +[group_34089] +[group_34090] +[group_34091] +[group_34092] +[group_34093] +[group_34094] +[group_34095] +[group_34096] +[group_34097] +[group_34098] +[group_34099] +[group_34100] +[group_34101] +[group_34102] +[group_34103] +[group_34104] +[group_34105] +[group_34106] +[group_34107] +[group_34108] +[group_34109] +[group_34110] +[group_34111] +[group_34112] +[group_34113] +[group_34114] +[group_34115] +[group_34116] +[group_34117] +[group_34118] +[group_34119] +[group_34120] +[group_34121] +[group_34122] +[group_34123] +[group_34124] +[group_34125] +[group_34126] +[group_34127] +[group_34128] +[group_34129] +[group_34130] +[group_34131] +[group_34132] +[group_34133] +[group_34134] +[group_34135] +[group_34136] +[group_34137] +[group_34138] +[group_34139] +[group_34140] +[group_34141] +[group_34142] +[group_34143] +[group_34144] +[group_34145] +[group_34146] +[group_34147] +[group_34148] +[group_34149] +[group_34150] +[group_34151] +[group_34152] +[group_34153] +[group_34154] +[group_34155] +[group_34156] +[group_34157] +[group_34158] +[group_34159] +[group_34160] +[group_34161] +[group_34162] +[group_34163] +[group_34164] +[group_34165] +[group_34166] +[group_34167] +[group_34168] +[group_34169] +[group_34170] +[group_34171] +[group_34172] +[group_34173] +[group_34174] +[group_34175] +[group_34176] +[group_34177] +[group_34178] +[group_34179] +[group_34180] +[group_34181] +[group_34182] +[group_34183] +[group_34184] +[group_34185] +[group_34186] +[group_34187] +[group_34188] +[group_34189] +[group_34190] +[group_34191] +[group_34192] +[group_34193] +[group_34194] +[group_34195] +[group_34196] +[group_34197] +[group_34198] +[group_34199] +[group_34200] +[group_34201] +[group_34202] +[group_34203] +[group_34204] +[group_34205] +[group_34206] +[group_34207] +[group_34208] +[group_34209] +[group_34210] +[group_34211] +[group_34212] +[group_34213] +[group_34214] +[group_34215] +[group_34216] +[group_34217] +[group_34218] +[group_34219] +[group_34220] +[group_34221] +[group_34222] +[group_34223] +[group_34224] +[group_34225] +[group_34226] +[group_34227] +[group_34228] +[group_34229] +[group_34230] +[group_34231] +[group_34232] +[group_34233] +[group_34234] +[group_34235] +[group_34236] +[group_34237] +[group_34238] +[group_34239] +[group_34240] +[group_34241] +[group_34242] +[group_34243] +[group_34244] +[group_34245] +[group_34246] +[group_34247] +[group_34248] +[group_34249] +[group_34250] +[group_34251] +[group_34252] +[group_34253] +[group_34254] +[group_34255] +[group_34256] +[group_34257] +[group_34258] +[group_34259] +[group_34260] +[group_34261] +[group_34262] +[group_34263] +[group_34264] +[group_34265] +[group_34266] +[group_34267] +[group_34268] +[group_34269] +[group_34270] +[group_34271] +[group_34272] +[group_34273] +[group_34274] +[group_34275] +[group_34276] +[group_34277] +[group_34278] +[group_34279] +[group_34280] +[group_34281] +[group_34282] +[group_34283] +[group_34284] +[group_34285] +[group_34286] +[group_34287] +[group_34288] +[group_34289] +[group_34290] +[group_34291] +[group_34292] +[group_34293] +[group_34294] +[group_34295] +[group_34296] +[group_34297] +[group_34298] +[group_34299] +[group_34300] +[group_34301] +[group_34302] +[group_34303] +[group_34304] +[group_34305] +[group_34306] +[group_34307] +[group_34308] +[group_34309] +[group_34310] +[group_34311] +[group_34312] +[group_34313] +[group_34314] +[group_34315] +[group_34316] +[group_34317] +[group_34318] +[group_34319] +[group_34320] +[group_34321] +[group_34322] +[group_34323] +[group_34324] +[group_34325] +[group_34326] +[group_34327] +[group_34328] +[group_34329] +[group_34330] +[group_34331] +[group_34332] +[group_34333] +[group_34334] +[group_34335] +[group_34336] +[group_34337] +[group_34338] +[group_34339] +[group_34340] +[group_34341] +[group_34342] +[group_34343] +[group_34344] +[group_34345] +[group_34346] +[group_34347] +[group_34348] +[group_34349] +[group_34350] +[group_34351] +[group_34352] +[group_34353] +[group_34354] +[group_34355] +[group_34356] +[group_34357] +[group_34358] +[group_34359] +[group_34360] +[group_34361] +[group_34362] +[group_34363] +[group_34364] +[group_34365] +[group_34366] +[group_34367] +[group_34368] +[group_34369] +[group_34370] +[group_34371] +[group_34372] +[group_34373] +[group_34374] +[group_34375] +[group_34376] +[group_34377] +[group_34378] +[group_34379] +[group_34380] +[group_34381] +[group_34382] +[group_34383] +[group_34384] +[group_34385] +[group_34386] +[group_34387] +[group_34388] +[group_34389] +[group_34390] +[group_34391] +[group_34392] +[group_34393] +[group_34394] +[group_34395] +[group_34396] +[group_34397] +[group_34398] +[group_34399] +[group_34400] +[group_34401] +[group_34402] +[group_34403] +[group_34404] +[group_34405] +[group_34406] +[group_34407] +[group_34408] +[group_34409] +[group_34410] +[group_34411] +[group_34412] +[group_34413] +[group_34414] +[group_34415] +[group_34416] +[group_34417] +[group_34418] +[group_34419] +[group_34420] +[group_34421] +[group_34422] +[group_34423] +[group_34424] +[group_34425] +[group_34426] +[group_34427] +[group_34428] +[group_34429] +[group_34430] +[group_34431] +[group_34432] +[group_34433] +[group_34434] +[group_34435] +[group_34436] +[group_34437] +[group_34438] +[group_34439] +[group_34440] +[group_34441] +[group_34442] +[group_34443] +[group_34444] +[group_34445] +[group_34446] +[group_34447] +[group_34448] +[group_34449] +[group_34450] +[group_34451] +[group_34452] +[group_34453] +[group_34454] +[group_34455] +[group_34456] +[group_34457] +[group_34458] +[group_34459] +[group_34460] +[group_34461] +[group_34462] +[group_34463] +[group_34464] +[group_34465] +[group_34466] +[group_34467] +[group_34468] +[group_34469] +[group_34470] +[group_34471] +[group_34472] +[group_34473] +[group_34474] +[group_34475] +[group_34476] +[group_34477] +[group_34478] +[group_34479] +[group_34480] +[group_34481] +[group_34482] +[group_34483] +[group_34484] +[group_34485] +[group_34486] +[group_34487] +[group_34488] +[group_34489] +[group_34490] +[group_34491] +[group_34492] +[group_34493] +[group_34494] +[group_34495] +[group_34496] +[group_34497] +[group_34498] +[group_34499] +[group_34500] +[group_34501] +[group_34502] +[group_34503] +[group_34504] +[group_34505] +[group_34506] +[group_34507] +[group_34508] +[group_34509] +[group_34510] +[group_34511] +[group_34512] +[group_34513] +[group_34514] +[group_34515] +[group_34516] +[group_34517] +[group_34518] +[group_34519] +[group_34520] +[group_34521] +[group_34522] +[group_34523] +[group_34524] +[group_34525] +[group_34526] +[group_34527] +[group_34528] +[group_34529] +[group_34530] +[group_34531] +[group_34532] +[group_34533] +[group_34534] +[group_34535] +[group_34536] +[group_34537] +[group_34538] +[group_34539] +[group_34540] +[group_34541] +[group_34542] +[group_34543] +[group_34544] +[group_34545] +[group_34546] +[group_34547] +[group_34548] +[group_34549] +[group_34550] +[group_34551] +[group_34552] +[group_34553] +[group_34554] +[group_34555] +[group_34556] +[group_34557] +[group_34558] +[group_34559] +[group_34560] +[group_34561] +[group_34562] +[group_34563] +[group_34564] +[group_34565] +[group_34566] +[group_34567] +[group_34568] +[group_34569] +[group_34570] +[group_34571] +[group_34572] +[group_34573] +[group_34574] +[group_34575] +[group_34576] +[group_34577] +[group_34578] +[group_34579] +[group_34580] +[group_34581] +[group_34582] +[group_34583] +[group_34584] +[group_34585] +[group_34586] +[group_34587] +[group_34588] +[group_34589] +[group_34590] +[group_34591] +[group_34592] +[group_34593] +[group_34594] +[group_34595] +[group_34596] +[group_34597] +[group_34598] +[group_34599] +[group_34600] +[group_34601] +[group_34602] +[group_34603] +[group_34604] +[group_34605] +[group_34606] +[group_34607] +[group_34608] +[group_34609] +[group_34610] +[group_34611] +[group_34612] +[group_34613] +[group_34614] +[group_34615] +[group_34616] +[group_34617] +[group_34618] +[group_34619] +[group_34620] +[group_34621] +[group_34622] +[group_34623] +[group_34624] +[group_34625] +[group_34626] +[group_34627] +[group_34628] +[group_34629] +[group_34630] +[group_34631] +[group_34632] +[group_34633] +[group_34634] +[group_34635] +[group_34636] +[group_34637] +[group_34638] +[group_34639] +[group_34640] +[group_34641] +[group_34642] +[group_34643] +[group_34644] +[group_34645] +[group_34646] +[group_34647] +[group_34648] +[group_34649] +[group_34650] +[group_34651] +[group_34652] +[group_34653] +[group_34654] +[group_34655] +[group_34656] +[group_34657] +[group_34658] +[group_34659] +[group_34660] +[group_34661] +[group_34662] +[group_34663] +[group_34664] +[group_34665] +[group_34666] +[group_34667] +[group_34668] +[group_34669] +[group_34670] +[group_34671] +[group_34672] +[group_34673] +[group_34674] +[group_34675] +[group_34676] +[group_34677] +[group_34678] +[group_34679] +[group_34680] +[group_34681] +[group_34682] +[group_34683] +[group_34684] +[group_34685] +[group_34686] +[group_34687] +[group_34688] +[group_34689] +[group_34690] +[group_34691] +[group_34692] +[group_34693] +[group_34694] +[group_34695] +[group_34696] +[group_34697] +[group_34698] +[group_34699] +[group_34700] +[group_34701] +[group_34702] +[group_34703] +[group_34704] +[group_34705] +[group_34706] +[group_34707] +[group_34708] +[group_34709] +[group_34710] +[group_34711] +[group_34712] +[group_34713] +[group_34714] +[group_34715] +[group_34716] +[group_34717] +[group_34718] +[group_34719] +[group_34720] +[group_34721] +[group_34722] +[group_34723] +[group_34724] +[group_34725] +[group_34726] +[group_34727] +[group_34728] +[group_34729] +[group_34730] +[group_34731] +[group_34732] +[group_34733] +[group_34734] +[group_34735] +[group_34736] +[group_34737] +[group_34738] +[group_34739] +[group_34740] +[group_34741] +[group_34742] +[group_34743] +[group_34744] +[group_34745] +[group_34746] +[group_34747] +[group_34748] +[group_34749] +[group_34750] +[group_34751] +[group_34752] +[group_34753] +[group_34754] +[group_34755] +[group_34756] +[group_34757] +[group_34758] +[group_34759] +[group_34760] +[group_34761] +[group_34762] +[group_34763] +[group_34764] +[group_34765] +[group_34766] +[group_34767] +[group_34768] +[group_34769] +[group_34770] +[group_34771] +[group_34772] +[group_34773] +[group_34774] +[group_34775] +[group_34776] +[group_34777] +[group_34778] +[group_34779] +[group_34780] +[group_34781] +[group_34782] +[group_34783] +[group_34784] +[group_34785] +[group_34786] +[group_34787] +[group_34788] +[group_34789] +[group_34790] +[group_34791] +[group_34792] +[group_34793] +[group_34794] +[group_34795] +[group_34796] +[group_34797] +[group_34798] +[group_34799] +[group_34800] +[group_34801] +[group_34802] +[group_34803] +[group_34804] +[group_34805] +[group_34806] +[group_34807] +[group_34808] +[group_34809] +[group_34810] +[group_34811] +[group_34812] +[group_34813] +[group_34814] +[group_34815] +[group_34816] +[group_34817] +[group_34818] +[group_34819] +[group_34820] +[group_34821] +[group_34822] +[group_34823] +[group_34824] +[group_34825] +[group_34826] +[group_34827] +[group_34828] +[group_34829] +[group_34830] +[group_34831] +[group_34832] +[group_34833] +[group_34834] +[group_34835] +[group_34836] +[group_34837] +[group_34838] +[group_34839] +[group_34840] +[group_34841] +[group_34842] +[group_34843] +[group_34844] +[group_34845] +[group_34846] +[group_34847] +[group_34848] +[group_34849] +[group_34850] +[group_34851] +[group_34852] +[group_34853] +[group_34854] +[group_34855] +[group_34856] +[group_34857] +[group_34858] +[group_34859] +[group_34860] +[group_34861] +[group_34862] +[group_34863] +[group_34864] +[group_34865] +[group_34866] +[group_34867] +[group_34868] +[group_34869] +[group_34870] +[group_34871] +[group_34872] +[group_34873] +[group_34874] +[group_34875] +[group_34876] +[group_34877] +[group_34878] +[group_34879] +[group_34880] +[group_34881] +[group_34882] +[group_34883] +[group_34884] +[group_34885] +[group_34886] +[group_34887] +[group_34888] +[group_34889] +[group_34890] +[group_34891] +[group_34892] +[group_34893] +[group_34894] +[group_34895] +[group_34896] +[group_34897] +[group_34898] +[group_34899] +[group_34900] +[group_34901] +[group_34902] +[group_34903] +[group_34904] +[group_34905] +[group_34906] +[group_34907] +[group_34908] +[group_34909] +[group_34910] +[group_34911] +[group_34912] +[group_34913] +[group_34914] +[group_34915] +[group_34916] +[group_34917] +[group_34918] +[group_34919] +[group_34920] +[group_34921] +[group_34922] +[group_34923] +[group_34924] +[group_34925] +[group_34926] +[group_34927] +[group_34928] +[group_34929] +[group_34930] +[group_34931] +[group_34932] +[group_34933] +[group_34934] +[group_34935] +[group_34936] +[group_34937] +[group_34938] +[group_34939] +[group_34940] +[group_34941] +[group_34942] +[group_34943] +[group_34944] +[group_34945] +[group_34946] +[group_34947] +[group_34948] +[group_34949] +[group_34950] +[group_34951] +[group_34952] +[group_34953] +[group_34954] +[group_34955] +[group_34956] +[group_34957] +[group_34958] +[group_34959] +[group_34960] +[group_34961] +[group_34962] +[group_34963] +[group_34964] +[group_34965] +[group_34966] +[group_34967] +[group_34968] +[group_34969] +[group_34970] +[group_34971] +[group_34972] +[group_34973] +[group_34974] +[group_34975] +[group_34976] +[group_34977] +[group_34978] +[group_34979] +[group_34980] +[group_34981] +[group_34982] +[group_34983] +[group_34984] +[group_34985] +[group_34986] +[group_34987] +[group_34988] +[group_34989] +[group_34990] +[group_34991] +[group_34992] +[group_34993] +[group_34994] +[group_34995] +[group_34996] +[group_34997] +[group_34998] +[group_34999] +[group_35000] +[group_35001] +[group_35002] +[group_35003] +[group_35004] +[group_35005] +[group_35006] +[group_35007] +[group_35008] +[group_35009] +[group_35010] +[group_35011] +[group_35012] +[group_35013] +[group_35014] +[group_35015] +[group_35016] +[group_35017] +[group_35018] +[group_35019] +[group_35020] +[group_35021] +[group_35022] +[group_35023] +[group_35024] +[group_35025] +[group_35026] +[group_35027] +[group_35028] +[group_35029] +[group_35030] +[group_35031] +[group_35032] +[group_35033] +[group_35034] +[group_35035] +[group_35036] +[group_35037] +[group_35038] +[group_35039] +[group_35040] +[group_35041] +[group_35042] +[group_35043] +[group_35044] +[group_35045] +[group_35046] +[group_35047] +[group_35048] +[group_35049] +[group_35050] +[group_35051] +[group_35052] +[group_35053] +[group_35054] +[group_35055] +[group_35056] +[group_35057] +[group_35058] +[group_35059] +[group_35060] +[group_35061] +[group_35062] +[group_35063] +[group_35064] +[group_35065] +[group_35066] +[group_35067] +[group_35068] +[group_35069] +[group_35070] +[group_35071] +[group_35072] +[group_35073] +[group_35074] +[group_35075] +[group_35076] +[group_35077] +[group_35078] +[group_35079] +[group_35080] +[group_35081] +[group_35082] +[group_35083] +[group_35084] +[group_35085] +[group_35086] +[group_35087] +[group_35088] +[group_35089] +[group_35090] +[group_35091] +[group_35092] +[group_35093] +[group_35094] +[group_35095] +[group_35096] +[group_35097] +[group_35098] +[group_35099] +[group_35100] +[group_35101] +[group_35102] +[group_35103] +[group_35104] +[group_35105] +[group_35106] +[group_35107] +[group_35108] +[group_35109] +[group_35110] +[group_35111] +[group_35112] +[group_35113] +[group_35114] +[group_35115] +[group_35116] +[group_35117] +[group_35118] +[group_35119] +[group_35120] +[group_35121] +[group_35122] +[group_35123] +[group_35124] +[group_35125] +[group_35126] +[group_35127] +[group_35128] +[group_35129] +[group_35130] +[group_35131] +[group_35132] +[group_35133] +[group_35134] +[group_35135] +[group_35136] +[group_35137] +[group_35138] +[group_35139] +[group_35140] +[group_35141] +[group_35142] +[group_35143] +[group_35144] +[group_35145] +[group_35146] +[group_35147] +[group_35148] +[group_35149] +[group_35150] +[group_35151] +[group_35152] +[group_35153] +[group_35154] +[group_35155] +[group_35156] +[group_35157] +[group_35158] +[group_35159] +[group_35160] +[group_35161] +[group_35162] +[group_35163] +[group_35164] +[group_35165] +[group_35166] +[group_35167] +[group_35168] +[group_35169] +[group_35170] +[group_35171] +[group_35172] +[group_35173] +[group_35174] +[group_35175] +[group_35176] +[group_35177] +[group_35178] +[group_35179] +[group_35180] +[group_35181] +[group_35182] +[group_35183] +[group_35184] +[group_35185] +[group_35186] +[group_35187] +[group_35188] +[group_35189] +[group_35190] +[group_35191] +[group_35192] +[group_35193] +[group_35194] +[group_35195] +[group_35196] +[group_35197] +[group_35198] +[group_35199] +[group_35200] +[group_35201] +[group_35202] +[group_35203] +[group_35204] +[group_35205] +[group_35206] +[group_35207] +[group_35208] +[group_35209] +[group_35210] +[group_35211] +[group_35212] +[group_35213] +[group_35214] +[group_35215] +[group_35216] +[group_35217] +[group_35218] +[group_35219] +[group_35220] +[group_35221] +[group_35222] +[group_35223] +[group_35224] +[group_35225] +[group_35226] +[group_35227] +[group_35228] +[group_35229] +[group_35230] +[group_35231] +[group_35232] +[group_35233] +[group_35234] +[group_35235] +[group_35236] +[group_35237] +[group_35238] +[group_35239] +[group_35240] +[group_35241] +[group_35242] +[group_35243] +[group_35244] +[group_35245] +[group_35246] +[group_35247] +[group_35248] +[group_35249] +[group_35250] +[group_35251] +[group_35252] +[group_35253] +[group_35254] +[group_35255] +[group_35256] +[group_35257] +[group_35258] +[group_35259] +[group_35260] +[group_35261] +[group_35262] +[group_35263] +[group_35264] +[group_35265] +[group_35266] +[group_35267] +[group_35268] +[group_35269] +[group_35270] +[group_35271] +[group_35272] +[group_35273] +[group_35274] +[group_35275] +[group_35276] +[group_35277] +[group_35278] +[group_35279] +[group_35280] +[group_35281] +[group_35282] +[group_35283] +[group_35284] +[group_35285] +[group_35286] +[group_35287] +[group_35288] +[group_35289] +[group_35290] +[group_35291] +[group_35292] +[group_35293] +[group_35294] +[group_35295] +[group_35296] +[group_35297] +[group_35298] +[group_35299] +[group_35300] +[group_35301] +[group_35302] +[group_35303] +[group_35304] +[group_35305] +[group_35306] +[group_35307] +[group_35308] +[group_35309] +[group_35310] +[group_35311] +[group_35312] +[group_35313] +[group_35314] +[group_35315] +[group_35316] +[group_35317] +[group_35318] +[group_35319] +[group_35320] +[group_35321] +[group_35322] +[group_35323] +[group_35324] +[group_35325] +[group_35326] +[group_35327] +[group_35328] +[group_35329] +[group_35330] +[group_35331] +[group_35332] +[group_35333] +[group_35334] +[group_35335] +[group_35336] +[group_35337] +[group_35338] +[group_35339] +[group_35340] +[group_35341] +[group_35342] +[group_35343] +[group_35344] +[group_35345] +[group_35346] +[group_35347] +[group_35348] +[group_35349] +[group_35350] +[group_35351] +[group_35352] +[group_35353] +[group_35354] +[group_35355] +[group_35356] +[group_35357] +[group_35358] +[group_35359] +[group_35360] +[group_35361] +[group_35362] +[group_35363] +[group_35364] +[group_35365] +[group_35366] +[group_35367] +[group_35368] +[group_35369] +[group_35370] +[group_35371] +[group_35372] +[group_35373] +[group_35374] +[group_35375] +[group_35376] +[group_35377] +[group_35378] +[group_35379] +[group_35380] +[group_35381] +[group_35382] +[group_35383] +[group_35384] +[group_35385] +[group_35386] +[group_35387] +[group_35388] +[group_35389] +[group_35390] +[group_35391] +[group_35392] +[group_35393] +[group_35394] +[group_35395] +[group_35396] +[group_35397] +[group_35398] +[group_35399] +[group_35400] +[group_35401] +[group_35402] +[group_35403] +[group_35404] +[group_35405] +[group_35406] +[group_35407] +[group_35408] +[group_35409] +[group_35410] +[group_35411] +[group_35412] +[group_35413] +[group_35414] +[group_35415] +[group_35416] +[group_35417] +[group_35418] +[group_35419] +[group_35420] +[group_35421] +[group_35422] +[group_35423] +[group_35424] +[group_35425] +[group_35426] +[group_35427] +[group_35428] +[group_35429] +[group_35430] +[group_35431] +[group_35432] +[group_35433] +[group_35434] +[group_35435] +[group_35436] +[group_35437] +[group_35438] +[group_35439] +[group_35440] +[group_35441] +[group_35442] +[group_35443] +[group_35444] +[group_35445] +[group_35446] +[group_35447] +[group_35448] +[group_35449] +[group_35450] +[group_35451] +[group_35452] +[group_35453] +[group_35454] +[group_35455] +[group_35456] +[group_35457] +[group_35458] +[group_35459] +[group_35460] +[group_35461] +[group_35462] +[group_35463] +[group_35464] +[group_35465] +[group_35466] +[group_35467] +[group_35468] +[group_35469] +[group_35470] +[group_35471] +[group_35472] +[group_35473] +[group_35474] +[group_35475] +[group_35476] +[group_35477] +[group_35478] +[group_35479] +[group_35480] +[group_35481] +[group_35482] +[group_35483] +[group_35484] +[group_35485] +[group_35486] +[group_35487] +[group_35488] +[group_35489] +[group_35490] +[group_35491] +[group_35492] +[group_35493] +[group_35494] +[group_35495] +[group_35496] +[group_35497] +[group_35498] +[group_35499] +[group_35500] +[group_35501] +[group_35502] +[group_35503] +[group_35504] +[group_35505] +[group_35506] +[group_35507] +[group_35508] +[group_35509] +[group_35510] +[group_35511] +[group_35512] +[group_35513] +[group_35514] +[group_35515] +[group_35516] +[group_35517] +[group_35518] +[group_35519] +[group_35520] +[group_35521] +[group_35522] +[group_35523] +[group_35524] +[group_35525] +[group_35526] +[group_35527] +[group_35528] +[group_35529] +[group_35530] +[group_35531] +[group_35532] +[group_35533] +[group_35534] +[group_35535] +[group_35536] +[group_35537] +[group_35538] +[group_35539] +[group_35540] +[group_35541] +[group_35542] +[group_35543] +[group_35544] +[group_35545] +[group_35546] +[group_35547] +[group_35548] +[group_35549] +[group_35550] +[group_35551] +[group_35552] +[group_35553] +[group_35554] +[group_35555] +[group_35556] +[group_35557] +[group_35558] +[group_35559] +[group_35560] +[group_35561] +[group_35562] +[group_35563] +[group_35564] +[group_35565] +[group_35566] +[group_35567] +[group_35568] +[group_35569] +[group_35570] +[group_35571] +[group_35572] +[group_35573] +[group_35574] +[group_35575] +[group_35576] +[group_35577] +[group_35578] +[group_35579] +[group_35580] +[group_35581] +[group_35582] +[group_35583] +[group_35584] +[group_35585] +[group_35586] +[group_35587] +[group_35588] +[group_35589] +[group_35590] +[group_35591] +[group_35592] +[group_35593] +[group_35594] +[group_35595] +[group_35596] +[group_35597] +[group_35598] +[group_35599] +[group_35600] +[group_35601] +[group_35602] +[group_35603] +[group_35604] +[group_35605] +[group_35606] +[group_35607] +[group_35608] +[group_35609] +[group_35610] +[group_35611] +[group_35612] +[group_35613] +[group_35614] +[group_35615] +[group_35616] +[group_35617] +[group_35618] +[group_35619] +[group_35620] +[group_35621] +[group_35622] +[group_35623] +[group_35624] +[group_35625] +[group_35626] +[group_35627] +[group_35628] +[group_35629] +[group_35630] +[group_35631] +[group_35632] +[group_35633] +[group_35634] +[group_35635] +[group_35636] +[group_35637] +[group_35638] +[group_35639] +[group_35640] +[group_35641] +[group_35642] +[group_35643] +[group_35644] +[group_35645] +[group_35646] +[group_35647] +[group_35648] +[group_35649] +[group_35650] +[group_35651] +[group_35652] +[group_35653] +[group_35654] +[group_35655] +[group_35656] +[group_35657] +[group_35658] +[group_35659] +[group_35660] +[group_35661] +[group_35662] +[group_35663] +[group_35664] +[group_35665] +[group_35666] +[group_35667] +[group_35668] +[group_35669] +[group_35670] +[group_35671] +[group_35672] +[group_35673] +[group_35674] +[group_35675] +[group_35676] +[group_35677] +[group_35678] +[group_35679] +[group_35680] +[group_35681] +[group_35682] +[group_35683] +[group_35684] +[group_35685] +[group_35686] +[group_35687] +[group_35688] +[group_35689] +[group_35690] +[group_35691] +[group_35692] +[group_35693] +[group_35694] +[group_35695] +[group_35696] +[group_35697] +[group_35698] +[group_35699] +[group_35700] +[group_35701] +[group_35702] +[group_35703] +[group_35704] +[group_35705] +[group_35706] +[group_35707] +[group_35708] +[group_35709] +[group_35710] +[group_35711] +[group_35712] +[group_35713] +[group_35714] +[group_35715] +[group_35716] +[group_35717] +[group_35718] +[group_35719] +[group_35720] +[group_35721] +[group_35722] +[group_35723] +[group_35724] +[group_35725] +[group_35726] +[group_35727] +[group_35728] +[group_35729] +[group_35730] +[group_35731] +[group_35732] +[group_35733] +[group_35734] +[group_35735] +[group_35736] +[group_35737] +[group_35738] +[group_35739] +[group_35740] +[group_35741] +[group_35742] +[group_35743] +[group_35744] +[group_35745] +[group_35746] +[group_35747] +[group_35748] +[group_35749] +[group_35750] +[group_35751] +[group_35752] +[group_35753] +[group_35754] +[group_35755] +[group_35756] +[group_35757] +[group_35758] +[group_35759] +[group_35760] +[group_35761] +[group_35762] +[group_35763] +[group_35764] +[group_35765] +[group_35766] +[group_35767] +[group_35768] +[group_35769] +[group_35770] +[group_35771] +[group_35772] +[group_35773] +[group_35774] +[group_35775] +[group_35776] +[group_35777] +[group_35778] +[group_35779] +[group_35780] +[group_35781] +[group_35782] +[group_35783] +[group_35784] +[group_35785] +[group_35786] +[group_35787] +[group_35788] +[group_35789] +[group_35790] +[group_35791] +[group_35792] +[group_35793] +[group_35794] +[group_35795] +[group_35796] +[group_35797] +[group_35798] +[group_35799] +[group_35800] +[group_35801] +[group_35802] +[group_35803] +[group_35804] +[group_35805] +[group_35806] +[group_35807] +[group_35808] +[group_35809] +[group_35810] +[group_35811] +[group_35812] +[group_35813] +[group_35814] +[group_35815] +[group_35816] +[group_35817] +[group_35818] +[group_35819] +[group_35820] +[group_35821] +[group_35822] +[group_35823] +[group_35824] +[group_35825] +[group_35826] +[group_35827] +[group_35828] +[group_35829] +[group_35830] +[group_35831] +[group_35832] +[group_35833] +[group_35834] +[group_35835] +[group_35836] +[group_35837] +[group_35838] +[group_35839] +[group_35840] +[group_35841] +[group_35842] +[group_35843] +[group_35844] +[group_35845] +[group_35846] +[group_35847] +[group_35848] +[group_35849] +[group_35850] +[group_35851] +[group_35852] +[group_35853] +[group_35854] +[group_35855] +[group_35856] +[group_35857] +[group_35858] +[group_35859] +[group_35860] +[group_35861] +[group_35862] +[group_35863] +[group_35864] +[group_35865] +[group_35866] +[group_35867] +[group_35868] +[group_35869] +[group_35870] +[group_35871] +[group_35872] +[group_35873] +[group_35874] +[group_35875] +[group_35876] +[group_35877] +[group_35878] +[group_35879] +[group_35880] +[group_35881] +[group_35882] +[group_35883] +[group_35884] +[group_35885] +[group_35886] +[group_35887] +[group_35888] +[group_35889] +[group_35890] +[group_35891] +[group_35892] +[group_35893] +[group_35894] +[group_35895] +[group_35896] +[group_35897] +[group_35898] +[group_35899] +[group_35900] +[group_35901] +[group_35902] +[group_35903] +[group_35904] +[group_35905] +[group_35906] +[group_35907] +[group_35908] +[group_35909] +[group_35910] +[group_35911] +[group_35912] +[group_35913] +[group_35914] +[group_35915] +[group_35916] +[group_35917] +[group_35918] +[group_35919] +[group_35920] +[group_35921] +[group_35922] +[group_35923] +[group_35924] +[group_35925] +[group_35926] +[group_35927] +[group_35928] +[group_35929] +[group_35930] +[group_35931] +[group_35932] +[group_35933] +[group_35934] +[group_35935] +[group_35936] +[group_35937] +[group_35938] +[group_35939] +[group_35940] +[group_35941] +[group_35942] +[group_35943] +[group_35944] +[group_35945] +[group_35946] +[group_35947] +[group_35948] +[group_35949] +[group_35950] +[group_35951] +[group_35952] +[group_35953] +[group_35954] +[group_35955] +[group_35956] +[group_35957] +[group_35958] +[group_35959] +[group_35960] +[group_35961] +[group_35962] +[group_35963] +[group_35964] +[group_35965] +[group_35966] +[group_35967] +[group_35968] +[group_35969] +[group_35970] +[group_35971] +[group_35972] +[group_35973] +[group_35974] +[group_35975] +[group_35976] +[group_35977] +[group_35978] +[group_35979] +[group_35980] +[group_35981] +[group_35982] +[group_35983] +[group_35984] +[group_35985] +[group_35986] +[group_35987] +[group_35988] +[group_35989] +[group_35990] +[group_35991] +[group_35992] +[group_35993] +[group_35994] +[group_35995] +[group_35996] +[group_35997] +[group_35998] +[group_35999] +[group_36000] +[group_36001] +[group_36002] +[group_36003] +[group_36004] +[group_36005] +[group_36006] +[group_36007] +[group_36008] +[group_36009] +[group_36010] +[group_36011] +[group_36012] +[group_36013] +[group_36014] +[group_36015] +[group_36016] +[group_36017] +[group_36018] +[group_36019] +[group_36020] +[group_36021] +[group_36022] +[group_36023] +[group_36024] +[group_36025] +[group_36026] +[group_36027] +[group_36028] +[group_36029] +[group_36030] +[group_36031] +[group_36032] +[group_36033] +[group_36034] +[group_36035] +[group_36036] +[group_36037] +[group_36038] +[group_36039] +[group_36040] +[group_36041] +[group_36042] +[group_36043] +[group_36044] +[group_36045] +[group_36046] +[group_36047] +[group_36048] +[group_36049] +[group_36050] +[group_36051] +[group_36052] +[group_36053] +[group_36054] +[group_36055] +[group_36056] +[group_36057] +[group_36058] +[group_36059] +[group_36060] +[group_36061] +[group_36062] +[group_36063] +[group_36064] +[group_36065] +[group_36066] +[group_36067] +[group_36068] +[group_36069] +[group_36070] +[group_36071] +[group_36072] +[group_36073] +[group_36074] +[group_36075] +[group_36076] +[group_36077] +[group_36078] +[group_36079] +[group_36080] +[group_36081] +[group_36082] +[group_36083] +[group_36084] +[group_36085] +[group_36086] +[group_36087] +[group_36088] +[group_36089] +[group_36090] +[group_36091] +[group_36092] +[group_36093] +[group_36094] +[group_36095] +[group_36096] +[group_36097] +[group_36098] +[group_36099] +[group_36100] +[group_36101] +[group_36102] +[group_36103] +[group_36104] +[group_36105] +[group_36106] +[group_36107] +[group_36108] +[group_36109] +[group_36110] +[group_36111] +[group_36112] +[group_36113] +[group_36114] +[group_36115] +[group_36116] +[group_36117] +[group_36118] +[group_36119] +[group_36120] +[group_36121] +[group_36122] +[group_36123] +[group_36124] +[group_36125] +[group_36126] +[group_36127] +[group_36128] +[group_36129] +[group_36130] +[group_36131] +[group_36132] +[group_36133] +[group_36134] +[group_36135] +[group_36136] +[group_36137] +[group_36138] +[group_36139] +[group_36140] +[group_36141] +[group_36142] +[group_36143] +[group_36144] +[group_36145] +[group_36146] +[group_36147] +[group_36148] +[group_36149] +[group_36150] +[group_36151] +[group_36152] +[group_36153] +[group_36154] +[group_36155] +[group_36156] +[group_36157] +[group_36158] +[group_36159] +[group_36160] +[group_36161] +[group_36162] +[group_36163] +[group_36164] +[group_36165] +[group_36166] +[group_36167] +[group_36168] +[group_36169] +[group_36170] +[group_36171] +[group_36172] +[group_36173] +[group_36174] +[group_36175] +[group_36176] +[group_36177] +[group_36178] +[group_36179] +[group_36180] +[group_36181] +[group_36182] +[group_36183] +[group_36184] +[group_36185] +[group_36186] +[group_36187] +[group_36188] +[group_36189] +[group_36190] +[group_36191] +[group_36192] +[group_36193] +[group_36194] +[group_36195] +[group_36196] +[group_36197] +[group_36198] +[group_36199] +[group_36200] +[group_36201] +[group_36202] +[group_36203] +[group_36204] +[group_36205] +[group_36206] +[group_36207] +[group_36208] +[group_36209] +[group_36210] +[group_36211] +[group_36212] +[group_36213] +[group_36214] +[group_36215] +[group_36216] +[group_36217] +[group_36218] +[group_36219] +[group_36220] +[group_36221] +[group_36222] +[group_36223] +[group_36224] +[group_36225] +[group_36226] +[group_36227] +[group_36228] +[group_36229] +[group_36230] +[group_36231] +[group_36232] +[group_36233] +[group_36234] +[group_36235] +[group_36236] +[group_36237] +[group_36238] +[group_36239] +[group_36240] +[group_36241] +[group_36242] +[group_36243] +[group_36244] +[group_36245] +[group_36246] +[group_36247] +[group_36248] +[group_36249] +[group_36250] +[group_36251] +[group_36252] +[group_36253] +[group_36254] +[group_36255] +[group_36256] +[group_36257] +[group_36258] +[group_36259] +[group_36260] +[group_36261] +[group_36262] +[group_36263] +[group_36264] +[group_36265] +[group_36266] +[group_36267] +[group_36268] +[group_36269] +[group_36270] +[group_36271] +[group_36272] +[group_36273] +[group_36274] +[group_36275] +[group_36276] +[group_36277] +[group_36278] +[group_36279] +[group_36280] +[group_36281] +[group_36282] +[group_36283] +[group_36284] +[group_36285] +[group_36286] +[group_36287] +[group_36288] +[group_36289] +[group_36290] +[group_36291] +[group_36292] +[group_36293] +[group_36294] +[group_36295] +[group_36296] +[group_36297] +[group_36298] +[group_36299] +[group_36300] +[group_36301] +[group_36302] +[group_36303] +[group_36304] +[group_36305] +[group_36306] +[group_36307] +[group_36308] +[group_36309] +[group_36310] +[group_36311] +[group_36312] +[group_36313] +[group_36314] +[group_36315] +[group_36316] +[group_36317] +[group_36318] +[group_36319] +[group_36320] +[group_36321] +[group_36322] +[group_36323] +[group_36324] +[group_36325] +[group_36326] +[group_36327] +[group_36328] +[group_36329] +[group_36330] +[group_36331] +[group_36332] +[group_36333] +[group_36334] +[group_36335] +[group_36336] +[group_36337] +[group_36338] +[group_36339] +[group_36340] +[group_36341] +[group_36342] +[group_36343] +[group_36344] +[group_36345] +[group_36346] +[group_36347] +[group_36348] +[group_36349] +[group_36350] +[group_36351] +[group_36352] +[group_36353] +[group_36354] +[group_36355] +[group_36356] +[group_36357] +[group_36358] +[group_36359] +[group_36360] +[group_36361] +[group_36362] +[group_36363] +[group_36364] +[group_36365] +[group_36366] +[group_36367] +[group_36368] +[group_36369] +[group_36370] +[group_36371] +[group_36372] +[group_36373] +[group_36374] +[group_36375] +[group_36376] +[group_36377] +[group_36378] +[group_36379] +[group_36380] +[group_36381] +[group_36382] +[group_36383] +[group_36384] +[group_36385] +[group_36386] +[group_36387] +[group_36388] +[group_36389] +[group_36390] +[group_36391] +[group_36392] +[group_36393] +[group_36394] +[group_36395] +[group_36396] +[group_36397] +[group_36398] +[group_36399] +[group_36400] +[group_36401] +[group_36402] +[group_36403] +[group_36404] +[group_36405] +[group_36406] +[group_36407] +[group_36408] +[group_36409] +[group_36410] +[group_36411] +[group_36412] +[group_36413] +[group_36414] +[group_36415] +[group_36416] +[group_36417] +[group_36418] +[group_36419] +[group_36420] +[group_36421] +[group_36422] +[group_36423] +[group_36424] +[group_36425] +[group_36426] +[group_36427] +[group_36428] +[group_36429] +[group_36430] +[group_36431] +[group_36432] +[group_36433] +[group_36434] +[group_36435] +[group_36436] +[group_36437] +[group_36438] +[group_36439] +[group_36440] +[group_36441] +[group_36442] +[group_36443] +[group_36444] +[group_36445] +[group_36446] +[group_36447] +[group_36448] +[group_36449] +[group_36450] +[group_36451] +[group_36452] +[group_36453] +[group_36454] +[group_36455] +[group_36456] +[group_36457] +[group_36458] +[group_36459] +[group_36460] +[group_36461] +[group_36462] +[group_36463] +[group_36464] +[group_36465] +[group_36466] +[group_36467] +[group_36468] +[group_36469] +[group_36470] +[group_36471] +[group_36472] +[group_36473] +[group_36474] +[group_36475] +[group_36476] +[group_36477] +[group_36478] +[group_36479] +[group_36480] +[group_36481] +[group_36482] +[group_36483] +[group_36484] +[group_36485] +[group_36486] +[group_36487] +[group_36488] +[group_36489] +[group_36490] +[group_36491] +[group_36492] +[group_36493] +[group_36494] +[group_36495] +[group_36496] +[group_36497] +[group_36498] +[group_36499] +[group_36500] +[group_36501] +[group_36502] +[group_36503] +[group_36504] +[group_36505] +[group_36506] +[group_36507] +[group_36508] +[group_36509] +[group_36510] +[group_36511] +[group_36512] +[group_36513] +[group_36514] +[group_36515] +[group_36516] +[group_36517] +[group_36518] +[group_36519] +[group_36520] +[group_36521] +[group_36522] +[group_36523] +[group_36524] +[group_36525] +[group_36526] +[group_36527] +[group_36528] +[group_36529] +[group_36530] +[group_36531] +[group_36532] +[group_36533] +[group_36534] +[group_36535] +[group_36536] +[group_36537] +[group_36538] +[group_36539] +[group_36540] +[group_36541] +[group_36542] +[group_36543] +[group_36544] +[group_36545] +[group_36546] +[group_36547] +[group_36548] +[group_36549] +[group_36550] +[group_36551] +[group_36552] +[group_36553] +[group_36554] +[group_36555] +[group_36556] +[group_36557] +[group_36558] +[group_36559] +[group_36560] +[group_36561] +[group_36562] +[group_36563] +[group_36564] +[group_36565] +[group_36566] +[group_36567] +[group_36568] +[group_36569] +[group_36570] +[group_36571] +[group_36572] +[group_36573] +[group_36574] +[group_36575] +[group_36576] +[group_36577] +[group_36578] +[group_36579] +[group_36580] +[group_36581] +[group_36582] +[group_36583] +[group_36584] +[group_36585] +[group_36586] +[group_36587] +[group_36588] +[group_36589] +[group_36590] +[group_36591] +[group_36592] +[group_36593] +[group_36594] +[group_36595] +[group_36596] +[group_36597] +[group_36598] +[group_36599] +[group_36600] +[group_36601] +[group_36602] +[group_36603] +[group_36604] +[group_36605] +[group_36606] +[group_36607] +[group_36608] +[group_36609] +[group_36610] +[group_36611] +[group_36612] +[group_36613] +[group_36614] +[group_36615] +[group_36616] +[group_36617] +[group_36618] +[group_36619] +[group_36620] +[group_36621] +[group_36622] +[group_36623] +[group_36624] +[group_36625] +[group_36626] +[group_36627] +[group_36628] +[group_36629] +[group_36630] +[group_36631] +[group_36632] +[group_36633] +[group_36634] +[group_36635] +[group_36636] +[group_36637] +[group_36638] +[group_36639] +[group_36640] +[group_36641] +[group_36642] +[group_36643] +[group_36644] +[group_36645] +[group_36646] +[group_36647] +[group_36648] +[group_36649] +[group_36650] +[group_36651] +[group_36652] +[group_36653] +[group_36654] +[group_36655] +[group_36656] +[group_36657] +[group_36658] +[group_36659] +[group_36660] +[group_36661] +[group_36662] +[group_36663] +[group_36664] +[group_36665] +[group_36666] +[group_36667] +[group_36668] +[group_36669] +[group_36670] +[group_36671] +[group_36672] +[group_36673] +[group_36674] +[group_36675] +[group_36676] +[group_36677] +[group_36678] +[group_36679] +[group_36680] +[group_36681] +[group_36682] +[group_36683] +[group_36684] +[group_36685] +[group_36686] +[group_36687] +[group_36688] +[group_36689] +[group_36690] +[group_36691] +[group_36692] +[group_36693] +[group_36694] +[group_36695] +[group_36696] +[group_36697] +[group_36698] +[group_36699] +[group_36700] +[group_36701] +[group_36702] +[group_36703] +[group_36704] +[group_36705] +[group_36706] +[group_36707] +[group_36708] +[group_36709] +[group_36710] +[group_36711] +[group_36712] +[group_36713] +[group_36714] +[group_36715] +[group_36716] +[group_36717] +[group_36718] +[group_36719] +[group_36720] +[group_36721] +[group_36722] +[group_36723] +[group_36724] +[group_36725] +[group_36726] +[group_36727] +[group_36728] +[group_36729] +[group_36730] +[group_36731] +[group_36732] +[group_36733] +[group_36734] +[group_36735] +[group_36736] +[group_36737] +[group_36738] +[group_36739] +[group_36740] +[group_36741] +[group_36742] +[group_36743] +[group_36744] +[group_36745] +[group_36746] +[group_36747] +[group_36748] +[group_36749] +[group_36750] +[group_36751] +[group_36752] +[group_36753] +[group_36754] +[group_36755] +[group_36756] +[group_36757] +[group_36758] +[group_36759] +[group_36760] +[group_36761] +[group_36762] +[group_36763] +[group_36764] +[group_36765] +[group_36766] +[group_36767] +[group_36768] +[group_36769] +[group_36770] +[group_36771] +[group_36772] +[group_36773] +[group_36774] +[group_36775] +[group_36776] +[group_36777] +[group_36778] +[group_36779] +[group_36780] +[group_36781] +[group_36782] +[group_36783] +[group_36784] +[group_36785] +[group_36786] +[group_36787] +[group_36788] +[group_36789] +[group_36790] +[group_36791] +[group_36792] +[group_36793] +[group_36794] +[group_36795] +[group_36796] +[group_36797] +[group_36798] +[group_36799] +[group_36800] +[group_36801] +[group_36802] +[group_36803] +[group_36804] +[group_36805] +[group_36806] +[group_36807] +[group_36808] +[group_36809] +[group_36810] +[group_36811] +[group_36812] +[group_36813] +[group_36814] +[group_36815] +[group_36816] +[group_36817] +[group_36818] +[group_36819] +[group_36820] +[group_36821] +[group_36822] +[group_36823] +[group_36824] +[group_36825] +[group_36826] +[group_36827] +[group_36828] +[group_36829] +[group_36830] +[group_36831] +[group_36832] +[group_36833] +[group_36834] +[group_36835] +[group_36836] +[group_36837] +[group_36838] +[group_36839] +[group_36840] +[group_36841] +[group_36842] +[group_36843] +[group_36844] +[group_36845] +[group_36846] +[group_36847] +[group_36848] +[group_36849] +[group_36850] +[group_36851] +[group_36852] +[group_36853] +[group_36854] +[group_36855] +[group_36856] +[group_36857] +[group_36858] +[group_36859] +[group_36860] +[group_36861] +[group_36862] +[group_36863] +[group_36864] +[group_36865] +[group_36866] +[group_36867] +[group_36868] +[group_36869] +[group_36870] +[group_36871] +[group_36872] +[group_36873] +[group_36874] +[group_36875] +[group_36876] +[group_36877] +[group_36878] +[group_36879] +[group_36880] +[group_36881] +[group_36882] +[group_36883] +[group_36884] +[group_36885] +[group_36886] +[group_36887] +[group_36888] +[group_36889] +[group_36890] +[group_36891] +[group_36892] +[group_36893] +[group_36894] +[group_36895] +[group_36896] +[group_36897] +[group_36898] +[group_36899] +[group_36900] +[group_36901] +[group_36902] +[group_36903] +[group_36904] +[group_36905] +[group_36906] +[group_36907] +[group_36908] +[group_36909] +[group_36910] +[group_36911] +[group_36912] +[group_36913] +[group_36914] +[group_36915] +[group_36916] +[group_36917] +[group_36918] +[group_36919] +[group_36920] +[group_36921] +[group_36922] +[group_36923] +[group_36924] +[group_36925] +[group_36926] +[group_36927] +[group_36928] +[group_36929] +[group_36930] +[group_36931] +[group_36932] +[group_36933] +[group_36934] +[group_36935] +[group_36936] +[group_36937] +[group_36938] +[group_36939] +[group_36940] +[group_36941] +[group_36942] +[group_36943] +[group_36944] +[group_36945] +[group_36946] +[group_36947] +[group_36948] +[group_36949] +[group_36950] +[group_36951] +[group_36952] +[group_36953] +[group_36954] +[group_36955] +[group_36956] +[group_36957] +[group_36958] +[group_36959] +[group_36960] +[group_36961] +[group_36962] +[group_36963] +[group_36964] +[group_36965] +[group_36966] +[group_36967] +[group_36968] +[group_36969] +[group_36970] +[group_36971] +[group_36972] +[group_36973] +[group_36974] +[group_36975] +[group_36976] +[group_36977] +[group_36978] +[group_36979] +[group_36980] +[group_36981] +[group_36982] +[group_36983] +[group_36984] +[group_36985] +[group_36986] +[group_36987] +[group_36988] +[group_36989] +[group_36990] +[group_36991] +[group_36992] +[group_36993] +[group_36994] +[group_36995] +[group_36996] +[group_36997] +[group_36998] +[group_36999] +[group_37000] +[group_37001] +[group_37002] +[group_37003] +[group_37004] +[group_37005] +[group_37006] +[group_37007] +[group_37008] +[group_37009] +[group_37010] +[group_37011] +[group_37012] +[group_37013] +[group_37014] +[group_37015] +[group_37016] +[group_37017] +[group_37018] +[group_37019] +[group_37020] +[group_37021] +[group_37022] +[group_37023] +[group_37024] +[group_37025] +[group_37026] +[group_37027] +[group_37028] +[group_37029] +[group_37030] +[group_37031] +[group_37032] +[group_37033] +[group_37034] +[group_37035] +[group_37036] +[group_37037] +[group_37038] +[group_37039] +[group_37040] +[group_37041] +[group_37042] +[group_37043] +[group_37044] +[group_37045] +[group_37046] +[group_37047] +[group_37048] +[group_37049] +[group_37050] +[group_37051] +[group_37052] +[group_37053] +[group_37054] +[group_37055] +[group_37056] +[group_37057] +[group_37058] +[group_37059] +[group_37060] +[group_37061] +[group_37062] +[group_37063] +[group_37064] +[group_37065] +[group_37066] +[group_37067] +[group_37068] +[group_37069] +[group_37070] +[group_37071] +[group_37072] +[group_37073] +[group_37074] +[group_37075] +[group_37076] +[group_37077] +[group_37078] +[group_37079] +[group_37080] +[group_37081] +[group_37082] +[group_37083] +[group_37084] +[group_37085] +[group_37086] +[group_37087] +[group_37088] +[group_37089] +[group_37090] +[group_37091] +[group_37092] +[group_37093] +[group_37094] +[group_37095] +[group_37096] +[group_37097] +[group_37098] +[group_37099] +[group_37100] +[group_37101] +[group_37102] +[group_37103] +[group_37104] +[group_37105] +[group_37106] +[group_37107] +[group_37108] +[group_37109] +[group_37110] +[group_37111] +[group_37112] +[group_37113] +[group_37114] +[group_37115] +[group_37116] +[group_37117] +[group_37118] +[group_37119] +[group_37120] +[group_37121] +[group_37122] +[group_37123] +[group_37124] +[group_37125] +[group_37126] +[group_37127] +[group_37128] +[group_37129] +[group_37130] +[group_37131] +[group_37132] +[group_37133] +[group_37134] +[group_37135] +[group_37136] +[group_37137] +[group_37138] +[group_37139] +[group_37140] +[group_37141] +[group_37142] +[group_37143] +[group_37144] +[group_37145] +[group_37146] +[group_37147] +[group_37148] +[group_37149] +[group_37150] +[group_37151] +[group_37152] +[group_37153] +[group_37154] +[group_37155] +[group_37156] +[group_37157] +[group_37158] +[group_37159] +[group_37160] +[group_37161] +[group_37162] +[group_37163] +[group_37164] +[group_37165] +[group_37166] +[group_37167] +[group_37168] +[group_37169] +[group_37170] +[group_37171] +[group_37172] +[group_37173] +[group_37174] +[group_37175] +[group_37176] +[group_37177] +[group_37178] +[group_37179] +[group_37180] +[group_37181] +[group_37182] +[group_37183] +[group_37184] +[group_37185] +[group_37186] +[group_37187] +[group_37188] +[group_37189] +[group_37190] +[group_37191] +[group_37192] +[group_37193] +[group_37194] +[group_37195] +[group_37196] +[group_37197] +[group_37198] +[group_37199] +[group_37200] +[group_37201] +[group_37202] +[group_37203] +[group_37204] +[group_37205] +[group_37206] +[group_37207] +[group_37208] +[group_37209] +[group_37210] +[group_37211] +[group_37212] +[group_37213] +[group_37214] +[group_37215] +[group_37216] +[group_37217] +[group_37218] +[group_37219] +[group_37220] +[group_37221] +[group_37222] +[group_37223] +[group_37224] +[group_37225] +[group_37226] +[group_37227] +[group_37228] +[group_37229] +[group_37230] +[group_37231] +[group_37232] +[group_37233] +[group_37234] +[group_37235] +[group_37236] +[group_37237] +[group_37238] +[group_37239] +[group_37240] +[group_37241] +[group_37242] +[group_37243] +[group_37244] +[group_37245] +[group_37246] +[group_37247] +[group_37248] +[group_37249] +[group_37250] +[group_37251] +[group_37252] +[group_37253] +[group_37254] +[group_37255] +[group_37256] +[group_37257] +[group_37258] +[group_37259] +[group_37260] +[group_37261] +[group_37262] +[group_37263] +[group_37264] +[group_37265] +[group_37266] +[group_37267] +[group_37268] +[group_37269] +[group_37270] +[group_37271] +[group_37272] +[group_37273] +[group_37274] +[group_37275] +[group_37276] +[group_37277] +[group_37278] +[group_37279] +[group_37280] +[group_37281] +[group_37282] +[group_37283] +[group_37284] +[group_37285] +[group_37286] +[group_37287] +[group_37288] +[group_37289] +[group_37290] +[group_37291] +[group_37292] +[group_37293] +[group_37294] +[group_37295] +[group_37296] +[group_37297] +[group_37298] +[group_37299] +[group_37300] +[group_37301] +[group_37302] +[group_37303] +[group_37304] +[group_37305] +[group_37306] +[group_37307] +[group_37308] +[group_37309] +[group_37310] +[group_37311] +[group_37312] +[group_37313] +[group_37314] +[group_37315] +[group_37316] +[group_37317] +[group_37318] +[group_37319] +[group_37320] +[group_37321] +[group_37322] +[group_37323] +[group_37324] +[group_37325] +[group_37326] +[group_37327] +[group_37328] +[group_37329] +[group_37330] +[group_37331] +[group_37332] +[group_37333] +[group_37334] +[group_37335] +[group_37336] +[group_37337] +[group_37338] +[group_37339] +[group_37340] +[group_37341] +[group_37342] +[group_37343] +[group_37344] +[group_37345] +[group_37346] +[group_37347] +[group_37348] +[group_37349] +[group_37350] +[group_37351] +[group_37352] +[group_37353] +[group_37354] +[group_37355] +[group_37356] +[group_37357] +[group_37358] +[group_37359] +[group_37360] +[group_37361] +[group_37362] +[group_37363] +[group_37364] +[group_37365] +[group_37366] +[group_37367] +[group_37368] +[group_37369] +[group_37370] +[group_37371] +[group_37372] +[group_37373] +[group_37374] +[group_37375] +[group_37376] +[group_37377] +[group_37378] +[group_37379] +[group_37380] +[group_37381] +[group_37382] +[group_37383] +[group_37384] +[group_37385] +[group_37386] +[group_37387] +[group_37388] +[group_37389] +[group_37390] +[group_37391] +[group_37392] +[group_37393] +[group_37394] +[group_37395] +[group_37396] +[group_37397] +[group_37398] +[group_37399] +[group_37400] +[group_37401] +[group_37402] +[group_37403] +[group_37404] +[group_37405] +[group_37406] +[group_37407] +[group_37408] +[group_37409] +[group_37410] +[group_37411] +[group_37412] +[group_37413] +[group_37414] +[group_37415] +[group_37416] +[group_37417] +[group_37418] +[group_37419] +[group_37420] +[group_37421] +[group_37422] +[group_37423] +[group_37424] +[group_37425] +[group_37426] +[group_37427] +[group_37428] +[group_37429] +[group_37430] +[group_37431] +[group_37432] +[group_37433] +[group_37434] +[group_37435] +[group_37436] +[group_37437] +[group_37438] +[group_37439] +[group_37440] +[group_37441] +[group_37442] +[group_37443] +[group_37444] +[group_37445] +[group_37446] +[group_37447] +[group_37448] +[group_37449] +[group_37450] +[group_37451] +[group_37452] +[group_37453] +[group_37454] +[group_37455] +[group_37456] +[group_37457] +[group_37458] +[group_37459] +[group_37460] +[group_37461] +[group_37462] +[group_37463] +[group_37464] +[group_37465] +[group_37466] +[group_37467] +[group_37468] +[group_37469] +[group_37470] +[group_37471] +[group_37472] +[group_37473] +[group_37474] +[group_37475] +[group_37476] +[group_37477] +[group_37478] +[group_37479] +[group_37480] +[group_37481] +[group_37482] +[group_37483] +[group_37484] +[group_37485] +[group_37486] +[group_37487] +[group_37488] +[group_37489] +[group_37490] +[group_37491] +[group_37492] +[group_37493] +[group_37494] +[group_37495] +[group_37496] +[group_37497] +[group_37498] +[group_37499] +[group_37500] +[group_37501] +[group_37502] +[group_37503] +[group_37504] +[group_37505] +[group_37506] +[group_37507] +[group_37508] +[group_37509] +[group_37510] +[group_37511] +[group_37512] +[group_37513] +[group_37514] +[group_37515] +[group_37516] +[group_37517] +[group_37518] +[group_37519] +[group_37520] +[group_37521] +[group_37522] +[group_37523] +[group_37524] +[group_37525] +[group_37526] +[group_37527] +[group_37528] +[group_37529] +[group_37530] +[group_37531] +[group_37532] +[group_37533] +[group_37534] +[group_37535] +[group_37536] +[group_37537] +[group_37538] +[group_37539] +[group_37540] +[group_37541] +[group_37542] +[group_37543] +[group_37544] +[group_37545] +[group_37546] +[group_37547] +[group_37548] +[group_37549] +[group_37550] +[group_37551] +[group_37552] +[group_37553] +[group_37554] +[group_37555] +[group_37556] +[group_37557] +[group_37558] +[group_37559] +[group_37560] +[group_37561] +[group_37562] +[group_37563] +[group_37564] +[group_37565] +[group_37566] +[group_37567] +[group_37568] +[group_37569] +[group_37570] +[group_37571] +[group_37572] +[group_37573] +[group_37574] +[group_37575] +[group_37576] +[group_37577] +[group_37578] +[group_37579] +[group_37580] +[group_37581] +[group_37582] +[group_37583] +[group_37584] +[group_37585] +[group_37586] +[group_37587] +[group_37588] +[group_37589] +[group_37590] +[group_37591] +[group_37592] +[group_37593] +[group_37594] +[group_37595] +[group_37596] +[group_37597] +[group_37598] +[group_37599] +[group_37600] +[group_37601] +[group_37602] +[group_37603] +[group_37604] +[group_37605] +[group_37606] +[group_37607] +[group_37608] +[group_37609] +[group_37610] +[group_37611] +[group_37612] +[group_37613] +[group_37614] +[group_37615] +[group_37616] +[group_37617] +[group_37618] +[group_37619] +[group_37620] +[group_37621] +[group_37622] +[group_37623] +[group_37624] +[group_37625] +[group_37626] +[group_37627] +[group_37628] +[group_37629] +[group_37630] +[group_37631] +[group_37632] +[group_37633] +[group_37634] +[group_37635] +[group_37636] +[group_37637] +[group_37638] +[group_37639] +[group_37640] +[group_37641] +[group_37642] +[group_37643] +[group_37644] +[group_37645] +[group_37646] +[group_37647] +[group_37648] +[group_37649] +[group_37650] +[group_37651] +[group_37652] +[group_37653] +[group_37654] +[group_37655] +[group_37656] +[group_37657] +[group_37658] +[group_37659] +[group_37660] +[group_37661] +[group_37662] +[group_37663] +[group_37664] +[group_37665] +[group_37666] +[group_37667] +[group_37668] +[group_37669] +[group_37670] +[group_37671] +[group_37672] +[group_37673] +[group_37674] +[group_37675] +[group_37676] +[group_37677] +[group_37678] +[group_37679] +[group_37680] +[group_37681] +[group_37682] +[group_37683] +[group_37684] +[group_37685] +[group_37686] +[group_37687] +[group_37688] +[group_37689] +[group_37690] +[group_37691] +[group_37692] +[group_37693] +[group_37694] +[group_37695] +[group_37696] +[group_37697] +[group_37698] +[group_37699] +[group_37700] +[group_37701] +[group_37702] +[group_37703] +[group_37704] +[group_37705] +[group_37706] +[group_37707] +[group_37708] +[group_37709] +[group_37710] +[group_37711] +[group_37712] +[group_37713] +[group_37714] +[group_37715] +[group_37716] +[group_37717] +[group_37718] +[group_37719] +[group_37720] +[group_37721] +[group_37722] +[group_37723] +[group_37724] +[group_37725] +[group_37726] +[group_37727] +[group_37728] +[group_37729] +[group_37730] +[group_37731] +[group_37732] +[group_37733] +[group_37734] +[group_37735] +[group_37736] +[group_37737] +[group_37738] +[group_37739] +[group_37740] +[group_37741] +[group_37742] +[group_37743] +[group_37744] +[group_37745] +[group_37746] +[group_37747] +[group_37748] +[group_37749] +[group_37750] +[group_37751] +[group_37752] +[group_37753] +[group_37754] +[group_37755] +[group_37756] +[group_37757] +[group_37758] +[group_37759] +[group_37760] +[group_37761] +[group_37762] +[group_37763] +[group_37764] +[group_37765] +[group_37766] +[group_37767] +[group_37768] +[group_37769] +[group_37770] +[group_37771] +[group_37772] +[group_37773] +[group_37774] +[group_37775] +[group_37776] +[group_37777] +[group_37778] +[group_37779] +[group_37780] +[group_37781] +[group_37782] +[group_37783] +[group_37784] +[group_37785] +[group_37786] +[group_37787] +[group_37788] +[group_37789] +[group_37790] +[group_37791] +[group_37792] +[group_37793] +[group_37794] +[group_37795] +[group_37796] +[group_37797] +[group_37798] +[group_37799] +[group_37800] +[group_37801] +[group_37802] +[group_37803] +[group_37804] +[group_37805] +[group_37806] +[group_37807] +[group_37808] +[group_37809] +[group_37810] +[group_37811] +[group_37812] +[group_37813] +[group_37814] +[group_37815] +[group_37816] +[group_37817] +[group_37818] +[group_37819] +[group_37820] +[group_37821] +[group_37822] +[group_37823] +[group_37824] +[group_37825] +[group_37826] +[group_37827] +[group_37828] +[group_37829] +[group_37830] +[group_37831] +[group_37832] +[group_37833] +[group_37834] +[group_37835] +[group_37836] +[group_37837] +[group_37838] +[group_37839] +[group_37840] +[group_37841] +[group_37842] +[group_37843] +[group_37844] +[group_37845] +[group_37846] +[group_37847] +[group_37848] +[group_37849] +[group_37850] +[group_37851] +[group_37852] +[group_37853] +[group_37854] +[group_37855] +[group_37856] +[group_37857] +[group_37858] +[group_37859] +[group_37860] +[group_37861] +[group_37862] +[group_37863] +[group_37864] +[group_37865] +[group_37866] +[group_37867] +[group_37868] +[group_37869] +[group_37870] +[group_37871] +[group_37872] +[group_37873] +[group_37874] +[group_37875] +[group_37876] +[group_37877] +[group_37878] +[group_37879] +[group_37880] +[group_37881] +[group_37882] +[group_37883] +[group_37884] +[group_37885] +[group_37886] +[group_37887] +[group_37888] +[group_37889] +[group_37890] +[group_37891] +[group_37892] +[group_37893] +[group_37894] +[group_37895] +[group_37896] +[group_37897] +[group_37898] +[group_37899] +[group_37900] +[group_37901] +[group_37902] +[group_37903] +[group_37904] +[group_37905] +[group_37906] +[group_37907] +[group_37908] +[group_37909] +[group_37910] +[group_37911] +[group_37912] +[group_37913] +[group_37914] +[group_37915] +[group_37916] +[group_37917] +[group_37918] +[group_37919] +[group_37920] +[group_37921] +[group_37922] +[group_37923] +[group_37924] +[group_37925] +[group_37926] +[group_37927] +[group_37928] +[group_37929] +[group_37930] +[group_37931] +[group_37932] +[group_37933] +[group_37934] +[group_37935] +[group_37936] +[group_37937] +[group_37938] +[group_37939] +[group_37940] +[group_37941] +[group_37942] +[group_37943] +[group_37944] +[group_37945] +[group_37946] +[group_37947] +[group_37948] +[group_37949] +[group_37950] +[group_37951] +[group_37952] +[group_37953] +[group_37954] +[group_37955] +[group_37956] +[group_37957] +[group_37958] +[group_37959] +[group_37960] +[group_37961] +[group_37962] +[group_37963] +[group_37964] +[group_37965] +[group_37966] +[group_37967] +[group_37968] +[group_37969] +[group_37970] +[group_37971] +[group_37972] +[group_37973] +[group_37974] +[group_37975] +[group_37976] +[group_37977] +[group_37978] +[group_37979] +[group_37980] +[group_37981] +[group_37982] +[group_37983] +[group_37984] +[group_37985] +[group_37986] +[group_37987] +[group_37988] +[group_37989] +[group_37990] +[group_37991] +[group_37992] +[group_37993] +[group_37994] +[group_37995] +[group_37996] +[group_37997] +[group_37998] +[group_37999] +[group_38000] +[group_38001] +[group_38002] +[group_38003] +[group_38004] +[group_38005] +[group_38006] +[group_38007] +[group_38008] +[group_38009] +[group_38010] +[group_38011] +[group_38012] +[group_38013] +[group_38014] +[group_38015] +[group_38016] +[group_38017] +[group_38018] +[group_38019] +[group_38020] +[group_38021] +[group_38022] +[group_38023] +[group_38024] +[group_38025] +[group_38026] +[group_38027] +[group_38028] +[group_38029] +[group_38030] +[group_38031] +[group_38032] +[group_38033] +[group_38034] +[group_38035] +[group_38036] +[group_38037] +[group_38038] +[group_38039] +[group_38040] +[group_38041] +[group_38042] +[group_38043] +[group_38044] +[group_38045] +[group_38046] +[group_38047] +[group_38048] +[group_38049] +[group_38050] +[group_38051] +[group_38052] +[group_38053] +[group_38054] +[group_38055] +[group_38056] +[group_38057] +[group_38058] +[group_38059] +[group_38060] +[group_38061] +[group_38062] +[group_38063] +[group_38064] +[group_38065] +[group_38066] +[group_38067] +[group_38068] +[group_38069] +[group_38070] +[group_38071] +[group_38072] +[group_38073] +[group_38074] +[group_38075] +[group_38076] +[group_38077] +[group_38078] +[group_38079] +[group_38080] +[group_38081] +[group_38082] +[group_38083] +[group_38084] +[group_38085] +[group_38086] +[group_38087] +[group_38088] +[group_38089] +[group_38090] +[group_38091] +[group_38092] +[group_38093] +[group_38094] +[group_38095] +[group_38096] +[group_38097] +[group_38098] +[group_38099] +[group_38100] +[group_38101] +[group_38102] +[group_38103] +[group_38104] +[group_38105] +[group_38106] +[group_38107] +[group_38108] +[group_38109] +[group_38110] +[group_38111] +[group_38112] +[group_38113] +[group_38114] +[group_38115] +[group_38116] +[group_38117] +[group_38118] +[group_38119] +[group_38120] +[group_38121] +[group_38122] +[group_38123] +[group_38124] +[group_38125] +[group_38126] +[group_38127] +[group_38128] +[group_38129] +[group_38130] +[group_38131] +[group_38132] +[group_38133] +[group_38134] +[group_38135] +[group_38136] +[group_38137] +[group_38138] +[group_38139] +[group_38140] +[group_38141] +[group_38142] +[group_38143] +[group_38144] +[group_38145] +[group_38146] +[group_38147] +[group_38148] +[group_38149] +[group_38150] +[group_38151] +[group_38152] +[group_38153] +[group_38154] +[group_38155] +[group_38156] +[group_38157] +[group_38158] +[group_38159] +[group_38160] +[group_38161] +[group_38162] +[group_38163] +[group_38164] +[group_38165] +[group_38166] +[group_38167] +[group_38168] +[group_38169] +[group_38170] +[group_38171] +[group_38172] +[group_38173] +[group_38174] +[group_38175] +[group_38176] +[group_38177] +[group_38178] +[group_38179] +[group_38180] +[group_38181] +[group_38182] +[group_38183] +[group_38184] +[group_38185] +[group_38186] +[group_38187] +[group_38188] +[group_38189] +[group_38190] +[group_38191] +[group_38192] +[group_38193] +[group_38194] +[group_38195] +[group_38196] +[group_38197] +[group_38198] +[group_38199] +[group_38200] +[group_38201] +[group_38202] +[group_38203] +[group_38204] +[group_38205] +[group_38206] +[group_38207] +[group_38208] +[group_38209] +[group_38210] +[group_38211] +[group_38212] +[group_38213] +[group_38214] +[group_38215] +[group_38216] +[group_38217] +[group_38218] +[group_38219] +[group_38220] +[group_38221] +[group_38222] +[group_38223] +[group_38224] +[group_38225] +[group_38226] +[group_38227] +[group_38228] +[group_38229] +[group_38230] +[group_38231] +[group_38232] +[group_38233] +[group_38234] +[group_38235] +[group_38236] +[group_38237] +[group_38238] +[group_38239] +[group_38240] +[group_38241] +[group_38242] +[group_38243] +[group_38244] +[group_38245] +[group_38246] +[group_38247] +[group_38248] +[group_38249] +[group_38250] +[group_38251] +[group_38252] +[group_38253] +[group_38254] +[group_38255] +[group_38256] +[group_38257] +[group_38258] +[group_38259] +[group_38260] +[group_38261] +[group_38262] +[group_38263] +[group_38264] +[group_38265] +[group_38266] +[group_38267] +[group_38268] +[group_38269] +[group_38270] +[group_38271] +[group_38272] +[group_38273] +[group_38274] +[group_38275] +[group_38276] +[group_38277] +[group_38278] +[group_38279] +[group_38280] +[group_38281] +[group_38282] +[group_38283] +[group_38284] +[group_38285] +[group_38286] +[group_38287] +[group_38288] +[group_38289] +[group_38290] +[group_38291] +[group_38292] +[group_38293] +[group_38294] +[group_38295] +[group_38296] +[group_38297] +[group_38298] +[group_38299] +[group_38300] +[group_38301] +[group_38302] +[group_38303] +[group_38304] +[group_38305] +[group_38306] +[group_38307] +[group_38308] +[group_38309] +[group_38310] +[group_38311] +[group_38312] +[group_38313] +[group_38314] +[group_38315] +[group_38316] +[group_38317] +[group_38318] +[group_38319] +[group_38320] +[group_38321] +[group_38322] +[group_38323] +[group_38324] +[group_38325] +[group_38326] +[group_38327] +[group_38328] +[group_38329] +[group_38330] +[group_38331] +[group_38332] +[group_38333] +[group_38334] +[group_38335] +[group_38336] +[group_38337] +[group_38338] +[group_38339] +[group_38340] +[group_38341] +[group_38342] +[group_38343] +[group_38344] +[group_38345] +[group_38346] +[group_38347] +[group_38348] +[group_38349] +[group_38350] +[group_38351] +[group_38352] +[group_38353] +[group_38354] +[group_38355] +[group_38356] +[group_38357] +[group_38358] +[group_38359] +[group_38360] +[group_38361] +[group_38362] +[group_38363] +[group_38364] +[group_38365] +[group_38366] +[group_38367] +[group_38368] +[group_38369] +[group_38370] +[group_38371] +[group_38372] +[group_38373] +[group_38374] +[group_38375] +[group_38376] +[group_38377] +[group_38378] +[group_38379] +[group_38380] +[group_38381] +[group_38382] +[group_38383] +[group_38384] +[group_38385] +[group_38386] +[group_38387] +[group_38388] +[group_38389] +[group_38390] +[group_38391] +[group_38392] +[group_38393] +[group_38394] +[group_38395] +[group_38396] +[group_38397] +[group_38398] +[group_38399] +[group_38400] +[group_38401] +[group_38402] +[group_38403] +[group_38404] +[group_38405] +[group_38406] +[group_38407] +[group_38408] +[group_38409] +[group_38410] +[group_38411] +[group_38412] +[group_38413] +[group_38414] +[group_38415] +[group_38416] +[group_38417] +[group_38418] +[group_38419] +[group_38420] +[group_38421] +[group_38422] +[group_38423] +[group_38424] +[group_38425] +[group_38426] +[group_38427] +[group_38428] +[group_38429] +[group_38430] +[group_38431] +[group_38432] +[group_38433] +[group_38434] +[group_38435] +[group_38436] +[group_38437] +[group_38438] +[group_38439] +[group_38440] +[group_38441] +[group_38442] +[group_38443] +[group_38444] +[group_38445] +[group_38446] +[group_38447] +[group_38448] +[group_38449] +[group_38450] +[group_38451] +[group_38452] +[group_38453] +[group_38454] +[group_38455] +[group_38456] +[group_38457] +[group_38458] +[group_38459] +[group_38460] +[group_38461] +[group_38462] +[group_38463] +[group_38464] +[group_38465] +[group_38466] +[group_38467] +[group_38468] +[group_38469] +[group_38470] +[group_38471] +[group_38472] +[group_38473] +[group_38474] +[group_38475] +[group_38476] +[group_38477] +[group_38478] +[group_38479] +[group_38480] +[group_38481] +[group_38482] +[group_38483] +[group_38484] +[group_38485] +[group_38486] +[group_38487] +[group_38488] +[group_38489] +[group_38490] +[group_38491] +[group_38492] +[group_38493] +[group_38494] +[group_38495] +[group_38496] +[group_38497] +[group_38498] +[group_38499] +[group_38500] +[group_38501] +[group_38502] +[group_38503] +[group_38504] +[group_38505] +[group_38506] +[group_38507] +[group_38508] +[group_38509] +[group_38510] +[group_38511] +[group_38512] +[group_38513] +[group_38514] +[group_38515] +[group_38516] +[group_38517] +[group_38518] +[group_38519] +[group_38520] +[group_38521] +[group_38522] +[group_38523] +[group_38524] +[group_38525] +[group_38526] +[group_38527] +[group_38528] +[group_38529] +[group_38530] +[group_38531] +[group_38532] +[group_38533] +[group_38534] +[group_38535] +[group_38536] +[group_38537] +[group_38538] +[group_38539] +[group_38540] +[group_38541] +[group_38542] +[group_38543] +[group_38544] +[group_38545] +[group_38546] +[group_38547] +[group_38548] +[group_38549] +[group_38550] +[group_38551] +[group_38552] +[group_38553] +[group_38554] +[group_38555] +[group_38556] +[group_38557] +[group_38558] +[group_38559] +[group_38560] +[group_38561] +[group_38562] +[group_38563] +[group_38564] +[group_38565] +[group_38566] +[group_38567] +[group_38568] +[group_38569] +[group_38570] +[group_38571] +[group_38572] +[group_38573] +[group_38574] +[group_38575] +[group_38576] +[group_38577] +[group_38578] +[group_38579] +[group_38580] +[group_38581] +[group_38582] +[group_38583] +[group_38584] +[group_38585] +[group_38586] +[group_38587] +[group_38588] +[group_38589] +[group_38590] +[group_38591] +[group_38592] +[group_38593] +[group_38594] +[group_38595] +[group_38596] +[group_38597] +[group_38598] +[group_38599] +[group_38600] +[group_38601] +[group_38602] +[group_38603] +[group_38604] +[group_38605] +[group_38606] +[group_38607] +[group_38608] +[group_38609] +[group_38610] +[group_38611] +[group_38612] +[group_38613] +[group_38614] +[group_38615] +[group_38616] +[group_38617] +[group_38618] +[group_38619] +[group_38620] +[group_38621] +[group_38622] +[group_38623] +[group_38624] +[group_38625] +[group_38626] +[group_38627] +[group_38628] +[group_38629] +[group_38630] +[group_38631] +[group_38632] +[group_38633] +[group_38634] +[group_38635] +[group_38636] +[group_38637] +[group_38638] +[group_38639] +[group_38640] +[group_38641] +[group_38642] +[group_38643] +[group_38644] +[group_38645] +[group_38646] +[group_38647] +[group_38648] +[group_38649] +[group_38650] +[group_38651] +[group_38652] +[group_38653] +[group_38654] +[group_38655] +[group_38656] +[group_38657] +[group_38658] +[group_38659] +[group_38660] +[group_38661] +[group_38662] +[group_38663] +[group_38664] +[group_38665] +[group_38666] +[group_38667] +[group_38668] +[group_38669] +[group_38670] +[group_38671] +[group_38672] +[group_38673] +[group_38674] +[group_38675] +[group_38676] +[group_38677] +[group_38678] +[group_38679] +[group_38680] +[group_38681] +[group_38682] +[group_38683] +[group_38684] +[group_38685] +[group_38686] +[group_38687] +[group_38688] +[group_38689] +[group_38690] +[group_38691] +[group_38692] +[group_38693] +[group_38694] +[group_38695] +[group_38696] +[group_38697] +[group_38698] +[group_38699] +[group_38700] +[group_38701] +[group_38702] +[group_38703] +[group_38704] +[group_38705] +[group_38706] +[group_38707] +[group_38708] +[group_38709] +[group_38710] +[group_38711] +[group_38712] +[group_38713] +[group_38714] +[group_38715] +[group_38716] +[group_38717] +[group_38718] +[group_38719] +[group_38720] +[group_38721] +[group_38722] +[group_38723] +[group_38724] +[group_38725] +[group_38726] +[group_38727] +[group_38728] +[group_38729] +[group_38730] +[group_38731] +[group_38732] +[group_38733] +[group_38734] +[group_38735] +[group_38736] +[group_38737] +[group_38738] +[group_38739] +[group_38740] +[group_38741] +[group_38742] +[group_38743] +[group_38744] +[group_38745] +[group_38746] +[group_38747] +[group_38748] +[group_38749] +[group_38750] +[group_38751] +[group_38752] +[group_38753] +[group_38754] +[group_38755] +[group_38756] +[group_38757] +[group_38758] +[group_38759] +[group_38760] +[group_38761] +[group_38762] +[group_38763] +[group_38764] +[group_38765] +[group_38766] +[group_38767] +[group_38768] +[group_38769] +[group_38770] +[group_38771] +[group_38772] +[group_38773] +[group_38774] +[group_38775] +[group_38776] +[group_38777] +[group_38778] +[group_38779] +[group_38780] +[group_38781] +[group_38782] +[group_38783] +[group_38784] +[group_38785] +[group_38786] +[group_38787] +[group_38788] +[group_38789] +[group_38790] +[group_38791] +[group_38792] +[group_38793] +[group_38794] +[group_38795] +[group_38796] +[group_38797] +[group_38798] +[group_38799] +[group_38800] +[group_38801] +[group_38802] +[group_38803] +[group_38804] +[group_38805] +[group_38806] +[group_38807] +[group_38808] +[group_38809] +[group_38810] +[group_38811] +[group_38812] +[group_38813] +[group_38814] +[group_38815] +[group_38816] +[group_38817] +[group_38818] +[group_38819] +[group_38820] +[group_38821] +[group_38822] +[group_38823] +[group_38824] +[group_38825] +[group_38826] +[group_38827] +[group_38828] +[group_38829] +[group_38830] +[group_38831] +[group_38832] +[group_38833] +[group_38834] +[group_38835] +[group_38836] +[group_38837] +[group_38838] +[group_38839] +[group_38840] +[group_38841] +[group_38842] +[group_38843] +[group_38844] +[group_38845] +[group_38846] +[group_38847] +[group_38848] +[group_38849] +[group_38850] +[group_38851] +[group_38852] +[group_38853] +[group_38854] +[group_38855] +[group_38856] +[group_38857] +[group_38858] +[group_38859] +[group_38860] +[group_38861] +[group_38862] +[group_38863] +[group_38864] +[group_38865] +[group_38866] +[group_38867] +[group_38868] +[group_38869] +[group_38870] +[group_38871] +[group_38872] +[group_38873] +[group_38874] +[group_38875] +[group_38876] +[group_38877] +[group_38878] +[group_38879] +[group_38880] +[group_38881] +[group_38882] +[group_38883] +[group_38884] +[group_38885] +[group_38886] +[group_38887] +[group_38888] +[group_38889] +[group_38890] +[group_38891] +[group_38892] +[group_38893] +[group_38894] +[group_38895] +[group_38896] +[group_38897] +[group_38898] +[group_38899] +[group_38900] +[group_38901] +[group_38902] +[group_38903] +[group_38904] +[group_38905] +[group_38906] +[group_38907] +[group_38908] +[group_38909] +[group_38910] +[group_38911] +[group_38912] +[group_38913] +[group_38914] +[group_38915] +[group_38916] +[group_38917] +[group_38918] +[group_38919] +[group_38920] +[group_38921] +[group_38922] +[group_38923] +[group_38924] +[group_38925] +[group_38926] +[group_38927] +[group_38928] +[group_38929] +[group_38930] +[group_38931] +[group_38932] +[group_38933] +[group_38934] +[group_38935] +[group_38936] +[group_38937] +[group_38938] +[group_38939] +[group_38940] +[group_38941] +[group_38942] +[group_38943] +[group_38944] +[group_38945] +[group_38946] +[group_38947] +[group_38948] +[group_38949] +[group_38950] +[group_38951] +[group_38952] +[group_38953] +[group_38954] +[group_38955] +[group_38956] +[group_38957] +[group_38958] +[group_38959] +[group_38960] +[group_38961] +[group_38962] +[group_38963] +[group_38964] +[group_38965] +[group_38966] +[group_38967] +[group_38968] +[group_38969] +[group_38970] +[group_38971] +[group_38972] +[group_38973] +[group_38974] +[group_38975] +[group_38976] +[group_38977] +[group_38978] +[group_38979] +[group_38980] +[group_38981] +[group_38982] +[group_38983] +[group_38984] +[group_38985] +[group_38986] +[group_38987] +[group_38988] +[group_38989] +[group_38990] +[group_38991] +[group_38992] +[group_38993] +[group_38994] +[group_38995] +[group_38996] +[group_38997] +[group_38998] +[group_38999] +[group_39000] +[group_39001] +[group_39002] +[group_39003] +[group_39004] +[group_39005] +[group_39006] +[group_39007] +[group_39008] +[group_39009] +[group_39010] +[group_39011] +[group_39012] +[group_39013] +[group_39014] +[group_39015] +[group_39016] +[group_39017] +[group_39018] +[group_39019] +[group_39020] +[group_39021] +[group_39022] +[group_39023] +[group_39024] +[group_39025] +[group_39026] +[group_39027] +[group_39028] +[group_39029] +[group_39030] +[group_39031] +[group_39032] +[group_39033] +[group_39034] +[group_39035] +[group_39036] +[group_39037] +[group_39038] +[group_39039] +[group_39040] +[group_39041] +[group_39042] +[group_39043] +[group_39044] +[group_39045] +[group_39046] +[group_39047] +[group_39048] +[group_39049] +[group_39050] +[group_39051] +[group_39052] +[group_39053] +[group_39054] +[group_39055] +[group_39056] +[group_39057] +[group_39058] +[group_39059] +[group_39060] +[group_39061] +[group_39062] +[group_39063] +[group_39064] +[group_39065] +[group_39066] +[group_39067] +[group_39068] +[group_39069] +[group_39070] +[group_39071] +[group_39072] +[group_39073] +[group_39074] +[group_39075] +[group_39076] +[group_39077] +[group_39078] +[group_39079] +[group_39080] +[group_39081] +[group_39082] +[group_39083] +[group_39084] +[group_39085] +[group_39086] +[group_39087] +[group_39088] +[group_39089] +[group_39090] +[group_39091] +[group_39092] +[group_39093] +[group_39094] +[group_39095] +[group_39096] +[group_39097] +[group_39098] +[group_39099] +[group_39100] +[group_39101] +[group_39102] +[group_39103] +[group_39104] +[group_39105] +[group_39106] +[group_39107] +[group_39108] +[group_39109] +[group_39110] +[group_39111] +[group_39112] +[group_39113] +[group_39114] +[group_39115] +[group_39116] +[group_39117] +[group_39118] +[group_39119] +[group_39120] +[group_39121] +[group_39122] +[group_39123] +[group_39124] +[group_39125] +[group_39126] +[group_39127] +[group_39128] +[group_39129] +[group_39130] +[group_39131] +[group_39132] +[group_39133] +[group_39134] +[group_39135] +[group_39136] +[group_39137] +[group_39138] +[group_39139] +[group_39140] +[group_39141] +[group_39142] +[group_39143] +[group_39144] +[group_39145] +[group_39146] +[group_39147] +[group_39148] +[group_39149] +[group_39150] +[group_39151] +[group_39152] +[group_39153] +[group_39154] +[group_39155] +[group_39156] +[group_39157] +[group_39158] +[group_39159] +[group_39160] +[group_39161] +[group_39162] +[group_39163] +[group_39164] +[group_39165] +[group_39166] +[group_39167] +[group_39168] +[group_39169] +[group_39170] +[group_39171] +[group_39172] +[group_39173] +[group_39174] +[group_39175] +[group_39176] +[group_39177] +[group_39178] +[group_39179] +[group_39180] +[group_39181] +[group_39182] +[group_39183] +[group_39184] +[group_39185] +[group_39186] +[group_39187] +[group_39188] +[group_39189] +[group_39190] +[group_39191] +[group_39192] +[group_39193] +[group_39194] +[group_39195] +[group_39196] +[group_39197] +[group_39198] +[group_39199] +[group_39200] +[group_39201] +[group_39202] +[group_39203] +[group_39204] +[group_39205] +[group_39206] +[group_39207] +[group_39208] +[group_39209] +[group_39210] +[group_39211] +[group_39212] +[group_39213] +[group_39214] +[group_39215] +[group_39216] +[group_39217] +[group_39218] +[group_39219] +[group_39220] +[group_39221] +[group_39222] +[group_39223] +[group_39224] +[group_39225] +[group_39226] +[group_39227] +[group_39228] +[group_39229] +[group_39230] +[group_39231] +[group_39232] +[group_39233] +[group_39234] +[group_39235] +[group_39236] +[group_39237] +[group_39238] +[group_39239] +[group_39240] +[group_39241] +[group_39242] +[group_39243] +[group_39244] +[group_39245] +[group_39246] +[group_39247] +[group_39248] +[group_39249] +[group_39250] +[group_39251] +[group_39252] +[group_39253] +[group_39254] +[group_39255] +[group_39256] +[group_39257] +[group_39258] +[group_39259] +[group_39260] +[group_39261] +[group_39262] +[group_39263] +[group_39264] +[group_39265] +[group_39266] +[group_39267] +[group_39268] +[group_39269] +[group_39270] +[group_39271] +[group_39272] +[group_39273] +[group_39274] +[group_39275] +[group_39276] +[group_39277] +[group_39278] +[group_39279] +[group_39280] +[group_39281] +[group_39282] +[group_39283] +[group_39284] +[group_39285] +[group_39286] +[group_39287] +[group_39288] +[group_39289] +[group_39290] +[group_39291] +[group_39292] +[group_39293] +[group_39294] +[group_39295] +[group_39296] +[group_39297] +[group_39298] +[group_39299] +[group_39300] +[group_39301] +[group_39302] +[group_39303] +[group_39304] +[group_39305] +[group_39306] +[group_39307] +[group_39308] +[group_39309] +[group_39310] +[group_39311] +[group_39312] +[group_39313] +[group_39314] +[group_39315] +[group_39316] +[group_39317] +[group_39318] +[group_39319] +[group_39320] +[group_39321] +[group_39322] +[group_39323] +[group_39324] +[group_39325] +[group_39326] +[group_39327] +[group_39328] +[group_39329] +[group_39330] +[group_39331] +[group_39332] +[group_39333] +[group_39334] +[group_39335] +[group_39336] +[group_39337] +[group_39338] +[group_39339] +[group_39340] +[group_39341] +[group_39342] +[group_39343] +[group_39344] +[group_39345] +[group_39346] +[group_39347] +[group_39348] +[group_39349] +[group_39350] +[group_39351] +[group_39352] +[group_39353] +[group_39354] +[group_39355] +[group_39356] +[group_39357] +[group_39358] +[group_39359] +[group_39360] +[group_39361] +[group_39362] +[group_39363] +[group_39364] +[group_39365] +[group_39366] +[group_39367] +[group_39368] +[group_39369] +[group_39370] +[group_39371] +[group_39372] +[group_39373] +[group_39374] +[group_39375] +[group_39376] +[group_39377] +[group_39378] +[group_39379] +[group_39380] +[group_39381] +[group_39382] +[group_39383] +[group_39384] +[group_39385] +[group_39386] +[group_39387] +[group_39388] +[group_39389] +[group_39390] +[group_39391] +[group_39392] +[group_39393] +[group_39394] +[group_39395] +[group_39396] +[group_39397] +[group_39398] +[group_39399] +[group_39400] +[group_39401] +[group_39402] +[group_39403] +[group_39404] +[group_39405] +[group_39406] +[group_39407] +[group_39408] +[group_39409] +[group_39410] +[group_39411] +[group_39412] +[group_39413] +[group_39414] +[group_39415] +[group_39416] +[group_39417] +[group_39418] +[group_39419] +[group_39420] +[group_39421] +[group_39422] +[group_39423] +[group_39424] +[group_39425] +[group_39426] +[group_39427] +[group_39428] +[group_39429] +[group_39430] +[group_39431] +[group_39432] +[group_39433] +[group_39434] +[group_39435] +[group_39436] +[group_39437] +[group_39438] +[group_39439] +[group_39440] +[group_39441] +[group_39442] +[group_39443] +[group_39444] +[group_39445] +[group_39446] +[group_39447] +[group_39448] +[group_39449] +[group_39450] +[group_39451] +[group_39452] +[group_39453] +[group_39454] +[group_39455] +[group_39456] +[group_39457] +[group_39458] +[group_39459] +[group_39460] +[group_39461] +[group_39462] +[group_39463] +[group_39464] +[group_39465] +[group_39466] +[group_39467] +[group_39468] +[group_39469] +[group_39470] +[group_39471] +[group_39472] +[group_39473] +[group_39474] +[group_39475] +[group_39476] +[group_39477] +[group_39478] +[group_39479] +[group_39480] +[group_39481] +[group_39482] +[group_39483] +[group_39484] +[group_39485] +[group_39486] +[group_39487] +[group_39488] +[group_39489] +[group_39490] +[group_39491] +[group_39492] +[group_39493] +[group_39494] +[group_39495] +[group_39496] +[group_39497] +[group_39498] +[group_39499] +[group_39500] +[group_39501] +[group_39502] +[group_39503] +[group_39504] +[group_39505] +[group_39506] +[group_39507] +[group_39508] +[group_39509] +[group_39510] +[group_39511] +[group_39512] +[group_39513] +[group_39514] +[group_39515] +[group_39516] +[group_39517] +[group_39518] +[group_39519] +[group_39520] +[group_39521] +[group_39522] +[group_39523] +[group_39524] +[group_39525] +[group_39526] +[group_39527] +[group_39528] +[group_39529] +[group_39530] +[group_39531] +[group_39532] +[group_39533] +[group_39534] +[group_39535] +[group_39536] +[group_39537] +[group_39538] +[group_39539] +[group_39540] +[group_39541] +[group_39542] +[group_39543] +[group_39544] +[group_39545] +[group_39546] +[group_39547] +[group_39548] +[group_39549] +[group_39550] +[group_39551] +[group_39552] +[group_39553] +[group_39554] +[group_39555] +[group_39556] +[group_39557] +[group_39558] +[group_39559] +[group_39560] +[group_39561] +[group_39562] +[group_39563] +[group_39564] +[group_39565] +[group_39566] +[group_39567] +[group_39568] +[group_39569] +[group_39570] +[group_39571] +[group_39572] +[group_39573] +[group_39574] +[group_39575] +[group_39576] +[group_39577] +[group_39578] +[group_39579] +[group_39580] +[group_39581] +[group_39582] +[group_39583] +[group_39584] +[group_39585] +[group_39586] +[group_39587] +[group_39588] +[group_39589] +[group_39590] +[group_39591] +[group_39592] +[group_39593] +[group_39594] +[group_39595] +[group_39596] +[group_39597] +[group_39598] +[group_39599] +[group_39600] +[group_39601] +[group_39602] +[group_39603] +[group_39604] +[group_39605] +[group_39606] +[group_39607] +[group_39608] +[group_39609] +[group_39610] +[group_39611] +[group_39612] +[group_39613] +[group_39614] +[group_39615] +[group_39616] +[group_39617] +[group_39618] +[group_39619] +[group_39620] +[group_39621] +[group_39622] +[group_39623] +[group_39624] +[group_39625] +[group_39626] +[group_39627] +[group_39628] +[group_39629] +[group_39630] +[group_39631] +[group_39632] +[group_39633] +[group_39634] +[group_39635] +[group_39636] +[group_39637] +[group_39638] +[group_39639] +[group_39640] +[group_39641] +[group_39642] +[group_39643] +[group_39644] +[group_39645] +[group_39646] +[group_39647] +[group_39648] +[group_39649] +[group_39650] +[group_39651] +[group_39652] +[group_39653] +[group_39654] +[group_39655] +[group_39656] +[group_39657] +[group_39658] +[group_39659] +[group_39660] +[group_39661] +[group_39662] +[group_39663] +[group_39664] +[group_39665] +[group_39666] +[group_39667] +[group_39668] +[group_39669] +[group_39670] +[group_39671] +[group_39672] +[group_39673] +[group_39674] +[group_39675] +[group_39676] +[group_39677] +[group_39678] +[group_39679] +[group_39680] +[group_39681] +[group_39682] +[group_39683] +[group_39684] +[group_39685] +[group_39686] +[group_39687] +[group_39688] +[group_39689] +[group_39690] +[group_39691] +[group_39692] +[group_39693] +[group_39694] +[group_39695] +[group_39696] +[group_39697] +[group_39698] +[group_39699] +[group_39700] +[group_39701] +[group_39702] +[group_39703] +[group_39704] +[group_39705] +[group_39706] +[group_39707] +[group_39708] +[group_39709] +[group_39710] +[group_39711] +[group_39712] +[group_39713] +[group_39714] +[group_39715] +[group_39716] +[group_39717] +[group_39718] +[group_39719] +[group_39720] +[group_39721] +[group_39722] +[group_39723] +[group_39724] +[group_39725] +[group_39726] +[group_39727] +[group_39728] +[group_39729] +[group_39730] +[group_39731] +[group_39732] +[group_39733] +[group_39734] +[group_39735] +[group_39736] +[group_39737] +[group_39738] +[group_39739] +[group_39740] +[group_39741] +[group_39742] +[group_39743] +[group_39744] +[group_39745] +[group_39746] +[group_39747] +[group_39748] +[group_39749] +[group_39750] +[group_39751] +[group_39752] +[group_39753] +[group_39754] +[group_39755] +[group_39756] +[group_39757] +[group_39758] +[group_39759] +[group_39760] +[group_39761] +[group_39762] +[group_39763] +[group_39764] +[group_39765] +[group_39766] +[group_39767] +[group_39768] +[group_39769] +[group_39770] +[group_39771] +[group_39772] +[group_39773] +[group_39774] +[group_39775] +[group_39776] +[group_39777] +[group_39778] +[group_39779] +[group_39780] +[group_39781] +[group_39782] +[group_39783] +[group_39784] +[group_39785] +[group_39786] +[group_39787] +[group_39788] +[group_39789] +[group_39790] +[group_39791] +[group_39792] +[group_39793] +[group_39794] +[group_39795] +[group_39796] +[group_39797] +[group_39798] +[group_39799] +[group_39800] +[group_39801] +[group_39802] +[group_39803] +[group_39804] +[group_39805] +[group_39806] +[group_39807] +[group_39808] +[group_39809] +[group_39810] +[group_39811] +[group_39812] +[group_39813] +[group_39814] +[group_39815] +[group_39816] +[group_39817] +[group_39818] +[group_39819] +[group_39820] +[group_39821] +[group_39822] +[group_39823] +[group_39824] +[group_39825] +[group_39826] +[group_39827] +[group_39828] +[group_39829] +[group_39830] +[group_39831] +[group_39832] +[group_39833] +[group_39834] +[group_39835] +[group_39836] +[group_39837] +[group_39838] +[group_39839] +[group_39840] +[group_39841] +[group_39842] +[group_39843] +[group_39844] +[group_39845] +[group_39846] +[group_39847] +[group_39848] +[group_39849] +[group_39850] +[group_39851] +[group_39852] +[group_39853] +[group_39854] +[group_39855] +[group_39856] +[group_39857] +[group_39858] +[group_39859] +[group_39860] +[group_39861] +[group_39862] +[group_39863] +[group_39864] +[group_39865] +[group_39866] +[group_39867] +[group_39868] +[group_39869] +[group_39870] +[group_39871] +[group_39872] +[group_39873] +[group_39874] +[group_39875] +[group_39876] +[group_39877] +[group_39878] +[group_39879] +[group_39880] +[group_39881] +[group_39882] +[group_39883] +[group_39884] +[group_39885] +[group_39886] +[group_39887] +[group_39888] +[group_39889] +[group_39890] +[group_39891] +[group_39892] +[group_39893] +[group_39894] +[group_39895] +[group_39896] +[group_39897] +[group_39898] +[group_39899] +[group_39900] +[group_39901] +[group_39902] +[group_39903] +[group_39904] +[group_39905] +[group_39906] +[group_39907] +[group_39908] +[group_39909] +[group_39910] +[group_39911] +[group_39912] +[group_39913] +[group_39914] +[group_39915] +[group_39916] +[group_39917] +[group_39918] +[group_39919] +[group_39920] +[group_39921] +[group_39922] +[group_39923] +[group_39924] +[group_39925] +[group_39926] +[group_39927] +[group_39928] +[group_39929] +[group_39930] +[group_39931] +[group_39932] +[group_39933] +[group_39934] +[group_39935] +[group_39936] +[group_39937] +[group_39938] +[group_39939] +[group_39940] +[group_39941] +[group_39942] +[group_39943] +[group_39944] +[group_39945] +[group_39946] +[group_39947] +[group_39948] +[group_39949] +[group_39950] +[group_39951] +[group_39952] +[group_39953] +[group_39954] +[group_39955] +[group_39956] +[group_39957] +[group_39958] +[group_39959] +[group_39960] +[group_39961] +[group_39962] +[group_39963] +[group_39964] +[group_39965] +[group_39966] +[group_39967] +[group_39968] +[group_39969] +[group_39970] +[group_39971] +[group_39972] +[group_39973] +[group_39974] +[group_39975] +[group_39976] +[group_39977] +[group_39978] +[group_39979] +[group_39980] +[group_39981] +[group_39982] +[group_39983] +[group_39984] +[group_39985] +[group_39986] +[group_39987] +[group_39988] +[group_39989] +[group_39990] +[group_39991] +[group_39992] +[group_39993] +[group_39994] +[group_39995] +[group_39996] +[group_39997] +[group_39998] +[group_39999] +[group_40000] +[group_40001] +[group_40002] +[group_40003] +[group_40004] +[group_40005] +[group_40006] +[group_40007] +[group_40008] +[group_40009] +[group_40010] +[group_40011] +[group_40012] +[group_40013] +[group_40014] +[group_40015] +[group_40016] +[group_40017] +[group_40018] +[group_40019] +[group_40020] +[group_40021] +[group_40022] +[group_40023] +[group_40024] +[group_40025] +[group_40026] +[group_40027] +[group_40028] +[group_40029] +[group_40030] +[group_40031] +[group_40032] +[group_40033] +[group_40034] +[group_40035] +[group_40036] +[group_40037] +[group_40038] +[group_40039] +[group_40040] +[group_40041] +[group_40042] +[group_40043] +[group_40044] +[group_40045] +[group_40046] +[group_40047] +[group_40048] +[group_40049] +[group_40050] +[group_40051] +[group_40052] +[group_40053] +[group_40054] +[group_40055] +[group_40056] +[group_40057] +[group_40058] +[group_40059] +[group_40060] +[group_40061] +[group_40062] +[group_40063] +[group_40064] +[group_40065] +[group_40066] +[group_40067] +[group_40068] +[group_40069] +[group_40070] +[group_40071] +[group_40072] +[group_40073] +[group_40074] +[group_40075] +[group_40076] +[group_40077] +[group_40078] +[group_40079] +[group_40080] +[group_40081] +[group_40082] +[group_40083] +[group_40084] +[group_40085] +[group_40086] +[group_40087] +[group_40088] +[group_40089] +[group_40090] +[group_40091] +[group_40092] +[group_40093] +[group_40094] +[group_40095] +[group_40096] +[group_40097] +[group_40098] +[group_40099] +[group_40100] +[group_40101] +[group_40102] +[group_40103] +[group_40104] +[group_40105] +[group_40106] +[group_40107] +[group_40108] +[group_40109] +[group_40110] +[group_40111] +[group_40112] +[group_40113] +[group_40114] +[group_40115] +[group_40116] +[group_40117] +[group_40118] +[group_40119] +[group_40120] +[group_40121] +[group_40122] +[group_40123] +[group_40124] +[group_40125] +[group_40126] +[group_40127] +[group_40128] +[group_40129] +[group_40130] +[group_40131] +[group_40132] +[group_40133] +[group_40134] +[group_40135] +[group_40136] +[group_40137] +[group_40138] +[group_40139] +[group_40140] +[group_40141] +[group_40142] +[group_40143] +[group_40144] +[group_40145] +[group_40146] +[group_40147] +[group_40148] +[group_40149] +[group_40150] +[group_40151] +[group_40152] +[group_40153] +[group_40154] +[group_40155] +[group_40156] +[group_40157] +[group_40158] +[group_40159] +[group_40160] +[group_40161] +[group_40162] +[group_40163] +[group_40164] +[group_40165] +[group_40166] +[group_40167] +[group_40168] +[group_40169] +[group_40170] +[group_40171] +[group_40172] +[group_40173] +[group_40174] +[group_40175] +[group_40176] +[group_40177] +[group_40178] +[group_40179] +[group_40180] +[group_40181] +[group_40182] +[group_40183] +[group_40184] +[group_40185] +[group_40186] +[group_40187] +[group_40188] +[group_40189] +[group_40190] +[group_40191] +[group_40192] +[group_40193] +[group_40194] +[group_40195] +[group_40196] +[group_40197] +[group_40198] +[group_40199] +[group_40200] +[group_40201] +[group_40202] +[group_40203] +[group_40204] +[group_40205] +[group_40206] +[group_40207] +[group_40208] +[group_40209] +[group_40210] +[group_40211] +[group_40212] +[group_40213] +[group_40214] +[group_40215] +[group_40216] +[group_40217] +[group_40218] +[group_40219] +[group_40220] +[group_40221] +[group_40222] +[group_40223] +[group_40224] +[group_40225] +[group_40226] +[group_40227] +[group_40228] +[group_40229] +[group_40230] +[group_40231] +[group_40232] +[group_40233] +[group_40234] +[group_40235] +[group_40236] +[group_40237] +[group_40238] +[group_40239] +[group_40240] +[group_40241] +[group_40242] +[group_40243] +[group_40244] +[group_40245] +[group_40246] +[group_40247] +[group_40248] +[group_40249] +[group_40250] +[group_40251] +[group_40252] +[group_40253] +[group_40254] +[group_40255] +[group_40256] +[group_40257] +[group_40258] +[group_40259] +[group_40260] +[group_40261] +[group_40262] +[group_40263] +[group_40264] +[group_40265] +[group_40266] +[group_40267] +[group_40268] +[group_40269] +[group_40270] +[group_40271] +[group_40272] +[group_40273] +[group_40274] +[group_40275] +[group_40276] +[group_40277] +[group_40278] +[group_40279] +[group_40280] +[group_40281] +[group_40282] +[group_40283] +[group_40284] +[group_40285] +[group_40286] +[group_40287] +[group_40288] +[group_40289] +[group_40290] +[group_40291] +[group_40292] +[group_40293] +[group_40294] +[group_40295] +[group_40296] +[group_40297] +[group_40298] +[group_40299] +[group_40300] +[group_40301] +[group_40302] +[group_40303] +[group_40304] +[group_40305] +[group_40306] +[group_40307] +[group_40308] +[group_40309] +[group_40310] +[group_40311] +[group_40312] +[group_40313] +[group_40314] +[group_40315] +[group_40316] +[group_40317] +[group_40318] +[group_40319] +[group_40320] +[group_40321] +[group_40322] +[group_40323] +[group_40324] +[group_40325] +[group_40326] +[group_40327] +[group_40328] +[group_40329] +[group_40330] +[group_40331] +[group_40332] +[group_40333] +[group_40334] +[group_40335] +[group_40336] +[group_40337] +[group_40338] +[group_40339] +[group_40340] +[group_40341] +[group_40342] +[group_40343] +[group_40344] +[group_40345] +[group_40346] +[group_40347] +[group_40348] +[group_40349] +[group_40350] +[group_40351] +[group_40352] +[group_40353] +[group_40354] +[group_40355] +[group_40356] +[group_40357] +[group_40358] +[group_40359] +[group_40360] +[group_40361] +[group_40362] +[group_40363] +[group_40364] +[group_40365] +[group_40366] +[group_40367] +[group_40368] +[group_40369] +[group_40370] +[group_40371] +[group_40372] +[group_40373] +[group_40374] +[group_40375] +[group_40376] +[group_40377] +[group_40378] +[group_40379] +[group_40380] +[group_40381] +[group_40382] +[group_40383] +[group_40384] +[group_40385] +[group_40386] +[group_40387] +[group_40388] +[group_40389] +[group_40390] +[group_40391] +[group_40392] +[group_40393] +[group_40394] +[group_40395] +[group_40396] +[group_40397] +[group_40398] +[group_40399] +[group_40400] +[group_40401] +[group_40402] +[group_40403] +[group_40404] +[group_40405] +[group_40406] +[group_40407] +[group_40408] +[group_40409] +[group_40410] +[group_40411] +[group_40412] +[group_40413] +[group_40414] +[group_40415] +[group_40416] +[group_40417] +[group_40418] +[group_40419] +[group_40420] +[group_40421] +[group_40422] +[group_40423] +[group_40424] +[group_40425] +[group_40426] +[group_40427] +[group_40428] +[group_40429] +[group_40430] +[group_40431] +[group_40432] +[group_40433] +[group_40434] +[group_40435] +[group_40436] +[group_40437] +[group_40438] +[group_40439] +[group_40440] +[group_40441] +[group_40442] +[group_40443] +[group_40444] +[group_40445] +[group_40446] +[group_40447] +[group_40448] +[group_40449] +[group_40450] +[group_40451] +[group_40452] +[group_40453] +[group_40454] +[group_40455] +[group_40456] +[group_40457] +[group_40458] +[group_40459] +[group_40460] +[group_40461] +[group_40462] +[group_40463] +[group_40464] +[group_40465] +[group_40466] +[group_40467] +[group_40468] +[group_40469] +[group_40470] +[group_40471] +[group_40472] +[group_40473] +[group_40474] +[group_40475] +[group_40476] +[group_40477] +[group_40478] +[group_40479] +[group_40480] +[group_40481] +[group_40482] +[group_40483] +[group_40484] +[group_40485] +[group_40486] +[group_40487] +[group_40488] +[group_40489] +[group_40490] +[group_40491] +[group_40492] +[group_40493] +[group_40494] +[group_40495] +[group_40496] +[group_40497] +[group_40498] +[group_40499] +[group_40500] +[group_40501] +[group_40502] +[group_40503] +[group_40504] +[group_40505] +[group_40506] +[group_40507] +[group_40508] +[group_40509] +[group_40510] +[group_40511] +[group_40512] +[group_40513] +[group_40514] +[group_40515] +[group_40516] +[group_40517] +[group_40518] +[group_40519] +[group_40520] +[group_40521] +[group_40522] +[group_40523] +[group_40524] +[group_40525] +[group_40526] +[group_40527] +[group_40528] +[group_40529] +[group_40530] +[group_40531] +[group_40532] +[group_40533] +[group_40534] +[group_40535] +[group_40536] +[group_40537] +[group_40538] +[group_40539] +[group_40540] +[group_40541] +[group_40542] +[group_40543] +[group_40544] +[group_40545] +[group_40546] +[group_40547] +[group_40548] +[group_40549] +[group_40550] +[group_40551] +[group_40552] +[group_40553] +[group_40554] +[group_40555] +[group_40556] +[group_40557] +[group_40558] +[group_40559] +[group_40560] +[group_40561] +[group_40562] +[group_40563] +[group_40564] +[group_40565] +[group_40566] +[group_40567] +[group_40568] +[group_40569] +[group_40570] +[group_40571] +[group_40572] +[group_40573] +[group_40574] +[group_40575] +[group_40576] +[group_40577] +[group_40578] +[group_40579] +[group_40580] +[group_40581] +[group_40582] +[group_40583] +[group_40584] +[group_40585] +[group_40586] +[group_40587] +[group_40588] +[group_40589] +[group_40590] +[group_40591] +[group_40592] +[group_40593] +[group_40594] +[group_40595] +[group_40596] +[group_40597] +[group_40598] +[group_40599] +[group_40600] +[group_40601] +[group_40602] +[group_40603] +[group_40604] +[group_40605] +[group_40606] +[group_40607] +[group_40608] +[group_40609] +[group_40610] +[group_40611] +[group_40612] +[group_40613] +[group_40614] +[group_40615] +[group_40616] +[group_40617] +[group_40618] +[group_40619] +[group_40620] +[group_40621] +[group_40622] +[group_40623] +[group_40624] +[group_40625] +[group_40626] +[group_40627] +[group_40628] +[group_40629] +[group_40630] +[group_40631] +[group_40632] +[group_40633] +[group_40634] +[group_40635] +[group_40636] +[group_40637] +[group_40638] +[group_40639] +[group_40640] +[group_40641] +[group_40642] +[group_40643] +[group_40644] +[group_40645] +[group_40646] +[group_40647] +[group_40648] +[group_40649] +[group_40650] +[group_40651] +[group_40652] +[group_40653] +[group_40654] +[group_40655] +[group_40656] +[group_40657] +[group_40658] +[group_40659] +[group_40660] +[group_40661] +[group_40662] +[group_40663] +[group_40664] +[group_40665] +[group_40666] +[group_40667] +[group_40668] +[group_40669] +[group_40670] +[group_40671] +[group_40672] +[group_40673] +[group_40674] +[group_40675] +[group_40676] +[group_40677] +[group_40678] +[group_40679] +[group_40680] +[group_40681] +[group_40682] +[group_40683] +[group_40684] +[group_40685] +[group_40686] +[group_40687] +[group_40688] +[group_40689] +[group_40690] +[group_40691] +[group_40692] +[group_40693] +[group_40694] +[group_40695] +[group_40696] +[group_40697] +[group_40698] +[group_40699] +[group_40700] +[group_40701] +[group_40702] +[group_40703] +[group_40704] +[group_40705] +[group_40706] +[group_40707] +[group_40708] +[group_40709] +[group_40710] +[group_40711] +[group_40712] +[group_40713] +[group_40714] +[group_40715] +[group_40716] +[group_40717] +[group_40718] +[group_40719] +[group_40720] +[group_40721] +[group_40722] +[group_40723] +[group_40724] +[group_40725] +[group_40726] +[group_40727] +[group_40728] +[group_40729] +[group_40730] +[group_40731] +[group_40732] +[group_40733] +[group_40734] +[group_40735] +[group_40736] +[group_40737] +[group_40738] +[group_40739] +[group_40740] +[group_40741] +[group_40742] +[group_40743] +[group_40744] +[group_40745] +[group_40746] +[group_40747] +[group_40748] +[group_40749] +[group_40750] +[group_40751] +[group_40752] +[group_40753] +[group_40754] +[group_40755] +[group_40756] +[group_40757] +[group_40758] +[group_40759] +[group_40760] +[group_40761] +[group_40762] +[group_40763] +[group_40764] +[group_40765] +[group_40766] +[group_40767] +[group_40768] +[group_40769] +[group_40770] +[group_40771] +[group_40772] +[group_40773] +[group_40774] +[group_40775] +[group_40776] +[group_40777] +[group_40778] +[group_40779] +[group_40780] +[group_40781] +[group_40782] +[group_40783] +[group_40784] +[group_40785] +[group_40786] +[group_40787] +[group_40788] +[group_40789] +[group_40790] +[group_40791] +[group_40792] +[group_40793] +[group_40794] +[group_40795] +[group_40796] +[group_40797] +[group_40798] +[group_40799] +[group_40800] +[group_40801] +[group_40802] +[group_40803] +[group_40804] +[group_40805] +[group_40806] +[group_40807] +[group_40808] +[group_40809] +[group_40810] +[group_40811] +[group_40812] +[group_40813] +[group_40814] +[group_40815] +[group_40816] +[group_40817] +[group_40818] +[group_40819] +[group_40820] +[group_40821] +[group_40822] +[group_40823] +[group_40824] +[group_40825] +[group_40826] +[group_40827] +[group_40828] +[group_40829] +[group_40830] +[group_40831] +[group_40832] +[group_40833] +[group_40834] +[group_40835] +[group_40836] +[group_40837] +[group_40838] +[group_40839] +[group_40840] +[group_40841] +[group_40842] +[group_40843] +[group_40844] +[group_40845] +[group_40846] +[group_40847] +[group_40848] +[group_40849] +[group_40850] +[group_40851] +[group_40852] +[group_40853] +[group_40854] +[group_40855] +[group_40856] +[group_40857] +[group_40858] +[group_40859] +[group_40860] +[group_40861] +[group_40862] +[group_40863] +[group_40864] +[group_40865] +[group_40866] +[group_40867] +[group_40868] +[group_40869] +[group_40870] +[group_40871] +[group_40872] +[group_40873] +[group_40874] +[group_40875] +[group_40876] +[group_40877] +[group_40878] +[group_40879] +[group_40880] +[group_40881] +[group_40882] +[group_40883] +[group_40884] +[group_40885] +[group_40886] +[group_40887] +[group_40888] +[group_40889] +[group_40890] +[group_40891] +[group_40892] +[group_40893] +[group_40894] +[group_40895] +[group_40896] +[group_40897] +[group_40898] +[group_40899] +[group_40900] +[group_40901] +[group_40902] +[group_40903] +[group_40904] +[group_40905] +[group_40906] +[group_40907] +[group_40908] +[group_40909] +[group_40910] +[group_40911] +[group_40912] +[group_40913] +[group_40914] +[group_40915] +[group_40916] +[group_40917] +[group_40918] +[group_40919] +[group_40920] +[group_40921] +[group_40922] +[group_40923] +[group_40924] +[group_40925] +[group_40926] +[group_40927] +[group_40928] +[group_40929] +[group_40930] +[group_40931] +[group_40932] +[group_40933] +[group_40934] +[group_40935] +[group_40936] +[group_40937] +[group_40938] +[group_40939] +[group_40940] +[group_40941] +[group_40942] +[group_40943] +[group_40944] +[group_40945] +[group_40946] +[group_40947] +[group_40948] +[group_40949] +[group_40950] +[group_40951] +[group_40952] +[group_40953] +[group_40954] +[group_40955] +[group_40956] +[group_40957] +[group_40958] +[group_40959] +[group_40960] +[group_40961] +[group_40962] +[group_40963] +[group_40964] +[group_40965] +[group_40966] +[group_40967] +[group_40968] +[group_40969] +[group_40970] +[group_40971] +[group_40972] +[group_40973] +[group_40974] +[group_40975] +[group_40976] +[group_40977] +[group_40978] +[group_40979] +[group_40980] +[group_40981] +[group_40982] +[group_40983] +[group_40984] +[group_40985] +[group_40986] +[group_40987] +[group_40988] +[group_40989] +[group_40990] +[group_40991] +[group_40992] +[group_40993] +[group_40994] +[group_40995] +[group_40996] +[group_40997] +[group_40998] +[group_40999] +[group_41000] +[group_41001] +[group_41002] +[group_41003] +[group_41004] +[group_41005] +[group_41006] +[group_41007] +[group_41008] +[group_41009] +[group_41010] +[group_41011] +[group_41012] +[group_41013] +[group_41014] +[group_41015] +[group_41016] +[group_41017] +[group_41018] +[group_41019] +[group_41020] +[group_41021] +[group_41022] +[group_41023] +[group_41024] +[group_41025] +[group_41026] +[group_41027] +[group_41028] +[group_41029] +[group_41030] +[group_41031] +[group_41032] +[group_41033] +[group_41034] +[group_41035] +[group_41036] +[group_41037] +[group_41038] +[group_41039] +[group_41040] +[group_41041] +[group_41042] +[group_41043] +[group_41044] +[group_41045] +[group_41046] +[group_41047] +[group_41048] +[group_41049] +[group_41050] +[group_41051] +[group_41052] +[group_41053] +[group_41054] +[group_41055] +[group_41056] +[group_41057] +[group_41058] +[group_41059] +[group_41060] +[group_41061] +[group_41062] +[group_41063] +[group_41064] +[group_41065] +[group_41066] +[group_41067] +[group_41068] +[group_41069] +[group_41070] +[group_41071] +[group_41072] +[group_41073] +[group_41074] +[group_41075] +[group_41076] +[group_41077] +[group_41078] +[group_41079] +[group_41080] +[group_41081] +[group_41082] +[group_41083] +[group_41084] +[group_41085] +[group_41086] +[group_41087] +[group_41088] +[group_41089] +[group_41090] +[group_41091] +[group_41092] +[group_41093] +[group_41094] +[group_41095] +[group_41096] +[group_41097] +[group_41098] +[group_41099] +[group_41100] +[group_41101] +[group_41102] +[group_41103] +[group_41104] +[group_41105] +[group_41106] +[group_41107] +[group_41108] +[group_41109] +[group_41110] +[group_41111] +[group_41112] +[group_41113] +[group_41114] +[group_41115] +[group_41116] +[group_41117] +[group_41118] +[group_41119] +[group_41120] +[group_41121] +[group_41122] +[group_41123] +[group_41124] +[group_41125] +[group_41126] +[group_41127] +[group_41128] +[group_41129] +[group_41130] +[group_41131] +[group_41132] +[group_41133] +[group_41134] +[group_41135] +[group_41136] +[group_41137] +[group_41138] +[group_41139] +[group_41140] +[group_41141] +[group_41142] +[group_41143] +[group_41144] +[group_41145] +[group_41146] +[group_41147] +[group_41148] +[group_41149] +[group_41150] +[group_41151] +[group_41152] +[group_41153] +[group_41154] +[group_41155] +[group_41156] +[group_41157] +[group_41158] +[group_41159] +[group_41160] +[group_41161] +[group_41162] +[group_41163] +[group_41164] +[group_41165] +[group_41166] +[group_41167] +[group_41168] +[group_41169] +[group_41170] +[group_41171] +[group_41172] +[group_41173] +[group_41174] +[group_41175] +[group_41176] +[group_41177] +[group_41178] +[group_41179] +[group_41180] +[group_41181] +[group_41182] +[group_41183] +[group_41184] +[group_41185] +[group_41186] +[group_41187] +[group_41188] +[group_41189] +[group_41190] +[group_41191] +[group_41192] +[group_41193] +[group_41194] +[group_41195] +[group_41196] +[group_41197] +[group_41198] +[group_41199] +[group_41200] +[group_41201] +[group_41202] +[group_41203] +[group_41204] +[group_41205] +[group_41206] +[group_41207] +[group_41208] +[group_41209] +[group_41210] +[group_41211] +[group_41212] +[group_41213] +[group_41214] +[group_41215] +[group_41216] +[group_41217] +[group_41218] +[group_41219] +[group_41220] +[group_41221] +[group_41222] +[group_41223] +[group_41224] +[group_41225] +[group_41226] +[group_41227] +[group_41228] +[group_41229] +[group_41230] +[group_41231] +[group_41232] +[group_41233] +[group_41234] +[group_41235] +[group_41236] +[group_41237] +[group_41238] +[group_41239] +[group_41240] +[group_41241] +[group_41242] +[group_41243] +[group_41244] +[group_41245] +[group_41246] +[group_41247] +[group_41248] +[group_41249] +[group_41250] +[group_41251] +[group_41252] +[group_41253] +[group_41254] +[group_41255] +[group_41256] +[group_41257] +[group_41258] +[group_41259] +[group_41260] +[group_41261] +[group_41262] +[group_41263] +[group_41264] +[group_41265] +[group_41266] +[group_41267] +[group_41268] +[group_41269] +[group_41270] +[group_41271] +[group_41272] +[group_41273] +[group_41274] +[group_41275] +[group_41276] +[group_41277] +[group_41278] +[group_41279] +[group_41280] +[group_41281] +[group_41282] +[group_41283] +[group_41284] +[group_41285] +[group_41286] +[group_41287] +[group_41288] +[group_41289] +[group_41290] +[group_41291] +[group_41292] +[group_41293] +[group_41294] +[group_41295] +[group_41296] +[group_41297] +[group_41298] +[group_41299] +[group_41300] +[group_41301] +[group_41302] +[group_41303] +[group_41304] +[group_41305] +[group_41306] +[group_41307] +[group_41308] +[group_41309] +[group_41310] +[group_41311] +[group_41312] +[group_41313] +[group_41314] +[group_41315] +[group_41316] +[group_41317] +[group_41318] +[group_41319] +[group_41320] +[group_41321] +[group_41322] +[group_41323] +[group_41324] +[group_41325] +[group_41326] +[group_41327] +[group_41328] +[group_41329] +[group_41330] +[group_41331] +[group_41332] +[group_41333] +[group_41334] +[group_41335] +[group_41336] +[group_41337] +[group_41338] +[group_41339] +[group_41340] +[group_41341] +[group_41342] +[group_41343] +[group_41344] +[group_41345] +[group_41346] +[group_41347] +[group_41348] +[group_41349] +[group_41350] +[group_41351] +[group_41352] +[group_41353] +[group_41354] +[group_41355] +[group_41356] +[group_41357] +[group_41358] +[group_41359] +[group_41360] +[group_41361] +[group_41362] +[group_41363] +[group_41364] +[group_41365] +[group_41366] +[group_41367] +[group_41368] +[group_41369] +[group_41370] +[group_41371] +[group_41372] +[group_41373] +[group_41374] +[group_41375] +[group_41376] +[group_41377] +[group_41378] +[group_41379] +[group_41380] +[group_41381] +[group_41382] +[group_41383] +[group_41384] +[group_41385] +[group_41386] +[group_41387] +[group_41388] +[group_41389] +[group_41390] +[group_41391] +[group_41392] +[group_41393] +[group_41394] +[group_41395] +[group_41396] +[group_41397] +[group_41398] +[group_41399] +[group_41400] +[group_41401] +[group_41402] +[group_41403] +[group_41404] +[group_41405] +[group_41406] +[group_41407] +[group_41408] +[group_41409] +[group_41410] +[group_41411] +[group_41412] +[group_41413] +[group_41414] +[group_41415] +[group_41416] +[group_41417] +[group_41418] +[group_41419] +[group_41420] +[group_41421] +[group_41422] +[group_41423] +[group_41424] +[group_41425] +[group_41426] +[group_41427] +[group_41428] +[group_41429] +[group_41430] +[group_41431] +[group_41432] +[group_41433] +[group_41434] +[group_41435] +[group_41436] +[group_41437] +[group_41438] +[group_41439] +[group_41440] +[group_41441] +[group_41442] +[group_41443] +[group_41444] +[group_41445] +[group_41446] +[group_41447] +[group_41448] +[group_41449] +[group_41450] +[group_41451] +[group_41452] +[group_41453] +[group_41454] +[group_41455] +[group_41456] +[group_41457] +[group_41458] +[group_41459] +[group_41460] +[group_41461] +[group_41462] +[group_41463] +[group_41464] +[group_41465] +[group_41466] +[group_41467] +[group_41468] +[group_41469] +[group_41470] +[group_41471] +[group_41472] +[group_41473] +[group_41474] +[group_41475] +[group_41476] +[group_41477] +[group_41478] +[group_41479] +[group_41480] +[group_41481] +[group_41482] +[group_41483] +[group_41484] +[group_41485] +[group_41486] +[group_41487] +[group_41488] +[group_41489] +[group_41490] +[group_41491] +[group_41492] +[group_41493] +[group_41494] +[group_41495] +[group_41496] +[group_41497] +[group_41498] +[group_41499] +[group_41500] +[group_41501] +[group_41502] +[group_41503] +[group_41504] +[group_41505] +[group_41506] +[group_41507] +[group_41508] +[group_41509] +[group_41510] +[group_41511] +[group_41512] +[group_41513] +[group_41514] +[group_41515] +[group_41516] +[group_41517] +[group_41518] +[group_41519] +[group_41520] +[group_41521] +[group_41522] +[group_41523] +[group_41524] +[group_41525] +[group_41526] +[group_41527] +[group_41528] +[group_41529] +[group_41530] +[group_41531] +[group_41532] +[group_41533] +[group_41534] +[group_41535] +[group_41536] +[group_41537] +[group_41538] +[group_41539] +[group_41540] +[group_41541] +[group_41542] +[group_41543] +[group_41544] +[group_41545] +[group_41546] +[group_41547] +[group_41548] +[group_41549] +[group_41550] +[group_41551] +[group_41552] +[group_41553] +[group_41554] +[group_41555] +[group_41556] +[group_41557] +[group_41558] +[group_41559] +[group_41560] +[group_41561] +[group_41562] +[group_41563] +[group_41564] +[group_41565] +[group_41566] +[group_41567] +[group_41568] +[group_41569] +[group_41570] +[group_41571] +[group_41572] +[group_41573] +[group_41574] +[group_41575] +[group_41576] +[group_41577] +[group_41578] +[group_41579] +[group_41580] +[group_41581] +[group_41582] +[group_41583] +[group_41584] +[group_41585] +[group_41586] +[group_41587] +[group_41588] +[group_41589] +[group_41590] +[group_41591] +[group_41592] +[group_41593] +[group_41594] +[group_41595] +[group_41596] +[group_41597] +[group_41598] +[group_41599] +[group_41600] +[group_41601] +[group_41602] +[group_41603] +[group_41604] +[group_41605] +[group_41606] +[group_41607] +[group_41608] +[group_41609] +[group_41610] +[group_41611] +[group_41612] +[group_41613] +[group_41614] +[group_41615] +[group_41616] +[group_41617] +[group_41618] +[group_41619] +[group_41620] +[group_41621] +[group_41622] +[group_41623] +[group_41624] +[group_41625] +[group_41626] +[group_41627] +[group_41628] +[group_41629] +[group_41630] +[group_41631] +[group_41632] +[group_41633] +[group_41634] +[group_41635] +[group_41636] +[group_41637] +[group_41638] +[group_41639] +[group_41640] +[group_41641] +[group_41642] +[group_41643] +[group_41644] +[group_41645] +[group_41646] +[group_41647] +[group_41648] +[group_41649] +[group_41650] +[group_41651] +[group_41652] +[group_41653] +[group_41654] +[group_41655] +[group_41656] +[group_41657] +[group_41658] +[group_41659] +[group_41660] +[group_41661] +[group_41662] +[group_41663] +[group_41664] +[group_41665] +[group_41666] +[group_41667] +[group_41668] +[group_41669] +[group_41670] +[group_41671] +[group_41672] +[group_41673] +[group_41674] +[group_41675] +[group_41676] +[group_41677] +[group_41678] +[group_41679] +[group_41680] +[group_41681] +[group_41682] +[group_41683] +[group_41684] +[group_41685] +[group_41686] +[group_41687] +[group_41688] +[group_41689] +[group_41690] +[group_41691] +[group_41692] +[group_41693] +[group_41694] +[group_41695] +[group_41696] +[group_41697] +[group_41698] +[group_41699] +[group_41700] +[group_41701] +[group_41702] +[group_41703] +[group_41704] +[group_41705] +[group_41706] +[group_41707] +[group_41708] +[group_41709] +[group_41710] +[group_41711] +[group_41712] +[group_41713] +[group_41714] +[group_41715] +[group_41716] +[group_41717] +[group_41718] +[group_41719] +[group_41720] +[group_41721] +[group_41722] +[group_41723] +[group_41724] +[group_41725] +[group_41726] +[group_41727] +[group_41728] +[group_41729] +[group_41730] +[group_41731] +[group_41732] +[group_41733] +[group_41734] +[group_41735] +[group_41736] +[group_41737] +[group_41738] +[group_41739] +[group_41740] +[group_41741] +[group_41742] +[group_41743] +[group_41744] +[group_41745] +[group_41746] +[group_41747] +[group_41748] +[group_41749] +[group_41750] +[group_41751] +[group_41752] +[group_41753] +[group_41754] +[group_41755] +[group_41756] +[group_41757] +[group_41758] +[group_41759] +[group_41760] +[group_41761] +[group_41762] +[group_41763] +[group_41764] +[group_41765] +[group_41766] +[group_41767] +[group_41768] +[group_41769] +[group_41770] +[group_41771] +[group_41772] +[group_41773] +[group_41774] +[group_41775] +[group_41776] +[group_41777] +[group_41778] +[group_41779] +[group_41780] +[group_41781] +[group_41782] +[group_41783] +[group_41784] +[group_41785] +[group_41786] +[group_41787] +[group_41788] +[group_41789] +[group_41790] +[group_41791] +[group_41792] +[group_41793] +[group_41794] +[group_41795] +[group_41796] +[group_41797] +[group_41798] +[group_41799] +[group_41800] +[group_41801] +[group_41802] +[group_41803] +[group_41804] +[group_41805] +[group_41806] +[group_41807] +[group_41808] +[group_41809] +[group_41810] +[group_41811] +[group_41812] +[group_41813] +[group_41814] +[group_41815] +[group_41816] +[group_41817] +[group_41818] +[group_41819] +[group_41820] +[group_41821] +[group_41822] +[group_41823] +[group_41824] +[group_41825] +[group_41826] +[group_41827] +[group_41828] +[group_41829] +[group_41830] +[group_41831] +[group_41832] +[group_41833] +[group_41834] +[group_41835] +[group_41836] +[group_41837] +[group_41838] +[group_41839] +[group_41840] +[group_41841] +[group_41842] +[group_41843] +[group_41844] +[group_41845] +[group_41846] +[group_41847] +[group_41848] +[group_41849] +[group_41850] +[group_41851] +[group_41852] +[group_41853] +[group_41854] +[group_41855] +[group_41856] +[group_41857] +[group_41858] +[group_41859] +[group_41860] +[group_41861] +[group_41862] +[group_41863] +[group_41864] +[group_41865] +[group_41866] +[group_41867] +[group_41868] +[group_41869] +[group_41870] +[group_41871] +[group_41872] +[group_41873] +[group_41874] +[group_41875] +[group_41876] +[group_41877] +[group_41878] +[group_41879] +[group_41880] +[group_41881] +[group_41882] +[group_41883] +[group_41884] +[group_41885] +[group_41886] +[group_41887] +[group_41888] +[group_41889] +[group_41890] +[group_41891] +[group_41892] +[group_41893] +[group_41894] +[group_41895] +[group_41896] +[group_41897] +[group_41898] +[group_41899] +[group_41900] +[group_41901] +[group_41902] +[group_41903] +[group_41904] +[group_41905] +[group_41906] +[group_41907] +[group_41908] +[group_41909] +[group_41910] +[group_41911] +[group_41912] +[group_41913] +[group_41914] +[group_41915] +[group_41916] +[group_41917] +[group_41918] +[group_41919] +[group_41920] +[group_41921] +[group_41922] +[group_41923] +[group_41924] +[group_41925] +[group_41926] +[group_41927] +[group_41928] +[group_41929] +[group_41930] +[group_41931] +[group_41932] +[group_41933] +[group_41934] +[group_41935] +[group_41936] +[group_41937] +[group_41938] +[group_41939] +[group_41940] +[group_41941] +[group_41942] +[group_41943] +[group_41944] +[group_41945] +[group_41946] +[group_41947] +[group_41948] +[group_41949] +[group_41950] +[group_41951] +[group_41952] +[group_41953] +[group_41954] +[group_41955] +[group_41956] +[group_41957] +[group_41958] +[group_41959] +[group_41960] +[group_41961] +[group_41962] +[group_41963] +[group_41964] +[group_41965] +[group_41966] +[group_41967] +[group_41968] +[group_41969] +[group_41970] +[group_41971] +[group_41972] +[group_41973] +[group_41974] +[group_41975] +[group_41976] +[group_41977] +[group_41978] +[group_41979] +[group_41980] +[group_41981] +[group_41982] +[group_41983] +[group_41984] +[group_41985] +[group_41986] +[group_41987] +[group_41988] +[group_41989] +[group_41990] +[group_41991] +[group_41992] +[group_41993] +[group_41994] +[group_41995] +[group_41996] +[group_41997] +[group_41998] +[group_41999] +[group_42000] +[group_42001] +[group_42002] +[group_42003] +[group_42004] +[group_42005] +[group_42006] +[group_42007] +[group_42008] +[group_42009] +[group_42010] +[group_42011] +[group_42012] +[group_42013] +[group_42014] +[group_42015] +[group_42016] +[group_42017] +[group_42018] +[group_42019] +[group_42020] +[group_42021] +[group_42022] +[group_42023] +[group_42024] +[group_42025] +[group_42026] +[group_42027] +[group_42028] +[group_42029] +[group_42030] +[group_42031] +[group_42032] +[group_42033] +[group_42034] +[group_42035] +[group_42036] +[group_42037] +[group_42038] +[group_42039] +[group_42040] +[group_42041] +[group_42042] +[group_42043] +[group_42044] +[group_42045] +[group_42046] +[group_42047] +[group_42048] +[group_42049] +[group_42050] +[group_42051] +[group_42052] +[group_42053] +[group_42054] +[group_42055] +[group_42056] +[group_42057] +[group_42058] +[group_42059] +[group_42060] +[group_42061] +[group_42062] +[group_42063] +[group_42064] +[group_42065] +[group_42066] +[group_42067] +[group_42068] +[group_42069] +[group_42070] +[group_42071] +[group_42072] +[group_42073] +[group_42074] +[group_42075] +[group_42076] +[group_42077] +[group_42078] +[group_42079] +[group_42080] +[group_42081] +[group_42082] +[group_42083] +[group_42084] +[group_42085] +[group_42086] +[group_42087] +[group_42088] +[group_42089] +[group_42090] +[group_42091] +[group_42092] +[group_42093] +[group_42094] +[group_42095] +[group_42096] +[group_42097] +[group_42098] +[group_42099] +[group_42100] +[group_42101] +[group_42102] +[group_42103] +[group_42104] +[group_42105] +[group_42106] +[group_42107] +[group_42108] +[group_42109] +[group_42110] +[group_42111] +[group_42112] +[group_42113] +[group_42114] +[group_42115] +[group_42116] +[group_42117] +[group_42118] +[group_42119] +[group_42120] +[group_42121] +[group_42122] +[group_42123] +[group_42124] +[group_42125] +[group_42126] +[group_42127] +[group_42128] +[group_42129] +[group_42130] +[group_42131] +[group_42132] +[group_42133] +[group_42134] +[group_42135] +[group_42136] +[group_42137] +[group_42138] +[group_42139] +[group_42140] +[group_42141] +[group_42142] +[group_42143] +[group_42144] +[group_42145] +[group_42146] +[group_42147] +[group_42148] +[group_42149] +[group_42150] +[group_42151] +[group_42152] +[group_42153] +[group_42154] +[group_42155] +[group_42156] +[group_42157] +[group_42158] +[group_42159] +[group_42160] +[group_42161] +[group_42162] +[group_42163] +[group_42164] +[group_42165] +[group_42166] +[group_42167] +[group_42168] +[group_42169] +[group_42170] +[group_42171] +[group_42172] +[group_42173] +[group_42174] +[group_42175] +[group_42176] +[group_42177] +[group_42178] +[group_42179] +[group_42180] +[group_42181] +[group_42182] +[group_42183] +[group_42184] +[group_42185] +[group_42186] +[group_42187] +[group_42188] +[group_42189] +[group_42190] +[group_42191] +[group_42192] +[group_42193] +[group_42194] +[group_42195] +[group_42196] +[group_42197] +[group_42198] +[group_42199] +[group_42200] +[group_42201] +[group_42202] +[group_42203] +[group_42204] +[group_42205] +[group_42206] +[group_42207] +[group_42208] +[group_42209] +[group_42210] +[group_42211] +[group_42212] +[group_42213] +[group_42214] +[group_42215] +[group_42216] +[group_42217] +[group_42218] +[group_42219] +[group_42220] +[group_42221] +[group_42222] +[group_42223] +[group_42224] +[group_42225] +[group_42226] +[group_42227] +[group_42228] +[group_42229] +[group_42230] +[group_42231] +[group_42232] +[group_42233] +[group_42234] +[group_42235] +[group_42236] +[group_42237] +[group_42238] +[group_42239] +[group_42240] +[group_42241] +[group_42242] +[group_42243] +[group_42244] +[group_42245] +[group_42246] +[group_42247] +[group_42248] +[group_42249] +[group_42250] +[group_42251] +[group_42252] +[group_42253] +[group_42254] +[group_42255] +[group_42256] +[group_42257] +[group_42258] +[group_42259] +[group_42260] +[group_42261] +[group_42262] +[group_42263] +[group_42264] +[group_42265] +[group_42266] +[group_42267] +[group_42268] +[group_42269] +[group_42270] +[group_42271] +[group_42272] +[group_42273] +[group_42274] +[group_42275] +[group_42276] +[group_42277] +[group_42278] +[group_42279] +[group_42280] +[group_42281] +[group_42282] +[group_42283] +[group_42284] +[group_42285] +[group_42286] +[group_42287] +[group_42288] +[group_42289] +[group_42290] +[group_42291] +[group_42292] +[group_42293] +[group_42294] +[group_42295] +[group_42296] +[group_42297] +[group_42298] +[group_42299] +[group_42300] +[group_42301] +[group_42302] +[group_42303] +[group_42304] +[group_42305] +[group_42306] +[group_42307] +[group_42308] +[group_42309] +[group_42310] +[group_42311] +[group_42312] +[group_42313] +[group_42314] +[group_42315] +[group_42316] +[group_42317] +[group_42318] +[group_42319] +[group_42320] +[group_42321] +[group_42322] +[group_42323] +[group_42324] +[group_42325] +[group_42326] +[group_42327] +[group_42328] +[group_42329] +[group_42330] +[group_42331] +[group_42332] +[group_42333] +[group_42334] +[group_42335] +[group_42336] +[group_42337] +[group_42338] +[group_42339] +[group_42340] +[group_42341] +[group_42342] +[group_42343] +[group_42344] +[group_42345] +[group_42346] +[group_42347] +[group_42348] +[group_42349] +[group_42350] +[group_42351] +[group_42352] +[group_42353] +[group_42354] +[group_42355] +[group_42356] +[group_42357] +[group_42358] +[group_42359] +[group_42360] +[group_42361] +[group_42362] +[group_42363] +[group_42364] +[group_42365] +[group_42366] +[group_42367] +[group_42368] +[group_42369] +[group_42370] +[group_42371] +[group_42372] +[group_42373] +[group_42374] +[group_42375] +[group_42376] +[group_42377] +[group_42378] +[group_42379] +[group_42380] +[group_42381] +[group_42382] +[group_42383] +[group_42384] +[group_42385] +[group_42386] +[group_42387] +[group_42388] +[group_42389] +[group_42390] +[group_42391] +[group_42392] +[group_42393] +[group_42394] +[group_42395] +[group_42396] +[group_42397] +[group_42398] +[group_42399] +[group_42400] +[group_42401] +[group_42402] +[group_42403] +[group_42404] +[group_42405] +[group_42406] +[group_42407] +[group_42408] +[group_42409] +[group_42410] +[group_42411] +[group_42412] +[group_42413] +[group_42414] +[group_42415] +[group_42416] +[group_42417] +[group_42418] +[group_42419] +[group_42420] +[group_42421] +[group_42422] +[group_42423] +[group_42424] +[group_42425] +[group_42426] +[group_42427] +[group_42428] +[group_42429] +[group_42430] +[group_42431] +[group_42432] +[group_42433] +[group_42434] +[group_42435] +[group_42436] +[group_42437] +[group_42438] +[group_42439] +[group_42440] +[group_42441] +[group_42442] +[group_42443] +[group_42444] +[group_42445] +[group_42446] +[group_42447] +[group_42448] +[group_42449] +[group_42450] +[group_42451] +[group_42452] +[group_42453] +[group_42454] +[group_42455] +[group_42456] +[group_42457] +[group_42458] +[group_42459] +[group_42460] +[group_42461] +[group_42462] +[group_42463] +[group_42464] +[group_42465] +[group_42466] +[group_42467] +[group_42468] +[group_42469] +[group_42470] +[group_42471] +[group_42472] +[group_42473] +[group_42474] +[group_42475] +[group_42476] +[group_42477] +[group_42478] +[group_42479] +[group_42480] +[group_42481] +[group_42482] +[group_42483] +[group_42484] +[group_42485] +[group_42486] +[group_42487] +[group_42488] +[group_42489] +[group_42490] +[group_42491] +[group_42492] +[group_42493] +[group_42494] +[group_42495] +[group_42496] +[group_42497] +[group_42498] +[group_42499] +[group_42500] +[group_42501] +[group_42502] +[group_42503] +[group_42504] +[group_42505] +[group_42506] +[group_42507] +[group_42508] +[group_42509] +[group_42510] +[group_42511] +[group_42512] +[group_42513] +[group_42514] +[group_42515] +[group_42516] +[group_42517] +[group_42518] +[group_42519] +[group_42520] +[group_42521] +[group_42522] +[group_42523] +[group_42524] +[group_42525] +[group_42526] +[group_42527] +[group_42528] +[group_42529] +[group_42530] +[group_42531] +[group_42532] +[group_42533] +[group_42534] +[group_42535] +[group_42536] +[group_42537] +[group_42538] +[group_42539] +[group_42540] +[group_42541] +[group_42542] +[group_42543] +[group_42544] +[group_42545] +[group_42546] +[group_42547] +[group_42548] +[group_42549] +[group_42550] +[group_42551] +[group_42552] +[group_42553] +[group_42554] +[group_42555] +[group_42556] +[group_42557] +[group_42558] +[group_42559] +[group_42560] +[group_42561] +[group_42562] +[group_42563] +[group_42564] +[group_42565] +[group_42566] +[group_42567] +[group_42568] +[group_42569] +[group_42570] +[group_42571] +[group_42572] +[group_42573] +[group_42574] +[group_42575] +[group_42576] +[group_42577] +[group_42578] +[group_42579] +[group_42580] +[group_42581] +[group_42582] +[group_42583] +[group_42584] +[group_42585] +[group_42586] +[group_42587] +[group_42588] +[group_42589] +[group_42590] +[group_42591] +[group_42592] +[group_42593] +[group_42594] +[group_42595] +[group_42596] +[group_42597] +[group_42598] +[group_42599] +[group_42600] +[group_42601] +[group_42602] +[group_42603] +[group_42604] +[group_42605] +[group_42606] +[group_42607] +[group_42608] +[group_42609] +[group_42610] +[group_42611] +[group_42612] +[group_42613] +[group_42614] +[group_42615] +[group_42616] +[group_42617] +[group_42618] +[group_42619] +[group_42620] +[group_42621] +[group_42622] +[group_42623] +[group_42624] +[group_42625] +[group_42626] +[group_42627] +[group_42628] +[group_42629] +[group_42630] +[group_42631] +[group_42632] +[group_42633] +[group_42634] +[group_42635] +[group_42636] +[group_42637] +[group_42638] +[group_42639] +[group_42640] +[group_42641] +[group_42642] +[group_42643] +[group_42644] +[group_42645] +[group_42646] +[group_42647] +[group_42648] +[group_42649] +[group_42650] +[group_42651] +[group_42652] +[group_42653] +[group_42654] +[group_42655] +[group_42656] +[group_42657] +[group_42658] +[group_42659] +[group_42660] +[group_42661] +[group_42662] +[group_42663] +[group_42664] +[group_42665] +[group_42666] +[group_42667] +[group_42668] +[group_42669] +[group_42670] +[group_42671] +[group_42672] +[group_42673] +[group_42674] +[group_42675] +[group_42676] +[group_42677] +[group_42678] +[group_42679] +[group_42680] +[group_42681] +[group_42682] +[group_42683] +[group_42684] +[group_42685] +[group_42686] +[group_42687] +[group_42688] +[group_42689] +[group_42690] +[group_42691] +[group_42692] +[group_42693] +[group_42694] +[group_42695] +[group_42696] +[group_42697] +[group_42698] +[group_42699] +[group_42700] +[group_42701] +[group_42702] +[group_42703] +[group_42704] +[group_42705] +[group_42706] +[group_42707] +[group_42708] +[group_42709] +[group_42710] +[group_42711] +[group_42712] +[group_42713] +[group_42714] +[group_42715] +[group_42716] +[group_42717] +[group_42718] +[group_42719] +[group_42720] +[group_42721] +[group_42722] +[group_42723] +[group_42724] +[group_42725] +[group_42726] +[group_42727] +[group_42728] +[group_42729] +[group_42730] +[group_42731] +[group_42732] +[group_42733] +[group_42734] +[group_42735] +[group_42736] +[group_42737] +[group_42738] +[group_42739] +[group_42740] +[group_42741] +[group_42742] +[group_42743] +[group_42744] +[group_42745] +[group_42746] +[group_42747] +[group_42748] +[group_42749] +[group_42750] +[group_42751] +[group_42752] +[group_42753] +[group_42754] +[group_42755] +[group_42756] +[group_42757] +[group_42758] +[group_42759] +[group_42760] +[group_42761] +[group_42762] +[group_42763] +[group_42764] +[group_42765] +[group_42766] +[group_42767] +[group_42768] +[group_42769] +[group_42770] +[group_42771] +[group_42772] +[group_42773] +[group_42774] +[group_42775] +[group_42776] +[group_42777] +[group_42778] +[group_42779] +[group_42780] +[group_42781] +[group_42782] +[group_42783] +[group_42784] +[group_42785] +[group_42786] +[group_42787] +[group_42788] +[group_42789] +[group_42790] +[group_42791] +[group_42792] +[group_42793] +[group_42794] +[group_42795] +[group_42796] +[group_42797] +[group_42798] +[group_42799] +[group_42800] +[group_42801] +[group_42802] +[group_42803] +[group_42804] +[group_42805] +[group_42806] +[group_42807] +[group_42808] +[group_42809] +[group_42810] +[group_42811] +[group_42812] +[group_42813] +[group_42814] +[group_42815] +[group_42816] +[group_42817] +[group_42818] +[group_42819] +[group_42820] +[group_42821] +[group_42822] +[group_42823] +[group_42824] +[group_42825] +[group_42826] +[group_42827] +[group_42828] +[group_42829] +[group_42830] +[group_42831] +[group_42832] +[group_42833] +[group_42834] +[group_42835] +[group_42836] +[group_42837] +[group_42838] +[group_42839] +[group_42840] +[group_42841] +[group_42842] +[group_42843] +[group_42844] +[group_42845] +[group_42846] +[group_42847] +[group_42848] +[group_42849] +[group_42850] +[group_42851] +[group_42852] +[group_42853] +[group_42854] +[group_42855] +[group_42856] +[group_42857] +[group_42858] +[group_42859] +[group_42860] +[group_42861] +[group_42862] +[group_42863] +[group_42864] +[group_42865] +[group_42866] +[group_42867] +[group_42868] +[group_42869] +[group_42870] +[group_42871] +[group_42872] +[group_42873] +[group_42874] +[group_42875] +[group_42876] +[group_42877] +[group_42878] +[group_42879] +[group_42880] +[group_42881] +[group_42882] +[group_42883] +[group_42884] +[group_42885] +[group_42886] +[group_42887] +[group_42888] +[group_42889] +[group_42890] +[group_42891] +[group_42892] +[group_42893] +[group_42894] +[group_42895] +[group_42896] +[group_42897] +[group_42898] +[group_42899] +[group_42900] +[group_42901] +[group_42902] +[group_42903] +[group_42904] +[group_42905] +[group_42906] +[group_42907] +[group_42908] +[group_42909] +[group_42910] +[group_42911] +[group_42912] +[group_42913] +[group_42914] +[group_42915] +[group_42916] +[group_42917] +[group_42918] +[group_42919] +[group_42920] +[group_42921] +[group_42922] +[group_42923] +[group_42924] +[group_42925] +[group_42926] +[group_42927] +[group_42928] +[group_42929] +[group_42930] +[group_42931] +[group_42932] +[group_42933] +[group_42934] +[group_42935] +[group_42936] +[group_42937] +[group_42938] +[group_42939] +[group_42940] +[group_42941] +[group_42942] +[group_42943] +[group_42944] +[group_42945] +[group_42946] +[group_42947] +[group_42948] +[group_42949] +[group_42950] +[group_42951] +[group_42952] +[group_42953] +[group_42954] +[group_42955] +[group_42956] +[group_42957] +[group_42958] +[group_42959] +[group_42960] +[group_42961] +[group_42962] +[group_42963] +[group_42964] +[group_42965] +[group_42966] +[group_42967] +[group_42968] +[group_42969] +[group_42970] +[group_42971] +[group_42972] +[group_42973] +[group_42974] +[group_42975] +[group_42976] +[group_42977] +[group_42978] +[group_42979] +[group_42980] +[group_42981] +[group_42982] +[group_42983] +[group_42984] +[group_42985] +[group_42986] +[group_42987] +[group_42988] +[group_42989] +[group_42990] +[group_42991] +[group_42992] +[group_42993] +[group_42994] +[group_42995] +[group_42996] +[group_42997] +[group_42998] +[group_42999] +[group_43000] +[group_43001] +[group_43002] +[group_43003] +[group_43004] +[group_43005] +[group_43006] +[group_43007] +[group_43008] +[group_43009] +[group_43010] +[group_43011] +[group_43012] +[group_43013] +[group_43014] +[group_43015] +[group_43016] +[group_43017] +[group_43018] +[group_43019] +[group_43020] +[group_43021] +[group_43022] +[group_43023] +[group_43024] +[group_43025] +[group_43026] +[group_43027] +[group_43028] +[group_43029] +[group_43030] +[group_43031] +[group_43032] +[group_43033] +[group_43034] +[group_43035] +[group_43036] +[group_43037] +[group_43038] +[group_43039] +[group_43040] +[group_43041] +[group_43042] +[group_43043] +[group_43044] +[group_43045] +[group_43046] +[group_43047] +[group_43048] +[group_43049] +[group_43050] +[group_43051] +[group_43052] +[group_43053] +[group_43054] +[group_43055] +[group_43056] +[group_43057] +[group_43058] +[group_43059] +[group_43060] +[group_43061] +[group_43062] +[group_43063] +[group_43064] +[group_43065] +[group_43066] +[group_43067] +[group_43068] +[group_43069] +[group_43070] +[group_43071] +[group_43072] +[group_43073] +[group_43074] +[group_43075] +[group_43076] +[group_43077] +[group_43078] +[group_43079] +[group_43080] +[group_43081] +[group_43082] +[group_43083] +[group_43084] +[group_43085] +[group_43086] +[group_43087] +[group_43088] +[group_43089] +[group_43090] +[group_43091] +[group_43092] +[group_43093] +[group_43094] +[group_43095] +[group_43096] +[group_43097] +[group_43098] +[group_43099] +[group_43100] +[group_43101] +[group_43102] +[group_43103] +[group_43104] +[group_43105] +[group_43106] +[group_43107] +[group_43108] +[group_43109] +[group_43110] +[group_43111] +[group_43112] +[group_43113] +[group_43114] +[group_43115] +[group_43116] +[group_43117] +[group_43118] +[group_43119] +[group_43120] +[group_43121] +[group_43122] +[group_43123] +[group_43124] +[group_43125] +[group_43126] +[group_43127] +[group_43128] +[group_43129] +[group_43130] +[group_43131] +[group_43132] +[group_43133] +[group_43134] +[group_43135] +[group_43136] +[group_43137] +[group_43138] +[group_43139] +[group_43140] +[group_43141] +[group_43142] +[group_43143] +[group_43144] +[group_43145] +[group_43146] +[group_43147] +[group_43148] +[group_43149] +[group_43150] +[group_43151] +[group_43152] +[group_43153] +[group_43154] +[group_43155] +[group_43156] +[group_43157] +[group_43158] +[group_43159] +[group_43160] +[group_43161] +[group_43162] +[group_43163] +[group_43164] +[group_43165] +[group_43166] +[group_43167] +[group_43168] +[group_43169] +[group_43170] +[group_43171] +[group_43172] +[group_43173] +[group_43174] +[group_43175] +[group_43176] +[group_43177] +[group_43178] +[group_43179] +[group_43180] +[group_43181] +[group_43182] +[group_43183] +[group_43184] +[group_43185] +[group_43186] +[group_43187] +[group_43188] +[group_43189] +[group_43190] +[group_43191] +[group_43192] +[group_43193] +[group_43194] +[group_43195] +[group_43196] +[group_43197] +[group_43198] +[group_43199] +[group_43200] +[group_43201] +[group_43202] +[group_43203] +[group_43204] +[group_43205] +[group_43206] +[group_43207] +[group_43208] +[group_43209] +[group_43210] +[group_43211] +[group_43212] +[group_43213] +[group_43214] +[group_43215] +[group_43216] +[group_43217] +[group_43218] +[group_43219] +[group_43220] +[group_43221] +[group_43222] +[group_43223] +[group_43224] +[group_43225] +[group_43226] +[group_43227] +[group_43228] +[group_43229] +[group_43230] +[group_43231] +[group_43232] +[group_43233] +[group_43234] +[group_43235] +[group_43236] +[group_43237] +[group_43238] +[group_43239] +[group_43240] +[group_43241] +[group_43242] +[group_43243] +[group_43244] +[group_43245] +[group_43246] +[group_43247] +[group_43248] +[group_43249] +[group_43250] +[group_43251] +[group_43252] +[group_43253] +[group_43254] +[group_43255] +[group_43256] +[group_43257] +[group_43258] +[group_43259] +[group_43260] +[group_43261] +[group_43262] +[group_43263] +[group_43264] +[group_43265] +[group_43266] +[group_43267] +[group_43268] +[group_43269] +[group_43270] +[group_43271] +[group_43272] +[group_43273] +[group_43274] +[group_43275] +[group_43276] +[group_43277] +[group_43278] +[group_43279] +[group_43280] +[group_43281] +[group_43282] +[group_43283] +[group_43284] +[group_43285] +[group_43286] +[group_43287] +[group_43288] +[group_43289] +[group_43290] +[group_43291] +[group_43292] +[group_43293] +[group_43294] +[group_43295] +[group_43296] +[group_43297] +[group_43298] +[group_43299] +[group_43300] +[group_43301] +[group_43302] +[group_43303] +[group_43304] +[group_43305] +[group_43306] +[group_43307] +[group_43308] +[group_43309] +[group_43310] +[group_43311] +[group_43312] +[group_43313] +[group_43314] +[group_43315] +[group_43316] +[group_43317] +[group_43318] +[group_43319] +[group_43320] +[group_43321] +[group_43322] +[group_43323] +[group_43324] +[group_43325] +[group_43326] +[group_43327] +[group_43328] +[group_43329] +[group_43330] +[group_43331] +[group_43332] +[group_43333] +[group_43334] +[group_43335] +[group_43336] +[group_43337] +[group_43338] +[group_43339] +[group_43340] +[group_43341] +[group_43342] +[group_43343] +[group_43344] +[group_43345] +[group_43346] +[group_43347] +[group_43348] +[group_43349] +[group_43350] +[group_43351] +[group_43352] +[group_43353] +[group_43354] +[group_43355] +[group_43356] +[group_43357] +[group_43358] +[group_43359] +[group_43360] +[group_43361] +[group_43362] +[group_43363] +[group_43364] +[group_43365] +[group_43366] +[group_43367] +[group_43368] +[group_43369] +[group_43370] +[group_43371] +[group_43372] +[group_43373] +[group_43374] +[group_43375] +[group_43376] +[group_43377] +[group_43378] +[group_43379] +[group_43380] +[group_43381] +[group_43382] +[group_43383] +[group_43384] +[group_43385] +[group_43386] +[group_43387] +[group_43388] +[group_43389] +[group_43390] +[group_43391] +[group_43392] +[group_43393] +[group_43394] +[group_43395] +[group_43396] +[group_43397] +[group_43398] +[group_43399] +[group_43400] +[group_43401] +[group_43402] +[group_43403] +[group_43404] +[group_43405] +[group_43406] +[group_43407] +[group_43408] +[group_43409] +[group_43410] +[group_43411] +[group_43412] +[group_43413] +[group_43414] +[group_43415] +[group_43416] +[group_43417] +[group_43418] +[group_43419] +[group_43420] +[group_43421] +[group_43422] +[group_43423] +[group_43424] +[group_43425] +[group_43426] +[group_43427] +[group_43428] +[group_43429] +[group_43430] +[group_43431] +[group_43432] +[group_43433] +[group_43434] +[group_43435] +[group_43436] +[group_43437] +[group_43438] +[group_43439] +[group_43440] +[group_43441] +[group_43442] +[group_43443] +[group_43444] +[group_43445] +[group_43446] +[group_43447] +[group_43448] +[group_43449] +[group_43450] +[group_43451] +[group_43452] +[group_43453] +[group_43454] +[group_43455] +[group_43456] +[group_43457] +[group_43458] +[group_43459] +[group_43460] +[group_43461] +[group_43462] +[group_43463] +[group_43464] +[group_43465] +[group_43466] +[group_43467] +[group_43468] +[group_43469] +[group_43470] +[group_43471] +[group_43472] +[group_43473] +[group_43474] +[group_43475] +[group_43476] +[group_43477] +[group_43478] +[group_43479] +[group_43480] +[group_43481] +[group_43482] +[group_43483] +[group_43484] +[group_43485] +[group_43486] +[group_43487] +[group_43488] +[group_43489] +[group_43490] +[group_43491] +[group_43492] +[group_43493] +[group_43494] +[group_43495] +[group_43496] +[group_43497] +[group_43498] +[group_43499] +[group_43500] +[group_43501] +[group_43502] +[group_43503] +[group_43504] +[group_43505] +[group_43506] +[group_43507] +[group_43508] +[group_43509] +[group_43510] +[group_43511] +[group_43512] +[group_43513] +[group_43514] +[group_43515] +[group_43516] +[group_43517] +[group_43518] +[group_43519] +[group_43520] +[group_43521] +[group_43522] +[group_43523] +[group_43524] +[group_43525] +[group_43526] +[group_43527] +[group_43528] +[group_43529] +[group_43530] +[group_43531] +[group_43532] +[group_43533] +[group_43534] +[group_43535] +[group_43536] +[group_43537] +[group_43538] +[group_43539] +[group_43540] +[group_43541] +[group_43542] +[group_43543] +[group_43544] +[group_43545] +[group_43546] +[group_43547] +[group_43548] +[group_43549] +[group_43550] +[group_43551] +[group_43552] +[group_43553] +[group_43554] +[group_43555] +[group_43556] +[group_43557] +[group_43558] +[group_43559] +[group_43560] +[group_43561] +[group_43562] +[group_43563] +[group_43564] +[group_43565] +[group_43566] +[group_43567] +[group_43568] +[group_43569] +[group_43570] +[group_43571] +[group_43572] +[group_43573] +[group_43574] +[group_43575] +[group_43576] +[group_43577] +[group_43578] +[group_43579] +[group_43580] +[group_43581] +[group_43582] +[group_43583] +[group_43584] +[group_43585] +[group_43586] +[group_43587] +[group_43588] +[group_43589] +[group_43590] +[group_43591] +[group_43592] +[group_43593] +[group_43594] +[group_43595] +[group_43596] +[group_43597] +[group_43598] +[group_43599] +[group_43600] +[group_43601] +[group_43602] +[group_43603] +[group_43604] +[group_43605] +[group_43606] +[group_43607] +[group_43608] +[group_43609] +[group_43610] +[group_43611] +[group_43612] +[group_43613] +[group_43614] +[group_43615] +[group_43616] +[group_43617] +[group_43618] +[group_43619] +[group_43620] +[group_43621] +[group_43622] +[group_43623] +[group_43624] +[group_43625] +[group_43626] +[group_43627] +[group_43628] +[group_43629] +[group_43630] +[group_43631] +[group_43632] +[group_43633] +[group_43634] +[group_43635] +[group_43636] +[group_43637] +[group_43638] +[group_43639] +[group_43640] +[group_43641] +[group_43642] +[group_43643] +[group_43644] +[group_43645] +[group_43646] +[group_43647] +[group_43648] +[group_43649] +[group_43650] +[group_43651] +[group_43652] +[group_43653] +[group_43654] +[group_43655] +[group_43656] +[group_43657] +[group_43658] +[group_43659] +[group_43660] +[group_43661] +[group_43662] +[group_43663] +[group_43664] +[group_43665] +[group_43666] +[group_43667] +[group_43668] +[group_43669] +[group_43670] +[group_43671] +[group_43672] +[group_43673] +[group_43674] +[group_43675] +[group_43676] +[group_43677] +[group_43678] +[group_43679] +[group_43680] +[group_43681] +[group_43682] +[group_43683] +[group_43684] +[group_43685] +[group_43686] +[group_43687] +[group_43688] +[group_43689] +[group_43690] +[group_43691] +[group_43692] +[group_43693] +[group_43694] +[group_43695] +[group_43696] +[group_43697] +[group_43698] +[group_43699] +[group_43700] +[group_43701] +[group_43702] +[group_43703] +[group_43704] +[group_43705] +[group_43706] +[group_43707] +[group_43708] +[group_43709] +[group_43710] +[group_43711] +[group_43712] +[group_43713] +[group_43714] +[group_43715] +[group_43716] +[group_43717] +[group_43718] +[group_43719] +[group_43720] +[group_43721] +[group_43722] +[group_43723] +[group_43724] +[group_43725] +[group_43726] +[group_43727] +[group_43728] +[group_43729] +[group_43730] +[group_43731] +[group_43732] +[group_43733] +[group_43734] +[group_43735] +[group_43736] +[group_43737] +[group_43738] +[group_43739] +[group_43740] +[group_43741] +[group_43742] +[group_43743] +[group_43744] +[group_43745] +[group_43746] +[group_43747] +[group_43748] +[group_43749] +[group_43750] +[group_43751] +[group_43752] +[group_43753] +[group_43754] +[group_43755] +[group_43756] +[group_43757] +[group_43758] +[group_43759] +[group_43760] +[group_43761] +[group_43762] +[group_43763] +[group_43764] +[group_43765] +[group_43766] +[group_43767] +[group_43768] +[group_43769] +[group_43770] +[group_43771] +[group_43772] +[group_43773] +[group_43774] +[group_43775] +[group_43776] +[group_43777] +[group_43778] +[group_43779] +[group_43780] +[group_43781] +[group_43782] +[group_43783] +[group_43784] +[group_43785] +[group_43786] +[group_43787] +[group_43788] +[group_43789] +[group_43790] +[group_43791] +[group_43792] +[group_43793] +[group_43794] +[group_43795] +[group_43796] +[group_43797] +[group_43798] +[group_43799] +[group_43800] +[group_43801] +[group_43802] +[group_43803] +[group_43804] +[group_43805] +[group_43806] +[group_43807] +[group_43808] +[group_43809] +[group_43810] +[group_43811] +[group_43812] +[group_43813] +[group_43814] +[group_43815] +[group_43816] +[group_43817] +[group_43818] +[group_43819] +[group_43820] +[group_43821] +[group_43822] +[group_43823] +[group_43824] +[group_43825] +[group_43826] +[group_43827] +[group_43828] +[group_43829] +[group_43830] +[group_43831] +[group_43832] +[group_43833] +[group_43834] +[group_43835] +[group_43836] +[group_43837] +[group_43838] +[group_43839] +[group_43840] +[group_43841] +[group_43842] +[group_43843] +[group_43844] +[group_43845] +[group_43846] +[group_43847] +[group_43848] +[group_43849] +[group_43850] +[group_43851] +[group_43852] +[group_43853] +[group_43854] +[group_43855] +[group_43856] +[group_43857] +[group_43858] +[group_43859] +[group_43860] +[group_43861] +[group_43862] +[group_43863] +[group_43864] +[group_43865] +[group_43866] +[group_43867] +[group_43868] +[group_43869] +[group_43870] +[group_43871] +[group_43872] +[group_43873] +[group_43874] +[group_43875] +[group_43876] +[group_43877] +[group_43878] +[group_43879] +[group_43880] +[group_43881] +[group_43882] +[group_43883] +[group_43884] +[group_43885] +[group_43886] +[group_43887] +[group_43888] +[group_43889] +[group_43890] +[group_43891] +[group_43892] +[group_43893] +[group_43894] +[group_43895] +[group_43896] +[group_43897] +[group_43898] +[group_43899] +[group_43900] +[group_43901] +[group_43902] +[group_43903] +[group_43904] +[group_43905] +[group_43906] +[group_43907] +[group_43908] +[group_43909] +[group_43910] +[group_43911] +[group_43912] +[group_43913] +[group_43914] +[group_43915] +[group_43916] +[group_43917] +[group_43918] +[group_43919] +[group_43920] +[group_43921] +[group_43922] +[group_43923] +[group_43924] +[group_43925] +[group_43926] +[group_43927] +[group_43928] +[group_43929] +[group_43930] +[group_43931] +[group_43932] +[group_43933] +[group_43934] +[group_43935] +[group_43936] +[group_43937] +[group_43938] +[group_43939] +[group_43940] +[group_43941] +[group_43942] +[group_43943] +[group_43944] +[group_43945] +[group_43946] +[group_43947] +[group_43948] +[group_43949] +[group_43950] +[group_43951] +[group_43952] +[group_43953] +[group_43954] +[group_43955] +[group_43956] +[group_43957] +[group_43958] +[group_43959] +[group_43960] +[group_43961] +[group_43962] +[group_43963] +[group_43964] +[group_43965] +[group_43966] +[group_43967] +[group_43968] +[group_43969] +[group_43970] +[group_43971] +[group_43972] +[group_43973] +[group_43974] +[group_43975] +[group_43976] +[group_43977] +[group_43978] +[group_43979] +[group_43980] +[group_43981] +[group_43982] +[group_43983] +[group_43984] +[group_43985] +[group_43986] +[group_43987] +[group_43988] +[group_43989] +[group_43990] +[group_43991] +[group_43992] +[group_43993] +[group_43994] +[group_43995] +[group_43996] +[group_43997] +[group_43998] +[group_43999] +[group_44000] +[group_44001] +[group_44002] +[group_44003] +[group_44004] +[group_44005] +[group_44006] +[group_44007] +[group_44008] +[group_44009] +[group_44010] +[group_44011] +[group_44012] +[group_44013] +[group_44014] +[group_44015] +[group_44016] +[group_44017] +[group_44018] +[group_44019] +[group_44020] +[group_44021] +[group_44022] +[group_44023] +[group_44024] +[group_44025] +[group_44026] +[group_44027] +[group_44028] +[group_44029] +[group_44030] +[group_44031] +[group_44032] +[group_44033] +[group_44034] +[group_44035] +[group_44036] +[group_44037] +[group_44038] +[group_44039] +[group_44040] +[group_44041] +[group_44042] +[group_44043] +[group_44044] +[group_44045] +[group_44046] +[group_44047] +[group_44048] +[group_44049] +[group_44050] +[group_44051] +[group_44052] +[group_44053] +[group_44054] +[group_44055] +[group_44056] +[group_44057] +[group_44058] +[group_44059] +[group_44060] +[group_44061] +[group_44062] +[group_44063] +[group_44064] +[group_44065] +[group_44066] +[group_44067] +[group_44068] +[group_44069] +[group_44070] +[group_44071] +[group_44072] +[group_44073] +[group_44074] +[group_44075] +[group_44076] +[group_44077] +[group_44078] +[group_44079] +[group_44080] +[group_44081] +[group_44082] +[group_44083] +[group_44084] +[group_44085] +[group_44086] +[group_44087] +[group_44088] +[group_44089] +[group_44090] +[group_44091] +[group_44092] +[group_44093] +[group_44094] +[group_44095] +[group_44096] +[group_44097] +[group_44098] +[group_44099] +[group_44100] +[group_44101] +[group_44102] +[group_44103] +[group_44104] +[group_44105] +[group_44106] +[group_44107] +[group_44108] +[group_44109] +[group_44110] +[group_44111] +[group_44112] +[group_44113] +[group_44114] +[group_44115] +[group_44116] +[group_44117] +[group_44118] +[group_44119] +[group_44120] +[group_44121] +[group_44122] +[group_44123] +[group_44124] +[group_44125] +[group_44126] +[group_44127] +[group_44128] +[group_44129] +[group_44130] +[group_44131] +[group_44132] +[group_44133] +[group_44134] +[group_44135] +[group_44136] +[group_44137] +[group_44138] +[group_44139] +[group_44140] +[group_44141] +[group_44142] +[group_44143] +[group_44144] +[group_44145] +[group_44146] +[group_44147] +[group_44148] +[group_44149] +[group_44150] +[group_44151] +[group_44152] +[group_44153] +[group_44154] +[group_44155] +[group_44156] +[group_44157] +[group_44158] +[group_44159] +[group_44160] +[group_44161] +[group_44162] +[group_44163] +[group_44164] +[group_44165] +[group_44166] +[group_44167] +[group_44168] +[group_44169] +[group_44170] +[group_44171] +[group_44172] +[group_44173] +[group_44174] +[group_44175] +[group_44176] +[group_44177] +[group_44178] +[group_44179] +[group_44180] +[group_44181] +[group_44182] +[group_44183] +[group_44184] +[group_44185] +[group_44186] +[group_44187] +[group_44188] +[group_44189] +[group_44190] +[group_44191] +[group_44192] +[group_44193] +[group_44194] +[group_44195] +[group_44196] +[group_44197] +[group_44198] +[group_44199] +[group_44200] +[group_44201] +[group_44202] +[group_44203] +[group_44204] +[group_44205] +[group_44206] +[group_44207] +[group_44208] +[group_44209] +[group_44210] +[group_44211] +[group_44212] +[group_44213] +[group_44214] +[group_44215] +[group_44216] +[group_44217] +[group_44218] +[group_44219] +[group_44220] +[group_44221] +[group_44222] +[group_44223] +[group_44224] +[group_44225] +[group_44226] +[group_44227] +[group_44228] +[group_44229] +[group_44230] +[group_44231] +[group_44232] +[group_44233] +[group_44234] +[group_44235] +[group_44236] +[group_44237] +[group_44238] +[group_44239] +[group_44240] +[group_44241] +[group_44242] +[group_44243] +[group_44244] +[group_44245] +[group_44246] +[group_44247] +[group_44248] +[group_44249] +[group_44250] +[group_44251] +[group_44252] +[group_44253] +[group_44254] +[group_44255] +[group_44256] +[group_44257] +[group_44258] +[group_44259] +[group_44260] +[group_44261] +[group_44262] +[group_44263] +[group_44264] +[group_44265] +[group_44266] +[group_44267] +[group_44268] +[group_44269] +[group_44270] +[group_44271] +[group_44272] +[group_44273] +[group_44274] +[group_44275] +[group_44276] +[group_44277] +[group_44278] +[group_44279] +[group_44280] +[group_44281] +[group_44282] +[group_44283] +[group_44284] +[group_44285] +[group_44286] +[group_44287] +[group_44288] +[group_44289] +[group_44290] +[group_44291] +[group_44292] +[group_44293] +[group_44294] +[group_44295] +[group_44296] +[group_44297] +[group_44298] +[group_44299] +[group_44300] +[group_44301] +[group_44302] +[group_44303] +[group_44304] +[group_44305] +[group_44306] +[group_44307] +[group_44308] +[group_44309] +[group_44310] +[group_44311] +[group_44312] +[group_44313] +[group_44314] +[group_44315] +[group_44316] +[group_44317] +[group_44318] +[group_44319] +[group_44320] +[group_44321] +[group_44322] +[group_44323] +[group_44324] +[group_44325] +[group_44326] +[group_44327] +[group_44328] +[group_44329] +[group_44330] +[group_44331] +[group_44332] +[group_44333] +[group_44334] +[group_44335] +[group_44336] +[group_44337] +[group_44338] +[group_44339] +[group_44340] +[group_44341] +[group_44342] +[group_44343] +[group_44344] +[group_44345] +[group_44346] +[group_44347] +[group_44348] +[group_44349] +[group_44350] +[group_44351] +[group_44352] +[group_44353] +[group_44354] +[group_44355] +[group_44356] +[group_44357] +[group_44358] +[group_44359] +[group_44360] +[group_44361] +[group_44362] +[group_44363] +[group_44364] +[group_44365] +[group_44366] +[group_44367] +[group_44368] +[group_44369] +[group_44370] +[group_44371] +[group_44372] +[group_44373] +[group_44374] +[group_44375] +[group_44376] +[group_44377] +[group_44378] +[group_44379] +[group_44380] +[group_44381] +[group_44382] +[group_44383] +[group_44384] +[group_44385] +[group_44386] +[group_44387] +[group_44388] +[group_44389] +[group_44390] +[group_44391] +[group_44392] +[group_44393] +[group_44394] +[group_44395] +[group_44396] +[group_44397] +[group_44398] +[group_44399] +[group_44400] +[group_44401] +[group_44402] +[group_44403] +[group_44404] +[group_44405] +[group_44406] +[group_44407] +[group_44408] +[group_44409] +[group_44410] +[group_44411] +[group_44412] +[group_44413] +[group_44414] +[group_44415] +[group_44416] +[group_44417] +[group_44418] +[group_44419] +[group_44420] +[group_44421] +[group_44422] +[group_44423] +[group_44424] +[group_44425] +[group_44426] +[group_44427] +[group_44428] +[group_44429] +[group_44430] +[group_44431] +[group_44432] +[group_44433] +[group_44434] +[group_44435] +[group_44436] +[group_44437] +[group_44438] +[group_44439] +[group_44440] +[group_44441] +[group_44442] +[group_44443] +[group_44444] +[group_44445] +[group_44446] +[group_44447] +[group_44448] +[group_44449] +[group_44450] +[group_44451] +[group_44452] +[group_44453] +[group_44454] +[group_44455] +[group_44456] +[group_44457] +[group_44458] +[group_44459] +[group_44460] +[group_44461] +[group_44462] +[group_44463] +[group_44464] +[group_44465] +[group_44466] +[group_44467] +[group_44468] +[group_44469] +[group_44470] +[group_44471] +[group_44472] +[group_44473] +[group_44474] +[group_44475] +[group_44476] +[group_44477] +[group_44478] +[group_44479] +[group_44480] +[group_44481] +[group_44482] +[group_44483] +[group_44484] +[group_44485] +[group_44486] +[group_44487] +[group_44488] +[group_44489] +[group_44490] +[group_44491] +[group_44492] +[group_44493] +[group_44494] +[group_44495] +[group_44496] +[group_44497] +[group_44498] +[group_44499] +[group_44500] +[group_44501] +[group_44502] +[group_44503] +[group_44504] +[group_44505] +[group_44506] +[group_44507] +[group_44508] +[group_44509] +[group_44510] +[group_44511] +[group_44512] +[group_44513] +[group_44514] +[group_44515] +[group_44516] +[group_44517] +[group_44518] +[group_44519] +[group_44520] +[group_44521] +[group_44522] +[group_44523] +[group_44524] +[group_44525] +[group_44526] +[group_44527] +[group_44528] +[group_44529] +[group_44530] +[group_44531] +[group_44532] +[group_44533] +[group_44534] +[group_44535] +[group_44536] +[group_44537] +[group_44538] +[group_44539] +[group_44540] +[group_44541] +[group_44542] +[group_44543] +[group_44544] +[group_44545] +[group_44546] +[group_44547] +[group_44548] +[group_44549] +[group_44550] +[group_44551] +[group_44552] +[group_44553] +[group_44554] +[group_44555] +[group_44556] +[group_44557] +[group_44558] +[group_44559] +[group_44560] +[group_44561] +[group_44562] +[group_44563] +[group_44564] +[group_44565] +[group_44566] +[group_44567] +[group_44568] +[group_44569] +[group_44570] +[group_44571] +[group_44572] +[group_44573] +[group_44574] +[group_44575] +[group_44576] +[group_44577] +[group_44578] +[group_44579] +[group_44580] +[group_44581] +[group_44582] +[group_44583] +[group_44584] +[group_44585] +[group_44586] +[group_44587] +[group_44588] +[group_44589] +[group_44590] +[group_44591] +[group_44592] +[group_44593] +[group_44594] +[group_44595] +[group_44596] +[group_44597] +[group_44598] +[group_44599] +[group_44600] +[group_44601] +[group_44602] +[group_44603] +[group_44604] +[group_44605] +[group_44606] +[group_44607] +[group_44608] +[group_44609] +[group_44610] +[group_44611] +[group_44612] +[group_44613] +[group_44614] +[group_44615] +[group_44616] +[group_44617] +[group_44618] +[group_44619] +[group_44620] +[group_44621] +[group_44622] +[group_44623] +[group_44624] +[group_44625] +[group_44626] +[group_44627] +[group_44628] +[group_44629] +[group_44630] +[group_44631] +[group_44632] +[group_44633] +[group_44634] +[group_44635] +[group_44636] +[group_44637] +[group_44638] +[group_44639] +[group_44640] +[group_44641] +[group_44642] +[group_44643] +[group_44644] +[group_44645] +[group_44646] +[group_44647] +[group_44648] +[group_44649] +[group_44650] +[group_44651] +[group_44652] +[group_44653] +[group_44654] +[group_44655] +[group_44656] +[group_44657] +[group_44658] +[group_44659] +[group_44660] +[group_44661] +[group_44662] +[group_44663] +[group_44664] +[group_44665] +[group_44666] +[group_44667] +[group_44668] +[group_44669] +[group_44670] +[group_44671] +[group_44672] +[group_44673] +[group_44674] +[group_44675] +[group_44676] +[group_44677] +[group_44678] +[group_44679] +[group_44680] +[group_44681] +[group_44682] +[group_44683] +[group_44684] +[group_44685] +[group_44686] +[group_44687] +[group_44688] +[group_44689] +[group_44690] +[group_44691] +[group_44692] +[group_44693] +[group_44694] +[group_44695] +[group_44696] +[group_44697] +[group_44698] +[group_44699] +[group_44700] +[group_44701] +[group_44702] +[group_44703] +[group_44704] +[group_44705] +[group_44706] +[group_44707] +[group_44708] +[group_44709] +[group_44710] +[group_44711] +[group_44712] +[group_44713] +[group_44714] +[group_44715] +[group_44716] +[group_44717] +[group_44718] +[group_44719] +[group_44720] +[group_44721] +[group_44722] +[group_44723] +[group_44724] +[group_44725] +[group_44726] +[group_44727] +[group_44728] +[group_44729] +[group_44730] +[group_44731] +[group_44732] +[group_44733] +[group_44734] +[group_44735] +[group_44736] +[group_44737] +[group_44738] +[group_44739] +[group_44740] +[group_44741] +[group_44742] +[group_44743] +[group_44744] +[group_44745] +[group_44746] +[group_44747] +[group_44748] +[group_44749] +[group_44750] +[group_44751] +[group_44752] +[group_44753] +[group_44754] +[group_44755] +[group_44756] +[group_44757] +[group_44758] +[group_44759] +[group_44760] +[group_44761] +[group_44762] +[group_44763] +[group_44764] +[group_44765] +[group_44766] +[group_44767] +[group_44768] +[group_44769] +[group_44770] +[group_44771] +[group_44772] +[group_44773] +[group_44774] +[group_44775] +[group_44776] +[group_44777] +[group_44778] +[group_44779] +[group_44780] +[group_44781] +[group_44782] +[group_44783] +[group_44784] +[group_44785] +[group_44786] +[group_44787] +[group_44788] +[group_44789] +[group_44790] +[group_44791] +[group_44792] +[group_44793] +[group_44794] +[group_44795] +[group_44796] +[group_44797] +[group_44798] +[group_44799] +[group_44800] +[group_44801] +[group_44802] +[group_44803] +[group_44804] +[group_44805] +[group_44806] +[group_44807] +[group_44808] +[group_44809] +[group_44810] +[group_44811] +[group_44812] +[group_44813] +[group_44814] +[group_44815] +[group_44816] +[group_44817] +[group_44818] +[group_44819] +[group_44820] +[group_44821] +[group_44822] +[group_44823] +[group_44824] +[group_44825] +[group_44826] +[group_44827] +[group_44828] +[group_44829] +[group_44830] +[group_44831] +[group_44832] +[group_44833] +[group_44834] +[group_44835] +[group_44836] +[group_44837] +[group_44838] +[group_44839] +[group_44840] +[group_44841] +[group_44842] +[group_44843] +[group_44844] +[group_44845] +[group_44846] +[group_44847] +[group_44848] +[group_44849] +[group_44850] +[group_44851] +[group_44852] +[group_44853] +[group_44854] +[group_44855] +[group_44856] +[group_44857] +[group_44858] +[group_44859] +[group_44860] +[group_44861] +[group_44862] +[group_44863] +[group_44864] +[group_44865] +[group_44866] +[group_44867] +[group_44868] +[group_44869] +[group_44870] +[group_44871] +[group_44872] +[group_44873] +[group_44874] +[group_44875] +[group_44876] +[group_44877] +[group_44878] +[group_44879] +[group_44880] +[group_44881] +[group_44882] +[group_44883] +[group_44884] +[group_44885] +[group_44886] +[group_44887] +[group_44888] +[group_44889] +[group_44890] +[group_44891] +[group_44892] +[group_44893] +[group_44894] +[group_44895] +[group_44896] +[group_44897] +[group_44898] +[group_44899] +[group_44900] +[group_44901] +[group_44902] +[group_44903] +[group_44904] +[group_44905] +[group_44906] +[group_44907] +[group_44908] +[group_44909] +[group_44910] +[group_44911] +[group_44912] +[group_44913] +[group_44914] +[group_44915] +[group_44916] +[group_44917] +[group_44918] +[group_44919] +[group_44920] +[group_44921] +[group_44922] +[group_44923] +[group_44924] +[group_44925] +[group_44926] +[group_44927] +[group_44928] +[group_44929] +[group_44930] +[group_44931] +[group_44932] +[group_44933] +[group_44934] +[group_44935] +[group_44936] +[group_44937] +[group_44938] +[group_44939] +[group_44940] +[group_44941] +[group_44942] +[group_44943] +[group_44944] +[group_44945] +[group_44946] +[group_44947] +[group_44948] +[group_44949] +[group_44950] +[group_44951] +[group_44952] +[group_44953] +[group_44954] +[group_44955] +[group_44956] +[group_44957] +[group_44958] +[group_44959] +[group_44960] +[group_44961] +[group_44962] +[group_44963] +[group_44964] +[group_44965] +[group_44966] +[group_44967] +[group_44968] +[group_44969] +[group_44970] +[group_44971] +[group_44972] +[group_44973] +[group_44974] +[group_44975] +[group_44976] +[group_44977] +[group_44978] +[group_44979] +[group_44980] +[group_44981] +[group_44982] +[group_44983] +[group_44984] +[group_44985] +[group_44986] +[group_44987] +[group_44988] +[group_44989] +[group_44990] +[group_44991] +[group_44992] +[group_44993] +[group_44994] +[group_44995] +[group_44996] +[group_44997] +[group_44998] +[group_44999] +[group_45000] +[group_45001] +[group_45002] +[group_45003] +[group_45004] +[group_45005] +[group_45006] +[group_45007] +[group_45008] +[group_45009] +[group_45010] +[group_45011] +[group_45012] +[group_45013] +[group_45014] +[group_45015] +[group_45016] +[group_45017] +[group_45018] +[group_45019] +[group_45020] +[group_45021] +[group_45022] +[group_45023] +[group_45024] +[group_45025] +[group_45026] +[group_45027] +[group_45028] +[group_45029] +[group_45030] +[group_45031] +[group_45032] +[group_45033] +[group_45034] +[group_45035] +[group_45036] +[group_45037] +[group_45038] +[group_45039] +[group_45040] +[group_45041] +[group_45042] +[group_45043] +[group_45044] +[group_45045] +[group_45046] +[group_45047] +[group_45048] +[group_45049] +[group_45050] +[group_45051] +[group_45052] +[group_45053] +[group_45054] +[group_45055] +[group_45056] +[group_45057] +[group_45058] +[group_45059] +[group_45060] +[group_45061] +[group_45062] +[group_45063] +[group_45064] +[group_45065] +[group_45066] +[group_45067] +[group_45068] +[group_45069] +[group_45070] +[group_45071] +[group_45072] +[group_45073] +[group_45074] +[group_45075] +[group_45076] +[group_45077] +[group_45078] +[group_45079] +[group_45080] +[group_45081] +[group_45082] +[group_45083] +[group_45084] +[group_45085] +[group_45086] +[group_45087] +[group_45088] +[group_45089] +[group_45090] +[group_45091] +[group_45092] +[group_45093] +[group_45094] +[group_45095] +[group_45096] +[group_45097] +[group_45098] +[group_45099] +[group_45100] +[group_45101] +[group_45102] +[group_45103] +[group_45104] +[group_45105] +[group_45106] +[group_45107] +[group_45108] +[group_45109] +[group_45110] +[group_45111] +[group_45112] +[group_45113] +[group_45114] +[group_45115] +[group_45116] +[group_45117] +[group_45118] +[group_45119] +[group_45120] +[group_45121] +[group_45122] +[group_45123] +[group_45124] +[group_45125] +[group_45126] +[group_45127] +[group_45128] +[group_45129] +[group_45130] +[group_45131] +[group_45132] +[group_45133] +[group_45134] +[group_45135] +[group_45136] +[group_45137] +[group_45138] +[group_45139] +[group_45140] +[group_45141] +[group_45142] +[group_45143] +[group_45144] +[group_45145] +[group_45146] +[group_45147] +[group_45148] +[group_45149] +[group_45150] +[group_45151] +[group_45152] +[group_45153] +[group_45154] +[group_45155] +[group_45156] +[group_45157] +[group_45158] +[group_45159] +[group_45160] +[group_45161] +[group_45162] +[group_45163] +[group_45164] +[group_45165] +[group_45166] +[group_45167] +[group_45168] +[group_45169] +[group_45170] +[group_45171] +[group_45172] +[group_45173] +[group_45174] +[group_45175] +[group_45176] +[group_45177] +[group_45178] +[group_45179] +[group_45180] +[group_45181] +[group_45182] +[group_45183] +[group_45184] +[group_45185] +[group_45186] +[group_45187] +[group_45188] +[group_45189] +[group_45190] +[group_45191] +[group_45192] +[group_45193] +[group_45194] +[group_45195] +[group_45196] +[group_45197] +[group_45198] +[group_45199] +[group_45200] +[group_45201] +[group_45202] +[group_45203] +[group_45204] +[group_45205] +[group_45206] +[group_45207] +[group_45208] +[group_45209] +[group_45210] +[group_45211] +[group_45212] +[group_45213] +[group_45214] +[group_45215] +[group_45216] +[group_45217] +[group_45218] +[group_45219] +[group_45220] +[group_45221] +[group_45222] +[group_45223] +[group_45224] +[group_45225] +[group_45226] +[group_45227] +[group_45228] +[group_45229] +[group_45230] +[group_45231] +[group_45232] +[group_45233] +[group_45234] +[group_45235] +[group_45236] +[group_45237] +[group_45238] +[group_45239] +[group_45240] +[group_45241] +[group_45242] +[group_45243] +[group_45244] +[group_45245] +[group_45246] +[group_45247] +[group_45248] +[group_45249] +[group_45250] +[group_45251] +[group_45252] +[group_45253] +[group_45254] +[group_45255] +[group_45256] +[group_45257] +[group_45258] +[group_45259] +[group_45260] +[group_45261] +[group_45262] +[group_45263] +[group_45264] +[group_45265] +[group_45266] +[group_45267] +[group_45268] +[group_45269] +[group_45270] +[group_45271] +[group_45272] +[group_45273] +[group_45274] +[group_45275] +[group_45276] +[group_45277] +[group_45278] +[group_45279] +[group_45280] +[group_45281] +[group_45282] +[group_45283] +[group_45284] +[group_45285] +[group_45286] +[group_45287] +[group_45288] +[group_45289] +[group_45290] +[group_45291] +[group_45292] +[group_45293] +[group_45294] +[group_45295] +[group_45296] +[group_45297] +[group_45298] +[group_45299] +[group_45300] +[group_45301] +[group_45302] +[group_45303] +[group_45304] +[group_45305] +[group_45306] +[group_45307] +[group_45308] +[group_45309] +[group_45310] +[group_45311] +[group_45312] +[group_45313] +[group_45314] +[group_45315] +[group_45316] +[group_45317] +[group_45318] +[group_45319] +[group_45320] +[group_45321] +[group_45322] +[group_45323] +[group_45324] +[group_45325] +[group_45326] +[group_45327] +[group_45328] +[group_45329] +[group_45330] +[group_45331] +[group_45332] +[group_45333] +[group_45334] +[group_45335] +[group_45336] +[group_45337] +[group_45338] +[group_45339] +[group_45340] +[group_45341] +[group_45342] +[group_45343] +[group_45344] +[group_45345] +[group_45346] +[group_45347] +[group_45348] +[group_45349] +[group_45350] +[group_45351] +[group_45352] +[group_45353] +[group_45354] +[group_45355] +[group_45356] +[group_45357] +[group_45358] +[group_45359] +[group_45360] +[group_45361] +[group_45362] +[group_45363] +[group_45364] +[group_45365] +[group_45366] +[group_45367] +[group_45368] +[group_45369] +[group_45370] +[group_45371] +[group_45372] +[group_45373] +[group_45374] +[group_45375] +[group_45376] +[group_45377] +[group_45378] +[group_45379] +[group_45380] +[group_45381] +[group_45382] +[group_45383] +[group_45384] +[group_45385] +[group_45386] +[group_45387] +[group_45388] +[group_45389] +[group_45390] +[group_45391] +[group_45392] +[group_45393] +[group_45394] +[group_45395] +[group_45396] +[group_45397] +[group_45398] +[group_45399] +[group_45400] +[group_45401] +[group_45402] +[group_45403] +[group_45404] +[group_45405] +[group_45406] +[group_45407] +[group_45408] +[group_45409] +[group_45410] +[group_45411] +[group_45412] +[group_45413] +[group_45414] +[group_45415] +[group_45416] +[group_45417] +[group_45418] +[group_45419] +[group_45420] +[group_45421] +[group_45422] +[group_45423] +[group_45424] +[group_45425] +[group_45426] +[group_45427] +[group_45428] +[group_45429] +[group_45430] +[group_45431] +[group_45432] +[group_45433] +[group_45434] +[group_45435] +[group_45436] +[group_45437] +[group_45438] +[group_45439] +[group_45440] +[group_45441] +[group_45442] +[group_45443] +[group_45444] +[group_45445] +[group_45446] +[group_45447] +[group_45448] +[group_45449] +[group_45450] +[group_45451] +[group_45452] +[group_45453] +[group_45454] +[group_45455] +[group_45456] +[group_45457] +[group_45458] +[group_45459] +[group_45460] +[group_45461] +[group_45462] +[group_45463] +[group_45464] +[group_45465] +[group_45466] +[group_45467] +[group_45468] +[group_45469] +[group_45470] +[group_45471] +[group_45472] +[group_45473] +[group_45474] +[group_45475] +[group_45476] +[group_45477] +[group_45478] +[group_45479] +[group_45480] +[group_45481] +[group_45482] +[group_45483] +[group_45484] +[group_45485] +[group_45486] +[group_45487] +[group_45488] +[group_45489] +[group_45490] +[group_45491] +[group_45492] +[group_45493] +[group_45494] +[group_45495] +[group_45496] +[group_45497] +[group_45498] +[group_45499] +[group_45500] +[group_45501] +[group_45502] +[group_45503] +[group_45504] +[group_45505] +[group_45506] +[group_45507] +[group_45508] +[group_45509] +[group_45510] +[group_45511] +[group_45512] +[group_45513] +[group_45514] +[group_45515] +[group_45516] +[group_45517] +[group_45518] +[group_45519] +[group_45520] +[group_45521] +[group_45522] +[group_45523] +[group_45524] +[group_45525] +[group_45526] +[group_45527] +[group_45528] +[group_45529] +[group_45530] +[group_45531] +[group_45532] +[group_45533] +[group_45534] +[group_45535] +[group_45536] +[group_45537] +[group_45538] +[group_45539] +[group_45540] +[group_45541] +[group_45542] +[group_45543] +[group_45544] +[group_45545] +[group_45546] +[group_45547] +[group_45548] +[group_45549] +[group_45550] +[group_45551] +[group_45552] +[group_45553] +[group_45554] +[group_45555] +[group_45556] +[group_45557] +[group_45558] +[group_45559] +[group_45560] +[group_45561] +[group_45562] +[group_45563] +[group_45564] +[group_45565] +[group_45566] +[group_45567] +[group_45568] +[group_45569] +[group_45570] +[group_45571] +[group_45572] +[group_45573] +[group_45574] +[group_45575] +[group_45576] +[group_45577] +[group_45578] +[group_45579] +[group_45580] +[group_45581] +[group_45582] +[group_45583] +[group_45584] +[group_45585] +[group_45586] +[group_45587] +[group_45588] +[group_45589] +[group_45590] +[group_45591] +[group_45592] +[group_45593] +[group_45594] +[group_45595] +[group_45596] +[group_45597] +[group_45598] +[group_45599] +[group_45600] +[group_45601] +[group_45602] +[group_45603] +[group_45604] +[group_45605] +[group_45606] +[group_45607] +[group_45608] +[group_45609] +[group_45610] +[group_45611] +[group_45612] +[group_45613] +[group_45614] +[group_45615] +[group_45616] +[group_45617] +[group_45618] +[group_45619] +[group_45620] +[group_45621] +[group_45622] +[group_45623] +[group_45624] +[group_45625] +[group_45626] +[group_45627] +[group_45628] +[group_45629] +[group_45630] +[group_45631] +[group_45632] +[group_45633] +[group_45634] +[group_45635] +[group_45636] +[group_45637] +[group_45638] +[group_45639] +[group_45640] +[group_45641] +[group_45642] +[group_45643] +[group_45644] +[group_45645] +[group_45646] +[group_45647] +[group_45648] +[group_45649] +[group_45650] +[group_45651] +[group_45652] +[group_45653] +[group_45654] +[group_45655] +[group_45656] +[group_45657] +[group_45658] +[group_45659] +[group_45660] +[group_45661] +[group_45662] +[group_45663] +[group_45664] +[group_45665] +[group_45666] +[group_45667] +[group_45668] +[group_45669] +[group_45670] +[group_45671] +[group_45672] +[group_45673] +[group_45674] +[group_45675] +[group_45676] +[group_45677] +[group_45678] +[group_45679] +[group_45680] +[group_45681] +[group_45682] +[group_45683] +[group_45684] +[group_45685] +[group_45686] +[group_45687] +[group_45688] +[group_45689] +[group_45690] +[group_45691] +[group_45692] +[group_45693] +[group_45694] +[group_45695] +[group_45696] +[group_45697] +[group_45698] +[group_45699] +[group_45700] +[group_45701] +[group_45702] +[group_45703] +[group_45704] +[group_45705] +[group_45706] +[group_45707] +[group_45708] +[group_45709] +[group_45710] +[group_45711] +[group_45712] +[group_45713] +[group_45714] +[group_45715] +[group_45716] +[group_45717] +[group_45718] +[group_45719] +[group_45720] +[group_45721] +[group_45722] +[group_45723] +[group_45724] +[group_45725] +[group_45726] +[group_45727] +[group_45728] +[group_45729] +[group_45730] +[group_45731] +[group_45732] +[group_45733] +[group_45734] +[group_45735] +[group_45736] +[group_45737] +[group_45738] +[group_45739] +[group_45740] +[group_45741] +[group_45742] +[group_45743] +[group_45744] +[group_45745] +[group_45746] +[group_45747] +[group_45748] +[group_45749] +[group_45750] +[group_45751] +[group_45752] +[group_45753] +[group_45754] +[group_45755] +[group_45756] +[group_45757] +[group_45758] +[group_45759] +[group_45760] +[group_45761] +[group_45762] +[group_45763] +[group_45764] +[group_45765] +[group_45766] +[group_45767] +[group_45768] +[group_45769] +[group_45770] +[group_45771] +[group_45772] +[group_45773] +[group_45774] +[group_45775] +[group_45776] +[group_45777] +[group_45778] +[group_45779] +[group_45780] +[group_45781] +[group_45782] +[group_45783] +[group_45784] +[group_45785] +[group_45786] +[group_45787] +[group_45788] +[group_45789] +[group_45790] +[group_45791] +[group_45792] +[group_45793] +[group_45794] +[group_45795] +[group_45796] +[group_45797] +[group_45798] +[group_45799] +[group_45800] +[group_45801] +[group_45802] +[group_45803] +[group_45804] +[group_45805] +[group_45806] +[group_45807] +[group_45808] +[group_45809] +[group_45810] +[group_45811] +[group_45812] +[group_45813] +[group_45814] +[group_45815] +[group_45816] +[group_45817] +[group_45818] +[group_45819] +[group_45820] +[group_45821] +[group_45822] +[group_45823] +[group_45824] +[group_45825] +[group_45826] +[group_45827] +[group_45828] +[group_45829] +[group_45830] +[group_45831] +[group_45832] +[group_45833] +[group_45834] +[group_45835] +[group_45836] +[group_45837] +[group_45838] +[group_45839] +[group_45840] +[group_45841] +[group_45842] +[group_45843] +[group_45844] +[group_45845] +[group_45846] +[group_45847] +[group_45848] +[group_45849] +[group_45850] +[group_45851] +[group_45852] +[group_45853] +[group_45854] +[group_45855] +[group_45856] +[group_45857] +[group_45858] +[group_45859] +[group_45860] +[group_45861] +[group_45862] +[group_45863] +[group_45864] +[group_45865] +[group_45866] +[group_45867] +[group_45868] +[group_45869] +[group_45870] +[group_45871] +[group_45872] +[group_45873] +[group_45874] +[group_45875] +[group_45876] +[group_45877] +[group_45878] +[group_45879] +[group_45880] +[group_45881] +[group_45882] +[group_45883] +[group_45884] +[group_45885] +[group_45886] +[group_45887] +[group_45888] +[group_45889] +[group_45890] +[group_45891] +[group_45892] +[group_45893] +[group_45894] +[group_45895] +[group_45896] +[group_45897] +[group_45898] +[group_45899] +[group_45900] +[group_45901] +[group_45902] +[group_45903] +[group_45904] +[group_45905] +[group_45906] +[group_45907] +[group_45908] +[group_45909] +[group_45910] +[group_45911] +[group_45912] +[group_45913] +[group_45914] +[group_45915] +[group_45916] +[group_45917] +[group_45918] +[group_45919] +[group_45920] +[group_45921] +[group_45922] +[group_45923] +[group_45924] +[group_45925] +[group_45926] +[group_45927] +[group_45928] +[group_45929] +[group_45930] +[group_45931] +[group_45932] +[group_45933] +[group_45934] +[group_45935] +[group_45936] +[group_45937] +[group_45938] +[group_45939] +[group_45940] +[group_45941] +[group_45942] +[group_45943] +[group_45944] +[group_45945] +[group_45946] +[group_45947] +[group_45948] +[group_45949] +[group_45950] +[group_45951] +[group_45952] +[group_45953] +[group_45954] +[group_45955] +[group_45956] +[group_45957] +[group_45958] +[group_45959] +[group_45960] +[group_45961] +[group_45962] +[group_45963] +[group_45964] +[group_45965] +[group_45966] +[group_45967] +[group_45968] +[group_45969] +[group_45970] +[group_45971] +[group_45972] +[group_45973] +[group_45974] +[group_45975] +[group_45976] +[group_45977] +[group_45978] +[group_45979] +[group_45980] +[group_45981] +[group_45982] +[group_45983] +[group_45984] +[group_45985] +[group_45986] +[group_45987] +[group_45988] +[group_45989] +[group_45990] +[group_45991] +[group_45992] +[group_45993] +[group_45994] +[group_45995] +[group_45996] +[group_45997] +[group_45998] +[group_45999] +[group_46000] +[group_46001] +[group_46002] +[group_46003] +[group_46004] +[group_46005] +[group_46006] +[group_46007] +[group_46008] +[group_46009] +[group_46010] +[group_46011] +[group_46012] +[group_46013] +[group_46014] +[group_46015] +[group_46016] +[group_46017] +[group_46018] +[group_46019] +[group_46020] +[group_46021] +[group_46022] +[group_46023] +[group_46024] +[group_46025] +[group_46026] +[group_46027] +[group_46028] +[group_46029] +[group_46030] +[group_46031] +[group_46032] +[group_46033] +[group_46034] +[group_46035] +[group_46036] +[group_46037] +[group_46038] +[group_46039] +[group_46040] +[group_46041] +[group_46042] +[group_46043] +[group_46044] +[group_46045] +[group_46046] +[group_46047] +[group_46048] +[group_46049] +[group_46050] +[group_46051] +[group_46052] +[group_46053] +[group_46054] +[group_46055] +[group_46056] +[group_46057] +[group_46058] +[group_46059] +[group_46060] +[group_46061] +[group_46062] +[group_46063] +[group_46064] +[group_46065] +[group_46066] +[group_46067] +[group_46068] +[group_46069] +[group_46070] +[group_46071] +[group_46072] +[group_46073] +[group_46074] +[group_46075] +[group_46076] +[group_46077] +[group_46078] +[group_46079] +[group_46080] +[group_46081] +[group_46082] +[group_46083] +[group_46084] +[group_46085] +[group_46086] +[group_46087] +[group_46088] +[group_46089] +[group_46090] +[group_46091] +[group_46092] +[group_46093] +[group_46094] +[group_46095] +[group_46096] +[group_46097] +[group_46098] +[group_46099] +[group_46100] +[group_46101] +[group_46102] +[group_46103] +[group_46104] +[group_46105] +[group_46106] +[group_46107] +[group_46108] +[group_46109] +[group_46110] +[group_46111] +[group_46112] +[group_46113] +[group_46114] +[group_46115] +[group_46116] +[group_46117] +[group_46118] +[group_46119] +[group_46120] +[group_46121] +[group_46122] +[group_46123] +[group_46124] +[group_46125] +[group_46126] +[group_46127] +[group_46128] +[group_46129] +[group_46130] +[group_46131] +[group_46132] +[group_46133] +[group_46134] +[group_46135] +[group_46136] +[group_46137] +[group_46138] +[group_46139] +[group_46140] +[group_46141] +[group_46142] +[group_46143] +[group_46144] +[group_46145] +[group_46146] +[group_46147] +[group_46148] +[group_46149] +[group_46150] +[group_46151] +[group_46152] +[group_46153] +[group_46154] +[group_46155] +[group_46156] +[group_46157] +[group_46158] +[group_46159] +[group_46160] +[group_46161] +[group_46162] +[group_46163] +[group_46164] +[group_46165] +[group_46166] +[group_46167] +[group_46168] +[group_46169] +[group_46170] +[group_46171] +[group_46172] +[group_46173] +[group_46174] +[group_46175] +[group_46176] +[group_46177] +[group_46178] +[group_46179] +[group_46180] +[group_46181] +[group_46182] +[group_46183] +[group_46184] +[group_46185] +[group_46186] +[group_46187] +[group_46188] +[group_46189] +[group_46190] +[group_46191] +[group_46192] +[group_46193] +[group_46194] +[group_46195] +[group_46196] +[group_46197] +[group_46198] +[group_46199] +[group_46200] +[group_46201] +[group_46202] +[group_46203] +[group_46204] +[group_46205] +[group_46206] +[group_46207] +[group_46208] +[group_46209] +[group_46210] +[group_46211] +[group_46212] +[group_46213] +[group_46214] +[group_46215] +[group_46216] +[group_46217] +[group_46218] +[group_46219] +[group_46220] +[group_46221] +[group_46222] +[group_46223] +[group_46224] +[group_46225] +[group_46226] +[group_46227] +[group_46228] +[group_46229] +[group_46230] +[group_46231] +[group_46232] +[group_46233] +[group_46234] +[group_46235] +[group_46236] +[group_46237] +[group_46238] +[group_46239] +[group_46240] +[group_46241] +[group_46242] +[group_46243] +[group_46244] +[group_46245] +[group_46246] +[group_46247] +[group_46248] +[group_46249] +[group_46250] +[group_46251] +[group_46252] +[group_46253] +[group_46254] +[group_46255] +[group_46256] +[group_46257] +[group_46258] +[group_46259] +[group_46260] +[group_46261] +[group_46262] +[group_46263] +[group_46264] +[group_46265] +[group_46266] +[group_46267] +[group_46268] +[group_46269] +[group_46270] +[group_46271] +[group_46272] +[group_46273] +[group_46274] +[group_46275] +[group_46276] +[group_46277] +[group_46278] +[group_46279] +[group_46280] +[group_46281] +[group_46282] +[group_46283] +[group_46284] +[group_46285] +[group_46286] +[group_46287] +[group_46288] +[group_46289] +[group_46290] +[group_46291] +[group_46292] +[group_46293] +[group_46294] +[group_46295] +[group_46296] +[group_46297] +[group_46298] +[group_46299] +[group_46300] +[group_46301] +[group_46302] +[group_46303] +[group_46304] +[group_46305] +[group_46306] +[group_46307] +[group_46308] +[group_46309] +[group_46310] +[group_46311] +[group_46312] +[group_46313] +[group_46314] +[group_46315] +[group_46316] +[group_46317] +[group_46318] +[group_46319] +[group_46320] +[group_46321] +[group_46322] +[group_46323] +[group_46324] +[group_46325] +[group_46326] +[group_46327] +[group_46328] +[group_46329] +[group_46330] +[group_46331] +[group_46332] +[group_46333] +[group_46334] +[group_46335] +[group_46336] +[group_46337] +[group_46338] +[group_46339] +[group_46340] +[group_46341] +[group_46342] +[group_46343] +[group_46344] +[group_46345] +[group_46346] +[group_46347] +[group_46348] +[group_46349] +[group_46350] +[group_46351] +[group_46352] +[group_46353] +[group_46354] +[group_46355] +[group_46356] +[group_46357] +[group_46358] +[group_46359] +[group_46360] +[group_46361] +[group_46362] +[group_46363] +[group_46364] +[group_46365] +[group_46366] +[group_46367] +[group_46368] +[group_46369] +[group_46370] +[group_46371] +[group_46372] +[group_46373] +[group_46374] +[group_46375] +[group_46376] +[group_46377] +[group_46378] +[group_46379] +[group_46380] +[group_46381] +[group_46382] +[group_46383] +[group_46384] +[group_46385] +[group_46386] +[group_46387] +[group_46388] +[group_46389] +[group_46390] +[group_46391] +[group_46392] +[group_46393] +[group_46394] +[group_46395] +[group_46396] +[group_46397] +[group_46398] +[group_46399] +[group_46400] +[group_46401] +[group_46402] +[group_46403] +[group_46404] +[group_46405] +[group_46406] +[group_46407] +[group_46408] +[group_46409] +[group_46410] +[group_46411] +[group_46412] +[group_46413] +[group_46414] +[group_46415] +[group_46416] +[group_46417] +[group_46418] +[group_46419] +[group_46420] +[group_46421] +[group_46422] +[group_46423] +[group_46424] +[group_46425] +[group_46426] +[group_46427] +[group_46428] +[group_46429] +[group_46430] +[group_46431] +[group_46432] +[group_46433] +[group_46434] +[group_46435] +[group_46436] +[group_46437] +[group_46438] +[group_46439] +[group_46440] +[group_46441] +[group_46442] +[group_46443] +[group_46444] +[group_46445] +[group_46446] +[group_46447] +[group_46448] +[group_46449] +[group_46450] +[group_46451] +[group_46452] +[group_46453] +[group_46454] +[group_46455] +[group_46456] +[group_46457] +[group_46458] +[group_46459] +[group_46460] +[group_46461] +[group_46462] +[group_46463] +[group_46464] +[group_46465] +[group_46466] +[group_46467] +[group_46468] +[group_46469] +[group_46470] +[group_46471] +[group_46472] +[group_46473] +[group_46474] +[group_46475] +[group_46476] +[group_46477] +[group_46478] +[group_46479] +[group_46480] +[group_46481] +[group_46482] +[group_46483] +[group_46484] +[group_46485] +[group_46486] +[group_46487] +[group_46488] +[group_46489] +[group_46490] +[group_46491] +[group_46492] +[group_46493] +[group_46494] +[group_46495] +[group_46496] +[group_46497] +[group_46498] +[group_46499] +[group_46500] +[group_46501] +[group_46502] +[group_46503] +[group_46504] +[group_46505] +[group_46506] +[group_46507] +[group_46508] +[group_46509] +[group_46510] +[group_46511] +[group_46512] +[group_46513] +[group_46514] +[group_46515] +[group_46516] +[group_46517] +[group_46518] +[group_46519] +[group_46520] +[group_46521] +[group_46522] +[group_46523] +[group_46524] +[group_46525] +[group_46526] +[group_46527] +[group_46528] +[group_46529] +[group_46530] +[group_46531] +[group_46532] +[group_46533] +[group_46534] +[group_46535] +[group_46536] +[group_46537] +[group_46538] +[group_46539] +[group_46540] +[group_46541] +[group_46542] +[group_46543] +[group_46544] +[group_46545] +[group_46546] +[group_46547] +[group_46548] +[group_46549] +[group_46550] +[group_46551] +[group_46552] +[group_46553] +[group_46554] +[group_46555] +[group_46556] +[group_46557] +[group_46558] +[group_46559] +[group_46560] +[group_46561] +[group_46562] +[group_46563] +[group_46564] +[group_46565] +[group_46566] +[group_46567] +[group_46568] +[group_46569] +[group_46570] +[group_46571] +[group_46572] +[group_46573] +[group_46574] +[group_46575] +[group_46576] +[group_46577] +[group_46578] +[group_46579] +[group_46580] +[group_46581] +[group_46582] +[group_46583] +[group_46584] +[group_46585] +[group_46586] +[group_46587] +[group_46588] +[group_46589] +[group_46590] +[group_46591] +[group_46592] +[group_46593] +[group_46594] +[group_46595] +[group_46596] +[group_46597] +[group_46598] +[group_46599] +[group_46600] +[group_46601] +[group_46602] +[group_46603] +[group_46604] +[group_46605] +[group_46606] +[group_46607] +[group_46608] +[group_46609] +[group_46610] +[group_46611] +[group_46612] +[group_46613] +[group_46614] +[group_46615] +[group_46616] +[group_46617] +[group_46618] +[group_46619] +[group_46620] +[group_46621] +[group_46622] +[group_46623] +[group_46624] +[group_46625] +[group_46626] +[group_46627] +[group_46628] +[group_46629] +[group_46630] +[group_46631] +[group_46632] +[group_46633] +[group_46634] +[group_46635] +[group_46636] +[group_46637] +[group_46638] +[group_46639] +[group_46640] +[group_46641] +[group_46642] +[group_46643] +[group_46644] +[group_46645] +[group_46646] +[group_46647] +[group_46648] +[group_46649] +[group_46650] +[group_46651] +[group_46652] +[group_46653] +[group_46654] +[group_46655] +[group_46656] +[group_46657] +[group_46658] +[group_46659] +[group_46660] +[group_46661] +[group_46662] +[group_46663] +[group_46664] +[group_46665] +[group_46666] +[group_46667] +[group_46668] +[group_46669] +[group_46670] +[group_46671] +[group_46672] +[group_46673] +[group_46674] +[group_46675] +[group_46676] +[group_46677] +[group_46678] +[group_46679] +[group_46680] +[group_46681] +[group_46682] +[group_46683] +[group_46684] +[group_46685] +[group_46686] +[group_46687] +[group_46688] +[group_46689] +[group_46690] +[group_46691] +[group_46692] +[group_46693] +[group_46694] +[group_46695] +[group_46696] +[group_46697] +[group_46698] +[group_46699] +[group_46700] +[group_46701] +[group_46702] +[group_46703] +[group_46704] +[group_46705] +[group_46706] +[group_46707] +[group_46708] +[group_46709] +[group_46710] +[group_46711] +[group_46712] +[group_46713] +[group_46714] +[group_46715] +[group_46716] +[group_46717] +[group_46718] +[group_46719] +[group_46720] +[group_46721] +[group_46722] +[group_46723] +[group_46724] +[group_46725] +[group_46726] +[group_46727] +[group_46728] +[group_46729] +[group_46730] +[group_46731] +[group_46732] +[group_46733] +[group_46734] +[group_46735] +[group_46736] +[group_46737] +[group_46738] +[group_46739] +[group_46740] +[group_46741] +[group_46742] +[group_46743] +[group_46744] +[group_46745] +[group_46746] +[group_46747] +[group_46748] +[group_46749] +[group_46750] +[group_46751] +[group_46752] +[group_46753] +[group_46754] +[group_46755] +[group_46756] +[group_46757] +[group_46758] +[group_46759] +[group_46760] +[group_46761] +[group_46762] +[group_46763] +[group_46764] +[group_46765] +[group_46766] +[group_46767] +[group_46768] +[group_46769] +[group_46770] +[group_46771] +[group_46772] +[group_46773] +[group_46774] +[group_46775] +[group_46776] +[group_46777] +[group_46778] +[group_46779] +[group_46780] +[group_46781] +[group_46782] +[group_46783] +[group_46784] +[group_46785] +[group_46786] +[group_46787] +[group_46788] +[group_46789] +[group_46790] +[group_46791] +[group_46792] +[group_46793] +[group_46794] +[group_46795] +[group_46796] +[group_46797] +[group_46798] +[group_46799] +[group_46800] +[group_46801] +[group_46802] +[group_46803] +[group_46804] +[group_46805] +[group_46806] +[group_46807] +[group_46808] +[group_46809] +[group_46810] +[group_46811] +[group_46812] +[group_46813] +[group_46814] +[group_46815] +[group_46816] +[group_46817] +[group_46818] +[group_46819] +[group_46820] +[group_46821] +[group_46822] +[group_46823] +[group_46824] +[group_46825] +[group_46826] +[group_46827] +[group_46828] +[group_46829] +[group_46830] +[group_46831] +[group_46832] +[group_46833] +[group_46834] +[group_46835] +[group_46836] +[group_46837] +[group_46838] +[group_46839] +[group_46840] +[group_46841] +[group_46842] +[group_46843] +[group_46844] +[group_46845] +[group_46846] +[group_46847] +[group_46848] +[group_46849] +[group_46850] +[group_46851] +[group_46852] +[group_46853] +[group_46854] +[group_46855] +[group_46856] +[group_46857] +[group_46858] +[group_46859] +[group_46860] +[group_46861] +[group_46862] +[group_46863] +[group_46864] +[group_46865] +[group_46866] +[group_46867] +[group_46868] +[group_46869] +[group_46870] +[group_46871] +[group_46872] +[group_46873] +[group_46874] +[group_46875] +[group_46876] +[group_46877] +[group_46878] +[group_46879] +[group_46880] +[group_46881] +[group_46882] +[group_46883] +[group_46884] +[group_46885] +[group_46886] +[group_46887] +[group_46888] +[group_46889] +[group_46890] +[group_46891] +[group_46892] +[group_46893] +[group_46894] +[group_46895] +[group_46896] +[group_46897] +[group_46898] +[group_46899] +[group_46900] +[group_46901] +[group_46902] +[group_46903] +[group_46904] +[group_46905] +[group_46906] +[group_46907] +[group_46908] +[group_46909] +[group_46910] +[group_46911] +[group_46912] +[group_46913] +[group_46914] +[group_46915] +[group_46916] +[group_46917] +[group_46918] +[group_46919] +[group_46920] +[group_46921] +[group_46922] +[group_46923] +[group_46924] +[group_46925] +[group_46926] +[group_46927] +[group_46928] +[group_46929] +[group_46930] +[group_46931] +[group_46932] +[group_46933] +[group_46934] +[group_46935] +[group_46936] +[group_46937] +[group_46938] +[group_46939] +[group_46940] +[group_46941] +[group_46942] +[group_46943] +[group_46944] +[group_46945] +[group_46946] +[group_46947] +[group_46948] +[group_46949] +[group_46950] +[group_46951] +[group_46952] +[group_46953] +[group_46954] +[group_46955] +[group_46956] +[group_46957] +[group_46958] +[group_46959] +[group_46960] +[group_46961] +[group_46962] +[group_46963] +[group_46964] +[group_46965] +[group_46966] +[group_46967] +[group_46968] +[group_46969] +[group_46970] +[group_46971] +[group_46972] +[group_46973] +[group_46974] +[group_46975] +[group_46976] +[group_46977] +[group_46978] +[group_46979] +[group_46980] +[group_46981] +[group_46982] +[group_46983] +[group_46984] +[group_46985] +[group_46986] +[group_46987] +[group_46988] +[group_46989] +[group_46990] +[group_46991] +[group_46992] +[group_46993] +[group_46994] +[group_46995] +[group_46996] +[group_46997] +[group_46998] +[group_46999] +[group_47000] +[group_47001] +[group_47002] +[group_47003] +[group_47004] +[group_47005] +[group_47006] +[group_47007] +[group_47008] +[group_47009] +[group_47010] +[group_47011] +[group_47012] +[group_47013] +[group_47014] +[group_47015] +[group_47016] +[group_47017] +[group_47018] +[group_47019] +[group_47020] +[group_47021] +[group_47022] +[group_47023] +[group_47024] +[group_47025] +[group_47026] +[group_47027] +[group_47028] +[group_47029] +[group_47030] +[group_47031] +[group_47032] +[group_47033] +[group_47034] +[group_47035] +[group_47036] +[group_47037] +[group_47038] +[group_47039] +[group_47040] +[group_47041] +[group_47042] +[group_47043] +[group_47044] +[group_47045] +[group_47046] +[group_47047] +[group_47048] +[group_47049] +[group_47050] +[group_47051] +[group_47052] +[group_47053] +[group_47054] +[group_47055] +[group_47056] +[group_47057] +[group_47058] +[group_47059] +[group_47060] +[group_47061] +[group_47062] +[group_47063] +[group_47064] +[group_47065] +[group_47066] +[group_47067] +[group_47068] +[group_47069] +[group_47070] +[group_47071] +[group_47072] +[group_47073] +[group_47074] +[group_47075] +[group_47076] +[group_47077] +[group_47078] +[group_47079] +[group_47080] +[group_47081] +[group_47082] +[group_47083] +[group_47084] +[group_47085] +[group_47086] +[group_47087] +[group_47088] +[group_47089] +[group_47090] +[group_47091] +[group_47092] +[group_47093] +[group_47094] +[group_47095] +[group_47096] +[group_47097] +[group_47098] +[group_47099] +[group_47100] +[group_47101] +[group_47102] +[group_47103] +[group_47104] +[group_47105] +[group_47106] +[group_47107] +[group_47108] +[group_47109] +[group_47110] +[group_47111] +[group_47112] +[group_47113] +[group_47114] +[group_47115] +[group_47116] +[group_47117] +[group_47118] +[group_47119] +[group_47120] +[group_47121] +[group_47122] +[group_47123] +[group_47124] +[group_47125] +[group_47126] +[group_47127] +[group_47128] +[group_47129] +[group_47130] +[group_47131] +[group_47132] +[group_47133] +[group_47134] +[group_47135] +[group_47136] +[group_47137] +[group_47138] +[group_47139] +[group_47140] +[group_47141] +[group_47142] +[group_47143] +[group_47144] +[group_47145] +[group_47146] +[group_47147] +[group_47148] +[group_47149] +[group_47150] +[group_47151] +[group_47152] +[group_47153] +[group_47154] +[group_47155] +[group_47156] +[group_47157] +[group_47158] +[group_47159] +[group_47160] +[group_47161] +[group_47162] +[group_47163] +[group_47164] +[group_47165] +[group_47166] +[group_47167] +[group_47168] +[group_47169] +[group_47170] +[group_47171] +[group_47172] +[group_47173] +[group_47174] +[group_47175] +[group_47176] +[group_47177] +[group_47178] +[group_47179] +[group_47180] +[group_47181] +[group_47182] +[group_47183] +[group_47184] +[group_47185] +[group_47186] +[group_47187] +[group_47188] +[group_47189] +[group_47190] +[group_47191] +[group_47192] +[group_47193] +[group_47194] +[group_47195] +[group_47196] +[group_47197] +[group_47198] +[group_47199] +[group_47200] +[group_47201] +[group_47202] +[group_47203] +[group_47204] +[group_47205] +[group_47206] +[group_47207] +[group_47208] +[group_47209] +[group_47210] +[group_47211] +[group_47212] +[group_47213] +[group_47214] +[group_47215] +[group_47216] +[group_47217] +[group_47218] +[group_47219] +[group_47220] +[group_47221] +[group_47222] +[group_47223] +[group_47224] +[group_47225] +[group_47226] +[group_47227] +[group_47228] +[group_47229] +[group_47230] +[group_47231] +[group_47232] +[group_47233] +[group_47234] +[group_47235] +[group_47236] +[group_47237] +[group_47238] +[group_47239] +[group_47240] +[group_47241] +[group_47242] +[group_47243] +[group_47244] +[group_47245] +[group_47246] +[group_47247] +[group_47248] +[group_47249] +[group_47250] +[group_47251] +[group_47252] +[group_47253] +[group_47254] +[group_47255] +[group_47256] +[group_47257] +[group_47258] +[group_47259] +[group_47260] +[group_47261] +[group_47262] +[group_47263] +[group_47264] +[group_47265] +[group_47266] +[group_47267] +[group_47268] +[group_47269] +[group_47270] +[group_47271] +[group_47272] +[group_47273] +[group_47274] +[group_47275] +[group_47276] +[group_47277] +[group_47278] +[group_47279] +[group_47280] +[group_47281] +[group_47282] +[group_47283] +[group_47284] +[group_47285] +[group_47286] +[group_47287] +[group_47288] +[group_47289] +[group_47290] +[group_47291] +[group_47292] +[group_47293] +[group_47294] +[group_47295] +[group_47296] +[group_47297] +[group_47298] +[group_47299] +[group_47300] +[group_47301] +[group_47302] +[group_47303] +[group_47304] +[group_47305] +[group_47306] +[group_47307] +[group_47308] +[group_47309] +[group_47310] +[group_47311] +[group_47312] +[group_47313] +[group_47314] +[group_47315] +[group_47316] +[group_47317] +[group_47318] +[group_47319] +[group_47320] +[group_47321] +[group_47322] +[group_47323] +[group_47324] +[group_47325] +[group_47326] +[group_47327] +[group_47328] +[group_47329] +[group_47330] +[group_47331] +[group_47332] +[group_47333] +[group_47334] +[group_47335] +[group_47336] +[group_47337] +[group_47338] +[group_47339] +[group_47340] +[group_47341] +[group_47342] +[group_47343] +[group_47344] +[group_47345] +[group_47346] +[group_47347] +[group_47348] +[group_47349] +[group_47350] +[group_47351] +[group_47352] +[group_47353] +[group_47354] +[group_47355] +[group_47356] +[group_47357] +[group_47358] +[group_47359] +[group_47360] +[group_47361] +[group_47362] +[group_47363] +[group_47364] +[group_47365] +[group_47366] +[group_47367] +[group_47368] +[group_47369] +[group_47370] +[group_47371] +[group_47372] +[group_47373] +[group_47374] +[group_47375] +[group_47376] +[group_47377] +[group_47378] +[group_47379] +[group_47380] +[group_47381] +[group_47382] +[group_47383] +[group_47384] +[group_47385] +[group_47386] +[group_47387] +[group_47388] +[group_47389] +[group_47390] +[group_47391] +[group_47392] +[group_47393] +[group_47394] +[group_47395] +[group_47396] +[group_47397] +[group_47398] +[group_47399] +[group_47400] +[group_47401] +[group_47402] +[group_47403] +[group_47404] +[group_47405] +[group_47406] +[group_47407] +[group_47408] +[group_47409] +[group_47410] +[group_47411] +[group_47412] +[group_47413] +[group_47414] +[group_47415] +[group_47416] +[group_47417] +[group_47418] +[group_47419] +[group_47420] +[group_47421] +[group_47422] +[group_47423] +[group_47424] +[group_47425] +[group_47426] +[group_47427] +[group_47428] +[group_47429] +[group_47430] +[group_47431] +[group_47432] +[group_47433] +[group_47434] +[group_47435] +[group_47436] +[group_47437] +[group_47438] +[group_47439] +[group_47440] +[group_47441] +[group_47442] +[group_47443] +[group_47444] +[group_47445] +[group_47446] +[group_47447] +[group_47448] +[group_47449] +[group_47450] +[group_47451] +[group_47452] +[group_47453] +[group_47454] +[group_47455] +[group_47456] +[group_47457] +[group_47458] +[group_47459] +[group_47460] +[group_47461] +[group_47462] +[group_47463] +[group_47464] +[group_47465] +[group_47466] +[group_47467] +[group_47468] +[group_47469] +[group_47470] +[group_47471] +[group_47472] +[group_47473] +[group_47474] +[group_47475] +[group_47476] +[group_47477] +[group_47478] +[group_47479] +[group_47480] +[group_47481] +[group_47482] +[group_47483] +[group_47484] +[group_47485] +[group_47486] +[group_47487] +[group_47488] +[group_47489] +[group_47490] +[group_47491] +[group_47492] +[group_47493] +[group_47494] +[group_47495] +[group_47496] +[group_47497] +[group_47498] +[group_47499] +[group_47500] +[group_47501] +[group_47502] +[group_47503] +[group_47504] +[group_47505] +[group_47506] +[group_47507] +[group_47508] +[group_47509] +[group_47510] +[group_47511] +[group_47512] +[group_47513] +[group_47514] +[group_47515] +[group_47516] +[group_47517] +[group_47518] +[group_47519] +[group_47520] +[group_47521] +[group_47522] +[group_47523] +[group_47524] +[group_47525] +[group_47526] +[group_47527] +[group_47528] +[group_47529] +[group_47530] +[group_47531] +[group_47532] +[group_47533] +[group_47534] +[group_47535] +[group_47536] +[group_47537] +[group_47538] +[group_47539] +[group_47540] +[group_47541] +[group_47542] +[group_47543] +[group_47544] +[group_47545] +[group_47546] +[group_47547] +[group_47548] +[group_47549] +[group_47550] +[group_47551] +[group_47552] +[group_47553] +[group_47554] +[group_47555] +[group_47556] +[group_47557] +[group_47558] +[group_47559] +[group_47560] +[group_47561] +[group_47562] +[group_47563] +[group_47564] +[group_47565] +[group_47566] +[group_47567] +[group_47568] +[group_47569] +[group_47570] +[group_47571] +[group_47572] +[group_47573] +[group_47574] +[group_47575] +[group_47576] +[group_47577] +[group_47578] +[group_47579] +[group_47580] +[group_47581] +[group_47582] +[group_47583] +[group_47584] +[group_47585] +[group_47586] +[group_47587] +[group_47588] +[group_47589] +[group_47590] +[group_47591] +[group_47592] +[group_47593] +[group_47594] +[group_47595] +[group_47596] +[group_47597] +[group_47598] +[group_47599] +[group_47600] +[group_47601] +[group_47602] +[group_47603] +[group_47604] +[group_47605] +[group_47606] +[group_47607] +[group_47608] +[group_47609] +[group_47610] +[group_47611] +[group_47612] +[group_47613] +[group_47614] +[group_47615] +[group_47616] +[group_47617] +[group_47618] +[group_47619] +[group_47620] +[group_47621] +[group_47622] +[group_47623] +[group_47624] +[group_47625] +[group_47626] +[group_47627] +[group_47628] +[group_47629] +[group_47630] +[group_47631] +[group_47632] +[group_47633] +[group_47634] +[group_47635] +[group_47636] +[group_47637] +[group_47638] +[group_47639] +[group_47640] +[group_47641] +[group_47642] +[group_47643] +[group_47644] +[group_47645] +[group_47646] +[group_47647] +[group_47648] +[group_47649] +[group_47650] +[group_47651] +[group_47652] +[group_47653] +[group_47654] +[group_47655] +[group_47656] +[group_47657] +[group_47658] +[group_47659] +[group_47660] +[group_47661] +[group_47662] +[group_47663] +[group_47664] +[group_47665] +[group_47666] +[group_47667] +[group_47668] +[group_47669] +[group_47670] +[group_47671] +[group_47672] +[group_47673] +[group_47674] +[group_47675] +[group_47676] +[group_47677] +[group_47678] +[group_47679] +[group_47680] +[group_47681] +[group_47682] +[group_47683] +[group_47684] +[group_47685] +[group_47686] +[group_47687] +[group_47688] +[group_47689] +[group_47690] +[group_47691] +[group_47692] +[group_47693] +[group_47694] +[group_47695] +[group_47696] +[group_47697] +[group_47698] +[group_47699] +[group_47700] +[group_47701] +[group_47702] +[group_47703] +[group_47704] +[group_47705] +[group_47706] +[group_47707] +[group_47708] +[group_47709] +[group_47710] +[group_47711] +[group_47712] +[group_47713] +[group_47714] +[group_47715] +[group_47716] +[group_47717] +[group_47718] +[group_47719] +[group_47720] +[group_47721] +[group_47722] +[group_47723] +[group_47724] +[group_47725] +[group_47726] +[group_47727] +[group_47728] +[group_47729] +[group_47730] +[group_47731] +[group_47732] +[group_47733] +[group_47734] +[group_47735] +[group_47736] +[group_47737] +[group_47738] +[group_47739] +[group_47740] +[group_47741] +[group_47742] +[group_47743] +[group_47744] +[group_47745] +[group_47746] +[group_47747] +[group_47748] +[group_47749] +[group_47750] +[group_47751] +[group_47752] +[group_47753] +[group_47754] +[group_47755] +[group_47756] +[group_47757] +[group_47758] +[group_47759] +[group_47760] +[group_47761] +[group_47762] +[group_47763] +[group_47764] +[group_47765] +[group_47766] +[group_47767] +[group_47768] +[group_47769] +[group_47770] +[group_47771] +[group_47772] +[group_47773] +[group_47774] +[group_47775] +[group_47776] +[group_47777] +[group_47778] +[group_47779] +[group_47780] +[group_47781] +[group_47782] +[group_47783] +[group_47784] +[group_47785] +[group_47786] +[group_47787] +[group_47788] +[group_47789] +[group_47790] +[group_47791] +[group_47792] +[group_47793] +[group_47794] +[group_47795] +[group_47796] +[group_47797] +[group_47798] +[group_47799] +[group_47800] +[group_47801] +[group_47802] +[group_47803] +[group_47804] +[group_47805] +[group_47806] +[group_47807] +[group_47808] +[group_47809] +[group_47810] +[group_47811] +[group_47812] +[group_47813] +[group_47814] +[group_47815] +[group_47816] +[group_47817] +[group_47818] +[group_47819] +[group_47820] +[group_47821] +[group_47822] +[group_47823] +[group_47824] +[group_47825] +[group_47826] +[group_47827] +[group_47828] +[group_47829] +[group_47830] +[group_47831] +[group_47832] +[group_47833] +[group_47834] +[group_47835] +[group_47836] +[group_47837] +[group_47838] +[group_47839] +[group_47840] +[group_47841] +[group_47842] +[group_47843] +[group_47844] +[group_47845] +[group_47846] +[group_47847] +[group_47848] +[group_47849] +[group_47850] +[group_47851] +[group_47852] +[group_47853] +[group_47854] +[group_47855] +[group_47856] +[group_47857] +[group_47858] +[group_47859] +[group_47860] +[group_47861] +[group_47862] +[group_47863] +[group_47864] +[group_47865] +[group_47866] +[group_47867] +[group_47868] +[group_47869] +[group_47870] +[group_47871] +[group_47872] +[group_47873] +[group_47874] +[group_47875] +[group_47876] +[group_47877] +[group_47878] +[group_47879] +[group_47880] +[group_47881] +[group_47882] +[group_47883] +[group_47884] +[group_47885] +[group_47886] +[group_47887] +[group_47888] +[group_47889] +[group_47890] +[group_47891] +[group_47892] +[group_47893] +[group_47894] +[group_47895] +[group_47896] +[group_47897] +[group_47898] +[group_47899] +[group_47900] +[group_47901] +[group_47902] +[group_47903] +[group_47904] +[group_47905] +[group_47906] +[group_47907] +[group_47908] +[group_47909] +[group_47910] +[group_47911] +[group_47912] +[group_47913] +[group_47914] +[group_47915] +[group_47916] +[group_47917] +[group_47918] +[group_47919] +[group_47920] +[group_47921] +[group_47922] +[group_47923] +[group_47924] +[group_47925] +[group_47926] +[group_47927] +[group_47928] +[group_47929] +[group_47930] +[group_47931] +[group_47932] +[group_47933] +[group_47934] +[group_47935] +[group_47936] +[group_47937] +[group_47938] +[group_47939] +[group_47940] +[group_47941] +[group_47942] +[group_47943] +[group_47944] +[group_47945] +[group_47946] +[group_47947] +[group_47948] +[group_47949] +[group_47950] +[group_47951] +[group_47952] +[group_47953] +[group_47954] +[group_47955] +[group_47956] +[group_47957] +[group_47958] +[group_47959] +[group_47960] +[group_47961] +[group_47962] +[group_47963] +[group_47964] +[group_47965] +[group_47966] +[group_47967] +[group_47968] +[group_47969] +[group_47970] +[group_47971] +[group_47972] +[group_47973] +[group_47974] +[group_47975] +[group_47976] +[group_47977] +[group_47978] +[group_47979] +[group_47980] +[group_47981] +[group_47982] +[group_47983] +[group_47984] +[group_47985] +[group_47986] +[group_47987] +[group_47988] +[group_47989] +[group_47990] +[group_47991] +[group_47992] +[group_47993] +[group_47994] +[group_47995] +[group_47996] +[group_47997] +[group_47998] +[group_47999] +[group_48000] +[group_48001] +[group_48002] +[group_48003] +[group_48004] +[group_48005] +[group_48006] +[group_48007] +[group_48008] +[group_48009] +[group_48010] +[group_48011] +[group_48012] +[group_48013] +[group_48014] +[group_48015] +[group_48016] +[group_48017] +[group_48018] +[group_48019] +[group_48020] +[group_48021] +[group_48022] +[group_48023] +[group_48024] +[group_48025] +[group_48026] +[group_48027] +[group_48028] +[group_48029] +[group_48030] +[group_48031] +[group_48032] +[group_48033] +[group_48034] +[group_48035] +[group_48036] +[group_48037] +[group_48038] +[group_48039] +[group_48040] +[group_48041] +[group_48042] +[group_48043] +[group_48044] +[group_48045] +[group_48046] +[group_48047] +[group_48048] +[group_48049] +[group_48050] +[group_48051] +[group_48052] +[group_48053] +[group_48054] +[group_48055] +[group_48056] +[group_48057] +[group_48058] +[group_48059] +[group_48060] +[group_48061] +[group_48062] +[group_48063] +[group_48064] +[group_48065] +[group_48066] +[group_48067] +[group_48068] +[group_48069] +[group_48070] +[group_48071] +[group_48072] +[group_48073] +[group_48074] +[group_48075] +[group_48076] +[group_48077] +[group_48078] +[group_48079] +[group_48080] +[group_48081] +[group_48082] +[group_48083] +[group_48084] +[group_48085] +[group_48086] +[group_48087] +[group_48088] +[group_48089] +[group_48090] +[group_48091] +[group_48092] +[group_48093] +[group_48094] +[group_48095] +[group_48096] +[group_48097] +[group_48098] +[group_48099] +[group_48100] +[group_48101] +[group_48102] +[group_48103] +[group_48104] +[group_48105] +[group_48106] +[group_48107] +[group_48108] +[group_48109] +[group_48110] +[group_48111] +[group_48112] +[group_48113] +[group_48114] +[group_48115] +[group_48116] +[group_48117] +[group_48118] +[group_48119] +[group_48120] +[group_48121] +[group_48122] +[group_48123] +[group_48124] +[group_48125] +[group_48126] +[group_48127] +[group_48128] +[group_48129] +[group_48130] +[group_48131] +[group_48132] +[group_48133] +[group_48134] +[group_48135] +[group_48136] +[group_48137] +[group_48138] +[group_48139] +[group_48140] +[group_48141] +[group_48142] +[group_48143] +[group_48144] +[group_48145] +[group_48146] +[group_48147] +[group_48148] +[group_48149] +[group_48150] +[group_48151] +[group_48152] +[group_48153] +[group_48154] +[group_48155] +[group_48156] +[group_48157] +[group_48158] +[group_48159] +[group_48160] +[group_48161] +[group_48162] +[group_48163] +[group_48164] +[group_48165] +[group_48166] +[group_48167] +[group_48168] +[group_48169] +[group_48170] +[group_48171] +[group_48172] +[group_48173] +[group_48174] +[group_48175] +[group_48176] +[group_48177] +[group_48178] +[group_48179] +[group_48180] +[group_48181] +[group_48182] +[group_48183] +[group_48184] +[group_48185] +[group_48186] +[group_48187] +[group_48188] +[group_48189] +[group_48190] +[group_48191] +[group_48192] +[group_48193] +[group_48194] +[group_48195] +[group_48196] +[group_48197] +[group_48198] +[group_48199] +[group_48200] +[group_48201] +[group_48202] +[group_48203] +[group_48204] +[group_48205] +[group_48206] +[group_48207] +[group_48208] +[group_48209] +[group_48210] +[group_48211] +[group_48212] +[group_48213] +[group_48214] +[group_48215] +[group_48216] +[group_48217] +[group_48218] +[group_48219] +[group_48220] +[group_48221] +[group_48222] +[group_48223] +[group_48224] +[group_48225] +[group_48226] +[group_48227] +[group_48228] +[group_48229] +[group_48230] +[group_48231] +[group_48232] +[group_48233] +[group_48234] +[group_48235] +[group_48236] +[group_48237] +[group_48238] +[group_48239] +[group_48240] +[group_48241] +[group_48242] +[group_48243] +[group_48244] +[group_48245] +[group_48246] +[group_48247] +[group_48248] +[group_48249] +[group_48250] +[group_48251] +[group_48252] +[group_48253] +[group_48254] +[group_48255] +[group_48256] +[group_48257] +[group_48258] +[group_48259] +[group_48260] +[group_48261] +[group_48262] +[group_48263] +[group_48264] +[group_48265] +[group_48266] +[group_48267] +[group_48268] +[group_48269] +[group_48270] +[group_48271] +[group_48272] +[group_48273] +[group_48274] +[group_48275] +[group_48276] +[group_48277] +[group_48278] +[group_48279] +[group_48280] +[group_48281] +[group_48282] +[group_48283] +[group_48284] +[group_48285] +[group_48286] +[group_48287] +[group_48288] +[group_48289] +[group_48290] +[group_48291] +[group_48292] +[group_48293] +[group_48294] +[group_48295] +[group_48296] +[group_48297] +[group_48298] +[group_48299] +[group_48300] +[group_48301] +[group_48302] +[group_48303] +[group_48304] +[group_48305] +[group_48306] +[group_48307] +[group_48308] +[group_48309] +[group_48310] +[group_48311] +[group_48312] +[group_48313] +[group_48314] +[group_48315] +[group_48316] +[group_48317] +[group_48318] +[group_48319] +[group_48320] +[group_48321] +[group_48322] +[group_48323] +[group_48324] +[group_48325] +[group_48326] +[group_48327] +[group_48328] +[group_48329] +[group_48330] +[group_48331] +[group_48332] +[group_48333] +[group_48334] +[group_48335] +[group_48336] +[group_48337] +[group_48338] +[group_48339] +[group_48340] +[group_48341] +[group_48342] +[group_48343] +[group_48344] +[group_48345] +[group_48346] +[group_48347] +[group_48348] +[group_48349] +[group_48350] +[group_48351] +[group_48352] +[group_48353] +[group_48354] +[group_48355] +[group_48356] +[group_48357] +[group_48358] +[group_48359] +[group_48360] +[group_48361] +[group_48362] +[group_48363] +[group_48364] +[group_48365] +[group_48366] +[group_48367] +[group_48368] +[group_48369] +[group_48370] +[group_48371] +[group_48372] +[group_48373] +[group_48374] +[group_48375] +[group_48376] +[group_48377] +[group_48378] +[group_48379] +[group_48380] +[group_48381] +[group_48382] +[group_48383] +[group_48384] +[group_48385] +[group_48386] +[group_48387] +[group_48388] +[group_48389] +[group_48390] +[group_48391] +[group_48392] +[group_48393] +[group_48394] +[group_48395] +[group_48396] +[group_48397] +[group_48398] +[group_48399] +[group_48400] +[group_48401] +[group_48402] +[group_48403] +[group_48404] +[group_48405] +[group_48406] +[group_48407] +[group_48408] +[group_48409] +[group_48410] +[group_48411] +[group_48412] +[group_48413] +[group_48414] +[group_48415] +[group_48416] +[group_48417] +[group_48418] +[group_48419] +[group_48420] +[group_48421] +[group_48422] +[group_48423] +[group_48424] +[group_48425] +[group_48426] +[group_48427] +[group_48428] +[group_48429] +[group_48430] +[group_48431] +[group_48432] +[group_48433] +[group_48434] +[group_48435] +[group_48436] +[group_48437] +[group_48438] +[group_48439] +[group_48440] +[group_48441] +[group_48442] +[group_48443] +[group_48444] +[group_48445] +[group_48446] +[group_48447] +[group_48448] +[group_48449] +[group_48450] +[group_48451] +[group_48452] +[group_48453] +[group_48454] +[group_48455] +[group_48456] +[group_48457] +[group_48458] +[group_48459] +[group_48460] +[group_48461] +[group_48462] +[group_48463] +[group_48464] +[group_48465] +[group_48466] +[group_48467] +[group_48468] +[group_48469] +[group_48470] +[group_48471] +[group_48472] +[group_48473] +[group_48474] +[group_48475] +[group_48476] +[group_48477] +[group_48478] +[group_48479] +[group_48480] +[group_48481] +[group_48482] +[group_48483] +[group_48484] +[group_48485] +[group_48486] +[group_48487] +[group_48488] +[group_48489] +[group_48490] +[group_48491] +[group_48492] +[group_48493] +[group_48494] +[group_48495] +[group_48496] +[group_48497] +[group_48498] +[group_48499] +[group_48500] +[group_48501] +[group_48502] +[group_48503] +[group_48504] +[group_48505] +[group_48506] +[group_48507] +[group_48508] +[group_48509] +[group_48510] +[group_48511] +[group_48512] +[group_48513] +[group_48514] +[group_48515] +[group_48516] +[group_48517] +[group_48518] +[group_48519] +[group_48520] +[group_48521] +[group_48522] +[group_48523] +[group_48524] +[group_48525] +[group_48526] +[group_48527] +[group_48528] +[group_48529] +[group_48530] +[group_48531] +[group_48532] +[group_48533] +[group_48534] +[group_48535] +[group_48536] +[group_48537] +[group_48538] +[group_48539] +[group_48540] +[group_48541] +[group_48542] +[group_48543] +[group_48544] +[group_48545] +[group_48546] +[group_48547] +[group_48548] +[group_48549] +[group_48550] +[group_48551] +[group_48552] +[group_48553] +[group_48554] +[group_48555] +[group_48556] +[group_48557] +[group_48558] +[group_48559] +[group_48560] +[group_48561] +[group_48562] +[group_48563] +[group_48564] +[group_48565] +[group_48566] +[group_48567] +[group_48568] +[group_48569] +[group_48570] +[group_48571] +[group_48572] +[group_48573] +[group_48574] +[group_48575] +[group_48576] +[group_48577] +[group_48578] +[group_48579] +[group_48580] +[group_48581] +[group_48582] +[group_48583] +[group_48584] +[group_48585] +[group_48586] +[group_48587] +[group_48588] +[group_48589] +[group_48590] +[group_48591] +[group_48592] +[group_48593] +[group_48594] +[group_48595] +[group_48596] +[group_48597] +[group_48598] +[group_48599] +[group_48600] +[group_48601] +[group_48602] +[group_48603] +[group_48604] +[group_48605] +[group_48606] +[group_48607] +[group_48608] +[group_48609] +[group_48610] +[group_48611] +[group_48612] +[group_48613] +[group_48614] +[group_48615] +[group_48616] +[group_48617] +[group_48618] +[group_48619] +[group_48620] +[group_48621] +[group_48622] +[group_48623] +[group_48624] +[group_48625] +[group_48626] +[group_48627] +[group_48628] +[group_48629] +[group_48630] +[group_48631] +[group_48632] +[group_48633] +[group_48634] +[group_48635] +[group_48636] +[group_48637] +[group_48638] +[group_48639] +[group_48640] +[group_48641] +[group_48642] +[group_48643] +[group_48644] +[group_48645] +[group_48646] +[group_48647] +[group_48648] +[group_48649] +[group_48650] +[group_48651] +[group_48652] +[group_48653] +[group_48654] +[group_48655] +[group_48656] +[group_48657] +[group_48658] +[group_48659] +[group_48660] +[group_48661] +[group_48662] +[group_48663] +[group_48664] +[group_48665] +[group_48666] +[group_48667] +[group_48668] +[group_48669] +[group_48670] +[group_48671] +[group_48672] +[group_48673] +[group_48674] +[group_48675] +[group_48676] +[group_48677] +[group_48678] +[group_48679] +[group_48680] +[group_48681] +[group_48682] +[group_48683] +[group_48684] +[group_48685] +[group_48686] +[group_48687] +[group_48688] +[group_48689] +[group_48690] +[group_48691] +[group_48692] +[group_48693] +[group_48694] +[group_48695] +[group_48696] +[group_48697] +[group_48698] +[group_48699] +[group_48700] +[group_48701] +[group_48702] +[group_48703] +[group_48704] +[group_48705] +[group_48706] +[group_48707] +[group_48708] +[group_48709] +[group_48710] +[group_48711] +[group_48712] +[group_48713] +[group_48714] +[group_48715] +[group_48716] +[group_48717] +[group_48718] +[group_48719] +[group_48720] +[group_48721] +[group_48722] +[group_48723] +[group_48724] +[group_48725] +[group_48726] +[group_48727] +[group_48728] +[group_48729] +[group_48730] +[group_48731] +[group_48732] +[group_48733] +[group_48734] +[group_48735] +[group_48736] +[group_48737] +[group_48738] +[group_48739] +[group_48740] +[group_48741] +[group_48742] +[group_48743] +[group_48744] +[group_48745] +[group_48746] +[group_48747] +[group_48748] +[group_48749] +[group_48750] +[group_48751] +[group_48752] +[group_48753] +[group_48754] +[group_48755] +[group_48756] +[group_48757] +[group_48758] +[group_48759] +[group_48760] +[group_48761] +[group_48762] +[group_48763] +[group_48764] +[group_48765] +[group_48766] +[group_48767] +[group_48768] +[group_48769] +[group_48770] +[group_48771] +[group_48772] +[group_48773] +[group_48774] +[group_48775] +[group_48776] +[group_48777] +[group_48778] +[group_48779] +[group_48780] +[group_48781] +[group_48782] +[group_48783] +[group_48784] +[group_48785] +[group_48786] +[group_48787] +[group_48788] +[group_48789] +[group_48790] +[group_48791] +[group_48792] +[group_48793] +[group_48794] +[group_48795] +[group_48796] +[group_48797] +[group_48798] +[group_48799] +[group_48800] +[group_48801] +[group_48802] +[group_48803] +[group_48804] +[group_48805] +[group_48806] +[group_48807] +[group_48808] +[group_48809] +[group_48810] +[group_48811] +[group_48812] +[group_48813] +[group_48814] +[group_48815] +[group_48816] +[group_48817] +[group_48818] +[group_48819] +[group_48820] +[group_48821] +[group_48822] +[group_48823] +[group_48824] +[group_48825] +[group_48826] +[group_48827] +[group_48828] +[group_48829] +[group_48830] +[group_48831] +[group_48832] +[group_48833] +[group_48834] +[group_48835] +[group_48836] +[group_48837] +[group_48838] +[group_48839] +[group_48840] +[group_48841] +[group_48842] +[group_48843] +[group_48844] +[group_48845] +[group_48846] +[group_48847] +[group_48848] +[group_48849] +[group_48850] +[group_48851] +[group_48852] +[group_48853] +[group_48854] +[group_48855] +[group_48856] +[group_48857] +[group_48858] +[group_48859] +[group_48860] +[group_48861] +[group_48862] +[group_48863] +[group_48864] +[group_48865] +[group_48866] +[group_48867] +[group_48868] +[group_48869] +[group_48870] +[group_48871] +[group_48872] +[group_48873] +[group_48874] +[group_48875] +[group_48876] +[group_48877] +[group_48878] +[group_48879] +[group_48880] +[group_48881] +[group_48882] +[group_48883] +[group_48884] +[group_48885] +[group_48886] +[group_48887] +[group_48888] +[group_48889] +[group_48890] +[group_48891] +[group_48892] +[group_48893] +[group_48894] +[group_48895] +[group_48896] +[group_48897] +[group_48898] +[group_48899] +[group_48900] +[group_48901] +[group_48902] +[group_48903] +[group_48904] +[group_48905] +[group_48906] +[group_48907] +[group_48908] +[group_48909] +[group_48910] +[group_48911] +[group_48912] +[group_48913] +[group_48914] +[group_48915] +[group_48916] +[group_48917] +[group_48918] +[group_48919] +[group_48920] +[group_48921] +[group_48922] +[group_48923] +[group_48924] +[group_48925] +[group_48926] +[group_48927] +[group_48928] +[group_48929] +[group_48930] +[group_48931] +[group_48932] +[group_48933] +[group_48934] +[group_48935] +[group_48936] +[group_48937] +[group_48938] +[group_48939] +[group_48940] +[group_48941] +[group_48942] +[group_48943] +[group_48944] +[group_48945] +[group_48946] +[group_48947] +[group_48948] +[group_48949] +[group_48950] +[group_48951] +[group_48952] +[group_48953] +[group_48954] +[group_48955] +[group_48956] +[group_48957] +[group_48958] +[group_48959] +[group_48960] +[group_48961] +[group_48962] +[group_48963] +[group_48964] +[group_48965] +[group_48966] +[group_48967] +[group_48968] +[group_48969] +[group_48970] +[group_48971] +[group_48972] +[group_48973] +[group_48974] +[group_48975] +[group_48976] +[group_48977] +[group_48978] +[group_48979] +[group_48980] +[group_48981] +[group_48982] +[group_48983] +[group_48984] +[group_48985] +[group_48986] +[group_48987] +[group_48988] +[group_48989] +[group_48990] +[group_48991] +[group_48992] +[group_48993] +[group_48994] +[group_48995] +[group_48996] +[group_48997] +[group_48998] +[group_48999] +[group_49000] +[group_49001] +[group_49002] +[group_49003] +[group_49004] +[group_49005] +[group_49006] +[group_49007] +[group_49008] +[group_49009] +[group_49010] +[group_49011] +[group_49012] +[group_49013] +[group_49014] +[group_49015] +[group_49016] +[group_49017] +[group_49018] +[group_49019] +[group_49020] +[group_49021] +[group_49022] +[group_49023] +[group_49024] +[group_49025] +[group_49026] +[group_49027] +[group_49028] +[group_49029] +[group_49030] +[group_49031] +[group_49032] +[group_49033] +[group_49034] +[group_49035] +[group_49036] +[group_49037] +[group_49038] +[group_49039] +[group_49040] +[group_49041] +[group_49042] +[group_49043] +[group_49044] +[group_49045] +[group_49046] +[group_49047] +[group_49048] +[group_49049] +[group_49050] +[group_49051] +[group_49052] +[group_49053] +[group_49054] +[group_49055] +[group_49056] +[group_49057] +[group_49058] +[group_49059] +[group_49060] +[group_49061] +[group_49062] +[group_49063] +[group_49064] +[group_49065] +[group_49066] +[group_49067] +[group_49068] +[group_49069] +[group_49070] +[group_49071] +[group_49072] +[group_49073] +[group_49074] +[group_49075] +[group_49076] +[group_49077] +[group_49078] +[group_49079] +[group_49080] +[group_49081] +[group_49082] +[group_49083] +[group_49084] +[group_49085] +[group_49086] +[group_49087] +[group_49088] +[group_49089] +[group_49090] +[group_49091] +[group_49092] +[group_49093] +[group_49094] +[group_49095] +[group_49096] +[group_49097] +[group_49098] +[group_49099] +[group_49100] +[group_49101] +[group_49102] +[group_49103] +[group_49104] +[group_49105] +[group_49106] +[group_49107] +[group_49108] +[group_49109] +[group_49110] +[group_49111] +[group_49112] +[group_49113] +[group_49114] +[group_49115] +[group_49116] +[group_49117] +[group_49118] +[group_49119] +[group_49120] +[group_49121] +[group_49122] +[group_49123] +[group_49124] +[group_49125] +[group_49126] +[group_49127] +[group_49128] +[group_49129] +[group_49130] +[group_49131] +[group_49132] +[group_49133] +[group_49134] +[group_49135] +[group_49136] +[group_49137] +[group_49138] +[group_49139] +[group_49140] +[group_49141] +[group_49142] +[group_49143] +[group_49144] +[group_49145] +[group_49146] +[group_49147] +[group_49148] +[group_49149] +[group_49150] +[group_49151] +[group_49152] +[group_49153] +[group_49154] +[group_49155] +[group_49156] +[group_49157] +[group_49158] +[group_49159] +[group_49160] +[group_49161] +[group_49162] +[group_49163] +[group_49164] +[group_49165] +[group_49166] +[group_49167] +[group_49168] +[group_49169] +[group_49170] +[group_49171] +[group_49172] +[group_49173] +[group_49174] +[group_49175] +[group_49176] +[group_49177] +[group_49178] +[group_49179] +[group_49180] +[group_49181] +[group_49182] +[group_49183] +[group_49184] +[group_49185] +[group_49186] +[group_49187] +[group_49188] +[group_49189] +[group_49190] +[group_49191] +[group_49192] +[group_49193] +[group_49194] +[group_49195] +[group_49196] +[group_49197] +[group_49198] +[group_49199] +[group_49200] +[group_49201] +[group_49202] +[group_49203] +[group_49204] +[group_49205] +[group_49206] +[group_49207] +[group_49208] +[group_49209] +[group_49210] +[group_49211] +[group_49212] +[group_49213] +[group_49214] +[group_49215] +[group_49216] +[group_49217] +[group_49218] +[group_49219] +[group_49220] +[group_49221] +[group_49222] +[group_49223] +[group_49224] +[group_49225] +[group_49226] +[group_49227] +[group_49228] +[group_49229] +[group_49230] +[group_49231] +[group_49232] +[group_49233] +[group_49234] +[group_49235] +[group_49236] +[group_49237] +[group_49238] +[group_49239] +[group_49240] +[group_49241] +[group_49242] +[group_49243] +[group_49244] +[group_49245] +[group_49246] +[group_49247] +[group_49248] +[group_49249] +[group_49250] +[group_49251] +[group_49252] +[group_49253] +[group_49254] +[group_49255] +[group_49256] +[group_49257] +[group_49258] +[group_49259] +[group_49260] +[group_49261] +[group_49262] +[group_49263] +[group_49264] +[group_49265] +[group_49266] +[group_49267] +[group_49268] +[group_49269] +[group_49270] +[group_49271] +[group_49272] +[group_49273] +[group_49274] +[group_49275] +[group_49276] +[group_49277] +[group_49278] +[group_49279] +[group_49280] +[group_49281] +[group_49282] +[group_49283] +[group_49284] +[group_49285] +[group_49286] +[group_49287] +[group_49288] +[group_49289] +[group_49290] +[group_49291] +[group_49292] +[group_49293] +[group_49294] +[group_49295] +[group_49296] +[group_49297] +[group_49298] +[group_49299] +[group_49300] +[group_49301] +[group_49302] +[group_49303] +[group_49304] +[group_49305] +[group_49306] +[group_49307] +[group_49308] +[group_49309] +[group_49310] +[group_49311] +[group_49312] +[group_49313] +[group_49314] +[group_49315] +[group_49316] +[group_49317] +[group_49318] +[group_49319] +[group_49320] +[group_49321] +[group_49322] +[group_49323] +[group_49324] +[group_49325] +[group_49326] +[group_49327] +[group_49328] +[group_49329] +[group_49330] +[group_49331] +[group_49332] +[group_49333] +[group_49334] +[group_49335] +[group_49336] +[group_49337] +[group_49338] +[group_49339] +[group_49340] +[group_49341] +[group_49342] +[group_49343] +[group_49344] +[group_49345] +[group_49346] +[group_49347] +[group_49348] +[group_49349] +[group_49350] +[group_49351] +[group_49352] +[group_49353] +[group_49354] +[group_49355] +[group_49356] +[group_49357] +[group_49358] +[group_49359] +[group_49360] +[group_49361] +[group_49362] +[group_49363] +[group_49364] +[group_49365] +[group_49366] +[group_49367] +[group_49368] +[group_49369] +[group_49370] +[group_49371] +[group_49372] +[group_49373] +[group_49374] +[group_49375] +[group_49376] +[group_49377] +[group_49378] +[group_49379] +[group_49380] +[group_49381] +[group_49382] +[group_49383] +[group_49384] +[group_49385] +[group_49386] +[group_49387] +[group_49388] +[group_49389] +[group_49390] +[group_49391] +[group_49392] +[group_49393] +[group_49394] +[group_49395] +[group_49396] +[group_49397] +[group_49398] +[group_49399] +[group_49400] +[group_49401] +[group_49402] +[group_49403] +[group_49404] +[group_49405] +[group_49406] +[group_49407] +[group_49408] +[group_49409] +[group_49410] +[group_49411] +[group_49412] +[group_49413] +[group_49414] +[group_49415] +[group_49416] +[group_49417] +[group_49418] +[group_49419] +[group_49420] +[group_49421] +[group_49422] +[group_49423] +[group_49424] +[group_49425] +[group_49426] +[group_49427] +[group_49428] +[group_49429] +[group_49430] +[group_49431] +[group_49432] +[group_49433] +[group_49434] +[group_49435] +[group_49436] +[group_49437] +[group_49438] +[group_49439] +[group_49440] +[group_49441] +[group_49442] +[group_49443] +[group_49444] +[group_49445] +[group_49446] +[group_49447] +[group_49448] +[group_49449] +[group_49450] +[group_49451] +[group_49452] +[group_49453] +[group_49454] +[group_49455] +[group_49456] +[group_49457] +[group_49458] +[group_49459] +[group_49460] +[group_49461] +[group_49462] +[group_49463] +[group_49464] +[group_49465] +[group_49466] +[group_49467] +[group_49468] +[group_49469] +[group_49470] +[group_49471] +[group_49472] +[group_49473] +[group_49474] +[group_49475] +[group_49476] +[group_49477] +[group_49478] +[group_49479] +[group_49480] +[group_49481] +[group_49482] +[group_49483] +[group_49484] +[group_49485] +[group_49486] +[group_49487] +[group_49488] +[group_49489] +[group_49490] +[group_49491] +[group_49492] +[group_49493] +[group_49494] +[group_49495] +[group_49496] +[group_49497] +[group_49498] +[group_49499] +[group_49500] +[group_49501] +[group_49502] +[group_49503] +[group_49504] +[group_49505] +[group_49506] +[group_49507] +[group_49508] +[group_49509] +[group_49510] +[group_49511] +[group_49512] +[group_49513] +[group_49514] +[group_49515] +[group_49516] +[group_49517] +[group_49518] +[group_49519] +[group_49520] +[group_49521] +[group_49522] +[group_49523] +[group_49524] +[group_49525] +[group_49526] +[group_49527] +[group_49528] +[group_49529] +[group_49530] +[group_49531] +[group_49532] +[group_49533] +[group_49534] +[group_49535] +[group_49536] +[group_49537] +[group_49538] +[group_49539] +[group_49540] +[group_49541] +[group_49542] +[group_49543] +[group_49544] +[group_49545] +[group_49546] +[group_49547] +[group_49548] +[group_49549] +[group_49550] +[group_49551] +[group_49552] +[group_49553] +[group_49554] +[group_49555] +[group_49556] +[group_49557] +[group_49558] +[group_49559] +[group_49560] +[group_49561] +[group_49562] +[group_49563] +[group_49564] +[group_49565] +[group_49566] +[group_49567] +[group_49568] +[group_49569] +[group_49570] +[group_49571] +[group_49572] +[group_49573] +[group_49574] +[group_49575] +[group_49576] +[group_49577] +[group_49578] +[group_49579] +[group_49580] +[group_49581] +[group_49582] +[group_49583] +[group_49584] +[group_49585] +[group_49586] +[group_49587] +[group_49588] +[group_49589] +[group_49590] +[group_49591] +[group_49592] +[group_49593] +[group_49594] +[group_49595] +[group_49596] +[group_49597] +[group_49598] +[group_49599] +[group_49600] +[group_49601] +[group_49602] +[group_49603] +[group_49604] +[group_49605] +[group_49606] +[group_49607] +[group_49608] +[group_49609] +[group_49610] +[group_49611] +[group_49612] +[group_49613] +[group_49614] +[group_49615] +[group_49616] +[group_49617] +[group_49618] +[group_49619] +[group_49620] +[group_49621] +[group_49622] +[group_49623] +[group_49624] +[group_49625] +[group_49626] +[group_49627] +[group_49628] +[group_49629] +[group_49630] +[group_49631] +[group_49632] +[group_49633] +[group_49634] +[group_49635] +[group_49636] +[group_49637] +[group_49638] +[group_49639] +[group_49640] +[group_49641] +[group_49642] +[group_49643] +[group_49644] +[group_49645] +[group_49646] +[group_49647] +[group_49648] +[group_49649] +[group_49650] +[group_49651] +[group_49652] +[group_49653] +[group_49654] +[group_49655] +[group_49656] +[group_49657] +[group_49658] +[group_49659] +[group_49660] +[group_49661] +[group_49662] +[group_49663] +[group_49664] +[group_49665] +[group_49666] +[group_49667] +[group_49668] +[group_49669] +[group_49670] +[group_49671] +[group_49672] +[group_49673] +[group_49674] +[group_49675] +[group_49676] +[group_49677] +[group_49678] +[group_49679] +[group_49680] +[group_49681] +[group_49682] +[group_49683] +[group_49684] +[group_49685] +[group_49686] +[group_49687] +[group_49688] +[group_49689] +[group_49690] +[group_49691] +[group_49692] +[group_49693] +[group_49694] +[group_49695] +[group_49696] +[group_49697] +[group_49698] +[group_49699] +[group_49700] +[group_49701] +[group_49702] +[group_49703] +[group_49704] +[group_49705] +[group_49706] +[group_49707] +[group_49708] +[group_49709] +[group_49710] +[group_49711] +[group_49712] +[group_49713] +[group_49714] +[group_49715] +[group_49716] +[group_49717] +[group_49718] +[group_49719] +[group_49720] +[group_49721] +[group_49722] +[group_49723] +[group_49724] +[group_49725] +[group_49726] +[group_49727] +[group_49728] +[group_49729] +[group_49730] +[group_49731] +[group_49732] +[group_49733] +[group_49734] +[group_49735] +[group_49736] +[group_49737] +[group_49738] +[group_49739] +[group_49740] +[group_49741] +[group_49742] +[group_49743] +[group_49744] +[group_49745] +[group_49746] +[group_49747] +[group_49748] +[group_49749] +[group_49750] +[group_49751] +[group_49752] +[group_49753] +[group_49754] +[group_49755] +[group_49756] +[group_49757] +[group_49758] +[group_49759] +[group_49760] +[group_49761] +[group_49762] +[group_49763] +[group_49764] +[group_49765] +[group_49766] +[group_49767] +[group_49768] +[group_49769] +[group_49770] +[group_49771] +[group_49772] +[group_49773] +[group_49774] +[group_49775] +[group_49776] +[group_49777] +[group_49778] +[group_49779] +[group_49780] +[group_49781] +[group_49782] +[group_49783] +[group_49784] +[group_49785] +[group_49786] +[group_49787] +[group_49788] +[group_49789] +[group_49790] +[group_49791] +[group_49792] +[group_49793] +[group_49794] +[group_49795] +[group_49796] +[group_49797] +[group_49798] +[group_49799] +[group_49800] +[group_49801] +[group_49802] +[group_49803] +[group_49804] +[group_49805] +[group_49806] +[group_49807] +[group_49808] +[group_49809] +[group_49810] +[group_49811] +[group_49812] +[group_49813] +[group_49814] +[group_49815] +[group_49816] +[group_49817] +[group_49818] +[group_49819] +[group_49820] +[group_49821] +[group_49822] +[group_49823] +[group_49824] +[group_49825] +[group_49826] +[group_49827] +[group_49828] +[group_49829] +[group_49830] +[group_49831] +[group_49832] +[group_49833] +[group_49834] +[group_49835] +[group_49836] +[group_49837] +[group_49838] +[group_49839] +[group_49840] +[group_49841] +[group_49842] +[group_49843] +[group_49844] +[group_49845] +[group_49846] +[group_49847] +[group_49848] +[group_49849] +[group_49850] +[group_49851] +[group_49852] +[group_49853] +[group_49854] +[group_49855] +[group_49856] +[group_49857] +[group_49858] +[group_49859] +[group_49860] +[group_49861] +[group_49862] +[group_49863] +[group_49864] +[group_49865] +[group_49866] +[group_49867] +[group_49868] +[group_49869] +[group_49870] +[group_49871] +[group_49872] +[group_49873] +[group_49874] +[group_49875] +[group_49876] +[group_49877] +[group_49878] +[group_49879] +[group_49880] +[group_49881] +[group_49882] +[group_49883] +[group_49884] +[group_49885] +[group_49886] +[group_49887] +[group_49888] +[group_49889] +[group_49890] +[group_49891] +[group_49892] +[group_49893] +[group_49894] +[group_49895] +[group_49896] +[group_49897] +[group_49898] +[group_49899] +[group_49900] +[group_49901] +[group_49902] +[group_49903] +[group_49904] +[group_49905] +[group_49906] +[group_49907] +[group_49908] +[group_49909] +[group_49910] +[group_49911] +[group_49912] +[group_49913] +[group_49914] +[group_49915] +[group_49916] +[group_49917] +[group_49918] +[group_49919] +[group_49920] +[group_49921] +[group_49922] +[group_49923] +[group_49924] +[group_49925] +[group_49926] +[group_49927] +[group_49928] +[group_49929] +[group_49930] +[group_49931] +[group_49932] +[group_49933] +[group_49934] +[group_49935] +[group_49936] +[group_49937] +[group_49938] +[group_49939] +[group_49940] +[group_49941] +[group_49942] +[group_49943] +[group_49944] +[group_49945] +[group_49946] +[group_49947] +[group_49948] +[group_49949] +[group_49950] +[group_49951] +[group_49952] +[group_49953] +[group_49954] +[group_49955] +[group_49956] +[group_49957] +[group_49958] +[group_49959] +[group_49960] +[group_49961] +[group_49962] +[group_49963] +[group_49964] +[group_49965] +[group_49966] +[group_49967] +[group_49968] +[group_49969] +[group_49970] +[group_49971] +[group_49972] +[group_49973] +[group_49974] +[group_49975] +[group_49976] +[group_49977] +[group_49978] +[group_49979] +[group_49980] +[group_49981] +[group_49982] +[group_49983] +[group_49984] +[group_49985] +[group_49986] +[group_49987] +[group_49988] +[group_49989] +[group_49990] +[group_49991] +[group_49992] +[group_49993] +[group_49994] +[group_49995] +[group_49996] +[group_49997] +[group_49998] +[group_49999] +[group_50000] +[group_50001] +[group_50002] +[group_50003] +[group_50004] +[group_50005] +[group_50006] +[group_50007] +[group_50008] +[group_50009] +[group_50010] +[group_50011] +[group_50012] +[group_50013] +[group_50014] +[group_50015] +[group_50016] +[group_50017] +[group_50018] +[group_50019] +[group_50020] +[group_50021] +[group_50022] +[group_50023] +[group_50024] +[group_50025] +[group_50026] +[group_50027] +[group_50028] +[group_50029] +[group_50030] +[group_50031] +[group_50032] +[group_50033] +[group_50034] +[group_50035] +[group_50036] +[group_50037] +[group_50038] +[group_50039] +[group_50040] +[group_50041] +[group_50042] +[group_50043] +[group_50044] +[group_50045] +[group_50046] +[group_50047] +[group_50048] +[group_50049] +[group_50050] +[group_50051] +[group_50052] +[group_50053] +[group_50054] +[group_50055] +[group_50056] +[group_50057] +[group_50058] +[group_50059] +[group_50060] +[group_50061] +[group_50062] +[group_50063] +[group_50064] +[group_50065] +[group_50066] +[group_50067] +[group_50068] +[group_50069] +[group_50070] +[group_50071] +[group_50072] +[group_50073] +[group_50074] +[group_50075] +[group_50076] +[group_50077] +[group_50078] +[group_50079] +[group_50080] +[group_50081] +[group_50082] +[group_50083] +[group_50084] +[group_50085] +[group_50086] +[group_50087] +[group_50088] +[group_50089] +[group_50090] +[group_50091] +[group_50092] +[group_50093] +[group_50094] +[group_50095] +[group_50096] +[group_50097] +[group_50098] +[group_50099] +[group_50100] +[group_50101] +[group_50102] +[group_50103] +[group_50104] +[group_50105] +[group_50106] +[group_50107] +[group_50108] +[group_50109] +[group_50110] +[group_50111] +[group_50112] +[group_50113] +[group_50114] +[group_50115] +[group_50116] +[group_50117] +[group_50118] +[group_50119] +[group_50120] +[group_50121] +[group_50122] +[group_50123] +[group_50124] +[group_50125] +[group_50126] +[group_50127] +[group_50128] +[group_50129] +[group_50130] +[group_50131] +[group_50132] +[group_50133] +[group_50134] +[group_50135] +[group_50136] +[group_50137] +[group_50138] +[group_50139] +[group_50140] +[group_50141] +[group_50142] +[group_50143] +[group_50144] +[group_50145] +[group_50146] +[group_50147] +[group_50148] +[group_50149] +[group_50150] +[group_50151] +[group_50152] +[group_50153] +[group_50154] +[group_50155] +[group_50156] +[group_50157] +[group_50158] +[group_50159] +[group_50160] +[group_50161] +[group_50162] +[group_50163] +[group_50164] +[group_50165] +[group_50166] +[group_50167] +[group_50168] +[group_50169] +[group_50170] +[group_50171] +[group_50172] +[group_50173] +[group_50174] +[group_50175] +[group_50176] +[group_50177] +[group_50178] +[group_50179] +[group_50180] +[group_50181] +[group_50182] +[group_50183] +[group_50184] +[group_50185] +[group_50186] +[group_50187] +[group_50188] +[group_50189] +[group_50190] +[group_50191] +[group_50192] +[group_50193] +[group_50194] +[group_50195] +[group_50196] +[group_50197] +[group_50198] +[group_50199] +[group_50200] +[group_50201] +[group_50202] +[group_50203] +[group_50204] +[group_50205] +[group_50206] +[group_50207] +[group_50208] +[group_50209] +[group_50210] +[group_50211] +[group_50212] +[group_50213] +[group_50214] +[group_50215] +[group_50216] +[group_50217] +[group_50218] +[group_50219] +[group_50220] +[group_50221] +[group_50222] +[group_50223] +[group_50224] +[group_50225] +[group_50226] +[group_50227] +[group_50228] +[group_50229] +[group_50230] +[group_50231] +[group_50232] +[group_50233] +[group_50234] +[group_50235] +[group_50236] +[group_50237] +[group_50238] +[group_50239] +[group_50240] +[group_50241] +[group_50242] +[group_50243] +[group_50244] +[group_50245] +[group_50246] +[group_50247] +[group_50248] +[group_50249] +[group_50250] +[group_50251] +[group_50252] +[group_50253] +[group_50254] +[group_50255] +[group_50256] +[group_50257] +[group_50258] +[group_50259] +[group_50260] +[group_50261] +[group_50262] +[group_50263] +[group_50264] +[group_50265] +[group_50266] +[group_50267] +[group_50268] +[group_50269] +[group_50270] +[group_50271] +[group_50272] +[group_50273] +[group_50274] +[group_50275] +[group_50276] +[group_50277] +[group_50278] +[group_50279] +[group_50280] +[group_50281] +[group_50282] +[group_50283] +[group_50284] +[group_50285] +[group_50286] +[group_50287] +[group_50288] +[group_50289] +[group_50290] +[group_50291] +[group_50292] +[group_50293] +[group_50294] +[group_50295] +[group_50296] +[group_50297] +[group_50298] +[group_50299] +[group_50300] +[group_50301] +[group_50302] +[group_50303] +[group_50304] +[group_50305] +[group_50306] +[group_50307] +[group_50308] +[group_50309] +[group_50310] +[group_50311] +[group_50312] +[group_50313] +[group_50314] +[group_50315] +[group_50316] +[group_50317] +[group_50318] +[group_50319] +[group_50320] +[group_50321] +[group_50322] +[group_50323] +[group_50324] +[group_50325] +[group_50326] +[group_50327] +[group_50328] +[group_50329] +[group_50330] +[group_50331] +[group_50332] +[group_50333] +[group_50334] +[group_50335] +[group_50336] +[group_50337] +[group_50338] +[group_50339] +[group_50340] +[group_50341] +[group_50342] +[group_50343] +[group_50344] +[group_50345] +[group_50346] +[group_50347] +[group_50348] +[group_50349] +[group_50350] +[group_50351] +[group_50352] +[group_50353] +[group_50354] +[group_50355] +[group_50356] +[group_50357] +[group_50358] +[group_50359] +[group_50360] +[group_50361] +[group_50362] +[group_50363] +[group_50364] +[group_50365] +[group_50366] +[group_50367] +[group_50368] +[group_50369] +[group_50370] +[group_50371] +[group_50372] +[group_50373] +[group_50374] +[group_50375] +[group_50376] +[group_50377] +[group_50378] +[group_50379] +[group_50380] +[group_50381] +[group_50382] +[group_50383] +[group_50384] +[group_50385] +[group_50386] +[group_50387] +[group_50388] +[group_50389] +[group_50390] +[group_50391] +[group_50392] +[group_50393] +[group_50394] +[group_50395] +[group_50396] +[group_50397] +[group_50398] +[group_50399] +[group_50400] +[group_50401] +[group_50402] +[group_50403] +[group_50404] +[group_50405] +[group_50406] +[group_50407] +[group_50408] +[group_50409] +[group_50410] +[group_50411] +[group_50412] +[group_50413] +[group_50414] +[group_50415] +[group_50416] +[group_50417] +[group_50418] +[group_50419] +[group_50420] +[group_50421] +[group_50422] +[group_50423] +[group_50424] +[group_50425] +[group_50426] +[group_50427] +[group_50428] +[group_50429] +[group_50430] +[group_50431] +[group_50432] +[group_50433] +[group_50434] +[group_50435] +[group_50436] +[group_50437] +[group_50438] +[group_50439] +[group_50440] +[group_50441] +[group_50442] +[group_50443] +[group_50444] +[group_50445] +[group_50446] +[group_50447] +[group_50448] +[group_50449] +[group_50450] +[group_50451] +[group_50452] +[group_50453] +[group_50454] +[group_50455] +[group_50456] +[group_50457] +[group_50458] +[group_50459] +[group_50460] +[group_50461] +[group_50462] +[group_50463] +[group_50464] +[group_50465] +[group_50466] +[group_50467] +[group_50468] +[group_50469] +[group_50470] +[group_50471] +[group_50472] +[group_50473] +[group_50474] +[group_50475] +[group_50476] +[group_50477] +[group_50478] +[group_50479] +[group_50480] +[group_50481] +[group_50482] +[group_50483] +[group_50484] +[group_50485] +[group_50486] +[group_50487] +[group_50488] +[group_50489] +[group_50490] +[group_50491] +[group_50492] +[group_50493] +[group_50494] +[group_50495] +[group_50496] +[group_50497] +[group_50498] +[group_50499] +[group_50500] +[group_50501] +[group_50502] +[group_50503] +[group_50504] +[group_50505] +[group_50506] +[group_50507] +[group_50508] +[group_50509] +[group_50510] +[group_50511] +[group_50512] +[group_50513] +[group_50514] +[group_50515] +[group_50516] +[group_50517] +[group_50518] +[group_50519] +[group_50520] +[group_50521] +[group_50522] +[group_50523] +[group_50524] +[group_50525] +[group_50526] +[group_50527] +[group_50528] +[group_50529] +[group_50530] +[group_50531] +[group_50532] +[group_50533] +[group_50534] +[group_50535] +[group_50536] +[group_50537] +[group_50538] +[group_50539] +[group_50540] +[group_50541] +[group_50542] +[group_50543] +[group_50544] +[group_50545] +[group_50546] +[group_50547] +[group_50548] +[group_50549] +[group_50550] +[group_50551] +[group_50552] +[group_50553] +[group_50554] +[group_50555] +[group_50556] +[group_50557] +[group_50558] +[group_50559] +[group_50560] +[group_50561] +[group_50562] +[group_50563] +[group_50564] +[group_50565] +[group_50566] +[group_50567] +[group_50568] +[group_50569] +[group_50570] +[group_50571] +[group_50572] +[group_50573] +[group_50574] +[group_50575] +[group_50576] +[group_50577] +[group_50578] +[group_50579] +[group_50580] +[group_50581] +[group_50582] +[group_50583] +[group_50584] +[group_50585] +[group_50586] +[group_50587] +[group_50588] +[group_50589] +[group_50590] +[group_50591] +[group_50592] +[group_50593] +[group_50594] +[group_50595] +[group_50596] +[group_50597] +[group_50598] +[group_50599] +[group_50600] +[group_50601] +[group_50602] +[group_50603] +[group_50604] +[group_50605] +[group_50606] +[group_50607] +[group_50608] +[group_50609] +[group_50610] +[group_50611] +[group_50612] +[group_50613] +[group_50614] +[group_50615] +[group_50616] +[group_50617] +[group_50618] +[group_50619] +[group_50620] +[group_50621] +[group_50622] +[group_50623] +[group_50624] +[group_50625] +[group_50626] +[group_50627] +[group_50628] +[group_50629] +[group_50630] +[group_50631] +[group_50632] +[group_50633] +[group_50634] +[group_50635] +[group_50636] +[group_50637] +[group_50638] +[group_50639] +[group_50640] +[group_50641] +[group_50642] +[group_50643] +[group_50644] +[group_50645] +[group_50646] +[group_50647] +[group_50648] +[group_50649] +[group_50650] +[group_50651] +[group_50652] +[group_50653] +[group_50654] +[group_50655] +[group_50656] +[group_50657] +[group_50658] +[group_50659] +[group_50660] +[group_50661] +[group_50662] +[group_50663] +[group_50664] +[group_50665] +[group_50666] +[group_50667] +[group_50668] +[group_50669] +[group_50670] +[group_50671] +[group_50672] +[group_50673] +[group_50674] +[group_50675] +[group_50676] +[group_50677] +[group_50678] +[group_50679] +[group_50680] +[group_50681] +[group_50682] +[group_50683] +[group_50684] +[group_50685] +[group_50686] +[group_50687] +[group_50688] +[group_50689] +[group_50690] +[group_50691] +[group_50692] +[group_50693] +[group_50694] +[group_50695] +[group_50696] +[group_50697] +[group_50698] +[group_50699] +[group_50700] +[group_50701] +[group_50702] +[group_50703] +[group_50704] +[group_50705] +[group_50706] +[group_50707] +[group_50708] +[group_50709] +[group_50710] +[group_50711] +[group_50712] +[group_50713] +[group_50714] +[group_50715] +[group_50716] +[group_50717] +[group_50718] +[group_50719] +[group_50720] +[group_50721] +[group_50722] +[group_50723] +[group_50724] +[group_50725] +[group_50726] +[group_50727] +[group_50728] +[group_50729] +[group_50730] +[group_50731] +[group_50732] +[group_50733] +[group_50734] +[group_50735] +[group_50736] +[group_50737] +[group_50738] +[group_50739] +[group_50740] +[group_50741] +[group_50742] +[group_50743] +[group_50744] +[group_50745] +[group_50746] +[group_50747] +[group_50748] +[group_50749] +[group_50750] +[group_50751] +[group_50752] +[group_50753] +[group_50754] +[group_50755] +[group_50756] +[group_50757] +[group_50758] +[group_50759] +[group_50760] +[group_50761] +[group_50762] +[group_50763] +[group_50764] +[group_50765] +[group_50766] +[group_50767] +[group_50768] +[group_50769] +[group_50770] +[group_50771] +[group_50772] +[group_50773] +[group_50774] +[group_50775] +[group_50776] +[group_50777] +[group_50778] +[group_50779] +[group_50780] +[group_50781] +[group_50782] +[group_50783] +[group_50784] +[group_50785] +[group_50786] +[group_50787] +[group_50788] +[group_50789] +[group_50790] +[group_50791] +[group_50792] +[group_50793] +[group_50794] +[group_50795] +[group_50796] +[group_50797] +[group_50798] +[group_50799] +[group_50800] +[group_50801] +[group_50802] +[group_50803] +[group_50804] +[group_50805] +[group_50806] +[group_50807] +[group_50808] +[group_50809] +[group_50810] +[group_50811] +[group_50812] +[group_50813] +[group_50814] +[group_50815] +[group_50816] +[group_50817] +[group_50818] +[group_50819] +[group_50820] +[group_50821] +[group_50822] +[group_50823] +[group_50824] +[group_50825] +[group_50826] +[group_50827] +[group_50828] +[group_50829] +[group_50830] +[group_50831] +[group_50832] +[group_50833] +[group_50834] +[group_50835] +[group_50836] +[group_50837] +[group_50838] +[group_50839] +[group_50840] +[group_50841] +[group_50842] +[group_50843] +[group_50844] +[group_50845] +[group_50846] +[group_50847] +[group_50848] +[group_50849] +[group_50850] +[group_50851] +[group_50852] +[group_50853] +[group_50854] +[group_50855] +[group_50856] +[group_50857] +[group_50858] +[group_50859] +[group_50860] +[group_50861] +[group_50862] +[group_50863] +[group_50864] +[group_50865] +[group_50866] +[group_50867] +[group_50868] +[group_50869] +[group_50870] +[group_50871] +[group_50872] +[group_50873] +[group_50874] +[group_50875] +[group_50876] +[group_50877] +[group_50878] +[group_50879] +[group_50880] +[group_50881] +[group_50882] +[group_50883] +[group_50884] +[group_50885] +[group_50886] +[group_50887] +[group_50888] +[group_50889] +[group_50890] +[group_50891] +[group_50892] +[group_50893] +[group_50894] +[group_50895] +[group_50896] +[group_50897] +[group_50898] +[group_50899] +[group_50900] +[group_50901] +[group_50902] +[group_50903] +[group_50904] +[group_50905] +[group_50906] +[group_50907] +[group_50908] +[group_50909] +[group_50910] +[group_50911] +[group_50912] +[group_50913] +[group_50914] +[group_50915] +[group_50916] +[group_50917] +[group_50918] +[group_50919] +[group_50920] +[group_50921] +[group_50922] +[group_50923] +[group_50924] +[group_50925] +[group_50926] +[group_50927] +[group_50928] +[group_50929] +[group_50930] +[group_50931] +[group_50932] +[group_50933] +[group_50934] +[group_50935] +[group_50936] +[group_50937] +[group_50938] +[group_50939] +[group_50940] +[group_50941] +[group_50942] +[group_50943] +[group_50944] +[group_50945] +[group_50946] +[group_50947] +[group_50948] +[group_50949] +[group_50950] +[group_50951] +[group_50952] +[group_50953] +[group_50954] +[group_50955] +[group_50956] +[group_50957] +[group_50958] +[group_50959] +[group_50960] +[group_50961] +[group_50962] +[group_50963] +[group_50964] +[group_50965] +[group_50966] +[group_50967] +[group_50968] +[group_50969] +[group_50970] +[group_50971] +[group_50972] +[group_50973] +[group_50974] +[group_50975] +[group_50976] +[group_50977] +[group_50978] +[group_50979] +[group_50980] +[group_50981] +[group_50982] +[group_50983] +[group_50984] +[group_50985] +[group_50986] +[group_50987] +[group_50988] +[group_50989] +[group_50990] +[group_50991] +[group_50992] +[group_50993] +[group_50994] +[group_50995] +[group_50996] +[group_50997] +[group_50998] +[group_50999] +[group_51000] +[group_51001] +[group_51002] +[group_51003] +[group_51004] +[group_51005] +[group_51006] +[group_51007] +[group_51008] +[group_51009] +[group_51010] +[group_51011] +[group_51012] +[group_51013] +[group_51014] +[group_51015] +[group_51016] +[group_51017] +[group_51018] +[group_51019] +[group_51020] +[group_51021] +[group_51022] +[group_51023] +[group_51024] +[group_51025] +[group_51026] +[group_51027] +[group_51028] +[group_51029] +[group_51030] +[group_51031] +[group_51032] +[group_51033] +[group_51034] +[group_51035] +[group_51036] +[group_51037] +[group_51038] +[group_51039] +[group_51040] +[group_51041] +[group_51042] +[group_51043] +[group_51044] +[group_51045] +[group_51046] +[group_51047] +[group_51048] +[group_51049] +[group_51050] +[group_51051] +[group_51052] +[group_51053] +[group_51054] +[group_51055] +[group_51056] +[group_51057] +[group_51058] +[group_51059] +[group_51060] +[group_51061] +[group_51062] +[group_51063] +[group_51064] +[group_51065] +[group_51066] +[group_51067] +[group_51068] +[group_51069] +[group_51070] +[group_51071] +[group_51072] +[group_51073] +[group_51074] +[group_51075] +[group_51076] +[group_51077] +[group_51078] +[group_51079] +[group_51080] +[group_51081] +[group_51082] +[group_51083] +[group_51084] +[group_51085] +[group_51086] +[group_51087] +[group_51088] +[group_51089] +[group_51090] +[group_51091] +[group_51092] +[group_51093] +[group_51094] +[group_51095] +[group_51096] +[group_51097] +[group_51098] +[group_51099] +[group_51100] +[group_51101] +[group_51102] +[group_51103] +[group_51104] +[group_51105] +[group_51106] +[group_51107] +[group_51108] +[group_51109] +[group_51110] +[group_51111] +[group_51112] +[group_51113] +[group_51114] +[group_51115] +[group_51116] +[group_51117] +[group_51118] +[group_51119] +[group_51120] +[group_51121] +[group_51122] +[group_51123] +[group_51124] +[group_51125] +[group_51126] +[group_51127] +[group_51128] +[group_51129] +[group_51130] +[group_51131] +[group_51132] +[group_51133] +[group_51134] +[group_51135] +[group_51136] +[group_51137] +[group_51138] +[group_51139] +[group_51140] +[group_51141] +[group_51142] +[group_51143] +[group_51144] +[group_51145] +[group_51146] +[group_51147] +[group_51148] +[group_51149] +[group_51150] +[group_51151] +[group_51152] +[group_51153] +[group_51154] +[group_51155] +[group_51156] +[group_51157] +[group_51158] +[group_51159] +[group_51160] +[group_51161] +[group_51162] +[group_51163] +[group_51164] +[group_51165] +[group_51166] +[group_51167] +[group_51168] +[group_51169] +[group_51170] +[group_51171] +[group_51172] +[group_51173] +[group_51174] +[group_51175] +[group_51176] +[group_51177] +[group_51178] +[group_51179] +[group_51180] +[group_51181] +[group_51182] +[group_51183] +[group_51184] +[group_51185] +[group_51186] +[group_51187] +[group_51188] +[group_51189] +[group_51190] +[group_51191] +[group_51192] +[group_51193] +[group_51194] +[group_51195] +[group_51196] +[group_51197] +[group_51198] +[group_51199] +[group_51200] +[group_51201] +[group_51202] +[group_51203] +[group_51204] +[group_51205] +[group_51206] +[group_51207] +[group_51208] +[group_51209] +[group_51210] +[group_51211] +[group_51212] +[group_51213] +[group_51214] +[group_51215] +[group_51216] +[group_51217] +[group_51218] +[group_51219] +[group_51220] +[group_51221] +[group_51222] +[group_51223] +[group_51224] +[group_51225] +[group_51226] +[group_51227] +[group_51228] +[group_51229] +[group_51230] +[group_51231] +[group_51232] +[group_51233] +[group_51234] +[group_51235] +[group_51236] +[group_51237] +[group_51238] +[group_51239] +[group_51240] +[group_51241] +[group_51242] +[group_51243] +[group_51244] +[group_51245] +[group_51246] +[group_51247] +[group_51248] +[group_51249] +[group_51250] +[group_51251] +[group_51252] +[group_51253] +[group_51254] +[group_51255] +[group_51256] +[group_51257] +[group_51258] +[group_51259] +[group_51260] +[group_51261] +[group_51262] +[group_51263] +[group_51264] +[group_51265] +[group_51266] +[group_51267] +[group_51268] +[group_51269] +[group_51270] +[group_51271] +[group_51272] +[group_51273] +[group_51274] +[group_51275] +[group_51276] +[group_51277] +[group_51278] +[group_51279] +[group_51280] +[group_51281] +[group_51282] +[group_51283] +[group_51284] +[group_51285] +[group_51286] +[group_51287] +[group_51288] +[group_51289] +[group_51290] +[group_51291] +[group_51292] +[group_51293] +[group_51294] +[group_51295] +[group_51296] +[group_51297] +[group_51298] +[group_51299] +[group_51300] +[group_51301] +[group_51302] +[group_51303] +[group_51304] +[group_51305] +[group_51306] +[group_51307] +[group_51308] +[group_51309] +[group_51310] +[group_51311] +[group_51312] +[group_51313] +[group_51314] +[group_51315] +[group_51316] +[group_51317] +[group_51318] +[group_51319] +[group_51320] +[group_51321] +[group_51322] +[group_51323] +[group_51324] +[group_51325] +[group_51326] +[group_51327] +[group_51328] +[group_51329] +[group_51330] +[group_51331] +[group_51332] +[group_51333] +[group_51334] +[group_51335] +[group_51336] +[group_51337] +[group_51338] +[group_51339] +[group_51340] +[group_51341] +[group_51342] +[group_51343] +[group_51344] +[group_51345] +[group_51346] +[group_51347] +[group_51348] +[group_51349] +[group_51350] +[group_51351] +[group_51352] +[group_51353] +[group_51354] +[group_51355] +[group_51356] +[group_51357] +[group_51358] +[group_51359] +[group_51360] +[group_51361] +[group_51362] +[group_51363] +[group_51364] +[group_51365] +[group_51366] +[group_51367] +[group_51368] +[group_51369] +[group_51370] +[group_51371] +[group_51372] +[group_51373] +[group_51374] +[group_51375] +[group_51376] +[group_51377] +[group_51378] +[group_51379] +[group_51380] +[group_51381] +[group_51382] +[group_51383] +[group_51384] +[group_51385] +[group_51386] +[group_51387] +[group_51388] +[group_51389] +[group_51390] +[group_51391] +[group_51392] +[group_51393] +[group_51394] +[group_51395] +[group_51396] +[group_51397] +[group_51398] +[group_51399] +[group_51400] +[group_51401] +[group_51402] +[group_51403] +[group_51404] +[group_51405] +[group_51406] +[group_51407] +[group_51408] +[group_51409] +[group_51410] +[group_51411] +[group_51412] +[group_51413] +[group_51414] +[group_51415] +[group_51416] +[group_51417] +[group_51418] +[group_51419] +[group_51420] +[group_51421] +[group_51422] +[group_51423] +[group_51424] +[group_51425] +[group_51426] +[group_51427] +[group_51428] +[group_51429] +[group_51430] +[group_51431] +[group_51432] +[group_51433] +[group_51434] +[group_51435] +[group_51436] +[group_51437] +[group_51438] +[group_51439] +[group_51440] +[group_51441] +[group_51442] +[group_51443] +[group_51444] +[group_51445] +[group_51446] +[group_51447] +[group_51448] +[group_51449] +[group_51450] +[group_51451] +[group_51452] +[group_51453] +[group_51454] +[group_51455] +[group_51456] +[group_51457] +[group_51458] +[group_51459] +[group_51460] +[group_51461] +[group_51462] +[group_51463] +[group_51464] +[group_51465] +[group_51466] +[group_51467] +[group_51468] +[group_51469] +[group_51470] +[group_51471] +[group_51472] +[group_51473] +[group_51474] +[group_51475] +[group_51476] +[group_51477] +[group_51478] +[group_51479] +[group_51480] +[group_51481] +[group_51482] +[group_51483] +[group_51484] +[group_51485] +[group_51486] +[group_51487] +[group_51488] +[group_51489] +[group_51490] +[group_51491] +[group_51492] +[group_51493] +[group_51494] +[group_51495] +[group_51496] +[group_51497] +[group_51498] +[group_51499] +[group_51500] +[group_51501] +[group_51502] +[group_51503] +[group_51504] +[group_51505] +[group_51506] +[group_51507] +[group_51508] +[group_51509] +[group_51510] +[group_51511] +[group_51512] +[group_51513] +[group_51514] +[group_51515] +[group_51516] +[group_51517] +[group_51518] +[group_51519] +[group_51520] +[group_51521] +[group_51522] +[group_51523] +[group_51524] +[group_51525] +[group_51526] +[group_51527] +[group_51528] +[group_51529] +[group_51530] +[group_51531] +[group_51532] +[group_51533] +[group_51534] +[group_51535] +[group_51536] +[group_51537] +[group_51538] +[group_51539] +[group_51540] +[group_51541] +[group_51542] +[group_51543] +[group_51544] +[group_51545] +[group_51546] +[group_51547] +[group_51548] +[group_51549] +[group_51550] +[group_51551] +[group_51552] +[group_51553] +[group_51554] +[group_51555] +[group_51556] +[group_51557] +[group_51558] +[group_51559] +[group_51560] +[group_51561] +[group_51562] +[group_51563] +[group_51564] +[group_51565] +[group_51566] +[group_51567] +[group_51568] +[group_51569] +[group_51570] +[group_51571] +[group_51572] +[group_51573] +[group_51574] +[group_51575] +[group_51576] +[group_51577] +[group_51578] +[group_51579] +[group_51580] +[group_51581] +[group_51582] +[group_51583] +[group_51584] +[group_51585] +[group_51586] +[group_51587] +[group_51588] +[group_51589] +[group_51590] +[group_51591] +[group_51592] +[group_51593] +[group_51594] +[group_51595] +[group_51596] +[group_51597] +[group_51598] +[group_51599] +[group_51600] +[group_51601] +[group_51602] +[group_51603] +[group_51604] +[group_51605] +[group_51606] +[group_51607] +[group_51608] +[group_51609] +[group_51610] +[group_51611] +[group_51612] +[group_51613] +[group_51614] +[group_51615] +[group_51616] +[group_51617] +[group_51618] +[group_51619] +[group_51620] +[group_51621] +[group_51622] +[group_51623] +[group_51624] +[group_51625] +[group_51626] +[group_51627] +[group_51628] +[group_51629] +[group_51630] +[group_51631] +[group_51632] +[group_51633] +[group_51634] +[group_51635] +[group_51636] +[group_51637] +[group_51638] +[group_51639] +[group_51640] +[group_51641] +[group_51642] +[group_51643] +[group_51644] +[group_51645] +[group_51646] +[group_51647] +[group_51648] +[group_51649] +[group_51650] +[group_51651] +[group_51652] +[group_51653] +[group_51654] +[group_51655] +[group_51656] +[group_51657] +[group_51658] +[group_51659] +[group_51660] +[group_51661] +[group_51662] +[group_51663] +[group_51664] +[group_51665] +[group_51666] +[group_51667] +[group_51668] +[group_51669] +[group_51670] +[group_51671] +[group_51672] +[group_51673] +[group_51674] +[group_51675] +[group_51676] +[group_51677] +[group_51678] +[group_51679] +[group_51680] +[group_51681] +[group_51682] +[group_51683] +[group_51684] +[group_51685] +[group_51686] +[group_51687] +[group_51688] +[group_51689] +[group_51690] +[group_51691] +[group_51692] +[group_51693] +[group_51694] +[group_51695] +[group_51696] +[group_51697] +[group_51698] +[group_51699] +[group_51700] +[group_51701] +[group_51702] +[group_51703] +[group_51704] +[group_51705] +[group_51706] +[group_51707] +[group_51708] +[group_51709] +[group_51710] +[group_51711] +[group_51712] +[group_51713] +[group_51714] +[group_51715] +[group_51716] +[group_51717] +[group_51718] +[group_51719] +[group_51720] +[group_51721] +[group_51722] +[group_51723] +[group_51724] +[group_51725] +[group_51726] +[group_51727] +[group_51728] +[group_51729] +[group_51730] +[group_51731] +[group_51732] +[group_51733] +[group_51734] +[group_51735] +[group_51736] +[group_51737] +[group_51738] +[group_51739] +[group_51740] +[group_51741] +[group_51742] +[group_51743] +[group_51744] +[group_51745] +[group_51746] +[group_51747] +[group_51748] +[group_51749] +[group_51750] +[group_51751] +[group_51752] +[group_51753] +[group_51754] +[group_51755] +[group_51756] +[group_51757] +[group_51758] +[group_51759] +[group_51760] +[group_51761] +[group_51762] +[group_51763] +[group_51764] +[group_51765] +[group_51766] +[group_51767] +[group_51768] +[group_51769] +[group_51770] +[group_51771] +[group_51772] +[group_51773] +[group_51774] +[group_51775] +[group_51776] +[group_51777] +[group_51778] +[group_51779] +[group_51780] +[group_51781] +[group_51782] +[group_51783] +[group_51784] +[group_51785] +[group_51786] +[group_51787] +[group_51788] +[group_51789] +[group_51790] +[group_51791] +[group_51792] +[group_51793] +[group_51794] +[group_51795] +[group_51796] +[group_51797] +[group_51798] +[group_51799] +[group_51800] +[group_51801] +[group_51802] +[group_51803] +[group_51804] +[group_51805] +[group_51806] +[group_51807] +[group_51808] +[group_51809] +[group_51810] +[group_51811] +[group_51812] +[group_51813] +[group_51814] +[group_51815] +[group_51816] +[group_51817] +[group_51818] +[group_51819] +[group_51820] +[group_51821] +[group_51822] +[group_51823] +[group_51824] +[group_51825] +[group_51826] +[group_51827] +[group_51828] +[group_51829] +[group_51830] +[group_51831] +[group_51832] +[group_51833] +[group_51834] +[group_51835] +[group_51836] +[group_51837] +[group_51838] +[group_51839] +[group_51840] +[group_51841] +[group_51842] +[group_51843] +[group_51844] +[group_51845] +[group_51846] +[group_51847] +[group_51848] +[group_51849] +[group_51850] +[group_51851] +[group_51852] +[group_51853] +[group_51854] +[group_51855] +[group_51856] +[group_51857] +[group_51858] +[group_51859] +[group_51860] +[group_51861] +[group_51862] +[group_51863] +[group_51864] +[group_51865] +[group_51866] +[group_51867] +[group_51868] +[group_51869] +[group_51870] +[group_51871] +[group_51872] +[group_51873] +[group_51874] +[group_51875] +[group_51876] +[group_51877] +[group_51878] +[group_51879] +[group_51880] +[group_51881] +[group_51882] +[group_51883] +[group_51884] +[group_51885] +[group_51886] +[group_51887] +[group_51888] +[group_51889] +[group_51890] +[group_51891] +[group_51892] +[group_51893] +[group_51894] +[group_51895] +[group_51896] +[group_51897] +[group_51898] +[group_51899] +[group_51900] +[group_51901] +[group_51902] +[group_51903] +[group_51904] +[group_51905] +[group_51906] +[group_51907] +[group_51908] +[group_51909] +[group_51910] +[group_51911] +[group_51912] +[group_51913] +[group_51914] +[group_51915] +[group_51916] +[group_51917] +[group_51918] +[group_51919] +[group_51920] +[group_51921] +[group_51922] +[group_51923] +[group_51924] +[group_51925] +[group_51926] +[group_51927] +[group_51928] +[group_51929] +[group_51930] +[group_51931] +[group_51932] +[group_51933] +[group_51934] +[group_51935] +[group_51936] +[group_51937] +[group_51938] +[group_51939] +[group_51940] +[group_51941] +[group_51942] +[group_51943] +[group_51944] +[group_51945] +[group_51946] +[group_51947] +[group_51948] +[group_51949] +[group_51950] +[group_51951] +[group_51952] +[group_51953] +[group_51954] +[group_51955] +[group_51956] +[group_51957] +[group_51958] +[group_51959] +[group_51960] +[group_51961] +[group_51962] +[group_51963] +[group_51964] +[group_51965] +[group_51966] +[group_51967] +[group_51968] +[group_51969] +[group_51970] +[group_51971] +[group_51972] +[group_51973] +[group_51974] +[group_51975] +[group_51976] +[group_51977] +[group_51978] +[group_51979] +[group_51980] +[group_51981] +[group_51982] +[group_51983] +[group_51984] +[group_51985] +[group_51986] +[group_51987] +[group_51988] +[group_51989] +[group_51990] +[group_51991] +[group_51992] +[group_51993] +[group_51994] +[group_51995] +[group_51996] +[group_51997] +[group_51998] +[group_51999] +[group_52000] +[group_52001] +[group_52002] +[group_52003] +[group_52004] +[group_52005] +[group_52006] +[group_52007] +[group_52008] +[group_52009] +[group_52010] +[group_52011] +[group_52012] +[group_52013] +[group_52014] +[group_52015] +[group_52016] +[group_52017] +[group_52018] +[group_52019] +[group_52020] +[group_52021] +[group_52022] +[group_52023] +[group_52024] +[group_52025] +[group_52026] +[group_52027] +[group_52028] +[group_52029] +[group_52030] +[group_52031] +[group_52032] +[group_52033] +[group_52034] +[group_52035] +[group_52036] +[group_52037] +[group_52038] +[group_52039] +[group_52040] +[group_52041] +[group_52042] +[group_52043] +[group_52044] +[group_52045] +[group_52046] +[group_52047] +[group_52048] +[group_52049] +[group_52050] +[group_52051] +[group_52052] +[group_52053] +[group_52054] +[group_52055] +[group_52056] +[group_52057] +[group_52058] +[group_52059] +[group_52060] +[group_52061] +[group_52062] +[group_52063] +[group_52064] +[group_52065] +[group_52066] +[group_52067] +[group_52068] +[group_52069] +[group_52070] +[group_52071] +[group_52072] +[group_52073] +[group_52074] +[group_52075] +[group_52076] +[group_52077] +[group_52078] +[group_52079] +[group_52080] +[group_52081] +[group_52082] +[group_52083] +[group_52084] +[group_52085] +[group_52086] +[group_52087] +[group_52088] +[group_52089] +[group_52090] +[group_52091] +[group_52092] +[group_52093] +[group_52094] +[group_52095] +[group_52096] +[group_52097] +[group_52098] +[group_52099] +[group_52100] +[group_52101] +[group_52102] +[group_52103] +[group_52104] +[group_52105] +[group_52106] +[group_52107] +[group_52108] +[group_52109] +[group_52110] +[group_52111] +[group_52112] +[group_52113] +[group_52114] +[group_52115] +[group_52116] +[group_52117] +[group_52118] +[group_52119] +[group_52120] +[group_52121] +[group_52122] +[group_52123] +[group_52124] +[group_52125] +[group_52126] +[group_52127] +[group_52128] +[group_52129] +[group_52130] +[group_52131] +[group_52132] +[group_52133] +[group_52134] +[group_52135] +[group_52136] +[group_52137] +[group_52138] +[group_52139] +[group_52140] +[group_52141] +[group_52142] +[group_52143] +[group_52144] +[group_52145] +[group_52146] +[group_52147] +[group_52148] +[group_52149] +[group_52150] +[group_52151] +[group_52152] +[group_52153] +[group_52154] +[group_52155] +[group_52156] +[group_52157] +[group_52158] +[group_52159] +[group_52160] +[group_52161] +[group_52162] +[group_52163] +[group_52164] +[group_52165] +[group_52166] +[group_52167] +[group_52168] +[group_52169] +[group_52170] +[group_52171] +[group_52172] +[group_52173] +[group_52174] +[group_52175] +[group_52176] +[group_52177] +[group_52178] +[group_52179] +[group_52180] +[group_52181] +[group_52182] +[group_52183] +[group_52184] +[group_52185] +[group_52186] +[group_52187] +[group_52188] +[group_52189] +[group_52190] +[group_52191] +[group_52192] +[group_52193] +[group_52194] +[group_52195] +[group_52196] +[group_52197] +[group_52198] +[group_52199] +[group_52200] +[group_52201] +[group_52202] +[group_52203] +[group_52204] +[group_52205] +[group_52206] +[group_52207] +[group_52208] +[group_52209] +[group_52210] +[group_52211] +[group_52212] +[group_52213] +[group_52214] +[group_52215] +[group_52216] +[group_52217] +[group_52218] +[group_52219] +[group_52220] +[group_52221] +[group_52222] +[group_52223] +[group_52224] +[group_52225] +[group_52226] +[group_52227] +[group_52228] +[group_52229] +[group_52230] +[group_52231] +[group_52232] +[group_52233] +[group_52234] +[group_52235] +[group_52236] +[group_52237] +[group_52238] +[group_52239] +[group_52240] +[group_52241] +[group_52242] +[group_52243] +[group_52244] +[group_52245] +[group_52246] +[group_52247] +[group_52248] +[group_52249] +[group_52250] +[group_52251] +[group_52252] +[group_52253] +[group_52254] +[group_52255] +[group_52256] +[group_52257] +[group_52258] +[group_52259] +[group_52260] +[group_52261] +[group_52262] +[group_52263] +[group_52264] +[group_52265] +[group_52266] +[group_52267] +[group_52268] +[group_52269] +[group_52270] +[group_52271] +[group_52272] +[group_52273] +[group_52274] +[group_52275] +[group_52276] +[group_52277] +[group_52278] +[group_52279] +[group_52280] +[group_52281] +[group_52282] +[group_52283] +[group_52284] +[group_52285] +[group_52286] +[group_52287] +[group_52288] +[group_52289] +[group_52290] +[group_52291] +[group_52292] +[group_52293] +[group_52294] +[group_52295] +[group_52296] +[group_52297] +[group_52298] +[group_52299] +[group_52300] +[group_52301] +[group_52302] +[group_52303] +[group_52304] +[group_52305] +[group_52306] +[group_52307] +[group_52308] +[group_52309] +[group_52310] +[group_52311] +[group_52312] +[group_52313] +[group_52314] +[group_52315] +[group_52316] +[group_52317] +[group_52318] +[group_52319] +[group_52320] +[group_52321] +[group_52322] +[group_52323] +[group_52324] +[group_52325] +[group_52326] +[group_52327] +[group_52328] +[group_52329] +[group_52330] +[group_52331] +[group_52332] +[group_52333] +[group_52334] +[group_52335] +[group_52336] +[group_52337] +[group_52338] +[group_52339] +[group_52340] +[group_52341] +[group_52342] +[group_52343] +[group_52344] +[group_52345] +[group_52346] +[group_52347] +[group_52348] +[group_52349] +[group_52350] +[group_52351] +[group_52352] +[group_52353] +[group_52354] +[group_52355] +[group_52356] +[group_52357] +[group_52358] +[group_52359] +[group_52360] +[group_52361] +[group_52362] +[group_52363] +[group_52364] +[group_52365] +[group_52366] +[group_52367] +[group_52368] +[group_52369] +[group_52370] +[group_52371] +[group_52372] +[group_52373] +[group_52374] +[group_52375] +[group_52376] +[group_52377] +[group_52378] +[group_52379] +[group_52380] +[group_52381] +[group_52382] +[group_52383] +[group_52384] +[group_52385] +[group_52386] +[group_52387] +[group_52388] +[group_52389] +[group_52390] +[group_52391] +[group_52392] +[group_52393] +[group_52394] +[group_52395] +[group_52396] +[group_52397] +[group_52398] +[group_52399] +[group_52400] +[group_52401] +[group_52402] +[group_52403] +[group_52404] +[group_52405] +[group_52406] +[group_52407] +[group_52408] +[group_52409] +[group_52410] +[group_52411] +[group_52412] +[group_52413] +[group_52414] +[group_52415] +[group_52416] +[group_52417] +[group_52418] +[group_52419] +[group_52420] +[group_52421] +[group_52422] +[group_52423] +[group_52424] +[group_52425] +[group_52426] +[group_52427] +[group_52428] +[group_52429] +[group_52430] +[group_52431] +[group_52432] +[group_52433] +[group_52434] +[group_52435] +[group_52436] +[group_52437] +[group_52438] +[group_52439] +[group_52440] +[group_52441] +[group_52442] +[group_52443] +[group_52444] +[group_52445] +[group_52446] +[group_52447] +[group_52448] +[group_52449] +[group_52450] +[group_52451] +[group_52452] +[group_52453] +[group_52454] +[group_52455] +[group_52456] +[group_52457] +[group_52458] +[group_52459] +[group_52460] +[group_52461] +[group_52462] +[group_52463] +[group_52464] +[group_52465] +[group_52466] +[group_52467] +[group_52468] +[group_52469] +[group_52470] +[group_52471] +[group_52472] +[group_52473] +[group_52474] +[group_52475] +[group_52476] +[group_52477] +[group_52478] +[group_52479] +[group_52480] +[group_52481] +[group_52482] +[group_52483] +[group_52484] +[group_52485] +[group_52486] +[group_52487] +[group_52488] +[group_52489] +[group_52490] +[group_52491] +[group_52492] +[group_52493] +[group_52494] +[group_52495] +[group_52496] +[group_52497] +[group_52498] +[group_52499] +[group_52500] +[group_52501] +[group_52502] +[group_52503] +[group_52504] +[group_52505] +[group_52506] +[group_52507] +[group_52508] +[group_52509] +[group_52510] +[group_52511] +[group_52512] +[group_52513] +[group_52514] +[group_52515] +[group_52516] +[group_52517] +[group_52518] +[group_52519] +[group_52520] +[group_52521] +[group_52522] +[group_52523] +[group_52524] +[group_52525] +[group_52526] +[group_52527] +[group_52528] +[group_52529] +[group_52530] +[group_52531] +[group_52532] +[group_52533] +[group_52534] +[group_52535] +[group_52536] +[group_52537] +[group_52538] +[group_52539] +[group_52540] +[group_52541] +[group_52542] +[group_52543] +[group_52544] +[group_52545] +[group_52546] +[group_52547] +[group_52548] +[group_52549] +[group_52550] +[group_52551] +[group_52552] +[group_52553] +[group_52554] +[group_52555] +[group_52556] +[group_52557] +[group_52558] +[group_52559] +[group_52560] +[group_52561] +[group_52562] +[group_52563] +[group_52564] +[group_52565] +[group_52566] +[group_52567] +[group_52568] +[group_52569] +[group_52570] +[group_52571] +[group_52572] +[group_52573] +[group_52574] +[group_52575] +[group_52576] +[group_52577] +[group_52578] +[group_52579] +[group_52580] +[group_52581] +[group_52582] +[group_52583] +[group_52584] +[group_52585] +[group_52586] +[group_52587] +[group_52588] +[group_52589] +[group_52590] +[group_52591] +[group_52592] +[group_52593] +[group_52594] +[group_52595] +[group_52596] +[group_52597] +[group_52598] +[group_52599] +[group_52600] +[group_52601] +[group_52602] +[group_52603] +[group_52604] +[group_52605] +[group_52606] +[group_52607] +[group_52608] +[group_52609] +[group_52610] +[group_52611] +[group_52612] +[group_52613] +[group_52614] +[group_52615] +[group_52616] +[group_52617] +[group_52618] +[group_52619] +[group_52620] +[group_52621] +[group_52622] +[group_52623] +[group_52624] +[group_52625] +[group_52626] +[group_52627] +[group_52628] +[group_52629] +[group_52630] +[group_52631] +[group_52632] +[group_52633] +[group_52634] +[group_52635] +[group_52636] +[group_52637] +[group_52638] +[group_52639] +[group_52640] +[group_52641] +[group_52642] +[group_52643] +[group_52644] +[group_52645] +[group_52646] +[group_52647] +[group_52648] +[group_52649] +[group_52650] +[group_52651] +[group_52652] +[group_52653] +[group_52654] +[group_52655] +[group_52656] +[group_52657] +[group_52658] +[group_52659] +[group_52660] +[group_52661] +[group_52662] +[group_52663] +[group_52664] +[group_52665] +[group_52666] +[group_52667] +[group_52668] +[group_52669] +[group_52670] +[group_52671] +[group_52672] +[group_52673] +[group_52674] +[group_52675] +[group_52676] +[group_52677] +[group_52678] +[group_52679] +[group_52680] +[group_52681] +[group_52682] +[group_52683] +[group_52684] +[group_52685] +[group_52686] +[group_52687] +[group_52688] +[group_52689] +[group_52690] +[group_52691] +[group_52692] +[group_52693] +[group_52694] +[group_52695] +[group_52696] +[group_52697] +[group_52698] +[group_52699] +[group_52700] +[group_52701] +[group_52702] +[group_52703] +[group_52704] +[group_52705] +[group_52706] +[group_52707] +[group_52708] +[group_52709] +[group_52710] +[group_52711] +[group_52712] +[group_52713] +[group_52714] +[group_52715] +[group_52716] +[group_52717] +[group_52718] +[group_52719] +[group_52720] +[group_52721] +[group_52722] +[group_52723] +[group_52724] +[group_52725] +[group_52726] +[group_52727] +[group_52728] +[group_52729] +[group_52730] +[group_52731] +[group_52732] +[group_52733] +[group_52734] +[group_52735] +[group_52736] +[group_52737] +[group_52738] +[group_52739] +[group_52740] +[group_52741] +[group_52742] +[group_52743] +[group_52744] +[group_52745] +[group_52746] +[group_52747] +[group_52748] +[group_52749] +[group_52750] +[group_52751] +[group_52752] +[group_52753] +[group_52754] +[group_52755] +[group_52756] +[group_52757] +[group_52758] +[group_52759] +[group_52760] +[group_52761] +[group_52762] +[group_52763] +[group_52764] +[group_52765] +[group_52766] +[group_52767] +[group_52768] +[group_52769] +[group_52770] +[group_52771] +[group_52772] +[group_52773] +[group_52774] +[group_52775] +[group_52776] +[group_52777] +[group_52778] +[group_52779] +[group_52780] +[group_52781] +[group_52782] +[group_52783] +[group_52784] +[group_52785] +[group_52786] +[group_52787] +[group_52788] +[group_52789] +[group_52790] +[group_52791] +[group_52792] +[group_52793] +[group_52794] +[group_52795] +[group_52796] +[group_52797] +[group_52798] +[group_52799] +[group_52800] +[group_52801] +[group_52802] +[group_52803] +[group_52804] +[group_52805] +[group_52806] +[group_52807] +[group_52808] +[group_52809] +[group_52810] +[group_52811] +[group_52812] +[group_52813] +[group_52814] +[group_52815] +[group_52816] +[group_52817] +[group_52818] +[group_52819] +[group_52820] +[group_52821] +[group_52822] +[group_52823] +[group_52824] +[group_52825] +[group_52826] +[group_52827] +[group_52828] +[group_52829] +[group_52830] +[group_52831] +[group_52832] +[group_52833] +[group_52834] +[group_52835] +[group_52836] +[group_52837] +[group_52838] +[group_52839] +[group_52840] +[group_52841] +[group_52842] +[group_52843] +[group_52844] +[group_52845] +[group_52846] +[group_52847] +[group_52848] +[group_52849] +[group_52850] +[group_52851] +[group_52852] +[group_52853] +[group_52854] +[group_52855] +[group_52856] +[group_52857] +[group_52858] +[group_52859] +[group_52860] +[group_52861] +[group_52862] +[group_52863] +[group_52864] +[group_52865] +[group_52866] +[group_52867] +[group_52868] +[group_52869] +[group_52870] +[group_52871] +[group_52872] +[group_52873] +[group_52874] +[group_52875] +[group_52876] +[group_52877] +[group_52878] +[group_52879] +[group_52880] +[group_52881] +[group_52882] +[group_52883] +[group_52884] +[group_52885] +[group_52886] +[group_52887] +[group_52888] +[group_52889] +[group_52890] +[group_52891] +[group_52892] +[group_52893] +[group_52894] +[group_52895] +[group_52896] +[group_52897] +[group_52898] +[group_52899] +[group_52900] +[group_52901] +[group_52902] +[group_52903] +[group_52904] +[group_52905] +[group_52906] +[group_52907] +[group_52908] +[group_52909] +[group_52910] +[group_52911] +[group_52912] +[group_52913] +[group_52914] +[group_52915] +[group_52916] +[group_52917] +[group_52918] +[group_52919] +[group_52920] +[group_52921] +[group_52922] +[group_52923] +[group_52924] +[group_52925] +[group_52926] +[group_52927] +[group_52928] +[group_52929] +[group_52930] +[group_52931] +[group_52932] +[group_52933] +[group_52934] +[group_52935] +[group_52936] +[group_52937] +[group_52938] +[group_52939] +[group_52940] +[group_52941] +[group_52942] +[group_52943] +[group_52944] +[group_52945] +[group_52946] +[group_52947] +[group_52948] +[group_52949] +[group_52950] +[group_52951] +[group_52952] +[group_52953] +[group_52954] +[group_52955] +[group_52956] +[group_52957] +[group_52958] +[group_52959] +[group_52960] +[group_52961] +[group_52962] +[group_52963] +[group_52964] +[group_52965] +[group_52966] +[group_52967] +[group_52968] +[group_52969] +[group_52970] +[group_52971] +[group_52972] +[group_52973] +[group_52974] +[group_52975] +[group_52976] +[group_52977] +[group_52978] +[group_52979] +[group_52980] +[group_52981] +[group_52982] +[group_52983] +[group_52984] +[group_52985] +[group_52986] +[group_52987] +[group_52988] +[group_52989] +[group_52990] +[group_52991] +[group_52992] +[group_52993] +[group_52994] +[group_52995] +[group_52996] +[group_52997] +[group_52998] +[group_52999] +[group_53000] +[group_53001] +[group_53002] +[group_53003] +[group_53004] +[group_53005] +[group_53006] +[group_53007] +[group_53008] +[group_53009] +[group_53010] +[group_53011] +[group_53012] +[group_53013] +[group_53014] +[group_53015] +[group_53016] +[group_53017] +[group_53018] +[group_53019] +[group_53020] +[group_53021] +[group_53022] +[group_53023] +[group_53024] +[group_53025] +[group_53026] +[group_53027] +[group_53028] +[group_53029] +[group_53030] +[group_53031] +[group_53032] +[group_53033] +[group_53034] +[group_53035] +[group_53036] +[group_53037] +[group_53038] +[group_53039] +[group_53040] +[group_53041] +[group_53042] +[group_53043] +[group_53044] +[group_53045] +[group_53046] +[group_53047] +[group_53048] +[group_53049] +[group_53050] +[group_53051] +[group_53052] +[group_53053] +[group_53054] +[group_53055] +[group_53056] +[group_53057] +[group_53058] +[group_53059] +[group_53060] +[group_53061] +[group_53062] +[group_53063] +[group_53064] +[group_53065] +[group_53066] +[group_53067] +[group_53068] +[group_53069] +[group_53070] +[group_53071] +[group_53072] +[group_53073] +[group_53074] +[group_53075] +[group_53076] +[group_53077] +[group_53078] +[group_53079] +[group_53080] +[group_53081] +[group_53082] +[group_53083] +[group_53084] +[group_53085] +[group_53086] +[group_53087] +[group_53088] +[group_53089] +[group_53090] +[group_53091] +[group_53092] +[group_53093] +[group_53094] +[group_53095] +[group_53096] +[group_53097] +[group_53098] +[group_53099] +[group_53100] +[group_53101] +[group_53102] +[group_53103] +[group_53104] +[group_53105] +[group_53106] +[group_53107] +[group_53108] +[group_53109] +[group_53110] +[group_53111] +[group_53112] +[group_53113] +[group_53114] +[group_53115] +[group_53116] +[group_53117] +[group_53118] +[group_53119] +[group_53120] +[group_53121] +[group_53122] +[group_53123] +[group_53124] +[group_53125] +[group_53126] +[group_53127] +[group_53128] +[group_53129] +[group_53130] +[group_53131] +[group_53132] +[group_53133] +[group_53134] +[group_53135] +[group_53136] +[group_53137] +[group_53138] +[group_53139] +[group_53140] +[group_53141] +[group_53142] +[group_53143] +[group_53144] +[group_53145] +[group_53146] +[group_53147] +[group_53148] +[group_53149] +[group_53150] +[group_53151] +[group_53152] +[group_53153] +[group_53154] +[group_53155] +[group_53156] +[group_53157] +[group_53158] +[group_53159] +[group_53160] +[group_53161] +[group_53162] +[group_53163] +[group_53164] +[group_53165] +[group_53166] +[group_53167] +[group_53168] +[group_53169] +[group_53170] +[group_53171] +[group_53172] +[group_53173] +[group_53174] +[group_53175] +[group_53176] +[group_53177] +[group_53178] +[group_53179] +[group_53180] +[group_53181] +[group_53182] +[group_53183] +[group_53184] +[group_53185] +[group_53186] +[group_53187] +[group_53188] +[group_53189] +[group_53190] +[group_53191] +[group_53192] +[group_53193] +[group_53194] +[group_53195] +[group_53196] +[group_53197] +[group_53198] +[group_53199] +[group_53200] +[group_53201] +[group_53202] +[group_53203] +[group_53204] +[group_53205] +[group_53206] +[group_53207] +[group_53208] +[group_53209] +[group_53210] +[group_53211] +[group_53212] +[group_53213] +[group_53214] +[group_53215] +[group_53216] +[group_53217] +[group_53218] +[group_53219] +[group_53220] +[group_53221] +[group_53222] +[group_53223] +[group_53224] +[group_53225] +[group_53226] +[group_53227] +[group_53228] +[group_53229] +[group_53230] +[group_53231] +[group_53232] +[group_53233] +[group_53234] +[group_53235] +[group_53236] +[group_53237] +[group_53238] +[group_53239] +[group_53240] +[group_53241] +[group_53242] +[group_53243] +[group_53244] +[group_53245] +[group_53246] +[group_53247] +[group_53248] +[group_53249] +[group_53250] +[group_53251] +[group_53252] +[group_53253] +[group_53254] +[group_53255] +[group_53256] +[group_53257] +[group_53258] +[group_53259] +[group_53260] +[group_53261] +[group_53262] +[group_53263] +[group_53264] +[group_53265] +[group_53266] +[group_53267] +[group_53268] +[group_53269] +[group_53270] +[group_53271] +[group_53272] +[group_53273] +[group_53274] +[group_53275] +[group_53276] +[group_53277] +[group_53278] +[group_53279] +[group_53280] +[group_53281] +[group_53282] +[group_53283] +[group_53284] +[group_53285] +[group_53286] +[group_53287] +[group_53288] +[group_53289] +[group_53290] +[group_53291] +[group_53292] +[group_53293] +[group_53294] +[group_53295] +[group_53296] +[group_53297] +[group_53298] +[group_53299] +[group_53300] +[group_53301] +[group_53302] +[group_53303] +[group_53304] +[group_53305] +[group_53306] +[group_53307] +[group_53308] +[group_53309] +[group_53310] +[group_53311] +[group_53312] +[group_53313] +[group_53314] +[group_53315] +[group_53316] +[group_53317] +[group_53318] +[group_53319] +[group_53320] +[group_53321] +[group_53322] +[group_53323] +[group_53324] +[group_53325] +[group_53326] +[group_53327] +[group_53328] +[group_53329] +[group_53330] +[group_53331] +[group_53332] +[group_53333] +[group_53334] +[group_53335] +[group_53336] +[group_53337] +[group_53338] +[group_53339] +[group_53340] +[group_53341] +[group_53342] +[group_53343] +[group_53344] +[group_53345] +[group_53346] +[group_53347] +[group_53348] +[group_53349] +[group_53350] +[group_53351] +[group_53352] +[group_53353] +[group_53354] +[group_53355] +[group_53356] +[group_53357] +[group_53358] +[group_53359] +[group_53360] +[group_53361] +[group_53362] +[group_53363] +[group_53364] +[group_53365] +[group_53366] +[group_53367] +[group_53368] +[group_53369] +[group_53370] +[group_53371] +[group_53372] +[group_53373] +[group_53374] +[group_53375] +[group_53376] +[group_53377] +[group_53378] +[group_53379] +[group_53380] +[group_53381] +[group_53382] +[group_53383] +[group_53384] +[group_53385] +[group_53386] +[group_53387] +[group_53388] +[group_53389] +[group_53390] +[group_53391] +[group_53392] +[group_53393] +[group_53394] +[group_53395] +[group_53396] +[group_53397] +[group_53398] +[group_53399] +[group_53400] +[group_53401] +[group_53402] +[group_53403] +[group_53404] +[group_53405] +[group_53406] +[group_53407] +[group_53408] +[group_53409] +[group_53410] +[group_53411] +[group_53412] +[group_53413] +[group_53414] +[group_53415] +[group_53416] +[group_53417] +[group_53418] +[group_53419] +[group_53420] +[group_53421] +[group_53422] +[group_53423] +[group_53424] +[group_53425] +[group_53426] +[group_53427] +[group_53428] +[group_53429] +[group_53430] +[group_53431] +[group_53432] +[group_53433] +[group_53434] +[group_53435] +[group_53436] +[group_53437] +[group_53438] +[group_53439] +[group_53440] +[group_53441] +[group_53442] +[group_53443] +[group_53444] +[group_53445] +[group_53446] +[group_53447] +[group_53448] +[group_53449] +[group_53450] +[group_53451] +[group_53452] +[group_53453] +[group_53454] +[group_53455] +[group_53456] +[group_53457] +[group_53458] +[group_53459] +[group_53460] +[group_53461] +[group_53462] +[group_53463] +[group_53464] +[group_53465] +[group_53466] +[group_53467] +[group_53468] +[group_53469] +[group_53470] +[group_53471] +[group_53472] +[group_53473] +[group_53474] +[group_53475] +[group_53476] +[group_53477] +[group_53478] +[group_53479] +[group_53480] +[group_53481] +[group_53482] +[group_53483] +[group_53484] +[group_53485] +[group_53486] +[group_53487] +[group_53488] +[group_53489] +[group_53490] +[group_53491] +[group_53492] +[group_53493] +[group_53494] +[group_53495] +[group_53496] +[group_53497] +[group_53498] +[group_53499] +[group_53500] +[group_53501] +[group_53502] +[group_53503] +[group_53504] +[group_53505] +[group_53506] +[group_53507] +[group_53508] +[group_53509] +[group_53510] +[group_53511] +[group_53512] +[group_53513] +[group_53514] +[group_53515] +[group_53516] +[group_53517] +[group_53518] +[group_53519] +[group_53520] +[group_53521] +[group_53522] +[group_53523] +[group_53524] +[group_53525] +[group_53526] +[group_53527] +[group_53528] +[group_53529] +[group_53530] +[group_53531] +[group_53532] +[group_53533] +[group_53534] +[group_53535] +[group_53536] +[group_53537] +[group_53538] +[group_53539] +[group_53540] +[group_53541] +[group_53542] +[group_53543] +[group_53544] +[group_53545] +[group_53546] +[group_53547] +[group_53548] +[group_53549] +[group_53550] +[group_53551] +[group_53552] +[group_53553] +[group_53554] +[group_53555] +[group_53556] +[group_53557] +[group_53558] +[group_53559] +[group_53560] +[group_53561] +[group_53562] +[group_53563] +[group_53564] +[group_53565] +[group_53566] +[group_53567] +[group_53568] +[group_53569] +[group_53570] +[group_53571] +[group_53572] +[group_53573] +[group_53574] +[group_53575] +[group_53576] +[group_53577] +[group_53578] +[group_53579] +[group_53580] +[group_53581] +[group_53582] +[group_53583] +[group_53584] +[group_53585] +[group_53586] +[group_53587] +[group_53588] +[group_53589] +[group_53590] +[group_53591] +[group_53592] +[group_53593] +[group_53594] +[group_53595] +[group_53596] +[group_53597] +[group_53598] +[group_53599] +[group_53600] +[group_53601] +[group_53602] +[group_53603] +[group_53604] +[group_53605] +[group_53606] +[group_53607] +[group_53608] +[group_53609] +[group_53610] +[group_53611] +[group_53612] +[group_53613] +[group_53614] +[group_53615] +[group_53616] +[group_53617] +[group_53618] +[group_53619] +[group_53620] +[group_53621] +[group_53622] +[group_53623] +[group_53624] +[group_53625] +[group_53626] +[group_53627] +[group_53628] +[group_53629] +[group_53630] +[group_53631] +[group_53632] +[group_53633] +[group_53634] +[group_53635] +[group_53636] +[group_53637] +[group_53638] +[group_53639] +[group_53640] +[group_53641] +[group_53642] +[group_53643] +[group_53644] +[group_53645] +[group_53646] +[group_53647] +[group_53648] +[group_53649] +[group_53650] +[group_53651] +[group_53652] +[group_53653] +[group_53654] +[group_53655] +[group_53656] +[group_53657] +[group_53658] +[group_53659] +[group_53660] +[group_53661] +[group_53662] +[group_53663] +[group_53664] +[group_53665] +[group_53666] +[group_53667] +[group_53668] +[group_53669] +[group_53670] +[group_53671] +[group_53672] +[group_53673] +[group_53674] +[group_53675] +[group_53676] +[group_53677] +[group_53678] +[group_53679] +[group_53680] +[group_53681] +[group_53682] +[group_53683] +[group_53684] +[group_53685] +[group_53686] +[group_53687] +[group_53688] +[group_53689] +[group_53690] +[group_53691] +[group_53692] +[group_53693] +[group_53694] +[group_53695] +[group_53696] +[group_53697] +[group_53698] +[group_53699] +[group_53700] +[group_53701] +[group_53702] +[group_53703] +[group_53704] +[group_53705] +[group_53706] +[group_53707] +[group_53708] +[group_53709] +[group_53710] +[group_53711] +[group_53712] +[group_53713] +[group_53714] +[group_53715] +[group_53716] +[group_53717] +[group_53718] +[group_53719] +[group_53720] +[group_53721] +[group_53722] +[group_53723] +[group_53724] +[group_53725] +[group_53726] +[group_53727] +[group_53728] +[group_53729] +[group_53730] +[group_53731] +[group_53732] +[group_53733] +[group_53734] +[group_53735] +[group_53736] +[group_53737] +[group_53738] +[group_53739] +[group_53740] +[group_53741] +[group_53742] +[group_53743] +[group_53744] +[group_53745] +[group_53746] +[group_53747] +[group_53748] +[group_53749] +[group_53750] +[group_53751] +[group_53752] +[group_53753] +[group_53754] +[group_53755] +[group_53756] +[group_53757] +[group_53758] +[group_53759] +[group_53760] +[group_53761] +[group_53762] +[group_53763] +[group_53764] +[group_53765] +[group_53766] +[group_53767] +[group_53768] +[group_53769] +[group_53770] +[group_53771] +[group_53772] +[group_53773] +[group_53774] +[group_53775] +[group_53776] +[group_53777] +[group_53778] +[group_53779] +[group_53780] +[group_53781] +[group_53782] +[group_53783] +[group_53784] +[group_53785] +[group_53786] +[group_53787] +[group_53788] +[group_53789] +[group_53790] +[group_53791] +[group_53792] +[group_53793] +[group_53794] +[group_53795] +[group_53796] +[group_53797] +[group_53798] +[group_53799] +[group_53800] +[group_53801] +[group_53802] +[group_53803] +[group_53804] +[group_53805] +[group_53806] +[group_53807] +[group_53808] +[group_53809] +[group_53810] +[group_53811] +[group_53812] +[group_53813] +[group_53814] +[group_53815] +[group_53816] +[group_53817] +[group_53818] +[group_53819] +[group_53820] +[group_53821] +[group_53822] +[group_53823] +[group_53824] +[group_53825] +[group_53826] +[group_53827] +[group_53828] +[group_53829] +[group_53830] +[group_53831] +[group_53832] +[group_53833] +[group_53834] +[group_53835] +[group_53836] +[group_53837] +[group_53838] +[group_53839] +[group_53840] +[group_53841] +[group_53842] +[group_53843] +[group_53844] +[group_53845] +[group_53846] +[group_53847] +[group_53848] +[group_53849] +[group_53850] +[group_53851] +[group_53852] +[group_53853] +[group_53854] +[group_53855] +[group_53856] +[group_53857] +[group_53858] +[group_53859] +[group_53860] +[group_53861] +[group_53862] +[group_53863] +[group_53864] +[group_53865] +[group_53866] +[group_53867] +[group_53868] +[group_53869] +[group_53870] +[group_53871] +[group_53872] +[group_53873] +[group_53874] +[group_53875] +[group_53876] +[group_53877] +[group_53878] +[group_53879] +[group_53880] +[group_53881] +[group_53882] +[group_53883] +[group_53884] +[group_53885] +[group_53886] +[group_53887] +[group_53888] +[group_53889] +[group_53890] +[group_53891] +[group_53892] +[group_53893] +[group_53894] +[group_53895] +[group_53896] +[group_53897] +[group_53898] +[group_53899] +[group_53900] +[group_53901] +[group_53902] +[group_53903] +[group_53904] +[group_53905] +[group_53906] +[group_53907] +[group_53908] +[group_53909] +[group_53910] +[group_53911] +[group_53912] +[group_53913] +[group_53914] +[group_53915] +[group_53916] +[group_53917] +[group_53918] +[group_53919] +[group_53920] +[group_53921] +[group_53922] +[group_53923] +[group_53924] +[group_53925] +[group_53926] +[group_53927] +[group_53928] +[group_53929] +[group_53930] +[group_53931] +[group_53932] +[group_53933] +[group_53934] +[group_53935] +[group_53936] +[group_53937] +[group_53938] +[group_53939] +[group_53940] +[group_53941] +[group_53942] +[group_53943] +[group_53944] +[group_53945] +[group_53946] +[group_53947] +[group_53948] +[group_53949] +[group_53950] +[group_53951] +[group_53952] +[group_53953] +[group_53954] +[group_53955] +[group_53956] +[group_53957] +[group_53958] +[group_53959] +[group_53960] +[group_53961] +[group_53962] +[group_53963] +[group_53964] +[group_53965] +[group_53966] +[group_53967] +[group_53968] +[group_53969] +[group_53970] +[group_53971] +[group_53972] +[group_53973] +[group_53974] +[group_53975] +[group_53976] +[group_53977] +[group_53978] +[group_53979] +[group_53980] +[group_53981] +[group_53982] +[group_53983] +[group_53984] +[group_53985] +[group_53986] +[group_53987] +[group_53988] +[group_53989] +[group_53990] +[group_53991] +[group_53992] +[group_53993] +[group_53994] +[group_53995] +[group_53996] +[group_53997] +[group_53998] +[group_53999] +[group_54000] +[group_54001] +[group_54002] +[group_54003] +[group_54004] +[group_54005] +[group_54006] +[group_54007] +[group_54008] +[group_54009] +[group_54010] +[group_54011] +[group_54012] +[group_54013] +[group_54014] +[group_54015] +[group_54016] +[group_54017] +[group_54018] +[group_54019] +[group_54020] +[group_54021] +[group_54022] +[group_54023] +[group_54024] +[group_54025] +[group_54026] +[group_54027] +[group_54028] +[group_54029] +[group_54030] +[group_54031] +[group_54032] +[group_54033] +[group_54034] +[group_54035] +[group_54036] +[group_54037] +[group_54038] +[group_54039] +[group_54040] +[group_54041] +[group_54042] +[group_54043] +[group_54044] +[group_54045] +[group_54046] +[group_54047] +[group_54048] +[group_54049] +[group_54050] +[group_54051] +[group_54052] +[group_54053] +[group_54054] +[group_54055] +[group_54056] +[group_54057] +[group_54058] +[group_54059] +[group_54060] +[group_54061] +[group_54062] +[group_54063] +[group_54064] +[group_54065] +[group_54066] +[group_54067] +[group_54068] +[group_54069] +[group_54070] +[group_54071] +[group_54072] +[group_54073] +[group_54074] +[group_54075] +[group_54076] +[group_54077] +[group_54078] +[group_54079] +[group_54080] +[group_54081] +[group_54082] +[group_54083] +[group_54084] +[group_54085] +[group_54086] +[group_54087] +[group_54088] +[group_54089] +[group_54090] +[group_54091] +[group_54092] +[group_54093] +[group_54094] +[group_54095] +[group_54096] +[group_54097] +[group_54098] +[group_54099] +[group_54100] +[group_54101] +[group_54102] +[group_54103] +[group_54104] +[group_54105] +[group_54106] +[group_54107] +[group_54108] +[group_54109] +[group_54110] +[group_54111] +[group_54112] +[group_54113] +[group_54114] +[group_54115] +[group_54116] +[group_54117] +[group_54118] +[group_54119] +[group_54120] +[group_54121] +[group_54122] +[group_54123] +[group_54124] +[group_54125] +[group_54126] +[group_54127] +[group_54128] +[group_54129] +[group_54130] +[group_54131] +[group_54132] +[group_54133] +[group_54134] +[group_54135] +[group_54136] +[group_54137] +[group_54138] +[group_54139] +[group_54140] +[group_54141] +[group_54142] +[group_54143] +[group_54144] +[group_54145] +[group_54146] +[group_54147] +[group_54148] +[group_54149] +[group_54150] +[group_54151] +[group_54152] +[group_54153] +[group_54154] +[group_54155] +[group_54156] +[group_54157] +[group_54158] +[group_54159] +[group_54160] +[group_54161] +[group_54162] +[group_54163] +[group_54164] +[group_54165] +[group_54166] +[group_54167] +[group_54168] +[group_54169] +[group_54170] +[group_54171] +[group_54172] +[group_54173] +[group_54174] +[group_54175] +[group_54176] +[group_54177] +[group_54178] +[group_54179] +[group_54180] +[group_54181] +[group_54182] +[group_54183] +[group_54184] +[group_54185] +[group_54186] +[group_54187] +[group_54188] +[group_54189] +[group_54190] +[group_54191] +[group_54192] +[group_54193] +[group_54194] +[group_54195] +[group_54196] +[group_54197] +[group_54198] +[group_54199] +[group_54200] +[group_54201] +[group_54202] +[group_54203] +[group_54204] +[group_54205] +[group_54206] +[group_54207] +[group_54208] +[group_54209] +[group_54210] +[group_54211] +[group_54212] +[group_54213] +[group_54214] +[group_54215] +[group_54216] +[group_54217] +[group_54218] +[group_54219] +[group_54220] +[group_54221] +[group_54222] +[group_54223] +[group_54224] +[group_54225] +[group_54226] +[group_54227] +[group_54228] +[group_54229] +[group_54230] +[group_54231] +[group_54232] +[group_54233] +[group_54234] +[group_54235] +[group_54236] +[group_54237] +[group_54238] +[group_54239] +[group_54240] +[group_54241] +[group_54242] +[group_54243] +[group_54244] +[group_54245] +[group_54246] +[group_54247] +[group_54248] +[group_54249] +[group_54250] +[group_54251] +[group_54252] +[group_54253] +[group_54254] +[group_54255] +[group_54256] +[group_54257] +[group_54258] +[group_54259] +[group_54260] +[group_54261] +[group_54262] +[group_54263] +[group_54264] +[group_54265] +[group_54266] +[group_54267] +[group_54268] +[group_54269] +[group_54270] +[group_54271] +[group_54272] +[group_54273] +[group_54274] +[group_54275] +[group_54276] +[group_54277] +[group_54278] +[group_54279] +[group_54280] +[group_54281] +[group_54282] +[group_54283] +[group_54284] +[group_54285] +[group_54286] +[group_54287] +[group_54288] +[group_54289] +[group_54290] +[group_54291] +[group_54292] +[group_54293] +[group_54294] +[group_54295] +[group_54296] +[group_54297] +[group_54298] +[group_54299] +[group_54300] +[group_54301] +[group_54302] +[group_54303] +[group_54304] +[group_54305] +[group_54306] +[group_54307] +[group_54308] +[group_54309] +[group_54310] +[group_54311] +[group_54312] +[group_54313] +[group_54314] +[group_54315] +[group_54316] +[group_54317] +[group_54318] +[group_54319] +[group_54320] +[group_54321] +[group_54322] +[group_54323] +[group_54324] +[group_54325] +[group_54326] +[group_54327] +[group_54328] +[group_54329] +[group_54330] +[group_54331] +[group_54332] +[group_54333] +[group_54334] +[group_54335] +[group_54336] +[group_54337] +[group_54338] +[group_54339] +[group_54340] +[group_54341] +[group_54342] +[group_54343] +[group_54344] +[group_54345] +[group_54346] +[group_54347] +[group_54348] +[group_54349] +[group_54350] +[group_54351] +[group_54352] +[group_54353] +[group_54354] +[group_54355] +[group_54356] +[group_54357] +[group_54358] +[group_54359] +[group_54360] +[group_54361] +[group_54362] +[group_54363] +[group_54364] +[group_54365] +[group_54366] +[group_54367] +[group_54368] +[group_54369] +[group_54370] +[group_54371] +[group_54372] +[group_54373] +[group_54374] +[group_54375] +[group_54376] +[group_54377] +[group_54378] +[group_54379] +[group_54380] +[group_54381] +[group_54382] +[group_54383] +[group_54384] +[group_54385] +[group_54386] +[group_54387] +[group_54388] +[group_54389] +[group_54390] +[group_54391] +[group_54392] +[group_54393] +[group_54394] +[group_54395] +[group_54396] +[group_54397] +[group_54398] +[group_54399] +[group_54400] +[group_54401] +[group_54402] +[group_54403] +[group_54404] +[group_54405] +[group_54406] +[group_54407] +[group_54408] +[group_54409] +[group_54410] +[group_54411] +[group_54412] +[group_54413] +[group_54414] +[group_54415] +[group_54416] +[group_54417] +[group_54418] +[group_54419] +[group_54420] +[group_54421] +[group_54422] +[group_54423] +[group_54424] +[group_54425] +[group_54426] +[group_54427] +[group_54428] +[group_54429] +[group_54430] +[group_54431] +[group_54432] +[group_54433] +[group_54434] +[group_54435] +[group_54436] +[group_54437] +[group_54438] +[group_54439] +[group_54440] +[group_54441] +[group_54442] +[group_54443] +[group_54444] +[group_54445] +[group_54446] +[group_54447] +[group_54448] +[group_54449] +[group_54450] +[group_54451] +[group_54452] +[group_54453] +[group_54454] +[group_54455] +[group_54456] +[group_54457] +[group_54458] +[group_54459] +[group_54460] +[group_54461] +[group_54462] +[group_54463] +[group_54464] +[group_54465] +[group_54466] +[group_54467] +[group_54468] +[group_54469] +[group_54470] +[group_54471] +[group_54472] +[group_54473] +[group_54474] +[group_54475] +[group_54476] +[group_54477] +[group_54478] +[group_54479] +[group_54480] +[group_54481] +[group_54482] +[group_54483] +[group_54484] +[group_54485] +[group_54486] +[group_54487] +[group_54488] +[group_54489] +[group_54490] +[group_54491] +[group_54492] +[group_54493] +[group_54494] +[group_54495] +[group_54496] +[group_54497] +[group_54498] +[group_54499] +[group_54500] +[group_54501] +[group_54502] +[group_54503] +[group_54504] +[group_54505] +[group_54506] +[group_54507] +[group_54508] +[group_54509] +[group_54510] +[group_54511] +[group_54512] +[group_54513] +[group_54514] +[group_54515] +[group_54516] +[group_54517] +[group_54518] +[group_54519] +[group_54520] +[group_54521] +[group_54522] +[group_54523] +[group_54524] +[group_54525] +[group_54526] +[group_54527] +[group_54528] +[group_54529] +[group_54530] +[group_54531] +[group_54532] +[group_54533] +[group_54534] +[group_54535] +[group_54536] +[group_54537] +[group_54538] +[group_54539] +[group_54540] +[group_54541] +[group_54542] +[group_54543] +[group_54544] +[group_54545] +[group_54546] +[group_54547] +[group_54548] +[group_54549] +[group_54550] +[group_54551] +[group_54552] +[group_54553] +[group_54554] +[group_54555] +[group_54556] +[group_54557] +[group_54558] +[group_54559] +[group_54560] +[group_54561] +[group_54562] +[group_54563] +[group_54564] +[group_54565] +[group_54566] +[group_54567] +[group_54568] +[group_54569] +[group_54570] +[group_54571] +[group_54572] +[group_54573] +[group_54574] +[group_54575] +[group_54576] +[group_54577] +[group_54578] +[group_54579] +[group_54580] +[group_54581] +[group_54582] +[group_54583] +[group_54584] +[group_54585] +[group_54586] +[group_54587] +[group_54588] +[group_54589] +[group_54590] +[group_54591] +[group_54592] +[group_54593] +[group_54594] +[group_54595] +[group_54596] +[group_54597] +[group_54598] +[group_54599] +[group_54600] +[group_54601] +[group_54602] +[group_54603] +[group_54604] +[group_54605] +[group_54606] +[group_54607] +[group_54608] +[group_54609] +[group_54610] +[group_54611] +[group_54612] +[group_54613] +[group_54614] +[group_54615] +[group_54616] +[group_54617] +[group_54618] +[group_54619] +[group_54620] +[group_54621] +[group_54622] +[group_54623] +[group_54624] +[group_54625] +[group_54626] +[group_54627] +[group_54628] +[group_54629] +[group_54630] +[group_54631] +[group_54632] +[group_54633] +[group_54634] +[group_54635] +[group_54636] +[group_54637] +[group_54638] +[group_54639] +[group_54640] +[group_54641] +[group_54642] +[group_54643] +[group_54644] +[group_54645] +[group_54646] +[group_54647] +[group_54648] +[group_54649] +[group_54650] +[group_54651] +[group_54652] +[group_54653] +[group_54654] +[group_54655] +[group_54656] +[group_54657] +[group_54658] +[group_54659] +[group_54660] +[group_54661] +[group_54662] +[group_54663] +[group_54664] +[group_54665] +[group_54666] +[group_54667] +[group_54668] +[group_54669] +[group_54670] +[group_54671] +[group_54672] +[group_54673] +[group_54674] +[group_54675] +[group_54676] +[group_54677] +[group_54678] +[group_54679] +[group_54680] +[group_54681] +[group_54682] +[group_54683] +[group_54684] +[group_54685] +[group_54686] +[group_54687] +[group_54688] +[group_54689] +[group_54690] +[group_54691] +[group_54692] +[group_54693] +[group_54694] +[group_54695] +[group_54696] +[group_54697] +[group_54698] +[group_54699] +[group_54700] +[group_54701] +[group_54702] +[group_54703] +[group_54704] +[group_54705] +[group_54706] +[group_54707] +[group_54708] +[group_54709] +[group_54710] +[group_54711] +[group_54712] +[group_54713] +[group_54714] +[group_54715] +[group_54716] +[group_54717] +[group_54718] +[group_54719] +[group_54720] +[group_54721] +[group_54722] +[group_54723] +[group_54724] +[group_54725] +[group_54726] +[group_54727] +[group_54728] +[group_54729] +[group_54730] +[group_54731] +[group_54732] +[group_54733] +[group_54734] +[group_54735] +[group_54736] +[group_54737] +[group_54738] +[group_54739] +[group_54740] +[group_54741] +[group_54742] +[group_54743] +[group_54744] +[group_54745] +[group_54746] +[group_54747] +[group_54748] +[group_54749] +[group_54750] +[group_54751] +[group_54752] +[group_54753] +[group_54754] +[group_54755] +[group_54756] +[group_54757] +[group_54758] +[group_54759] +[group_54760] +[group_54761] +[group_54762] +[group_54763] +[group_54764] +[group_54765] +[group_54766] +[group_54767] +[group_54768] +[group_54769] +[group_54770] +[group_54771] +[group_54772] +[group_54773] +[group_54774] +[group_54775] +[group_54776] +[group_54777] +[group_54778] +[group_54779] +[group_54780] +[group_54781] +[group_54782] +[group_54783] +[group_54784] +[group_54785] +[group_54786] +[group_54787] +[group_54788] +[group_54789] +[group_54790] +[group_54791] +[group_54792] +[group_54793] +[group_54794] +[group_54795] +[group_54796] +[group_54797] +[group_54798] +[group_54799] +[group_54800] +[group_54801] +[group_54802] +[group_54803] +[group_54804] +[group_54805] +[group_54806] +[group_54807] +[group_54808] +[group_54809] +[group_54810] +[group_54811] +[group_54812] +[group_54813] +[group_54814] +[group_54815] +[group_54816] +[group_54817] +[group_54818] +[group_54819] +[group_54820] +[group_54821] +[group_54822] +[group_54823] +[group_54824] +[group_54825] +[group_54826] +[group_54827] +[group_54828] +[group_54829] +[group_54830] +[group_54831] +[group_54832] +[group_54833] +[group_54834] +[group_54835] +[group_54836] +[group_54837] +[group_54838] +[group_54839] +[group_54840] +[group_54841] +[group_54842] +[group_54843] +[group_54844] +[group_54845] +[group_54846] +[group_54847] +[group_54848] +[group_54849] +[group_54850] +[group_54851] +[group_54852] +[group_54853] +[group_54854] +[group_54855] +[group_54856] +[group_54857] +[group_54858] +[group_54859] +[group_54860] +[group_54861] +[group_54862] +[group_54863] +[group_54864] +[group_54865] +[group_54866] +[group_54867] +[group_54868] +[group_54869] +[group_54870] +[group_54871] +[group_54872] +[group_54873] +[group_54874] +[group_54875] +[group_54876] +[group_54877] +[group_54878] +[group_54879] +[group_54880] +[group_54881] +[group_54882] +[group_54883] +[group_54884] +[group_54885] +[group_54886] +[group_54887] +[group_54888] +[group_54889] +[group_54890] +[group_54891] +[group_54892] +[group_54893] +[group_54894] +[group_54895] +[group_54896] +[group_54897] +[group_54898] +[group_54899] +[group_54900] +[group_54901] +[group_54902] +[group_54903] +[group_54904] +[group_54905] +[group_54906] +[group_54907] +[group_54908] +[group_54909] +[group_54910] +[group_54911] +[group_54912] +[group_54913] +[group_54914] +[group_54915] +[group_54916] +[group_54917] +[group_54918] +[group_54919] +[group_54920] +[group_54921] +[group_54922] +[group_54923] +[group_54924] +[group_54925] +[group_54926] +[group_54927] +[group_54928] +[group_54929] +[group_54930] +[group_54931] +[group_54932] +[group_54933] +[group_54934] +[group_54935] +[group_54936] +[group_54937] +[group_54938] +[group_54939] +[group_54940] +[group_54941] +[group_54942] +[group_54943] +[group_54944] +[group_54945] +[group_54946] +[group_54947] +[group_54948] +[group_54949] +[group_54950] +[group_54951] +[group_54952] +[group_54953] +[group_54954] +[group_54955] +[group_54956] +[group_54957] +[group_54958] +[group_54959] +[group_54960] +[group_54961] +[group_54962] +[group_54963] +[group_54964] +[group_54965] +[group_54966] +[group_54967] +[group_54968] +[group_54969] +[group_54970] +[group_54971] +[group_54972] +[group_54973] +[group_54974] +[group_54975] +[group_54976] +[group_54977] +[group_54978] +[group_54979] +[group_54980] +[group_54981] +[group_54982] +[group_54983] +[group_54984] +[group_54985] +[group_54986] +[group_54987] +[group_54988] +[group_54989] +[group_54990] +[group_54991] +[group_54992] +[group_54993] +[group_54994] +[group_54995] +[group_54996] +[group_54997] +[group_54998] +[group_54999] +[group_55000] +[group_55001] +[group_55002] +[group_55003] +[group_55004] +[group_55005] +[group_55006] +[group_55007] +[group_55008] +[group_55009] +[group_55010] +[group_55011] +[group_55012] +[group_55013] +[group_55014] +[group_55015] +[group_55016] +[group_55017] +[group_55018] +[group_55019] +[group_55020] +[group_55021] +[group_55022] +[group_55023] +[group_55024] +[group_55025] +[group_55026] +[group_55027] +[group_55028] +[group_55029] +[group_55030] +[group_55031] +[group_55032] +[group_55033] +[group_55034] +[group_55035] +[group_55036] +[group_55037] +[group_55038] +[group_55039] +[group_55040] +[group_55041] +[group_55042] +[group_55043] +[group_55044] +[group_55045] +[group_55046] +[group_55047] +[group_55048] +[group_55049] +[group_55050] +[group_55051] +[group_55052] +[group_55053] +[group_55054] +[group_55055] +[group_55056] +[group_55057] +[group_55058] +[group_55059] +[group_55060] +[group_55061] +[group_55062] +[group_55063] +[group_55064] +[group_55065] +[group_55066] +[group_55067] +[group_55068] +[group_55069] +[group_55070] +[group_55071] +[group_55072] +[group_55073] +[group_55074] +[group_55075] +[group_55076] +[group_55077] +[group_55078] +[group_55079] +[group_55080] +[group_55081] +[group_55082] +[group_55083] +[group_55084] +[group_55085] +[group_55086] +[group_55087] +[group_55088] +[group_55089] +[group_55090] +[group_55091] +[group_55092] +[group_55093] +[group_55094] +[group_55095] +[group_55096] +[group_55097] +[group_55098] +[group_55099] +[group_55100] +[group_55101] +[group_55102] +[group_55103] +[group_55104] +[group_55105] +[group_55106] +[group_55107] +[group_55108] +[group_55109] +[group_55110] +[group_55111] +[group_55112] +[group_55113] +[group_55114] +[group_55115] +[group_55116] +[group_55117] +[group_55118] +[group_55119] +[group_55120] +[group_55121] +[group_55122] +[group_55123] +[group_55124] +[group_55125] +[group_55126] +[group_55127] +[group_55128] +[group_55129] +[group_55130] +[group_55131] +[group_55132] +[group_55133] +[group_55134] +[group_55135] +[group_55136] +[group_55137] +[group_55138] +[group_55139] +[group_55140] +[group_55141] +[group_55142] +[group_55143] +[group_55144] +[group_55145] +[group_55146] +[group_55147] +[group_55148] +[group_55149] +[group_55150] +[group_55151] +[group_55152] +[group_55153] +[group_55154] +[group_55155] +[group_55156] +[group_55157] +[group_55158] +[group_55159] +[group_55160] +[group_55161] +[group_55162] +[group_55163] +[group_55164] +[group_55165] +[group_55166] +[group_55167] +[group_55168] +[group_55169] +[group_55170] +[group_55171] +[group_55172] +[group_55173] +[group_55174] +[group_55175] +[group_55176] +[group_55177] +[group_55178] +[group_55179] +[group_55180] +[group_55181] +[group_55182] +[group_55183] +[group_55184] +[group_55185] +[group_55186] +[group_55187] +[group_55188] +[group_55189] +[group_55190] +[group_55191] +[group_55192] +[group_55193] +[group_55194] +[group_55195] +[group_55196] +[group_55197] +[group_55198] +[group_55199] +[group_55200] +[group_55201] +[group_55202] +[group_55203] +[group_55204] +[group_55205] +[group_55206] +[group_55207] +[group_55208] +[group_55209] +[group_55210] +[group_55211] +[group_55212] +[group_55213] +[group_55214] +[group_55215] +[group_55216] +[group_55217] +[group_55218] +[group_55219] +[group_55220] +[group_55221] +[group_55222] +[group_55223] +[group_55224] +[group_55225] +[group_55226] +[group_55227] +[group_55228] +[group_55229] +[group_55230] +[group_55231] +[group_55232] +[group_55233] +[group_55234] +[group_55235] +[group_55236] +[group_55237] +[group_55238] +[group_55239] +[group_55240] +[group_55241] +[group_55242] +[group_55243] +[group_55244] +[group_55245] +[group_55246] +[group_55247] +[group_55248] +[group_55249] +[group_55250] +[group_55251] +[group_55252] +[group_55253] +[group_55254] +[group_55255] +[group_55256] +[group_55257] +[group_55258] +[group_55259] +[group_55260] +[group_55261] +[group_55262] +[group_55263] +[group_55264] +[group_55265] +[group_55266] +[group_55267] +[group_55268] +[group_55269] +[group_55270] +[group_55271] +[group_55272] +[group_55273] +[group_55274] +[group_55275] +[group_55276] +[group_55277] +[group_55278] +[group_55279] +[group_55280] +[group_55281] +[group_55282] +[group_55283] +[group_55284] +[group_55285] +[group_55286] +[group_55287] +[group_55288] +[group_55289] +[group_55290] +[group_55291] +[group_55292] +[group_55293] +[group_55294] +[group_55295] +[group_55296] +[group_55297] +[group_55298] +[group_55299] +[group_55300] +[group_55301] +[group_55302] +[group_55303] +[group_55304] +[group_55305] +[group_55306] +[group_55307] +[group_55308] +[group_55309] +[group_55310] +[group_55311] +[group_55312] +[group_55313] +[group_55314] +[group_55315] +[group_55316] +[group_55317] +[group_55318] +[group_55319] +[group_55320] +[group_55321] +[group_55322] +[group_55323] +[group_55324] +[group_55325] +[group_55326] +[group_55327] +[group_55328] +[group_55329] +[group_55330] +[group_55331] +[group_55332] +[group_55333] +[group_55334] +[group_55335] +[group_55336] +[group_55337] +[group_55338] +[group_55339] +[group_55340] +[group_55341] +[group_55342] +[group_55343] +[group_55344] +[group_55345] +[group_55346] +[group_55347] +[group_55348] +[group_55349] +[group_55350] +[group_55351] +[group_55352] +[group_55353] +[group_55354] +[group_55355] +[group_55356] +[group_55357] +[group_55358] +[group_55359] +[group_55360] +[group_55361] +[group_55362] +[group_55363] +[group_55364] +[group_55365] +[group_55366] +[group_55367] +[group_55368] +[group_55369] +[group_55370] +[group_55371] +[group_55372] +[group_55373] +[group_55374] +[group_55375] +[group_55376] +[group_55377] +[group_55378] +[group_55379] +[group_55380] +[group_55381] +[group_55382] +[group_55383] +[group_55384] +[group_55385] +[group_55386] +[group_55387] +[group_55388] +[group_55389] +[group_55390] +[group_55391] +[group_55392] +[group_55393] +[group_55394] +[group_55395] +[group_55396] +[group_55397] +[group_55398] +[group_55399] +[group_55400] +[group_55401] +[group_55402] +[group_55403] +[group_55404] +[group_55405] +[group_55406] +[group_55407] +[group_55408] +[group_55409] +[group_55410] +[group_55411] +[group_55412] +[group_55413] +[group_55414] +[group_55415] +[group_55416] +[group_55417] +[group_55418] +[group_55419] +[group_55420] +[group_55421] +[group_55422] +[group_55423] +[group_55424] +[group_55425] +[group_55426] +[group_55427] +[group_55428] +[group_55429] +[group_55430] +[group_55431] +[group_55432] +[group_55433] +[group_55434] +[group_55435] +[group_55436] +[group_55437] +[group_55438] +[group_55439] +[group_55440] +[group_55441] +[group_55442] +[group_55443] +[group_55444] +[group_55445] +[group_55446] +[group_55447] +[group_55448] +[group_55449] +[group_55450] +[group_55451] +[group_55452] +[group_55453] +[group_55454] +[group_55455] +[group_55456] +[group_55457] +[group_55458] +[group_55459] +[group_55460] +[group_55461] +[group_55462] +[group_55463] +[group_55464] +[group_55465] +[group_55466] +[group_55467] +[group_55468] +[group_55469] +[group_55470] +[group_55471] +[group_55472] +[group_55473] +[group_55474] +[group_55475] +[group_55476] +[group_55477] +[group_55478] +[group_55479] +[group_55480] +[group_55481] +[group_55482] +[group_55483] +[group_55484] +[group_55485] +[group_55486] +[group_55487] +[group_55488] +[group_55489] +[group_55490] +[group_55491] +[group_55492] +[group_55493] +[group_55494] +[group_55495] +[group_55496] +[group_55497] +[group_55498] +[group_55499] +[group_55500] +[group_55501] +[group_55502] +[group_55503] +[group_55504] +[group_55505] +[group_55506] +[group_55507] +[group_55508] +[group_55509] +[group_55510] +[group_55511] +[group_55512] +[group_55513] +[group_55514] +[group_55515] +[group_55516] +[group_55517] +[group_55518] +[group_55519] +[group_55520] +[group_55521] +[group_55522] +[group_55523] +[group_55524] +[group_55525] +[group_55526] +[group_55527] +[group_55528] +[group_55529] +[group_55530] +[group_55531] +[group_55532] +[group_55533] +[group_55534] +[group_55535] +[group_55536] +[group_55537] +[group_55538] +[group_55539] +[group_55540] +[group_55541] +[group_55542] +[group_55543] +[group_55544] +[group_55545] +[group_55546] +[group_55547] +[group_55548] +[group_55549] +[group_55550] +[group_55551] +[group_55552] +[group_55553] +[group_55554] +[group_55555] +[group_55556] +[group_55557] +[group_55558] +[group_55559] +[group_55560] +[group_55561] +[group_55562] +[group_55563] +[group_55564] +[group_55565] +[group_55566] +[group_55567] +[group_55568] +[group_55569] +[group_55570] +[group_55571] +[group_55572] +[group_55573] +[group_55574] +[group_55575] +[group_55576] +[group_55577] +[group_55578] +[group_55579] +[group_55580] +[group_55581] +[group_55582] +[group_55583] +[group_55584] +[group_55585] +[group_55586] +[group_55587] +[group_55588] +[group_55589] +[group_55590] +[group_55591] +[group_55592] +[group_55593] +[group_55594] +[group_55595] +[group_55596] +[group_55597] +[group_55598] +[group_55599] +[group_55600] +[group_55601] +[group_55602] +[group_55603] +[group_55604] +[group_55605] +[group_55606] +[group_55607] +[group_55608] +[group_55609] +[group_55610] +[group_55611] +[group_55612] +[group_55613] +[group_55614] +[group_55615] +[group_55616] +[group_55617] +[group_55618] +[group_55619] +[group_55620] +[group_55621] +[group_55622] +[group_55623] +[group_55624] +[group_55625] +[group_55626] +[group_55627] +[group_55628] +[group_55629] +[group_55630] +[group_55631] +[group_55632] +[group_55633] +[group_55634] +[group_55635] +[group_55636] +[group_55637] +[group_55638] +[group_55639] +[group_55640] +[group_55641] +[group_55642] +[group_55643] +[group_55644] +[group_55645] +[group_55646] +[group_55647] +[group_55648] +[group_55649] +[group_55650] +[group_55651] +[group_55652] +[group_55653] +[group_55654] +[group_55655] +[group_55656] +[group_55657] +[group_55658] +[group_55659] +[group_55660] +[group_55661] +[group_55662] +[group_55663] +[group_55664] +[group_55665] +[group_55666] +[group_55667] +[group_55668] +[group_55669] +[group_55670] +[group_55671] +[group_55672] +[group_55673] +[group_55674] +[group_55675] +[group_55676] +[group_55677] +[group_55678] +[group_55679] +[group_55680] +[group_55681] +[group_55682] +[group_55683] +[group_55684] +[group_55685] +[group_55686] +[group_55687] +[group_55688] +[group_55689] +[group_55690] +[group_55691] +[group_55692] +[group_55693] +[group_55694] +[group_55695] +[group_55696] +[group_55697] +[group_55698] +[group_55699] +[group_55700] +[group_55701] +[group_55702] +[group_55703] +[group_55704] +[group_55705] +[group_55706] +[group_55707] +[group_55708] +[group_55709] +[group_55710] +[group_55711] +[group_55712] +[group_55713] +[group_55714] +[group_55715] +[group_55716] +[group_55717] +[group_55718] +[group_55719] +[group_55720] +[group_55721] +[group_55722] +[group_55723] +[group_55724] +[group_55725] +[group_55726] +[group_55727] +[group_55728] +[group_55729] +[group_55730] +[group_55731] +[group_55732] +[group_55733] +[group_55734] +[group_55735] +[group_55736] +[group_55737] +[group_55738] +[group_55739] +[group_55740] +[group_55741] +[group_55742] +[group_55743] +[group_55744] +[group_55745] +[group_55746] +[group_55747] +[group_55748] +[group_55749] +[group_55750] +[group_55751] +[group_55752] +[group_55753] +[group_55754] +[group_55755] +[group_55756] +[group_55757] +[group_55758] +[group_55759] +[group_55760] +[group_55761] +[group_55762] +[group_55763] +[group_55764] +[group_55765] +[group_55766] +[group_55767] +[group_55768] +[group_55769] +[group_55770] +[group_55771] +[group_55772] +[group_55773] +[group_55774] +[group_55775] +[group_55776] +[group_55777] +[group_55778] +[group_55779] +[group_55780] +[group_55781] +[group_55782] +[group_55783] +[group_55784] +[group_55785] +[group_55786] +[group_55787] +[group_55788] +[group_55789] +[group_55790] +[group_55791] +[group_55792] +[group_55793] +[group_55794] +[group_55795] +[group_55796] +[group_55797] +[group_55798] +[group_55799] +[group_55800] +[group_55801] +[group_55802] +[group_55803] +[group_55804] +[group_55805] +[group_55806] +[group_55807] +[group_55808] +[group_55809] +[group_55810] +[group_55811] +[group_55812] +[group_55813] +[group_55814] +[group_55815] +[group_55816] +[group_55817] +[group_55818] +[group_55819] +[group_55820] +[group_55821] +[group_55822] +[group_55823] +[group_55824] +[group_55825] +[group_55826] +[group_55827] +[group_55828] +[group_55829] +[group_55830] +[group_55831] +[group_55832] +[group_55833] +[group_55834] +[group_55835] +[group_55836] +[group_55837] +[group_55838] +[group_55839] +[group_55840] +[group_55841] +[group_55842] +[group_55843] +[group_55844] +[group_55845] +[group_55846] +[group_55847] +[group_55848] +[group_55849] +[group_55850] +[group_55851] +[group_55852] +[group_55853] +[group_55854] +[group_55855] +[group_55856] +[group_55857] +[group_55858] +[group_55859] +[group_55860] +[group_55861] +[group_55862] +[group_55863] +[group_55864] +[group_55865] +[group_55866] +[group_55867] +[group_55868] +[group_55869] +[group_55870] +[group_55871] +[group_55872] +[group_55873] +[group_55874] +[group_55875] +[group_55876] +[group_55877] +[group_55878] +[group_55879] +[group_55880] +[group_55881] +[group_55882] +[group_55883] +[group_55884] +[group_55885] +[group_55886] +[group_55887] +[group_55888] +[group_55889] +[group_55890] +[group_55891] +[group_55892] +[group_55893] +[group_55894] +[group_55895] +[group_55896] +[group_55897] +[group_55898] +[group_55899] +[group_55900] +[group_55901] +[group_55902] +[group_55903] +[group_55904] +[group_55905] +[group_55906] +[group_55907] +[group_55908] +[group_55909] +[group_55910] +[group_55911] +[group_55912] +[group_55913] +[group_55914] +[group_55915] +[group_55916] +[group_55917] +[group_55918] +[group_55919] +[group_55920] +[group_55921] +[group_55922] +[group_55923] +[group_55924] +[group_55925] +[group_55926] +[group_55927] +[group_55928] +[group_55929] +[group_55930] +[group_55931] +[group_55932] +[group_55933] +[group_55934] +[group_55935] +[group_55936] +[group_55937] +[group_55938] +[group_55939] +[group_55940] +[group_55941] +[group_55942] +[group_55943] +[group_55944] +[group_55945] +[group_55946] +[group_55947] +[group_55948] +[group_55949] +[group_55950] +[group_55951] +[group_55952] +[group_55953] +[group_55954] +[group_55955] +[group_55956] +[group_55957] +[group_55958] +[group_55959] +[group_55960] +[group_55961] +[group_55962] +[group_55963] +[group_55964] +[group_55965] +[group_55966] +[group_55967] +[group_55968] +[group_55969] +[group_55970] +[group_55971] +[group_55972] +[group_55973] +[group_55974] +[group_55975] +[group_55976] +[group_55977] +[group_55978] +[group_55979] +[group_55980] +[group_55981] +[group_55982] +[group_55983] +[group_55984] +[group_55985] +[group_55986] +[group_55987] +[group_55988] +[group_55989] +[group_55990] +[group_55991] +[group_55992] +[group_55993] +[group_55994] +[group_55995] +[group_55996] +[group_55997] +[group_55998] +[group_55999] +[group_56000] +[group_56001] +[group_56002] +[group_56003] +[group_56004] +[group_56005] +[group_56006] +[group_56007] +[group_56008] +[group_56009] +[group_56010] +[group_56011] +[group_56012] +[group_56013] +[group_56014] +[group_56015] +[group_56016] +[group_56017] +[group_56018] +[group_56019] +[group_56020] +[group_56021] +[group_56022] +[group_56023] +[group_56024] +[group_56025] +[group_56026] +[group_56027] +[group_56028] +[group_56029] +[group_56030] +[group_56031] +[group_56032] +[group_56033] +[group_56034] +[group_56035] +[group_56036] +[group_56037] +[group_56038] +[group_56039] +[group_56040] +[group_56041] +[group_56042] +[group_56043] +[group_56044] +[group_56045] +[group_56046] +[group_56047] +[group_56048] +[group_56049] +[group_56050] +[group_56051] +[group_56052] +[group_56053] +[group_56054] +[group_56055] +[group_56056] +[group_56057] +[group_56058] +[group_56059] +[group_56060] +[group_56061] +[group_56062] +[group_56063] +[group_56064] +[group_56065] +[group_56066] +[group_56067] +[group_56068] +[group_56069] +[group_56070] +[group_56071] +[group_56072] +[group_56073] +[group_56074] +[group_56075] +[group_56076] +[group_56077] +[group_56078] +[group_56079] +[group_56080] +[group_56081] +[group_56082] +[group_56083] +[group_56084] +[group_56085] +[group_56086] +[group_56087] +[group_56088] +[group_56089] +[group_56090] +[group_56091] +[group_56092] +[group_56093] +[group_56094] +[group_56095] +[group_56096] +[group_56097] +[group_56098] +[group_56099] +[group_56100] +[group_56101] +[group_56102] +[group_56103] +[group_56104] +[group_56105] +[group_56106] +[group_56107] +[group_56108] +[group_56109] +[group_56110] +[group_56111] +[group_56112] +[group_56113] +[group_56114] +[group_56115] +[group_56116] +[group_56117] +[group_56118] +[group_56119] +[group_56120] +[group_56121] +[group_56122] +[group_56123] +[group_56124] +[group_56125] +[group_56126] +[group_56127] +[group_56128] +[group_56129] +[group_56130] +[group_56131] +[group_56132] +[group_56133] +[group_56134] +[group_56135] +[group_56136] +[group_56137] +[group_56138] +[group_56139] +[group_56140] +[group_56141] +[group_56142] +[group_56143] +[group_56144] +[group_56145] +[group_56146] +[group_56147] +[group_56148] +[group_56149] +[group_56150] +[group_56151] +[group_56152] +[group_56153] +[group_56154] +[group_56155] +[group_56156] +[group_56157] +[group_56158] +[group_56159] +[group_56160] +[group_56161] +[group_56162] +[group_56163] +[group_56164] +[group_56165] +[group_56166] +[group_56167] +[group_56168] +[group_56169] +[group_56170] +[group_56171] +[group_56172] +[group_56173] +[group_56174] +[group_56175] +[group_56176] +[group_56177] +[group_56178] +[group_56179] +[group_56180] +[group_56181] +[group_56182] +[group_56183] +[group_56184] +[group_56185] +[group_56186] +[group_56187] +[group_56188] +[group_56189] +[group_56190] +[group_56191] +[group_56192] +[group_56193] +[group_56194] +[group_56195] +[group_56196] +[group_56197] +[group_56198] +[group_56199] +[group_56200] +[group_56201] +[group_56202] +[group_56203] +[group_56204] +[group_56205] +[group_56206] +[group_56207] +[group_56208] +[group_56209] +[group_56210] +[group_56211] +[group_56212] +[group_56213] +[group_56214] +[group_56215] +[group_56216] +[group_56217] +[group_56218] +[group_56219] +[group_56220] +[group_56221] +[group_56222] +[group_56223] +[group_56224] +[group_56225] +[group_56226] +[group_56227] +[group_56228] +[group_56229] +[group_56230] +[group_56231] +[group_56232] +[group_56233] +[group_56234] +[group_56235] +[group_56236] +[group_56237] +[group_56238] +[group_56239] +[group_56240] +[group_56241] +[group_56242] +[group_56243] +[group_56244] +[group_56245] +[group_56246] +[group_56247] +[group_56248] +[group_56249] +[group_56250] +[group_56251] +[group_56252] +[group_56253] +[group_56254] +[group_56255] +[group_56256] +[group_56257] +[group_56258] +[group_56259] +[group_56260] +[group_56261] +[group_56262] +[group_56263] +[group_56264] +[group_56265] +[group_56266] +[group_56267] +[group_56268] +[group_56269] +[group_56270] +[group_56271] +[group_56272] +[group_56273] +[group_56274] +[group_56275] +[group_56276] +[group_56277] +[group_56278] +[group_56279] +[group_56280] +[group_56281] +[group_56282] +[group_56283] +[group_56284] +[group_56285] +[group_56286] +[group_56287] +[group_56288] +[group_56289] +[group_56290] +[group_56291] +[group_56292] +[group_56293] +[group_56294] +[group_56295] +[group_56296] +[group_56297] +[group_56298] +[group_56299] +[group_56300] +[group_56301] +[group_56302] +[group_56303] +[group_56304] +[group_56305] +[group_56306] +[group_56307] +[group_56308] +[group_56309] +[group_56310] +[group_56311] +[group_56312] +[group_56313] +[group_56314] +[group_56315] +[group_56316] +[group_56317] +[group_56318] +[group_56319] +[group_56320] +[group_56321] +[group_56322] +[group_56323] +[group_56324] +[group_56325] +[group_56326] +[group_56327] +[group_56328] +[group_56329] +[group_56330] +[group_56331] +[group_56332] +[group_56333] +[group_56334] +[group_56335] +[group_56336] +[group_56337] +[group_56338] +[group_56339] +[group_56340] +[group_56341] +[group_56342] +[group_56343] +[group_56344] +[group_56345] +[group_56346] +[group_56347] +[group_56348] +[group_56349] +[group_56350] +[group_56351] +[group_56352] +[group_56353] +[group_56354] +[group_56355] +[group_56356] +[group_56357] +[group_56358] +[group_56359] +[group_56360] +[group_56361] +[group_56362] +[group_56363] +[group_56364] +[group_56365] +[group_56366] +[group_56367] +[group_56368] +[group_56369] +[group_56370] +[group_56371] +[group_56372] +[group_56373] +[group_56374] +[group_56375] +[group_56376] +[group_56377] +[group_56378] +[group_56379] +[group_56380] +[group_56381] +[group_56382] +[group_56383] +[group_56384] +[group_56385] +[group_56386] +[group_56387] +[group_56388] +[group_56389] +[group_56390] +[group_56391] +[group_56392] +[group_56393] +[group_56394] +[group_56395] +[group_56396] +[group_56397] +[group_56398] +[group_56399] +[group_56400] +[group_56401] +[group_56402] +[group_56403] +[group_56404] +[group_56405] +[group_56406] +[group_56407] +[group_56408] +[group_56409] +[group_56410] +[group_56411] +[group_56412] +[group_56413] +[group_56414] +[group_56415] +[group_56416] +[group_56417] +[group_56418] +[group_56419] +[group_56420] +[group_56421] +[group_56422] +[group_56423] +[group_56424] +[group_56425] +[group_56426] +[group_56427] +[group_56428] +[group_56429] +[group_56430] +[group_56431] +[group_56432] +[group_56433] +[group_56434] +[group_56435] +[group_56436] +[group_56437] +[group_56438] +[group_56439] +[group_56440] +[group_56441] +[group_56442] +[group_56443] +[group_56444] +[group_56445] +[group_56446] +[group_56447] +[group_56448] +[group_56449] +[group_56450] +[group_56451] +[group_56452] +[group_56453] +[group_56454] +[group_56455] +[group_56456] +[group_56457] +[group_56458] +[group_56459] +[group_56460] +[group_56461] +[group_56462] +[group_56463] +[group_56464] +[group_56465] +[group_56466] +[group_56467] +[group_56468] +[group_56469] +[group_56470] +[group_56471] +[group_56472] +[group_56473] +[group_56474] +[group_56475] +[group_56476] +[group_56477] +[group_56478] +[group_56479] +[group_56480] +[group_56481] +[group_56482] +[group_56483] +[group_56484] +[group_56485] +[group_56486] +[group_56487] +[group_56488] +[group_56489] +[group_56490] +[group_56491] +[group_56492] +[group_56493] +[group_56494] +[group_56495] +[group_56496] +[group_56497] +[group_56498] +[group_56499] +[group_56500] +[group_56501] +[group_56502] +[group_56503] +[group_56504] +[group_56505] +[group_56506] +[group_56507] +[group_56508] +[group_56509] +[group_56510] +[group_56511] +[group_56512] +[group_56513] +[group_56514] +[group_56515] +[group_56516] +[group_56517] +[group_56518] +[group_56519] +[group_56520] +[group_56521] +[group_56522] +[group_56523] +[group_56524] +[group_56525] +[group_56526] +[group_56527] +[group_56528] +[group_56529] +[group_56530] +[group_56531] +[group_56532] +[group_56533] +[group_56534] +[group_56535] +[group_56536] +[group_56537] +[group_56538] +[group_56539] +[group_56540] +[group_56541] +[group_56542] +[group_56543] +[group_56544] +[group_56545] +[group_56546] +[group_56547] +[group_56548] +[group_56549] +[group_56550] +[group_56551] +[group_56552] +[group_56553] +[group_56554] +[group_56555] +[group_56556] +[group_56557] +[group_56558] +[group_56559] +[group_56560] +[group_56561] +[group_56562] +[group_56563] +[group_56564] +[group_56565] +[group_56566] +[group_56567] +[group_56568] +[group_56569] +[group_56570] +[group_56571] +[group_56572] +[group_56573] +[group_56574] +[group_56575] +[group_56576] +[group_56577] +[group_56578] +[group_56579] +[group_56580] +[group_56581] +[group_56582] +[group_56583] +[group_56584] +[group_56585] +[group_56586] +[group_56587] +[group_56588] +[group_56589] +[group_56590] +[group_56591] +[group_56592] +[group_56593] +[group_56594] +[group_56595] +[group_56596] +[group_56597] +[group_56598] +[group_56599] +[group_56600] +[group_56601] +[group_56602] +[group_56603] +[group_56604] +[group_56605] +[group_56606] +[group_56607] +[group_56608] +[group_56609] +[group_56610] +[group_56611] +[group_56612] +[group_56613] +[group_56614] +[group_56615] +[group_56616] +[group_56617] +[group_56618] +[group_56619] +[group_56620] +[group_56621] +[group_56622] +[group_56623] +[group_56624] +[group_56625] +[group_56626] +[group_56627] +[group_56628] +[group_56629] +[group_56630] +[group_56631] +[group_56632] +[group_56633] +[group_56634] +[group_56635] +[group_56636] +[group_56637] +[group_56638] +[group_56639] +[group_56640] +[group_56641] +[group_56642] +[group_56643] +[group_56644] +[group_56645] +[group_56646] +[group_56647] +[group_56648] +[group_56649] +[group_56650] +[group_56651] +[group_56652] +[group_56653] +[group_56654] +[group_56655] +[group_56656] +[group_56657] +[group_56658] +[group_56659] +[group_56660] +[group_56661] +[group_56662] +[group_56663] +[group_56664] +[group_56665] +[group_56666] +[group_56667] +[group_56668] +[group_56669] +[group_56670] +[group_56671] +[group_56672] +[group_56673] +[group_56674] +[group_56675] +[group_56676] +[group_56677] +[group_56678] +[group_56679] +[group_56680] +[group_56681] +[group_56682] +[group_56683] +[group_56684] +[group_56685] +[group_56686] +[group_56687] +[group_56688] +[group_56689] +[group_56690] +[group_56691] +[group_56692] +[group_56693] +[group_56694] +[group_56695] +[group_56696] +[group_56697] +[group_56698] +[group_56699] +[group_56700] +[group_56701] +[group_56702] +[group_56703] +[group_56704] +[group_56705] +[group_56706] +[group_56707] +[group_56708] +[group_56709] +[group_56710] +[group_56711] +[group_56712] +[group_56713] +[group_56714] +[group_56715] +[group_56716] +[group_56717] +[group_56718] +[group_56719] +[group_56720] +[group_56721] +[group_56722] +[group_56723] +[group_56724] +[group_56725] +[group_56726] +[group_56727] +[group_56728] +[group_56729] +[group_56730] +[group_56731] +[group_56732] +[group_56733] +[group_56734] +[group_56735] +[group_56736] +[group_56737] +[group_56738] +[group_56739] +[group_56740] +[group_56741] +[group_56742] +[group_56743] +[group_56744] +[group_56745] +[group_56746] +[group_56747] +[group_56748] +[group_56749] +[group_56750] +[group_56751] +[group_56752] +[group_56753] +[group_56754] +[group_56755] +[group_56756] +[group_56757] +[group_56758] +[group_56759] +[group_56760] +[group_56761] +[group_56762] +[group_56763] +[group_56764] +[group_56765] +[group_56766] +[group_56767] +[group_56768] +[group_56769] +[group_56770] +[group_56771] +[group_56772] +[group_56773] +[group_56774] +[group_56775] +[group_56776] +[group_56777] +[group_56778] +[group_56779] +[group_56780] +[group_56781] +[group_56782] +[group_56783] +[group_56784] +[group_56785] +[group_56786] +[group_56787] +[group_56788] +[group_56789] +[group_56790] +[group_56791] +[group_56792] +[group_56793] +[group_56794] +[group_56795] +[group_56796] +[group_56797] +[group_56798] +[group_56799] +[group_56800] +[group_56801] +[group_56802] +[group_56803] +[group_56804] +[group_56805] +[group_56806] +[group_56807] +[group_56808] +[group_56809] +[group_56810] +[group_56811] +[group_56812] +[group_56813] +[group_56814] +[group_56815] +[group_56816] +[group_56817] +[group_56818] +[group_56819] +[group_56820] +[group_56821] +[group_56822] +[group_56823] +[group_56824] +[group_56825] +[group_56826] +[group_56827] +[group_56828] +[group_56829] +[group_56830] +[group_56831] +[group_56832] +[group_56833] +[group_56834] +[group_56835] +[group_56836] +[group_56837] +[group_56838] +[group_56839] +[group_56840] +[group_56841] +[group_56842] +[group_56843] +[group_56844] +[group_56845] +[group_56846] +[group_56847] +[group_56848] +[group_56849] +[group_56850] +[group_56851] +[group_56852] +[group_56853] +[group_56854] +[group_56855] +[group_56856] +[group_56857] +[group_56858] +[group_56859] +[group_56860] +[group_56861] +[group_56862] +[group_56863] +[group_56864] +[group_56865] +[group_56866] +[group_56867] +[group_56868] +[group_56869] +[group_56870] +[group_56871] +[group_56872] +[group_56873] +[group_56874] +[group_56875] +[group_56876] +[group_56877] +[group_56878] +[group_56879] +[group_56880] +[group_56881] +[group_56882] +[group_56883] +[group_56884] +[group_56885] +[group_56886] +[group_56887] +[group_56888] +[group_56889] +[group_56890] +[group_56891] +[group_56892] +[group_56893] +[group_56894] +[group_56895] +[group_56896] +[group_56897] +[group_56898] +[group_56899] +[group_56900] +[group_56901] +[group_56902] +[group_56903] +[group_56904] +[group_56905] +[group_56906] +[group_56907] +[group_56908] +[group_56909] +[group_56910] +[group_56911] +[group_56912] +[group_56913] +[group_56914] +[group_56915] +[group_56916] +[group_56917] +[group_56918] +[group_56919] +[group_56920] +[group_56921] +[group_56922] +[group_56923] +[group_56924] +[group_56925] +[group_56926] +[group_56927] +[group_56928] +[group_56929] +[group_56930] +[group_56931] +[group_56932] +[group_56933] +[group_56934] +[group_56935] +[group_56936] +[group_56937] +[group_56938] +[group_56939] +[group_56940] +[group_56941] +[group_56942] +[group_56943] +[group_56944] +[group_56945] +[group_56946] +[group_56947] +[group_56948] +[group_56949] +[group_56950] +[group_56951] +[group_56952] +[group_56953] +[group_56954] +[group_56955] +[group_56956] +[group_56957] +[group_56958] +[group_56959] +[group_56960] +[group_56961] +[group_56962] +[group_56963] +[group_56964] +[group_56965] +[group_56966] +[group_56967] +[group_56968] +[group_56969] +[group_56970] +[group_56971] +[group_56972] +[group_56973] +[group_56974] +[group_56975] +[group_56976] +[group_56977] +[group_56978] +[group_56979] +[group_56980] +[group_56981] +[group_56982] +[group_56983] +[group_56984] +[group_56985] +[group_56986] +[group_56987] +[group_56988] +[group_56989] +[group_56990] +[group_56991] +[group_56992] +[group_56993] +[group_56994] +[group_56995] +[group_56996] +[group_56997] +[group_56998] +[group_56999] +[group_57000] +[group_57001] +[group_57002] +[group_57003] +[group_57004] +[group_57005] +[group_57006] +[group_57007] +[group_57008] +[group_57009] +[group_57010] +[group_57011] +[group_57012] +[group_57013] +[group_57014] +[group_57015] +[group_57016] +[group_57017] +[group_57018] +[group_57019] +[group_57020] +[group_57021] +[group_57022] +[group_57023] +[group_57024] +[group_57025] +[group_57026] +[group_57027] +[group_57028] +[group_57029] +[group_57030] +[group_57031] +[group_57032] +[group_57033] +[group_57034] +[group_57035] +[group_57036] +[group_57037] +[group_57038] +[group_57039] +[group_57040] +[group_57041] +[group_57042] +[group_57043] +[group_57044] +[group_57045] +[group_57046] +[group_57047] +[group_57048] +[group_57049] +[group_57050] +[group_57051] +[group_57052] +[group_57053] +[group_57054] +[group_57055] +[group_57056] +[group_57057] +[group_57058] +[group_57059] +[group_57060] +[group_57061] +[group_57062] +[group_57063] +[group_57064] +[group_57065] +[group_57066] +[group_57067] +[group_57068] +[group_57069] +[group_57070] +[group_57071] +[group_57072] +[group_57073] +[group_57074] +[group_57075] +[group_57076] +[group_57077] +[group_57078] +[group_57079] +[group_57080] +[group_57081] +[group_57082] +[group_57083] +[group_57084] +[group_57085] +[group_57086] +[group_57087] +[group_57088] +[group_57089] +[group_57090] +[group_57091] +[group_57092] +[group_57093] +[group_57094] +[group_57095] +[group_57096] +[group_57097] +[group_57098] +[group_57099] +[group_57100] +[group_57101] +[group_57102] +[group_57103] +[group_57104] +[group_57105] +[group_57106] +[group_57107] +[group_57108] +[group_57109] +[group_57110] +[group_57111] +[group_57112] +[group_57113] +[group_57114] +[group_57115] +[group_57116] +[group_57117] +[group_57118] +[group_57119] +[group_57120] +[group_57121] +[group_57122] +[group_57123] +[group_57124] +[group_57125] +[group_57126] +[group_57127] +[group_57128] +[group_57129] +[group_57130] +[group_57131] +[group_57132] +[group_57133] +[group_57134] +[group_57135] +[group_57136] +[group_57137] +[group_57138] +[group_57139] +[group_57140] +[group_57141] +[group_57142] +[group_57143] +[group_57144] +[group_57145] +[group_57146] +[group_57147] +[group_57148] +[group_57149] +[group_57150] +[group_57151] +[group_57152] +[group_57153] +[group_57154] +[group_57155] +[group_57156] +[group_57157] +[group_57158] +[group_57159] +[group_57160] +[group_57161] +[group_57162] +[group_57163] +[group_57164] +[group_57165] +[group_57166] +[group_57167] +[group_57168] +[group_57169] +[group_57170] +[group_57171] +[group_57172] +[group_57173] +[group_57174] +[group_57175] +[group_57176] +[group_57177] +[group_57178] +[group_57179] +[group_57180] +[group_57181] +[group_57182] +[group_57183] +[group_57184] +[group_57185] +[group_57186] +[group_57187] +[group_57188] +[group_57189] +[group_57190] +[group_57191] +[group_57192] +[group_57193] +[group_57194] +[group_57195] +[group_57196] +[group_57197] +[group_57198] +[group_57199] +[group_57200] +[group_57201] +[group_57202] +[group_57203] +[group_57204] +[group_57205] +[group_57206] +[group_57207] +[group_57208] +[group_57209] +[group_57210] +[group_57211] +[group_57212] +[group_57213] +[group_57214] +[group_57215] +[group_57216] +[group_57217] +[group_57218] +[group_57219] +[group_57220] +[group_57221] +[group_57222] +[group_57223] +[group_57224] +[group_57225] +[group_57226] +[group_57227] +[group_57228] +[group_57229] +[group_57230] +[group_57231] +[group_57232] +[group_57233] +[group_57234] +[group_57235] +[group_57236] +[group_57237] +[group_57238] +[group_57239] +[group_57240] +[group_57241] +[group_57242] +[group_57243] +[group_57244] +[group_57245] +[group_57246] +[group_57247] +[group_57248] +[group_57249] +[group_57250] +[group_57251] +[group_57252] +[group_57253] +[group_57254] +[group_57255] +[group_57256] +[group_57257] +[group_57258] +[group_57259] +[group_57260] +[group_57261] +[group_57262] +[group_57263] +[group_57264] +[group_57265] +[group_57266] +[group_57267] +[group_57268] +[group_57269] +[group_57270] +[group_57271] +[group_57272] +[group_57273] +[group_57274] +[group_57275] +[group_57276] +[group_57277] +[group_57278] +[group_57279] +[group_57280] +[group_57281] +[group_57282] +[group_57283] +[group_57284] +[group_57285] +[group_57286] +[group_57287] +[group_57288] +[group_57289] +[group_57290] +[group_57291] +[group_57292] +[group_57293] +[group_57294] +[group_57295] +[group_57296] +[group_57297] +[group_57298] +[group_57299] +[group_57300] +[group_57301] +[group_57302] +[group_57303] +[group_57304] +[group_57305] +[group_57306] +[group_57307] +[group_57308] +[group_57309] +[group_57310] +[group_57311] +[group_57312] +[group_57313] +[group_57314] +[group_57315] +[group_57316] +[group_57317] +[group_57318] +[group_57319] +[group_57320] +[group_57321] +[group_57322] +[group_57323] +[group_57324] +[group_57325] +[group_57326] +[group_57327] +[group_57328] +[group_57329] +[group_57330] +[group_57331] +[group_57332] +[group_57333] +[group_57334] +[group_57335] +[group_57336] +[group_57337] +[group_57338] +[group_57339] +[group_57340] +[group_57341] +[group_57342] +[group_57343] +[group_57344] +[group_57345] +[group_57346] +[group_57347] +[group_57348] +[group_57349] +[group_57350] +[group_57351] +[group_57352] +[group_57353] +[group_57354] +[group_57355] +[group_57356] +[group_57357] +[group_57358] +[group_57359] +[group_57360] +[group_57361] +[group_57362] +[group_57363] +[group_57364] +[group_57365] +[group_57366] +[group_57367] +[group_57368] +[group_57369] +[group_57370] +[group_57371] +[group_57372] +[group_57373] +[group_57374] +[group_57375] +[group_57376] +[group_57377] +[group_57378] +[group_57379] +[group_57380] +[group_57381] +[group_57382] +[group_57383] +[group_57384] +[group_57385] +[group_57386] +[group_57387] +[group_57388] +[group_57389] +[group_57390] +[group_57391] +[group_57392] +[group_57393] +[group_57394] +[group_57395] +[group_57396] +[group_57397] +[group_57398] +[group_57399] +[group_57400] +[group_57401] +[group_57402] +[group_57403] +[group_57404] +[group_57405] +[group_57406] +[group_57407] +[group_57408] +[group_57409] +[group_57410] +[group_57411] +[group_57412] +[group_57413] +[group_57414] +[group_57415] +[group_57416] +[group_57417] +[group_57418] +[group_57419] +[group_57420] +[group_57421] +[group_57422] +[group_57423] +[group_57424] +[group_57425] +[group_57426] +[group_57427] +[group_57428] +[group_57429] +[group_57430] +[group_57431] +[group_57432] +[group_57433] +[group_57434] +[group_57435] +[group_57436] +[group_57437] +[group_57438] +[group_57439] +[group_57440] +[group_57441] +[group_57442] +[group_57443] +[group_57444] +[group_57445] +[group_57446] +[group_57447] +[group_57448] +[group_57449] +[group_57450] +[group_57451] +[group_57452] +[group_57453] +[group_57454] +[group_57455] +[group_57456] +[group_57457] +[group_57458] +[group_57459] +[group_57460] +[group_57461] +[group_57462] +[group_57463] +[group_57464] +[group_57465] +[group_57466] +[group_57467] +[group_57468] +[group_57469] +[group_57470] +[group_57471] +[group_57472] +[group_57473] +[group_57474] +[group_57475] +[group_57476] +[group_57477] +[group_57478] +[group_57479] +[group_57480] +[group_57481] +[group_57482] +[group_57483] +[group_57484] +[group_57485] +[group_57486] +[group_57487] +[group_57488] +[group_57489] +[group_57490] +[group_57491] +[group_57492] +[group_57493] +[group_57494] +[group_57495] +[group_57496] +[group_57497] +[group_57498] +[group_57499] +[group_57500] +[group_57501] +[group_57502] +[group_57503] +[group_57504] +[group_57505] +[group_57506] +[group_57507] +[group_57508] +[group_57509] +[group_57510] +[group_57511] +[group_57512] +[group_57513] +[group_57514] +[group_57515] +[group_57516] +[group_57517] +[group_57518] +[group_57519] +[group_57520] +[group_57521] +[group_57522] +[group_57523] +[group_57524] +[group_57525] +[group_57526] +[group_57527] +[group_57528] +[group_57529] +[group_57530] +[group_57531] +[group_57532] +[group_57533] +[group_57534] +[group_57535] +[group_57536] +[group_57537] +[group_57538] +[group_57539] +[group_57540] +[group_57541] +[group_57542] +[group_57543] +[group_57544] +[group_57545] +[group_57546] +[group_57547] +[group_57548] +[group_57549] +[group_57550] +[group_57551] +[group_57552] +[group_57553] +[group_57554] +[group_57555] +[group_57556] +[group_57557] +[group_57558] +[group_57559] +[group_57560] +[group_57561] +[group_57562] +[group_57563] +[group_57564] +[group_57565] +[group_57566] +[group_57567] +[group_57568] +[group_57569] +[group_57570] +[group_57571] +[group_57572] +[group_57573] +[group_57574] +[group_57575] +[group_57576] +[group_57577] +[group_57578] +[group_57579] +[group_57580] +[group_57581] +[group_57582] +[group_57583] +[group_57584] +[group_57585] +[group_57586] +[group_57587] +[group_57588] +[group_57589] +[group_57590] +[group_57591] +[group_57592] +[group_57593] +[group_57594] +[group_57595] +[group_57596] +[group_57597] +[group_57598] +[group_57599] +[group_57600] +[group_57601] +[group_57602] +[group_57603] +[group_57604] +[group_57605] +[group_57606] +[group_57607] +[group_57608] +[group_57609] +[group_57610] +[group_57611] +[group_57612] +[group_57613] +[group_57614] +[group_57615] +[group_57616] +[group_57617] +[group_57618] +[group_57619] +[group_57620] +[group_57621] +[group_57622] +[group_57623] +[group_57624] +[group_57625] +[group_57626] +[group_57627] +[group_57628] +[group_57629] +[group_57630] +[group_57631] +[group_57632] +[group_57633] +[group_57634] +[group_57635] +[group_57636] +[group_57637] +[group_57638] +[group_57639] +[group_57640] +[group_57641] +[group_57642] +[group_57643] +[group_57644] +[group_57645] +[group_57646] +[group_57647] +[group_57648] +[group_57649] +[group_57650] +[group_57651] +[group_57652] +[group_57653] +[group_57654] +[group_57655] +[group_57656] +[group_57657] +[group_57658] +[group_57659] +[group_57660] +[group_57661] +[group_57662] +[group_57663] +[group_57664] +[group_57665] +[group_57666] +[group_57667] +[group_57668] +[group_57669] +[group_57670] +[group_57671] +[group_57672] +[group_57673] +[group_57674] +[group_57675] +[group_57676] +[group_57677] +[group_57678] +[group_57679] +[group_57680] +[group_57681] +[group_57682] +[group_57683] +[group_57684] +[group_57685] +[group_57686] +[group_57687] +[group_57688] +[group_57689] +[group_57690] +[group_57691] +[group_57692] +[group_57693] +[group_57694] +[group_57695] +[group_57696] +[group_57697] +[group_57698] +[group_57699] +[group_57700] +[group_57701] +[group_57702] +[group_57703] +[group_57704] +[group_57705] +[group_57706] +[group_57707] +[group_57708] +[group_57709] +[group_57710] +[group_57711] +[group_57712] +[group_57713] +[group_57714] +[group_57715] +[group_57716] +[group_57717] +[group_57718] +[group_57719] +[group_57720] +[group_57721] +[group_57722] +[group_57723] +[group_57724] +[group_57725] +[group_57726] +[group_57727] +[group_57728] +[group_57729] +[group_57730] +[group_57731] +[group_57732] +[group_57733] +[group_57734] +[group_57735] +[group_57736] +[group_57737] +[group_57738] +[group_57739] +[group_57740] +[group_57741] +[group_57742] +[group_57743] +[group_57744] +[group_57745] +[group_57746] +[group_57747] +[group_57748] +[group_57749] +[group_57750] +[group_57751] +[group_57752] +[group_57753] +[group_57754] +[group_57755] +[group_57756] +[group_57757] +[group_57758] +[group_57759] +[group_57760] +[group_57761] +[group_57762] +[group_57763] +[group_57764] +[group_57765] +[group_57766] +[group_57767] +[group_57768] +[group_57769] +[group_57770] +[group_57771] +[group_57772] +[group_57773] +[group_57774] +[group_57775] +[group_57776] +[group_57777] +[group_57778] +[group_57779] +[group_57780] +[group_57781] +[group_57782] +[group_57783] +[group_57784] +[group_57785] +[group_57786] +[group_57787] +[group_57788] +[group_57789] +[group_57790] +[group_57791] +[group_57792] +[group_57793] +[group_57794] +[group_57795] +[group_57796] +[group_57797] +[group_57798] +[group_57799] +[group_57800] +[group_57801] +[group_57802] +[group_57803] +[group_57804] +[group_57805] +[group_57806] +[group_57807] +[group_57808] +[group_57809] +[group_57810] +[group_57811] +[group_57812] +[group_57813] +[group_57814] +[group_57815] +[group_57816] +[group_57817] +[group_57818] +[group_57819] +[group_57820] +[group_57821] +[group_57822] +[group_57823] +[group_57824] +[group_57825] +[group_57826] +[group_57827] +[group_57828] +[group_57829] +[group_57830] +[group_57831] +[group_57832] +[group_57833] +[group_57834] +[group_57835] +[group_57836] +[group_57837] +[group_57838] +[group_57839] +[group_57840] +[group_57841] +[group_57842] +[group_57843] +[group_57844] +[group_57845] +[group_57846] +[group_57847] +[group_57848] +[group_57849] +[group_57850] +[group_57851] +[group_57852] +[group_57853] +[group_57854] +[group_57855] +[group_57856] +[group_57857] +[group_57858] +[group_57859] +[group_57860] +[group_57861] +[group_57862] +[group_57863] +[group_57864] +[group_57865] +[group_57866] +[group_57867] +[group_57868] +[group_57869] +[group_57870] +[group_57871] +[group_57872] +[group_57873] +[group_57874] +[group_57875] +[group_57876] +[group_57877] +[group_57878] +[group_57879] +[group_57880] +[group_57881] +[group_57882] +[group_57883] +[group_57884] +[group_57885] +[group_57886] +[group_57887] +[group_57888] +[group_57889] +[group_57890] +[group_57891] +[group_57892] +[group_57893] +[group_57894] +[group_57895] +[group_57896] +[group_57897] +[group_57898] +[group_57899] +[group_57900] +[group_57901] +[group_57902] +[group_57903] +[group_57904] +[group_57905] +[group_57906] +[group_57907] +[group_57908] +[group_57909] +[group_57910] +[group_57911] +[group_57912] +[group_57913] +[group_57914] +[group_57915] +[group_57916] +[group_57917] +[group_57918] +[group_57919] +[group_57920] +[group_57921] +[group_57922] +[group_57923] +[group_57924] +[group_57925] +[group_57926] +[group_57927] +[group_57928] +[group_57929] +[group_57930] +[group_57931] +[group_57932] +[group_57933] +[group_57934] +[group_57935] +[group_57936] +[group_57937] +[group_57938] +[group_57939] +[group_57940] +[group_57941] +[group_57942] +[group_57943] +[group_57944] +[group_57945] +[group_57946] +[group_57947] +[group_57948] +[group_57949] +[group_57950] +[group_57951] +[group_57952] +[group_57953] +[group_57954] +[group_57955] +[group_57956] +[group_57957] +[group_57958] +[group_57959] +[group_57960] +[group_57961] +[group_57962] +[group_57963] +[group_57964] +[group_57965] +[group_57966] +[group_57967] +[group_57968] +[group_57969] +[group_57970] +[group_57971] +[group_57972] +[group_57973] +[group_57974] +[group_57975] +[group_57976] +[group_57977] +[group_57978] +[group_57979] +[group_57980] +[group_57981] +[group_57982] +[group_57983] +[group_57984] +[group_57985] +[group_57986] +[group_57987] +[group_57988] +[group_57989] +[group_57990] +[group_57991] +[group_57992] +[group_57993] +[group_57994] +[group_57995] +[group_57996] +[group_57997] +[group_57998] +[group_57999] +[group_58000] +[group_58001] +[group_58002] +[group_58003] +[group_58004] +[group_58005] +[group_58006] +[group_58007] +[group_58008] +[group_58009] +[group_58010] +[group_58011] +[group_58012] +[group_58013] +[group_58014] +[group_58015] +[group_58016] +[group_58017] +[group_58018] +[group_58019] +[group_58020] +[group_58021] +[group_58022] +[group_58023] +[group_58024] +[group_58025] +[group_58026] +[group_58027] +[group_58028] +[group_58029] +[group_58030] +[group_58031] +[group_58032] +[group_58033] +[group_58034] +[group_58035] +[group_58036] +[group_58037] +[group_58038] +[group_58039] +[group_58040] +[group_58041] +[group_58042] +[group_58043] +[group_58044] +[group_58045] +[group_58046] +[group_58047] +[group_58048] +[group_58049] +[group_58050] +[group_58051] +[group_58052] +[group_58053] +[group_58054] +[group_58055] +[group_58056] +[group_58057] +[group_58058] +[group_58059] +[group_58060] +[group_58061] +[group_58062] +[group_58063] +[group_58064] +[group_58065] +[group_58066] +[group_58067] +[group_58068] +[group_58069] +[group_58070] +[group_58071] +[group_58072] +[group_58073] +[group_58074] +[group_58075] +[group_58076] +[group_58077] +[group_58078] +[group_58079] +[group_58080] +[group_58081] +[group_58082] +[group_58083] +[group_58084] +[group_58085] +[group_58086] +[group_58087] +[group_58088] +[group_58089] +[group_58090] +[group_58091] +[group_58092] +[group_58093] +[group_58094] +[group_58095] +[group_58096] +[group_58097] +[group_58098] +[group_58099] +[group_58100] +[group_58101] +[group_58102] +[group_58103] +[group_58104] +[group_58105] +[group_58106] +[group_58107] +[group_58108] +[group_58109] +[group_58110] +[group_58111] +[group_58112] +[group_58113] +[group_58114] +[group_58115] +[group_58116] +[group_58117] +[group_58118] +[group_58119] +[group_58120] +[group_58121] +[group_58122] +[group_58123] +[group_58124] +[group_58125] +[group_58126] +[group_58127] +[group_58128] +[group_58129] +[group_58130] +[group_58131] +[group_58132] +[group_58133] +[group_58134] +[group_58135] +[group_58136] +[group_58137] +[group_58138] +[group_58139] +[group_58140] +[group_58141] +[group_58142] +[group_58143] +[group_58144] +[group_58145] +[group_58146] +[group_58147] +[group_58148] +[group_58149] +[group_58150] +[group_58151] +[group_58152] +[group_58153] +[group_58154] +[group_58155] +[group_58156] +[group_58157] +[group_58158] +[group_58159] +[group_58160] +[group_58161] +[group_58162] +[group_58163] +[group_58164] +[group_58165] +[group_58166] +[group_58167] +[group_58168] +[group_58169] +[group_58170] +[group_58171] +[group_58172] +[group_58173] +[group_58174] +[group_58175] +[group_58176] +[group_58177] +[group_58178] +[group_58179] +[group_58180] +[group_58181] +[group_58182] +[group_58183] +[group_58184] +[group_58185] +[group_58186] +[group_58187] +[group_58188] +[group_58189] +[group_58190] +[group_58191] +[group_58192] +[group_58193] +[group_58194] +[group_58195] +[group_58196] +[group_58197] +[group_58198] +[group_58199] +[group_58200] +[group_58201] +[group_58202] +[group_58203] +[group_58204] +[group_58205] +[group_58206] +[group_58207] +[group_58208] +[group_58209] +[group_58210] +[group_58211] +[group_58212] +[group_58213] +[group_58214] +[group_58215] +[group_58216] +[group_58217] +[group_58218] +[group_58219] +[group_58220] +[group_58221] +[group_58222] +[group_58223] +[group_58224] +[group_58225] +[group_58226] +[group_58227] +[group_58228] +[group_58229] +[group_58230] +[group_58231] +[group_58232] +[group_58233] +[group_58234] +[group_58235] +[group_58236] +[group_58237] +[group_58238] +[group_58239] +[group_58240] +[group_58241] +[group_58242] +[group_58243] +[group_58244] +[group_58245] +[group_58246] +[group_58247] +[group_58248] +[group_58249] +[group_58250] +[group_58251] +[group_58252] +[group_58253] +[group_58254] +[group_58255] +[group_58256] +[group_58257] +[group_58258] +[group_58259] +[group_58260] +[group_58261] +[group_58262] +[group_58263] +[group_58264] +[group_58265] +[group_58266] +[group_58267] +[group_58268] +[group_58269] +[group_58270] +[group_58271] +[group_58272] +[group_58273] +[group_58274] +[group_58275] +[group_58276] +[group_58277] +[group_58278] +[group_58279] +[group_58280] +[group_58281] +[group_58282] +[group_58283] +[group_58284] +[group_58285] +[group_58286] +[group_58287] +[group_58288] +[group_58289] +[group_58290] +[group_58291] +[group_58292] +[group_58293] +[group_58294] +[group_58295] +[group_58296] +[group_58297] +[group_58298] +[group_58299] +[group_58300] +[group_58301] +[group_58302] +[group_58303] +[group_58304] +[group_58305] +[group_58306] +[group_58307] +[group_58308] +[group_58309] +[group_58310] +[group_58311] +[group_58312] +[group_58313] +[group_58314] +[group_58315] +[group_58316] +[group_58317] +[group_58318] +[group_58319] +[group_58320] +[group_58321] +[group_58322] +[group_58323] +[group_58324] +[group_58325] +[group_58326] +[group_58327] +[group_58328] +[group_58329] +[group_58330] +[group_58331] +[group_58332] +[group_58333] +[group_58334] +[group_58335] +[group_58336] +[group_58337] +[group_58338] +[group_58339] +[group_58340] +[group_58341] +[group_58342] +[group_58343] +[group_58344] +[group_58345] +[group_58346] +[group_58347] +[group_58348] +[group_58349] +[group_58350] +[group_58351] +[group_58352] +[group_58353] +[group_58354] +[group_58355] +[group_58356] +[group_58357] +[group_58358] +[group_58359] +[group_58360] +[group_58361] +[group_58362] +[group_58363] +[group_58364] +[group_58365] +[group_58366] +[group_58367] +[group_58368] +[group_58369] +[group_58370] +[group_58371] +[group_58372] +[group_58373] +[group_58374] +[group_58375] +[group_58376] +[group_58377] +[group_58378] +[group_58379] +[group_58380] +[group_58381] +[group_58382] +[group_58383] +[group_58384] +[group_58385] +[group_58386] +[group_58387] +[group_58388] +[group_58389] +[group_58390] +[group_58391] +[group_58392] +[group_58393] +[group_58394] +[group_58395] +[group_58396] +[group_58397] +[group_58398] +[group_58399] +[group_58400] +[group_58401] +[group_58402] +[group_58403] +[group_58404] +[group_58405] +[group_58406] +[group_58407] +[group_58408] +[group_58409] +[group_58410] +[group_58411] +[group_58412] +[group_58413] +[group_58414] +[group_58415] +[group_58416] +[group_58417] +[group_58418] +[group_58419] +[group_58420] +[group_58421] +[group_58422] +[group_58423] +[group_58424] +[group_58425] +[group_58426] +[group_58427] +[group_58428] +[group_58429] +[group_58430] +[group_58431] +[group_58432] +[group_58433] +[group_58434] +[group_58435] +[group_58436] +[group_58437] +[group_58438] +[group_58439] +[group_58440] +[group_58441] +[group_58442] +[group_58443] +[group_58444] +[group_58445] +[group_58446] +[group_58447] +[group_58448] +[group_58449] +[group_58450] +[group_58451] +[group_58452] +[group_58453] +[group_58454] +[group_58455] +[group_58456] +[group_58457] +[group_58458] +[group_58459] +[group_58460] +[group_58461] +[group_58462] +[group_58463] +[group_58464] +[group_58465] +[group_58466] +[group_58467] +[group_58468] +[group_58469] +[group_58470] +[group_58471] +[group_58472] +[group_58473] +[group_58474] +[group_58475] +[group_58476] +[group_58477] +[group_58478] +[group_58479] +[group_58480] +[group_58481] +[group_58482] +[group_58483] +[group_58484] +[group_58485] +[group_58486] +[group_58487] +[group_58488] +[group_58489] +[group_58490] +[group_58491] +[group_58492] +[group_58493] +[group_58494] +[group_58495] +[group_58496] +[group_58497] +[group_58498] +[group_58499] +[group_58500] +[group_58501] +[group_58502] +[group_58503] +[group_58504] +[group_58505] +[group_58506] +[group_58507] +[group_58508] +[group_58509] +[group_58510] +[group_58511] +[group_58512] +[group_58513] +[group_58514] +[group_58515] +[group_58516] +[group_58517] +[group_58518] +[group_58519] +[group_58520] +[group_58521] +[group_58522] +[group_58523] +[group_58524] +[group_58525] +[group_58526] +[group_58527] +[group_58528] +[group_58529] +[group_58530] +[group_58531] +[group_58532] +[group_58533] +[group_58534] +[group_58535] +[group_58536] +[group_58537] +[group_58538] +[group_58539] +[group_58540] +[group_58541] +[group_58542] +[group_58543] +[group_58544] +[group_58545] +[group_58546] +[group_58547] +[group_58548] +[group_58549] +[group_58550] +[group_58551] +[group_58552] +[group_58553] +[group_58554] +[group_58555] +[group_58556] +[group_58557] +[group_58558] +[group_58559] +[group_58560] +[group_58561] +[group_58562] +[group_58563] +[group_58564] +[group_58565] +[group_58566] +[group_58567] +[group_58568] +[group_58569] +[group_58570] +[group_58571] +[group_58572] +[group_58573] +[group_58574] +[group_58575] +[group_58576] +[group_58577] +[group_58578] +[group_58579] +[group_58580] +[group_58581] +[group_58582] +[group_58583] +[group_58584] +[group_58585] +[group_58586] +[group_58587] +[group_58588] +[group_58589] +[group_58590] +[group_58591] +[group_58592] +[group_58593] +[group_58594] +[group_58595] +[group_58596] +[group_58597] +[group_58598] +[group_58599] +[group_58600] +[group_58601] +[group_58602] +[group_58603] +[group_58604] +[group_58605] +[group_58606] +[group_58607] +[group_58608] +[group_58609] +[group_58610] +[group_58611] +[group_58612] +[group_58613] +[group_58614] +[group_58615] +[group_58616] +[group_58617] +[group_58618] +[group_58619] +[group_58620] +[group_58621] +[group_58622] +[group_58623] +[group_58624] +[group_58625] +[group_58626] +[group_58627] +[group_58628] +[group_58629] +[group_58630] +[group_58631] +[group_58632] +[group_58633] +[group_58634] +[group_58635] +[group_58636] +[group_58637] +[group_58638] +[group_58639] +[group_58640] +[group_58641] +[group_58642] +[group_58643] +[group_58644] +[group_58645] +[group_58646] +[group_58647] +[group_58648] +[group_58649] +[group_58650] +[group_58651] +[group_58652] +[group_58653] +[group_58654] +[group_58655] +[group_58656] +[group_58657] +[group_58658] +[group_58659] +[group_58660] +[group_58661] +[group_58662] +[group_58663] +[group_58664] +[group_58665] +[group_58666] +[group_58667] +[group_58668] +[group_58669] +[group_58670] +[group_58671] +[group_58672] +[group_58673] +[group_58674] +[group_58675] +[group_58676] +[group_58677] +[group_58678] +[group_58679] +[group_58680] +[group_58681] +[group_58682] +[group_58683] +[group_58684] +[group_58685] +[group_58686] +[group_58687] +[group_58688] +[group_58689] +[group_58690] +[group_58691] +[group_58692] +[group_58693] +[group_58694] +[group_58695] +[group_58696] +[group_58697] +[group_58698] +[group_58699] +[group_58700] +[group_58701] +[group_58702] +[group_58703] +[group_58704] +[group_58705] +[group_58706] +[group_58707] +[group_58708] +[group_58709] +[group_58710] +[group_58711] +[group_58712] +[group_58713] +[group_58714] +[group_58715] +[group_58716] +[group_58717] +[group_58718] +[group_58719] +[group_58720] +[group_58721] +[group_58722] +[group_58723] +[group_58724] +[group_58725] +[group_58726] +[group_58727] +[group_58728] +[group_58729] +[group_58730] +[group_58731] +[group_58732] +[group_58733] +[group_58734] +[group_58735] +[group_58736] +[group_58737] +[group_58738] +[group_58739] +[group_58740] +[group_58741] +[group_58742] +[group_58743] +[group_58744] +[group_58745] +[group_58746] +[group_58747] +[group_58748] +[group_58749] +[group_58750] +[group_58751] +[group_58752] +[group_58753] +[group_58754] +[group_58755] +[group_58756] +[group_58757] +[group_58758] +[group_58759] +[group_58760] +[group_58761] +[group_58762] +[group_58763] +[group_58764] +[group_58765] +[group_58766] +[group_58767] +[group_58768] +[group_58769] +[group_58770] +[group_58771] +[group_58772] +[group_58773] +[group_58774] +[group_58775] +[group_58776] +[group_58777] +[group_58778] +[group_58779] +[group_58780] +[group_58781] +[group_58782] +[group_58783] +[group_58784] +[group_58785] +[group_58786] +[group_58787] +[group_58788] +[group_58789] +[group_58790] +[group_58791] +[group_58792] +[group_58793] +[group_58794] +[group_58795] +[group_58796] +[group_58797] +[group_58798] +[group_58799] +[group_58800] +[group_58801] +[group_58802] +[group_58803] +[group_58804] +[group_58805] +[group_58806] +[group_58807] +[group_58808] +[group_58809] +[group_58810] +[group_58811] +[group_58812] +[group_58813] +[group_58814] +[group_58815] +[group_58816] +[group_58817] +[group_58818] +[group_58819] +[group_58820] +[group_58821] +[group_58822] +[group_58823] +[group_58824] +[group_58825] +[group_58826] +[group_58827] +[group_58828] +[group_58829] +[group_58830] +[group_58831] +[group_58832] +[group_58833] +[group_58834] +[group_58835] +[group_58836] +[group_58837] +[group_58838] +[group_58839] +[group_58840] +[group_58841] +[group_58842] +[group_58843] +[group_58844] +[group_58845] +[group_58846] +[group_58847] +[group_58848] +[group_58849] +[group_58850] +[group_58851] +[group_58852] +[group_58853] +[group_58854] +[group_58855] +[group_58856] +[group_58857] +[group_58858] +[group_58859] +[group_58860] +[group_58861] +[group_58862] +[group_58863] +[group_58864] +[group_58865] +[group_58866] +[group_58867] +[group_58868] +[group_58869] +[group_58870] +[group_58871] +[group_58872] +[group_58873] +[group_58874] +[group_58875] +[group_58876] +[group_58877] +[group_58878] +[group_58879] +[group_58880] +[group_58881] +[group_58882] +[group_58883] +[group_58884] +[group_58885] +[group_58886] +[group_58887] +[group_58888] +[group_58889] +[group_58890] +[group_58891] +[group_58892] +[group_58893] +[group_58894] +[group_58895] +[group_58896] +[group_58897] +[group_58898] +[group_58899] +[group_58900] +[group_58901] +[group_58902] +[group_58903] +[group_58904] +[group_58905] +[group_58906] +[group_58907] +[group_58908] +[group_58909] +[group_58910] +[group_58911] +[group_58912] +[group_58913] +[group_58914] +[group_58915] +[group_58916] +[group_58917] +[group_58918] +[group_58919] +[group_58920] +[group_58921] +[group_58922] +[group_58923] +[group_58924] +[group_58925] +[group_58926] +[group_58927] +[group_58928] +[group_58929] +[group_58930] +[group_58931] +[group_58932] +[group_58933] +[group_58934] +[group_58935] +[group_58936] +[group_58937] +[group_58938] +[group_58939] +[group_58940] +[group_58941] +[group_58942] +[group_58943] +[group_58944] +[group_58945] +[group_58946] +[group_58947] +[group_58948] +[group_58949] +[group_58950] +[group_58951] +[group_58952] +[group_58953] +[group_58954] +[group_58955] +[group_58956] +[group_58957] +[group_58958] +[group_58959] +[group_58960] +[group_58961] +[group_58962] +[group_58963] +[group_58964] +[group_58965] +[group_58966] +[group_58967] +[group_58968] +[group_58969] +[group_58970] +[group_58971] +[group_58972] +[group_58973] +[group_58974] +[group_58975] +[group_58976] +[group_58977] +[group_58978] +[group_58979] +[group_58980] +[group_58981] +[group_58982] +[group_58983] +[group_58984] +[group_58985] +[group_58986] +[group_58987] +[group_58988] +[group_58989] +[group_58990] +[group_58991] +[group_58992] +[group_58993] +[group_58994] +[group_58995] +[group_58996] +[group_58997] +[group_58998] +[group_58999] +[group_59000] +[group_59001] +[group_59002] +[group_59003] +[group_59004] +[group_59005] +[group_59006] +[group_59007] +[group_59008] +[group_59009] +[group_59010] +[group_59011] +[group_59012] +[group_59013] +[group_59014] +[group_59015] +[group_59016] +[group_59017] +[group_59018] +[group_59019] +[group_59020] +[group_59021] +[group_59022] +[group_59023] +[group_59024] +[group_59025] +[group_59026] +[group_59027] +[group_59028] +[group_59029] +[group_59030] +[group_59031] +[group_59032] +[group_59033] +[group_59034] +[group_59035] +[group_59036] +[group_59037] +[group_59038] +[group_59039] +[group_59040] +[group_59041] +[group_59042] +[group_59043] +[group_59044] +[group_59045] +[group_59046] +[group_59047] +[group_59048] +[group_59049] +[group_59050] +[group_59051] +[group_59052] +[group_59053] +[group_59054] +[group_59055] +[group_59056] +[group_59057] +[group_59058] +[group_59059] +[group_59060] +[group_59061] +[group_59062] +[group_59063] +[group_59064] +[group_59065] +[group_59066] +[group_59067] +[group_59068] +[group_59069] +[group_59070] +[group_59071] +[group_59072] +[group_59073] +[group_59074] +[group_59075] +[group_59076] +[group_59077] +[group_59078] +[group_59079] +[group_59080] +[group_59081] +[group_59082] +[group_59083] +[group_59084] +[group_59085] +[group_59086] +[group_59087] +[group_59088] +[group_59089] +[group_59090] +[group_59091] +[group_59092] +[group_59093] +[group_59094] +[group_59095] +[group_59096] +[group_59097] +[group_59098] +[group_59099] +[group_59100] +[group_59101] +[group_59102] +[group_59103] +[group_59104] +[group_59105] +[group_59106] +[group_59107] +[group_59108] +[group_59109] +[group_59110] +[group_59111] +[group_59112] +[group_59113] +[group_59114] +[group_59115] +[group_59116] +[group_59117] +[group_59118] +[group_59119] +[group_59120] +[group_59121] +[group_59122] +[group_59123] +[group_59124] +[group_59125] +[group_59126] +[group_59127] +[group_59128] +[group_59129] +[group_59130] +[group_59131] +[group_59132] +[group_59133] +[group_59134] +[group_59135] +[group_59136] +[group_59137] +[group_59138] +[group_59139] +[group_59140] +[group_59141] +[group_59142] +[group_59143] +[group_59144] +[group_59145] +[group_59146] +[group_59147] +[group_59148] +[group_59149] +[group_59150] +[group_59151] +[group_59152] +[group_59153] +[group_59154] +[group_59155] +[group_59156] +[group_59157] +[group_59158] +[group_59159] +[group_59160] +[group_59161] +[group_59162] +[group_59163] +[group_59164] +[group_59165] +[group_59166] +[group_59167] +[group_59168] +[group_59169] +[group_59170] +[group_59171] +[group_59172] +[group_59173] +[group_59174] +[group_59175] +[group_59176] +[group_59177] +[group_59178] +[group_59179] +[group_59180] +[group_59181] +[group_59182] +[group_59183] +[group_59184] +[group_59185] +[group_59186] +[group_59187] +[group_59188] +[group_59189] +[group_59190] +[group_59191] +[group_59192] +[group_59193] +[group_59194] +[group_59195] +[group_59196] +[group_59197] +[group_59198] +[group_59199] +[group_59200] +[group_59201] +[group_59202] +[group_59203] +[group_59204] +[group_59205] +[group_59206] +[group_59207] +[group_59208] +[group_59209] +[group_59210] +[group_59211] +[group_59212] +[group_59213] +[group_59214] +[group_59215] +[group_59216] +[group_59217] +[group_59218] +[group_59219] +[group_59220] +[group_59221] +[group_59222] +[group_59223] +[group_59224] +[group_59225] +[group_59226] +[group_59227] +[group_59228] +[group_59229] +[group_59230] +[group_59231] +[group_59232] +[group_59233] +[group_59234] +[group_59235] +[group_59236] +[group_59237] +[group_59238] +[group_59239] +[group_59240] +[group_59241] +[group_59242] +[group_59243] +[group_59244] +[group_59245] +[group_59246] +[group_59247] +[group_59248] +[group_59249] +[group_59250] +[group_59251] +[group_59252] +[group_59253] +[group_59254] +[group_59255] +[group_59256] +[group_59257] +[group_59258] +[group_59259] +[group_59260] +[group_59261] +[group_59262] +[group_59263] +[group_59264] +[group_59265] +[group_59266] +[group_59267] +[group_59268] +[group_59269] +[group_59270] +[group_59271] +[group_59272] +[group_59273] +[group_59274] +[group_59275] +[group_59276] +[group_59277] +[group_59278] +[group_59279] +[group_59280] +[group_59281] +[group_59282] +[group_59283] +[group_59284] +[group_59285] +[group_59286] +[group_59287] +[group_59288] +[group_59289] +[group_59290] +[group_59291] +[group_59292] +[group_59293] +[group_59294] +[group_59295] +[group_59296] +[group_59297] +[group_59298] +[group_59299] +[group_59300] +[group_59301] +[group_59302] +[group_59303] +[group_59304] +[group_59305] +[group_59306] +[group_59307] +[group_59308] +[group_59309] +[group_59310] +[group_59311] +[group_59312] +[group_59313] +[group_59314] +[group_59315] +[group_59316] +[group_59317] +[group_59318] +[group_59319] +[group_59320] +[group_59321] +[group_59322] +[group_59323] +[group_59324] +[group_59325] +[group_59326] +[group_59327] +[group_59328] +[group_59329] +[group_59330] +[group_59331] +[group_59332] +[group_59333] +[group_59334] +[group_59335] +[group_59336] +[group_59337] +[group_59338] +[group_59339] +[group_59340] +[group_59341] +[group_59342] +[group_59343] +[group_59344] +[group_59345] +[group_59346] +[group_59347] +[group_59348] +[group_59349] +[group_59350] +[group_59351] +[group_59352] +[group_59353] +[group_59354] +[group_59355] +[group_59356] +[group_59357] +[group_59358] +[group_59359] +[group_59360] +[group_59361] +[group_59362] +[group_59363] +[group_59364] +[group_59365] +[group_59366] +[group_59367] +[group_59368] +[group_59369] +[group_59370] +[group_59371] +[group_59372] +[group_59373] +[group_59374] +[group_59375] +[group_59376] +[group_59377] +[group_59378] +[group_59379] +[group_59380] +[group_59381] +[group_59382] +[group_59383] +[group_59384] +[group_59385] +[group_59386] +[group_59387] +[group_59388] +[group_59389] +[group_59390] +[group_59391] +[group_59392] +[group_59393] +[group_59394] +[group_59395] +[group_59396] +[group_59397] +[group_59398] +[group_59399] +[group_59400] +[group_59401] +[group_59402] +[group_59403] +[group_59404] +[group_59405] +[group_59406] +[group_59407] +[group_59408] +[group_59409] +[group_59410] +[group_59411] +[group_59412] +[group_59413] +[group_59414] +[group_59415] +[group_59416] +[group_59417] +[group_59418] +[group_59419] +[group_59420] +[group_59421] +[group_59422] +[group_59423] +[group_59424] +[group_59425] +[group_59426] +[group_59427] +[group_59428] +[group_59429] +[group_59430] +[group_59431] +[group_59432] +[group_59433] +[group_59434] +[group_59435] +[group_59436] +[group_59437] +[group_59438] +[group_59439] +[group_59440] +[group_59441] +[group_59442] +[group_59443] +[group_59444] +[group_59445] +[group_59446] +[group_59447] +[group_59448] +[group_59449] +[group_59450] +[group_59451] +[group_59452] +[group_59453] +[group_59454] +[group_59455] +[group_59456] +[group_59457] +[group_59458] +[group_59459] +[group_59460] +[group_59461] +[group_59462] +[group_59463] +[group_59464] +[group_59465] +[group_59466] +[group_59467] +[group_59468] +[group_59469] +[group_59470] +[group_59471] +[group_59472] +[group_59473] +[group_59474] +[group_59475] +[group_59476] +[group_59477] +[group_59478] +[group_59479] +[group_59480] +[group_59481] +[group_59482] +[group_59483] +[group_59484] +[group_59485] +[group_59486] +[group_59487] +[group_59488] +[group_59489] +[group_59490] +[group_59491] +[group_59492] +[group_59493] +[group_59494] +[group_59495] +[group_59496] +[group_59497] +[group_59498] +[group_59499] +[group_59500] +[group_59501] +[group_59502] +[group_59503] +[group_59504] +[group_59505] +[group_59506] +[group_59507] +[group_59508] +[group_59509] +[group_59510] +[group_59511] +[group_59512] +[group_59513] +[group_59514] +[group_59515] +[group_59516] +[group_59517] +[group_59518] +[group_59519] +[group_59520] +[group_59521] +[group_59522] +[group_59523] +[group_59524] +[group_59525] +[group_59526] +[group_59527] +[group_59528] +[group_59529] +[group_59530] +[group_59531] +[group_59532] +[group_59533] +[group_59534] +[group_59535] +[group_59536] +[group_59537] +[group_59538] +[group_59539] +[group_59540] +[group_59541] +[group_59542] +[group_59543] +[group_59544] +[group_59545] +[group_59546] +[group_59547] +[group_59548] +[group_59549] +[group_59550] +[group_59551] +[group_59552] +[group_59553] +[group_59554] +[group_59555] +[group_59556] +[group_59557] +[group_59558] +[group_59559] +[group_59560] +[group_59561] +[group_59562] +[group_59563] +[group_59564] +[group_59565] +[group_59566] +[group_59567] +[group_59568] +[group_59569] +[group_59570] +[group_59571] +[group_59572] +[group_59573] +[group_59574] +[group_59575] +[group_59576] +[group_59577] +[group_59578] +[group_59579] +[group_59580] +[group_59581] +[group_59582] +[group_59583] +[group_59584] +[group_59585] +[group_59586] +[group_59587] +[group_59588] +[group_59589] +[group_59590] +[group_59591] +[group_59592] +[group_59593] +[group_59594] +[group_59595] +[group_59596] +[group_59597] +[group_59598] +[group_59599] +[group_59600] +[group_59601] +[group_59602] +[group_59603] +[group_59604] +[group_59605] +[group_59606] +[group_59607] +[group_59608] +[group_59609] +[group_59610] +[group_59611] +[group_59612] +[group_59613] +[group_59614] +[group_59615] +[group_59616] +[group_59617] +[group_59618] +[group_59619] +[group_59620] +[group_59621] +[group_59622] +[group_59623] +[group_59624] +[group_59625] +[group_59626] +[group_59627] +[group_59628] +[group_59629] +[group_59630] +[group_59631] +[group_59632] +[group_59633] +[group_59634] +[group_59635] +[group_59636] +[group_59637] +[group_59638] +[group_59639] +[group_59640] +[group_59641] +[group_59642] +[group_59643] +[group_59644] +[group_59645] +[group_59646] +[group_59647] +[group_59648] +[group_59649] +[group_59650] +[group_59651] +[group_59652] +[group_59653] +[group_59654] +[group_59655] +[group_59656] +[group_59657] +[group_59658] +[group_59659] +[group_59660] +[group_59661] +[group_59662] +[group_59663] +[group_59664] +[group_59665] +[group_59666] +[group_59667] +[group_59668] +[group_59669] +[group_59670] +[group_59671] +[group_59672] +[group_59673] +[group_59674] +[group_59675] +[group_59676] +[group_59677] +[group_59678] +[group_59679] +[group_59680] +[group_59681] +[group_59682] +[group_59683] +[group_59684] +[group_59685] +[group_59686] +[group_59687] +[group_59688] +[group_59689] +[group_59690] +[group_59691] +[group_59692] +[group_59693] +[group_59694] +[group_59695] +[group_59696] +[group_59697] +[group_59698] +[group_59699] +[group_59700] +[group_59701] +[group_59702] +[group_59703] +[group_59704] +[group_59705] +[group_59706] +[group_59707] +[group_59708] +[group_59709] +[group_59710] +[group_59711] +[group_59712] +[group_59713] +[group_59714] +[group_59715] +[group_59716] +[group_59717] +[group_59718] +[group_59719] +[group_59720] +[group_59721] +[group_59722] +[group_59723] +[group_59724] +[group_59725] +[group_59726] +[group_59727] +[group_59728] +[group_59729] +[group_59730] +[group_59731] +[group_59732] +[group_59733] +[group_59734] +[group_59735] +[group_59736] +[group_59737] +[group_59738] +[group_59739] +[group_59740] +[group_59741] +[group_59742] +[group_59743] +[group_59744] +[group_59745] +[group_59746] +[group_59747] +[group_59748] +[group_59749] +[group_59750] +[group_59751] +[group_59752] +[group_59753] +[group_59754] +[group_59755] +[group_59756] +[group_59757] +[group_59758] +[group_59759] +[group_59760] +[group_59761] +[group_59762] +[group_59763] +[group_59764] +[group_59765] +[group_59766] +[group_59767] +[group_59768] +[group_59769] +[group_59770] +[group_59771] +[group_59772] +[group_59773] +[group_59774] +[group_59775] +[group_59776] +[group_59777] +[group_59778] +[group_59779] +[group_59780] +[group_59781] +[group_59782] +[group_59783] +[group_59784] +[group_59785] +[group_59786] +[group_59787] +[group_59788] +[group_59789] +[group_59790] +[group_59791] +[group_59792] +[group_59793] +[group_59794] +[group_59795] +[group_59796] +[group_59797] +[group_59798] +[group_59799] +[group_59800] +[group_59801] +[group_59802] +[group_59803] +[group_59804] +[group_59805] +[group_59806] +[group_59807] +[group_59808] +[group_59809] +[group_59810] +[group_59811] +[group_59812] +[group_59813] +[group_59814] +[group_59815] +[group_59816] +[group_59817] +[group_59818] +[group_59819] +[group_59820] +[group_59821] +[group_59822] +[group_59823] +[group_59824] +[group_59825] +[group_59826] +[group_59827] +[group_59828] +[group_59829] +[group_59830] +[group_59831] +[group_59832] +[group_59833] +[group_59834] +[group_59835] +[group_59836] +[group_59837] +[group_59838] +[group_59839] +[group_59840] +[group_59841] +[group_59842] +[group_59843] +[group_59844] +[group_59845] +[group_59846] +[group_59847] +[group_59848] +[group_59849] +[group_59850] +[group_59851] +[group_59852] +[group_59853] +[group_59854] +[group_59855] +[group_59856] +[group_59857] +[group_59858] +[group_59859] +[group_59860] +[group_59861] +[group_59862] +[group_59863] +[group_59864] +[group_59865] +[group_59866] +[group_59867] +[group_59868] +[group_59869] +[group_59870] +[group_59871] +[group_59872] +[group_59873] +[group_59874] +[group_59875] +[group_59876] +[group_59877] +[group_59878] +[group_59879] +[group_59880] +[group_59881] +[group_59882] +[group_59883] +[group_59884] +[group_59885] +[group_59886] +[group_59887] +[group_59888] +[group_59889] +[group_59890] +[group_59891] +[group_59892] +[group_59893] +[group_59894] +[group_59895] +[group_59896] +[group_59897] +[group_59898] +[group_59899] +[group_59900] +[group_59901] +[group_59902] +[group_59903] +[group_59904] +[group_59905] +[group_59906] +[group_59907] +[group_59908] +[group_59909] +[group_59910] +[group_59911] +[group_59912] +[group_59913] +[group_59914] +[group_59915] +[group_59916] +[group_59917] +[group_59918] +[group_59919] +[group_59920] +[group_59921] +[group_59922] +[group_59923] +[group_59924] +[group_59925] +[group_59926] +[group_59927] +[group_59928] +[group_59929] +[group_59930] +[group_59931] +[group_59932] +[group_59933] +[group_59934] +[group_59935] +[group_59936] +[group_59937] +[group_59938] +[group_59939] +[group_59940] +[group_59941] +[group_59942] +[group_59943] +[group_59944] +[group_59945] +[group_59946] +[group_59947] +[group_59948] +[group_59949] +[group_59950] +[group_59951] +[group_59952] +[group_59953] +[group_59954] +[group_59955] +[group_59956] +[group_59957] +[group_59958] +[group_59959] +[group_59960] +[group_59961] +[group_59962] +[group_59963] +[group_59964] +[group_59965] +[group_59966] +[group_59967] +[group_59968] +[group_59969] +[group_59970] +[group_59971] +[group_59972] +[group_59973] +[group_59974] +[group_59975] +[group_59976] +[group_59977] +[group_59978] +[group_59979] +[group_59980] +[group_59981] +[group_59982] +[group_59983] +[group_59984] +[group_59985] +[group_59986] +[group_59987] +[group_59988] +[group_59989] +[group_59990] +[group_59991] +[group_59992] +[group_59993] +[group_59994] +[group_59995] +[group_59996] +[group_59997] +[group_59998] +[group_59999] +[group_60000] +[group_60001] +[group_60002] +[group_60003] +[group_60004] +[group_60005] +[group_60006] +[group_60007] +[group_60008] +[group_60009] +[group_60010] +[group_60011] +[group_60012] +[group_60013] +[group_60014] +[group_60015] +[group_60016] +[group_60017] +[group_60018] +[group_60019] +[group_60020] +[group_60021] +[group_60022] +[group_60023] +[group_60024] +[group_60025] +[group_60026] +[group_60027] +[group_60028] +[group_60029] +[group_60030] +[group_60031] +[group_60032] +[group_60033] +[group_60034] +[group_60035] +[group_60036] +[group_60037] +[group_60038] +[group_60039] +[group_60040] +[group_60041] +[group_60042] +[group_60043] +[group_60044] +[group_60045] +[group_60046] +[group_60047] +[group_60048] +[group_60049] +[group_60050] +[group_60051] +[group_60052] +[group_60053] +[group_60054] +[group_60055] +[group_60056] +[group_60057] +[group_60058] +[group_60059] +[group_60060] +[group_60061] +[group_60062] +[group_60063] +[group_60064] +[group_60065] +[group_60066] +[group_60067] +[group_60068] +[group_60069] +[group_60070] +[group_60071] +[group_60072] +[group_60073] +[group_60074] +[group_60075] +[group_60076] +[group_60077] +[group_60078] +[group_60079] +[group_60080] +[group_60081] +[group_60082] +[group_60083] +[group_60084] +[group_60085] +[group_60086] +[group_60087] +[group_60088] +[group_60089] +[group_60090] +[group_60091] +[group_60092] +[group_60093] +[group_60094] +[group_60095] +[group_60096] +[group_60097] +[group_60098] +[group_60099] +[group_60100] +[group_60101] +[group_60102] +[group_60103] +[group_60104] +[group_60105] +[group_60106] +[group_60107] +[group_60108] +[group_60109] +[group_60110] +[group_60111] +[group_60112] +[group_60113] +[group_60114] +[group_60115] +[group_60116] +[group_60117] +[group_60118] +[group_60119] +[group_60120] +[group_60121] +[group_60122] +[group_60123] +[group_60124] +[group_60125] +[group_60126] +[group_60127] +[group_60128] +[group_60129] +[group_60130] +[group_60131] +[group_60132] +[group_60133] +[group_60134] +[group_60135] +[group_60136] +[group_60137] +[group_60138] +[group_60139] +[group_60140] +[group_60141] +[group_60142] +[group_60143] +[group_60144] +[group_60145] +[group_60146] +[group_60147] +[group_60148] +[group_60149] +[group_60150] +[group_60151] +[group_60152] +[group_60153] +[group_60154] +[group_60155] +[group_60156] +[group_60157] +[group_60158] +[group_60159] +[group_60160] +[group_60161] +[group_60162] +[group_60163] +[group_60164] +[group_60165] +[group_60166] +[group_60167] +[group_60168] +[group_60169] +[group_60170] +[group_60171] +[group_60172] +[group_60173] +[group_60174] +[group_60175] +[group_60176] +[group_60177] +[group_60178] +[group_60179] +[group_60180] +[group_60181] +[group_60182] +[group_60183] +[group_60184] +[group_60185] +[group_60186] +[group_60187] +[group_60188] +[group_60189] +[group_60190] +[group_60191] +[group_60192] +[group_60193] +[group_60194] +[group_60195] +[group_60196] +[group_60197] +[group_60198] +[group_60199] +[group_60200] +[group_60201] +[group_60202] +[group_60203] +[group_60204] +[group_60205] +[group_60206] +[group_60207] +[group_60208] +[group_60209] +[group_60210] +[group_60211] +[group_60212] +[group_60213] +[group_60214] +[group_60215] +[group_60216] +[group_60217] +[group_60218] +[group_60219] +[group_60220] +[group_60221] +[group_60222] +[group_60223] +[group_60224] +[group_60225] +[group_60226] +[group_60227] +[group_60228] +[group_60229] +[group_60230] +[group_60231] +[group_60232] +[group_60233] +[group_60234] +[group_60235] +[group_60236] +[group_60237] +[group_60238] +[group_60239] +[group_60240] +[group_60241] +[group_60242] +[group_60243] +[group_60244] +[group_60245] +[group_60246] +[group_60247] +[group_60248] +[group_60249] +[group_60250] +[group_60251] +[group_60252] +[group_60253] +[group_60254] +[group_60255] +[group_60256] +[group_60257] +[group_60258] +[group_60259] +[group_60260] +[group_60261] +[group_60262] +[group_60263] +[group_60264] +[group_60265] +[group_60266] +[group_60267] +[group_60268] +[group_60269] +[group_60270] +[group_60271] +[group_60272] +[group_60273] +[group_60274] +[group_60275] +[group_60276] +[group_60277] +[group_60278] +[group_60279] +[group_60280] +[group_60281] +[group_60282] +[group_60283] +[group_60284] +[group_60285] +[group_60286] +[group_60287] +[group_60288] +[group_60289] +[group_60290] +[group_60291] +[group_60292] +[group_60293] +[group_60294] +[group_60295] +[group_60296] +[group_60297] +[group_60298] +[group_60299] +[group_60300] +[group_60301] +[group_60302] +[group_60303] +[group_60304] +[group_60305] +[group_60306] +[group_60307] +[group_60308] +[group_60309] +[group_60310] +[group_60311] +[group_60312] +[group_60313] +[group_60314] +[group_60315] +[group_60316] +[group_60317] +[group_60318] +[group_60319] +[group_60320] +[group_60321] +[group_60322] +[group_60323] +[group_60324] +[group_60325] +[group_60326] +[group_60327] +[group_60328] +[group_60329] +[group_60330] +[group_60331] +[group_60332] +[group_60333] +[group_60334] +[group_60335] +[group_60336] +[group_60337] +[group_60338] +[group_60339] +[group_60340] +[group_60341] +[group_60342] +[group_60343] +[group_60344] +[group_60345] +[group_60346] +[group_60347] +[group_60348] +[group_60349] +[group_60350] +[group_60351] +[group_60352] +[group_60353] +[group_60354] +[group_60355] +[group_60356] +[group_60357] +[group_60358] +[group_60359] +[group_60360] +[group_60361] +[group_60362] +[group_60363] +[group_60364] +[group_60365] +[group_60366] +[group_60367] +[group_60368] +[group_60369] +[group_60370] +[group_60371] +[group_60372] +[group_60373] +[group_60374] +[group_60375] +[group_60376] +[group_60377] +[group_60378] +[group_60379] +[group_60380] +[group_60381] +[group_60382] +[group_60383] +[group_60384] +[group_60385] +[group_60386] +[group_60387] +[group_60388] +[group_60389] +[group_60390] +[group_60391] +[group_60392] +[group_60393] +[group_60394] +[group_60395] +[group_60396] +[group_60397] +[group_60398] +[group_60399] +[group_60400] +[group_60401] +[group_60402] +[group_60403] +[group_60404] +[group_60405] +[group_60406] +[group_60407] +[group_60408] +[group_60409] +[group_60410] +[group_60411] +[group_60412] +[group_60413] +[group_60414] +[group_60415] +[group_60416] +[group_60417] +[group_60418] +[group_60419] +[group_60420] +[group_60421] +[group_60422] +[group_60423] +[group_60424] +[group_60425] +[group_60426] +[group_60427] +[group_60428] +[group_60429] +[group_60430] +[group_60431] +[group_60432] +[group_60433] +[group_60434] +[group_60435] +[group_60436] +[group_60437] +[group_60438] +[group_60439] +[group_60440] +[group_60441] +[group_60442] +[group_60443] +[group_60444] +[group_60445] +[group_60446] +[group_60447] +[group_60448] +[group_60449] +[group_60450] +[group_60451] +[group_60452] +[group_60453] +[group_60454] +[group_60455] +[group_60456] +[group_60457] +[group_60458] +[group_60459] +[group_60460] +[group_60461] +[group_60462] +[group_60463] +[group_60464] +[group_60465] +[group_60466] +[group_60467] +[group_60468] +[group_60469] +[group_60470] +[group_60471] +[group_60472] +[group_60473] +[group_60474] +[group_60475] +[group_60476] +[group_60477] +[group_60478] +[group_60479] +[group_60480] +[group_60481] +[group_60482] +[group_60483] +[group_60484] +[group_60485] +[group_60486] +[group_60487] +[group_60488] +[group_60489] +[group_60490] +[group_60491] +[group_60492] +[group_60493] +[group_60494] +[group_60495] +[group_60496] +[group_60497] +[group_60498] +[group_60499] +[group_60500] +[group_60501] +[group_60502] +[group_60503] +[group_60504] +[group_60505] +[group_60506] +[group_60507] +[group_60508] +[group_60509] +[group_60510] +[group_60511] +[group_60512] +[group_60513] +[group_60514] +[group_60515] +[group_60516] +[group_60517] +[group_60518] +[group_60519] +[group_60520] +[group_60521] +[group_60522] +[group_60523] +[group_60524] +[group_60525] +[group_60526] +[group_60527] +[group_60528] +[group_60529] +[group_60530] +[group_60531] +[group_60532] +[group_60533] +[group_60534] +[group_60535] +[group_60536] +[group_60537] +[group_60538] +[group_60539] +[group_60540] +[group_60541] +[group_60542] +[group_60543] +[group_60544] +[group_60545] +[group_60546] +[group_60547] +[group_60548] +[group_60549] +[group_60550] +[group_60551] +[group_60552] +[group_60553] +[group_60554] +[group_60555] +[group_60556] +[group_60557] +[group_60558] +[group_60559] +[group_60560] +[group_60561] +[group_60562] +[group_60563] +[group_60564] +[group_60565] +[group_60566] +[group_60567] +[group_60568] +[group_60569] +[group_60570] +[group_60571] +[group_60572] +[group_60573] +[group_60574] +[group_60575] +[group_60576] +[group_60577] +[group_60578] +[group_60579] +[group_60580] +[group_60581] +[group_60582] +[group_60583] +[group_60584] +[group_60585] +[group_60586] +[group_60587] +[group_60588] +[group_60589] +[group_60590] +[group_60591] +[group_60592] +[group_60593] +[group_60594] +[group_60595] +[group_60596] +[group_60597] +[group_60598] +[group_60599] +[group_60600] +[group_60601] +[group_60602] +[group_60603] +[group_60604] +[group_60605] +[group_60606] +[group_60607] +[group_60608] +[group_60609] +[group_60610] +[group_60611] +[group_60612] +[group_60613] +[group_60614] +[group_60615] +[group_60616] +[group_60617] +[group_60618] +[group_60619] +[group_60620] +[group_60621] +[group_60622] +[group_60623] +[group_60624] +[group_60625] +[group_60626] +[group_60627] +[group_60628] +[group_60629] +[group_60630] +[group_60631] +[group_60632] +[group_60633] +[group_60634] +[group_60635] +[group_60636] +[group_60637] +[group_60638] +[group_60639] +[group_60640] +[group_60641] +[group_60642] +[group_60643] +[group_60644] +[group_60645] +[group_60646] +[group_60647] +[group_60648] +[group_60649] +[group_60650] +[group_60651] +[group_60652] +[group_60653] +[group_60654] +[group_60655] +[group_60656] +[group_60657] +[group_60658] +[group_60659] +[group_60660] +[group_60661] +[group_60662] +[group_60663] +[group_60664] +[group_60665] +[group_60666] +[group_60667] +[group_60668] +[group_60669] +[group_60670] +[group_60671] +[group_60672] +[group_60673] +[group_60674] +[group_60675] +[group_60676] +[group_60677] +[group_60678] +[group_60679] +[group_60680] +[group_60681] +[group_60682] +[group_60683] +[group_60684] +[group_60685] +[group_60686] +[group_60687] +[group_60688] +[group_60689] +[group_60690] +[group_60691] +[group_60692] +[group_60693] +[group_60694] +[group_60695] +[group_60696] +[group_60697] +[group_60698] +[group_60699] +[group_60700] +[group_60701] +[group_60702] +[group_60703] +[group_60704] +[group_60705] +[group_60706] +[group_60707] +[group_60708] +[group_60709] +[group_60710] +[group_60711] +[group_60712] +[group_60713] +[group_60714] +[group_60715] +[group_60716] +[group_60717] +[group_60718] +[group_60719] +[group_60720] +[group_60721] +[group_60722] +[group_60723] +[group_60724] +[group_60725] +[group_60726] +[group_60727] +[group_60728] +[group_60729] +[group_60730] +[group_60731] +[group_60732] +[group_60733] +[group_60734] +[group_60735] +[group_60736] +[group_60737] +[group_60738] +[group_60739] +[group_60740] +[group_60741] +[group_60742] +[group_60743] +[group_60744] +[group_60745] +[group_60746] +[group_60747] +[group_60748] +[group_60749] +[group_60750] +[group_60751] +[group_60752] +[group_60753] +[group_60754] +[group_60755] +[group_60756] +[group_60757] +[group_60758] +[group_60759] +[group_60760] +[group_60761] +[group_60762] +[group_60763] +[group_60764] +[group_60765] +[group_60766] +[group_60767] +[group_60768] +[group_60769] +[group_60770] +[group_60771] +[group_60772] +[group_60773] +[group_60774] +[group_60775] +[group_60776] +[group_60777] +[group_60778] +[group_60779] +[group_60780] +[group_60781] +[group_60782] +[group_60783] +[group_60784] +[group_60785] +[group_60786] +[group_60787] +[group_60788] +[group_60789] +[group_60790] +[group_60791] +[group_60792] +[group_60793] +[group_60794] +[group_60795] +[group_60796] +[group_60797] +[group_60798] +[group_60799] +[group_60800] +[group_60801] +[group_60802] +[group_60803] +[group_60804] +[group_60805] +[group_60806] +[group_60807] +[group_60808] +[group_60809] +[group_60810] +[group_60811] +[group_60812] +[group_60813] +[group_60814] +[group_60815] +[group_60816] +[group_60817] +[group_60818] +[group_60819] +[group_60820] +[group_60821] +[group_60822] +[group_60823] +[group_60824] +[group_60825] +[group_60826] +[group_60827] +[group_60828] +[group_60829] +[group_60830] +[group_60831] +[group_60832] +[group_60833] +[group_60834] +[group_60835] +[group_60836] +[group_60837] +[group_60838] +[group_60839] +[group_60840] +[group_60841] +[group_60842] +[group_60843] +[group_60844] +[group_60845] +[group_60846] +[group_60847] +[group_60848] +[group_60849] +[group_60850] +[group_60851] +[group_60852] +[group_60853] +[group_60854] +[group_60855] +[group_60856] +[group_60857] +[group_60858] +[group_60859] +[group_60860] +[group_60861] +[group_60862] +[group_60863] +[group_60864] +[group_60865] +[group_60866] +[group_60867] +[group_60868] +[group_60869] +[group_60870] +[group_60871] +[group_60872] +[group_60873] +[group_60874] +[group_60875] +[group_60876] +[group_60877] +[group_60878] +[group_60879] +[group_60880] +[group_60881] +[group_60882] +[group_60883] +[group_60884] +[group_60885] +[group_60886] +[group_60887] +[group_60888] +[group_60889] +[group_60890] +[group_60891] +[group_60892] +[group_60893] +[group_60894] +[group_60895] +[group_60896] +[group_60897] +[group_60898] +[group_60899] +[group_60900] +[group_60901] +[group_60902] +[group_60903] +[group_60904] +[group_60905] +[group_60906] +[group_60907] +[group_60908] +[group_60909] +[group_60910] +[group_60911] +[group_60912] +[group_60913] +[group_60914] +[group_60915] +[group_60916] +[group_60917] +[group_60918] +[group_60919] +[group_60920] +[group_60921] +[group_60922] +[group_60923] +[group_60924] +[group_60925] +[group_60926] +[group_60927] +[group_60928] +[group_60929] +[group_60930] +[group_60931] +[group_60932] +[group_60933] +[group_60934] +[group_60935] +[group_60936] +[group_60937] +[group_60938] +[group_60939] +[group_60940] +[group_60941] +[group_60942] +[group_60943] +[group_60944] +[group_60945] +[group_60946] +[group_60947] +[group_60948] +[group_60949] +[group_60950] +[group_60951] +[group_60952] +[group_60953] +[group_60954] +[group_60955] +[group_60956] +[group_60957] +[group_60958] +[group_60959] +[group_60960] +[group_60961] +[group_60962] +[group_60963] +[group_60964] +[group_60965] +[group_60966] +[group_60967] +[group_60968] +[group_60969] +[group_60970] +[group_60971] +[group_60972] +[group_60973] +[group_60974] +[group_60975] +[group_60976] +[group_60977] +[group_60978] +[group_60979] +[group_60980] +[group_60981] +[group_60982] +[group_60983] +[group_60984] +[group_60985] +[group_60986] +[group_60987] +[group_60988] +[group_60989] +[group_60990] +[group_60991] +[group_60992] +[group_60993] +[group_60994] +[group_60995] +[group_60996] +[group_60997] +[group_60998] +[group_60999] +[group_61000] +[group_61001] +[group_61002] +[group_61003] +[group_61004] +[group_61005] +[group_61006] +[group_61007] +[group_61008] +[group_61009] +[group_61010] +[group_61011] +[group_61012] +[group_61013] +[group_61014] +[group_61015] +[group_61016] +[group_61017] +[group_61018] +[group_61019] +[group_61020] +[group_61021] +[group_61022] +[group_61023] +[group_61024] +[group_61025] +[group_61026] +[group_61027] +[group_61028] +[group_61029] +[group_61030] +[group_61031] +[group_61032] +[group_61033] +[group_61034] +[group_61035] +[group_61036] +[group_61037] +[group_61038] +[group_61039] +[group_61040] +[group_61041] +[group_61042] +[group_61043] +[group_61044] +[group_61045] +[group_61046] +[group_61047] +[group_61048] +[group_61049] +[group_61050] +[group_61051] +[group_61052] +[group_61053] +[group_61054] +[group_61055] +[group_61056] +[group_61057] +[group_61058] +[group_61059] +[group_61060] +[group_61061] +[group_61062] +[group_61063] +[group_61064] +[group_61065] +[group_61066] +[group_61067] +[group_61068] +[group_61069] +[group_61070] +[group_61071] +[group_61072] +[group_61073] +[group_61074] +[group_61075] +[group_61076] +[group_61077] +[group_61078] +[group_61079] +[group_61080] +[group_61081] +[group_61082] +[group_61083] +[group_61084] +[group_61085] +[group_61086] +[group_61087] +[group_61088] +[group_61089] +[group_61090] +[group_61091] +[group_61092] +[group_61093] +[group_61094] +[group_61095] +[group_61096] +[group_61097] +[group_61098] +[group_61099] +[group_61100] +[group_61101] +[group_61102] +[group_61103] +[group_61104] +[group_61105] +[group_61106] +[group_61107] +[group_61108] +[group_61109] +[group_61110] +[group_61111] +[group_61112] +[group_61113] +[group_61114] +[group_61115] +[group_61116] +[group_61117] +[group_61118] +[group_61119] +[group_61120] +[group_61121] +[group_61122] +[group_61123] +[group_61124] +[group_61125] +[group_61126] +[group_61127] +[group_61128] +[group_61129] +[group_61130] +[group_61131] +[group_61132] +[group_61133] +[group_61134] +[group_61135] +[group_61136] +[group_61137] +[group_61138] +[group_61139] +[group_61140] +[group_61141] +[group_61142] +[group_61143] +[group_61144] +[group_61145] +[group_61146] +[group_61147] +[group_61148] +[group_61149] +[group_61150] +[group_61151] +[group_61152] +[group_61153] +[group_61154] +[group_61155] +[group_61156] +[group_61157] +[group_61158] +[group_61159] +[group_61160] +[group_61161] +[group_61162] +[group_61163] +[group_61164] +[group_61165] +[group_61166] +[group_61167] +[group_61168] +[group_61169] +[group_61170] +[group_61171] +[group_61172] +[group_61173] +[group_61174] +[group_61175] +[group_61176] +[group_61177] +[group_61178] +[group_61179] +[group_61180] +[group_61181] +[group_61182] +[group_61183] +[group_61184] +[group_61185] +[group_61186] +[group_61187] +[group_61188] +[group_61189] +[group_61190] +[group_61191] +[group_61192] +[group_61193] +[group_61194] +[group_61195] +[group_61196] +[group_61197] +[group_61198] +[group_61199] +[group_61200] +[group_61201] +[group_61202] +[group_61203] +[group_61204] +[group_61205] +[group_61206] +[group_61207] +[group_61208] +[group_61209] +[group_61210] +[group_61211] +[group_61212] +[group_61213] +[group_61214] +[group_61215] +[group_61216] +[group_61217] +[group_61218] +[group_61219] +[group_61220] +[group_61221] +[group_61222] +[group_61223] +[group_61224] +[group_61225] +[group_61226] +[group_61227] +[group_61228] +[group_61229] +[group_61230] +[group_61231] +[group_61232] +[group_61233] +[group_61234] +[group_61235] +[group_61236] +[group_61237] +[group_61238] +[group_61239] +[group_61240] +[group_61241] +[group_61242] +[group_61243] +[group_61244] +[group_61245] +[group_61246] +[group_61247] +[group_61248] +[group_61249] +[group_61250] +[group_61251] +[group_61252] +[group_61253] +[group_61254] +[group_61255] +[group_61256] +[group_61257] +[group_61258] +[group_61259] +[group_61260] +[group_61261] +[group_61262] +[group_61263] +[group_61264] +[group_61265] +[group_61266] +[group_61267] +[group_61268] +[group_61269] +[group_61270] +[group_61271] +[group_61272] +[group_61273] +[group_61274] +[group_61275] +[group_61276] +[group_61277] +[group_61278] +[group_61279] +[group_61280] +[group_61281] +[group_61282] +[group_61283] +[group_61284] +[group_61285] +[group_61286] +[group_61287] +[group_61288] +[group_61289] +[group_61290] +[group_61291] +[group_61292] +[group_61293] +[group_61294] +[group_61295] +[group_61296] +[group_61297] +[group_61298] +[group_61299] +[group_61300] +[group_61301] +[group_61302] +[group_61303] +[group_61304] +[group_61305] +[group_61306] +[group_61307] +[group_61308] +[group_61309] +[group_61310] +[group_61311] +[group_61312] +[group_61313] +[group_61314] +[group_61315] +[group_61316] +[group_61317] +[group_61318] +[group_61319] +[group_61320] +[group_61321] +[group_61322] +[group_61323] +[group_61324] +[group_61325] +[group_61326] +[group_61327] +[group_61328] +[group_61329] +[group_61330] +[group_61331] +[group_61332] +[group_61333] +[group_61334] +[group_61335] +[group_61336] +[group_61337] +[group_61338] +[group_61339] +[group_61340] +[group_61341] +[group_61342] +[group_61343] +[group_61344] +[group_61345] +[group_61346] +[group_61347] +[group_61348] +[group_61349] +[group_61350] +[group_61351] +[group_61352] +[group_61353] +[group_61354] +[group_61355] +[group_61356] +[group_61357] +[group_61358] +[group_61359] +[group_61360] +[group_61361] +[group_61362] +[group_61363] +[group_61364] +[group_61365] +[group_61366] +[group_61367] +[group_61368] +[group_61369] +[group_61370] +[group_61371] +[group_61372] +[group_61373] +[group_61374] +[group_61375] +[group_61376] +[group_61377] +[group_61378] +[group_61379] +[group_61380] +[group_61381] +[group_61382] +[group_61383] +[group_61384] +[group_61385] +[group_61386] +[group_61387] +[group_61388] +[group_61389] +[group_61390] +[group_61391] +[group_61392] +[group_61393] +[group_61394] +[group_61395] +[group_61396] +[group_61397] +[group_61398] +[group_61399] +[group_61400] +[group_61401] +[group_61402] +[group_61403] +[group_61404] +[group_61405] +[group_61406] +[group_61407] +[group_61408] +[group_61409] +[group_61410] +[group_61411] +[group_61412] +[group_61413] +[group_61414] +[group_61415] +[group_61416] +[group_61417] +[group_61418] +[group_61419] +[group_61420] +[group_61421] +[group_61422] +[group_61423] +[group_61424] +[group_61425] +[group_61426] +[group_61427] +[group_61428] +[group_61429] +[group_61430] +[group_61431] +[group_61432] +[group_61433] +[group_61434] +[group_61435] +[group_61436] +[group_61437] +[group_61438] +[group_61439] +[group_61440] +[group_61441] +[group_61442] +[group_61443] +[group_61444] +[group_61445] +[group_61446] +[group_61447] +[group_61448] +[group_61449] +[group_61450] +[group_61451] +[group_61452] +[group_61453] +[group_61454] +[group_61455] +[group_61456] +[group_61457] +[group_61458] +[group_61459] +[group_61460] +[group_61461] +[group_61462] +[group_61463] +[group_61464] +[group_61465] +[group_61466] +[group_61467] +[group_61468] +[group_61469] +[group_61470] +[group_61471] +[group_61472] +[group_61473] +[group_61474] +[group_61475] +[group_61476] +[group_61477] +[group_61478] +[group_61479] +[group_61480] +[group_61481] +[group_61482] +[group_61483] +[group_61484] +[group_61485] +[group_61486] +[group_61487] +[group_61488] +[group_61489] +[group_61490] +[group_61491] +[group_61492] +[group_61493] +[group_61494] +[group_61495] +[group_61496] +[group_61497] +[group_61498] +[group_61499] +[group_61500] +[group_61501] +[group_61502] +[group_61503] +[group_61504] +[group_61505] +[group_61506] +[group_61507] +[group_61508] +[group_61509] +[group_61510] +[group_61511] +[group_61512] +[group_61513] +[group_61514] +[group_61515] +[group_61516] +[group_61517] +[group_61518] +[group_61519] +[group_61520] +[group_61521] +[group_61522] +[group_61523] +[group_61524] +[group_61525] +[group_61526] +[group_61527] +[group_61528] +[group_61529] +[group_61530] +[group_61531] +[group_61532] +[group_61533] +[group_61534] +[group_61535] +[group_61536] +[group_61537] +[group_61538] +[group_61539] +[group_61540] +[group_61541] +[group_61542] +[group_61543] +[group_61544] +[group_61545] +[group_61546] +[group_61547] +[group_61548] +[group_61549] +[group_61550] +[group_61551] +[group_61552] +[group_61553] +[group_61554] +[group_61555] +[group_61556] +[group_61557] +[group_61558] +[group_61559] +[group_61560] +[group_61561] +[group_61562] +[group_61563] +[group_61564] +[group_61565] +[group_61566] +[group_61567] +[group_61568] +[group_61569] +[group_61570] +[group_61571] +[group_61572] +[group_61573] +[group_61574] +[group_61575] +[group_61576] +[group_61577] +[group_61578] +[group_61579] +[group_61580] +[group_61581] +[group_61582] +[group_61583] +[group_61584] +[group_61585] +[group_61586] +[group_61587] +[group_61588] +[group_61589] +[group_61590] +[group_61591] +[group_61592] +[group_61593] +[group_61594] +[group_61595] +[group_61596] +[group_61597] +[group_61598] +[group_61599] +[group_61600] +[group_61601] +[group_61602] +[group_61603] +[group_61604] +[group_61605] +[group_61606] +[group_61607] +[group_61608] +[group_61609] +[group_61610] +[group_61611] +[group_61612] +[group_61613] +[group_61614] +[group_61615] +[group_61616] +[group_61617] +[group_61618] +[group_61619] +[group_61620] +[group_61621] +[group_61622] +[group_61623] +[group_61624] +[group_61625] +[group_61626] +[group_61627] +[group_61628] +[group_61629] +[group_61630] +[group_61631] +[group_61632] +[group_61633] +[group_61634] +[group_61635] +[group_61636] +[group_61637] +[group_61638] +[group_61639] +[group_61640] +[group_61641] +[group_61642] +[group_61643] +[group_61644] +[group_61645] +[group_61646] +[group_61647] +[group_61648] +[group_61649] +[group_61650] +[group_61651] +[group_61652] +[group_61653] +[group_61654] +[group_61655] +[group_61656] +[group_61657] +[group_61658] +[group_61659] +[group_61660] +[group_61661] +[group_61662] +[group_61663] +[group_61664] +[group_61665] +[group_61666] +[group_61667] +[group_61668] +[group_61669] +[group_61670] +[group_61671] +[group_61672] +[group_61673] +[group_61674] +[group_61675] +[group_61676] +[group_61677] +[group_61678] +[group_61679] +[group_61680] +[group_61681] +[group_61682] +[group_61683] +[group_61684] +[group_61685] +[group_61686] +[group_61687] +[group_61688] +[group_61689] +[group_61690] +[group_61691] +[group_61692] +[group_61693] +[group_61694] +[group_61695] +[group_61696] +[group_61697] +[group_61698] +[group_61699] +[group_61700] +[group_61701] +[group_61702] +[group_61703] +[group_61704] +[group_61705] +[group_61706] +[group_61707] +[group_61708] +[group_61709] +[group_61710] +[group_61711] +[group_61712] +[group_61713] +[group_61714] +[group_61715] +[group_61716] +[group_61717] +[group_61718] +[group_61719] +[group_61720] +[group_61721] +[group_61722] +[group_61723] +[group_61724] +[group_61725] +[group_61726] +[group_61727] +[group_61728] +[group_61729] +[group_61730] +[group_61731] +[group_61732] +[group_61733] +[group_61734] +[group_61735] +[group_61736] +[group_61737] +[group_61738] +[group_61739] +[group_61740] +[group_61741] +[group_61742] +[group_61743] +[group_61744] +[group_61745] +[group_61746] +[group_61747] +[group_61748] +[group_61749] +[group_61750] +[group_61751] +[group_61752] +[group_61753] +[group_61754] +[group_61755] +[group_61756] +[group_61757] +[group_61758] +[group_61759] +[group_61760] +[group_61761] +[group_61762] +[group_61763] +[group_61764] +[group_61765] +[group_61766] +[group_61767] +[group_61768] +[group_61769] +[group_61770] +[group_61771] +[group_61772] +[group_61773] +[group_61774] +[group_61775] +[group_61776] +[group_61777] +[group_61778] +[group_61779] +[group_61780] +[group_61781] +[group_61782] +[group_61783] +[group_61784] +[group_61785] +[group_61786] +[group_61787] +[group_61788] +[group_61789] +[group_61790] +[group_61791] +[group_61792] +[group_61793] +[group_61794] +[group_61795] +[group_61796] +[group_61797] +[group_61798] +[group_61799] +[group_61800] +[group_61801] +[group_61802] +[group_61803] +[group_61804] +[group_61805] +[group_61806] +[group_61807] +[group_61808] +[group_61809] +[group_61810] +[group_61811] +[group_61812] +[group_61813] +[group_61814] +[group_61815] +[group_61816] +[group_61817] +[group_61818] +[group_61819] +[group_61820] +[group_61821] +[group_61822] +[group_61823] +[group_61824] +[group_61825] +[group_61826] +[group_61827] +[group_61828] +[group_61829] +[group_61830] +[group_61831] +[group_61832] +[group_61833] +[group_61834] +[group_61835] +[group_61836] +[group_61837] +[group_61838] +[group_61839] +[group_61840] +[group_61841] +[group_61842] +[group_61843] +[group_61844] +[group_61845] +[group_61846] +[group_61847] +[group_61848] +[group_61849] +[group_61850] +[group_61851] +[group_61852] +[group_61853] +[group_61854] +[group_61855] +[group_61856] +[group_61857] +[group_61858] +[group_61859] +[group_61860] +[group_61861] +[group_61862] +[group_61863] +[group_61864] +[group_61865] +[group_61866] +[group_61867] +[group_61868] +[group_61869] +[group_61870] +[group_61871] +[group_61872] +[group_61873] +[group_61874] +[group_61875] +[group_61876] +[group_61877] +[group_61878] +[group_61879] +[group_61880] +[group_61881] +[group_61882] +[group_61883] +[group_61884] +[group_61885] +[group_61886] +[group_61887] +[group_61888] +[group_61889] +[group_61890] +[group_61891] +[group_61892] +[group_61893] +[group_61894] +[group_61895] +[group_61896] +[group_61897] +[group_61898] +[group_61899] +[group_61900] +[group_61901] +[group_61902] +[group_61903] +[group_61904] +[group_61905] +[group_61906] +[group_61907] +[group_61908] +[group_61909] +[group_61910] +[group_61911] +[group_61912] +[group_61913] +[group_61914] +[group_61915] +[group_61916] +[group_61917] +[group_61918] +[group_61919] +[group_61920] +[group_61921] +[group_61922] +[group_61923] +[group_61924] +[group_61925] +[group_61926] +[group_61927] +[group_61928] +[group_61929] +[group_61930] +[group_61931] +[group_61932] +[group_61933] +[group_61934] +[group_61935] +[group_61936] +[group_61937] +[group_61938] +[group_61939] +[group_61940] +[group_61941] +[group_61942] +[group_61943] +[group_61944] +[group_61945] +[group_61946] +[group_61947] +[group_61948] +[group_61949] +[group_61950] +[group_61951] +[group_61952] +[group_61953] +[group_61954] +[group_61955] +[group_61956] +[group_61957] +[group_61958] +[group_61959] +[group_61960] +[group_61961] +[group_61962] +[group_61963] +[group_61964] +[group_61965] +[group_61966] +[group_61967] +[group_61968] +[group_61969] +[group_61970] +[group_61971] +[group_61972] +[group_61973] +[group_61974] +[group_61975] +[group_61976] +[group_61977] +[group_61978] +[group_61979] +[group_61980] +[group_61981] +[group_61982] +[group_61983] +[group_61984] +[group_61985] +[group_61986] +[group_61987] +[group_61988] +[group_61989] +[group_61990] +[group_61991] +[group_61992] +[group_61993] +[group_61994] +[group_61995] +[group_61996] +[group_61997] +[group_61998] +[group_61999] +[group_62000] +[group_62001] +[group_62002] +[group_62003] +[group_62004] +[group_62005] +[group_62006] +[group_62007] +[group_62008] +[group_62009] +[group_62010] +[group_62011] +[group_62012] +[group_62013] +[group_62014] +[group_62015] +[group_62016] +[group_62017] +[group_62018] +[group_62019] +[group_62020] +[group_62021] +[group_62022] +[group_62023] +[group_62024] +[group_62025] +[group_62026] +[group_62027] +[group_62028] +[group_62029] +[group_62030] +[group_62031] +[group_62032] +[group_62033] +[group_62034] +[group_62035] +[group_62036] +[group_62037] +[group_62038] +[group_62039] +[group_62040] +[group_62041] +[group_62042] +[group_62043] +[group_62044] +[group_62045] +[group_62046] +[group_62047] +[group_62048] +[group_62049] +[group_62050] +[group_62051] +[group_62052] +[group_62053] +[group_62054] +[group_62055] +[group_62056] +[group_62057] +[group_62058] +[group_62059] +[group_62060] +[group_62061] +[group_62062] +[group_62063] +[group_62064] +[group_62065] +[group_62066] +[group_62067] +[group_62068] +[group_62069] +[group_62070] +[group_62071] +[group_62072] +[group_62073] +[group_62074] +[group_62075] +[group_62076] +[group_62077] +[group_62078] +[group_62079] +[group_62080] +[group_62081] +[group_62082] +[group_62083] +[group_62084] +[group_62085] +[group_62086] +[group_62087] +[group_62088] +[group_62089] +[group_62090] +[group_62091] +[group_62092] +[group_62093] +[group_62094] +[group_62095] +[group_62096] +[group_62097] +[group_62098] +[group_62099] +[group_62100] +[group_62101] +[group_62102] +[group_62103] +[group_62104] +[group_62105] +[group_62106] +[group_62107] +[group_62108] +[group_62109] +[group_62110] +[group_62111] +[group_62112] +[group_62113] +[group_62114] +[group_62115] +[group_62116] +[group_62117] +[group_62118] +[group_62119] +[group_62120] +[group_62121] +[group_62122] +[group_62123] +[group_62124] +[group_62125] +[group_62126] +[group_62127] +[group_62128] +[group_62129] +[group_62130] +[group_62131] +[group_62132] +[group_62133] +[group_62134] +[group_62135] +[group_62136] +[group_62137] +[group_62138] +[group_62139] +[group_62140] +[group_62141] +[group_62142] +[group_62143] +[group_62144] +[group_62145] +[group_62146] +[group_62147] +[group_62148] +[group_62149] +[group_62150] +[group_62151] +[group_62152] +[group_62153] +[group_62154] +[group_62155] +[group_62156] +[group_62157] +[group_62158] +[group_62159] +[group_62160] +[group_62161] +[group_62162] +[group_62163] +[group_62164] +[group_62165] +[group_62166] +[group_62167] +[group_62168] +[group_62169] +[group_62170] +[group_62171] +[group_62172] +[group_62173] +[group_62174] +[group_62175] +[group_62176] +[group_62177] +[group_62178] +[group_62179] +[group_62180] +[group_62181] +[group_62182] +[group_62183] +[group_62184] +[group_62185] +[group_62186] +[group_62187] +[group_62188] +[group_62189] +[group_62190] +[group_62191] +[group_62192] +[group_62193] +[group_62194] +[group_62195] +[group_62196] +[group_62197] +[group_62198] +[group_62199] +[group_62200] +[group_62201] +[group_62202] +[group_62203] +[group_62204] +[group_62205] +[group_62206] +[group_62207] +[group_62208] +[group_62209] +[group_62210] +[group_62211] +[group_62212] +[group_62213] +[group_62214] +[group_62215] +[group_62216] +[group_62217] +[group_62218] +[group_62219] +[group_62220] +[group_62221] +[group_62222] +[group_62223] +[group_62224] +[group_62225] +[group_62226] +[group_62227] +[group_62228] +[group_62229] +[group_62230] +[group_62231] +[group_62232] +[group_62233] +[group_62234] +[group_62235] +[group_62236] +[group_62237] +[group_62238] +[group_62239] +[group_62240] +[group_62241] +[group_62242] +[group_62243] +[group_62244] +[group_62245] +[group_62246] +[group_62247] +[group_62248] +[group_62249] +[group_62250] +[group_62251] +[group_62252] +[group_62253] +[group_62254] +[group_62255] +[group_62256] +[group_62257] +[group_62258] +[group_62259] +[group_62260] +[group_62261] +[group_62262] +[group_62263] +[group_62264] +[group_62265] +[group_62266] +[group_62267] +[group_62268] +[group_62269] +[group_62270] +[group_62271] +[group_62272] +[group_62273] +[group_62274] +[group_62275] +[group_62276] +[group_62277] +[group_62278] +[group_62279] +[group_62280] +[group_62281] +[group_62282] +[group_62283] +[group_62284] +[group_62285] +[group_62286] +[group_62287] +[group_62288] +[group_62289] +[group_62290] +[group_62291] +[group_62292] +[group_62293] +[group_62294] +[group_62295] +[group_62296] +[group_62297] +[group_62298] +[group_62299] +[group_62300] +[group_62301] +[group_62302] +[group_62303] +[group_62304] +[group_62305] +[group_62306] +[group_62307] +[group_62308] +[group_62309] +[group_62310] +[group_62311] +[group_62312] +[group_62313] +[group_62314] +[group_62315] +[group_62316] +[group_62317] +[group_62318] +[group_62319] +[group_62320] +[group_62321] +[group_62322] +[group_62323] +[group_62324] +[group_62325] +[group_62326] +[group_62327] +[group_62328] +[group_62329] +[group_62330] +[group_62331] +[group_62332] +[group_62333] +[group_62334] +[group_62335] +[group_62336] +[group_62337] +[group_62338] +[group_62339] +[group_62340] +[group_62341] +[group_62342] +[group_62343] +[group_62344] +[group_62345] +[group_62346] +[group_62347] +[group_62348] +[group_62349] +[group_62350] +[group_62351] +[group_62352] +[group_62353] +[group_62354] +[group_62355] +[group_62356] +[group_62357] +[group_62358] +[group_62359] +[group_62360] +[group_62361] +[group_62362] +[group_62363] +[group_62364] +[group_62365] +[group_62366] +[group_62367] +[group_62368] +[group_62369] +[group_62370] +[group_62371] +[group_62372] +[group_62373] +[group_62374] +[group_62375] +[group_62376] +[group_62377] +[group_62378] +[group_62379] +[group_62380] +[group_62381] +[group_62382] +[group_62383] +[group_62384] +[group_62385] +[group_62386] +[group_62387] +[group_62388] +[group_62389] +[group_62390] +[group_62391] +[group_62392] +[group_62393] +[group_62394] +[group_62395] +[group_62396] +[group_62397] +[group_62398] +[group_62399] +[group_62400] +[group_62401] +[group_62402] +[group_62403] +[group_62404] +[group_62405] +[group_62406] +[group_62407] +[group_62408] +[group_62409] +[group_62410] +[group_62411] +[group_62412] +[group_62413] +[group_62414] +[group_62415] +[group_62416] +[group_62417] +[group_62418] +[group_62419] +[group_62420] +[group_62421] +[group_62422] +[group_62423] +[group_62424] +[group_62425] +[group_62426] +[group_62427] +[group_62428] +[group_62429] +[group_62430] +[group_62431] +[group_62432] +[group_62433] +[group_62434] +[group_62435] +[group_62436] +[group_62437] +[group_62438] +[group_62439] +[group_62440] +[group_62441] +[group_62442] +[group_62443] +[group_62444] +[group_62445] +[group_62446] +[group_62447] +[group_62448] +[group_62449] +[group_62450] +[group_62451] +[group_62452] +[group_62453] +[group_62454] +[group_62455] +[group_62456] +[group_62457] +[group_62458] +[group_62459] +[group_62460] +[group_62461] +[group_62462] +[group_62463] +[group_62464] +[group_62465] +[group_62466] +[group_62467] +[group_62468] +[group_62469] +[group_62470] +[group_62471] +[group_62472] +[group_62473] +[group_62474] +[group_62475] +[group_62476] +[group_62477] +[group_62478] +[group_62479] +[group_62480] +[group_62481] +[group_62482] +[group_62483] +[group_62484] +[group_62485] +[group_62486] +[group_62487] +[group_62488] +[group_62489] +[group_62490] +[group_62491] +[group_62492] +[group_62493] +[group_62494] +[group_62495] +[group_62496] +[group_62497] +[group_62498] +[group_62499] +[group_62500] +[group_62501] +[group_62502] +[group_62503] +[group_62504] +[group_62505] +[group_62506] +[group_62507] +[group_62508] +[group_62509] +[group_62510] +[group_62511] +[group_62512] +[group_62513] +[group_62514] +[group_62515] +[group_62516] +[group_62517] +[group_62518] +[group_62519] +[group_62520] +[group_62521] +[group_62522] +[group_62523] +[group_62524] +[group_62525] +[group_62526] +[group_62527] +[group_62528] +[group_62529] +[group_62530] +[group_62531] +[group_62532] +[group_62533] +[group_62534] +[group_62535] +[group_62536] +[group_62537] +[group_62538] +[group_62539] +[group_62540] +[group_62541] +[group_62542] +[group_62543] +[group_62544] +[group_62545] +[group_62546] +[group_62547] +[group_62548] +[group_62549] +[group_62550] +[group_62551] +[group_62552] +[group_62553] +[group_62554] +[group_62555] +[group_62556] +[group_62557] +[group_62558] +[group_62559] +[group_62560] +[group_62561] +[group_62562] +[group_62563] +[group_62564] +[group_62565] +[group_62566] +[group_62567] +[group_62568] +[group_62569] +[group_62570] +[group_62571] +[group_62572] +[group_62573] +[group_62574] +[group_62575] +[group_62576] +[group_62577] +[group_62578] +[group_62579] +[group_62580] +[group_62581] +[group_62582] +[group_62583] +[group_62584] +[group_62585] +[group_62586] +[group_62587] +[group_62588] +[group_62589] +[group_62590] +[group_62591] +[group_62592] +[group_62593] +[group_62594] +[group_62595] +[group_62596] +[group_62597] +[group_62598] +[group_62599] +[group_62600] +[group_62601] +[group_62602] +[group_62603] +[group_62604] +[group_62605] +[group_62606] +[group_62607] +[group_62608] +[group_62609] +[group_62610] +[group_62611] +[group_62612] +[group_62613] +[group_62614] +[group_62615] +[group_62616] +[group_62617] +[group_62618] +[group_62619] +[group_62620] +[group_62621] +[group_62622] +[group_62623] +[group_62624] +[group_62625] +[group_62626] +[group_62627] +[group_62628] +[group_62629] +[group_62630] +[group_62631] +[group_62632] +[group_62633] +[group_62634] +[group_62635] +[group_62636] +[group_62637] +[group_62638] +[group_62639] +[group_62640] +[group_62641] +[group_62642] +[group_62643] +[group_62644] +[group_62645] +[group_62646] +[group_62647] +[group_62648] +[group_62649] +[group_62650] +[group_62651] +[group_62652] +[group_62653] +[group_62654] +[group_62655] +[group_62656] +[group_62657] +[group_62658] +[group_62659] +[group_62660] +[group_62661] +[group_62662] +[group_62663] +[group_62664] +[group_62665] +[group_62666] +[group_62667] +[group_62668] +[group_62669] +[group_62670] +[group_62671] +[group_62672] +[group_62673] +[group_62674] +[group_62675] +[group_62676] +[group_62677] +[group_62678] +[group_62679] +[group_62680] +[group_62681] +[group_62682] +[group_62683] +[group_62684] +[group_62685] +[group_62686] +[group_62687] +[group_62688] +[group_62689] +[group_62690] +[group_62691] +[group_62692] +[group_62693] +[group_62694] +[group_62695] +[group_62696] +[group_62697] +[group_62698] +[group_62699] +[group_62700] +[group_62701] +[group_62702] +[group_62703] +[group_62704] +[group_62705] +[group_62706] +[group_62707] +[group_62708] +[group_62709] +[group_62710] +[group_62711] +[group_62712] +[group_62713] +[group_62714] +[group_62715] +[group_62716] +[group_62717] +[group_62718] +[group_62719] +[group_62720] +[group_62721] +[group_62722] +[group_62723] +[group_62724] +[group_62725] +[group_62726] +[group_62727] +[group_62728] +[group_62729] +[group_62730] +[group_62731] +[group_62732] +[group_62733] +[group_62734] +[group_62735] +[group_62736] +[group_62737] +[group_62738] +[group_62739] +[group_62740] +[group_62741] +[group_62742] +[group_62743] +[group_62744] +[group_62745] +[group_62746] +[group_62747] +[group_62748] +[group_62749] +[group_62750] +[group_62751] +[group_62752] +[group_62753] +[group_62754] +[group_62755] +[group_62756] +[group_62757] +[group_62758] +[group_62759] +[group_62760] +[group_62761] +[group_62762] +[group_62763] +[group_62764] +[group_62765] +[group_62766] +[group_62767] +[group_62768] +[group_62769] +[group_62770] +[group_62771] +[group_62772] +[group_62773] +[group_62774] +[group_62775] +[group_62776] +[group_62777] +[group_62778] +[group_62779] +[group_62780] +[group_62781] +[group_62782] +[group_62783] +[group_62784] +[group_62785] +[group_62786] +[group_62787] +[group_62788] +[group_62789] +[group_62790] +[group_62791] +[group_62792] +[group_62793] +[group_62794] +[group_62795] +[group_62796] +[group_62797] +[group_62798] +[group_62799] +[group_62800] +[group_62801] +[group_62802] +[group_62803] +[group_62804] +[group_62805] +[group_62806] +[group_62807] +[group_62808] +[group_62809] +[group_62810] +[group_62811] +[group_62812] +[group_62813] +[group_62814] +[group_62815] +[group_62816] +[group_62817] +[group_62818] +[group_62819] +[group_62820] +[group_62821] +[group_62822] +[group_62823] +[group_62824] +[group_62825] +[group_62826] +[group_62827] +[group_62828] +[group_62829] +[group_62830] +[group_62831] +[group_62832] +[group_62833] +[group_62834] +[group_62835] +[group_62836] +[group_62837] +[group_62838] +[group_62839] +[group_62840] +[group_62841] +[group_62842] +[group_62843] +[group_62844] +[group_62845] +[group_62846] +[group_62847] +[group_62848] +[group_62849] +[group_62850] +[group_62851] +[group_62852] +[group_62853] +[group_62854] +[group_62855] +[group_62856] +[group_62857] +[group_62858] +[group_62859] +[group_62860] +[group_62861] +[group_62862] +[group_62863] +[group_62864] +[group_62865] +[group_62866] +[group_62867] +[group_62868] +[group_62869] +[group_62870] +[group_62871] +[group_62872] +[group_62873] +[group_62874] +[group_62875] +[group_62876] +[group_62877] +[group_62878] +[group_62879] +[group_62880] +[group_62881] +[group_62882] +[group_62883] +[group_62884] +[group_62885] +[group_62886] +[group_62887] +[group_62888] +[group_62889] +[group_62890] +[group_62891] +[group_62892] +[group_62893] +[group_62894] +[group_62895] +[group_62896] +[group_62897] +[group_62898] +[group_62899] +[group_62900] +[group_62901] +[group_62902] +[group_62903] +[group_62904] +[group_62905] +[group_62906] +[group_62907] +[group_62908] +[group_62909] +[group_62910] +[group_62911] +[group_62912] +[group_62913] +[group_62914] +[group_62915] +[group_62916] +[group_62917] +[group_62918] +[group_62919] +[group_62920] +[group_62921] +[group_62922] +[group_62923] +[group_62924] +[group_62925] +[group_62926] +[group_62927] +[group_62928] +[group_62929] +[group_62930] +[group_62931] +[group_62932] +[group_62933] +[group_62934] +[group_62935] +[group_62936] +[group_62937] +[group_62938] +[group_62939] +[group_62940] +[group_62941] +[group_62942] +[group_62943] +[group_62944] +[group_62945] +[group_62946] +[group_62947] +[group_62948] +[group_62949] +[group_62950] +[group_62951] +[group_62952] +[group_62953] +[group_62954] +[group_62955] +[group_62956] +[group_62957] +[group_62958] +[group_62959] +[group_62960] +[group_62961] +[group_62962] +[group_62963] +[group_62964] +[group_62965] +[group_62966] +[group_62967] +[group_62968] +[group_62969] +[group_62970] +[group_62971] +[group_62972] +[group_62973] +[group_62974] +[group_62975] +[group_62976] +[group_62977] +[group_62978] +[group_62979] +[group_62980] +[group_62981] +[group_62982] +[group_62983] +[group_62984] +[group_62985] +[group_62986] +[group_62987] +[group_62988] +[group_62989] +[group_62990] +[group_62991] +[group_62992] +[group_62993] +[group_62994] +[group_62995] +[group_62996] +[group_62997] +[group_62998] +[group_62999] +[group_63000] +[group_63001] +[group_63002] +[group_63003] +[group_63004] +[group_63005] +[group_63006] +[group_63007] +[group_63008] +[group_63009] +[group_63010] +[group_63011] +[group_63012] +[group_63013] +[group_63014] +[group_63015] +[group_63016] +[group_63017] +[group_63018] +[group_63019] +[group_63020] +[group_63021] +[group_63022] +[group_63023] +[group_63024] +[group_63025] +[group_63026] +[group_63027] +[group_63028] +[group_63029] +[group_63030] +[group_63031] +[group_63032] +[group_63033] +[group_63034] +[group_63035] +[group_63036] +[group_63037] +[group_63038] +[group_63039] +[group_63040] +[group_63041] +[group_63042] +[group_63043] +[group_63044] +[group_63045] +[group_63046] +[group_63047] +[group_63048] +[group_63049] +[group_63050] +[group_63051] +[group_63052] +[group_63053] +[group_63054] +[group_63055] +[group_63056] +[group_63057] +[group_63058] +[group_63059] +[group_63060] +[group_63061] +[group_63062] +[group_63063] +[group_63064] +[group_63065] +[group_63066] +[group_63067] +[group_63068] +[group_63069] +[group_63070] +[group_63071] +[group_63072] +[group_63073] +[group_63074] +[group_63075] +[group_63076] +[group_63077] +[group_63078] +[group_63079] +[group_63080] +[group_63081] +[group_63082] +[group_63083] +[group_63084] +[group_63085] +[group_63086] +[group_63087] +[group_63088] +[group_63089] +[group_63090] +[group_63091] +[group_63092] +[group_63093] +[group_63094] +[group_63095] +[group_63096] +[group_63097] +[group_63098] +[group_63099] +[group_63100] +[group_63101] +[group_63102] +[group_63103] +[group_63104] +[group_63105] +[group_63106] +[group_63107] +[group_63108] +[group_63109] +[group_63110] +[group_63111] +[group_63112] +[group_63113] +[group_63114] +[group_63115] +[group_63116] +[group_63117] +[group_63118] +[group_63119] +[group_63120] +[group_63121] +[group_63122] +[group_63123] +[group_63124] +[group_63125] +[group_63126] +[group_63127] +[group_63128] +[group_63129] +[group_63130] +[group_63131] +[group_63132] +[group_63133] +[group_63134] +[group_63135] +[group_63136] +[group_63137] +[group_63138] +[group_63139] +[group_63140] +[group_63141] +[group_63142] +[group_63143] +[group_63144] +[group_63145] +[group_63146] +[group_63147] +[group_63148] +[group_63149] +[group_63150] +[group_63151] +[group_63152] +[group_63153] +[group_63154] +[group_63155] +[group_63156] +[group_63157] +[group_63158] +[group_63159] +[group_63160] +[group_63161] +[group_63162] +[group_63163] +[group_63164] +[group_63165] +[group_63166] +[group_63167] +[group_63168] +[group_63169] +[group_63170] +[group_63171] +[group_63172] +[group_63173] +[group_63174] +[group_63175] +[group_63176] +[group_63177] +[group_63178] +[group_63179] +[group_63180] +[group_63181] +[group_63182] +[group_63183] +[group_63184] +[group_63185] +[group_63186] +[group_63187] +[group_63188] +[group_63189] +[group_63190] +[group_63191] +[group_63192] +[group_63193] +[group_63194] +[group_63195] +[group_63196] +[group_63197] +[group_63198] +[group_63199] +[group_63200] +[group_63201] +[group_63202] +[group_63203] +[group_63204] +[group_63205] +[group_63206] +[group_63207] +[group_63208] +[group_63209] +[group_63210] +[group_63211] +[group_63212] +[group_63213] +[group_63214] +[group_63215] +[group_63216] +[group_63217] +[group_63218] +[group_63219] +[group_63220] +[group_63221] +[group_63222] +[group_63223] +[group_63224] +[group_63225] +[group_63226] +[group_63227] +[group_63228] +[group_63229] +[group_63230] +[group_63231] +[group_63232] +[group_63233] +[group_63234] +[group_63235] +[group_63236] +[group_63237] +[group_63238] +[group_63239] +[group_63240] +[group_63241] +[group_63242] +[group_63243] +[group_63244] +[group_63245] +[group_63246] +[group_63247] +[group_63248] +[group_63249] +[group_63250] +[group_63251] +[group_63252] +[group_63253] +[group_63254] +[group_63255] +[group_63256] +[group_63257] +[group_63258] +[group_63259] +[group_63260] +[group_63261] +[group_63262] +[group_63263] +[group_63264] +[group_63265] +[group_63266] +[group_63267] +[group_63268] +[group_63269] +[group_63270] +[group_63271] +[group_63272] +[group_63273] +[group_63274] +[group_63275] +[group_63276] +[group_63277] +[group_63278] +[group_63279] +[group_63280] +[group_63281] +[group_63282] +[group_63283] +[group_63284] +[group_63285] +[group_63286] +[group_63287] +[group_63288] +[group_63289] +[group_63290] +[group_63291] +[group_63292] +[group_63293] +[group_63294] +[group_63295] +[group_63296] +[group_63297] +[group_63298] +[group_63299] +[group_63300] +[group_63301] +[group_63302] +[group_63303] +[group_63304] +[group_63305] +[group_63306] +[group_63307] +[group_63308] +[group_63309] +[group_63310] +[group_63311] +[group_63312] +[group_63313] +[group_63314] +[group_63315] +[group_63316] +[group_63317] +[group_63318] +[group_63319] +[group_63320] +[group_63321] +[group_63322] +[group_63323] +[group_63324] +[group_63325] +[group_63326] +[group_63327] +[group_63328] +[group_63329] +[group_63330] +[group_63331] +[group_63332] +[group_63333] +[group_63334] +[group_63335] +[group_63336] +[group_63337] +[group_63338] +[group_63339] +[group_63340] +[group_63341] +[group_63342] +[group_63343] +[group_63344] +[group_63345] +[group_63346] +[group_63347] +[group_63348] +[group_63349] +[group_63350] +[group_63351] +[group_63352] +[group_63353] +[group_63354] +[group_63355] +[group_63356] +[group_63357] +[group_63358] +[group_63359] +[group_63360] +[group_63361] +[group_63362] +[group_63363] +[group_63364] +[group_63365] +[group_63366] +[group_63367] +[group_63368] +[group_63369] +[group_63370] +[group_63371] +[group_63372] +[group_63373] +[group_63374] +[group_63375] +[group_63376] +[group_63377] +[group_63378] +[group_63379] +[group_63380] +[group_63381] +[group_63382] +[group_63383] +[group_63384] +[group_63385] +[group_63386] +[group_63387] +[group_63388] +[group_63389] +[group_63390] +[group_63391] +[group_63392] +[group_63393] +[group_63394] +[group_63395] +[group_63396] +[group_63397] +[group_63398] +[group_63399] +[group_63400] +[group_63401] +[group_63402] +[group_63403] +[group_63404] +[group_63405] +[group_63406] +[group_63407] +[group_63408] +[group_63409] +[group_63410] +[group_63411] +[group_63412] +[group_63413] +[group_63414] +[group_63415] +[group_63416] +[group_63417] +[group_63418] +[group_63419] +[group_63420] +[group_63421] +[group_63422] +[group_63423] +[group_63424] +[group_63425] +[group_63426] +[group_63427] +[group_63428] +[group_63429] +[group_63430] +[group_63431] +[group_63432] +[group_63433] +[group_63434] +[group_63435] +[group_63436] +[group_63437] +[group_63438] +[group_63439] +[group_63440] +[group_63441] +[group_63442] +[group_63443] +[group_63444] +[group_63445] +[group_63446] +[group_63447] +[group_63448] +[group_63449] +[group_63450] +[group_63451] +[group_63452] +[group_63453] +[group_63454] +[group_63455] +[group_63456] +[group_63457] +[group_63458] +[group_63459] +[group_63460] +[group_63461] +[group_63462] +[group_63463] +[group_63464] +[group_63465] +[group_63466] +[group_63467] +[group_63468] +[group_63469] +[group_63470] +[group_63471] +[group_63472] +[group_63473] +[group_63474] +[group_63475] +[group_63476] +[group_63477] +[group_63478] +[group_63479] +[group_63480] +[group_63481] +[group_63482] +[group_63483] +[group_63484] +[group_63485] +[group_63486] +[group_63487] +[group_63488] +[group_63489] +[group_63490] +[group_63491] +[group_63492] +[group_63493] +[group_63494] +[group_63495] +[group_63496] +[group_63497] +[group_63498] +[group_63499] +[group_63500] +[group_63501] +[group_63502] +[group_63503] +[group_63504] +[group_63505] +[group_63506] +[group_63507] +[group_63508] +[group_63509] +[group_63510] +[group_63511] +[group_63512] +[group_63513] +[group_63514] +[group_63515] +[group_63516] +[group_63517] +[group_63518] +[group_63519] +[group_63520] +[group_63521] +[group_63522] +[group_63523] +[group_63524] +[group_63525] +[group_63526] +[group_63527] +[group_63528] +[group_63529] +[group_63530] +[group_63531] +[group_63532] +[group_63533] +[group_63534] +[group_63535] +[group_63536] +[group_63537] +[group_63538] +[group_63539] +[group_63540] +[group_63541] +[group_63542] +[group_63543] +[group_63544] +[group_63545] +[group_63546] +[group_63547] +[group_63548] +[group_63549] +[group_63550] +[group_63551] +[group_63552] +[group_63553] +[group_63554] +[group_63555] +[group_63556] +[group_63557] +[group_63558] +[group_63559] +[group_63560] +[group_63561] +[group_63562] +[group_63563] +[group_63564] +[group_63565] +[group_63566] +[group_63567] +[group_63568] +[group_63569] +[group_63570] +[group_63571] +[group_63572] +[group_63573] +[group_63574] +[group_63575] +[group_63576] +[group_63577] +[group_63578] +[group_63579] +[group_63580] +[group_63581] +[group_63582] +[group_63583] +[group_63584] +[group_63585] +[group_63586] +[group_63587] +[group_63588] +[group_63589] +[group_63590] +[group_63591] +[group_63592] +[group_63593] +[group_63594] +[group_63595] +[group_63596] +[group_63597] +[group_63598] +[group_63599] +[group_63600] +[group_63601] +[group_63602] +[group_63603] +[group_63604] +[group_63605] +[group_63606] +[group_63607] +[group_63608] +[group_63609] +[group_63610] +[group_63611] +[group_63612] +[group_63613] +[group_63614] +[group_63615] +[group_63616] +[group_63617] +[group_63618] +[group_63619] +[group_63620] +[group_63621] +[group_63622] +[group_63623] +[group_63624] +[group_63625] +[group_63626] +[group_63627] +[group_63628] +[group_63629] +[group_63630] +[group_63631] +[group_63632] +[group_63633] +[group_63634] +[group_63635] +[group_63636] +[group_63637] +[group_63638] +[group_63639] +[group_63640] +[group_63641] +[group_63642] +[group_63643] +[group_63644] +[group_63645] +[group_63646] +[group_63647] +[group_63648] +[group_63649] +[group_63650] +[group_63651] +[group_63652] +[group_63653] +[group_63654] +[group_63655] +[group_63656] +[group_63657] +[group_63658] +[group_63659] +[group_63660] +[group_63661] +[group_63662] +[group_63663] +[group_63664] +[group_63665] +[group_63666] +[group_63667] +[group_63668] +[group_63669] +[group_63670] +[group_63671] +[group_63672] +[group_63673] +[group_63674] +[group_63675] +[group_63676] +[group_63677] +[group_63678] +[group_63679] +[group_63680] +[group_63681] +[group_63682] +[group_63683] +[group_63684] +[group_63685] +[group_63686] +[group_63687] +[group_63688] +[group_63689] +[group_63690] +[group_63691] +[group_63692] +[group_63693] +[group_63694] +[group_63695] +[group_63696] +[group_63697] +[group_63698] +[group_63699] +[group_63700] +[group_63701] +[group_63702] +[group_63703] +[group_63704] +[group_63705] +[group_63706] +[group_63707] +[group_63708] +[group_63709] +[group_63710] +[group_63711] +[group_63712] +[group_63713] +[group_63714] +[group_63715] +[group_63716] +[group_63717] +[group_63718] +[group_63719] +[group_63720] +[group_63721] +[group_63722] +[group_63723] +[group_63724] +[group_63725] +[group_63726] +[group_63727] +[group_63728] +[group_63729] +[group_63730] +[group_63731] +[group_63732] +[group_63733] +[group_63734] +[group_63735] +[group_63736] +[group_63737] +[group_63738] +[group_63739] +[group_63740] +[group_63741] +[group_63742] +[group_63743] +[group_63744] +[group_63745] +[group_63746] +[group_63747] +[group_63748] +[group_63749] +[group_63750] +[group_63751] +[group_63752] +[group_63753] +[group_63754] +[group_63755] +[group_63756] +[group_63757] +[group_63758] +[group_63759] +[group_63760] +[group_63761] +[group_63762] +[group_63763] +[group_63764] +[group_63765] +[group_63766] +[group_63767] +[group_63768] +[group_63769] +[group_63770] +[group_63771] +[group_63772] +[group_63773] +[group_63774] +[group_63775] +[group_63776] +[group_63777] +[group_63778] +[group_63779] +[group_63780] +[group_63781] +[group_63782] +[group_63783] +[group_63784] +[group_63785] +[group_63786] +[group_63787] +[group_63788] +[group_63789] +[group_63790] +[group_63791] +[group_63792] +[group_63793] +[group_63794] +[group_63795] +[group_63796] +[group_63797] +[group_63798] +[group_63799] +[group_63800] +[group_63801] +[group_63802] +[group_63803] +[group_63804] +[group_63805] +[group_63806] +[group_63807] +[group_63808] +[group_63809] +[group_63810] +[group_63811] +[group_63812] +[group_63813] +[group_63814] +[group_63815] +[group_63816] +[group_63817] +[group_63818] +[group_63819] +[group_63820] +[group_63821] +[group_63822] +[group_63823] +[group_63824] +[group_63825] +[group_63826] +[group_63827] +[group_63828] +[group_63829] +[group_63830] +[group_63831] +[group_63832] +[group_63833] +[group_63834] +[group_63835] +[group_63836] +[group_63837] +[group_63838] +[group_63839] +[group_63840] +[group_63841] +[group_63842] +[group_63843] +[group_63844] +[group_63845] +[group_63846] +[group_63847] +[group_63848] +[group_63849] +[group_63850] +[group_63851] +[group_63852] +[group_63853] +[group_63854] +[group_63855] +[group_63856] +[group_63857] +[group_63858] +[group_63859] +[group_63860] +[group_63861] +[group_63862] +[group_63863] +[group_63864] +[group_63865] +[group_63866] +[group_63867] +[group_63868] +[group_63869] +[group_63870] +[group_63871] +[group_63872] +[group_63873] +[group_63874] +[group_63875] +[group_63876] +[group_63877] +[group_63878] +[group_63879] +[group_63880] +[group_63881] +[group_63882] +[group_63883] +[group_63884] +[group_63885] +[group_63886] +[group_63887] +[group_63888] +[group_63889] +[group_63890] +[group_63891] +[group_63892] +[group_63893] +[group_63894] +[group_63895] +[group_63896] +[group_63897] +[group_63898] +[group_63899] +[group_63900] +[group_63901] +[group_63902] +[group_63903] +[group_63904] +[group_63905] +[group_63906] +[group_63907] +[group_63908] +[group_63909] +[group_63910] +[group_63911] +[group_63912] +[group_63913] +[group_63914] +[group_63915] +[group_63916] +[group_63917] +[group_63918] +[group_63919] +[group_63920] +[group_63921] +[group_63922] +[group_63923] +[group_63924] +[group_63925] +[group_63926] +[group_63927] +[group_63928] +[group_63929] +[group_63930] +[group_63931] +[group_63932] +[group_63933] +[group_63934] +[group_63935] +[group_63936] +[group_63937] +[group_63938] +[group_63939] +[group_63940] +[group_63941] +[group_63942] +[group_63943] +[group_63944] +[group_63945] +[group_63946] +[group_63947] +[group_63948] +[group_63949] +[group_63950] +[group_63951] +[group_63952] +[group_63953] +[group_63954] +[group_63955] +[group_63956] +[group_63957] +[group_63958] +[group_63959] +[group_63960] +[group_63961] +[group_63962] +[group_63963] +[group_63964] +[group_63965] +[group_63966] +[group_63967] +[group_63968] +[group_63969] +[group_63970] +[group_63971] +[group_63972] +[group_63973] +[group_63974] +[group_63975] +[group_63976] +[group_63977] +[group_63978] +[group_63979] +[group_63980] +[group_63981] +[group_63982] +[group_63983] +[group_63984] +[group_63985] +[group_63986] +[group_63987] +[group_63988] +[group_63989] +[group_63990] +[group_63991] +[group_63992] +[group_63993] +[group_63994] +[group_63995] +[group_63996] +[group_63997] +[group_63998] +[group_63999] +[group_64000] +[group_64001] +[group_64002] +[group_64003] +[group_64004] +[group_64005] +[group_64006] +[group_64007] +[group_64008] +[group_64009] +[group_64010] +[group_64011] +[group_64012] +[group_64013] +[group_64014] +[group_64015] +[group_64016] +[group_64017] +[group_64018] +[group_64019] +[group_64020] +[group_64021] +[group_64022] +[group_64023] +[group_64024] +[group_64025] +[group_64026] +[group_64027] +[group_64028] +[group_64029] +[group_64030] +[group_64031] +[group_64032] +[group_64033] +[group_64034] +[group_64035] +[group_64036] +[group_64037] +[group_64038] +[group_64039] +[group_64040] +[group_64041] +[group_64042] +[group_64043] +[group_64044] +[group_64045] +[group_64046] +[group_64047] +[group_64048] +[group_64049] +[group_64050] +[group_64051] +[group_64052] +[group_64053] +[group_64054] +[group_64055] +[group_64056] +[group_64057] +[group_64058] +[group_64059] +[group_64060] +[group_64061] +[group_64062] +[group_64063] +[group_64064] +[group_64065] +[group_64066] +[group_64067] +[group_64068] +[group_64069] +[group_64070] +[group_64071] +[group_64072] +[group_64073] +[group_64074] +[group_64075] +[group_64076] +[group_64077] +[group_64078] +[group_64079] +[group_64080] +[group_64081] +[group_64082] +[group_64083] +[group_64084] +[group_64085] +[group_64086] +[group_64087] +[group_64088] +[group_64089] +[group_64090] +[group_64091] +[group_64092] +[group_64093] +[group_64094] +[group_64095] +[group_64096] +[group_64097] +[group_64098] +[group_64099] +[group_64100] +[group_64101] +[group_64102] +[group_64103] +[group_64104] +[group_64105] +[group_64106] +[group_64107] +[group_64108] +[group_64109] +[group_64110] +[group_64111] +[group_64112] +[group_64113] +[group_64114] +[group_64115] +[group_64116] +[group_64117] +[group_64118] +[group_64119] +[group_64120] +[group_64121] +[group_64122] +[group_64123] +[group_64124] +[group_64125] +[group_64126] +[group_64127] +[group_64128] +[group_64129] +[group_64130] +[group_64131] +[group_64132] +[group_64133] +[group_64134] +[group_64135] +[group_64136] +[group_64137] +[group_64138] +[group_64139] +[group_64140] +[group_64141] +[group_64142] +[group_64143] +[group_64144] +[group_64145] +[group_64146] +[group_64147] +[group_64148] +[group_64149] +[group_64150] +[group_64151] +[group_64152] +[group_64153] +[group_64154] +[group_64155] +[group_64156] +[group_64157] +[group_64158] +[group_64159] +[group_64160] +[group_64161] +[group_64162] +[group_64163] +[group_64164] +[group_64165] +[group_64166] +[group_64167] +[group_64168] +[group_64169] +[group_64170] +[group_64171] +[group_64172] +[group_64173] +[group_64174] +[group_64175] +[group_64176] +[group_64177] +[group_64178] +[group_64179] +[group_64180] +[group_64181] +[group_64182] +[group_64183] +[group_64184] +[group_64185] +[group_64186] +[group_64187] +[group_64188] +[group_64189] +[group_64190] +[group_64191] +[group_64192] +[group_64193] +[group_64194] +[group_64195] +[group_64196] +[group_64197] +[group_64198] +[group_64199] +[group_64200] +[group_64201] +[group_64202] +[group_64203] +[group_64204] +[group_64205] +[group_64206] +[group_64207] +[group_64208] +[group_64209] +[group_64210] +[group_64211] +[group_64212] +[group_64213] +[group_64214] +[group_64215] +[group_64216] +[group_64217] +[group_64218] +[group_64219] +[group_64220] +[group_64221] +[group_64222] +[group_64223] +[group_64224] +[group_64225] +[group_64226] +[group_64227] +[group_64228] +[group_64229] +[group_64230] +[group_64231] +[group_64232] +[group_64233] +[group_64234] +[group_64235] +[group_64236] +[group_64237] +[group_64238] +[group_64239] +[group_64240] +[group_64241] +[group_64242] +[group_64243] +[group_64244] +[group_64245] +[group_64246] +[group_64247] +[group_64248] +[group_64249] +[group_64250] +[group_64251] +[group_64252] +[group_64253] +[group_64254] +[group_64255] +[group_64256] +[group_64257] +[group_64258] +[group_64259] +[group_64260] +[group_64261] +[group_64262] +[group_64263] +[group_64264] +[group_64265] +[group_64266] +[group_64267] +[group_64268] +[group_64269] +[group_64270] +[group_64271] +[group_64272] +[group_64273] +[group_64274] +[group_64275] +[group_64276] +[group_64277] +[group_64278] +[group_64279] +[group_64280] +[group_64281] +[group_64282] +[group_64283] +[group_64284] +[group_64285] +[group_64286] +[group_64287] +[group_64288] +[group_64289] +[group_64290] +[group_64291] +[group_64292] +[group_64293] +[group_64294] +[group_64295] +[group_64296] +[group_64297] +[group_64298] +[group_64299] +[group_64300] +[group_64301] +[group_64302] +[group_64303] +[group_64304] +[group_64305] +[group_64306] +[group_64307] +[group_64308] +[group_64309] +[group_64310] +[group_64311] +[group_64312] +[group_64313] +[group_64314] +[group_64315] +[group_64316] +[group_64317] +[group_64318] +[group_64319] +[group_64320] +[group_64321] +[group_64322] +[group_64323] +[group_64324] +[group_64325] +[group_64326] +[group_64327] +[group_64328] +[group_64329] +[group_64330] +[group_64331] +[group_64332] +[group_64333] +[group_64334] +[group_64335] +[group_64336] +[group_64337] +[group_64338] +[group_64339] +[group_64340] +[group_64341] +[group_64342] +[group_64343] +[group_64344] +[group_64345] +[group_64346] +[group_64347] +[group_64348] +[group_64349] +[group_64350] +[group_64351] +[group_64352] +[group_64353] +[group_64354] +[group_64355] +[group_64356] +[group_64357] +[group_64358] +[group_64359] +[group_64360] +[group_64361] +[group_64362] +[group_64363] +[group_64364] +[group_64365] +[group_64366] +[group_64367] +[group_64368] +[group_64369] +[group_64370] +[group_64371] +[group_64372] +[group_64373] +[group_64374] +[group_64375] +[group_64376] +[group_64377] +[group_64378] +[group_64379] +[group_64380] +[group_64381] +[group_64382] +[group_64383] +[group_64384] +[group_64385] +[group_64386] +[group_64387] +[group_64388] +[group_64389] +[group_64390] +[group_64391] +[group_64392] +[group_64393] +[group_64394] +[group_64395] +[group_64396] +[group_64397] +[group_64398] +[group_64399] +[group_64400] +[group_64401] +[group_64402] +[group_64403] +[group_64404] +[group_64405] +[group_64406] +[group_64407] +[group_64408] +[group_64409] +[group_64410] +[group_64411] +[group_64412] +[group_64413] +[group_64414] +[group_64415] +[group_64416] +[group_64417] +[group_64418] +[group_64419] +[group_64420] +[group_64421] +[group_64422] +[group_64423] +[group_64424] +[group_64425] +[group_64426] +[group_64427] +[group_64428] +[group_64429] +[group_64430] +[group_64431] +[group_64432] +[group_64433] +[group_64434] +[group_64435] +[group_64436] +[group_64437] +[group_64438] +[group_64439] +[group_64440] +[group_64441] +[group_64442] +[group_64443] +[group_64444] +[group_64445] +[group_64446] +[group_64447] +[group_64448] +[group_64449] +[group_64450] +[group_64451] +[group_64452] +[group_64453] +[group_64454] +[group_64455] +[group_64456] +[group_64457] +[group_64458] +[group_64459] +[group_64460] +[group_64461] +[group_64462] +[group_64463] +[group_64464] +[group_64465] +[group_64466] +[group_64467] +[group_64468] +[group_64469] +[group_64470] +[group_64471] +[group_64472] +[group_64473] +[group_64474] +[group_64475] +[group_64476] +[group_64477] +[group_64478] +[group_64479] +[group_64480] +[group_64481] +[group_64482] +[group_64483] +[group_64484] +[group_64485] +[group_64486] +[group_64487] +[group_64488] +[group_64489] +[group_64490] +[group_64491] +[group_64492] +[group_64493] +[group_64494] +[group_64495] +[group_64496] +[group_64497] +[group_64498] +[group_64499] +[group_64500] +[group_64501] +[group_64502] +[group_64503] +[group_64504] +[group_64505] +[group_64506] +[group_64507] +[group_64508] +[group_64509] +[group_64510] +[group_64511] +[group_64512] +[group_64513] +[group_64514] +[group_64515] +[group_64516] +[group_64517] +[group_64518] +[group_64519] +[group_64520] +[group_64521] +[group_64522] +[group_64523] +[group_64524] +[group_64525] +[group_64526] +[group_64527] +[group_64528] +[group_64529] +[group_64530] +[group_64531] +[group_64532] +[group_64533] +[group_64534] +[group_64535] +[group_64536] +[group_64537] +[group_64538] +[group_64539] +[group_64540] +[group_64541] +[group_64542] +[group_64543] +[group_64544] +[group_64545] +[group_64546] +[group_64547] +[group_64548] +[group_64549] +[group_64550] +[group_64551] +[group_64552] +[group_64553] +[group_64554] +[group_64555] +[group_64556] +[group_64557] +[group_64558] +[group_64559] +[group_64560] +[group_64561] +[group_64562] +[group_64563] +[group_64564] +[group_64565] +[group_64566] +[group_64567] +[group_64568] +[group_64569] +[group_64570] +[group_64571] +[group_64572] +[group_64573] +[group_64574] +[group_64575] +[group_64576] +[group_64577] +[group_64578] +[group_64579] +[group_64580] +[group_64581] +[group_64582] +[group_64583] +[group_64584] +[group_64585] +[group_64586] +[group_64587] +[group_64588] +[group_64589] +[group_64590] +[group_64591] +[group_64592] +[group_64593] +[group_64594] +[group_64595] +[group_64596] +[group_64597] +[group_64598] +[group_64599] +[group_64600] +[group_64601] +[group_64602] +[group_64603] +[group_64604] +[group_64605] +[group_64606] +[group_64607] +[group_64608] +[group_64609] +[group_64610] +[group_64611] +[group_64612] +[group_64613] +[group_64614] +[group_64615] +[group_64616] +[group_64617] +[group_64618] +[group_64619] +[group_64620] +[group_64621] +[group_64622] +[group_64623] +[group_64624] +[group_64625] +[group_64626] +[group_64627] +[group_64628] +[group_64629] +[group_64630] +[group_64631] +[group_64632] +[group_64633] +[group_64634] +[group_64635] +[group_64636] +[group_64637] +[group_64638] +[group_64639] +[group_64640] +[group_64641] +[group_64642] +[group_64643] +[group_64644] +[group_64645] +[group_64646] +[group_64647] +[group_64648] +[group_64649] +[group_64650] +[group_64651] +[group_64652] +[group_64653] +[group_64654] +[group_64655] +[group_64656] +[group_64657] +[group_64658] +[group_64659] +[group_64660] +[group_64661] +[group_64662] +[group_64663] +[group_64664] +[group_64665] +[group_64666] +[group_64667] +[group_64668] +[group_64669] +[group_64670] +[group_64671] +[group_64672] +[group_64673] +[group_64674] +[group_64675] +[group_64676] +[group_64677] +[group_64678] +[group_64679] +[group_64680] +[group_64681] +[group_64682] +[group_64683] +[group_64684] +[group_64685] +[group_64686] +[group_64687] +[group_64688] +[group_64689] +[group_64690] +[group_64691] +[group_64692] +[group_64693] +[group_64694] +[group_64695] +[group_64696] +[group_64697] +[group_64698] +[group_64699] +[group_64700] +[group_64701] +[group_64702] +[group_64703] +[group_64704] +[group_64705] +[group_64706] +[group_64707] +[group_64708] +[group_64709] +[group_64710] +[group_64711] +[group_64712] +[group_64713] +[group_64714] +[group_64715] +[group_64716] +[group_64717] +[group_64718] +[group_64719] +[group_64720] +[group_64721] +[group_64722] +[group_64723] +[group_64724] +[group_64725] +[group_64726] +[group_64727] +[group_64728] +[group_64729] +[group_64730] +[group_64731] +[group_64732] +[group_64733] +[group_64734] +[group_64735] +[group_64736] +[group_64737] +[group_64738] +[group_64739] +[group_64740] +[group_64741] +[group_64742] +[group_64743] +[group_64744] +[group_64745] +[group_64746] +[group_64747] +[group_64748] +[group_64749] +[group_64750] +[group_64751] +[group_64752] +[group_64753] +[group_64754] +[group_64755] +[group_64756] +[group_64757] +[group_64758] +[group_64759] +[group_64760] +[group_64761] +[group_64762] +[group_64763] +[group_64764] +[group_64765] +[group_64766] +[group_64767] +[group_64768] +[group_64769] +[group_64770] +[group_64771] +[group_64772] +[group_64773] +[group_64774] +[group_64775] +[group_64776] +[group_64777] +[group_64778] +[group_64779] +[group_64780] +[group_64781] +[group_64782] +[group_64783] +[group_64784] +[group_64785] +[group_64786] +[group_64787] +[group_64788] +[group_64789] +[group_64790] +[group_64791] +[group_64792] +[group_64793] +[group_64794] +[group_64795] +[group_64796] +[group_64797] +[group_64798] +[group_64799] +[group_64800] +[group_64801] +[group_64802] +[group_64803] +[group_64804] +[group_64805] +[group_64806] +[group_64807] +[group_64808] +[group_64809] +[group_64810] +[group_64811] +[group_64812] +[group_64813] +[group_64814] +[group_64815] +[group_64816] +[group_64817] +[group_64818] +[group_64819] +[group_64820] +[group_64821] +[group_64822] +[group_64823] +[group_64824] +[group_64825] +[group_64826] +[group_64827] +[group_64828] +[group_64829] +[group_64830] +[group_64831] +[group_64832] +[group_64833] +[group_64834] +[group_64835] +[group_64836] +[group_64837] +[group_64838] +[group_64839] +[group_64840] +[group_64841] +[group_64842] +[group_64843] +[group_64844] +[group_64845] +[group_64846] +[group_64847] +[group_64848] +[group_64849] +[group_64850] +[group_64851] +[group_64852] +[group_64853] +[group_64854] +[group_64855] +[group_64856] +[group_64857] +[group_64858] +[group_64859] +[group_64860] +[group_64861] +[group_64862] +[group_64863] +[group_64864] +[group_64865] +[group_64866] +[group_64867] +[group_64868] +[group_64869] +[group_64870] +[group_64871] +[group_64872] +[group_64873] +[group_64874] +[group_64875] +[group_64876] +[group_64877] +[group_64878] +[group_64879] +[group_64880] +[group_64881] +[group_64882] +[group_64883] +[group_64884] +[group_64885] +[group_64886] +[group_64887] +[group_64888] +[group_64889] +[group_64890] +[group_64891] +[group_64892] +[group_64893] +[group_64894] +[group_64895] +[group_64896] +[group_64897] +[group_64898] +[group_64899] +[group_64900] +[group_64901] +[group_64902] +[group_64903] +[group_64904] +[group_64905] +[group_64906] +[group_64907] +[group_64908] +[group_64909] +[group_64910] +[group_64911] +[group_64912] +[group_64913] +[group_64914] +[group_64915] +[group_64916] +[group_64917] +[group_64918] +[group_64919] +[group_64920] +[group_64921] +[group_64922] +[group_64923] +[group_64924] +[group_64925] +[group_64926] +[group_64927] +[group_64928] +[group_64929] +[group_64930] +[group_64931] +[group_64932] +[group_64933] +[group_64934] +[group_64935] +[group_64936] +[group_64937] +[group_64938] +[group_64939] +[group_64940] +[group_64941] +[group_64942] +[group_64943] +[group_64944] +[group_64945] +[group_64946] +[group_64947] +[group_64948] +[group_64949] +[group_64950] +[group_64951] +[group_64952] +[group_64953] +[group_64954] +[group_64955] +[group_64956] +[group_64957] +[group_64958] +[group_64959] +[group_64960] +[group_64961] +[group_64962] +[group_64963] +[group_64964] +[group_64965] +[group_64966] +[group_64967] +[group_64968] +[group_64969] +[group_64970] +[group_64971] +[group_64972] +[group_64973] +[group_64974] +[group_64975] +[group_64976] +[group_64977] +[group_64978] +[group_64979] +[group_64980] +[group_64981] +[group_64982] +[group_64983] +[group_64984] +[group_64985] +[group_64986] +[group_64987] +[group_64988] +[group_64989] +[group_64990] +[group_64991] +[group_64992] +[group_64993] +[group_64994] +[group_64995] +[group_64996] +[group_64997] +[group_64998] +[group_64999] +[group_65000] +[group_65001] +[group_65002] +[group_65003] +[group_65004] +[group_65005] +[group_65006] +[group_65007] +[group_65008] +[group_65009] +[group_65010] +[group_65011] +[group_65012] +[group_65013] +[group_65014] +[group_65015] +[group_65016] +[group_65017] +[group_65018] +[group_65019] +[group_65020] +[group_65021] +[group_65022] +[group_65023] +[group_65024] +[group_65025] +[group_65026] +[group_65027] +[group_65028] +[group_65029] +[group_65030] +[group_65031] +[group_65032] +[group_65033] +[group_65034] +[group_65035] +[group_65036] +[group_65037] +[group_65038] +[group_65039] +[group_65040] +[group_65041] +[group_65042] +[group_65043] +[group_65044] +[group_65045] +[group_65046] +[group_65047] +[group_65048] +[group_65049] +[group_65050] +[group_65051] +[group_65052] +[group_65053] +[group_65054] +[group_65055] +[group_65056] +[group_65057] +[group_65058] +[group_65059] +[group_65060] +[group_65061] +[group_65062] +[group_65063] +[group_65064] +[group_65065] +[group_65066] +[group_65067] +[group_65068] +[group_65069] +[group_65070] +[group_65071] +[group_65072] +[group_65073] +[group_65074] +[group_65075] +[group_65076] +[group_65077] +[group_65078] +[group_65079] +[group_65080] +[group_65081] +[group_65082] +[group_65083] +[group_65084] +[group_65085] +[group_65086] +[group_65087] +[group_65088] +[group_65089] +[group_65090] +[group_65091] +[group_65092] +[group_65093] +[group_65094] +[group_65095] +[group_65096] +[group_65097] +[group_65098] +[group_65099] +[group_65100] +[group_65101] +[group_65102] +[group_65103] +[group_65104] +[group_65105] +[group_65106] +[group_65107] +[group_65108] +[group_65109] +[group_65110] +[group_65111] +[group_65112] +[group_65113] +[group_65114] +[group_65115] +[group_65116] +[group_65117] +[group_65118] +[group_65119] +[group_65120] +[group_65121] +[group_65122] +[group_65123] +[group_65124] +[group_65125] +[group_65126] +[group_65127] +[group_65128] +[group_65129] +[group_65130] +[group_65131] +[group_65132] +[group_65133] +[group_65134] +[group_65135] +[group_65136] +[group_65137] +[group_65138] +[group_65139] +[group_65140] +[group_65141] +[group_65142] +[group_65143] +[group_65144] +[group_65145] +[group_65146] +[group_65147] +[group_65148] +[group_65149] +[group_65150] +[group_65151] +[group_65152] +[group_65153] +[group_65154] +[group_65155] +[group_65156] +[group_65157] +[group_65158] +[group_65159] +[group_65160] +[group_65161] +[group_65162] +[group_65163] +[group_65164] +[group_65165] +[group_65166] +[group_65167] +[group_65168] +[group_65169] +[group_65170] +[group_65171] +[group_65172] +[group_65173] +[group_65174] +[group_65175] +[group_65176] +[group_65177] +[group_65178] +[group_65179] +[group_65180] +[group_65181] +[group_65182] +[group_65183] +[group_65184] +[group_65185] +[group_65186] +[group_65187] +[group_65188] +[group_65189] +[group_65190] +[group_65191] +[group_65192] +[group_65193] +[group_65194] +[group_65195] +[group_65196] +[group_65197] +[group_65198] +[group_65199] +[group_65200] +[group_65201] +[group_65202] +[group_65203] +[group_65204] +[group_65205] +[group_65206] +[group_65207] +[group_65208] +[group_65209] +[group_65210] +[group_65211] +[group_65212] +[group_65213] +[group_65214] +[group_65215] +[group_65216] +[group_65217] +[group_65218] +[group_65219] +[group_65220] +[group_65221] +[group_65222] +[group_65223] +[group_65224] +[group_65225] +[group_65226] +[group_65227] +[group_65228] +[group_65229] +[group_65230] +[group_65231] +[group_65232] +[group_65233] +[group_65234] +[group_65235] +[group_65236] +[group_65237] +[group_65238] +[group_65239] +[group_65240] +[group_65241] +[group_65242] +[group_65243] +[group_65244] +[group_65245] +[group_65246] +[group_65247] +[group_65248] +[group_65249] +[group_65250] +[group_65251] +[group_65252] +[group_65253] +[group_65254] +[group_65255] +[group_65256] +[group_65257] +[group_65258] +[group_65259] +[group_65260] +[group_65261] +[group_65262] +[group_65263] +[group_65264] +[group_65265] +[group_65266] +[group_65267] +[group_65268] +[group_65269] +[group_65270] +[group_65271] +[group_65272] +[group_65273] +[group_65274] +[group_65275] +[group_65276] +[group_65277] +[group_65278] +[group_65279] +[group_65280] +[group_65281] +[group_65282] +[group_65283] +[group_65284] +[group_65285] +[group_65286] +[group_65287] +[group_65288] +[group_65289] +[group_65290] +[group_65291] +[group_65292] +[group_65293] +[group_65294] +[group_65295] +[group_65296] +[group_65297] +[group_65298] +[group_65299] +[group_65300] +[group_65301] +[group_65302] +[group_65303] +[group_65304] +[group_65305] +[group_65306] +[group_65307] +[group_65308] +[group_65309] +[group_65310] +[group_65311] +[group_65312] +[group_65313] +[group_65314] +[group_65315] +[group_65316] +[group_65317] +[group_65318] +[group_65319] +[group_65320] +[group_65321] +[group_65322] +[group_65323] +[group_65324] +[group_65325] +[group_65326] +[group_65327] +[group_65328] +[group_65329] +[group_65330] +[group_65331] +[group_65332] +[group_65333] +[group_65334] +[group_65335] +[group_65336] +[group_65337] +[group_65338] +[group_65339] +[group_65340] +[group_65341] +[group_65342] +[group_65343] +[group_65344] +[group_65345] +[group_65346] +[group_65347] +[group_65348] +[group_65349] +[group_65350] +[group_65351] +[group_65352] +[group_65353] +[group_65354] +[group_65355] +[group_65356] +[group_65357] +[group_65358] +[group_65359] +[group_65360] +[group_65361] +[group_65362] +[group_65363] +[group_65364] +[group_65365] +[group_65366] +[group_65367] +[group_65368] +[group_65369] +[group_65370] +[group_65371] +[group_65372] +[group_65373] +[group_65374] +[group_65375] +[group_65376] +[group_65377] +[group_65378] +[group_65379] +[group_65380] +[group_65381] +[group_65382] +[group_65383] +[group_65384] +[group_65385] +[group_65386] +[group_65387] +[group_65388] +[group_65389] +[group_65390] +[group_65391] +[group_65392] +[group_65393] +[group_65394] +[group_65395] +[group_65396] +[group_65397] +[group_65398] +[group_65399] +[group_65400] +[group_65401] +[group_65402] +[group_65403] +[group_65404] +[group_65405] +[group_65406] +[group_65407] +[group_65408] +[group_65409] +[group_65410] +[group_65411] +[group_65412] +[group_65413] +[group_65414] +[group_65415] +[group_65416] +[group_65417] +[group_65418] +[group_65419] +[group_65420] +[group_65421] +[group_65422] +[group_65423] +[group_65424] +[group_65425] +[group_65426] +[group_65427] +[group_65428] +[group_65429] +[group_65430] +[group_65431] +[group_65432] +[group_65433] +[group_65434] +[group_65435] +[group_65436] +[group_65437] +[group_65438] +[group_65439] +[group_65440] +[group_65441] +[group_65442] +[group_65443] +[group_65444] +[group_65445] +[group_65446] +[group_65447] +[group_65448] +[group_65449] +[group_65450] +[group_65451] +[group_65452] +[group_65453] +[group_65454] +[group_65455] +[group_65456] +[group_65457] +[group_65458] +[group_65459] +[group_65460] +[group_65461] +[group_65462] +[group_65463] +[group_65464] +[group_65465] +[group_65466] +[group_65467] +[group_65468] +[group_65469] +[group_65470] +[group_65471] +[group_65472] +[group_65473] +[group_65474] +[group_65475] +[group_65476] +[group_65477] +[group_65478] +[group_65479] +[group_65480] +[group_65481] +[group_65482] +[group_65483] +[group_65484] +[group_65485] +[group_65486] +[group_65487] +[group_65488] +[group_65489] +[group_65490] +[group_65491] +[group_65492] +[group_65493] +[group_65494] +[group_65495] +[group_65496] +[group_65497] +[group_65498] +[group_65499] +[group_65500] +[group_65501] +[group_65502] +[group_65503] +[group_65504] +[group_65505] +[group_65506] +[group_65507] +[group_65508] +[group_65509] +[group_65510] +[group_65511] +[group_65512] +[group_65513] +[group_65514] +[group_65515] +[group_65516] +[group_65517] +[group_65518] +[group_65519] +[group_65520] +[group_65521] +[group_65522] +[group_65523] +[group_65524] +[group_65525] +[group_65526] +[group_65527] +[group_65528] +[group_65529] +[group_65530] +[group_65531] +[group_65532] +[group_65533] +[group_65534] +[group_65535] +[group_65536] +[group_65537] +[group_65538] +[group_65539] +[group_65540] +[group_65541] +[group_65542] +[group_65543] +[group_65544] +[group_65545] +[group_65546] +[group_65547] +[group_65548] +[group_65549] +[group_65550] +[group_65551] +[group_65552] +[group_65553] +[group_65554] +[group_65555] +[group_65556] +[group_65557] +[group_65558] +[group_65559] +[group_65560] +[group_65561] +[group_65562] +[group_65563] +[group_65564] +[group_65565] +[group_65566] +[group_65567] +[group_65568] +[group_65569] +[group_65570] +[group_65571] +[group_65572] +[group_65573] +[group_65574] +[group_65575] +[group_65576] +[group_65577] +[group_65578] +[group_65579] +[group_65580] +[group_65581] +[group_65582] +[group_65583] +[group_65584] +[group_65585] +[group_65586] +[group_65587] +[group_65588] +[group_65589] +[group_65590] +[group_65591] +[group_65592] +[group_65593] +[group_65594] +[group_65595] +[group_65596] +[group_65597] +[group_65598] +[group_65599] +[group_65600] +[group_65601] +[group_65602] +[group_65603] +[group_65604] +[group_65605] +[group_65606] +[group_65607] +[group_65608] +[group_65609] +[group_65610] +[group_65611] +[group_65612] +[group_65613] +[group_65614] +[group_65615] +[group_65616] +[group_65617] +[group_65618] +[group_65619] +[group_65620] +[group_65621] +[group_65622] +[group_65623] +[group_65624] +[group_65625] +[group_65626] +[group_65627] +[group_65628] +[group_65629] +[group_65630] +[group_65631] +[group_65632] +[group_65633] +[group_65634] +[group_65635] +[group_65636] +[group_65637] +[group_65638] +[group_65639] +[group_65640] +[group_65641] +[group_65642] +[group_65643] +[group_65644] +[group_65645] +[group_65646] +[group_65647] +[group_65648] +[group_65649] +[group_65650] +[group_65651] +[group_65652] +[group_65653] +[group_65654] +[group_65655] +[group_65656] +[group_65657] +[group_65658] +[group_65659] +[group_65660] +[group_65661] +[group_65662] +[group_65663] +[group_65664] +[group_65665] +[group_65666] +[group_65667] +[group_65668] +[group_65669] +[group_65670] +[group_65671] +[group_65672] +[group_65673] +[group_65674] +[group_65675] +[group_65676] +[group_65677] +[group_65678] +[group_65679] +[group_65680] +[group_65681] +[group_65682] +[group_65683] +[group_65684] +[group_65685] +[group_65686] +[group_65687] +[group_65688] +[group_65689] +[group_65690] +[group_65691] +[group_65692] +[group_65693] +[group_65694] +[group_65695] +[group_65696] +[group_65697] +[group_65698] +[group_65699] +[group_65700] +[group_65701] +[group_65702] +[group_65703] +[group_65704] +[group_65705] +[group_65706] +[group_65707] +[group_65708] +[group_65709] +[group_65710] +[group_65711] +[group_65712] +[group_65713] +[group_65714] +[group_65715] +[group_65716] +[group_65717] +[group_65718] +[group_65719] +[group_65720] +[group_65721] +[group_65722] +[group_65723] +[group_65724] +[group_65725] +[group_65726] +[group_65727] +[group_65728] +[group_65729] +[group_65730] +[group_65731] +[group_65732] +[group_65733] +[group_65734] +[group_65735] +[group_65736] +[group_65737] +[group_65738] +[group_65739] +[group_65740] +[group_65741] +[group_65742] +[group_65743] +[group_65744] +[group_65745] +[group_65746] +[group_65747] +[group_65748] +[group_65749] +[group_65750] +[group_65751] +[group_65752] +[group_65753] +[group_65754] +[group_65755] +[group_65756] +[group_65757] +[group_65758] +[group_65759] +[group_65760] +[group_65761] +[group_65762] +[group_65763] +[group_65764] +[group_65765] +[group_65766] +[group_65767] +[group_65768] +[group_65769] +[group_65770] +[group_65771] +[group_65772] +[group_65773] +[group_65774] +[group_65775] +[group_65776] +[group_65777] +[group_65778] +[group_65779] +[group_65780] +[group_65781] +[group_65782] +[group_65783] +[group_65784] +[group_65785] +[group_65786] +[group_65787] +[group_65788] +[group_65789] +[group_65790] +[group_65791] +[group_65792] +[group_65793] +[group_65794] +[group_65795] +[group_65796] +[group_65797] +[group_65798] +[group_65799] +[group_65800] +[group_65801] +[group_65802] +[group_65803] +[group_65804] +[group_65805] +[group_65806] +[group_65807] +[group_65808] +[group_65809] +[group_65810] +[group_65811] +[group_65812] +[group_65813] +[group_65814] +[group_65815] +[group_65816] +[group_65817] +[group_65818] +[group_65819] +[group_65820] +[group_65821] +[group_65822] +[group_65823] +[group_65824] +[group_65825] +[group_65826] +[group_65827] +[group_65828] +[group_65829] +[group_65830] +[group_65831] +[group_65832] +[group_65833] +[group_65834] +[group_65835] +[group_65836] +[group_65837] +[group_65838] +[group_65839] +[group_65840] +[group_65841] +[group_65842] +[group_65843] +[group_65844] +[group_65845] +[group_65846] +[group_65847] +[group_65848] +[group_65849] +[group_65850] +[group_65851] +[group_65852] +[group_65853] +[group_65854] +[group_65855] +[group_65856] +[group_65857] +[group_65858] +[group_65859] +[group_65860] +[group_65861] +[group_65862] +[group_65863] +[group_65864] +[group_65865] +[group_65866] +[group_65867] +[group_65868] +[group_65869] +[group_65870] +[group_65871] +[group_65872] +[group_65873] +[group_65874] +[group_65875] +[group_65876] +[group_65877] +[group_65878] +[group_65879] +[group_65880] +[group_65881] +[group_65882] +[group_65883] +[group_65884] +[group_65885] +[group_65886] +[group_65887] +[group_65888] +[group_65889] +[group_65890] +[group_65891] +[group_65892] +[group_65893] +[group_65894] +[group_65895] +[group_65896] +[group_65897] +[group_65898] +[group_65899] +[group_65900] +[group_65901] +[group_65902] +[group_65903] +[group_65904] +[group_65905] +[group_65906] +[group_65907] +[group_65908] +[group_65909] +[group_65910] +[group_65911] +[group_65912] +[group_65913] +[group_65914] +[group_65915] +[group_65916] +[group_65917] +[group_65918] +[group_65919] +[group_65920] +[group_65921] +[group_65922] +[group_65923] +[group_65924] +[group_65925] +[group_65926] +[group_65927] +[group_65928] +[group_65929] +[group_65930] +[group_65931] +[group_65932] +[group_65933] +[group_65934] +[group_65935] +[group_65936] +[group_65937] +[group_65938] +[group_65939] +[group_65940] +[group_65941] +[group_65942] +[group_65943] +[group_65944] +[group_65945] +[group_65946] +[group_65947] +[group_65948] +[group_65949] +[group_65950] +[group_65951] +[group_65952] +[group_65953] +[group_65954] +[group_65955] +[group_65956] +[group_65957] +[group_65958] +[group_65959] +[group_65960] +[group_65961] +[group_65962] +[group_65963] +[group_65964] +[group_65965] +[group_65966] +[group_65967] +[group_65968] +[group_65969] +[group_65970] +[group_65971] +[group_65972] +[group_65973] +[group_65974] +[group_65975] +[group_65976] +[group_65977] +[group_65978] +[group_65979] +[group_65980] +[group_65981] +[group_65982] +[group_65983] +[group_65984] +[group_65985] +[group_65986] +[group_65987] +[group_65988] +[group_65989] +[group_65990] +[group_65991] +[group_65992] +[group_65993] +[group_65994] +[group_65995] +[group_65996] +[group_65997] +[group_65998] +[group_65999] +[group_66000] +[group_66001] +[group_66002] +[group_66003] +[group_66004] +[group_66005] +[group_66006] +[group_66007] +[group_66008] +[group_66009] +[group_66010] +[group_66011] +[group_66012] +[group_66013] +[group_66014] +[group_66015] +[group_66016] +[group_66017] +[group_66018] +[group_66019] +[group_66020] +[group_66021] +[group_66022] +[group_66023] +[group_66024] +[group_66025] +[group_66026] +[group_66027] +[group_66028] +[group_66029] +[group_66030] +[group_66031] +[group_66032] +[group_66033] +[group_66034] +[group_66035] +[group_66036] +[group_66037] +[group_66038] +[group_66039] +[group_66040] +[group_66041] +[group_66042] +[group_66043] +[group_66044] +[group_66045] +[group_66046] +[group_66047] +[group_66048] +[group_66049] +[group_66050] +[group_66051] +[group_66052] +[group_66053] +[group_66054] +[group_66055] +[group_66056] +[group_66057] +[group_66058] +[group_66059] +[group_66060] +[group_66061] +[group_66062] +[group_66063] +[group_66064] +[group_66065] +[group_66066] +[group_66067] +[group_66068] +[group_66069] +[group_66070] +[group_66071] +[group_66072] +[group_66073] +[group_66074] +[group_66075] +[group_66076] +[group_66077] +[group_66078] +[group_66079] +[group_66080] +[group_66081] +[group_66082] +[group_66083] +[group_66084] +[group_66085] +[group_66086] +[group_66087] +[group_66088] +[group_66089] +[group_66090] +[group_66091] +[group_66092] +[group_66093] +[group_66094] +[group_66095] +[group_66096] +[group_66097] +[group_66098] +[group_66099] +[group_66100] +[group_66101] +[group_66102] +[group_66103] +[group_66104] +[group_66105] +[group_66106] +[group_66107] +[group_66108] +[group_66109] +[group_66110] +[group_66111] +[group_66112] +[group_66113] +[group_66114] +[group_66115] +[group_66116] +[group_66117] +[group_66118] +[group_66119] +[group_66120] +[group_66121] +[group_66122] +[group_66123] +[group_66124] +[group_66125] +[group_66126] +[group_66127] +[group_66128] +[group_66129] +[group_66130] +[group_66131] +[group_66132] +[group_66133] +[group_66134] +[group_66135] +[group_66136] +[group_66137] +[group_66138] +[group_66139] +[group_66140] +[group_66141] +[group_66142] +[group_66143] +[group_66144] +[group_66145] +[group_66146] +[group_66147] +[group_66148] +[group_66149] +[group_66150] +[group_66151] +[group_66152] +[group_66153] +[group_66154] +[group_66155] +[group_66156] +[group_66157] +[group_66158] +[group_66159] +[group_66160] +[group_66161] +[group_66162] +[group_66163] +[group_66164] +[group_66165] +[group_66166] +[group_66167] +[group_66168] +[group_66169] +[group_66170] +[group_66171] +[group_66172] +[group_66173] +[group_66174] +[group_66175] +[group_66176] +[group_66177] +[group_66178] +[group_66179] +[group_66180] +[group_66181] +[group_66182] +[group_66183] +[group_66184] +[group_66185] +[group_66186] +[group_66187] +[group_66188] +[group_66189] +[group_66190] +[group_66191] +[group_66192] +[group_66193] +[group_66194] +[group_66195] +[group_66196] +[group_66197] +[group_66198] +[group_66199] +[group_66200] +[group_66201] +[group_66202] +[group_66203] +[group_66204] +[group_66205] +[group_66206] +[group_66207] +[group_66208] +[group_66209] +[group_66210] +[group_66211] +[group_66212] +[group_66213] +[group_66214] +[group_66215] +[group_66216] +[group_66217] +[group_66218] +[group_66219] +[group_66220] +[group_66221] +[group_66222] +[group_66223] +[group_66224] +[group_66225] +[group_66226] +[group_66227] +[group_66228] +[group_66229] +[group_66230] +[group_66231] +[group_66232] +[group_66233] +[group_66234] +[group_66235] +[group_66236] +[group_66237] +[group_66238] +[group_66239] +[group_66240] +[group_66241] +[group_66242] +[group_66243] +[group_66244] +[group_66245] +[group_66246] +[group_66247] +[group_66248] +[group_66249] +[group_66250] +[group_66251] +[group_66252] +[group_66253] +[group_66254] +[group_66255] +[group_66256] +[group_66257] +[group_66258] +[group_66259] +[group_66260] +[group_66261] +[group_66262] +[group_66263] +[group_66264] +[group_66265] +[group_66266] +[group_66267] +[group_66268] +[group_66269] +[group_66270] +[group_66271] +[group_66272] +[group_66273] +[group_66274] +[group_66275] +[group_66276] +[group_66277] +[group_66278] +[group_66279] +[group_66280] +[group_66281] +[group_66282] +[group_66283] +[group_66284] +[group_66285] +[group_66286] +[group_66287] +[group_66288] +[group_66289] +[group_66290] +[group_66291] +[group_66292] +[group_66293] +[group_66294] +[group_66295] +[group_66296] +[group_66297] +[group_66298] +[group_66299] +[group_66300] +[group_66301] +[group_66302] +[group_66303] +[group_66304] +[group_66305] +[group_66306] +[group_66307] +[group_66308] +[group_66309] +[group_66310] +[group_66311] +[group_66312] +[group_66313] +[group_66314] +[group_66315] +[group_66316] +[group_66317] +[group_66318] +[group_66319] +[group_66320] +[group_66321] +[group_66322] +[group_66323] +[group_66324] +[group_66325] +[group_66326] +[group_66327] +[group_66328] +[group_66329] +[group_66330] +[group_66331] +[group_66332] +[group_66333] +[group_66334] +[group_66335] +[group_66336] +[group_66337] +[group_66338] +[group_66339] +[group_66340] +[group_66341] +[group_66342] +[group_66343] +[group_66344] +[group_66345] +[group_66346] +[group_66347] +[group_66348] +[group_66349] +[group_66350] +[group_66351] +[group_66352] +[group_66353] +[group_66354] +[group_66355] +[group_66356] +[group_66357] +[group_66358] +[group_66359] +[group_66360] +[group_66361] +[group_66362] +[group_66363] +[group_66364] +[group_66365] +[group_66366] +[group_66367] +[group_66368] +[group_66369] +[group_66370] +[group_66371] +[group_66372] +[group_66373] +[group_66374] +[group_66375] +[group_66376] +[group_66377] +[group_66378] +[group_66379] +[group_66380] +[group_66381] +[group_66382] +[group_66383] +[group_66384] +[group_66385] +[group_66386] +[group_66387] +[group_66388] +[group_66389] +[group_66390] +[group_66391] +[group_66392] +[group_66393] +[group_66394] +[group_66395] +[group_66396] +[group_66397] +[group_66398] +[group_66399] +[group_66400] +[group_66401] +[group_66402] +[group_66403] +[group_66404] +[group_66405] +[group_66406] +[group_66407] +[group_66408] +[group_66409] +[group_66410] +[group_66411] +[group_66412] +[group_66413] +[group_66414] +[group_66415] +[group_66416] +[group_66417] +[group_66418] +[group_66419] +[group_66420] +[group_66421] +[group_66422] +[group_66423] +[group_66424] +[group_66425] +[group_66426] +[group_66427] +[group_66428] +[group_66429] +[group_66430] +[group_66431] +[group_66432] +[group_66433] +[group_66434] +[group_66435] +[group_66436] +[group_66437] +[group_66438] +[group_66439] +[group_66440] +[group_66441] +[group_66442] +[group_66443] +[group_66444] +[group_66445] +[group_66446] +[group_66447] +[group_66448] +[group_66449] +[group_66450] +[group_66451] +[group_66452] +[group_66453] +[group_66454] +[group_66455] +[group_66456] +[group_66457] +[group_66458] +[group_66459] +[group_66460] +[group_66461] +[group_66462] +[group_66463] +[group_66464] +[group_66465] +[group_66466] +[group_66467] +[group_66468] +[group_66469] +[group_66470] +[group_66471] +[group_66472] +[group_66473] +[group_66474] +[group_66475] +[group_66476] +[group_66477] +[group_66478] +[group_66479] +[group_66480] +[group_66481] +[group_66482] +[group_66483] +[group_66484] +[group_66485] +[group_66486] +[group_66487] +[group_66488] +[group_66489] +[group_66490] +[group_66491] +[group_66492] +[group_66493] +[group_66494] +[group_66495] +[group_66496] +[group_66497] +[group_66498] +[group_66499] +[group_66500] +[group_66501] +[group_66502] +[group_66503] +[group_66504] +[group_66505] +[group_66506] +[group_66507] +[group_66508] +[group_66509] +[group_66510] +[group_66511] +[group_66512] +[group_66513] +[group_66514] +[group_66515] +[group_66516] +[group_66517] +[group_66518] +[group_66519] +[group_66520] +[group_66521] +[group_66522] +[group_66523] +[group_66524] +[group_66525] +[group_66526] +[group_66527] +[group_66528] +[group_66529] +[group_66530] +[group_66531] +[group_66532] +[group_66533] +[group_66534] +[group_66535] +[group_66536] +[group_66537] +[group_66538] +[group_66539] +[group_66540] +[group_66541] +[group_66542] +[group_66543] +[group_66544] +[group_66545] +[group_66546] +[group_66547] +[group_66548] +[group_66549] +[group_66550] +[group_66551] +[group_66552] +[group_66553] +[group_66554] +[group_66555] +[group_66556] +[group_66557] +[group_66558] +[group_66559] +[group_66560] +[group_66561] +[group_66562] +[group_66563] +[group_66564] +[group_66565] +[group_66566] +[group_66567] +[group_66568] +[group_66569] +[group_66570] +[group_66571] +[group_66572] +[group_66573] +[group_66574] +[group_66575] +[group_66576] +[group_66577] +[group_66578] +[group_66579] +[group_66580] +[group_66581] +[group_66582] +[group_66583] +[group_66584] +[group_66585] +[group_66586] +[group_66587] +[group_66588] +[group_66589] +[group_66590] +[group_66591] +[group_66592] +[group_66593] +[group_66594] +[group_66595] +[group_66596] +[group_66597] +[group_66598] +[group_66599] +[group_66600] +[group_66601] +[group_66602] +[group_66603] +[group_66604] +[group_66605] +[group_66606] +[group_66607] +[group_66608] +[group_66609] +[group_66610] +[group_66611] +[group_66612] +[group_66613] +[group_66614] +[group_66615] +[group_66616] +[group_66617] +[group_66618] +[group_66619] +[group_66620] +[group_66621] +[group_66622] +[group_66623] +[group_66624] +[group_66625] +[group_66626] +[group_66627] +[group_66628] +[group_66629] +[group_66630] +[group_66631] +[group_66632] +[group_66633] +[group_66634] +[group_66635] +[group_66636] +[group_66637] +[group_66638] +[group_66639] +[group_66640] +[group_66641] +[group_66642] +[group_66643] +[group_66644] +[group_66645] +[group_66646] +[group_66647] +[group_66648] +[group_66649] +[group_66650] +[group_66651] +[group_66652] +[group_66653] +[group_66654] +[group_66655] +[group_66656] +[group_66657] +[group_66658] +[group_66659] +[group_66660] +[group_66661] +[group_66662] +[group_66663] +[group_66664] +[group_66665] +[group_66666] +[group_66667] +[group_66668] +[group_66669] +[group_66670] +[group_66671] +[group_66672] +[group_66673] +[group_66674] +[group_66675] +[group_66676] +[group_66677] +[group_66678] +[group_66679] +[group_66680] +[group_66681] +[group_66682] +[group_66683] +[group_66684] +[group_66685] +[group_66686] +[group_66687] +[group_66688] +[group_66689] +[group_66690] +[group_66691] +[group_66692] +[group_66693] +[group_66694] +[group_66695] +[group_66696] +[group_66697] +[group_66698] +[group_66699] +[group_66700] +[group_66701] +[group_66702] +[group_66703] +[group_66704] +[group_66705] +[group_66706] +[group_66707] +[group_66708] +[group_66709] +[group_66710] +[group_66711] +[group_66712] +[group_66713] +[group_66714] +[group_66715] +[group_66716] +[group_66717] +[group_66718] +[group_66719] +[group_66720] +[group_66721] +[group_66722] +[group_66723] +[group_66724] +[group_66725] +[group_66726] +[group_66727] +[group_66728] +[group_66729] +[group_66730] +[group_66731] +[group_66732] +[group_66733] +[group_66734] +[group_66735] +[group_66736] +[group_66737] +[group_66738] +[group_66739] +[group_66740] +[group_66741] +[group_66742] +[group_66743] +[group_66744] +[group_66745] +[group_66746] +[group_66747] +[group_66748] +[group_66749] +[group_66750] +[group_66751] +[group_66752] +[group_66753] +[group_66754] +[group_66755] +[group_66756] +[group_66757] +[group_66758] +[group_66759] +[group_66760] +[group_66761] +[group_66762] +[group_66763] +[group_66764] +[group_66765] +[group_66766] +[group_66767] +[group_66768] +[group_66769] +[group_66770] +[group_66771] +[group_66772] +[group_66773] +[group_66774] +[group_66775] +[group_66776] +[group_66777] +[group_66778] +[group_66779] +[group_66780] +[group_66781] +[group_66782] +[group_66783] +[group_66784] +[group_66785] +[group_66786] +[group_66787] +[group_66788] +[group_66789] +[group_66790] +[group_66791] +[group_66792] +[group_66793] +[group_66794] +[group_66795] +[group_66796] +[group_66797] +[group_66798] +[group_66799] +[group_66800] +[group_66801] +[group_66802] +[group_66803] +[group_66804] +[group_66805] +[group_66806] +[group_66807] +[group_66808] +[group_66809] +[group_66810] +[group_66811] +[group_66812] +[group_66813] +[group_66814] +[group_66815] +[group_66816] +[group_66817] +[group_66818] +[group_66819] +[group_66820] +[group_66821] +[group_66822] +[group_66823] +[group_66824] +[group_66825] +[group_66826] +[group_66827] +[group_66828] +[group_66829] +[group_66830] +[group_66831] +[group_66832] +[group_66833] +[group_66834] +[group_66835] +[group_66836] +[group_66837] +[group_66838] +[group_66839] +[group_66840] +[group_66841] +[group_66842] +[group_66843] +[group_66844] +[group_66845] +[group_66846] +[group_66847] +[group_66848] +[group_66849] +[group_66850] +[group_66851] +[group_66852] +[group_66853] +[group_66854] +[group_66855] +[group_66856] +[group_66857] +[group_66858] +[group_66859] +[group_66860] +[group_66861] +[group_66862] +[group_66863] +[group_66864] +[group_66865] +[group_66866] +[group_66867] +[group_66868] +[group_66869] +[group_66870] +[group_66871] +[group_66872] +[group_66873] +[group_66874] +[group_66875] +[group_66876] +[group_66877] +[group_66878] +[group_66879] +[group_66880] +[group_66881] +[group_66882] +[group_66883] +[group_66884] +[group_66885] +[group_66886] +[group_66887] +[group_66888] +[group_66889] +[group_66890] +[group_66891] +[group_66892] +[group_66893] +[group_66894] +[group_66895] +[group_66896] +[group_66897] +[group_66898] +[group_66899] +[group_66900] +[group_66901] +[group_66902] +[group_66903] +[group_66904] +[group_66905] +[group_66906] +[group_66907] +[group_66908] +[group_66909] +[group_66910] +[group_66911] +[group_66912] +[group_66913] +[group_66914] +[group_66915] +[group_66916] +[group_66917] +[group_66918] +[group_66919] +[group_66920] +[group_66921] +[group_66922] +[group_66923] +[group_66924] +[group_66925] +[group_66926] +[group_66927] +[group_66928] +[group_66929] +[group_66930] +[group_66931] +[group_66932] +[group_66933] +[group_66934] +[group_66935] +[group_66936] +[group_66937] +[group_66938] +[group_66939] +[group_66940] +[group_66941] +[group_66942] +[group_66943] +[group_66944] +[group_66945] +[group_66946] +[group_66947] +[group_66948] +[group_66949] +[group_66950] +[group_66951] +[group_66952] +[group_66953] +[group_66954] +[group_66955] +[group_66956] +[group_66957] +[group_66958] +[group_66959] +[group_66960] +[group_66961] +[group_66962] +[group_66963] +[group_66964] +[group_66965] +[group_66966] +[group_66967] +[group_66968] +[group_66969] +[group_66970] +[group_66971] +[group_66972] +[group_66973] +[group_66974] +[group_66975] +[group_66976] +[group_66977] +[group_66978] +[group_66979] +[group_66980] +[group_66981] +[group_66982] +[group_66983] +[group_66984] +[group_66985] +[group_66986] +[group_66987] +[group_66988] +[group_66989] +[group_66990] +[group_66991] +[group_66992] +[group_66993] +[group_66994] +[group_66995] +[group_66996] +[group_66997] +[group_66998] +[group_66999] +[group_67000] +[group_67001] +[group_67002] +[group_67003] +[group_67004] +[group_67005] +[group_67006] +[group_67007] +[group_67008] +[group_67009] +[group_67010] +[group_67011] +[group_67012] +[group_67013] +[group_67014] +[group_67015] +[group_67016] +[group_67017] +[group_67018] +[group_67019] +[group_67020] +[group_67021] +[group_67022] +[group_67023] +[group_67024] +[group_67025] +[group_67026] +[group_67027] +[group_67028] +[group_67029] +[group_67030] +[group_67031] +[group_67032] +[group_67033] +[group_67034] +[group_67035] +[group_67036] +[group_67037] +[group_67038] +[group_67039] +[group_67040] +[group_67041] +[group_67042] +[group_67043] +[group_67044] +[group_67045] +[group_67046] +[group_67047] +[group_67048] +[group_67049] +[group_67050] +[group_67051] +[group_67052] +[group_67053] +[group_67054] +[group_67055] +[group_67056] +[group_67057] +[group_67058] +[group_67059] +[group_67060] +[group_67061] +[group_67062] +[group_67063] +[group_67064] +[group_67065] +[group_67066] +[group_67067] +[group_67068] +[group_67069] +[group_67070] +[group_67071] +[group_67072] +[group_67073] +[group_67074] +[group_67075] +[group_67076] +[group_67077] +[group_67078] +[group_67079] +[group_67080] +[group_67081] +[group_67082] +[group_67083] +[group_67084] +[group_67085] +[group_67086] +[group_67087] +[group_67088] +[group_67089] +[group_67090] +[group_67091] +[group_67092] +[group_67093] +[group_67094] +[group_67095] +[group_67096] +[group_67097] +[group_67098] +[group_67099] +[group_67100] +[group_67101] +[group_67102] +[group_67103] +[group_67104] +[group_67105] +[group_67106] +[group_67107] +[group_67108] +[group_67109] +[group_67110] +[group_67111] +[group_67112] +[group_67113] +[group_67114] +[group_67115] +[group_67116] +[group_67117] +[group_67118] +[group_67119] +[group_67120] +[group_67121] +[group_67122] +[group_67123] +[group_67124] +[group_67125] +[group_67126] +[group_67127] +[group_67128] +[group_67129] +[group_67130] +[group_67131] +[group_67132] +[group_67133] +[group_67134] +[group_67135] +[group_67136] +[group_67137] +[group_67138] +[group_67139] +[group_67140] +[group_67141] +[group_67142] +[group_67143] +[group_67144] +[group_67145] +[group_67146] +[group_67147] +[group_67148] +[group_67149] +[group_67150] +[group_67151] +[group_67152] +[group_67153] +[group_67154] +[group_67155] +[group_67156] +[group_67157] +[group_67158] +[group_67159] +[group_67160] +[group_67161] +[group_67162] +[group_67163] +[group_67164] +[group_67165] +[group_67166] +[group_67167] +[group_67168] +[group_67169] +[group_67170] +[group_67171] +[group_67172] +[group_67173] +[group_67174] +[group_67175] +[group_67176] +[group_67177] +[group_67178] +[group_67179] +[group_67180] +[group_67181] +[group_67182] +[group_67183] +[group_67184] +[group_67185] +[group_67186] +[group_67187] +[group_67188] +[group_67189] +[group_67190] +[group_67191] +[group_67192] +[group_67193] +[group_67194] +[group_67195] +[group_67196] +[group_67197] +[group_67198] +[group_67199] +[group_67200] +[group_67201] +[group_67202] +[group_67203] +[group_67204] +[group_67205] +[group_67206] +[group_67207] +[group_67208] +[group_67209] +[group_67210] +[group_67211] +[group_67212] +[group_67213] +[group_67214] +[group_67215] +[group_67216] +[group_67217] +[group_67218] +[group_67219] +[group_67220] +[group_67221] +[group_67222] +[group_67223] +[group_67224] +[group_67225] +[group_67226] +[group_67227] +[group_67228] +[group_67229] +[group_67230] +[group_67231] +[group_67232] +[group_67233] +[group_67234] +[group_67235] +[group_67236] +[group_67237] +[group_67238] +[group_67239] +[group_67240] +[group_67241] +[group_67242] +[group_67243] +[group_67244] +[group_67245] +[group_67246] +[group_67247] +[group_67248] +[group_67249] +[group_67250] +[group_67251] +[group_67252] +[group_67253] +[group_67254] +[group_67255] +[group_67256] +[group_67257] +[group_67258] +[group_67259] +[group_67260] +[group_67261] +[group_67262] +[group_67263] +[group_67264] +[group_67265] +[group_67266] +[group_67267] +[group_67268] +[group_67269] +[group_67270] +[group_67271] +[group_67272] +[group_67273] +[group_67274] +[group_67275] +[group_67276] +[group_67277] +[group_67278] +[group_67279] +[group_67280] +[group_67281] +[group_67282] +[group_67283] +[group_67284] +[group_67285] +[group_67286] +[group_67287] +[group_67288] +[group_67289] +[group_67290] +[group_67291] +[group_67292] +[group_67293] +[group_67294] +[group_67295] +[group_67296] +[group_67297] +[group_67298] +[group_67299] +[group_67300] +[group_67301] +[group_67302] +[group_67303] +[group_67304] +[group_67305] +[group_67306] +[group_67307] +[group_67308] +[group_67309] +[group_67310] +[group_67311] +[group_67312] +[group_67313] +[group_67314] +[group_67315] +[group_67316] +[group_67317] +[group_67318] +[group_67319] +[group_67320] +[group_67321] +[group_67322] +[group_67323] +[group_67324] +[group_67325] +[group_67326] +[group_67327] +[group_67328] +[group_67329] +[group_67330] +[group_67331] +[group_67332] +[group_67333] +[group_67334] +[group_67335] +[group_67336] +[group_67337] +[group_67338] +[group_67339] +[group_67340] +[group_67341] +[group_67342] +[group_67343] +[group_67344] +[group_67345] +[group_67346] +[group_67347] +[group_67348] +[group_67349] +[group_67350] +[group_67351] +[group_67352] +[group_67353] +[group_67354] +[group_67355] +[group_67356] +[group_67357] +[group_67358] +[group_67359] +[group_67360] +[group_67361] +[group_67362] +[group_67363] +[group_67364] +[group_67365] +[group_67366] +[group_67367] +[group_67368] +[group_67369] +[group_67370] +[group_67371] +[group_67372] +[group_67373] +[group_67374] +[group_67375] +[group_67376] +[group_67377] +[group_67378] +[group_67379] +[group_67380] +[group_67381] +[group_67382] +[group_67383] +[group_67384] +[group_67385] +[group_67386] +[group_67387] +[group_67388] +[group_67389] +[group_67390] +[group_67391] +[group_67392] +[group_67393] +[group_67394] +[group_67395] +[group_67396] +[group_67397] +[group_67398] +[group_67399] +[group_67400] +[group_67401] +[group_67402] +[group_67403] +[group_67404] +[group_67405] +[group_67406] +[group_67407] +[group_67408] +[group_67409] +[group_67410] +[group_67411] +[group_67412] +[group_67413] +[group_67414] +[group_67415] +[group_67416] +[group_67417] +[group_67418] +[group_67419] +[group_67420] +[group_67421] +[group_67422] +[group_67423] +[group_67424] +[group_67425] +[group_67426] +[group_67427] +[group_67428] +[group_67429] +[group_67430] +[group_67431] +[group_67432] +[group_67433] +[group_67434] +[group_67435] +[group_67436] +[group_67437] +[group_67438] +[group_67439] +[group_67440] +[group_67441] +[group_67442] +[group_67443] +[group_67444] +[group_67445] +[group_67446] +[group_67447] +[group_67448] +[group_67449] +[group_67450] +[group_67451] +[group_67452] +[group_67453] +[group_67454] +[group_67455] +[group_67456] +[group_67457] +[group_67458] +[group_67459] +[group_67460] +[group_67461] +[group_67462] +[group_67463] +[group_67464] +[group_67465] +[group_67466] +[group_67467] +[group_67468] +[group_67469] +[group_67470] +[group_67471] +[group_67472] +[group_67473] +[group_67474] +[group_67475] +[group_67476] +[group_67477] +[group_67478] +[group_67479] +[group_67480] +[group_67481] +[group_67482] +[group_67483] +[group_67484] +[group_67485] +[group_67486] +[group_67487] +[group_67488] +[group_67489] +[group_67490] +[group_67491] +[group_67492] +[group_67493] +[group_67494] +[group_67495] +[group_67496] +[group_67497] +[group_67498] +[group_67499] +[group_67500] +[group_67501] +[group_67502] +[group_67503] +[group_67504] +[group_67505] +[group_67506] +[group_67507] +[group_67508] +[group_67509] +[group_67510] +[group_67511] +[group_67512] +[group_67513] +[group_67514] +[group_67515] +[group_67516] +[group_67517] +[group_67518] +[group_67519] +[group_67520] +[group_67521] +[group_67522] +[group_67523] +[group_67524] +[group_67525] +[group_67526] +[group_67527] +[group_67528] +[group_67529] +[group_67530] +[group_67531] +[group_67532] +[group_67533] +[group_67534] +[group_67535] +[group_67536] +[group_67537] +[group_67538] +[group_67539] +[group_67540] +[group_67541] +[group_67542] +[group_67543] +[group_67544] +[group_67545] +[group_67546] +[group_67547] +[group_67548] +[group_67549] +[group_67550] +[group_67551] +[group_67552] +[group_67553] +[group_67554] +[group_67555] +[group_67556] +[group_67557] +[group_67558] +[group_67559] +[group_67560] +[group_67561] +[group_67562] +[group_67563] +[group_67564] +[group_67565] +[group_67566] +[group_67567] +[group_67568] +[group_67569] +[group_67570] +[group_67571] +[group_67572] +[group_67573] +[group_67574] +[group_67575] +[group_67576] +[group_67577] +[group_67578] +[group_67579] +[group_67580] +[group_67581] +[group_67582] +[group_67583] +[group_67584] +[group_67585] +[group_67586] +[group_67587] +[group_67588] +[group_67589] +[group_67590] +[group_67591] +[group_67592] +[group_67593] +[group_67594] +[group_67595] +[group_67596] +[group_67597] +[group_67598] +[group_67599] +[group_67600] +[group_67601] +[group_67602] +[group_67603] +[group_67604] +[group_67605] +[group_67606] +[group_67607] +[group_67608] +[group_67609] +[group_67610] +[group_67611] +[group_67612] +[group_67613] +[group_67614] +[group_67615] +[group_67616] +[group_67617] +[group_67618] +[group_67619] +[group_67620] +[group_67621] +[group_67622] +[group_67623] +[group_67624] +[group_67625] +[group_67626] +[group_67627] +[group_67628] +[group_67629] +[group_67630] +[group_67631] +[group_67632] +[group_67633] +[group_67634] +[group_67635] +[group_67636] +[group_67637] +[group_67638] +[group_67639] +[group_67640] +[group_67641] +[group_67642] +[group_67643] +[group_67644] +[group_67645] +[group_67646] +[group_67647] +[group_67648] +[group_67649] +[group_67650] +[group_67651] +[group_67652] +[group_67653] +[group_67654] +[group_67655] +[group_67656] +[group_67657] +[group_67658] +[group_67659] +[group_67660] +[group_67661] +[group_67662] +[group_67663] +[group_67664] +[group_67665] +[group_67666] +[group_67667] +[group_67668] +[group_67669] +[group_67670] +[group_67671] +[group_67672] +[group_67673] +[group_67674] +[group_67675] +[group_67676] +[group_67677] +[group_67678] +[group_67679] +[group_67680] +[group_67681] +[group_67682] +[group_67683] +[group_67684] +[group_67685] +[group_67686] +[group_67687] +[group_67688] +[group_67689] +[group_67690] +[group_67691] +[group_67692] +[group_67693] +[group_67694] +[group_67695] +[group_67696] +[group_67697] +[group_67698] +[group_67699] +[group_67700] +[group_67701] +[group_67702] +[group_67703] +[group_67704] +[group_67705] +[group_67706] +[group_67707] +[group_67708] +[group_67709] +[group_67710] +[group_67711] +[group_67712] +[group_67713] +[group_67714] +[group_67715] +[group_67716] +[group_67717] +[group_67718] +[group_67719] +[group_67720] +[group_67721] +[group_67722] +[group_67723] +[group_67724] +[group_67725] +[group_67726] +[group_67727] +[group_67728] +[group_67729] +[group_67730] +[group_67731] +[group_67732] +[group_67733] +[group_67734] +[group_67735] +[group_67736] +[group_67737] +[group_67738] +[group_67739] +[group_67740] +[group_67741] +[group_67742] +[group_67743] +[group_67744] +[group_67745] +[group_67746] +[group_67747] +[group_67748] +[group_67749] +[group_67750] +[group_67751] +[group_67752] +[group_67753] +[group_67754] +[group_67755] +[group_67756] +[group_67757] +[group_67758] +[group_67759] +[group_67760] +[group_67761] +[group_67762] +[group_67763] +[group_67764] +[group_67765] +[group_67766] +[group_67767] +[group_67768] +[group_67769] +[group_67770] +[group_67771] +[group_67772] +[group_67773] +[group_67774] +[group_67775] +[group_67776] +[group_67777] +[group_67778] +[group_67779] +[group_67780] +[group_67781] +[group_67782] +[group_67783] +[group_67784] +[group_67785] +[group_67786] +[group_67787] +[group_67788] +[group_67789] +[group_67790] +[group_67791] +[group_67792] +[group_67793] +[group_67794] +[group_67795] +[group_67796] +[group_67797] +[group_67798] +[group_67799] +[group_67800] +[group_67801] +[group_67802] +[group_67803] +[group_67804] +[group_67805] +[group_67806] +[group_67807] +[group_67808] +[group_67809] +[group_67810] +[group_67811] +[group_67812] +[group_67813] +[group_67814] +[group_67815] +[group_67816] +[group_67817] +[group_67818] +[group_67819] +[group_67820] +[group_67821] +[group_67822] +[group_67823] +[group_67824] +[group_67825] +[group_67826] +[group_67827] +[group_67828] +[group_67829] +[group_67830] +[group_67831] +[group_67832] +[group_67833] +[group_67834] +[group_67835] +[group_67836] +[group_67837] +[group_67838] +[group_67839] +[group_67840] +[group_67841] +[group_67842] +[group_67843] +[group_67844] +[group_67845] +[group_67846] +[group_67847] +[group_67848] +[group_67849] +[group_67850] +[group_67851] +[group_67852] +[group_67853] +[group_67854] +[group_67855] +[group_67856] +[group_67857] +[group_67858] +[group_67859] +[group_67860] +[group_67861] +[group_67862] +[group_67863] +[group_67864] +[group_67865] +[group_67866] +[group_67867] +[group_67868] +[group_67869] +[group_67870] +[group_67871] +[group_67872] +[group_67873] +[group_67874] +[group_67875] +[group_67876] +[group_67877] +[group_67878] +[group_67879] +[group_67880] +[group_67881] +[group_67882] +[group_67883] +[group_67884] +[group_67885] +[group_67886] +[group_67887] +[group_67888] +[group_67889] +[group_67890] +[group_67891] +[group_67892] +[group_67893] +[group_67894] +[group_67895] +[group_67896] +[group_67897] +[group_67898] +[group_67899] +[group_67900] +[group_67901] +[group_67902] +[group_67903] +[group_67904] +[group_67905] +[group_67906] +[group_67907] +[group_67908] +[group_67909] +[group_67910] +[group_67911] +[group_67912] +[group_67913] +[group_67914] +[group_67915] +[group_67916] +[group_67917] +[group_67918] +[group_67919] +[group_67920] +[group_67921] +[group_67922] +[group_67923] +[group_67924] +[group_67925] +[group_67926] +[group_67927] +[group_67928] +[group_67929] +[group_67930] +[group_67931] +[group_67932] +[group_67933] +[group_67934] +[group_67935] +[group_67936] +[group_67937] +[group_67938] +[group_67939] +[group_67940] +[group_67941] +[group_67942] +[group_67943] +[group_67944] +[group_67945] +[group_67946] +[group_67947] +[group_67948] +[group_67949] +[group_67950] +[group_67951] +[group_67952] +[group_67953] +[group_67954] +[group_67955] +[group_67956] +[group_67957] +[group_67958] +[group_67959] +[group_67960] +[group_67961] +[group_67962] +[group_67963] +[group_67964] +[group_67965] +[group_67966] +[group_67967] +[group_67968] +[group_67969] +[group_67970] +[group_67971] +[group_67972] +[group_67973] +[group_67974] +[group_67975] +[group_67976] +[group_67977] +[group_67978] +[group_67979] +[group_67980] +[group_67981] +[group_67982] +[group_67983] +[group_67984] +[group_67985] +[group_67986] +[group_67987] +[group_67988] +[group_67989] +[group_67990] +[group_67991] +[group_67992] +[group_67993] +[group_67994] +[group_67995] +[group_67996] +[group_67997] +[group_67998] +[group_67999] +[group_68000] +[group_68001] +[group_68002] +[group_68003] +[group_68004] +[group_68005] +[group_68006] +[group_68007] +[group_68008] +[group_68009] +[group_68010] +[group_68011] +[group_68012] +[group_68013] +[group_68014] +[group_68015] +[group_68016] +[group_68017] +[group_68018] +[group_68019] +[group_68020] +[group_68021] +[group_68022] +[group_68023] +[group_68024] +[group_68025] +[group_68026] +[group_68027] +[group_68028] +[group_68029] +[group_68030] +[group_68031] +[group_68032] +[group_68033] +[group_68034] +[group_68035] +[group_68036] +[group_68037] +[group_68038] +[group_68039] +[group_68040] +[group_68041] +[group_68042] +[group_68043] +[group_68044] +[group_68045] +[group_68046] +[group_68047] +[group_68048] +[group_68049] +[group_68050] +[group_68051] +[group_68052] +[group_68053] +[group_68054] +[group_68055] +[group_68056] +[group_68057] +[group_68058] +[group_68059] +[group_68060] +[group_68061] +[group_68062] +[group_68063] +[group_68064] +[group_68065] +[group_68066] +[group_68067] +[group_68068] +[group_68069] +[group_68070] +[group_68071] +[group_68072] +[group_68073] +[group_68074] +[group_68075] +[group_68076] +[group_68077] +[group_68078] +[group_68079] +[group_68080] +[group_68081] +[group_68082] +[group_68083] +[group_68084] +[group_68085] +[group_68086] +[group_68087] +[group_68088] +[group_68089] +[group_68090] +[group_68091] +[group_68092] +[group_68093] +[group_68094] +[group_68095] +[group_68096] +[group_68097] +[group_68098] +[group_68099] +[group_68100] +[group_68101] +[group_68102] +[group_68103] +[group_68104] +[group_68105] +[group_68106] +[group_68107] +[group_68108] +[group_68109] +[group_68110] +[group_68111] +[group_68112] +[group_68113] +[group_68114] +[group_68115] +[group_68116] +[group_68117] +[group_68118] +[group_68119] +[group_68120] +[group_68121] +[group_68122] +[group_68123] +[group_68124] +[group_68125] +[group_68126] +[group_68127] +[group_68128] +[group_68129] +[group_68130] +[group_68131] +[group_68132] +[group_68133] +[group_68134] +[group_68135] +[group_68136] +[group_68137] +[group_68138] +[group_68139] +[group_68140] +[group_68141] +[group_68142] +[group_68143] +[group_68144] +[group_68145] +[group_68146] +[group_68147] +[group_68148] +[group_68149] +[group_68150] +[group_68151] +[group_68152] +[group_68153] +[group_68154] +[group_68155] +[group_68156] +[group_68157] +[group_68158] +[group_68159] +[group_68160] +[group_68161] +[group_68162] +[group_68163] +[group_68164] +[group_68165] +[group_68166] +[group_68167] +[group_68168] +[group_68169] +[group_68170] +[group_68171] +[group_68172] +[group_68173] +[group_68174] +[group_68175] +[group_68176] +[group_68177] +[group_68178] +[group_68179] +[group_68180] +[group_68181] +[group_68182] +[group_68183] +[group_68184] +[group_68185] +[group_68186] +[group_68187] +[group_68188] +[group_68189] +[group_68190] +[group_68191] +[group_68192] +[group_68193] +[group_68194] +[group_68195] +[group_68196] +[group_68197] +[group_68198] +[group_68199] +[group_68200] +[group_68201] +[group_68202] +[group_68203] +[group_68204] +[group_68205] +[group_68206] +[group_68207] +[group_68208] +[group_68209] +[group_68210] +[group_68211] +[group_68212] +[group_68213] +[group_68214] +[group_68215] +[group_68216] +[group_68217] +[group_68218] +[group_68219] +[group_68220] +[group_68221] +[group_68222] +[group_68223] +[group_68224] +[group_68225] +[group_68226] +[group_68227] +[group_68228] +[group_68229] +[group_68230] +[group_68231] +[group_68232] +[group_68233] +[group_68234] +[group_68235] +[group_68236] +[group_68237] +[group_68238] +[group_68239] +[group_68240] +[group_68241] +[group_68242] +[group_68243] +[group_68244] +[group_68245] +[group_68246] +[group_68247] +[group_68248] +[group_68249] +[group_68250] +[group_68251] +[group_68252] +[group_68253] +[group_68254] +[group_68255] +[group_68256] +[group_68257] +[group_68258] +[group_68259] +[group_68260] +[group_68261] +[group_68262] +[group_68263] +[group_68264] +[group_68265] +[group_68266] +[group_68267] +[group_68268] +[group_68269] +[group_68270] +[group_68271] +[group_68272] +[group_68273] +[group_68274] +[group_68275] +[group_68276] +[group_68277] +[group_68278] +[group_68279] +[group_68280] +[group_68281] +[group_68282] +[group_68283] +[group_68284] +[group_68285] +[group_68286] +[group_68287] +[group_68288] +[group_68289] +[group_68290] +[group_68291] +[group_68292] +[group_68293] +[group_68294] +[group_68295] +[group_68296] +[group_68297] +[group_68298] +[group_68299] +[group_68300] +[group_68301] +[group_68302] +[group_68303] +[group_68304] +[group_68305] +[group_68306] +[group_68307] +[group_68308] +[group_68309] +[group_68310] +[group_68311] +[group_68312] +[group_68313] +[group_68314] +[group_68315] +[group_68316] +[group_68317] +[group_68318] +[group_68319] +[group_68320] +[group_68321] +[group_68322] +[group_68323] +[group_68324] +[group_68325] +[group_68326] +[group_68327] +[group_68328] +[group_68329] +[group_68330] +[group_68331] +[group_68332] +[group_68333] +[group_68334] +[group_68335] +[group_68336] +[group_68337] +[group_68338] +[group_68339] +[group_68340] +[group_68341] +[group_68342] +[group_68343] +[group_68344] +[group_68345] +[group_68346] +[group_68347] +[group_68348] +[group_68349] +[group_68350] +[group_68351] +[group_68352] +[group_68353] +[group_68354] +[group_68355] +[group_68356] +[group_68357] +[group_68358] +[group_68359] +[group_68360] +[group_68361] +[group_68362] +[group_68363] +[group_68364] +[group_68365] +[group_68366] +[group_68367] +[group_68368] +[group_68369] +[group_68370] +[group_68371] +[group_68372] +[group_68373] +[group_68374] +[group_68375] +[group_68376] +[group_68377] +[group_68378] +[group_68379] +[group_68380] +[group_68381] +[group_68382] +[group_68383] +[group_68384] +[group_68385] +[group_68386] +[group_68387] +[group_68388] +[group_68389] +[group_68390] +[group_68391] +[group_68392] +[group_68393] +[group_68394] +[group_68395] +[group_68396] +[group_68397] +[group_68398] +[group_68399] +[group_68400] +[group_68401] +[group_68402] +[group_68403] +[group_68404] +[group_68405] +[group_68406] +[group_68407] +[group_68408] +[group_68409] +[group_68410] +[group_68411] +[group_68412] +[group_68413] +[group_68414] +[group_68415] +[group_68416] +[group_68417] +[group_68418] +[group_68419] +[group_68420] +[group_68421] +[group_68422] +[group_68423] +[group_68424] +[group_68425] +[group_68426] +[group_68427] +[group_68428] +[group_68429] +[group_68430] +[group_68431] +[group_68432] +[group_68433] +[group_68434] +[group_68435] +[group_68436] +[group_68437] +[group_68438] +[group_68439] +[group_68440] +[group_68441] +[group_68442] +[group_68443] +[group_68444] +[group_68445] +[group_68446] +[group_68447] +[group_68448] +[group_68449] +[group_68450] +[group_68451] +[group_68452] +[group_68453] +[group_68454] +[group_68455] +[group_68456] +[group_68457] +[group_68458] +[group_68459] +[group_68460] +[group_68461] +[group_68462] +[group_68463] +[group_68464] +[group_68465] +[group_68466] +[group_68467] +[group_68468] +[group_68469] +[group_68470] +[group_68471] +[group_68472] +[group_68473] +[group_68474] +[group_68475] +[group_68476] +[group_68477] +[group_68478] +[group_68479] +[group_68480] +[group_68481] +[group_68482] +[group_68483] +[group_68484] +[group_68485] +[group_68486] +[group_68487] +[group_68488] +[group_68489] +[group_68490] +[group_68491] +[group_68492] +[group_68493] +[group_68494] +[group_68495] +[group_68496] +[group_68497] +[group_68498] +[group_68499] +[group_68500] +[group_68501] +[group_68502] +[group_68503] +[group_68504] +[group_68505] +[group_68506] +[group_68507] +[group_68508] +[group_68509] +[group_68510] +[group_68511] +[group_68512] +[group_68513] +[group_68514] +[group_68515] +[group_68516] +[group_68517] +[group_68518] +[group_68519] +[group_68520] +[group_68521] +[group_68522] +[group_68523] +[group_68524] +[group_68525] +[group_68526] +[group_68527] +[group_68528] +[group_68529] +[group_68530] +[group_68531] +[group_68532] +[group_68533] +[group_68534] +[group_68535] +[group_68536] +[group_68537] +[group_68538] +[group_68539] +[group_68540] +[group_68541] +[group_68542] +[group_68543] +[group_68544] +[group_68545] +[group_68546] +[group_68547] +[group_68548] +[group_68549] +[group_68550] +[group_68551] +[group_68552] +[group_68553] +[group_68554] +[group_68555] +[group_68556] +[group_68557] +[group_68558] +[group_68559] +[group_68560] +[group_68561] +[group_68562] +[group_68563] +[group_68564] +[group_68565] +[group_68566] +[group_68567] +[group_68568] +[group_68569] +[group_68570] +[group_68571] +[group_68572] +[group_68573] +[group_68574] +[group_68575] +[group_68576] +[group_68577] +[group_68578] +[group_68579] +[group_68580] +[group_68581] +[group_68582] +[group_68583] +[group_68584] +[group_68585] +[group_68586] +[group_68587] +[group_68588] +[group_68589] +[group_68590] +[group_68591] +[group_68592] +[group_68593] +[group_68594] +[group_68595] +[group_68596] +[group_68597] +[group_68598] +[group_68599] +[group_68600] +[group_68601] +[group_68602] +[group_68603] +[group_68604] +[group_68605] +[group_68606] +[group_68607] +[group_68608] +[group_68609] +[group_68610] +[group_68611] +[group_68612] +[group_68613] +[group_68614] +[group_68615] +[group_68616] +[group_68617] +[group_68618] +[group_68619] +[group_68620] +[group_68621] +[group_68622] +[group_68623] +[group_68624] +[group_68625] +[group_68626] +[group_68627] +[group_68628] +[group_68629] +[group_68630] +[group_68631] +[group_68632] +[group_68633] +[group_68634] +[group_68635] +[group_68636] +[group_68637] +[group_68638] +[group_68639] +[group_68640] +[group_68641] +[group_68642] +[group_68643] +[group_68644] +[group_68645] +[group_68646] +[group_68647] +[group_68648] +[group_68649] +[group_68650] +[group_68651] +[group_68652] +[group_68653] +[group_68654] +[group_68655] +[group_68656] +[group_68657] +[group_68658] +[group_68659] +[group_68660] +[group_68661] +[group_68662] +[group_68663] +[group_68664] +[group_68665] +[group_68666] +[group_68667] +[group_68668] +[group_68669] +[group_68670] +[group_68671] +[group_68672] +[group_68673] +[group_68674] +[group_68675] +[group_68676] +[group_68677] +[group_68678] +[group_68679] +[group_68680] +[group_68681] +[group_68682] +[group_68683] +[group_68684] +[group_68685] +[group_68686] +[group_68687] +[group_68688] +[group_68689] +[group_68690] +[group_68691] +[group_68692] +[group_68693] +[group_68694] +[group_68695] +[group_68696] +[group_68697] +[group_68698] +[group_68699] +[group_68700] +[group_68701] +[group_68702] +[group_68703] +[group_68704] +[group_68705] +[group_68706] +[group_68707] +[group_68708] +[group_68709] +[group_68710] +[group_68711] +[group_68712] +[group_68713] +[group_68714] +[group_68715] +[group_68716] +[group_68717] +[group_68718] +[group_68719] +[group_68720] +[group_68721] +[group_68722] +[group_68723] +[group_68724] +[group_68725] +[group_68726] +[group_68727] +[group_68728] +[group_68729] +[group_68730] +[group_68731] +[group_68732] +[group_68733] +[group_68734] +[group_68735] +[group_68736] +[group_68737] +[group_68738] +[group_68739] +[group_68740] +[group_68741] +[group_68742] +[group_68743] +[group_68744] +[group_68745] +[group_68746] +[group_68747] +[group_68748] +[group_68749] +[group_68750] +[group_68751] +[group_68752] +[group_68753] +[group_68754] +[group_68755] +[group_68756] +[group_68757] +[group_68758] +[group_68759] +[group_68760] +[group_68761] +[group_68762] +[group_68763] +[group_68764] +[group_68765] +[group_68766] +[group_68767] +[group_68768] +[group_68769] +[group_68770] +[group_68771] +[group_68772] +[group_68773] +[group_68774] +[group_68775] +[group_68776] +[group_68777] +[group_68778] +[group_68779] +[group_68780] +[group_68781] +[group_68782] +[group_68783] +[group_68784] +[group_68785] +[group_68786] +[group_68787] +[group_68788] +[group_68789] +[group_68790] +[group_68791] +[group_68792] +[group_68793] +[group_68794] +[group_68795] +[group_68796] +[group_68797] +[group_68798] +[group_68799] +[group_68800] +[group_68801] +[group_68802] +[group_68803] +[group_68804] +[group_68805] +[group_68806] +[group_68807] +[group_68808] +[group_68809] +[group_68810] +[group_68811] +[group_68812] +[group_68813] +[group_68814] +[group_68815] +[group_68816] +[group_68817] +[group_68818] +[group_68819] +[group_68820] +[group_68821] +[group_68822] +[group_68823] +[group_68824] +[group_68825] +[group_68826] +[group_68827] +[group_68828] +[group_68829] +[group_68830] +[group_68831] +[group_68832] +[group_68833] +[group_68834] +[group_68835] +[group_68836] +[group_68837] +[group_68838] +[group_68839] +[group_68840] +[group_68841] +[group_68842] +[group_68843] +[group_68844] +[group_68845] +[group_68846] +[group_68847] +[group_68848] +[group_68849] +[group_68850] +[group_68851] +[group_68852] +[group_68853] +[group_68854] +[group_68855] +[group_68856] +[group_68857] +[group_68858] +[group_68859] +[group_68860] +[group_68861] +[group_68862] +[group_68863] +[group_68864] +[group_68865] +[group_68866] +[group_68867] +[group_68868] +[group_68869] +[group_68870] +[group_68871] +[group_68872] +[group_68873] +[group_68874] +[group_68875] +[group_68876] +[group_68877] +[group_68878] +[group_68879] +[group_68880] +[group_68881] +[group_68882] +[group_68883] +[group_68884] +[group_68885] +[group_68886] +[group_68887] +[group_68888] +[group_68889] +[group_68890] +[group_68891] +[group_68892] +[group_68893] +[group_68894] +[group_68895] +[group_68896] +[group_68897] +[group_68898] +[group_68899] +[group_68900] +[group_68901] +[group_68902] +[group_68903] +[group_68904] +[group_68905] +[group_68906] +[group_68907] +[group_68908] +[group_68909] +[group_68910] +[group_68911] +[group_68912] +[group_68913] +[group_68914] +[group_68915] +[group_68916] +[group_68917] +[group_68918] +[group_68919] +[group_68920] +[group_68921] +[group_68922] +[group_68923] +[group_68924] +[group_68925] +[group_68926] +[group_68927] +[group_68928] +[group_68929] +[group_68930] +[group_68931] +[group_68932] +[group_68933] +[group_68934] +[group_68935] +[group_68936] +[group_68937] +[group_68938] +[group_68939] +[group_68940] +[group_68941] +[group_68942] +[group_68943] +[group_68944] +[group_68945] +[group_68946] +[group_68947] +[group_68948] +[group_68949] +[group_68950] +[group_68951] +[group_68952] +[group_68953] +[group_68954] +[group_68955] +[group_68956] +[group_68957] +[group_68958] +[group_68959] +[group_68960] +[group_68961] +[group_68962] +[group_68963] +[group_68964] +[group_68965] +[group_68966] +[group_68967] +[group_68968] +[group_68969] +[group_68970] +[group_68971] +[group_68972] +[group_68973] +[group_68974] +[group_68975] +[group_68976] +[group_68977] +[group_68978] +[group_68979] +[group_68980] +[group_68981] +[group_68982] +[group_68983] +[group_68984] +[group_68985] +[group_68986] +[group_68987] +[group_68988] +[group_68989] +[group_68990] +[group_68991] +[group_68992] +[group_68993] +[group_68994] +[group_68995] +[group_68996] +[group_68997] +[group_68998] +[group_68999] +[group_69000] +[group_69001] +[group_69002] +[group_69003] +[group_69004] +[group_69005] +[group_69006] +[group_69007] +[group_69008] +[group_69009] +[group_69010] +[group_69011] +[group_69012] +[group_69013] +[group_69014] +[group_69015] +[group_69016] +[group_69017] +[group_69018] +[group_69019] +[group_69020] +[group_69021] +[group_69022] +[group_69023] +[group_69024] +[group_69025] +[group_69026] +[group_69027] +[group_69028] +[group_69029] +[group_69030] +[group_69031] +[group_69032] +[group_69033] +[group_69034] +[group_69035] +[group_69036] +[group_69037] +[group_69038] +[group_69039] +[group_69040] +[group_69041] +[group_69042] +[group_69043] +[group_69044] +[group_69045] +[group_69046] +[group_69047] +[group_69048] +[group_69049] +[group_69050] +[group_69051] +[group_69052] +[group_69053] +[group_69054] +[group_69055] +[group_69056] +[group_69057] +[group_69058] +[group_69059] +[group_69060] +[group_69061] +[group_69062] +[group_69063] +[group_69064] +[group_69065] +[group_69066] +[group_69067] +[group_69068] +[group_69069] +[group_69070] +[group_69071] +[group_69072] +[group_69073] +[group_69074] +[group_69075] +[group_69076] +[group_69077] +[group_69078] +[group_69079] +[group_69080] +[group_69081] +[group_69082] +[group_69083] +[group_69084] +[group_69085] +[group_69086] +[group_69087] +[group_69088] +[group_69089] +[group_69090] +[group_69091] +[group_69092] +[group_69093] +[group_69094] +[group_69095] +[group_69096] +[group_69097] +[group_69098] +[group_69099] +[group_69100] +[group_69101] +[group_69102] +[group_69103] +[group_69104] +[group_69105] +[group_69106] +[group_69107] +[group_69108] +[group_69109] +[group_69110] +[group_69111] +[group_69112] +[group_69113] +[group_69114] +[group_69115] +[group_69116] +[group_69117] +[group_69118] +[group_69119] +[group_69120] +[group_69121] +[group_69122] +[group_69123] +[group_69124] +[group_69125] +[group_69126] +[group_69127] +[group_69128] +[group_69129] +[group_69130] +[group_69131] +[group_69132] +[group_69133] +[group_69134] +[group_69135] +[group_69136] +[group_69137] +[group_69138] +[group_69139] +[group_69140] +[group_69141] +[group_69142] +[group_69143] +[group_69144] +[group_69145] +[group_69146] +[group_69147] +[group_69148] +[group_69149] +[group_69150] +[group_69151] +[group_69152] +[group_69153] +[group_69154] +[group_69155] +[group_69156] +[group_69157] +[group_69158] +[group_69159] +[group_69160] +[group_69161] +[group_69162] +[group_69163] +[group_69164] +[group_69165] +[group_69166] +[group_69167] +[group_69168] +[group_69169] +[group_69170] +[group_69171] +[group_69172] +[group_69173] +[group_69174] +[group_69175] +[group_69176] +[group_69177] +[group_69178] +[group_69179] +[group_69180] +[group_69181] +[group_69182] +[group_69183] +[group_69184] +[group_69185] +[group_69186] +[group_69187] +[group_69188] +[group_69189] +[group_69190] +[group_69191] +[group_69192] +[group_69193] +[group_69194] +[group_69195] +[group_69196] +[group_69197] +[group_69198] +[group_69199] +[group_69200] +[group_69201] +[group_69202] +[group_69203] +[group_69204] +[group_69205] +[group_69206] +[group_69207] +[group_69208] +[group_69209] +[group_69210] +[group_69211] +[group_69212] +[group_69213] +[group_69214] +[group_69215] +[group_69216] +[group_69217] +[group_69218] +[group_69219] +[group_69220] +[group_69221] +[group_69222] +[group_69223] +[group_69224] +[group_69225] +[group_69226] +[group_69227] +[group_69228] +[group_69229] +[group_69230] +[group_69231] +[group_69232] +[group_69233] +[group_69234] +[group_69235] +[group_69236] +[group_69237] +[group_69238] +[group_69239] +[group_69240] +[group_69241] +[group_69242] +[group_69243] +[group_69244] +[group_69245] +[group_69246] +[group_69247] +[group_69248] +[group_69249] +[group_69250] +[group_69251] +[group_69252] +[group_69253] +[group_69254] +[group_69255] +[group_69256] +[group_69257] +[group_69258] +[group_69259] +[group_69260] +[group_69261] +[group_69262] +[group_69263] +[group_69264] +[group_69265] +[group_69266] +[group_69267] +[group_69268] +[group_69269] +[group_69270] +[group_69271] +[group_69272] +[group_69273] +[group_69274] +[group_69275] +[group_69276] +[group_69277] +[group_69278] +[group_69279] +[group_69280] +[group_69281] +[group_69282] +[group_69283] +[group_69284] +[group_69285] +[group_69286] +[group_69287] +[group_69288] +[group_69289] +[group_69290] +[group_69291] +[group_69292] +[group_69293] +[group_69294] +[group_69295] +[group_69296] +[group_69297] +[group_69298] +[group_69299] +[group_69300] +[group_69301] +[group_69302] +[group_69303] +[group_69304] +[group_69305] +[group_69306] +[group_69307] +[group_69308] +[group_69309] +[group_69310] +[group_69311] +[group_69312] +[group_69313] +[group_69314] +[group_69315] +[group_69316] +[group_69317] +[group_69318] +[group_69319] +[group_69320] +[group_69321] +[group_69322] +[group_69323] +[group_69324] +[group_69325] +[group_69326] +[group_69327] +[group_69328] +[group_69329] +[group_69330] +[group_69331] +[group_69332] +[group_69333] +[group_69334] +[group_69335] +[group_69336] +[group_69337] +[group_69338] +[group_69339] +[group_69340] +[group_69341] +[group_69342] +[group_69343] +[group_69344] +[group_69345] +[group_69346] +[group_69347] +[group_69348] +[group_69349] +[group_69350] +[group_69351] +[group_69352] +[group_69353] +[group_69354] +[group_69355] +[group_69356] +[group_69357] +[group_69358] +[group_69359] +[group_69360] +[group_69361] +[group_69362] +[group_69363] +[group_69364] +[group_69365] +[group_69366] +[group_69367] +[group_69368] +[group_69369] +[group_69370] +[group_69371] +[group_69372] +[group_69373] +[group_69374] +[group_69375] +[group_69376] +[group_69377] +[group_69378] +[group_69379] +[group_69380] +[group_69381] +[group_69382] +[group_69383] +[group_69384] +[group_69385] +[group_69386] +[group_69387] +[group_69388] +[group_69389] +[group_69390] +[group_69391] +[group_69392] +[group_69393] +[group_69394] +[group_69395] +[group_69396] +[group_69397] +[group_69398] +[group_69399] +[group_69400] +[group_69401] +[group_69402] +[group_69403] +[group_69404] +[group_69405] +[group_69406] +[group_69407] +[group_69408] +[group_69409] +[group_69410] +[group_69411] +[group_69412] +[group_69413] +[group_69414] +[group_69415] +[group_69416] +[group_69417] +[group_69418] +[group_69419] +[group_69420] +[group_69421] +[group_69422] +[group_69423] +[group_69424] +[group_69425] +[group_69426] +[group_69427] +[group_69428] +[group_69429] +[group_69430] +[group_69431] +[group_69432] +[group_69433] +[group_69434] +[group_69435] +[group_69436] +[group_69437] +[group_69438] +[group_69439] +[group_69440] +[group_69441] +[group_69442] +[group_69443] +[group_69444] +[group_69445] +[group_69446] +[group_69447] +[group_69448] +[group_69449] +[group_69450] +[group_69451] +[group_69452] +[group_69453] +[group_69454] +[group_69455] +[group_69456] +[group_69457] +[group_69458] +[group_69459] +[group_69460] +[group_69461] +[group_69462] +[group_69463] +[group_69464] +[group_69465] +[group_69466] +[group_69467] +[group_69468] +[group_69469] +[group_69470] +[group_69471] +[group_69472] +[group_69473] +[group_69474] +[group_69475] +[group_69476] +[group_69477] +[group_69478] +[group_69479] +[group_69480] +[group_69481] +[group_69482] +[group_69483] +[group_69484] +[group_69485] +[group_69486] +[group_69487] +[group_69488] +[group_69489] +[group_69490] +[group_69491] +[group_69492] +[group_69493] +[group_69494] +[group_69495] +[group_69496] +[group_69497] +[group_69498] +[group_69499] +[group_69500] +[group_69501] +[group_69502] +[group_69503] +[group_69504] +[group_69505] +[group_69506] +[group_69507] +[group_69508] +[group_69509] +[group_69510] +[group_69511] +[group_69512] +[group_69513] +[group_69514] +[group_69515] +[group_69516] +[group_69517] +[group_69518] +[group_69519] +[group_69520] +[group_69521] +[group_69522] +[group_69523] +[group_69524] +[group_69525] +[group_69526] +[group_69527] +[group_69528] +[group_69529] +[group_69530] +[group_69531] +[group_69532] +[group_69533] +[group_69534] +[group_69535] +[group_69536] +[group_69537] +[group_69538] +[group_69539] +[group_69540] +[group_69541] +[group_69542] +[group_69543] +[group_69544] +[group_69545] +[group_69546] +[group_69547] +[group_69548] +[group_69549] +[group_69550] +[group_69551] +[group_69552] +[group_69553] +[group_69554] +[group_69555] +[group_69556] +[group_69557] +[group_69558] +[group_69559] +[group_69560] +[group_69561] +[group_69562] +[group_69563] +[group_69564] +[group_69565] +[group_69566] +[group_69567] +[group_69568] +[group_69569] +[group_69570] +[group_69571] +[group_69572] +[group_69573] +[group_69574] +[group_69575] +[group_69576] +[group_69577] +[group_69578] +[group_69579] +[group_69580] +[group_69581] +[group_69582] +[group_69583] +[group_69584] +[group_69585] +[group_69586] +[group_69587] +[group_69588] +[group_69589] +[group_69590] +[group_69591] +[group_69592] +[group_69593] +[group_69594] +[group_69595] +[group_69596] +[group_69597] +[group_69598] +[group_69599] +[group_69600] +[group_69601] +[group_69602] +[group_69603] +[group_69604] +[group_69605] +[group_69606] +[group_69607] +[group_69608] +[group_69609] +[group_69610] +[group_69611] +[group_69612] +[group_69613] +[group_69614] +[group_69615] +[group_69616] +[group_69617] +[group_69618] +[group_69619] +[group_69620] +[group_69621] +[group_69622] +[group_69623] +[group_69624] +[group_69625] +[group_69626] +[group_69627] +[group_69628] +[group_69629] +[group_69630] +[group_69631] +[group_69632] +[group_69633] +[group_69634] +[group_69635] +[group_69636] +[group_69637] +[group_69638] +[group_69639] +[group_69640] +[group_69641] +[group_69642] +[group_69643] +[group_69644] +[group_69645] +[group_69646] +[group_69647] +[group_69648] +[group_69649] +[group_69650] +[group_69651] +[group_69652] +[group_69653] +[group_69654] +[group_69655] +[group_69656] +[group_69657] +[group_69658] +[group_69659] +[group_69660] +[group_69661] +[group_69662] +[group_69663] +[group_69664] +[group_69665] +[group_69666] +[group_69667] +[group_69668] +[group_69669] +[group_69670] +[group_69671] +[group_69672] +[group_69673] +[group_69674] +[group_69675] +[group_69676] +[group_69677] +[group_69678] +[group_69679] +[group_69680] +[group_69681] +[group_69682] +[group_69683] +[group_69684] +[group_69685] +[group_69686] +[group_69687] +[group_69688] +[group_69689] +[group_69690] +[group_69691] +[group_69692] +[group_69693] +[group_69694] +[group_69695] +[group_69696] +[group_69697] +[group_69698] +[group_69699] +[group_69700] +[group_69701] +[group_69702] +[group_69703] +[group_69704] +[group_69705] +[group_69706] +[group_69707] +[group_69708] +[group_69709] +[group_69710] +[group_69711] +[group_69712] +[group_69713] +[group_69714] +[group_69715] +[group_69716] +[group_69717] +[group_69718] +[group_69719] +[group_69720] +[group_69721] +[group_69722] +[group_69723] +[group_69724] +[group_69725] +[group_69726] +[group_69727] +[group_69728] +[group_69729] +[group_69730] +[group_69731] +[group_69732] +[group_69733] +[group_69734] +[group_69735] +[group_69736] +[group_69737] +[group_69738] +[group_69739] +[group_69740] +[group_69741] +[group_69742] +[group_69743] +[group_69744] +[group_69745] +[group_69746] +[group_69747] +[group_69748] +[group_69749] +[group_69750] +[group_69751] +[group_69752] +[group_69753] +[group_69754] +[group_69755] +[group_69756] +[group_69757] +[group_69758] +[group_69759] +[group_69760] +[group_69761] +[group_69762] +[group_69763] +[group_69764] +[group_69765] +[group_69766] +[group_69767] +[group_69768] +[group_69769] +[group_69770] +[group_69771] +[group_69772] +[group_69773] +[group_69774] +[group_69775] +[group_69776] +[group_69777] +[group_69778] +[group_69779] +[group_69780] +[group_69781] +[group_69782] +[group_69783] +[group_69784] +[group_69785] +[group_69786] +[group_69787] +[group_69788] +[group_69789] +[group_69790] +[group_69791] +[group_69792] +[group_69793] +[group_69794] +[group_69795] +[group_69796] +[group_69797] +[group_69798] +[group_69799] +[group_69800] +[group_69801] +[group_69802] +[group_69803] +[group_69804] +[group_69805] +[group_69806] +[group_69807] +[group_69808] +[group_69809] +[group_69810] +[group_69811] +[group_69812] +[group_69813] +[group_69814] +[group_69815] +[group_69816] +[group_69817] +[group_69818] +[group_69819] +[group_69820] +[group_69821] +[group_69822] +[group_69823] +[group_69824] +[group_69825] +[group_69826] +[group_69827] +[group_69828] +[group_69829] +[group_69830] +[group_69831] +[group_69832] +[group_69833] +[group_69834] +[group_69835] +[group_69836] +[group_69837] +[group_69838] +[group_69839] +[group_69840] +[group_69841] +[group_69842] +[group_69843] +[group_69844] +[group_69845] +[group_69846] +[group_69847] +[group_69848] +[group_69849] +[group_69850] +[group_69851] +[group_69852] +[group_69853] +[group_69854] +[group_69855] +[group_69856] +[group_69857] +[group_69858] +[group_69859] +[group_69860] +[group_69861] +[group_69862] +[group_69863] +[group_69864] +[group_69865] +[group_69866] +[group_69867] +[group_69868] +[group_69869] +[group_69870] +[group_69871] +[group_69872] +[group_69873] +[group_69874] +[group_69875] +[group_69876] +[group_69877] +[group_69878] +[group_69879] +[group_69880] +[group_69881] +[group_69882] +[group_69883] +[group_69884] +[group_69885] +[group_69886] +[group_69887] +[group_69888] +[group_69889] +[group_69890] +[group_69891] +[group_69892] +[group_69893] +[group_69894] +[group_69895] +[group_69896] +[group_69897] +[group_69898] +[group_69899] +[group_69900] +[group_69901] +[group_69902] +[group_69903] +[group_69904] +[group_69905] +[group_69906] +[group_69907] +[group_69908] +[group_69909] +[group_69910] +[group_69911] +[group_69912] +[group_69913] +[group_69914] +[group_69915] +[group_69916] +[group_69917] +[group_69918] +[group_69919] +[group_69920] +[group_69921] +[group_69922] +[group_69923] +[group_69924] +[group_69925] +[group_69926] +[group_69927] +[group_69928] +[group_69929] +[group_69930] +[group_69931] +[group_69932] +[group_69933] +[group_69934] +[group_69935] +[group_69936] +[group_69937] +[group_69938] +[group_69939] +[group_69940] +[group_69941] +[group_69942] +[group_69943] +[group_69944] +[group_69945] +[group_69946] +[group_69947] +[group_69948] +[group_69949] +[group_69950] +[group_69951] +[group_69952] +[group_69953] +[group_69954] +[group_69955] +[group_69956] +[group_69957] +[group_69958] +[group_69959] +[group_69960] +[group_69961] +[group_69962] +[group_69963] +[group_69964] +[group_69965] +[group_69966] +[group_69967] +[group_69968] +[group_69969] +[group_69970] +[group_69971] +[group_69972] +[group_69973] +[group_69974] +[group_69975] +[group_69976] +[group_69977] +[group_69978] +[group_69979] +[group_69980] +[group_69981] +[group_69982] +[group_69983] +[group_69984] +[group_69985] +[group_69986] +[group_69987] +[group_69988] +[group_69989] +[group_69990] +[group_69991] +[group_69992] +[group_69993] +[group_69994] +[group_69995] +[group_69996] +[group_69997] +[group_69998] +[group_69999] +[group_70000] +[group_70001] +[group_70002] +[group_70003] +[group_70004] +[group_70005] +[group_70006] +[group_70007] +[group_70008] +[group_70009] +[group_70010] +[group_70011] +[group_70012] +[group_70013] +[group_70014] +[group_70015] +[group_70016] +[group_70017] +[group_70018] +[group_70019] +[group_70020] +[group_70021] +[group_70022] +[group_70023] +[group_70024] +[group_70025] +[group_70026] +[group_70027] +[group_70028] +[group_70029] +[group_70030] +[group_70031] +[group_70032] +[group_70033] +[group_70034] +[group_70035] +[group_70036] +[group_70037] +[group_70038] +[group_70039] +[group_70040] +[group_70041] +[group_70042] +[group_70043] +[group_70044] +[group_70045] +[group_70046] +[group_70047] +[group_70048] +[group_70049] +[group_70050] +[group_70051] +[group_70052] +[group_70053] +[group_70054] +[group_70055] +[group_70056] +[group_70057] +[group_70058] +[group_70059] +[group_70060] +[group_70061] +[group_70062] +[group_70063] +[group_70064] +[group_70065] +[group_70066] +[group_70067] +[group_70068] +[group_70069] +[group_70070] +[group_70071] +[group_70072] +[group_70073] +[group_70074] +[group_70075] +[group_70076] +[group_70077] +[group_70078] +[group_70079] +[group_70080] +[group_70081] +[group_70082] +[group_70083] +[group_70084] +[group_70085] +[group_70086] +[group_70087] +[group_70088] +[group_70089] +[group_70090] +[group_70091] +[group_70092] +[group_70093] +[group_70094] +[group_70095] +[group_70096] +[group_70097] +[group_70098] +[group_70099] +[group_70100] +[group_70101] +[group_70102] +[group_70103] +[group_70104] +[group_70105] +[group_70106] +[group_70107] +[group_70108] +[group_70109] +[group_70110] +[group_70111] +[group_70112] +[group_70113] +[group_70114] +[group_70115] +[group_70116] +[group_70117] +[group_70118] +[group_70119] +[group_70120] +[group_70121] +[group_70122] +[group_70123] +[group_70124] +[group_70125] +[group_70126] +[group_70127] +[group_70128] +[group_70129] +[group_70130] +[group_70131] +[group_70132] +[group_70133] +[group_70134] +[group_70135] +[group_70136] +[group_70137] +[group_70138] +[group_70139] +[group_70140] +[group_70141] +[group_70142] +[group_70143] +[group_70144] +[group_70145] +[group_70146] +[group_70147] +[group_70148] +[group_70149] +[group_70150] +[group_70151] +[group_70152] +[group_70153] +[group_70154] +[group_70155] +[group_70156] +[group_70157] +[group_70158] +[group_70159] +[group_70160] +[group_70161] +[group_70162] +[group_70163] +[group_70164] +[group_70165] +[group_70166] +[group_70167] +[group_70168] +[group_70169] +[group_70170] +[group_70171] +[group_70172] +[group_70173] +[group_70174] +[group_70175] +[group_70176] +[group_70177] +[group_70178] +[group_70179] +[group_70180] +[group_70181] +[group_70182] +[group_70183] +[group_70184] +[group_70185] +[group_70186] +[group_70187] +[group_70188] +[group_70189] +[group_70190] +[group_70191] +[group_70192] +[group_70193] +[group_70194] +[group_70195] +[group_70196] +[group_70197] +[group_70198] +[group_70199] +[group_70200] +[group_70201] +[group_70202] +[group_70203] +[group_70204] +[group_70205] +[group_70206] +[group_70207] +[group_70208] +[group_70209] +[group_70210] +[group_70211] +[group_70212] +[group_70213] +[group_70214] +[group_70215] +[group_70216] +[group_70217] +[group_70218] +[group_70219] +[group_70220] +[group_70221] +[group_70222] +[group_70223] +[group_70224] +[group_70225] +[group_70226] +[group_70227] +[group_70228] +[group_70229] +[group_70230] +[group_70231] +[group_70232] +[group_70233] +[group_70234] +[group_70235] +[group_70236] +[group_70237] +[group_70238] +[group_70239] +[group_70240] +[group_70241] +[group_70242] +[group_70243] +[group_70244] +[group_70245] +[group_70246] +[group_70247] +[group_70248] +[group_70249] +[group_70250] +[group_70251] +[group_70252] +[group_70253] +[group_70254] +[group_70255] +[group_70256] +[group_70257] +[group_70258] +[group_70259] +[group_70260] +[group_70261] +[group_70262] +[group_70263] +[group_70264] +[group_70265] +[group_70266] +[group_70267] +[group_70268] +[group_70269] +[group_70270] +[group_70271] +[group_70272] +[group_70273] +[group_70274] +[group_70275] +[group_70276] +[group_70277] +[group_70278] +[group_70279] +[group_70280] +[group_70281] +[group_70282] +[group_70283] +[group_70284] +[group_70285] +[group_70286] +[group_70287] +[group_70288] +[group_70289] +[group_70290] +[group_70291] +[group_70292] +[group_70293] +[group_70294] +[group_70295] +[group_70296] +[group_70297] +[group_70298] +[group_70299] +[group_70300] +[group_70301] +[group_70302] +[group_70303] +[group_70304] +[group_70305] +[group_70306] +[group_70307] +[group_70308] +[group_70309] +[group_70310] +[group_70311] +[group_70312] +[group_70313] +[group_70314] +[group_70315] +[group_70316] +[group_70317] +[group_70318] +[group_70319] +[group_70320] +[group_70321] +[group_70322] +[group_70323] +[group_70324] +[group_70325] +[group_70326] +[group_70327] +[group_70328] +[group_70329] +[group_70330] +[group_70331] +[group_70332] +[group_70333] +[group_70334] +[group_70335] +[group_70336] +[group_70337] +[group_70338] +[group_70339] +[group_70340] +[group_70341] +[group_70342] +[group_70343] +[group_70344] +[group_70345] +[group_70346] +[group_70347] +[group_70348] +[group_70349] +[group_70350] +[group_70351] +[group_70352] +[group_70353] +[group_70354] +[group_70355] +[group_70356] +[group_70357] +[group_70358] +[group_70359] +[group_70360] +[group_70361] +[group_70362] +[group_70363] +[group_70364] +[group_70365] +[group_70366] +[group_70367] +[group_70368] +[group_70369] +[group_70370] +[group_70371] +[group_70372] +[group_70373] +[group_70374] +[group_70375] +[group_70376] +[group_70377] +[group_70378] +[group_70379] +[group_70380] +[group_70381] +[group_70382] +[group_70383] +[group_70384] +[group_70385] +[group_70386] +[group_70387] +[group_70388] +[group_70389] +[group_70390] +[group_70391] +[group_70392] +[group_70393] +[group_70394] +[group_70395] +[group_70396] +[group_70397] +[group_70398] +[group_70399] +[group_70400] +[group_70401] +[group_70402] +[group_70403] +[group_70404] +[group_70405] +[group_70406] +[group_70407] +[group_70408] +[group_70409] +[group_70410] +[group_70411] +[group_70412] +[group_70413] +[group_70414] +[group_70415] +[group_70416] +[group_70417] +[group_70418] +[group_70419] +[group_70420] +[group_70421] +[group_70422] +[group_70423] +[group_70424] +[group_70425] +[group_70426] +[group_70427] +[group_70428] +[group_70429] +[group_70430] +[group_70431] +[group_70432] +[group_70433] +[group_70434] +[group_70435] +[group_70436] +[group_70437] +[group_70438] +[group_70439] +[group_70440] +[group_70441] +[group_70442] +[group_70443] +[group_70444] +[group_70445] +[group_70446] +[group_70447] +[group_70448] +[group_70449] +[group_70450] +[group_70451] +[group_70452] +[group_70453] +[group_70454] +[group_70455] +[group_70456] +[group_70457] +[group_70458] +[group_70459] +[group_70460] +[group_70461] +[group_70462] +[group_70463] +[group_70464] +[group_70465] +[group_70466] +[group_70467] +[group_70468] +[group_70469] +[group_70470] +[group_70471] +[group_70472] +[group_70473] +[group_70474] +[group_70475] +[group_70476] +[group_70477] +[group_70478] +[group_70479] +[group_70480] +[group_70481] +[group_70482] +[group_70483] +[group_70484] +[group_70485] +[group_70486] +[group_70487] +[group_70488] +[group_70489] +[group_70490] +[group_70491] +[group_70492] +[group_70493] +[group_70494] +[group_70495] +[group_70496] +[group_70497] +[group_70498] +[group_70499] +[group_70500] +[group_70501] +[group_70502] +[group_70503] +[group_70504] +[group_70505] +[group_70506] +[group_70507] +[group_70508] +[group_70509] +[group_70510] +[group_70511] +[group_70512] +[group_70513] +[group_70514] +[group_70515] +[group_70516] +[group_70517] +[group_70518] +[group_70519] +[group_70520] +[group_70521] +[group_70522] +[group_70523] +[group_70524] +[group_70525] +[group_70526] +[group_70527] +[group_70528] +[group_70529] +[group_70530] +[group_70531] +[group_70532] +[group_70533] +[group_70534] +[group_70535] +[group_70536] +[group_70537] +[group_70538] +[group_70539] +[group_70540] +[group_70541] +[group_70542] +[group_70543] +[group_70544] +[group_70545] +[group_70546] +[group_70547] +[group_70548] +[group_70549] +[group_70550] +[group_70551] +[group_70552] +[group_70553] +[group_70554] +[group_70555] +[group_70556] +[group_70557] +[group_70558] +[group_70559] +[group_70560] +[group_70561] +[group_70562] +[group_70563] +[group_70564] +[group_70565] +[group_70566] +[group_70567] +[group_70568] +[group_70569] +[group_70570] +[group_70571] +[group_70572] +[group_70573] +[group_70574] +[group_70575] +[group_70576] +[group_70577] +[group_70578] +[group_70579] +[group_70580] +[group_70581] +[group_70582] +[group_70583] +[group_70584] +[group_70585] +[group_70586] +[group_70587] +[group_70588] +[group_70589] +[group_70590] +[group_70591] +[group_70592] +[group_70593] +[group_70594] +[group_70595] +[group_70596] +[group_70597] +[group_70598] +[group_70599] +[group_70600] +[group_70601] +[group_70602] +[group_70603] +[group_70604] +[group_70605] +[group_70606] +[group_70607] +[group_70608] +[group_70609] +[group_70610] +[group_70611] +[group_70612] +[group_70613] +[group_70614] +[group_70615] +[group_70616] +[group_70617] +[group_70618] +[group_70619] +[group_70620] +[group_70621] +[group_70622] +[group_70623] +[group_70624] +[group_70625] +[group_70626] +[group_70627] +[group_70628] +[group_70629] +[group_70630] +[group_70631] +[group_70632] +[group_70633] +[group_70634] +[group_70635] +[group_70636] +[group_70637] +[group_70638] +[group_70639] +[group_70640] +[group_70641] +[group_70642] +[group_70643] +[group_70644] +[group_70645] +[group_70646] +[group_70647] +[group_70648] +[group_70649] +[group_70650] +[group_70651] +[group_70652] +[group_70653] +[group_70654] +[group_70655] +[group_70656] +[group_70657] +[group_70658] +[group_70659] +[group_70660] +[group_70661] +[group_70662] +[group_70663] +[group_70664] +[group_70665] +[group_70666] +[group_70667] +[group_70668] +[group_70669] +[group_70670] +[group_70671] +[group_70672] +[group_70673] +[group_70674] +[group_70675] +[group_70676] +[group_70677] +[group_70678] +[group_70679] +[group_70680] +[group_70681] +[group_70682] +[group_70683] +[group_70684] +[group_70685] +[group_70686] +[group_70687] +[group_70688] +[group_70689] +[group_70690] +[group_70691] +[group_70692] +[group_70693] +[group_70694] +[group_70695] +[group_70696] +[group_70697] +[group_70698] +[group_70699] +[group_70700] +[group_70701] +[group_70702] +[group_70703] +[group_70704] +[group_70705] +[group_70706] +[group_70707] +[group_70708] +[group_70709] +[group_70710] +[group_70711] +[group_70712] +[group_70713] +[group_70714] +[group_70715] +[group_70716] +[group_70717] +[group_70718] +[group_70719] +[group_70720] +[group_70721] +[group_70722] +[group_70723] +[group_70724] +[group_70725] +[group_70726] +[group_70727] +[group_70728] +[group_70729] +[group_70730] +[group_70731] +[group_70732] +[group_70733] +[group_70734] +[group_70735] +[group_70736] +[group_70737] +[group_70738] +[group_70739] +[group_70740] +[group_70741] +[group_70742] +[group_70743] +[group_70744] +[group_70745] +[group_70746] +[group_70747] +[group_70748] +[group_70749] +[group_70750] +[group_70751] +[group_70752] +[group_70753] +[group_70754] +[group_70755] +[group_70756] +[group_70757] +[group_70758] +[group_70759] +[group_70760] +[group_70761] +[group_70762] +[group_70763] +[group_70764] +[group_70765] +[group_70766] +[group_70767] +[group_70768] +[group_70769] +[group_70770] +[group_70771] +[group_70772] +[group_70773] +[group_70774] +[group_70775] +[group_70776] +[group_70777] +[group_70778] +[group_70779] +[group_70780] +[group_70781] +[group_70782] +[group_70783] +[group_70784] +[group_70785] +[group_70786] +[group_70787] +[group_70788] +[group_70789] +[group_70790] +[group_70791] +[group_70792] +[group_70793] +[group_70794] +[group_70795] +[group_70796] +[group_70797] +[group_70798] +[group_70799] +[group_70800] +[group_70801] +[group_70802] +[group_70803] +[group_70804] +[group_70805] +[group_70806] +[group_70807] +[group_70808] +[group_70809] +[group_70810] +[group_70811] +[group_70812] +[group_70813] +[group_70814] +[group_70815] +[group_70816] +[group_70817] +[group_70818] +[group_70819] +[group_70820] +[group_70821] +[group_70822] +[group_70823] +[group_70824] +[group_70825] +[group_70826] +[group_70827] +[group_70828] +[group_70829] +[group_70830] +[group_70831] +[group_70832] +[group_70833] +[group_70834] +[group_70835] +[group_70836] +[group_70837] +[group_70838] +[group_70839] +[group_70840] +[group_70841] +[group_70842] +[group_70843] +[group_70844] +[group_70845] +[group_70846] +[group_70847] +[group_70848] +[group_70849] +[group_70850] +[group_70851] +[group_70852] +[group_70853] +[group_70854] +[group_70855] +[group_70856] +[group_70857] +[group_70858] +[group_70859] +[group_70860] +[group_70861] +[group_70862] +[group_70863] +[group_70864] +[group_70865] +[group_70866] +[group_70867] +[group_70868] +[group_70869] +[group_70870] +[group_70871] +[group_70872] +[group_70873] +[group_70874] +[group_70875] +[group_70876] +[group_70877] +[group_70878] +[group_70879] +[group_70880] +[group_70881] +[group_70882] +[group_70883] +[group_70884] +[group_70885] +[group_70886] +[group_70887] +[group_70888] +[group_70889] +[group_70890] +[group_70891] +[group_70892] +[group_70893] +[group_70894] +[group_70895] +[group_70896] +[group_70897] +[group_70898] +[group_70899] +[group_70900] +[group_70901] +[group_70902] +[group_70903] +[group_70904] +[group_70905] +[group_70906] +[group_70907] +[group_70908] +[group_70909] +[group_70910] +[group_70911] +[group_70912] +[group_70913] +[group_70914] +[group_70915] +[group_70916] +[group_70917] +[group_70918] +[group_70919] +[group_70920] +[group_70921] +[group_70922] +[group_70923] +[group_70924] +[group_70925] +[group_70926] +[group_70927] +[group_70928] +[group_70929] +[group_70930] +[group_70931] +[group_70932] +[group_70933] +[group_70934] +[group_70935] +[group_70936] +[group_70937] +[group_70938] +[group_70939] +[group_70940] +[group_70941] +[group_70942] +[group_70943] +[group_70944] +[group_70945] +[group_70946] +[group_70947] +[group_70948] +[group_70949] +[group_70950] +[group_70951] +[group_70952] +[group_70953] +[group_70954] +[group_70955] +[group_70956] +[group_70957] +[group_70958] +[group_70959] +[group_70960] +[group_70961] +[group_70962] +[group_70963] +[group_70964] +[group_70965] +[group_70966] +[group_70967] +[group_70968] +[group_70969] +[group_70970] +[group_70971] +[group_70972] +[group_70973] +[group_70974] +[group_70975] +[group_70976] +[group_70977] +[group_70978] +[group_70979] +[group_70980] +[group_70981] +[group_70982] +[group_70983] +[group_70984] +[group_70985] +[group_70986] +[group_70987] +[group_70988] +[group_70989] +[group_70990] +[group_70991] +[group_70992] +[group_70993] +[group_70994] +[group_70995] +[group_70996] +[group_70997] +[group_70998] +[group_70999] +[group_71000] +[group_71001] +[group_71002] +[group_71003] +[group_71004] +[group_71005] +[group_71006] +[group_71007] +[group_71008] +[group_71009] +[group_71010] +[group_71011] +[group_71012] +[group_71013] +[group_71014] +[group_71015] +[group_71016] +[group_71017] +[group_71018] +[group_71019] +[group_71020] +[group_71021] +[group_71022] +[group_71023] +[group_71024] +[group_71025] +[group_71026] +[group_71027] +[group_71028] +[group_71029] +[group_71030] +[group_71031] +[group_71032] +[group_71033] +[group_71034] +[group_71035] +[group_71036] +[group_71037] +[group_71038] +[group_71039] +[group_71040] +[group_71041] +[group_71042] +[group_71043] +[group_71044] +[group_71045] +[group_71046] +[group_71047] +[group_71048] +[group_71049] +[group_71050] +[group_71051] +[group_71052] +[group_71053] +[group_71054] +[group_71055] +[group_71056] +[group_71057] +[group_71058] +[group_71059] +[group_71060] +[group_71061] +[group_71062] +[group_71063] +[group_71064] +[group_71065] +[group_71066] +[group_71067] +[group_71068] +[group_71069] +[group_71070] +[group_71071] +[group_71072] +[group_71073] +[group_71074] +[group_71075] +[group_71076] +[group_71077] +[group_71078] +[group_71079] +[group_71080] +[group_71081] +[group_71082] +[group_71083] +[group_71084] +[group_71085] +[group_71086] +[group_71087] +[group_71088] +[group_71089] +[group_71090] +[group_71091] +[group_71092] +[group_71093] +[group_71094] +[group_71095] +[group_71096] +[group_71097] +[group_71098] +[group_71099] +[group_71100] +[group_71101] +[group_71102] +[group_71103] +[group_71104] +[group_71105] +[group_71106] +[group_71107] +[group_71108] +[group_71109] +[group_71110] +[group_71111] +[group_71112] +[group_71113] +[group_71114] +[group_71115] +[group_71116] +[group_71117] +[group_71118] +[group_71119] +[group_71120] +[group_71121] +[group_71122] +[group_71123] +[group_71124] +[group_71125] +[group_71126] +[group_71127] +[group_71128] +[group_71129] +[group_71130] +[group_71131] +[group_71132] +[group_71133] +[group_71134] +[group_71135] +[group_71136] +[group_71137] +[group_71138] +[group_71139] +[group_71140] +[group_71141] +[group_71142] +[group_71143] +[group_71144] +[group_71145] +[group_71146] +[group_71147] +[group_71148] +[group_71149] +[group_71150] +[group_71151] +[group_71152] +[group_71153] +[group_71154] +[group_71155] +[group_71156] +[group_71157] +[group_71158] +[group_71159] +[group_71160] +[group_71161] +[group_71162] +[group_71163] +[group_71164] +[group_71165] +[group_71166] +[group_71167] +[group_71168] +[group_71169] +[group_71170] +[group_71171] +[group_71172] +[group_71173] +[group_71174] +[group_71175] +[group_71176] +[group_71177] +[group_71178] +[group_71179] +[group_71180] +[group_71181] +[group_71182] +[group_71183] +[group_71184] +[group_71185] +[group_71186] +[group_71187] +[group_71188] +[group_71189] +[group_71190] +[group_71191] +[group_71192] +[group_71193] +[group_71194] +[group_71195] +[group_71196] +[group_71197] +[group_71198] +[group_71199] +[group_71200] +[group_71201] +[group_71202] +[group_71203] +[group_71204] +[group_71205] +[group_71206] +[group_71207] +[group_71208] +[group_71209] +[group_71210] +[group_71211] +[group_71212] +[group_71213] +[group_71214] +[group_71215] +[group_71216] +[group_71217] +[group_71218] +[group_71219] +[group_71220] +[group_71221] +[group_71222] +[group_71223] +[group_71224] +[group_71225] +[group_71226] +[group_71227] +[group_71228] +[group_71229] +[group_71230] +[group_71231] +[group_71232] +[group_71233] +[group_71234] +[group_71235] +[group_71236] +[group_71237] +[group_71238] +[group_71239] +[group_71240] +[group_71241] +[group_71242] +[group_71243] +[group_71244] +[group_71245] +[group_71246] +[group_71247] +[group_71248] +[group_71249] +[group_71250] +[group_71251] +[group_71252] +[group_71253] +[group_71254] +[group_71255] +[group_71256] +[group_71257] +[group_71258] +[group_71259] +[group_71260] +[group_71261] +[group_71262] +[group_71263] +[group_71264] +[group_71265] +[group_71266] +[group_71267] +[group_71268] +[group_71269] +[group_71270] +[group_71271] +[group_71272] +[group_71273] +[group_71274] +[group_71275] +[group_71276] +[group_71277] +[group_71278] +[group_71279] +[group_71280] +[group_71281] +[group_71282] +[group_71283] +[group_71284] +[group_71285] +[group_71286] +[group_71287] +[group_71288] +[group_71289] +[group_71290] +[group_71291] +[group_71292] +[group_71293] +[group_71294] +[group_71295] +[group_71296] +[group_71297] +[group_71298] +[group_71299] +[group_71300] +[group_71301] +[group_71302] +[group_71303] +[group_71304] +[group_71305] +[group_71306] +[group_71307] +[group_71308] +[group_71309] +[group_71310] +[group_71311] +[group_71312] +[group_71313] +[group_71314] +[group_71315] +[group_71316] +[group_71317] +[group_71318] +[group_71319] +[group_71320] +[group_71321] +[group_71322] +[group_71323] +[group_71324] +[group_71325] +[group_71326] +[group_71327] +[group_71328] +[group_71329] +[group_71330] +[group_71331] +[group_71332] +[group_71333] +[group_71334] +[group_71335] +[group_71336] +[group_71337] +[group_71338] +[group_71339] +[group_71340] +[group_71341] +[group_71342] +[group_71343] +[group_71344] +[group_71345] +[group_71346] +[group_71347] +[group_71348] +[group_71349] +[group_71350] +[group_71351] +[group_71352] +[group_71353] +[group_71354] +[group_71355] +[group_71356] +[group_71357] +[group_71358] +[group_71359] +[group_71360] +[group_71361] +[group_71362] +[group_71363] +[group_71364] +[group_71365] +[group_71366] +[group_71367] +[group_71368] +[group_71369] +[group_71370] +[group_71371] +[group_71372] +[group_71373] +[group_71374] +[group_71375] +[group_71376] +[group_71377] +[group_71378] +[group_71379] +[group_71380] +[group_71381] +[group_71382] +[group_71383] +[group_71384] +[group_71385] +[group_71386] +[group_71387] +[group_71388] +[group_71389] +[group_71390] +[group_71391] +[group_71392] +[group_71393] +[group_71394] +[group_71395] +[group_71396] +[group_71397] +[group_71398] +[group_71399] +[group_71400] +[group_71401] +[group_71402] +[group_71403] +[group_71404] +[group_71405] +[group_71406] +[group_71407] +[group_71408] +[group_71409] +[group_71410] +[group_71411] +[group_71412] +[group_71413] +[group_71414] +[group_71415] +[group_71416] +[group_71417] +[group_71418] +[group_71419] +[group_71420] +[group_71421] +[group_71422] +[group_71423] +[group_71424] +[group_71425] +[group_71426] +[group_71427] +[group_71428] +[group_71429] +[group_71430] +[group_71431] +[group_71432] +[group_71433] +[group_71434] +[group_71435] +[group_71436] +[group_71437] +[group_71438] +[group_71439] +[group_71440] +[group_71441] +[group_71442] +[group_71443] +[group_71444] +[group_71445] +[group_71446] +[group_71447] +[group_71448] +[group_71449] +[group_71450] +[group_71451] +[group_71452] +[group_71453] +[group_71454] +[group_71455] +[group_71456] +[group_71457] +[group_71458] +[group_71459] +[group_71460] +[group_71461] +[group_71462] +[group_71463] +[group_71464] +[group_71465] +[group_71466] +[group_71467] +[group_71468] +[group_71469] +[group_71470] +[group_71471] +[group_71472] +[group_71473] +[group_71474] +[group_71475] +[group_71476] +[group_71477] +[group_71478] +[group_71479] +[group_71480] +[group_71481] +[group_71482] +[group_71483] +[group_71484] +[group_71485] +[group_71486] +[group_71487] +[group_71488] +[group_71489] +[group_71490] +[group_71491] +[group_71492] +[group_71493] +[group_71494] +[group_71495] +[group_71496] +[group_71497] +[group_71498] +[group_71499] +[group_71500] +[group_71501] +[group_71502] +[group_71503] +[group_71504] +[group_71505] +[group_71506] +[group_71507] +[group_71508] +[group_71509] +[group_71510] +[group_71511] +[group_71512] +[group_71513] +[group_71514] +[group_71515] +[group_71516] +[group_71517] +[group_71518] +[group_71519] +[group_71520] +[group_71521] +[group_71522] +[group_71523] +[group_71524] +[group_71525] +[group_71526] +[group_71527] +[group_71528] +[group_71529] +[group_71530] +[group_71531] +[group_71532] +[group_71533] +[group_71534] +[group_71535] +[group_71536] +[group_71537] +[group_71538] +[group_71539] +[group_71540] +[group_71541] +[group_71542] +[group_71543] +[group_71544] +[group_71545] +[group_71546] +[group_71547] +[group_71548] +[group_71549] +[group_71550] +[group_71551] +[group_71552] +[group_71553] +[group_71554] +[group_71555] +[group_71556] +[group_71557] +[group_71558] +[group_71559] +[group_71560] +[group_71561] +[group_71562] +[group_71563] +[group_71564] +[group_71565] +[group_71566] +[group_71567] +[group_71568] +[group_71569] +[group_71570] +[group_71571] +[group_71572] +[group_71573] +[group_71574] +[group_71575] +[group_71576] +[group_71577] +[group_71578] +[group_71579] +[group_71580] +[group_71581] +[group_71582] +[group_71583] +[group_71584] +[group_71585] +[group_71586] +[group_71587] +[group_71588] +[group_71589] +[group_71590] +[group_71591] +[group_71592] +[group_71593] +[group_71594] +[group_71595] +[group_71596] +[group_71597] +[group_71598] +[group_71599] +[group_71600] +[group_71601] +[group_71602] +[group_71603] +[group_71604] +[group_71605] +[group_71606] +[group_71607] +[group_71608] +[group_71609] +[group_71610] +[group_71611] +[group_71612] +[group_71613] +[group_71614] +[group_71615] +[group_71616] +[group_71617] +[group_71618] +[group_71619] +[group_71620] +[group_71621] +[group_71622] +[group_71623] +[group_71624] +[group_71625] +[group_71626] +[group_71627] +[group_71628] +[group_71629] +[group_71630] +[group_71631] +[group_71632] +[group_71633] +[group_71634] +[group_71635] +[group_71636] +[group_71637] +[group_71638] +[group_71639] +[group_71640] +[group_71641] +[group_71642] +[group_71643] +[group_71644] +[group_71645] +[group_71646] +[group_71647] +[group_71648] +[group_71649] +[group_71650] +[group_71651] +[group_71652] +[group_71653] +[group_71654] +[group_71655] +[group_71656] +[group_71657] +[group_71658] +[group_71659] +[group_71660] +[group_71661] +[group_71662] +[group_71663] +[group_71664] +[group_71665] +[group_71666] +[group_71667] +[group_71668] +[group_71669] +[group_71670] +[group_71671] +[group_71672] +[group_71673] +[group_71674] +[group_71675] +[group_71676] +[group_71677] +[group_71678] +[group_71679] +[group_71680] +[group_71681] +[group_71682] +[group_71683] +[group_71684] +[group_71685] +[group_71686] +[group_71687] +[group_71688] +[group_71689] +[group_71690] +[group_71691] +[group_71692] +[group_71693] +[group_71694] +[group_71695] +[group_71696] +[group_71697] +[group_71698] +[group_71699] +[group_71700] +[group_71701] +[group_71702] +[group_71703] +[group_71704] +[group_71705] +[group_71706] +[group_71707] +[group_71708] +[group_71709] +[group_71710] +[group_71711] +[group_71712] +[group_71713] +[group_71714] +[group_71715] +[group_71716] +[group_71717] +[group_71718] +[group_71719] +[group_71720] +[group_71721] +[group_71722] +[group_71723] +[group_71724] +[group_71725] +[group_71726] +[group_71727] +[group_71728] +[group_71729] +[group_71730] +[group_71731] +[group_71732] +[group_71733] +[group_71734] +[group_71735] +[group_71736] +[group_71737] +[group_71738] +[group_71739] +[group_71740] +[group_71741] +[group_71742] +[group_71743] +[group_71744] +[group_71745] +[group_71746] +[group_71747] +[group_71748] +[group_71749] +[group_71750] +[group_71751] +[group_71752] +[group_71753] +[group_71754] +[group_71755] +[group_71756] +[group_71757] +[group_71758] +[group_71759] +[group_71760] +[group_71761] +[group_71762] +[group_71763] +[group_71764] +[group_71765] +[group_71766] +[group_71767] +[group_71768] +[group_71769] +[group_71770] +[group_71771] +[group_71772] +[group_71773] +[group_71774] +[group_71775] +[group_71776] +[group_71777] +[group_71778] +[group_71779] +[group_71780] +[group_71781] +[group_71782] +[group_71783] +[group_71784] +[group_71785] +[group_71786] +[group_71787] +[group_71788] +[group_71789] +[group_71790] +[group_71791] +[group_71792] +[group_71793] +[group_71794] +[group_71795] +[group_71796] +[group_71797] +[group_71798] +[group_71799] +[group_71800] +[group_71801] +[group_71802] +[group_71803] +[group_71804] +[group_71805] +[group_71806] +[group_71807] +[group_71808] +[group_71809] +[group_71810] +[group_71811] +[group_71812] +[group_71813] +[group_71814] +[group_71815] +[group_71816] +[group_71817] +[group_71818] +[group_71819] +[group_71820] +[group_71821] +[group_71822] +[group_71823] +[group_71824] +[group_71825] +[group_71826] +[group_71827] +[group_71828] +[group_71829] +[group_71830] +[group_71831] +[group_71832] +[group_71833] +[group_71834] +[group_71835] +[group_71836] +[group_71837] +[group_71838] +[group_71839] +[group_71840] +[group_71841] +[group_71842] +[group_71843] +[group_71844] +[group_71845] +[group_71846] +[group_71847] +[group_71848] +[group_71849] +[group_71850] +[group_71851] +[group_71852] +[group_71853] +[group_71854] +[group_71855] +[group_71856] +[group_71857] +[group_71858] +[group_71859] +[group_71860] +[group_71861] +[group_71862] +[group_71863] +[group_71864] +[group_71865] +[group_71866] +[group_71867] +[group_71868] +[group_71869] +[group_71870] +[group_71871] +[group_71872] +[group_71873] +[group_71874] +[group_71875] +[group_71876] +[group_71877] +[group_71878] +[group_71879] +[group_71880] +[group_71881] +[group_71882] +[group_71883] +[group_71884] +[group_71885] +[group_71886] +[group_71887] +[group_71888] +[group_71889] +[group_71890] +[group_71891] +[group_71892] +[group_71893] +[group_71894] +[group_71895] +[group_71896] +[group_71897] +[group_71898] +[group_71899] +[group_71900] +[group_71901] +[group_71902] +[group_71903] +[group_71904] +[group_71905] +[group_71906] +[group_71907] +[group_71908] +[group_71909] +[group_71910] +[group_71911] +[group_71912] +[group_71913] +[group_71914] +[group_71915] +[group_71916] +[group_71917] +[group_71918] +[group_71919] +[group_71920] +[group_71921] +[group_71922] +[group_71923] +[group_71924] +[group_71925] +[group_71926] +[group_71927] +[group_71928] +[group_71929] +[group_71930] +[group_71931] +[group_71932] +[group_71933] +[group_71934] +[group_71935] +[group_71936] +[group_71937] +[group_71938] +[group_71939] +[group_71940] +[group_71941] +[group_71942] +[group_71943] +[group_71944] +[group_71945] +[group_71946] +[group_71947] +[group_71948] +[group_71949] +[group_71950] +[group_71951] +[group_71952] +[group_71953] +[group_71954] +[group_71955] +[group_71956] +[group_71957] +[group_71958] +[group_71959] +[group_71960] +[group_71961] +[group_71962] +[group_71963] +[group_71964] +[group_71965] +[group_71966] +[group_71967] +[group_71968] +[group_71969] +[group_71970] +[group_71971] +[group_71972] +[group_71973] +[group_71974] +[group_71975] +[group_71976] +[group_71977] +[group_71978] +[group_71979] +[group_71980] +[group_71981] +[group_71982] +[group_71983] +[group_71984] +[group_71985] +[group_71986] +[group_71987] +[group_71988] +[group_71989] +[group_71990] +[group_71991] +[group_71992] +[group_71993] +[group_71994] +[group_71995] +[group_71996] +[group_71997] +[group_71998] +[group_71999] +[group_72000] +[group_72001] +[group_72002] +[group_72003] +[group_72004] +[group_72005] +[group_72006] +[group_72007] +[group_72008] +[group_72009] +[group_72010] +[group_72011] +[group_72012] +[group_72013] +[group_72014] +[group_72015] +[group_72016] +[group_72017] +[group_72018] +[group_72019] +[group_72020] +[group_72021] +[group_72022] +[group_72023] +[group_72024] +[group_72025] +[group_72026] +[group_72027] +[group_72028] +[group_72029] +[group_72030] +[group_72031] +[group_72032] +[group_72033] +[group_72034] +[group_72035] +[group_72036] +[group_72037] +[group_72038] +[group_72039] +[group_72040] +[group_72041] +[group_72042] +[group_72043] +[group_72044] +[group_72045] +[group_72046] +[group_72047] +[group_72048] +[group_72049] +[group_72050] +[group_72051] +[group_72052] +[group_72053] +[group_72054] +[group_72055] +[group_72056] +[group_72057] +[group_72058] +[group_72059] +[group_72060] +[group_72061] +[group_72062] +[group_72063] +[group_72064] +[group_72065] +[group_72066] +[group_72067] +[group_72068] +[group_72069] +[group_72070] +[group_72071] +[group_72072] +[group_72073] +[group_72074] +[group_72075] +[group_72076] +[group_72077] +[group_72078] +[group_72079] +[group_72080] +[group_72081] +[group_72082] +[group_72083] +[group_72084] +[group_72085] +[group_72086] +[group_72087] +[group_72088] +[group_72089] +[group_72090] +[group_72091] +[group_72092] +[group_72093] +[group_72094] +[group_72095] +[group_72096] +[group_72097] +[group_72098] +[group_72099] +[group_72100] +[group_72101] +[group_72102] +[group_72103] +[group_72104] +[group_72105] +[group_72106] +[group_72107] +[group_72108] +[group_72109] +[group_72110] +[group_72111] +[group_72112] +[group_72113] +[group_72114] +[group_72115] +[group_72116] +[group_72117] +[group_72118] +[group_72119] +[group_72120] +[group_72121] +[group_72122] +[group_72123] +[group_72124] +[group_72125] +[group_72126] +[group_72127] +[group_72128] +[group_72129] +[group_72130] +[group_72131] +[group_72132] +[group_72133] +[group_72134] +[group_72135] +[group_72136] +[group_72137] +[group_72138] +[group_72139] +[group_72140] +[group_72141] +[group_72142] +[group_72143] +[group_72144] +[group_72145] +[group_72146] +[group_72147] +[group_72148] +[group_72149] +[group_72150] +[group_72151] +[group_72152] +[group_72153] +[group_72154] +[group_72155] +[group_72156] +[group_72157] +[group_72158] +[group_72159] +[group_72160] +[group_72161] +[group_72162] +[group_72163] +[group_72164] +[group_72165] +[group_72166] +[group_72167] +[group_72168] +[group_72169] +[group_72170] +[group_72171] +[group_72172] +[group_72173] +[group_72174] +[group_72175] +[group_72176] +[group_72177] +[group_72178] +[group_72179] +[group_72180] +[group_72181] +[group_72182] +[group_72183] +[group_72184] +[group_72185] +[group_72186] +[group_72187] +[group_72188] +[group_72189] +[group_72190] +[group_72191] +[group_72192] +[group_72193] +[group_72194] +[group_72195] +[group_72196] +[group_72197] +[group_72198] +[group_72199] +[group_72200] +[group_72201] +[group_72202] +[group_72203] +[group_72204] +[group_72205] +[group_72206] +[group_72207] +[group_72208] +[group_72209] +[group_72210] +[group_72211] +[group_72212] +[group_72213] +[group_72214] +[group_72215] +[group_72216] +[group_72217] +[group_72218] +[group_72219] +[group_72220] +[group_72221] +[group_72222] +[group_72223] +[group_72224] +[group_72225] +[group_72226] +[group_72227] +[group_72228] +[group_72229] +[group_72230] +[group_72231] +[group_72232] +[group_72233] +[group_72234] +[group_72235] +[group_72236] +[group_72237] +[group_72238] +[group_72239] +[group_72240] +[group_72241] +[group_72242] +[group_72243] +[group_72244] +[group_72245] +[group_72246] +[group_72247] +[group_72248] +[group_72249] +[group_72250] +[group_72251] +[group_72252] +[group_72253] +[group_72254] +[group_72255] +[group_72256] +[group_72257] +[group_72258] +[group_72259] +[group_72260] +[group_72261] +[group_72262] +[group_72263] +[group_72264] +[group_72265] +[group_72266] +[group_72267] +[group_72268] +[group_72269] +[group_72270] +[group_72271] +[group_72272] +[group_72273] +[group_72274] +[group_72275] +[group_72276] +[group_72277] +[group_72278] +[group_72279] +[group_72280] +[group_72281] +[group_72282] +[group_72283] +[group_72284] +[group_72285] +[group_72286] +[group_72287] +[group_72288] +[group_72289] +[group_72290] +[group_72291] +[group_72292] +[group_72293] +[group_72294] +[group_72295] +[group_72296] +[group_72297] +[group_72298] +[group_72299] +[group_72300] +[group_72301] +[group_72302] +[group_72303] +[group_72304] +[group_72305] +[group_72306] +[group_72307] +[group_72308] +[group_72309] +[group_72310] +[group_72311] +[group_72312] +[group_72313] +[group_72314] +[group_72315] +[group_72316] +[group_72317] +[group_72318] +[group_72319] +[group_72320] +[group_72321] +[group_72322] +[group_72323] +[group_72324] +[group_72325] +[group_72326] +[group_72327] +[group_72328] +[group_72329] +[group_72330] +[group_72331] +[group_72332] +[group_72333] +[group_72334] +[group_72335] +[group_72336] +[group_72337] +[group_72338] +[group_72339] +[group_72340] +[group_72341] +[group_72342] +[group_72343] +[group_72344] +[group_72345] +[group_72346] +[group_72347] +[group_72348] +[group_72349] +[group_72350] +[group_72351] +[group_72352] +[group_72353] +[group_72354] +[group_72355] +[group_72356] +[group_72357] +[group_72358] +[group_72359] +[group_72360] +[group_72361] +[group_72362] +[group_72363] +[group_72364] +[group_72365] +[group_72366] +[group_72367] +[group_72368] +[group_72369] +[group_72370] +[group_72371] +[group_72372] +[group_72373] +[group_72374] +[group_72375] +[group_72376] +[group_72377] +[group_72378] +[group_72379] +[group_72380] +[group_72381] +[group_72382] +[group_72383] +[group_72384] +[group_72385] +[group_72386] +[group_72387] +[group_72388] +[group_72389] +[group_72390] +[group_72391] +[group_72392] +[group_72393] +[group_72394] +[group_72395] +[group_72396] +[group_72397] +[group_72398] +[group_72399] +[group_72400] +[group_72401] +[group_72402] +[group_72403] +[group_72404] +[group_72405] +[group_72406] +[group_72407] +[group_72408] +[group_72409] +[group_72410] +[group_72411] +[group_72412] +[group_72413] +[group_72414] +[group_72415] +[group_72416] +[group_72417] +[group_72418] +[group_72419] +[group_72420] +[group_72421] +[group_72422] +[group_72423] +[group_72424] +[group_72425] +[group_72426] +[group_72427] +[group_72428] +[group_72429] +[group_72430] +[group_72431] +[group_72432] +[group_72433] +[group_72434] +[group_72435] +[group_72436] +[group_72437] +[group_72438] +[group_72439] +[group_72440] +[group_72441] +[group_72442] +[group_72443] +[group_72444] +[group_72445] +[group_72446] +[group_72447] +[group_72448] +[group_72449] +[group_72450] +[group_72451] +[group_72452] +[group_72453] +[group_72454] +[group_72455] +[group_72456] +[group_72457] +[group_72458] +[group_72459] +[group_72460] +[group_72461] +[group_72462] +[group_72463] +[group_72464] +[group_72465] +[group_72466] +[group_72467] +[group_72468] +[group_72469] +[group_72470] +[group_72471] +[group_72472] +[group_72473] +[group_72474] +[group_72475] +[group_72476] +[group_72477] +[group_72478] +[group_72479] +[group_72480] +[group_72481] +[group_72482] +[group_72483] +[group_72484] +[group_72485] +[group_72486] +[group_72487] +[group_72488] +[group_72489] +[group_72490] +[group_72491] +[group_72492] +[group_72493] +[group_72494] +[group_72495] +[group_72496] +[group_72497] +[group_72498] +[group_72499] +[group_72500] +[group_72501] +[group_72502] +[group_72503] +[group_72504] +[group_72505] +[group_72506] +[group_72507] +[group_72508] +[group_72509] +[group_72510] +[group_72511] +[group_72512] +[group_72513] +[group_72514] +[group_72515] +[group_72516] +[group_72517] +[group_72518] +[group_72519] +[group_72520] +[group_72521] +[group_72522] +[group_72523] +[group_72524] +[group_72525] +[group_72526] +[group_72527] +[group_72528] +[group_72529] +[group_72530] +[group_72531] +[group_72532] +[group_72533] +[group_72534] +[group_72535] +[group_72536] +[group_72537] +[group_72538] +[group_72539] +[group_72540] +[group_72541] +[group_72542] +[group_72543] +[group_72544] +[group_72545] +[group_72546] +[group_72547] +[group_72548] +[group_72549] +[group_72550] +[group_72551] +[group_72552] +[group_72553] +[group_72554] +[group_72555] +[group_72556] +[group_72557] +[group_72558] +[group_72559] +[group_72560] +[group_72561] +[group_72562] +[group_72563] +[group_72564] +[group_72565] +[group_72566] +[group_72567] +[group_72568] +[group_72569] +[group_72570] +[group_72571] +[group_72572] +[group_72573] +[group_72574] +[group_72575] +[group_72576] +[group_72577] +[group_72578] +[group_72579] +[group_72580] +[group_72581] +[group_72582] +[group_72583] +[group_72584] +[group_72585] +[group_72586] +[group_72587] +[group_72588] +[group_72589] +[group_72590] +[group_72591] +[group_72592] +[group_72593] +[group_72594] +[group_72595] +[group_72596] +[group_72597] +[group_72598] +[group_72599] +[group_72600] +[group_72601] +[group_72602] +[group_72603] +[group_72604] +[group_72605] +[group_72606] +[group_72607] +[group_72608] +[group_72609] +[group_72610] +[group_72611] +[group_72612] +[group_72613] +[group_72614] +[group_72615] +[group_72616] +[group_72617] +[group_72618] +[group_72619] +[group_72620] +[group_72621] +[group_72622] +[group_72623] +[group_72624] +[group_72625] +[group_72626] +[group_72627] +[group_72628] +[group_72629] +[group_72630] +[group_72631] +[group_72632] +[group_72633] +[group_72634] +[group_72635] +[group_72636] +[group_72637] +[group_72638] +[group_72639] +[group_72640] +[group_72641] +[group_72642] +[group_72643] +[group_72644] +[group_72645] +[group_72646] +[group_72647] +[group_72648] +[group_72649] +[group_72650] +[group_72651] +[group_72652] +[group_72653] +[group_72654] +[group_72655] +[group_72656] +[group_72657] +[group_72658] +[group_72659] +[group_72660] +[group_72661] +[group_72662] +[group_72663] +[group_72664] +[group_72665] +[group_72666] +[group_72667] +[group_72668] +[group_72669] +[group_72670] +[group_72671] +[group_72672] +[group_72673] +[group_72674] +[group_72675] +[group_72676] +[group_72677] +[group_72678] +[group_72679] +[group_72680] +[group_72681] +[group_72682] +[group_72683] +[group_72684] +[group_72685] +[group_72686] +[group_72687] +[group_72688] +[group_72689] +[group_72690] +[group_72691] +[group_72692] +[group_72693] +[group_72694] +[group_72695] +[group_72696] +[group_72697] +[group_72698] +[group_72699] +[group_72700] +[group_72701] +[group_72702] +[group_72703] +[group_72704] +[group_72705] +[group_72706] +[group_72707] +[group_72708] +[group_72709] +[group_72710] +[group_72711] +[group_72712] +[group_72713] +[group_72714] +[group_72715] +[group_72716] +[group_72717] +[group_72718] +[group_72719] +[group_72720] +[group_72721] +[group_72722] +[group_72723] +[group_72724] +[group_72725] +[group_72726] +[group_72727] +[group_72728] +[group_72729] +[group_72730] +[group_72731] +[group_72732] +[group_72733] +[group_72734] +[group_72735] +[group_72736] +[group_72737] +[group_72738] +[group_72739] +[group_72740] +[group_72741] +[group_72742] +[group_72743] +[group_72744] +[group_72745] +[group_72746] +[group_72747] +[group_72748] +[group_72749] +[group_72750] +[group_72751] +[group_72752] +[group_72753] +[group_72754] +[group_72755] +[group_72756] +[group_72757] +[group_72758] +[group_72759] +[group_72760] +[group_72761] +[group_72762] +[group_72763] +[group_72764] +[group_72765] +[group_72766] +[group_72767] +[group_72768] +[group_72769] +[group_72770] +[group_72771] +[group_72772] +[group_72773] +[group_72774] +[group_72775] +[group_72776] +[group_72777] +[group_72778] +[group_72779] +[group_72780] +[group_72781] +[group_72782] +[group_72783] +[group_72784] +[group_72785] +[group_72786] +[group_72787] +[group_72788] +[group_72789] +[group_72790] +[group_72791] +[group_72792] +[group_72793] +[group_72794] +[group_72795] +[group_72796] +[group_72797] +[group_72798] +[group_72799] +[group_72800] +[group_72801] +[group_72802] +[group_72803] +[group_72804] +[group_72805] +[group_72806] +[group_72807] +[group_72808] +[group_72809] +[group_72810] +[group_72811] +[group_72812] +[group_72813] +[group_72814] +[group_72815] +[group_72816] +[group_72817] +[group_72818] +[group_72819] +[group_72820] +[group_72821] +[group_72822] +[group_72823] +[group_72824] +[group_72825] +[group_72826] +[group_72827] +[group_72828] +[group_72829] +[group_72830] +[group_72831] +[group_72832] +[group_72833] +[group_72834] +[group_72835] +[group_72836] +[group_72837] +[group_72838] +[group_72839] +[group_72840] +[group_72841] +[group_72842] +[group_72843] +[group_72844] +[group_72845] +[group_72846] +[group_72847] +[group_72848] +[group_72849] +[group_72850] +[group_72851] +[group_72852] +[group_72853] +[group_72854] +[group_72855] +[group_72856] +[group_72857] +[group_72858] +[group_72859] +[group_72860] +[group_72861] +[group_72862] +[group_72863] +[group_72864] +[group_72865] +[group_72866] +[group_72867] +[group_72868] +[group_72869] +[group_72870] +[group_72871] +[group_72872] +[group_72873] +[group_72874] +[group_72875] +[group_72876] +[group_72877] +[group_72878] +[group_72879] +[group_72880] +[group_72881] +[group_72882] +[group_72883] +[group_72884] +[group_72885] +[group_72886] +[group_72887] +[group_72888] +[group_72889] +[group_72890] +[group_72891] +[group_72892] +[group_72893] +[group_72894] +[group_72895] +[group_72896] +[group_72897] +[group_72898] +[group_72899] +[group_72900] +[group_72901] +[group_72902] +[group_72903] +[group_72904] +[group_72905] +[group_72906] +[group_72907] +[group_72908] +[group_72909] +[group_72910] +[group_72911] +[group_72912] +[group_72913] +[group_72914] +[group_72915] +[group_72916] +[group_72917] +[group_72918] +[group_72919] +[group_72920] +[group_72921] +[group_72922] +[group_72923] +[group_72924] +[group_72925] +[group_72926] +[group_72927] +[group_72928] +[group_72929] +[group_72930] +[group_72931] +[group_72932] +[group_72933] +[group_72934] +[group_72935] +[group_72936] +[group_72937] +[group_72938] +[group_72939] +[group_72940] +[group_72941] +[group_72942] +[group_72943] +[group_72944] +[group_72945] +[group_72946] +[group_72947] +[group_72948] +[group_72949] +[group_72950] +[group_72951] +[group_72952] +[group_72953] +[group_72954] +[group_72955] +[group_72956] +[group_72957] +[group_72958] +[group_72959] +[group_72960] +[group_72961] +[group_72962] +[group_72963] +[group_72964] +[group_72965] +[group_72966] +[group_72967] +[group_72968] +[group_72969] +[group_72970] +[group_72971] +[group_72972] +[group_72973] +[group_72974] +[group_72975] +[group_72976] +[group_72977] +[group_72978] +[group_72979] +[group_72980] +[group_72981] +[group_72982] +[group_72983] +[group_72984] +[group_72985] +[group_72986] +[group_72987] +[group_72988] +[group_72989] +[group_72990] +[group_72991] +[group_72992] +[group_72993] +[group_72994] +[group_72995] +[group_72996] +[group_72997] +[group_72998] +[group_72999] +[group_73000] +[group_73001] +[group_73002] +[group_73003] +[group_73004] +[group_73005] +[group_73006] +[group_73007] +[group_73008] +[group_73009] +[group_73010] +[group_73011] +[group_73012] +[group_73013] +[group_73014] +[group_73015] +[group_73016] +[group_73017] +[group_73018] +[group_73019] +[group_73020] +[group_73021] +[group_73022] +[group_73023] +[group_73024] +[group_73025] +[group_73026] +[group_73027] +[group_73028] +[group_73029] +[group_73030] +[group_73031] +[group_73032] +[group_73033] +[group_73034] +[group_73035] +[group_73036] +[group_73037] +[group_73038] +[group_73039] +[group_73040] +[group_73041] +[group_73042] +[group_73043] +[group_73044] +[group_73045] +[group_73046] +[group_73047] +[group_73048] +[group_73049] +[group_73050] +[group_73051] +[group_73052] +[group_73053] +[group_73054] +[group_73055] +[group_73056] +[group_73057] +[group_73058] +[group_73059] +[group_73060] +[group_73061] +[group_73062] +[group_73063] +[group_73064] +[group_73065] +[group_73066] +[group_73067] +[group_73068] +[group_73069] +[group_73070] +[group_73071] +[group_73072] +[group_73073] +[group_73074] +[group_73075] +[group_73076] +[group_73077] +[group_73078] +[group_73079] +[group_73080] +[group_73081] +[group_73082] +[group_73083] +[group_73084] +[group_73085] +[group_73086] +[group_73087] +[group_73088] +[group_73089] +[group_73090] +[group_73091] +[group_73092] +[group_73093] +[group_73094] +[group_73095] +[group_73096] +[group_73097] +[group_73098] +[group_73099] +[group_73100] +[group_73101] +[group_73102] +[group_73103] +[group_73104] +[group_73105] +[group_73106] +[group_73107] +[group_73108] +[group_73109] +[group_73110] +[group_73111] +[group_73112] +[group_73113] +[group_73114] +[group_73115] +[group_73116] +[group_73117] +[group_73118] +[group_73119] +[group_73120] +[group_73121] +[group_73122] +[group_73123] +[group_73124] +[group_73125] +[group_73126] +[group_73127] +[group_73128] +[group_73129] +[group_73130] +[group_73131] +[group_73132] +[group_73133] +[group_73134] +[group_73135] +[group_73136] +[group_73137] +[group_73138] +[group_73139] +[group_73140] +[group_73141] +[group_73142] +[group_73143] +[group_73144] +[group_73145] +[group_73146] +[group_73147] +[group_73148] +[group_73149] +[group_73150] +[group_73151] +[group_73152] +[group_73153] +[group_73154] +[group_73155] +[group_73156] +[group_73157] +[group_73158] +[group_73159] +[group_73160] +[group_73161] +[group_73162] +[group_73163] +[group_73164] +[group_73165] +[group_73166] +[group_73167] +[group_73168] +[group_73169] +[group_73170] +[group_73171] +[group_73172] +[group_73173] +[group_73174] +[group_73175] +[group_73176] +[group_73177] +[group_73178] +[group_73179] +[group_73180] +[group_73181] +[group_73182] +[group_73183] +[group_73184] +[group_73185] +[group_73186] +[group_73187] +[group_73188] +[group_73189] +[group_73190] +[group_73191] +[group_73192] +[group_73193] +[group_73194] +[group_73195] +[group_73196] +[group_73197] +[group_73198] +[group_73199] +[group_73200] +[group_73201] +[group_73202] +[group_73203] +[group_73204] +[group_73205] +[group_73206] +[group_73207] +[group_73208] +[group_73209] +[group_73210] +[group_73211] +[group_73212] +[group_73213] +[group_73214] +[group_73215] +[group_73216] +[group_73217] +[group_73218] +[group_73219] +[group_73220] +[group_73221] +[group_73222] +[group_73223] +[group_73224] +[group_73225] +[group_73226] +[group_73227] +[group_73228] +[group_73229] +[group_73230] +[group_73231] +[group_73232] +[group_73233] +[group_73234] +[group_73235] +[group_73236] +[group_73237] +[group_73238] +[group_73239] +[group_73240] +[group_73241] +[group_73242] +[group_73243] +[group_73244] +[group_73245] +[group_73246] +[group_73247] +[group_73248] +[group_73249] +[group_73250] +[group_73251] +[group_73252] +[group_73253] +[group_73254] +[group_73255] +[group_73256] +[group_73257] +[group_73258] +[group_73259] +[group_73260] +[group_73261] +[group_73262] +[group_73263] +[group_73264] +[group_73265] +[group_73266] +[group_73267] +[group_73268] +[group_73269] +[group_73270] +[group_73271] +[group_73272] +[group_73273] +[group_73274] +[group_73275] +[group_73276] +[group_73277] +[group_73278] +[group_73279] +[group_73280] +[group_73281] +[group_73282] +[group_73283] +[group_73284] +[group_73285] +[group_73286] +[group_73287] +[group_73288] +[group_73289] +[group_73290] +[group_73291] +[group_73292] +[group_73293] +[group_73294] +[group_73295] +[group_73296] +[group_73297] +[group_73298] +[group_73299] +[group_73300] +[group_73301] +[group_73302] +[group_73303] +[group_73304] +[group_73305] +[group_73306] +[group_73307] +[group_73308] +[group_73309] +[group_73310] +[group_73311] +[group_73312] +[group_73313] +[group_73314] +[group_73315] +[group_73316] +[group_73317] +[group_73318] +[group_73319] +[group_73320] +[group_73321] +[group_73322] +[group_73323] +[group_73324] +[group_73325] +[group_73326] +[group_73327] +[group_73328] +[group_73329] +[group_73330] +[group_73331] +[group_73332] +[group_73333] +[group_73334] +[group_73335] +[group_73336] +[group_73337] +[group_73338] +[group_73339] +[group_73340] +[group_73341] +[group_73342] +[group_73343] +[group_73344] +[group_73345] +[group_73346] +[group_73347] +[group_73348] +[group_73349] +[group_73350] +[group_73351] +[group_73352] +[group_73353] +[group_73354] +[group_73355] +[group_73356] +[group_73357] +[group_73358] +[group_73359] +[group_73360] +[group_73361] +[group_73362] +[group_73363] +[group_73364] +[group_73365] +[group_73366] +[group_73367] +[group_73368] +[group_73369] +[group_73370] +[group_73371] +[group_73372] +[group_73373] +[group_73374] +[group_73375] +[group_73376] +[group_73377] +[group_73378] +[group_73379] +[group_73380] +[group_73381] +[group_73382] +[group_73383] +[group_73384] +[group_73385] +[group_73386] +[group_73387] +[group_73388] +[group_73389] +[group_73390] +[group_73391] +[group_73392] +[group_73393] +[group_73394] +[group_73395] +[group_73396] +[group_73397] +[group_73398] +[group_73399] +[group_73400] +[group_73401] +[group_73402] +[group_73403] +[group_73404] +[group_73405] +[group_73406] +[group_73407] +[group_73408] +[group_73409] +[group_73410] +[group_73411] +[group_73412] +[group_73413] +[group_73414] +[group_73415] +[group_73416] +[group_73417] +[group_73418] +[group_73419] +[group_73420] +[group_73421] +[group_73422] +[group_73423] +[group_73424] +[group_73425] +[group_73426] +[group_73427] +[group_73428] +[group_73429] +[group_73430] +[group_73431] +[group_73432] +[group_73433] +[group_73434] +[group_73435] +[group_73436] +[group_73437] +[group_73438] +[group_73439] +[group_73440] +[group_73441] +[group_73442] +[group_73443] +[group_73444] +[group_73445] +[group_73446] +[group_73447] +[group_73448] +[group_73449] +[group_73450] +[group_73451] +[group_73452] +[group_73453] +[group_73454] +[group_73455] +[group_73456] +[group_73457] +[group_73458] +[group_73459] +[group_73460] +[group_73461] +[group_73462] +[group_73463] +[group_73464] +[group_73465] +[group_73466] +[group_73467] +[group_73468] +[group_73469] +[group_73470] +[group_73471] +[group_73472] +[group_73473] +[group_73474] +[group_73475] +[group_73476] +[group_73477] +[group_73478] +[group_73479] +[group_73480] +[group_73481] +[group_73482] +[group_73483] +[group_73484] +[group_73485] +[group_73486] +[group_73487] +[group_73488] +[group_73489] +[group_73490] +[group_73491] +[group_73492] +[group_73493] +[group_73494] +[group_73495] +[group_73496] +[group_73497] +[group_73498] +[group_73499] +[group_73500] +[group_73501] +[group_73502] +[group_73503] +[group_73504] +[group_73505] +[group_73506] +[group_73507] +[group_73508] +[group_73509] +[group_73510] +[group_73511] +[group_73512] +[group_73513] +[group_73514] +[group_73515] +[group_73516] +[group_73517] +[group_73518] +[group_73519] +[group_73520] +[group_73521] +[group_73522] +[group_73523] +[group_73524] +[group_73525] +[group_73526] +[group_73527] +[group_73528] +[group_73529] +[group_73530] +[group_73531] +[group_73532] +[group_73533] +[group_73534] +[group_73535] +[group_73536] +[group_73537] +[group_73538] +[group_73539] +[group_73540] +[group_73541] +[group_73542] +[group_73543] +[group_73544] +[group_73545] +[group_73546] +[group_73547] +[group_73548] +[group_73549] +[group_73550] +[group_73551] +[group_73552] +[group_73553] +[group_73554] +[group_73555] +[group_73556] +[group_73557] +[group_73558] +[group_73559] +[group_73560] +[group_73561] +[group_73562] +[group_73563] +[group_73564] +[group_73565] +[group_73566] +[group_73567] +[group_73568] +[group_73569] +[group_73570] +[group_73571] +[group_73572] +[group_73573] +[group_73574] +[group_73575] +[group_73576] +[group_73577] +[group_73578] +[group_73579] +[group_73580] +[group_73581] +[group_73582] +[group_73583] +[group_73584] +[group_73585] +[group_73586] +[group_73587] +[group_73588] +[group_73589] +[group_73590] +[group_73591] +[group_73592] +[group_73593] +[group_73594] +[group_73595] +[group_73596] +[group_73597] +[group_73598] +[group_73599] +[group_73600] +[group_73601] +[group_73602] +[group_73603] +[group_73604] +[group_73605] +[group_73606] +[group_73607] +[group_73608] +[group_73609] +[group_73610] +[group_73611] +[group_73612] +[group_73613] +[group_73614] +[group_73615] +[group_73616] +[group_73617] +[group_73618] +[group_73619] +[group_73620] +[group_73621] +[group_73622] +[group_73623] +[group_73624] +[group_73625] +[group_73626] +[group_73627] +[group_73628] +[group_73629] +[group_73630] +[group_73631] +[group_73632] +[group_73633] +[group_73634] +[group_73635] +[group_73636] +[group_73637] +[group_73638] +[group_73639] +[group_73640] +[group_73641] +[group_73642] +[group_73643] +[group_73644] +[group_73645] +[group_73646] +[group_73647] +[group_73648] +[group_73649] +[group_73650] +[group_73651] +[group_73652] +[group_73653] +[group_73654] +[group_73655] +[group_73656] +[group_73657] +[group_73658] +[group_73659] +[group_73660] +[group_73661] +[group_73662] +[group_73663] +[group_73664] +[group_73665] +[group_73666] +[group_73667] +[group_73668] +[group_73669] +[group_73670] +[group_73671] +[group_73672] +[group_73673] +[group_73674] +[group_73675] +[group_73676] +[group_73677] +[group_73678] +[group_73679] +[group_73680] +[group_73681] +[group_73682] +[group_73683] +[group_73684] +[group_73685] +[group_73686] +[group_73687] +[group_73688] +[group_73689] +[group_73690] +[group_73691] +[group_73692] +[group_73693] +[group_73694] +[group_73695] +[group_73696] +[group_73697] +[group_73698] +[group_73699] +[group_73700] +[group_73701] +[group_73702] +[group_73703] +[group_73704] +[group_73705] +[group_73706] +[group_73707] +[group_73708] +[group_73709] +[group_73710] +[group_73711] +[group_73712] +[group_73713] +[group_73714] +[group_73715] +[group_73716] +[group_73717] +[group_73718] +[group_73719] +[group_73720] +[group_73721] +[group_73722] +[group_73723] +[group_73724] +[group_73725] +[group_73726] +[group_73727] +[group_73728] +[group_73729] +[group_73730] +[group_73731] +[group_73732] +[group_73733] +[group_73734] +[group_73735] +[group_73736] +[group_73737] +[group_73738] +[group_73739] +[group_73740] +[group_73741] +[group_73742] +[group_73743] +[group_73744] +[group_73745] +[group_73746] +[group_73747] +[group_73748] +[group_73749] +[group_73750] +[group_73751] +[group_73752] +[group_73753] +[group_73754] +[group_73755] +[group_73756] +[group_73757] +[group_73758] +[group_73759] +[group_73760] +[group_73761] +[group_73762] +[group_73763] +[group_73764] +[group_73765] +[group_73766] +[group_73767] +[group_73768] +[group_73769] +[group_73770] +[group_73771] +[group_73772] +[group_73773] +[group_73774] +[group_73775] +[group_73776] +[group_73777] +[group_73778] +[group_73779] +[group_73780] +[group_73781] +[group_73782] +[group_73783] +[group_73784] +[group_73785] +[group_73786] +[group_73787] +[group_73788] +[group_73789] +[group_73790] +[group_73791] +[group_73792] +[group_73793] +[group_73794] +[group_73795] +[group_73796] +[group_73797] +[group_73798] +[group_73799] +[group_73800] +[group_73801] +[group_73802] +[group_73803] +[group_73804] +[group_73805] +[group_73806] +[group_73807] +[group_73808] +[group_73809] +[group_73810] +[group_73811] +[group_73812] +[group_73813] +[group_73814] +[group_73815] +[group_73816] +[group_73817] +[group_73818] +[group_73819] +[group_73820] +[group_73821] +[group_73822] +[group_73823] +[group_73824] +[group_73825] +[group_73826] +[group_73827] +[group_73828] +[group_73829] +[group_73830] +[group_73831] +[group_73832] +[group_73833] +[group_73834] +[group_73835] +[group_73836] +[group_73837] +[group_73838] +[group_73839] +[group_73840] +[group_73841] +[group_73842] +[group_73843] +[group_73844] +[group_73845] +[group_73846] +[group_73847] +[group_73848] +[group_73849] +[group_73850] +[group_73851] +[group_73852] +[group_73853] +[group_73854] +[group_73855] +[group_73856] +[group_73857] +[group_73858] +[group_73859] +[group_73860] +[group_73861] +[group_73862] +[group_73863] +[group_73864] +[group_73865] +[group_73866] +[group_73867] +[group_73868] +[group_73869] +[group_73870] +[group_73871] +[group_73872] +[group_73873] +[group_73874] +[group_73875] +[group_73876] +[group_73877] +[group_73878] +[group_73879] +[group_73880] +[group_73881] +[group_73882] +[group_73883] +[group_73884] +[group_73885] +[group_73886] +[group_73887] +[group_73888] +[group_73889] +[group_73890] +[group_73891] +[group_73892] +[group_73893] +[group_73894] +[group_73895] +[group_73896] +[group_73897] +[group_73898] +[group_73899] +[group_73900] +[group_73901] +[group_73902] +[group_73903] +[group_73904] +[group_73905] +[group_73906] +[group_73907] +[group_73908] +[group_73909] +[group_73910] +[group_73911] +[group_73912] +[group_73913] +[group_73914] +[group_73915] +[group_73916] +[group_73917] +[group_73918] +[group_73919] +[group_73920] +[group_73921] +[group_73922] +[group_73923] +[group_73924] +[group_73925] +[group_73926] +[group_73927] +[group_73928] +[group_73929] +[group_73930] +[group_73931] +[group_73932] +[group_73933] +[group_73934] +[group_73935] +[group_73936] +[group_73937] +[group_73938] +[group_73939] +[group_73940] +[group_73941] +[group_73942] +[group_73943] +[group_73944] +[group_73945] +[group_73946] +[group_73947] +[group_73948] +[group_73949] +[group_73950] +[group_73951] +[group_73952] +[group_73953] +[group_73954] +[group_73955] +[group_73956] +[group_73957] +[group_73958] +[group_73959] +[group_73960] +[group_73961] +[group_73962] +[group_73963] +[group_73964] +[group_73965] +[group_73966] +[group_73967] +[group_73968] +[group_73969] +[group_73970] +[group_73971] +[group_73972] +[group_73973] +[group_73974] +[group_73975] +[group_73976] +[group_73977] +[group_73978] +[group_73979] +[group_73980] +[group_73981] +[group_73982] +[group_73983] +[group_73984] +[group_73985] +[group_73986] +[group_73987] +[group_73988] +[group_73989] +[group_73990] +[group_73991] +[group_73992] +[group_73993] +[group_73994] +[group_73995] +[group_73996] +[group_73997] +[group_73998] +[group_73999] +[group_74000] +[group_74001] +[group_74002] +[group_74003] +[group_74004] +[group_74005] +[group_74006] +[group_74007] +[group_74008] +[group_74009] +[group_74010] +[group_74011] +[group_74012] +[group_74013] +[group_74014] +[group_74015] +[group_74016] +[group_74017] +[group_74018] +[group_74019] +[group_74020] +[group_74021] +[group_74022] +[group_74023] +[group_74024] +[group_74025] +[group_74026] +[group_74027] +[group_74028] +[group_74029] +[group_74030] +[group_74031] +[group_74032] +[group_74033] +[group_74034] +[group_74035] +[group_74036] +[group_74037] +[group_74038] +[group_74039] +[group_74040] +[group_74041] +[group_74042] +[group_74043] +[group_74044] +[group_74045] +[group_74046] +[group_74047] +[group_74048] +[group_74049] +[group_74050] +[group_74051] +[group_74052] +[group_74053] +[group_74054] +[group_74055] +[group_74056] +[group_74057] +[group_74058] +[group_74059] +[group_74060] +[group_74061] +[group_74062] +[group_74063] +[group_74064] +[group_74065] +[group_74066] +[group_74067] +[group_74068] +[group_74069] +[group_74070] +[group_74071] +[group_74072] +[group_74073] +[group_74074] +[group_74075] +[group_74076] +[group_74077] +[group_74078] +[group_74079] +[group_74080] +[group_74081] +[group_74082] +[group_74083] +[group_74084] +[group_74085] +[group_74086] +[group_74087] +[group_74088] +[group_74089] +[group_74090] +[group_74091] +[group_74092] +[group_74093] +[group_74094] +[group_74095] +[group_74096] +[group_74097] +[group_74098] +[group_74099] +[group_74100] +[group_74101] +[group_74102] +[group_74103] +[group_74104] +[group_74105] +[group_74106] +[group_74107] +[group_74108] +[group_74109] +[group_74110] +[group_74111] +[group_74112] +[group_74113] +[group_74114] +[group_74115] +[group_74116] +[group_74117] +[group_74118] +[group_74119] +[group_74120] +[group_74121] +[group_74122] +[group_74123] +[group_74124] +[group_74125] +[group_74126] +[group_74127] +[group_74128] +[group_74129] +[group_74130] +[group_74131] +[group_74132] +[group_74133] +[group_74134] +[group_74135] +[group_74136] +[group_74137] +[group_74138] +[group_74139] +[group_74140] +[group_74141] +[group_74142] +[group_74143] +[group_74144] +[group_74145] +[group_74146] +[group_74147] +[group_74148] +[group_74149] +[group_74150] +[group_74151] +[group_74152] +[group_74153] +[group_74154] +[group_74155] +[group_74156] +[group_74157] +[group_74158] +[group_74159] +[group_74160] +[group_74161] +[group_74162] +[group_74163] +[group_74164] +[group_74165] +[group_74166] +[group_74167] +[group_74168] +[group_74169] +[group_74170] +[group_74171] +[group_74172] +[group_74173] +[group_74174] +[group_74175] +[group_74176] +[group_74177] +[group_74178] +[group_74179] +[group_74180] +[group_74181] +[group_74182] +[group_74183] +[group_74184] +[group_74185] +[group_74186] +[group_74187] +[group_74188] +[group_74189] +[group_74190] +[group_74191] +[group_74192] +[group_74193] +[group_74194] +[group_74195] +[group_74196] +[group_74197] +[group_74198] +[group_74199] +[group_74200] +[group_74201] +[group_74202] +[group_74203] +[group_74204] +[group_74205] +[group_74206] +[group_74207] +[group_74208] +[group_74209] +[group_74210] +[group_74211] +[group_74212] +[group_74213] +[group_74214] +[group_74215] +[group_74216] +[group_74217] +[group_74218] +[group_74219] +[group_74220] +[group_74221] +[group_74222] +[group_74223] +[group_74224] +[group_74225] +[group_74226] +[group_74227] +[group_74228] +[group_74229] +[group_74230] +[group_74231] +[group_74232] +[group_74233] +[group_74234] +[group_74235] +[group_74236] +[group_74237] +[group_74238] +[group_74239] +[group_74240] +[group_74241] +[group_74242] +[group_74243] +[group_74244] +[group_74245] +[group_74246] +[group_74247] +[group_74248] +[group_74249] +[group_74250] +[group_74251] +[group_74252] +[group_74253] +[group_74254] +[group_74255] +[group_74256] +[group_74257] +[group_74258] +[group_74259] +[group_74260] +[group_74261] +[group_74262] +[group_74263] +[group_74264] +[group_74265] +[group_74266] +[group_74267] +[group_74268] +[group_74269] +[group_74270] +[group_74271] +[group_74272] +[group_74273] +[group_74274] +[group_74275] +[group_74276] +[group_74277] +[group_74278] +[group_74279] +[group_74280] +[group_74281] +[group_74282] +[group_74283] +[group_74284] +[group_74285] +[group_74286] +[group_74287] +[group_74288] +[group_74289] +[group_74290] +[group_74291] +[group_74292] +[group_74293] +[group_74294] +[group_74295] +[group_74296] +[group_74297] +[group_74298] +[group_74299] +[group_74300] +[group_74301] +[group_74302] +[group_74303] +[group_74304] +[group_74305] +[group_74306] +[group_74307] +[group_74308] +[group_74309] +[group_74310] +[group_74311] +[group_74312] +[group_74313] +[group_74314] +[group_74315] +[group_74316] +[group_74317] +[group_74318] +[group_74319] +[group_74320] +[group_74321] +[group_74322] +[group_74323] +[group_74324] +[group_74325] +[group_74326] +[group_74327] +[group_74328] +[group_74329] +[group_74330] +[group_74331] +[group_74332] +[group_74333] +[group_74334] +[group_74335] +[group_74336] +[group_74337] +[group_74338] +[group_74339] +[group_74340] +[group_74341] +[group_74342] +[group_74343] +[group_74344] +[group_74345] +[group_74346] +[group_74347] +[group_74348] +[group_74349] +[group_74350] +[group_74351] +[group_74352] +[group_74353] +[group_74354] +[group_74355] +[group_74356] +[group_74357] +[group_74358] +[group_74359] +[group_74360] +[group_74361] +[group_74362] +[group_74363] +[group_74364] +[group_74365] +[group_74366] +[group_74367] +[group_74368] +[group_74369] +[group_74370] +[group_74371] +[group_74372] +[group_74373] +[group_74374] +[group_74375] +[group_74376] +[group_74377] +[group_74378] +[group_74379] +[group_74380] +[group_74381] +[group_74382] +[group_74383] +[group_74384] +[group_74385] +[group_74386] +[group_74387] +[group_74388] +[group_74389] +[group_74390] +[group_74391] +[group_74392] +[group_74393] +[group_74394] +[group_74395] +[group_74396] +[group_74397] +[group_74398] +[group_74399] +[group_74400] +[group_74401] +[group_74402] +[group_74403] +[group_74404] +[group_74405] +[group_74406] +[group_74407] +[group_74408] +[group_74409] +[group_74410] +[group_74411] +[group_74412] +[group_74413] +[group_74414] +[group_74415] +[group_74416] +[group_74417] +[group_74418] +[group_74419] +[group_74420] +[group_74421] +[group_74422] +[group_74423] +[group_74424] +[group_74425] +[group_74426] +[group_74427] +[group_74428] +[group_74429] +[group_74430] +[group_74431] +[group_74432] +[group_74433] +[group_74434] +[group_74435] +[group_74436] +[group_74437] +[group_74438] +[group_74439] +[group_74440] +[group_74441] +[group_74442] +[group_74443] +[group_74444] +[group_74445] +[group_74446] +[group_74447] +[group_74448] +[group_74449] +[group_74450] +[group_74451] +[group_74452] +[group_74453] +[group_74454] +[group_74455] +[group_74456] +[group_74457] +[group_74458] +[group_74459] +[group_74460] +[group_74461] +[group_74462] +[group_74463] +[group_74464] +[group_74465] +[group_74466] +[group_74467] +[group_74468] +[group_74469] +[group_74470] +[group_74471] +[group_74472] +[group_74473] +[group_74474] +[group_74475] +[group_74476] +[group_74477] +[group_74478] +[group_74479] +[group_74480] +[group_74481] +[group_74482] +[group_74483] +[group_74484] +[group_74485] +[group_74486] +[group_74487] +[group_74488] +[group_74489] +[group_74490] +[group_74491] +[group_74492] +[group_74493] +[group_74494] +[group_74495] +[group_74496] +[group_74497] +[group_74498] +[group_74499] +[group_74500] +[group_74501] +[group_74502] +[group_74503] +[group_74504] +[group_74505] +[group_74506] +[group_74507] +[group_74508] +[group_74509] +[group_74510] +[group_74511] +[group_74512] +[group_74513] +[group_74514] +[group_74515] +[group_74516] +[group_74517] +[group_74518] +[group_74519] +[group_74520] +[group_74521] +[group_74522] +[group_74523] +[group_74524] +[group_74525] +[group_74526] +[group_74527] +[group_74528] +[group_74529] +[group_74530] +[group_74531] +[group_74532] +[group_74533] +[group_74534] +[group_74535] +[group_74536] +[group_74537] +[group_74538] +[group_74539] +[group_74540] +[group_74541] +[group_74542] +[group_74543] +[group_74544] +[group_74545] +[group_74546] +[group_74547] +[group_74548] +[group_74549] +[group_74550] +[group_74551] +[group_74552] +[group_74553] +[group_74554] +[group_74555] +[group_74556] +[group_74557] +[group_74558] +[group_74559] +[group_74560] +[group_74561] +[group_74562] +[group_74563] +[group_74564] +[group_74565] +[group_74566] +[group_74567] +[group_74568] +[group_74569] +[group_74570] +[group_74571] +[group_74572] +[group_74573] +[group_74574] +[group_74575] +[group_74576] +[group_74577] +[group_74578] +[group_74579] +[group_74580] +[group_74581] +[group_74582] +[group_74583] +[group_74584] +[group_74585] +[group_74586] +[group_74587] +[group_74588] +[group_74589] +[group_74590] +[group_74591] +[group_74592] +[group_74593] +[group_74594] +[group_74595] +[group_74596] +[group_74597] +[group_74598] +[group_74599] +[group_74600] +[group_74601] +[group_74602] +[group_74603] +[group_74604] +[group_74605] +[group_74606] +[group_74607] +[group_74608] +[group_74609] +[group_74610] +[group_74611] +[group_74612] +[group_74613] +[group_74614] +[group_74615] +[group_74616] +[group_74617] +[group_74618] +[group_74619] +[group_74620] +[group_74621] +[group_74622] +[group_74623] +[group_74624] +[group_74625] +[group_74626] +[group_74627] +[group_74628] +[group_74629] +[group_74630] +[group_74631] +[group_74632] +[group_74633] +[group_74634] +[group_74635] +[group_74636] +[group_74637] +[group_74638] +[group_74639] +[group_74640] +[group_74641] +[group_74642] +[group_74643] +[group_74644] +[group_74645] +[group_74646] +[group_74647] +[group_74648] +[group_74649] +[group_74650] +[group_74651] +[group_74652] +[group_74653] +[group_74654] +[group_74655] +[group_74656] +[group_74657] +[group_74658] +[group_74659] +[group_74660] +[group_74661] +[group_74662] +[group_74663] +[group_74664] +[group_74665] +[group_74666] +[group_74667] +[group_74668] +[group_74669] +[group_74670] +[group_74671] +[group_74672] +[group_74673] +[group_74674] +[group_74675] +[group_74676] +[group_74677] +[group_74678] +[group_74679] +[group_74680] +[group_74681] +[group_74682] +[group_74683] +[group_74684] +[group_74685] +[group_74686] +[group_74687] +[group_74688] +[group_74689] +[group_74690] +[group_74691] +[group_74692] +[group_74693] +[group_74694] +[group_74695] +[group_74696] +[group_74697] +[group_74698] +[group_74699] +[group_74700] +[group_74701] +[group_74702] +[group_74703] +[group_74704] +[group_74705] +[group_74706] +[group_74707] +[group_74708] +[group_74709] +[group_74710] +[group_74711] +[group_74712] +[group_74713] +[group_74714] +[group_74715] +[group_74716] +[group_74717] +[group_74718] +[group_74719] +[group_74720] +[group_74721] +[group_74722] +[group_74723] +[group_74724] +[group_74725] +[group_74726] +[group_74727] +[group_74728] +[group_74729] +[group_74730] +[group_74731] +[group_74732] +[group_74733] +[group_74734] +[group_74735] +[group_74736] +[group_74737] +[group_74738] +[group_74739] +[group_74740] +[group_74741] +[group_74742] +[group_74743] +[group_74744] +[group_74745] +[group_74746] +[group_74747] +[group_74748] +[group_74749] +[group_74750] +[group_74751] +[group_74752] +[group_74753] +[group_74754] +[group_74755] +[group_74756] +[group_74757] +[group_74758] +[group_74759] +[group_74760] +[group_74761] +[group_74762] +[group_74763] +[group_74764] +[group_74765] +[group_74766] +[group_74767] +[group_74768] +[group_74769] +[group_74770] +[group_74771] +[group_74772] +[group_74773] +[group_74774] +[group_74775] +[group_74776] +[group_74777] +[group_74778] +[group_74779] +[group_74780] +[group_74781] +[group_74782] +[group_74783] +[group_74784] +[group_74785] +[group_74786] +[group_74787] +[group_74788] +[group_74789] +[group_74790] +[group_74791] +[group_74792] +[group_74793] +[group_74794] +[group_74795] +[group_74796] +[group_74797] +[group_74798] +[group_74799] +[group_74800] +[group_74801] +[group_74802] +[group_74803] +[group_74804] +[group_74805] +[group_74806] +[group_74807] +[group_74808] +[group_74809] +[group_74810] +[group_74811] +[group_74812] +[group_74813] +[group_74814] +[group_74815] +[group_74816] +[group_74817] +[group_74818] +[group_74819] +[group_74820] +[group_74821] +[group_74822] +[group_74823] +[group_74824] +[group_74825] +[group_74826] +[group_74827] +[group_74828] +[group_74829] +[group_74830] +[group_74831] +[group_74832] +[group_74833] +[group_74834] +[group_74835] +[group_74836] +[group_74837] +[group_74838] +[group_74839] +[group_74840] +[group_74841] +[group_74842] +[group_74843] +[group_74844] +[group_74845] +[group_74846] +[group_74847] +[group_74848] +[group_74849] +[group_74850] +[group_74851] +[group_74852] +[group_74853] +[group_74854] +[group_74855] +[group_74856] +[group_74857] +[group_74858] +[group_74859] +[group_74860] +[group_74861] +[group_74862] +[group_74863] +[group_74864] +[group_74865] +[group_74866] +[group_74867] +[group_74868] +[group_74869] +[group_74870] +[group_74871] +[group_74872] +[group_74873] +[group_74874] +[group_74875] +[group_74876] +[group_74877] +[group_74878] +[group_74879] +[group_74880] +[group_74881] +[group_74882] +[group_74883] +[group_74884] +[group_74885] +[group_74886] +[group_74887] +[group_74888] +[group_74889] +[group_74890] +[group_74891] +[group_74892] +[group_74893] +[group_74894] +[group_74895] +[group_74896] +[group_74897] +[group_74898] +[group_74899] +[group_74900] +[group_74901] +[group_74902] +[group_74903] +[group_74904] +[group_74905] +[group_74906] +[group_74907] +[group_74908] +[group_74909] +[group_74910] +[group_74911] +[group_74912] +[group_74913] +[group_74914] +[group_74915] +[group_74916] +[group_74917] +[group_74918] +[group_74919] +[group_74920] +[group_74921] +[group_74922] +[group_74923] +[group_74924] +[group_74925] +[group_74926] +[group_74927] +[group_74928] +[group_74929] +[group_74930] +[group_74931] +[group_74932] +[group_74933] +[group_74934] +[group_74935] +[group_74936] +[group_74937] +[group_74938] +[group_74939] +[group_74940] +[group_74941] +[group_74942] +[group_74943] +[group_74944] +[group_74945] +[group_74946] +[group_74947] +[group_74948] +[group_74949] +[group_74950] +[group_74951] +[group_74952] +[group_74953] +[group_74954] +[group_74955] +[group_74956] +[group_74957] +[group_74958] +[group_74959] +[group_74960] +[group_74961] +[group_74962] +[group_74963] +[group_74964] +[group_74965] +[group_74966] +[group_74967] +[group_74968] +[group_74969] +[group_74970] +[group_74971] +[group_74972] +[group_74973] +[group_74974] +[group_74975] +[group_74976] +[group_74977] +[group_74978] +[group_74979] +[group_74980] +[group_74981] +[group_74982] +[group_74983] +[group_74984] +[group_74985] +[group_74986] +[group_74987] +[group_74988] +[group_74989] +[group_74990] +[group_74991] +[group_74992] +[group_74993] +[group_74994] +[group_74995] +[group_74996] +[group_74997] +[group_74998] +[group_74999] +[group_75000] +[group_75001] +[group_75002] +[group_75003] +[group_75004] +[group_75005] +[group_75006] +[group_75007] +[group_75008] +[group_75009] +[group_75010] +[group_75011] +[group_75012] +[group_75013] +[group_75014] +[group_75015] +[group_75016] +[group_75017] +[group_75018] +[group_75019] +[group_75020] +[group_75021] +[group_75022] +[group_75023] +[group_75024] +[group_75025] +[group_75026] +[group_75027] +[group_75028] +[group_75029] +[group_75030] +[group_75031] +[group_75032] +[group_75033] +[group_75034] +[group_75035] +[group_75036] +[group_75037] +[group_75038] +[group_75039] +[group_75040] +[group_75041] +[group_75042] +[group_75043] +[group_75044] +[group_75045] +[group_75046] +[group_75047] +[group_75048] +[group_75049] +[group_75050] +[group_75051] +[group_75052] +[group_75053] +[group_75054] +[group_75055] +[group_75056] +[group_75057] +[group_75058] +[group_75059] +[group_75060] +[group_75061] +[group_75062] +[group_75063] +[group_75064] +[group_75065] +[group_75066] +[group_75067] +[group_75068] +[group_75069] +[group_75070] +[group_75071] +[group_75072] +[group_75073] +[group_75074] +[group_75075] +[group_75076] +[group_75077] +[group_75078] +[group_75079] +[group_75080] +[group_75081] +[group_75082] +[group_75083] +[group_75084] +[group_75085] +[group_75086] +[group_75087] +[group_75088] +[group_75089] +[group_75090] +[group_75091] +[group_75092] +[group_75093] +[group_75094] +[group_75095] +[group_75096] +[group_75097] +[group_75098] +[group_75099] +[group_75100] +[group_75101] +[group_75102] +[group_75103] +[group_75104] +[group_75105] +[group_75106] +[group_75107] +[group_75108] +[group_75109] +[group_75110] +[group_75111] +[group_75112] +[group_75113] +[group_75114] +[group_75115] +[group_75116] +[group_75117] +[group_75118] +[group_75119] +[group_75120] +[group_75121] +[group_75122] +[group_75123] +[group_75124] +[group_75125] +[group_75126] +[group_75127] +[group_75128] +[group_75129] +[group_75130] +[group_75131] +[group_75132] +[group_75133] +[group_75134] +[group_75135] +[group_75136] +[group_75137] +[group_75138] +[group_75139] +[group_75140] +[group_75141] +[group_75142] +[group_75143] +[group_75144] +[group_75145] +[group_75146] +[group_75147] +[group_75148] +[group_75149] +[group_75150] +[group_75151] +[group_75152] +[group_75153] +[group_75154] +[group_75155] +[group_75156] +[group_75157] +[group_75158] +[group_75159] +[group_75160] +[group_75161] +[group_75162] +[group_75163] +[group_75164] +[group_75165] +[group_75166] +[group_75167] +[group_75168] +[group_75169] +[group_75170] +[group_75171] +[group_75172] +[group_75173] +[group_75174] +[group_75175] +[group_75176] +[group_75177] +[group_75178] +[group_75179] +[group_75180] +[group_75181] +[group_75182] +[group_75183] +[group_75184] +[group_75185] +[group_75186] +[group_75187] +[group_75188] +[group_75189] +[group_75190] +[group_75191] +[group_75192] +[group_75193] +[group_75194] +[group_75195] +[group_75196] +[group_75197] +[group_75198] +[group_75199] +[group_75200] +[group_75201] +[group_75202] +[group_75203] +[group_75204] +[group_75205] +[group_75206] +[group_75207] +[group_75208] +[group_75209] +[group_75210] +[group_75211] +[group_75212] +[group_75213] +[group_75214] +[group_75215] +[group_75216] +[group_75217] +[group_75218] +[group_75219] +[group_75220] +[group_75221] +[group_75222] +[group_75223] +[group_75224] +[group_75225] +[group_75226] +[group_75227] +[group_75228] +[group_75229] +[group_75230] +[group_75231] +[group_75232] +[group_75233] +[group_75234] +[group_75235] +[group_75236] +[group_75237] +[group_75238] +[group_75239] +[group_75240] +[group_75241] +[group_75242] +[group_75243] +[group_75244] +[group_75245] +[group_75246] +[group_75247] +[group_75248] +[group_75249] +[group_75250] +[group_75251] +[group_75252] +[group_75253] +[group_75254] +[group_75255] +[group_75256] +[group_75257] +[group_75258] +[group_75259] +[group_75260] +[group_75261] +[group_75262] +[group_75263] +[group_75264] +[group_75265] +[group_75266] +[group_75267] +[group_75268] +[group_75269] +[group_75270] +[group_75271] +[group_75272] +[group_75273] +[group_75274] +[group_75275] +[group_75276] +[group_75277] +[group_75278] +[group_75279] +[group_75280] +[group_75281] +[group_75282] +[group_75283] +[group_75284] +[group_75285] +[group_75286] +[group_75287] +[group_75288] +[group_75289] +[group_75290] +[group_75291] +[group_75292] +[group_75293] +[group_75294] +[group_75295] +[group_75296] +[group_75297] +[group_75298] +[group_75299] +[group_75300] +[group_75301] +[group_75302] +[group_75303] +[group_75304] +[group_75305] +[group_75306] +[group_75307] +[group_75308] +[group_75309] +[group_75310] +[group_75311] +[group_75312] +[group_75313] +[group_75314] +[group_75315] +[group_75316] +[group_75317] +[group_75318] +[group_75319] +[group_75320] +[group_75321] +[group_75322] +[group_75323] +[group_75324] +[group_75325] +[group_75326] +[group_75327] +[group_75328] +[group_75329] +[group_75330] +[group_75331] +[group_75332] +[group_75333] +[group_75334] +[group_75335] +[group_75336] +[group_75337] +[group_75338] +[group_75339] +[group_75340] +[group_75341] +[group_75342] +[group_75343] +[group_75344] +[group_75345] +[group_75346] +[group_75347] +[group_75348] +[group_75349] +[group_75350] +[group_75351] +[group_75352] +[group_75353] +[group_75354] +[group_75355] +[group_75356] +[group_75357] +[group_75358] +[group_75359] +[group_75360] +[group_75361] +[group_75362] +[group_75363] +[group_75364] +[group_75365] +[group_75366] +[group_75367] +[group_75368] +[group_75369] +[group_75370] +[group_75371] +[group_75372] +[group_75373] +[group_75374] +[group_75375] +[group_75376] +[group_75377] +[group_75378] +[group_75379] +[group_75380] +[group_75381] +[group_75382] +[group_75383] +[group_75384] +[group_75385] +[group_75386] +[group_75387] +[group_75388] +[group_75389] +[group_75390] +[group_75391] +[group_75392] +[group_75393] +[group_75394] +[group_75395] +[group_75396] +[group_75397] +[group_75398] +[group_75399] +[group_75400] +[group_75401] +[group_75402] +[group_75403] +[group_75404] +[group_75405] +[group_75406] +[group_75407] +[group_75408] +[group_75409] +[group_75410] +[group_75411] +[group_75412] +[group_75413] +[group_75414] +[group_75415] +[group_75416] +[group_75417] +[group_75418] +[group_75419] +[group_75420] +[group_75421] +[group_75422] +[group_75423] +[group_75424] +[group_75425] +[group_75426] +[group_75427] +[group_75428] +[group_75429] +[group_75430] +[group_75431] +[group_75432] +[group_75433] +[group_75434] +[group_75435] +[group_75436] +[group_75437] +[group_75438] +[group_75439] +[group_75440] +[group_75441] +[group_75442] +[group_75443] +[group_75444] +[group_75445] +[group_75446] +[group_75447] +[group_75448] +[group_75449] +[group_75450] +[group_75451] +[group_75452] +[group_75453] +[group_75454] +[group_75455] +[group_75456] +[group_75457] +[group_75458] +[group_75459] +[group_75460] +[group_75461] +[group_75462] +[group_75463] +[group_75464] +[group_75465] +[group_75466] +[group_75467] +[group_75468] +[group_75469] +[group_75470] +[group_75471] +[group_75472] +[group_75473] +[group_75474] +[group_75475] +[group_75476] +[group_75477] +[group_75478] +[group_75479] +[group_75480] +[group_75481] +[group_75482] +[group_75483] +[group_75484] +[group_75485] +[group_75486] +[group_75487] +[group_75488] +[group_75489] +[group_75490] +[group_75491] +[group_75492] +[group_75493] +[group_75494] +[group_75495] +[group_75496] +[group_75497] +[group_75498] +[group_75499] +[group_75500] +[group_75501] +[group_75502] +[group_75503] +[group_75504] +[group_75505] +[group_75506] +[group_75507] +[group_75508] +[group_75509] +[group_75510] +[group_75511] +[group_75512] +[group_75513] +[group_75514] +[group_75515] +[group_75516] +[group_75517] +[group_75518] +[group_75519] +[group_75520] +[group_75521] +[group_75522] +[group_75523] +[group_75524] +[group_75525] +[group_75526] +[group_75527] +[group_75528] +[group_75529] +[group_75530] +[group_75531] +[group_75532] +[group_75533] +[group_75534] +[group_75535] +[group_75536] +[group_75537] +[group_75538] +[group_75539] +[group_75540] +[group_75541] +[group_75542] +[group_75543] +[group_75544] +[group_75545] +[group_75546] +[group_75547] +[group_75548] +[group_75549] +[group_75550] +[group_75551] +[group_75552] +[group_75553] +[group_75554] +[group_75555] +[group_75556] +[group_75557] +[group_75558] +[group_75559] +[group_75560] +[group_75561] +[group_75562] +[group_75563] +[group_75564] +[group_75565] +[group_75566] +[group_75567] +[group_75568] +[group_75569] +[group_75570] +[group_75571] +[group_75572] +[group_75573] +[group_75574] +[group_75575] +[group_75576] +[group_75577] +[group_75578] +[group_75579] +[group_75580] +[group_75581] +[group_75582] +[group_75583] +[group_75584] +[group_75585] +[group_75586] +[group_75587] +[group_75588] +[group_75589] +[group_75590] +[group_75591] +[group_75592] +[group_75593] +[group_75594] +[group_75595] +[group_75596] +[group_75597] +[group_75598] +[group_75599] +[group_75600] +[group_75601] +[group_75602] +[group_75603] +[group_75604] +[group_75605] +[group_75606] +[group_75607] +[group_75608] +[group_75609] +[group_75610] +[group_75611] +[group_75612] +[group_75613] +[group_75614] +[group_75615] +[group_75616] +[group_75617] +[group_75618] +[group_75619] +[group_75620] +[group_75621] +[group_75622] +[group_75623] +[group_75624] +[group_75625] +[group_75626] +[group_75627] +[group_75628] +[group_75629] +[group_75630] +[group_75631] +[group_75632] +[group_75633] +[group_75634] +[group_75635] +[group_75636] +[group_75637] +[group_75638] +[group_75639] +[group_75640] +[group_75641] +[group_75642] +[group_75643] +[group_75644] +[group_75645] +[group_75646] +[group_75647] +[group_75648] +[group_75649] +[group_75650] +[group_75651] +[group_75652] +[group_75653] +[group_75654] +[group_75655] +[group_75656] +[group_75657] +[group_75658] +[group_75659] +[group_75660] +[group_75661] +[group_75662] +[group_75663] +[group_75664] +[group_75665] +[group_75666] +[group_75667] +[group_75668] +[group_75669] +[group_75670] +[group_75671] +[group_75672] +[group_75673] +[group_75674] +[group_75675] +[group_75676] +[group_75677] +[group_75678] +[group_75679] +[group_75680] +[group_75681] +[group_75682] +[group_75683] +[group_75684] +[group_75685] +[group_75686] +[group_75687] +[group_75688] +[group_75689] +[group_75690] +[group_75691] +[group_75692] +[group_75693] +[group_75694] +[group_75695] +[group_75696] +[group_75697] +[group_75698] +[group_75699] +[group_75700] +[group_75701] +[group_75702] +[group_75703] +[group_75704] +[group_75705] +[group_75706] +[group_75707] +[group_75708] +[group_75709] +[group_75710] +[group_75711] +[group_75712] +[group_75713] +[group_75714] +[group_75715] +[group_75716] +[group_75717] +[group_75718] +[group_75719] +[group_75720] +[group_75721] +[group_75722] +[group_75723] +[group_75724] +[group_75725] +[group_75726] +[group_75727] +[group_75728] +[group_75729] +[group_75730] +[group_75731] +[group_75732] +[group_75733] +[group_75734] +[group_75735] +[group_75736] +[group_75737] +[group_75738] +[group_75739] +[group_75740] +[group_75741] +[group_75742] +[group_75743] +[group_75744] +[group_75745] +[group_75746] +[group_75747] +[group_75748] +[group_75749] +[group_75750] +[group_75751] +[group_75752] +[group_75753] +[group_75754] +[group_75755] +[group_75756] +[group_75757] +[group_75758] +[group_75759] +[group_75760] +[group_75761] +[group_75762] +[group_75763] +[group_75764] +[group_75765] +[group_75766] +[group_75767] +[group_75768] +[group_75769] +[group_75770] +[group_75771] +[group_75772] +[group_75773] +[group_75774] +[group_75775] +[group_75776] +[group_75777] +[group_75778] +[group_75779] +[group_75780] +[group_75781] +[group_75782] +[group_75783] +[group_75784] +[group_75785] +[group_75786] +[group_75787] +[group_75788] +[group_75789] +[group_75790] +[group_75791] +[group_75792] +[group_75793] +[group_75794] +[group_75795] +[group_75796] +[group_75797] +[group_75798] +[group_75799] +[group_75800] +[group_75801] +[group_75802] +[group_75803] +[group_75804] +[group_75805] +[group_75806] +[group_75807] +[group_75808] +[group_75809] +[group_75810] +[group_75811] +[group_75812] +[group_75813] +[group_75814] +[group_75815] +[group_75816] +[group_75817] +[group_75818] +[group_75819] +[group_75820] +[group_75821] +[group_75822] +[group_75823] +[group_75824] +[group_75825] +[group_75826] +[group_75827] +[group_75828] +[group_75829] +[group_75830] +[group_75831] +[group_75832] +[group_75833] +[group_75834] +[group_75835] +[group_75836] +[group_75837] +[group_75838] +[group_75839] +[group_75840] +[group_75841] +[group_75842] +[group_75843] +[group_75844] +[group_75845] +[group_75846] +[group_75847] +[group_75848] +[group_75849] +[group_75850] +[group_75851] +[group_75852] +[group_75853] +[group_75854] +[group_75855] +[group_75856] +[group_75857] +[group_75858] +[group_75859] +[group_75860] +[group_75861] +[group_75862] +[group_75863] +[group_75864] +[group_75865] +[group_75866] +[group_75867] +[group_75868] +[group_75869] +[group_75870] +[group_75871] +[group_75872] +[group_75873] +[group_75874] +[group_75875] +[group_75876] +[group_75877] +[group_75878] +[group_75879] +[group_75880] +[group_75881] +[group_75882] +[group_75883] +[group_75884] +[group_75885] +[group_75886] +[group_75887] +[group_75888] +[group_75889] +[group_75890] +[group_75891] +[group_75892] +[group_75893] +[group_75894] +[group_75895] +[group_75896] +[group_75897] +[group_75898] +[group_75899] +[group_75900] +[group_75901] +[group_75902] +[group_75903] +[group_75904] +[group_75905] +[group_75906] +[group_75907] +[group_75908] +[group_75909] +[group_75910] +[group_75911] +[group_75912] +[group_75913] +[group_75914] +[group_75915] +[group_75916] +[group_75917] +[group_75918] +[group_75919] +[group_75920] +[group_75921] +[group_75922] +[group_75923] +[group_75924] +[group_75925] +[group_75926] +[group_75927] +[group_75928] +[group_75929] +[group_75930] +[group_75931] +[group_75932] +[group_75933] +[group_75934] +[group_75935] +[group_75936] +[group_75937] +[group_75938] +[group_75939] +[group_75940] +[group_75941] +[group_75942] +[group_75943] +[group_75944] +[group_75945] +[group_75946] +[group_75947] +[group_75948] +[group_75949] +[group_75950] +[group_75951] +[group_75952] +[group_75953] +[group_75954] +[group_75955] +[group_75956] +[group_75957] +[group_75958] +[group_75959] +[group_75960] +[group_75961] +[group_75962] +[group_75963] +[group_75964] +[group_75965] +[group_75966] +[group_75967] +[group_75968] +[group_75969] +[group_75970] +[group_75971] +[group_75972] +[group_75973] +[group_75974] +[group_75975] +[group_75976] +[group_75977] +[group_75978] +[group_75979] +[group_75980] +[group_75981] +[group_75982] +[group_75983] +[group_75984] +[group_75985] +[group_75986] +[group_75987] +[group_75988] +[group_75989] +[group_75990] +[group_75991] +[group_75992] +[group_75993] +[group_75994] +[group_75995] +[group_75996] +[group_75997] +[group_75998] +[group_75999] +[group_76000] +[group_76001] +[group_76002] +[group_76003] +[group_76004] +[group_76005] +[group_76006] +[group_76007] +[group_76008] +[group_76009] +[group_76010] +[group_76011] +[group_76012] +[group_76013] +[group_76014] +[group_76015] +[group_76016] +[group_76017] +[group_76018] +[group_76019] +[group_76020] +[group_76021] +[group_76022] +[group_76023] +[group_76024] +[group_76025] +[group_76026] +[group_76027] +[group_76028] +[group_76029] +[group_76030] +[group_76031] +[group_76032] +[group_76033] +[group_76034] +[group_76035] +[group_76036] +[group_76037] +[group_76038] +[group_76039] +[group_76040] +[group_76041] +[group_76042] +[group_76043] +[group_76044] +[group_76045] +[group_76046] +[group_76047] +[group_76048] +[group_76049] +[group_76050] +[group_76051] +[group_76052] +[group_76053] +[group_76054] +[group_76055] +[group_76056] +[group_76057] +[group_76058] +[group_76059] +[group_76060] +[group_76061] +[group_76062] +[group_76063] +[group_76064] +[group_76065] +[group_76066] +[group_76067] +[group_76068] +[group_76069] +[group_76070] +[group_76071] +[group_76072] +[group_76073] +[group_76074] +[group_76075] +[group_76076] +[group_76077] +[group_76078] +[group_76079] +[group_76080] +[group_76081] +[group_76082] +[group_76083] +[group_76084] +[group_76085] +[group_76086] +[group_76087] +[group_76088] +[group_76089] +[group_76090] +[group_76091] +[group_76092] +[group_76093] +[group_76094] +[group_76095] +[group_76096] +[group_76097] +[group_76098] +[group_76099] +[group_76100] +[group_76101] +[group_76102] +[group_76103] +[group_76104] +[group_76105] +[group_76106] +[group_76107] +[group_76108] +[group_76109] +[group_76110] +[group_76111] +[group_76112] +[group_76113] +[group_76114] +[group_76115] +[group_76116] +[group_76117] +[group_76118] +[group_76119] +[group_76120] +[group_76121] +[group_76122] +[group_76123] +[group_76124] +[group_76125] +[group_76126] +[group_76127] +[group_76128] +[group_76129] +[group_76130] +[group_76131] +[group_76132] +[group_76133] +[group_76134] +[group_76135] +[group_76136] +[group_76137] +[group_76138] +[group_76139] +[group_76140] +[group_76141] +[group_76142] +[group_76143] +[group_76144] +[group_76145] +[group_76146] +[group_76147] +[group_76148] +[group_76149] +[group_76150] +[group_76151] +[group_76152] +[group_76153] +[group_76154] +[group_76155] +[group_76156] +[group_76157] +[group_76158] +[group_76159] +[group_76160] +[group_76161] +[group_76162] +[group_76163] +[group_76164] +[group_76165] +[group_76166] +[group_76167] +[group_76168] +[group_76169] +[group_76170] +[group_76171] +[group_76172] +[group_76173] +[group_76174] +[group_76175] +[group_76176] +[group_76177] +[group_76178] +[group_76179] +[group_76180] +[group_76181] +[group_76182] +[group_76183] +[group_76184] +[group_76185] +[group_76186] +[group_76187] +[group_76188] +[group_76189] +[group_76190] +[group_76191] +[group_76192] +[group_76193] +[group_76194] +[group_76195] +[group_76196] +[group_76197] +[group_76198] +[group_76199] +[group_76200] +[group_76201] +[group_76202] +[group_76203] +[group_76204] +[group_76205] +[group_76206] +[group_76207] +[group_76208] +[group_76209] +[group_76210] +[group_76211] +[group_76212] +[group_76213] +[group_76214] +[group_76215] +[group_76216] +[group_76217] +[group_76218] +[group_76219] +[group_76220] +[group_76221] +[group_76222] +[group_76223] +[group_76224] +[group_76225] +[group_76226] +[group_76227] +[group_76228] +[group_76229] +[group_76230] +[group_76231] +[group_76232] +[group_76233] +[group_76234] +[group_76235] +[group_76236] +[group_76237] +[group_76238] +[group_76239] +[group_76240] +[group_76241] +[group_76242] +[group_76243] +[group_76244] +[group_76245] +[group_76246] +[group_76247] +[group_76248] +[group_76249] +[group_76250] +[group_76251] +[group_76252] +[group_76253] +[group_76254] +[group_76255] +[group_76256] +[group_76257] +[group_76258] +[group_76259] +[group_76260] +[group_76261] +[group_76262] +[group_76263] +[group_76264] +[group_76265] +[group_76266] +[group_76267] +[group_76268] +[group_76269] +[group_76270] +[group_76271] +[group_76272] +[group_76273] +[group_76274] +[group_76275] +[group_76276] +[group_76277] +[group_76278] +[group_76279] +[group_76280] +[group_76281] +[group_76282] +[group_76283] +[group_76284] +[group_76285] +[group_76286] +[group_76287] +[group_76288] +[group_76289] +[group_76290] +[group_76291] +[group_76292] +[group_76293] +[group_76294] +[group_76295] +[group_76296] +[group_76297] +[group_76298] +[group_76299] +[group_76300] +[group_76301] +[group_76302] +[group_76303] +[group_76304] +[group_76305] +[group_76306] +[group_76307] +[group_76308] +[group_76309] +[group_76310] +[group_76311] +[group_76312] +[group_76313] +[group_76314] +[group_76315] +[group_76316] +[group_76317] +[group_76318] +[group_76319] +[group_76320] +[group_76321] +[group_76322] +[group_76323] +[group_76324] +[group_76325] +[group_76326] +[group_76327] +[group_76328] +[group_76329] +[group_76330] +[group_76331] +[group_76332] +[group_76333] +[group_76334] +[group_76335] +[group_76336] +[group_76337] +[group_76338] +[group_76339] +[group_76340] +[group_76341] +[group_76342] +[group_76343] +[group_76344] +[group_76345] +[group_76346] +[group_76347] +[group_76348] +[group_76349] +[group_76350] +[group_76351] +[group_76352] +[group_76353] +[group_76354] +[group_76355] +[group_76356] +[group_76357] +[group_76358] +[group_76359] +[group_76360] +[group_76361] +[group_76362] +[group_76363] +[group_76364] +[group_76365] +[group_76366] +[group_76367] +[group_76368] +[group_76369] +[group_76370] +[group_76371] +[group_76372] +[group_76373] +[group_76374] +[group_76375] +[group_76376] +[group_76377] +[group_76378] +[group_76379] +[group_76380] +[group_76381] +[group_76382] +[group_76383] +[group_76384] +[group_76385] +[group_76386] +[group_76387] +[group_76388] +[group_76389] +[group_76390] +[group_76391] +[group_76392] +[group_76393] +[group_76394] +[group_76395] +[group_76396] +[group_76397] +[group_76398] +[group_76399] +[group_76400] +[group_76401] +[group_76402] +[group_76403] +[group_76404] +[group_76405] +[group_76406] +[group_76407] +[group_76408] +[group_76409] +[group_76410] +[group_76411] +[group_76412] +[group_76413] +[group_76414] +[group_76415] +[group_76416] +[group_76417] +[group_76418] +[group_76419] +[group_76420] +[group_76421] +[group_76422] +[group_76423] +[group_76424] +[group_76425] +[group_76426] +[group_76427] +[group_76428] +[group_76429] +[group_76430] +[group_76431] +[group_76432] +[group_76433] +[group_76434] +[group_76435] +[group_76436] +[group_76437] +[group_76438] +[group_76439] +[group_76440] +[group_76441] +[group_76442] +[group_76443] +[group_76444] +[group_76445] +[group_76446] +[group_76447] +[group_76448] +[group_76449] +[group_76450] +[group_76451] +[group_76452] +[group_76453] +[group_76454] +[group_76455] +[group_76456] +[group_76457] +[group_76458] +[group_76459] +[group_76460] +[group_76461] +[group_76462] +[group_76463] +[group_76464] +[group_76465] +[group_76466] +[group_76467] +[group_76468] +[group_76469] +[group_76470] +[group_76471] +[group_76472] +[group_76473] +[group_76474] +[group_76475] +[group_76476] +[group_76477] +[group_76478] +[group_76479] +[group_76480] +[group_76481] +[group_76482] +[group_76483] +[group_76484] +[group_76485] +[group_76486] +[group_76487] +[group_76488] +[group_76489] +[group_76490] +[group_76491] +[group_76492] +[group_76493] +[group_76494] +[group_76495] +[group_76496] +[group_76497] +[group_76498] +[group_76499] +[group_76500] +[group_76501] +[group_76502] +[group_76503] +[group_76504] +[group_76505] +[group_76506] +[group_76507] +[group_76508] +[group_76509] +[group_76510] +[group_76511] +[group_76512] +[group_76513] +[group_76514] +[group_76515] +[group_76516] +[group_76517] +[group_76518] +[group_76519] +[group_76520] +[group_76521] +[group_76522] +[group_76523] +[group_76524] +[group_76525] +[group_76526] +[group_76527] +[group_76528] +[group_76529] +[group_76530] +[group_76531] +[group_76532] +[group_76533] +[group_76534] +[group_76535] +[group_76536] +[group_76537] +[group_76538] +[group_76539] +[group_76540] +[group_76541] +[group_76542] +[group_76543] +[group_76544] +[group_76545] +[group_76546] +[group_76547] +[group_76548] +[group_76549] +[group_76550] +[group_76551] +[group_76552] +[group_76553] +[group_76554] +[group_76555] +[group_76556] +[group_76557] +[group_76558] +[group_76559] +[group_76560] +[group_76561] +[group_76562] +[group_76563] +[group_76564] +[group_76565] +[group_76566] +[group_76567] +[group_76568] +[group_76569] +[group_76570] +[group_76571] +[group_76572] +[group_76573] +[group_76574] +[group_76575] +[group_76576] +[group_76577] +[group_76578] +[group_76579] +[group_76580] +[group_76581] +[group_76582] +[group_76583] +[group_76584] +[group_76585] +[group_76586] +[group_76587] +[group_76588] +[group_76589] +[group_76590] +[group_76591] +[group_76592] +[group_76593] +[group_76594] +[group_76595] +[group_76596] +[group_76597] +[group_76598] +[group_76599] +[group_76600] +[group_76601] +[group_76602] +[group_76603] +[group_76604] +[group_76605] +[group_76606] +[group_76607] +[group_76608] +[group_76609] +[group_76610] +[group_76611] +[group_76612] +[group_76613] +[group_76614] +[group_76615] +[group_76616] +[group_76617] +[group_76618] +[group_76619] +[group_76620] +[group_76621] +[group_76622] +[group_76623] +[group_76624] +[group_76625] +[group_76626] +[group_76627] +[group_76628] +[group_76629] +[group_76630] +[group_76631] +[group_76632] +[group_76633] +[group_76634] +[group_76635] +[group_76636] +[group_76637] +[group_76638] +[group_76639] +[group_76640] +[group_76641] +[group_76642] +[group_76643] +[group_76644] +[group_76645] +[group_76646] +[group_76647] +[group_76648] +[group_76649] +[group_76650] +[group_76651] +[group_76652] +[group_76653] +[group_76654] +[group_76655] +[group_76656] +[group_76657] +[group_76658] +[group_76659] +[group_76660] +[group_76661] +[group_76662] +[group_76663] +[group_76664] +[group_76665] +[group_76666] +[group_76667] +[group_76668] +[group_76669] +[group_76670] +[group_76671] +[group_76672] +[group_76673] +[group_76674] +[group_76675] +[group_76676] +[group_76677] +[group_76678] +[group_76679] +[group_76680] +[group_76681] +[group_76682] +[group_76683] +[group_76684] +[group_76685] +[group_76686] +[group_76687] +[group_76688] +[group_76689] +[group_76690] +[group_76691] +[group_76692] +[group_76693] +[group_76694] +[group_76695] +[group_76696] +[group_76697] +[group_76698] +[group_76699] +[group_76700] +[group_76701] +[group_76702] +[group_76703] +[group_76704] +[group_76705] +[group_76706] +[group_76707] +[group_76708] +[group_76709] +[group_76710] +[group_76711] +[group_76712] +[group_76713] +[group_76714] +[group_76715] +[group_76716] +[group_76717] +[group_76718] +[group_76719] +[group_76720] +[group_76721] +[group_76722] +[group_76723] +[group_76724] +[group_76725] +[group_76726] +[group_76727] +[group_76728] +[group_76729] +[group_76730] +[group_76731] +[group_76732] +[group_76733] +[group_76734] +[group_76735] +[group_76736] +[group_76737] +[group_76738] +[group_76739] +[group_76740] +[group_76741] +[group_76742] +[group_76743] +[group_76744] +[group_76745] +[group_76746] +[group_76747] +[group_76748] +[group_76749] +[group_76750] +[group_76751] +[group_76752] +[group_76753] +[group_76754] +[group_76755] +[group_76756] +[group_76757] +[group_76758] +[group_76759] +[group_76760] +[group_76761] +[group_76762] +[group_76763] +[group_76764] +[group_76765] +[group_76766] +[group_76767] +[group_76768] +[group_76769] +[group_76770] +[group_76771] +[group_76772] +[group_76773] +[group_76774] +[group_76775] +[group_76776] +[group_76777] +[group_76778] +[group_76779] +[group_76780] +[group_76781] +[group_76782] +[group_76783] +[group_76784] +[group_76785] +[group_76786] +[group_76787] +[group_76788] +[group_76789] +[group_76790] +[group_76791] +[group_76792] +[group_76793] +[group_76794] +[group_76795] +[group_76796] +[group_76797] +[group_76798] +[group_76799] +[group_76800] +[group_76801] +[group_76802] +[group_76803] +[group_76804] +[group_76805] +[group_76806] +[group_76807] +[group_76808] +[group_76809] +[group_76810] +[group_76811] +[group_76812] +[group_76813] +[group_76814] +[group_76815] +[group_76816] +[group_76817] +[group_76818] +[group_76819] +[group_76820] +[group_76821] +[group_76822] +[group_76823] +[group_76824] +[group_76825] +[group_76826] +[group_76827] +[group_76828] +[group_76829] +[group_76830] +[group_76831] +[group_76832] +[group_76833] +[group_76834] +[group_76835] +[group_76836] +[group_76837] +[group_76838] +[group_76839] +[group_76840] +[group_76841] +[group_76842] +[group_76843] +[group_76844] +[group_76845] +[group_76846] +[group_76847] +[group_76848] +[group_76849] +[group_76850] +[group_76851] +[group_76852] +[group_76853] +[group_76854] +[group_76855] +[group_76856] +[group_76857] +[group_76858] +[group_76859] +[group_76860] +[group_76861] +[group_76862] +[group_76863] +[group_76864] +[group_76865] +[group_76866] +[group_76867] +[group_76868] +[group_76869] +[group_76870] +[group_76871] +[group_76872] +[group_76873] +[group_76874] +[group_76875] +[group_76876] +[group_76877] +[group_76878] +[group_76879] +[group_76880] +[group_76881] +[group_76882] +[group_76883] +[group_76884] +[group_76885] +[group_76886] +[group_76887] +[group_76888] +[group_76889] +[group_76890] +[group_76891] +[group_76892] +[group_76893] +[group_76894] +[group_76895] +[group_76896] +[group_76897] +[group_76898] +[group_76899] +[group_76900] +[group_76901] +[group_76902] +[group_76903] +[group_76904] +[group_76905] +[group_76906] +[group_76907] +[group_76908] +[group_76909] +[group_76910] +[group_76911] +[group_76912] +[group_76913] +[group_76914] +[group_76915] +[group_76916] +[group_76917] +[group_76918] +[group_76919] +[group_76920] +[group_76921] +[group_76922] +[group_76923] +[group_76924] +[group_76925] +[group_76926] +[group_76927] +[group_76928] +[group_76929] +[group_76930] +[group_76931] +[group_76932] +[group_76933] +[group_76934] +[group_76935] +[group_76936] +[group_76937] +[group_76938] +[group_76939] +[group_76940] +[group_76941] +[group_76942] +[group_76943] +[group_76944] +[group_76945] +[group_76946] +[group_76947] +[group_76948] +[group_76949] +[group_76950] +[group_76951] +[group_76952] +[group_76953] +[group_76954] +[group_76955] +[group_76956] +[group_76957] +[group_76958] +[group_76959] +[group_76960] +[group_76961] +[group_76962] +[group_76963] +[group_76964] +[group_76965] +[group_76966] +[group_76967] +[group_76968] +[group_76969] +[group_76970] +[group_76971] +[group_76972] +[group_76973] +[group_76974] +[group_76975] +[group_76976] +[group_76977] +[group_76978] +[group_76979] +[group_76980] +[group_76981] +[group_76982] +[group_76983] +[group_76984] +[group_76985] +[group_76986] +[group_76987] +[group_76988] +[group_76989] +[group_76990] +[group_76991] +[group_76992] +[group_76993] +[group_76994] +[group_76995] +[group_76996] +[group_76997] +[group_76998] +[group_76999] +[group_77000] +[group_77001] +[group_77002] +[group_77003] +[group_77004] +[group_77005] +[group_77006] +[group_77007] +[group_77008] +[group_77009] +[group_77010] +[group_77011] +[group_77012] +[group_77013] +[group_77014] +[group_77015] +[group_77016] +[group_77017] +[group_77018] +[group_77019] +[group_77020] +[group_77021] +[group_77022] +[group_77023] +[group_77024] +[group_77025] +[group_77026] +[group_77027] +[group_77028] +[group_77029] +[group_77030] +[group_77031] +[group_77032] +[group_77033] +[group_77034] +[group_77035] +[group_77036] +[group_77037] +[group_77038] +[group_77039] +[group_77040] +[group_77041] +[group_77042] +[group_77043] +[group_77044] +[group_77045] +[group_77046] +[group_77047] +[group_77048] +[group_77049] +[group_77050] +[group_77051] +[group_77052] +[group_77053] +[group_77054] +[group_77055] +[group_77056] +[group_77057] +[group_77058] +[group_77059] +[group_77060] +[group_77061] +[group_77062] +[group_77063] +[group_77064] +[group_77065] +[group_77066] +[group_77067] +[group_77068] +[group_77069] +[group_77070] +[group_77071] +[group_77072] +[group_77073] +[group_77074] +[group_77075] +[group_77076] +[group_77077] +[group_77078] +[group_77079] +[group_77080] +[group_77081] +[group_77082] +[group_77083] +[group_77084] +[group_77085] +[group_77086] +[group_77087] +[group_77088] +[group_77089] +[group_77090] +[group_77091] +[group_77092] +[group_77093] +[group_77094] +[group_77095] +[group_77096] +[group_77097] +[group_77098] +[group_77099] +[group_77100] +[group_77101] +[group_77102] +[group_77103] +[group_77104] +[group_77105] +[group_77106] +[group_77107] +[group_77108] +[group_77109] +[group_77110] +[group_77111] +[group_77112] +[group_77113] +[group_77114] +[group_77115] +[group_77116] +[group_77117] +[group_77118] +[group_77119] +[group_77120] +[group_77121] +[group_77122] +[group_77123] +[group_77124] +[group_77125] +[group_77126] +[group_77127] +[group_77128] +[group_77129] +[group_77130] +[group_77131] +[group_77132] +[group_77133] +[group_77134] +[group_77135] +[group_77136] +[group_77137] +[group_77138] +[group_77139] +[group_77140] +[group_77141] +[group_77142] +[group_77143] +[group_77144] +[group_77145] +[group_77146] +[group_77147] +[group_77148] +[group_77149] +[group_77150] +[group_77151] +[group_77152] +[group_77153] +[group_77154] +[group_77155] +[group_77156] +[group_77157] +[group_77158] +[group_77159] +[group_77160] +[group_77161] +[group_77162] +[group_77163] +[group_77164] +[group_77165] +[group_77166] +[group_77167] +[group_77168] +[group_77169] +[group_77170] +[group_77171] +[group_77172] +[group_77173] +[group_77174] +[group_77175] +[group_77176] +[group_77177] +[group_77178] +[group_77179] +[group_77180] +[group_77181] +[group_77182] +[group_77183] +[group_77184] +[group_77185] +[group_77186] +[group_77187] +[group_77188] +[group_77189] +[group_77190] +[group_77191] +[group_77192] +[group_77193] +[group_77194] +[group_77195] +[group_77196] +[group_77197] +[group_77198] +[group_77199] +[group_77200] +[group_77201] +[group_77202] +[group_77203] +[group_77204] +[group_77205] +[group_77206] +[group_77207] +[group_77208] +[group_77209] +[group_77210] +[group_77211] +[group_77212] +[group_77213] +[group_77214] +[group_77215] +[group_77216] +[group_77217] +[group_77218] +[group_77219] +[group_77220] +[group_77221] +[group_77222] +[group_77223] +[group_77224] +[group_77225] +[group_77226] +[group_77227] +[group_77228] +[group_77229] +[group_77230] +[group_77231] +[group_77232] +[group_77233] +[group_77234] +[group_77235] +[group_77236] +[group_77237] +[group_77238] +[group_77239] +[group_77240] +[group_77241] +[group_77242] +[group_77243] +[group_77244] +[group_77245] +[group_77246] +[group_77247] +[group_77248] +[group_77249] +[group_77250] +[group_77251] +[group_77252] +[group_77253] +[group_77254] +[group_77255] +[group_77256] +[group_77257] +[group_77258] +[group_77259] +[group_77260] +[group_77261] +[group_77262] +[group_77263] +[group_77264] +[group_77265] +[group_77266] +[group_77267] +[group_77268] +[group_77269] +[group_77270] +[group_77271] +[group_77272] +[group_77273] +[group_77274] +[group_77275] +[group_77276] +[group_77277] +[group_77278] +[group_77279] +[group_77280] +[group_77281] +[group_77282] +[group_77283] +[group_77284] +[group_77285] +[group_77286] +[group_77287] +[group_77288] +[group_77289] +[group_77290] +[group_77291] +[group_77292] +[group_77293] +[group_77294] +[group_77295] +[group_77296] +[group_77297] +[group_77298] +[group_77299] +[group_77300] +[group_77301] +[group_77302] +[group_77303] +[group_77304] +[group_77305] +[group_77306] +[group_77307] +[group_77308] +[group_77309] +[group_77310] +[group_77311] +[group_77312] +[group_77313] +[group_77314] +[group_77315] +[group_77316] +[group_77317] +[group_77318] +[group_77319] +[group_77320] +[group_77321] +[group_77322] +[group_77323] +[group_77324] +[group_77325] +[group_77326] +[group_77327] +[group_77328] +[group_77329] +[group_77330] +[group_77331] +[group_77332] +[group_77333] +[group_77334] +[group_77335] +[group_77336] +[group_77337] +[group_77338] +[group_77339] +[group_77340] +[group_77341] +[group_77342] +[group_77343] +[group_77344] +[group_77345] +[group_77346] +[group_77347] +[group_77348] +[group_77349] +[group_77350] +[group_77351] +[group_77352] +[group_77353] +[group_77354] +[group_77355] +[group_77356] +[group_77357] +[group_77358] +[group_77359] +[group_77360] +[group_77361] +[group_77362] +[group_77363] +[group_77364] +[group_77365] +[group_77366] +[group_77367] +[group_77368] +[group_77369] +[group_77370] +[group_77371] +[group_77372] +[group_77373] +[group_77374] +[group_77375] +[group_77376] +[group_77377] +[group_77378] +[group_77379] +[group_77380] +[group_77381] +[group_77382] +[group_77383] +[group_77384] +[group_77385] +[group_77386] +[group_77387] +[group_77388] +[group_77389] +[group_77390] +[group_77391] +[group_77392] +[group_77393] +[group_77394] +[group_77395] +[group_77396] +[group_77397] +[group_77398] +[group_77399] +[group_77400] +[group_77401] +[group_77402] +[group_77403] +[group_77404] +[group_77405] +[group_77406] +[group_77407] +[group_77408] +[group_77409] +[group_77410] +[group_77411] +[group_77412] +[group_77413] +[group_77414] +[group_77415] +[group_77416] +[group_77417] +[group_77418] +[group_77419] +[group_77420] +[group_77421] +[group_77422] +[group_77423] +[group_77424] +[group_77425] +[group_77426] +[group_77427] +[group_77428] +[group_77429] +[group_77430] +[group_77431] +[group_77432] +[group_77433] +[group_77434] +[group_77435] +[group_77436] +[group_77437] +[group_77438] +[group_77439] +[group_77440] +[group_77441] +[group_77442] +[group_77443] +[group_77444] +[group_77445] +[group_77446] +[group_77447] +[group_77448] +[group_77449] +[group_77450] +[group_77451] +[group_77452] +[group_77453] +[group_77454] +[group_77455] +[group_77456] +[group_77457] +[group_77458] +[group_77459] +[group_77460] +[group_77461] +[group_77462] +[group_77463] +[group_77464] +[group_77465] +[group_77466] +[group_77467] +[group_77468] +[group_77469] +[group_77470] +[group_77471] +[group_77472] +[group_77473] +[group_77474] +[group_77475] +[group_77476] +[group_77477] +[group_77478] +[group_77479] +[group_77480] +[group_77481] +[group_77482] +[group_77483] +[group_77484] +[group_77485] +[group_77486] +[group_77487] +[group_77488] +[group_77489] +[group_77490] +[group_77491] +[group_77492] +[group_77493] +[group_77494] +[group_77495] +[group_77496] +[group_77497] +[group_77498] +[group_77499] +[group_77500] +[group_77501] +[group_77502] +[group_77503] +[group_77504] +[group_77505] +[group_77506] +[group_77507] +[group_77508] +[group_77509] +[group_77510] +[group_77511] +[group_77512] +[group_77513] +[group_77514] +[group_77515] +[group_77516] +[group_77517] +[group_77518] +[group_77519] +[group_77520] +[group_77521] +[group_77522] +[group_77523] +[group_77524] +[group_77525] +[group_77526] +[group_77527] +[group_77528] +[group_77529] +[group_77530] +[group_77531] +[group_77532] +[group_77533] +[group_77534] +[group_77535] +[group_77536] +[group_77537] +[group_77538] +[group_77539] +[group_77540] +[group_77541] +[group_77542] +[group_77543] +[group_77544] +[group_77545] +[group_77546] +[group_77547] +[group_77548] +[group_77549] +[group_77550] +[group_77551] +[group_77552] +[group_77553] +[group_77554] +[group_77555] +[group_77556] +[group_77557] +[group_77558] +[group_77559] +[group_77560] +[group_77561] +[group_77562] +[group_77563] +[group_77564] +[group_77565] +[group_77566] +[group_77567] +[group_77568] +[group_77569] +[group_77570] +[group_77571] +[group_77572] +[group_77573] +[group_77574] +[group_77575] +[group_77576] +[group_77577] +[group_77578] +[group_77579] +[group_77580] +[group_77581] +[group_77582] +[group_77583] +[group_77584] +[group_77585] +[group_77586] +[group_77587] +[group_77588] +[group_77589] +[group_77590] +[group_77591] +[group_77592] +[group_77593] +[group_77594] +[group_77595] +[group_77596] +[group_77597] +[group_77598] +[group_77599] +[group_77600] +[group_77601] +[group_77602] +[group_77603] +[group_77604] +[group_77605] +[group_77606] +[group_77607] +[group_77608] +[group_77609] +[group_77610] +[group_77611] +[group_77612] +[group_77613] +[group_77614] +[group_77615] +[group_77616] +[group_77617] +[group_77618] +[group_77619] +[group_77620] +[group_77621] +[group_77622] +[group_77623] +[group_77624] +[group_77625] +[group_77626] +[group_77627] +[group_77628] +[group_77629] +[group_77630] +[group_77631] +[group_77632] +[group_77633] +[group_77634] +[group_77635] +[group_77636] +[group_77637] +[group_77638] +[group_77639] +[group_77640] +[group_77641] +[group_77642] +[group_77643] +[group_77644] +[group_77645] +[group_77646] +[group_77647] +[group_77648] +[group_77649] +[group_77650] +[group_77651] +[group_77652] +[group_77653] +[group_77654] +[group_77655] +[group_77656] +[group_77657] +[group_77658] +[group_77659] +[group_77660] +[group_77661] +[group_77662] +[group_77663] +[group_77664] +[group_77665] +[group_77666] +[group_77667] +[group_77668] +[group_77669] +[group_77670] +[group_77671] +[group_77672] +[group_77673] +[group_77674] +[group_77675] +[group_77676] +[group_77677] +[group_77678] +[group_77679] +[group_77680] +[group_77681] +[group_77682] +[group_77683] +[group_77684] +[group_77685] +[group_77686] +[group_77687] +[group_77688] +[group_77689] +[group_77690] +[group_77691] +[group_77692] +[group_77693] +[group_77694] +[group_77695] +[group_77696] +[group_77697] +[group_77698] +[group_77699] +[group_77700] +[group_77701] +[group_77702] +[group_77703] +[group_77704] +[group_77705] +[group_77706] +[group_77707] +[group_77708] +[group_77709] +[group_77710] +[group_77711] +[group_77712] +[group_77713] +[group_77714] +[group_77715] +[group_77716] +[group_77717] +[group_77718] +[group_77719] +[group_77720] +[group_77721] +[group_77722] +[group_77723] +[group_77724] +[group_77725] +[group_77726] +[group_77727] +[group_77728] +[group_77729] +[group_77730] +[group_77731] +[group_77732] +[group_77733] +[group_77734] +[group_77735] +[group_77736] +[group_77737] +[group_77738] +[group_77739] +[group_77740] +[group_77741] +[group_77742] +[group_77743] +[group_77744] +[group_77745] +[group_77746] +[group_77747] +[group_77748] +[group_77749] +[group_77750] +[group_77751] +[group_77752] +[group_77753] +[group_77754] +[group_77755] +[group_77756] +[group_77757] +[group_77758] +[group_77759] +[group_77760] +[group_77761] +[group_77762] +[group_77763] +[group_77764] +[group_77765] +[group_77766] +[group_77767] +[group_77768] +[group_77769] +[group_77770] +[group_77771] +[group_77772] +[group_77773] +[group_77774] +[group_77775] +[group_77776] +[group_77777] +[group_77778] +[group_77779] +[group_77780] +[group_77781] +[group_77782] +[group_77783] +[group_77784] +[group_77785] +[group_77786] +[group_77787] +[group_77788] +[group_77789] +[group_77790] +[group_77791] +[group_77792] +[group_77793] +[group_77794] +[group_77795] +[group_77796] +[group_77797] +[group_77798] +[group_77799] +[group_77800] +[group_77801] +[group_77802] +[group_77803] +[group_77804] +[group_77805] +[group_77806] +[group_77807] +[group_77808] +[group_77809] +[group_77810] +[group_77811] +[group_77812] +[group_77813] +[group_77814] +[group_77815] +[group_77816] +[group_77817] +[group_77818] +[group_77819] +[group_77820] +[group_77821] +[group_77822] +[group_77823] +[group_77824] +[group_77825] +[group_77826] +[group_77827] +[group_77828] +[group_77829] +[group_77830] +[group_77831] +[group_77832] +[group_77833] +[group_77834] +[group_77835] +[group_77836] +[group_77837] +[group_77838] +[group_77839] +[group_77840] +[group_77841] +[group_77842] +[group_77843] +[group_77844] +[group_77845] +[group_77846] +[group_77847] +[group_77848] +[group_77849] +[group_77850] +[group_77851] +[group_77852] +[group_77853] +[group_77854] +[group_77855] +[group_77856] +[group_77857] +[group_77858] +[group_77859] +[group_77860] +[group_77861] +[group_77862] +[group_77863] +[group_77864] +[group_77865] +[group_77866] +[group_77867] +[group_77868] +[group_77869] +[group_77870] +[group_77871] +[group_77872] +[group_77873] +[group_77874] +[group_77875] +[group_77876] +[group_77877] +[group_77878] +[group_77879] +[group_77880] +[group_77881] +[group_77882] +[group_77883] +[group_77884] +[group_77885] +[group_77886] +[group_77887] +[group_77888] +[group_77889] +[group_77890] +[group_77891] +[group_77892] +[group_77893] +[group_77894] +[group_77895] +[group_77896] +[group_77897] +[group_77898] +[group_77899] +[group_77900] +[group_77901] +[group_77902] +[group_77903] +[group_77904] +[group_77905] +[group_77906] +[group_77907] +[group_77908] +[group_77909] +[group_77910] +[group_77911] +[group_77912] +[group_77913] +[group_77914] +[group_77915] +[group_77916] +[group_77917] +[group_77918] +[group_77919] +[group_77920] +[group_77921] +[group_77922] +[group_77923] +[group_77924] +[group_77925] +[group_77926] +[group_77927] +[group_77928] +[group_77929] +[group_77930] +[group_77931] +[group_77932] +[group_77933] +[group_77934] +[group_77935] +[group_77936] +[group_77937] +[group_77938] +[group_77939] +[group_77940] +[group_77941] +[group_77942] +[group_77943] +[group_77944] +[group_77945] +[group_77946] +[group_77947] +[group_77948] +[group_77949] +[group_77950] +[group_77951] +[group_77952] +[group_77953] +[group_77954] +[group_77955] +[group_77956] +[group_77957] +[group_77958] +[group_77959] +[group_77960] +[group_77961] +[group_77962] +[group_77963] +[group_77964] +[group_77965] +[group_77966] +[group_77967] +[group_77968] +[group_77969] +[group_77970] +[group_77971] +[group_77972] +[group_77973] +[group_77974] +[group_77975] +[group_77976] +[group_77977] +[group_77978] +[group_77979] +[group_77980] +[group_77981] +[group_77982] +[group_77983] +[group_77984] +[group_77985] +[group_77986] +[group_77987] +[group_77988] +[group_77989] +[group_77990] +[group_77991] +[group_77992] +[group_77993] +[group_77994] +[group_77995] +[group_77996] +[group_77997] +[group_77998] +[group_77999] +[group_78000] +[group_78001] +[group_78002] +[group_78003] +[group_78004] +[group_78005] +[group_78006] +[group_78007] +[group_78008] +[group_78009] +[group_78010] +[group_78011] +[group_78012] +[group_78013] +[group_78014] +[group_78015] +[group_78016] +[group_78017] +[group_78018] +[group_78019] +[group_78020] +[group_78021] +[group_78022] +[group_78023] +[group_78024] +[group_78025] +[group_78026] +[group_78027] +[group_78028] +[group_78029] +[group_78030] +[group_78031] +[group_78032] +[group_78033] +[group_78034] +[group_78035] +[group_78036] +[group_78037] +[group_78038] +[group_78039] +[group_78040] +[group_78041] +[group_78042] +[group_78043] +[group_78044] +[group_78045] +[group_78046] +[group_78047] +[group_78048] +[group_78049] +[group_78050] +[group_78051] +[group_78052] +[group_78053] +[group_78054] +[group_78055] +[group_78056] +[group_78057] +[group_78058] +[group_78059] +[group_78060] +[group_78061] +[group_78062] +[group_78063] +[group_78064] +[group_78065] +[group_78066] +[group_78067] +[group_78068] +[group_78069] +[group_78070] +[group_78071] +[group_78072] +[group_78073] +[group_78074] +[group_78075] +[group_78076] +[group_78077] +[group_78078] +[group_78079] +[group_78080] +[group_78081] +[group_78082] +[group_78083] +[group_78084] +[group_78085] +[group_78086] +[group_78087] +[group_78088] +[group_78089] +[group_78090] +[group_78091] +[group_78092] +[group_78093] +[group_78094] +[group_78095] +[group_78096] +[group_78097] +[group_78098] +[group_78099] +[group_78100] +[group_78101] +[group_78102] +[group_78103] +[group_78104] +[group_78105] +[group_78106] +[group_78107] +[group_78108] +[group_78109] +[group_78110] +[group_78111] +[group_78112] +[group_78113] +[group_78114] +[group_78115] +[group_78116] +[group_78117] +[group_78118] +[group_78119] +[group_78120] +[group_78121] +[group_78122] +[group_78123] +[group_78124] +[group_78125] +[group_78126] +[group_78127] +[group_78128] +[group_78129] +[group_78130] +[group_78131] +[group_78132] +[group_78133] +[group_78134] +[group_78135] +[group_78136] +[group_78137] +[group_78138] +[group_78139] +[group_78140] +[group_78141] +[group_78142] +[group_78143] +[group_78144] +[group_78145] +[group_78146] +[group_78147] +[group_78148] +[group_78149] +[group_78150] +[group_78151] +[group_78152] +[group_78153] +[group_78154] +[group_78155] +[group_78156] +[group_78157] +[group_78158] +[group_78159] +[group_78160] +[group_78161] +[group_78162] +[group_78163] +[group_78164] +[group_78165] +[group_78166] +[group_78167] +[group_78168] +[group_78169] +[group_78170] +[group_78171] +[group_78172] +[group_78173] +[group_78174] +[group_78175] +[group_78176] +[group_78177] +[group_78178] +[group_78179] +[group_78180] +[group_78181] +[group_78182] +[group_78183] +[group_78184] +[group_78185] +[group_78186] +[group_78187] +[group_78188] +[group_78189] +[group_78190] +[group_78191] +[group_78192] +[group_78193] +[group_78194] +[group_78195] +[group_78196] +[group_78197] +[group_78198] +[group_78199] +[group_78200] +[group_78201] +[group_78202] +[group_78203] +[group_78204] +[group_78205] +[group_78206] +[group_78207] +[group_78208] +[group_78209] +[group_78210] +[group_78211] +[group_78212] +[group_78213] +[group_78214] +[group_78215] +[group_78216] +[group_78217] +[group_78218] +[group_78219] +[group_78220] +[group_78221] +[group_78222] +[group_78223] +[group_78224] +[group_78225] +[group_78226] +[group_78227] +[group_78228] +[group_78229] +[group_78230] +[group_78231] +[group_78232] +[group_78233] +[group_78234] +[group_78235] +[group_78236] +[group_78237] +[group_78238] +[group_78239] +[group_78240] +[group_78241] +[group_78242] +[group_78243] +[group_78244] +[group_78245] +[group_78246] +[group_78247] +[group_78248] +[group_78249] +[group_78250] +[group_78251] +[group_78252] +[group_78253] +[group_78254] +[group_78255] +[group_78256] +[group_78257] +[group_78258] +[group_78259] +[group_78260] +[group_78261] +[group_78262] +[group_78263] +[group_78264] +[group_78265] +[group_78266] +[group_78267] +[group_78268] +[group_78269] +[group_78270] +[group_78271] +[group_78272] +[group_78273] +[group_78274] +[group_78275] +[group_78276] +[group_78277] +[group_78278] +[group_78279] +[group_78280] +[group_78281] +[group_78282] +[group_78283] +[group_78284] +[group_78285] +[group_78286] +[group_78287] +[group_78288] +[group_78289] +[group_78290] +[group_78291] +[group_78292] +[group_78293] +[group_78294] +[group_78295] +[group_78296] +[group_78297] +[group_78298] +[group_78299] +[group_78300] +[group_78301] +[group_78302] +[group_78303] +[group_78304] +[group_78305] +[group_78306] +[group_78307] +[group_78308] +[group_78309] +[group_78310] +[group_78311] +[group_78312] +[group_78313] +[group_78314] +[group_78315] +[group_78316] +[group_78317] +[group_78318] +[group_78319] +[group_78320] +[group_78321] +[group_78322] +[group_78323] +[group_78324] +[group_78325] +[group_78326] +[group_78327] +[group_78328] +[group_78329] +[group_78330] +[group_78331] +[group_78332] +[group_78333] +[group_78334] +[group_78335] +[group_78336] +[group_78337] +[group_78338] +[group_78339] +[group_78340] +[group_78341] +[group_78342] +[group_78343] +[group_78344] +[group_78345] +[group_78346] +[group_78347] +[group_78348] +[group_78349] +[group_78350] +[group_78351] +[group_78352] +[group_78353] +[group_78354] +[group_78355] +[group_78356] +[group_78357] +[group_78358] +[group_78359] +[group_78360] +[group_78361] +[group_78362] +[group_78363] +[group_78364] +[group_78365] +[group_78366] +[group_78367] +[group_78368] +[group_78369] +[group_78370] +[group_78371] +[group_78372] +[group_78373] +[group_78374] +[group_78375] +[group_78376] +[group_78377] +[group_78378] +[group_78379] +[group_78380] +[group_78381] +[group_78382] +[group_78383] +[group_78384] +[group_78385] +[group_78386] +[group_78387] +[group_78388] +[group_78389] +[group_78390] +[group_78391] +[group_78392] +[group_78393] +[group_78394] +[group_78395] +[group_78396] +[group_78397] +[group_78398] +[group_78399] +[group_78400] +[group_78401] +[group_78402] +[group_78403] +[group_78404] +[group_78405] +[group_78406] +[group_78407] +[group_78408] +[group_78409] +[group_78410] +[group_78411] +[group_78412] +[group_78413] +[group_78414] +[group_78415] +[group_78416] +[group_78417] +[group_78418] +[group_78419] +[group_78420] +[group_78421] +[group_78422] +[group_78423] +[group_78424] +[group_78425] +[group_78426] +[group_78427] +[group_78428] +[group_78429] +[group_78430] +[group_78431] +[group_78432] +[group_78433] +[group_78434] +[group_78435] +[group_78436] +[group_78437] +[group_78438] +[group_78439] +[group_78440] +[group_78441] +[group_78442] +[group_78443] +[group_78444] +[group_78445] +[group_78446] +[group_78447] +[group_78448] +[group_78449] +[group_78450] +[group_78451] +[group_78452] +[group_78453] +[group_78454] +[group_78455] +[group_78456] +[group_78457] +[group_78458] +[group_78459] +[group_78460] +[group_78461] +[group_78462] +[group_78463] +[group_78464] +[group_78465] +[group_78466] +[group_78467] +[group_78468] +[group_78469] +[group_78470] +[group_78471] +[group_78472] +[group_78473] +[group_78474] +[group_78475] +[group_78476] +[group_78477] +[group_78478] +[group_78479] +[group_78480] +[group_78481] +[group_78482] +[group_78483] +[group_78484] +[group_78485] +[group_78486] +[group_78487] +[group_78488] +[group_78489] +[group_78490] +[group_78491] +[group_78492] +[group_78493] +[group_78494] +[group_78495] +[group_78496] +[group_78497] +[group_78498] +[group_78499] +[group_78500] +[group_78501] +[group_78502] +[group_78503] +[group_78504] +[group_78505] +[group_78506] +[group_78507] +[group_78508] +[group_78509] +[group_78510] +[group_78511] +[group_78512] +[group_78513] +[group_78514] +[group_78515] +[group_78516] +[group_78517] +[group_78518] +[group_78519] +[group_78520] +[group_78521] +[group_78522] +[group_78523] +[group_78524] +[group_78525] +[group_78526] +[group_78527] +[group_78528] +[group_78529] +[group_78530] +[group_78531] +[group_78532] +[group_78533] +[group_78534] +[group_78535] +[group_78536] +[group_78537] +[group_78538] +[group_78539] +[group_78540] +[group_78541] +[group_78542] +[group_78543] +[group_78544] +[group_78545] +[group_78546] +[group_78547] +[group_78548] +[group_78549] +[group_78550] +[group_78551] +[group_78552] +[group_78553] +[group_78554] +[group_78555] +[group_78556] +[group_78557] +[group_78558] +[group_78559] +[group_78560] +[group_78561] +[group_78562] +[group_78563] +[group_78564] +[group_78565] +[group_78566] +[group_78567] +[group_78568] +[group_78569] +[group_78570] +[group_78571] +[group_78572] +[group_78573] +[group_78574] +[group_78575] +[group_78576] +[group_78577] +[group_78578] +[group_78579] +[group_78580] +[group_78581] +[group_78582] +[group_78583] +[group_78584] +[group_78585] +[group_78586] +[group_78587] +[group_78588] +[group_78589] +[group_78590] +[group_78591] +[group_78592] +[group_78593] +[group_78594] +[group_78595] +[group_78596] +[group_78597] +[group_78598] +[group_78599] +[group_78600] +[group_78601] +[group_78602] +[group_78603] +[group_78604] +[group_78605] +[group_78606] +[group_78607] +[group_78608] +[group_78609] +[group_78610] +[group_78611] +[group_78612] +[group_78613] +[group_78614] +[group_78615] +[group_78616] +[group_78617] +[group_78618] +[group_78619] +[group_78620] +[group_78621] +[group_78622] +[group_78623] +[group_78624] +[group_78625] +[group_78626] +[group_78627] +[group_78628] +[group_78629] +[group_78630] +[group_78631] +[group_78632] +[group_78633] +[group_78634] +[group_78635] +[group_78636] +[group_78637] +[group_78638] +[group_78639] +[group_78640] +[group_78641] +[group_78642] +[group_78643] +[group_78644] +[group_78645] +[group_78646] +[group_78647] +[group_78648] +[group_78649] +[group_78650] +[group_78651] +[group_78652] +[group_78653] +[group_78654] +[group_78655] +[group_78656] +[group_78657] +[group_78658] +[group_78659] +[group_78660] +[group_78661] +[group_78662] +[group_78663] +[group_78664] +[group_78665] +[group_78666] +[group_78667] +[group_78668] +[group_78669] +[group_78670] +[group_78671] +[group_78672] +[group_78673] +[group_78674] +[group_78675] +[group_78676] +[group_78677] +[group_78678] +[group_78679] +[group_78680] +[group_78681] +[group_78682] +[group_78683] +[group_78684] +[group_78685] +[group_78686] +[group_78687] +[group_78688] +[group_78689] +[group_78690] +[group_78691] +[group_78692] +[group_78693] +[group_78694] +[group_78695] +[group_78696] +[group_78697] +[group_78698] +[group_78699] +[group_78700] +[group_78701] +[group_78702] +[group_78703] +[group_78704] +[group_78705] +[group_78706] +[group_78707] +[group_78708] +[group_78709] +[group_78710] +[group_78711] +[group_78712] +[group_78713] +[group_78714] +[group_78715] +[group_78716] +[group_78717] +[group_78718] +[group_78719] +[group_78720] +[group_78721] +[group_78722] +[group_78723] +[group_78724] +[group_78725] +[group_78726] +[group_78727] +[group_78728] +[group_78729] +[group_78730] +[group_78731] +[group_78732] +[group_78733] +[group_78734] +[group_78735] +[group_78736] +[group_78737] +[group_78738] +[group_78739] +[group_78740] +[group_78741] +[group_78742] +[group_78743] +[group_78744] +[group_78745] +[group_78746] +[group_78747] +[group_78748] +[group_78749] +[group_78750] +[group_78751] +[group_78752] +[group_78753] +[group_78754] +[group_78755] +[group_78756] +[group_78757] +[group_78758] +[group_78759] +[group_78760] +[group_78761] +[group_78762] +[group_78763] +[group_78764] +[group_78765] +[group_78766] +[group_78767] +[group_78768] +[group_78769] +[group_78770] +[group_78771] +[group_78772] +[group_78773] +[group_78774] +[group_78775] +[group_78776] +[group_78777] +[group_78778] +[group_78779] +[group_78780] +[group_78781] +[group_78782] +[group_78783] +[group_78784] +[group_78785] +[group_78786] +[group_78787] +[group_78788] +[group_78789] +[group_78790] +[group_78791] +[group_78792] +[group_78793] +[group_78794] +[group_78795] +[group_78796] +[group_78797] +[group_78798] +[group_78799] +[group_78800] +[group_78801] +[group_78802] +[group_78803] +[group_78804] +[group_78805] +[group_78806] +[group_78807] +[group_78808] +[group_78809] +[group_78810] +[group_78811] +[group_78812] +[group_78813] +[group_78814] +[group_78815] +[group_78816] +[group_78817] +[group_78818] +[group_78819] +[group_78820] +[group_78821] +[group_78822] +[group_78823] +[group_78824] +[group_78825] +[group_78826] +[group_78827] +[group_78828] +[group_78829] +[group_78830] +[group_78831] +[group_78832] +[group_78833] +[group_78834] +[group_78835] +[group_78836] +[group_78837] +[group_78838] +[group_78839] +[group_78840] +[group_78841] +[group_78842] +[group_78843] +[group_78844] +[group_78845] +[group_78846] +[group_78847] +[group_78848] +[group_78849] +[group_78850] +[group_78851] +[group_78852] +[group_78853] +[group_78854] +[group_78855] +[group_78856] +[group_78857] +[group_78858] +[group_78859] +[group_78860] +[group_78861] +[group_78862] +[group_78863] +[group_78864] +[group_78865] +[group_78866] +[group_78867] +[group_78868] +[group_78869] +[group_78870] +[group_78871] +[group_78872] +[group_78873] +[group_78874] +[group_78875] +[group_78876] +[group_78877] +[group_78878] +[group_78879] +[group_78880] +[group_78881] +[group_78882] +[group_78883] +[group_78884] +[group_78885] +[group_78886] +[group_78887] +[group_78888] +[group_78889] +[group_78890] +[group_78891] +[group_78892] +[group_78893] +[group_78894] +[group_78895] +[group_78896] +[group_78897] +[group_78898] +[group_78899] +[group_78900] +[group_78901] +[group_78902] +[group_78903] +[group_78904] +[group_78905] +[group_78906] +[group_78907] +[group_78908] +[group_78909] +[group_78910] +[group_78911] +[group_78912] +[group_78913] +[group_78914] +[group_78915] +[group_78916] +[group_78917] +[group_78918] +[group_78919] +[group_78920] +[group_78921] +[group_78922] +[group_78923] +[group_78924] +[group_78925] +[group_78926] +[group_78927] +[group_78928] +[group_78929] +[group_78930] +[group_78931] +[group_78932] +[group_78933] +[group_78934] +[group_78935] +[group_78936] +[group_78937] +[group_78938] +[group_78939] +[group_78940] +[group_78941] +[group_78942] +[group_78943] +[group_78944] +[group_78945] +[group_78946] +[group_78947] +[group_78948] +[group_78949] +[group_78950] +[group_78951] +[group_78952] +[group_78953] +[group_78954] +[group_78955] +[group_78956] +[group_78957] +[group_78958] +[group_78959] +[group_78960] +[group_78961] +[group_78962] +[group_78963] +[group_78964] +[group_78965] +[group_78966] +[group_78967] +[group_78968] +[group_78969] +[group_78970] +[group_78971] +[group_78972] +[group_78973] +[group_78974] +[group_78975] +[group_78976] +[group_78977] +[group_78978] +[group_78979] +[group_78980] +[group_78981] +[group_78982] +[group_78983] +[group_78984] +[group_78985] +[group_78986] +[group_78987] +[group_78988] +[group_78989] +[group_78990] +[group_78991] +[group_78992] +[group_78993] +[group_78994] +[group_78995] +[group_78996] +[group_78997] +[group_78998] +[group_78999] +[group_79000] +[group_79001] +[group_79002] +[group_79003] +[group_79004] +[group_79005] +[group_79006] +[group_79007] +[group_79008] +[group_79009] +[group_79010] +[group_79011] +[group_79012] +[group_79013] +[group_79014] +[group_79015] +[group_79016] +[group_79017] +[group_79018] +[group_79019] +[group_79020] +[group_79021] +[group_79022] +[group_79023] +[group_79024] +[group_79025] +[group_79026] +[group_79027] +[group_79028] +[group_79029] +[group_79030] +[group_79031] +[group_79032] +[group_79033] +[group_79034] +[group_79035] +[group_79036] +[group_79037] +[group_79038] +[group_79039] +[group_79040] +[group_79041] +[group_79042] +[group_79043] +[group_79044] +[group_79045] +[group_79046] +[group_79047] +[group_79048] +[group_79049] +[group_79050] +[group_79051] +[group_79052] +[group_79053] +[group_79054] +[group_79055] +[group_79056] +[group_79057] +[group_79058] +[group_79059] +[group_79060] +[group_79061] +[group_79062] +[group_79063] +[group_79064] +[group_79065] +[group_79066] +[group_79067] +[group_79068] +[group_79069] +[group_79070] +[group_79071] +[group_79072] +[group_79073] +[group_79074] +[group_79075] +[group_79076] +[group_79077] +[group_79078] +[group_79079] +[group_79080] +[group_79081] +[group_79082] +[group_79083] +[group_79084] +[group_79085] +[group_79086] +[group_79087] +[group_79088] +[group_79089] +[group_79090] +[group_79091] +[group_79092] +[group_79093] +[group_79094] +[group_79095] +[group_79096] +[group_79097] +[group_79098] +[group_79099] +[group_79100] +[group_79101] +[group_79102] +[group_79103] +[group_79104] +[group_79105] +[group_79106] +[group_79107] +[group_79108] +[group_79109] +[group_79110] +[group_79111] +[group_79112] +[group_79113] +[group_79114] +[group_79115] +[group_79116] +[group_79117] +[group_79118] +[group_79119] +[group_79120] +[group_79121] +[group_79122] +[group_79123] +[group_79124] +[group_79125] +[group_79126] +[group_79127] +[group_79128] +[group_79129] +[group_79130] +[group_79131] +[group_79132] +[group_79133] +[group_79134] +[group_79135] +[group_79136] +[group_79137] +[group_79138] +[group_79139] +[group_79140] +[group_79141] +[group_79142] +[group_79143] +[group_79144] +[group_79145] +[group_79146] +[group_79147] +[group_79148] +[group_79149] +[group_79150] +[group_79151] +[group_79152] +[group_79153] +[group_79154] +[group_79155] +[group_79156] +[group_79157] +[group_79158] +[group_79159] +[group_79160] +[group_79161] +[group_79162] +[group_79163] +[group_79164] +[group_79165] +[group_79166] +[group_79167] +[group_79168] +[group_79169] +[group_79170] +[group_79171] +[group_79172] +[group_79173] +[group_79174] +[group_79175] +[group_79176] +[group_79177] +[group_79178] +[group_79179] +[group_79180] +[group_79181] +[group_79182] +[group_79183] +[group_79184] +[group_79185] +[group_79186] +[group_79187] +[group_79188] +[group_79189] +[group_79190] +[group_79191] +[group_79192] +[group_79193] +[group_79194] +[group_79195] +[group_79196] +[group_79197] +[group_79198] +[group_79199] +[group_79200] +[group_79201] +[group_79202] +[group_79203] +[group_79204] +[group_79205] +[group_79206] +[group_79207] +[group_79208] +[group_79209] +[group_79210] +[group_79211] +[group_79212] +[group_79213] +[group_79214] +[group_79215] +[group_79216] +[group_79217] +[group_79218] +[group_79219] +[group_79220] +[group_79221] +[group_79222] +[group_79223] +[group_79224] +[group_79225] +[group_79226] +[group_79227] +[group_79228] +[group_79229] +[group_79230] +[group_79231] +[group_79232] +[group_79233] +[group_79234] +[group_79235] +[group_79236] +[group_79237] +[group_79238] +[group_79239] +[group_79240] +[group_79241] +[group_79242] +[group_79243] +[group_79244] +[group_79245] +[group_79246] +[group_79247] +[group_79248] +[group_79249] +[group_79250] +[group_79251] +[group_79252] +[group_79253] +[group_79254] +[group_79255] +[group_79256] +[group_79257] +[group_79258] +[group_79259] +[group_79260] +[group_79261] +[group_79262] +[group_79263] +[group_79264] +[group_79265] +[group_79266] +[group_79267] +[group_79268] +[group_79269] +[group_79270] +[group_79271] +[group_79272] +[group_79273] +[group_79274] +[group_79275] +[group_79276] +[group_79277] +[group_79278] +[group_79279] +[group_79280] +[group_79281] +[group_79282] +[group_79283] +[group_79284] +[group_79285] +[group_79286] +[group_79287] +[group_79288] +[group_79289] +[group_79290] +[group_79291] +[group_79292] +[group_79293] +[group_79294] +[group_79295] +[group_79296] +[group_79297] +[group_79298] +[group_79299] +[group_79300] +[group_79301] +[group_79302] +[group_79303] +[group_79304] +[group_79305] +[group_79306] +[group_79307] +[group_79308] +[group_79309] +[group_79310] +[group_79311] +[group_79312] +[group_79313] +[group_79314] +[group_79315] +[group_79316] +[group_79317] +[group_79318] +[group_79319] +[group_79320] +[group_79321] +[group_79322] +[group_79323] +[group_79324] +[group_79325] +[group_79326] +[group_79327] +[group_79328] +[group_79329] +[group_79330] +[group_79331] +[group_79332] +[group_79333] +[group_79334] +[group_79335] +[group_79336] +[group_79337] +[group_79338] +[group_79339] +[group_79340] +[group_79341] +[group_79342] +[group_79343] +[group_79344] +[group_79345] +[group_79346] +[group_79347] +[group_79348] +[group_79349] +[group_79350] +[group_79351] +[group_79352] +[group_79353] +[group_79354] +[group_79355] +[group_79356] +[group_79357] +[group_79358] +[group_79359] +[group_79360] +[group_79361] +[group_79362] +[group_79363] +[group_79364] +[group_79365] +[group_79366] +[group_79367] +[group_79368] +[group_79369] +[group_79370] +[group_79371] +[group_79372] +[group_79373] +[group_79374] +[group_79375] +[group_79376] +[group_79377] +[group_79378] +[group_79379] +[group_79380] +[group_79381] +[group_79382] +[group_79383] +[group_79384] +[group_79385] +[group_79386] +[group_79387] +[group_79388] +[group_79389] +[group_79390] +[group_79391] +[group_79392] +[group_79393] +[group_79394] +[group_79395] +[group_79396] +[group_79397] +[group_79398] +[group_79399] +[group_79400] +[group_79401] +[group_79402] +[group_79403] +[group_79404] +[group_79405] +[group_79406] +[group_79407] +[group_79408] +[group_79409] +[group_79410] +[group_79411] +[group_79412] +[group_79413] +[group_79414] +[group_79415] +[group_79416] +[group_79417] +[group_79418] +[group_79419] +[group_79420] +[group_79421] +[group_79422] +[group_79423] +[group_79424] +[group_79425] +[group_79426] +[group_79427] +[group_79428] +[group_79429] +[group_79430] +[group_79431] +[group_79432] +[group_79433] +[group_79434] +[group_79435] +[group_79436] +[group_79437] +[group_79438] +[group_79439] +[group_79440] +[group_79441] +[group_79442] +[group_79443] +[group_79444] +[group_79445] +[group_79446] +[group_79447] +[group_79448] +[group_79449] +[group_79450] +[group_79451] +[group_79452] +[group_79453] +[group_79454] +[group_79455] +[group_79456] +[group_79457] +[group_79458] +[group_79459] +[group_79460] +[group_79461] +[group_79462] +[group_79463] +[group_79464] +[group_79465] +[group_79466] +[group_79467] +[group_79468] +[group_79469] +[group_79470] +[group_79471] +[group_79472] +[group_79473] +[group_79474] +[group_79475] +[group_79476] +[group_79477] +[group_79478] +[group_79479] +[group_79480] +[group_79481] +[group_79482] +[group_79483] +[group_79484] +[group_79485] +[group_79486] +[group_79487] +[group_79488] +[group_79489] +[group_79490] +[group_79491] +[group_79492] +[group_79493] +[group_79494] +[group_79495] +[group_79496] +[group_79497] +[group_79498] +[group_79499] +[group_79500] +[group_79501] +[group_79502] +[group_79503] +[group_79504] +[group_79505] +[group_79506] +[group_79507] +[group_79508] +[group_79509] +[group_79510] +[group_79511] +[group_79512] +[group_79513] +[group_79514] +[group_79515] +[group_79516] +[group_79517] +[group_79518] +[group_79519] +[group_79520] +[group_79521] +[group_79522] +[group_79523] +[group_79524] +[group_79525] +[group_79526] +[group_79527] +[group_79528] +[group_79529] +[group_79530] +[group_79531] +[group_79532] +[group_79533] +[group_79534] +[group_79535] +[group_79536] +[group_79537] +[group_79538] +[group_79539] +[group_79540] +[group_79541] +[group_79542] +[group_79543] +[group_79544] +[group_79545] +[group_79546] +[group_79547] +[group_79548] +[group_79549] +[group_79550] +[group_79551] +[group_79552] +[group_79553] +[group_79554] +[group_79555] +[group_79556] +[group_79557] +[group_79558] +[group_79559] +[group_79560] +[group_79561] +[group_79562] +[group_79563] +[group_79564] +[group_79565] +[group_79566] +[group_79567] +[group_79568] +[group_79569] +[group_79570] +[group_79571] +[group_79572] +[group_79573] +[group_79574] +[group_79575] +[group_79576] +[group_79577] +[group_79578] +[group_79579] +[group_79580] +[group_79581] +[group_79582] +[group_79583] +[group_79584] +[group_79585] +[group_79586] +[group_79587] +[group_79588] +[group_79589] +[group_79590] +[group_79591] +[group_79592] +[group_79593] +[group_79594] +[group_79595] +[group_79596] +[group_79597] +[group_79598] +[group_79599] +[group_79600] +[group_79601] +[group_79602] +[group_79603] +[group_79604] +[group_79605] +[group_79606] +[group_79607] +[group_79608] +[group_79609] +[group_79610] +[group_79611] +[group_79612] +[group_79613] +[group_79614] +[group_79615] +[group_79616] +[group_79617] +[group_79618] +[group_79619] +[group_79620] +[group_79621] +[group_79622] +[group_79623] +[group_79624] +[group_79625] +[group_79626] +[group_79627] +[group_79628] +[group_79629] +[group_79630] +[group_79631] +[group_79632] +[group_79633] +[group_79634] +[group_79635] +[group_79636] +[group_79637] +[group_79638] +[group_79639] +[group_79640] +[group_79641] +[group_79642] +[group_79643] +[group_79644] +[group_79645] +[group_79646] +[group_79647] +[group_79648] +[group_79649] +[group_79650] +[group_79651] +[group_79652] +[group_79653] +[group_79654] +[group_79655] +[group_79656] +[group_79657] +[group_79658] +[group_79659] +[group_79660] +[group_79661] +[group_79662] +[group_79663] +[group_79664] +[group_79665] +[group_79666] +[group_79667] +[group_79668] +[group_79669] +[group_79670] +[group_79671] +[group_79672] +[group_79673] +[group_79674] +[group_79675] +[group_79676] +[group_79677] +[group_79678] +[group_79679] +[group_79680] +[group_79681] +[group_79682] +[group_79683] +[group_79684] +[group_79685] +[group_79686] +[group_79687] +[group_79688] +[group_79689] +[group_79690] +[group_79691] +[group_79692] +[group_79693] +[group_79694] +[group_79695] +[group_79696] +[group_79697] +[group_79698] +[group_79699] +[group_79700] +[group_79701] +[group_79702] +[group_79703] +[group_79704] +[group_79705] +[group_79706] +[group_79707] +[group_79708] +[group_79709] +[group_79710] +[group_79711] +[group_79712] +[group_79713] +[group_79714] +[group_79715] +[group_79716] +[group_79717] +[group_79718] +[group_79719] +[group_79720] +[group_79721] +[group_79722] +[group_79723] +[group_79724] +[group_79725] +[group_79726] +[group_79727] +[group_79728] +[group_79729] +[group_79730] +[group_79731] +[group_79732] +[group_79733] +[group_79734] +[group_79735] +[group_79736] +[group_79737] +[group_79738] +[group_79739] +[group_79740] +[group_79741] +[group_79742] +[group_79743] +[group_79744] +[group_79745] +[group_79746] +[group_79747] +[group_79748] +[group_79749] +[group_79750] +[group_79751] +[group_79752] +[group_79753] +[group_79754] +[group_79755] +[group_79756] +[group_79757] +[group_79758] +[group_79759] +[group_79760] +[group_79761] +[group_79762] +[group_79763] +[group_79764] +[group_79765] +[group_79766] +[group_79767] +[group_79768] +[group_79769] +[group_79770] +[group_79771] +[group_79772] +[group_79773] +[group_79774] +[group_79775] +[group_79776] +[group_79777] +[group_79778] +[group_79779] +[group_79780] +[group_79781] +[group_79782] +[group_79783] +[group_79784] +[group_79785] +[group_79786] +[group_79787] +[group_79788] +[group_79789] +[group_79790] +[group_79791] +[group_79792] +[group_79793] +[group_79794] +[group_79795] +[group_79796] +[group_79797] +[group_79798] +[group_79799] +[group_79800] +[group_79801] +[group_79802] +[group_79803] +[group_79804] +[group_79805] +[group_79806] +[group_79807] +[group_79808] +[group_79809] +[group_79810] +[group_79811] +[group_79812] +[group_79813] +[group_79814] +[group_79815] +[group_79816] +[group_79817] +[group_79818] +[group_79819] +[group_79820] +[group_79821] +[group_79822] +[group_79823] +[group_79824] +[group_79825] +[group_79826] +[group_79827] +[group_79828] +[group_79829] +[group_79830] +[group_79831] +[group_79832] +[group_79833] +[group_79834] +[group_79835] +[group_79836] +[group_79837] +[group_79838] +[group_79839] +[group_79840] +[group_79841] +[group_79842] +[group_79843] +[group_79844] +[group_79845] +[group_79846] +[group_79847] +[group_79848] +[group_79849] +[group_79850] +[group_79851] +[group_79852] +[group_79853] +[group_79854] +[group_79855] +[group_79856] +[group_79857] +[group_79858] +[group_79859] +[group_79860] +[group_79861] +[group_79862] +[group_79863] +[group_79864] +[group_79865] +[group_79866] +[group_79867] +[group_79868] +[group_79869] +[group_79870] +[group_79871] +[group_79872] +[group_79873] +[group_79874] +[group_79875] +[group_79876] +[group_79877] +[group_79878] +[group_79879] +[group_79880] +[group_79881] +[group_79882] +[group_79883] +[group_79884] +[group_79885] +[group_79886] +[group_79887] +[group_79888] +[group_79889] +[group_79890] +[group_79891] +[group_79892] +[group_79893] +[group_79894] +[group_79895] +[group_79896] +[group_79897] +[group_79898] +[group_79899] +[group_79900] +[group_79901] +[group_79902] +[group_79903] +[group_79904] +[group_79905] +[group_79906] +[group_79907] +[group_79908] +[group_79909] +[group_79910] +[group_79911] +[group_79912] +[group_79913] +[group_79914] +[group_79915] +[group_79916] +[group_79917] +[group_79918] +[group_79919] +[group_79920] +[group_79921] +[group_79922] +[group_79923] +[group_79924] +[group_79925] +[group_79926] +[group_79927] +[group_79928] +[group_79929] +[group_79930] +[group_79931] +[group_79932] +[group_79933] +[group_79934] +[group_79935] +[group_79936] +[group_79937] +[group_79938] +[group_79939] +[group_79940] +[group_79941] +[group_79942] +[group_79943] +[group_79944] +[group_79945] +[group_79946] +[group_79947] +[group_79948] +[group_79949] +[group_79950] +[group_79951] +[group_79952] +[group_79953] +[group_79954] +[group_79955] +[group_79956] +[group_79957] +[group_79958] +[group_79959] +[group_79960] +[group_79961] +[group_79962] +[group_79963] +[group_79964] +[group_79965] +[group_79966] +[group_79967] +[group_79968] +[group_79969] +[group_79970] +[group_79971] +[group_79972] +[group_79973] +[group_79974] +[group_79975] +[group_79976] +[group_79977] +[group_79978] +[group_79979] +[group_79980] +[group_79981] +[group_79982] +[group_79983] +[group_79984] +[group_79985] +[group_79986] +[group_79987] +[group_79988] +[group_79989] +[group_79990] +[group_79991] +[group_79992] +[group_79993] +[group_79994] +[group_79995] +[group_79996] +[group_79997] +[group_79998] +[group_79999] +[group_80000] +[group_80001] +[group_80002] +[group_80003] +[group_80004] +[group_80005] +[group_80006] +[group_80007] +[group_80008] +[group_80009] +[group_80010] +[group_80011] +[group_80012] +[group_80013] +[group_80014] +[group_80015] +[group_80016] +[group_80017] +[group_80018] +[group_80019] +[group_80020] +[group_80021] +[group_80022] +[group_80023] +[group_80024] +[group_80025] +[group_80026] +[group_80027] +[group_80028] +[group_80029] +[group_80030] +[group_80031] +[group_80032] +[group_80033] +[group_80034] +[group_80035] +[group_80036] +[group_80037] +[group_80038] +[group_80039] +[group_80040] +[group_80041] +[group_80042] +[group_80043] +[group_80044] +[group_80045] +[group_80046] +[group_80047] +[group_80048] +[group_80049] +[group_80050] +[group_80051] +[group_80052] +[group_80053] +[group_80054] +[group_80055] +[group_80056] +[group_80057] +[group_80058] +[group_80059] +[group_80060] +[group_80061] +[group_80062] +[group_80063] +[group_80064] +[group_80065] +[group_80066] +[group_80067] +[group_80068] +[group_80069] +[group_80070] +[group_80071] +[group_80072] +[group_80073] +[group_80074] +[group_80075] +[group_80076] +[group_80077] +[group_80078] +[group_80079] +[group_80080] +[group_80081] +[group_80082] +[group_80083] +[group_80084] +[group_80085] +[group_80086] +[group_80087] +[group_80088] +[group_80089] +[group_80090] +[group_80091] +[group_80092] +[group_80093] +[group_80094] +[group_80095] +[group_80096] +[group_80097] +[group_80098] +[group_80099] +[group_80100] +[group_80101] +[group_80102] +[group_80103] +[group_80104] +[group_80105] +[group_80106] +[group_80107] +[group_80108] +[group_80109] +[group_80110] +[group_80111] +[group_80112] +[group_80113] +[group_80114] +[group_80115] +[group_80116] +[group_80117] +[group_80118] +[group_80119] +[group_80120] +[group_80121] +[group_80122] +[group_80123] +[group_80124] +[group_80125] +[group_80126] +[group_80127] +[group_80128] +[group_80129] +[group_80130] +[group_80131] +[group_80132] +[group_80133] +[group_80134] +[group_80135] +[group_80136] +[group_80137] +[group_80138] +[group_80139] +[group_80140] +[group_80141] +[group_80142] +[group_80143] +[group_80144] +[group_80145] +[group_80146] +[group_80147] +[group_80148] +[group_80149] +[group_80150] +[group_80151] +[group_80152] +[group_80153] +[group_80154] +[group_80155] +[group_80156] +[group_80157] +[group_80158] +[group_80159] +[group_80160] +[group_80161] +[group_80162] +[group_80163] +[group_80164] +[group_80165] +[group_80166] +[group_80167] +[group_80168] +[group_80169] +[group_80170] +[group_80171] +[group_80172] +[group_80173] +[group_80174] +[group_80175] +[group_80176] +[group_80177] +[group_80178] +[group_80179] +[group_80180] +[group_80181] +[group_80182] +[group_80183] +[group_80184] +[group_80185] +[group_80186] +[group_80187] +[group_80188] +[group_80189] +[group_80190] +[group_80191] +[group_80192] +[group_80193] +[group_80194] +[group_80195] +[group_80196] +[group_80197] +[group_80198] +[group_80199] +[group_80200] +[group_80201] +[group_80202] +[group_80203] +[group_80204] +[group_80205] +[group_80206] +[group_80207] +[group_80208] +[group_80209] +[group_80210] +[group_80211] +[group_80212] +[group_80213] +[group_80214] +[group_80215] +[group_80216] +[group_80217] +[group_80218] +[group_80219] +[group_80220] +[group_80221] +[group_80222] +[group_80223] +[group_80224] +[group_80225] +[group_80226] +[group_80227] +[group_80228] +[group_80229] +[group_80230] +[group_80231] +[group_80232] +[group_80233] +[group_80234] +[group_80235] +[group_80236] +[group_80237] +[group_80238] +[group_80239] +[group_80240] +[group_80241] +[group_80242] +[group_80243] +[group_80244] +[group_80245] +[group_80246] +[group_80247] +[group_80248] +[group_80249] +[group_80250] +[group_80251] +[group_80252] +[group_80253] +[group_80254] +[group_80255] +[group_80256] +[group_80257] +[group_80258] +[group_80259] +[group_80260] +[group_80261] +[group_80262] +[group_80263] +[group_80264] +[group_80265] +[group_80266] +[group_80267] +[group_80268] +[group_80269] +[group_80270] +[group_80271] +[group_80272] +[group_80273] +[group_80274] +[group_80275] +[group_80276] +[group_80277] +[group_80278] +[group_80279] +[group_80280] +[group_80281] +[group_80282] +[group_80283] +[group_80284] +[group_80285] +[group_80286] +[group_80287] +[group_80288] +[group_80289] +[group_80290] +[group_80291] +[group_80292] +[group_80293] +[group_80294] +[group_80295] +[group_80296] +[group_80297] +[group_80298] +[group_80299] +[group_80300] +[group_80301] +[group_80302] +[group_80303] +[group_80304] +[group_80305] +[group_80306] +[group_80307] +[group_80308] +[group_80309] +[group_80310] +[group_80311] +[group_80312] +[group_80313] +[group_80314] +[group_80315] +[group_80316] +[group_80317] +[group_80318] +[group_80319] +[group_80320] +[group_80321] +[group_80322] +[group_80323] +[group_80324] +[group_80325] +[group_80326] +[group_80327] +[group_80328] +[group_80329] +[group_80330] +[group_80331] +[group_80332] +[group_80333] +[group_80334] +[group_80335] +[group_80336] +[group_80337] +[group_80338] +[group_80339] +[group_80340] +[group_80341] +[group_80342] +[group_80343] +[group_80344] +[group_80345] +[group_80346] +[group_80347] +[group_80348] +[group_80349] +[group_80350] +[group_80351] +[group_80352] +[group_80353] +[group_80354] +[group_80355] +[group_80356] +[group_80357] +[group_80358] +[group_80359] +[group_80360] +[group_80361] +[group_80362] +[group_80363] +[group_80364] +[group_80365] +[group_80366] +[group_80367] +[group_80368] +[group_80369] +[group_80370] +[group_80371] +[group_80372] +[group_80373] +[group_80374] +[group_80375] +[group_80376] +[group_80377] +[group_80378] +[group_80379] +[group_80380] +[group_80381] +[group_80382] +[group_80383] +[group_80384] +[group_80385] +[group_80386] +[group_80387] +[group_80388] +[group_80389] +[group_80390] +[group_80391] +[group_80392] +[group_80393] +[group_80394] +[group_80395] +[group_80396] +[group_80397] +[group_80398] +[group_80399] +[group_80400] +[group_80401] +[group_80402] +[group_80403] +[group_80404] +[group_80405] +[group_80406] +[group_80407] +[group_80408] +[group_80409] +[group_80410] +[group_80411] +[group_80412] +[group_80413] +[group_80414] +[group_80415] +[group_80416] +[group_80417] +[group_80418] +[group_80419] +[group_80420] +[group_80421] +[group_80422] +[group_80423] +[group_80424] +[group_80425] +[group_80426] +[group_80427] +[group_80428] +[group_80429] +[group_80430] +[group_80431] +[group_80432] +[group_80433] +[group_80434] +[group_80435] +[group_80436] +[group_80437] +[group_80438] +[group_80439] +[group_80440] +[group_80441] +[group_80442] +[group_80443] +[group_80444] +[group_80445] +[group_80446] +[group_80447] +[group_80448] +[group_80449] +[group_80450] +[group_80451] +[group_80452] +[group_80453] +[group_80454] +[group_80455] +[group_80456] +[group_80457] +[group_80458] +[group_80459] +[group_80460] +[group_80461] +[group_80462] +[group_80463] +[group_80464] +[group_80465] +[group_80466] +[group_80467] +[group_80468] +[group_80469] +[group_80470] +[group_80471] +[group_80472] +[group_80473] +[group_80474] +[group_80475] +[group_80476] +[group_80477] +[group_80478] +[group_80479] +[group_80480] +[group_80481] +[group_80482] +[group_80483] +[group_80484] +[group_80485] +[group_80486] +[group_80487] +[group_80488] +[group_80489] +[group_80490] +[group_80491] +[group_80492] +[group_80493] +[group_80494] +[group_80495] +[group_80496] +[group_80497] +[group_80498] +[group_80499] +[group_80500] +[group_80501] +[group_80502] +[group_80503] +[group_80504] +[group_80505] +[group_80506] +[group_80507] +[group_80508] +[group_80509] +[group_80510] +[group_80511] +[group_80512] +[group_80513] +[group_80514] +[group_80515] +[group_80516] +[group_80517] +[group_80518] +[group_80519] +[group_80520] +[group_80521] +[group_80522] +[group_80523] +[group_80524] +[group_80525] +[group_80526] +[group_80527] +[group_80528] +[group_80529] +[group_80530] +[group_80531] +[group_80532] +[group_80533] +[group_80534] +[group_80535] +[group_80536] +[group_80537] +[group_80538] +[group_80539] +[group_80540] +[group_80541] +[group_80542] +[group_80543] +[group_80544] +[group_80545] +[group_80546] +[group_80547] +[group_80548] +[group_80549] +[group_80550] +[group_80551] +[group_80552] +[group_80553] +[group_80554] +[group_80555] +[group_80556] +[group_80557] +[group_80558] +[group_80559] +[group_80560] +[group_80561] +[group_80562] +[group_80563] +[group_80564] +[group_80565] +[group_80566] +[group_80567] +[group_80568] +[group_80569] +[group_80570] +[group_80571] +[group_80572] +[group_80573] +[group_80574] +[group_80575] +[group_80576] +[group_80577] +[group_80578] +[group_80579] +[group_80580] +[group_80581] +[group_80582] +[group_80583] +[group_80584] +[group_80585] +[group_80586] +[group_80587] +[group_80588] +[group_80589] +[group_80590] +[group_80591] +[group_80592] +[group_80593] +[group_80594] +[group_80595] +[group_80596] +[group_80597] +[group_80598] +[group_80599] +[group_80600] +[group_80601] +[group_80602] +[group_80603] +[group_80604] +[group_80605] +[group_80606] +[group_80607] +[group_80608] +[group_80609] +[group_80610] +[group_80611] +[group_80612] +[group_80613] +[group_80614] +[group_80615] +[group_80616] +[group_80617] +[group_80618] +[group_80619] +[group_80620] +[group_80621] +[group_80622] +[group_80623] +[group_80624] +[group_80625] +[group_80626] +[group_80627] +[group_80628] +[group_80629] +[group_80630] +[group_80631] +[group_80632] +[group_80633] +[group_80634] +[group_80635] +[group_80636] +[group_80637] +[group_80638] +[group_80639] +[group_80640] +[group_80641] +[group_80642] +[group_80643] +[group_80644] +[group_80645] +[group_80646] +[group_80647] +[group_80648] +[group_80649] +[group_80650] +[group_80651] +[group_80652] +[group_80653] +[group_80654] +[group_80655] +[group_80656] +[group_80657] +[group_80658] +[group_80659] +[group_80660] +[group_80661] +[group_80662] +[group_80663] +[group_80664] +[group_80665] +[group_80666] +[group_80667] +[group_80668] +[group_80669] +[group_80670] +[group_80671] +[group_80672] +[group_80673] +[group_80674] +[group_80675] +[group_80676] +[group_80677] +[group_80678] +[group_80679] +[group_80680] +[group_80681] +[group_80682] +[group_80683] +[group_80684] +[group_80685] +[group_80686] +[group_80687] +[group_80688] +[group_80689] +[group_80690] +[group_80691] +[group_80692] +[group_80693] +[group_80694] +[group_80695] +[group_80696] +[group_80697] +[group_80698] +[group_80699] +[group_80700] +[group_80701] +[group_80702] +[group_80703] +[group_80704] +[group_80705] +[group_80706] +[group_80707] +[group_80708] +[group_80709] +[group_80710] +[group_80711] +[group_80712] +[group_80713] +[group_80714] +[group_80715] +[group_80716] +[group_80717] +[group_80718] +[group_80719] +[group_80720] +[group_80721] +[group_80722] +[group_80723] +[group_80724] +[group_80725] +[group_80726] +[group_80727] +[group_80728] +[group_80729] +[group_80730] +[group_80731] +[group_80732] +[group_80733] +[group_80734] +[group_80735] +[group_80736] +[group_80737] +[group_80738] +[group_80739] +[group_80740] +[group_80741] +[group_80742] +[group_80743] +[group_80744] +[group_80745] +[group_80746] +[group_80747] +[group_80748] +[group_80749] +[group_80750] +[group_80751] +[group_80752] +[group_80753] +[group_80754] +[group_80755] +[group_80756] +[group_80757] +[group_80758] +[group_80759] +[group_80760] +[group_80761] +[group_80762] +[group_80763] +[group_80764] +[group_80765] +[group_80766] +[group_80767] +[group_80768] +[group_80769] +[group_80770] +[group_80771] +[group_80772] +[group_80773] +[group_80774] +[group_80775] +[group_80776] +[group_80777] +[group_80778] +[group_80779] +[group_80780] +[group_80781] +[group_80782] +[group_80783] +[group_80784] +[group_80785] +[group_80786] +[group_80787] +[group_80788] +[group_80789] +[group_80790] +[group_80791] +[group_80792] +[group_80793] +[group_80794] +[group_80795] +[group_80796] +[group_80797] +[group_80798] +[group_80799] +[group_80800] +[group_80801] +[group_80802] +[group_80803] +[group_80804] +[group_80805] +[group_80806] +[group_80807] +[group_80808] +[group_80809] +[group_80810] +[group_80811] +[group_80812] +[group_80813] +[group_80814] +[group_80815] +[group_80816] +[group_80817] +[group_80818] +[group_80819] +[group_80820] +[group_80821] +[group_80822] +[group_80823] +[group_80824] +[group_80825] +[group_80826] +[group_80827] +[group_80828] +[group_80829] +[group_80830] +[group_80831] +[group_80832] +[group_80833] +[group_80834] +[group_80835] +[group_80836] +[group_80837] +[group_80838] +[group_80839] +[group_80840] +[group_80841] +[group_80842] +[group_80843] +[group_80844] +[group_80845] +[group_80846] +[group_80847] +[group_80848] +[group_80849] +[group_80850] +[group_80851] +[group_80852] +[group_80853] +[group_80854] +[group_80855] +[group_80856] +[group_80857] +[group_80858] +[group_80859] +[group_80860] +[group_80861] +[group_80862] +[group_80863] +[group_80864] +[group_80865] +[group_80866] +[group_80867] +[group_80868] +[group_80869] +[group_80870] +[group_80871] +[group_80872] +[group_80873] +[group_80874] +[group_80875] +[group_80876] +[group_80877] +[group_80878] +[group_80879] +[group_80880] +[group_80881] +[group_80882] +[group_80883] +[group_80884] +[group_80885] +[group_80886] +[group_80887] +[group_80888] +[group_80889] +[group_80890] +[group_80891] +[group_80892] +[group_80893] +[group_80894] +[group_80895] +[group_80896] +[group_80897] +[group_80898] +[group_80899] +[group_80900] +[group_80901] +[group_80902] +[group_80903] +[group_80904] +[group_80905] +[group_80906] +[group_80907] +[group_80908] +[group_80909] +[group_80910] +[group_80911] +[group_80912] +[group_80913] +[group_80914] +[group_80915] +[group_80916] +[group_80917] +[group_80918] +[group_80919] +[group_80920] +[group_80921] +[group_80922] +[group_80923] +[group_80924] +[group_80925] +[group_80926] +[group_80927] +[group_80928] +[group_80929] +[group_80930] +[group_80931] +[group_80932] +[group_80933] +[group_80934] +[group_80935] +[group_80936] +[group_80937] +[group_80938] +[group_80939] +[group_80940] +[group_80941] +[group_80942] +[group_80943] +[group_80944] +[group_80945] +[group_80946] +[group_80947] +[group_80948] +[group_80949] +[group_80950] +[group_80951] +[group_80952] +[group_80953] +[group_80954] +[group_80955] +[group_80956] +[group_80957] +[group_80958] +[group_80959] +[group_80960] +[group_80961] +[group_80962] +[group_80963] +[group_80964] +[group_80965] +[group_80966] +[group_80967] +[group_80968] +[group_80969] +[group_80970] +[group_80971] +[group_80972] +[group_80973] +[group_80974] +[group_80975] +[group_80976] +[group_80977] +[group_80978] +[group_80979] +[group_80980] +[group_80981] +[group_80982] +[group_80983] +[group_80984] +[group_80985] +[group_80986] +[group_80987] +[group_80988] +[group_80989] +[group_80990] +[group_80991] +[group_80992] +[group_80993] +[group_80994] +[group_80995] +[group_80996] +[group_80997] +[group_80998] +[group_80999] +[group_81000] +[group_81001] +[group_81002] +[group_81003] +[group_81004] +[group_81005] +[group_81006] +[group_81007] +[group_81008] +[group_81009] +[group_81010] +[group_81011] +[group_81012] +[group_81013] +[group_81014] +[group_81015] +[group_81016] +[group_81017] +[group_81018] +[group_81019] +[group_81020] +[group_81021] +[group_81022] +[group_81023] +[group_81024] +[group_81025] +[group_81026] +[group_81027] +[group_81028] +[group_81029] +[group_81030] +[group_81031] +[group_81032] +[group_81033] +[group_81034] +[group_81035] +[group_81036] +[group_81037] +[group_81038] +[group_81039] +[group_81040] +[group_81041] +[group_81042] +[group_81043] +[group_81044] +[group_81045] +[group_81046] +[group_81047] +[group_81048] +[group_81049] +[group_81050] +[group_81051] +[group_81052] +[group_81053] +[group_81054] +[group_81055] +[group_81056] +[group_81057] +[group_81058] +[group_81059] +[group_81060] +[group_81061] +[group_81062] +[group_81063] +[group_81064] +[group_81065] +[group_81066] +[group_81067] +[group_81068] +[group_81069] +[group_81070] +[group_81071] +[group_81072] +[group_81073] +[group_81074] +[group_81075] +[group_81076] +[group_81077] +[group_81078] +[group_81079] +[group_81080] +[group_81081] +[group_81082] +[group_81083] +[group_81084] +[group_81085] +[group_81086] +[group_81087] +[group_81088] +[group_81089] +[group_81090] +[group_81091] +[group_81092] +[group_81093] +[group_81094] +[group_81095] +[group_81096] +[group_81097] +[group_81098] +[group_81099] +[group_81100] +[group_81101] +[group_81102] +[group_81103] +[group_81104] +[group_81105] +[group_81106] +[group_81107] +[group_81108] +[group_81109] +[group_81110] +[group_81111] +[group_81112] +[group_81113] +[group_81114] +[group_81115] +[group_81116] +[group_81117] +[group_81118] +[group_81119] +[group_81120] +[group_81121] +[group_81122] +[group_81123] +[group_81124] +[group_81125] +[group_81126] +[group_81127] +[group_81128] +[group_81129] +[group_81130] +[group_81131] +[group_81132] +[group_81133] +[group_81134] +[group_81135] +[group_81136] +[group_81137] +[group_81138] +[group_81139] +[group_81140] +[group_81141] +[group_81142] +[group_81143] +[group_81144] +[group_81145] +[group_81146] +[group_81147] +[group_81148] +[group_81149] +[group_81150] +[group_81151] +[group_81152] +[group_81153] +[group_81154] +[group_81155] +[group_81156] +[group_81157] +[group_81158] +[group_81159] +[group_81160] +[group_81161] +[group_81162] +[group_81163] +[group_81164] +[group_81165] +[group_81166] +[group_81167] +[group_81168] +[group_81169] +[group_81170] +[group_81171] +[group_81172] +[group_81173] +[group_81174] +[group_81175] +[group_81176] +[group_81177] +[group_81178] +[group_81179] +[group_81180] +[group_81181] +[group_81182] +[group_81183] +[group_81184] +[group_81185] +[group_81186] +[group_81187] +[group_81188] +[group_81189] +[group_81190] +[group_81191] +[group_81192] +[group_81193] +[group_81194] +[group_81195] +[group_81196] +[group_81197] +[group_81198] +[group_81199] +[group_81200] +[group_81201] +[group_81202] +[group_81203] +[group_81204] +[group_81205] +[group_81206] +[group_81207] +[group_81208] +[group_81209] +[group_81210] +[group_81211] +[group_81212] +[group_81213] +[group_81214] +[group_81215] +[group_81216] +[group_81217] +[group_81218] +[group_81219] +[group_81220] +[group_81221] +[group_81222] +[group_81223] +[group_81224] +[group_81225] +[group_81226] +[group_81227] +[group_81228] +[group_81229] +[group_81230] +[group_81231] +[group_81232] +[group_81233] +[group_81234] +[group_81235] +[group_81236] +[group_81237] +[group_81238] +[group_81239] +[group_81240] +[group_81241] +[group_81242] +[group_81243] +[group_81244] +[group_81245] +[group_81246] +[group_81247] +[group_81248] +[group_81249] +[group_81250] +[group_81251] +[group_81252] +[group_81253] +[group_81254] +[group_81255] +[group_81256] +[group_81257] +[group_81258] +[group_81259] +[group_81260] +[group_81261] +[group_81262] +[group_81263] +[group_81264] +[group_81265] +[group_81266] +[group_81267] +[group_81268] +[group_81269] +[group_81270] +[group_81271] +[group_81272] +[group_81273] +[group_81274] +[group_81275] +[group_81276] +[group_81277] +[group_81278] +[group_81279] +[group_81280] +[group_81281] +[group_81282] +[group_81283] +[group_81284] +[group_81285] +[group_81286] +[group_81287] +[group_81288] +[group_81289] +[group_81290] +[group_81291] +[group_81292] +[group_81293] +[group_81294] +[group_81295] +[group_81296] +[group_81297] +[group_81298] +[group_81299] +[group_81300] +[group_81301] +[group_81302] +[group_81303] +[group_81304] +[group_81305] +[group_81306] +[group_81307] +[group_81308] +[group_81309] +[group_81310] +[group_81311] +[group_81312] +[group_81313] +[group_81314] +[group_81315] +[group_81316] +[group_81317] +[group_81318] +[group_81319] +[group_81320] +[group_81321] +[group_81322] +[group_81323] +[group_81324] +[group_81325] +[group_81326] +[group_81327] +[group_81328] +[group_81329] +[group_81330] +[group_81331] +[group_81332] +[group_81333] +[group_81334] +[group_81335] +[group_81336] +[group_81337] +[group_81338] +[group_81339] +[group_81340] +[group_81341] +[group_81342] +[group_81343] +[group_81344] +[group_81345] +[group_81346] +[group_81347] +[group_81348] +[group_81349] +[group_81350] +[group_81351] +[group_81352] +[group_81353] +[group_81354] +[group_81355] +[group_81356] +[group_81357] +[group_81358] +[group_81359] +[group_81360] +[group_81361] +[group_81362] +[group_81363] +[group_81364] +[group_81365] +[group_81366] +[group_81367] +[group_81368] +[group_81369] +[group_81370] +[group_81371] +[group_81372] +[group_81373] +[group_81374] +[group_81375] +[group_81376] +[group_81377] +[group_81378] +[group_81379] +[group_81380] +[group_81381] +[group_81382] +[group_81383] +[group_81384] +[group_81385] +[group_81386] +[group_81387] +[group_81388] +[group_81389] +[group_81390] +[group_81391] +[group_81392] +[group_81393] +[group_81394] +[group_81395] +[group_81396] +[group_81397] +[group_81398] +[group_81399] +[group_81400] +[group_81401] +[group_81402] +[group_81403] +[group_81404] +[group_81405] +[group_81406] +[group_81407] +[group_81408] +[group_81409] +[group_81410] +[group_81411] +[group_81412] +[group_81413] +[group_81414] +[group_81415] +[group_81416] +[group_81417] +[group_81418] +[group_81419] +[group_81420] +[group_81421] +[group_81422] +[group_81423] +[group_81424] +[group_81425] +[group_81426] +[group_81427] +[group_81428] +[group_81429] +[group_81430] +[group_81431] +[group_81432] +[group_81433] +[group_81434] +[group_81435] +[group_81436] +[group_81437] +[group_81438] +[group_81439] +[group_81440] +[group_81441] +[group_81442] +[group_81443] +[group_81444] +[group_81445] +[group_81446] +[group_81447] +[group_81448] +[group_81449] +[group_81450] +[group_81451] +[group_81452] +[group_81453] +[group_81454] +[group_81455] +[group_81456] +[group_81457] +[group_81458] +[group_81459] +[group_81460] +[group_81461] +[group_81462] +[group_81463] +[group_81464] +[group_81465] +[group_81466] +[group_81467] +[group_81468] +[group_81469] +[group_81470] +[group_81471] +[group_81472] +[group_81473] +[group_81474] +[group_81475] +[group_81476] +[group_81477] +[group_81478] +[group_81479] +[group_81480] +[group_81481] +[group_81482] +[group_81483] +[group_81484] +[group_81485] +[group_81486] +[group_81487] +[group_81488] +[group_81489] +[group_81490] +[group_81491] +[group_81492] +[group_81493] +[group_81494] +[group_81495] +[group_81496] +[group_81497] +[group_81498] +[group_81499] +[group_81500] +[group_81501] +[group_81502] +[group_81503] +[group_81504] +[group_81505] +[group_81506] +[group_81507] +[group_81508] +[group_81509] +[group_81510] +[group_81511] +[group_81512] +[group_81513] +[group_81514] +[group_81515] +[group_81516] +[group_81517] +[group_81518] +[group_81519] +[group_81520] +[group_81521] +[group_81522] +[group_81523] +[group_81524] +[group_81525] +[group_81526] +[group_81527] +[group_81528] +[group_81529] +[group_81530] +[group_81531] +[group_81532] +[group_81533] +[group_81534] +[group_81535] +[group_81536] +[group_81537] +[group_81538] +[group_81539] +[group_81540] +[group_81541] +[group_81542] +[group_81543] +[group_81544] +[group_81545] +[group_81546] +[group_81547] +[group_81548] +[group_81549] +[group_81550] +[group_81551] +[group_81552] +[group_81553] +[group_81554] +[group_81555] +[group_81556] +[group_81557] +[group_81558] +[group_81559] +[group_81560] +[group_81561] +[group_81562] +[group_81563] +[group_81564] +[group_81565] +[group_81566] +[group_81567] +[group_81568] +[group_81569] +[group_81570] +[group_81571] +[group_81572] +[group_81573] +[group_81574] +[group_81575] +[group_81576] +[group_81577] +[group_81578] +[group_81579] +[group_81580] +[group_81581] +[group_81582] +[group_81583] +[group_81584] +[group_81585] +[group_81586] +[group_81587] +[group_81588] +[group_81589] +[group_81590] +[group_81591] +[group_81592] +[group_81593] +[group_81594] +[group_81595] +[group_81596] +[group_81597] +[group_81598] +[group_81599] +[group_81600] +[group_81601] +[group_81602] +[group_81603] +[group_81604] +[group_81605] +[group_81606] +[group_81607] +[group_81608] +[group_81609] +[group_81610] +[group_81611] +[group_81612] +[group_81613] +[group_81614] +[group_81615] +[group_81616] +[group_81617] +[group_81618] +[group_81619] +[group_81620] +[group_81621] +[group_81622] +[group_81623] +[group_81624] +[group_81625] +[group_81626] +[group_81627] +[group_81628] +[group_81629] +[group_81630] +[group_81631] +[group_81632] +[group_81633] +[group_81634] +[group_81635] +[group_81636] +[group_81637] +[group_81638] +[group_81639] +[group_81640] +[group_81641] +[group_81642] +[group_81643] +[group_81644] +[group_81645] +[group_81646] +[group_81647] +[group_81648] +[group_81649] +[group_81650] +[group_81651] +[group_81652] +[group_81653] +[group_81654] +[group_81655] +[group_81656] +[group_81657] +[group_81658] +[group_81659] +[group_81660] +[group_81661] +[group_81662] +[group_81663] +[group_81664] +[group_81665] +[group_81666] +[group_81667] +[group_81668] +[group_81669] +[group_81670] +[group_81671] +[group_81672] +[group_81673] +[group_81674] +[group_81675] +[group_81676] +[group_81677] +[group_81678] +[group_81679] +[group_81680] +[group_81681] +[group_81682] +[group_81683] +[group_81684] +[group_81685] +[group_81686] +[group_81687] +[group_81688] +[group_81689] +[group_81690] +[group_81691] +[group_81692] +[group_81693] +[group_81694] +[group_81695] +[group_81696] +[group_81697] +[group_81698] +[group_81699] +[group_81700] +[group_81701] +[group_81702] +[group_81703] +[group_81704] +[group_81705] +[group_81706] +[group_81707] +[group_81708] +[group_81709] +[group_81710] +[group_81711] +[group_81712] +[group_81713] +[group_81714] +[group_81715] +[group_81716] +[group_81717] +[group_81718] +[group_81719] +[group_81720] +[group_81721] +[group_81722] +[group_81723] +[group_81724] +[group_81725] +[group_81726] +[group_81727] +[group_81728] +[group_81729] +[group_81730] +[group_81731] +[group_81732] +[group_81733] +[group_81734] +[group_81735] +[group_81736] +[group_81737] +[group_81738] +[group_81739] +[group_81740] +[group_81741] +[group_81742] +[group_81743] +[group_81744] +[group_81745] +[group_81746] +[group_81747] +[group_81748] +[group_81749] +[group_81750] +[group_81751] +[group_81752] +[group_81753] +[group_81754] +[group_81755] +[group_81756] +[group_81757] +[group_81758] +[group_81759] +[group_81760] +[group_81761] +[group_81762] +[group_81763] +[group_81764] +[group_81765] +[group_81766] +[group_81767] +[group_81768] +[group_81769] +[group_81770] +[group_81771] +[group_81772] +[group_81773] +[group_81774] +[group_81775] +[group_81776] +[group_81777] +[group_81778] +[group_81779] +[group_81780] +[group_81781] +[group_81782] +[group_81783] +[group_81784] +[group_81785] +[group_81786] +[group_81787] +[group_81788] +[group_81789] +[group_81790] +[group_81791] +[group_81792] +[group_81793] +[group_81794] +[group_81795] +[group_81796] +[group_81797] +[group_81798] +[group_81799] +[group_81800] +[group_81801] +[group_81802] +[group_81803] +[group_81804] +[group_81805] +[group_81806] +[group_81807] +[group_81808] +[group_81809] +[group_81810] +[group_81811] +[group_81812] +[group_81813] +[group_81814] +[group_81815] +[group_81816] +[group_81817] +[group_81818] +[group_81819] +[group_81820] +[group_81821] +[group_81822] +[group_81823] +[group_81824] +[group_81825] +[group_81826] +[group_81827] +[group_81828] +[group_81829] +[group_81830] +[group_81831] +[group_81832] +[group_81833] +[group_81834] +[group_81835] +[group_81836] +[group_81837] +[group_81838] +[group_81839] +[group_81840] +[group_81841] +[group_81842] +[group_81843] +[group_81844] +[group_81845] +[group_81846] +[group_81847] +[group_81848] +[group_81849] +[group_81850] +[group_81851] +[group_81852] +[group_81853] +[group_81854] +[group_81855] +[group_81856] +[group_81857] +[group_81858] +[group_81859] +[group_81860] +[group_81861] +[group_81862] +[group_81863] +[group_81864] +[group_81865] +[group_81866] +[group_81867] +[group_81868] +[group_81869] +[group_81870] +[group_81871] +[group_81872] +[group_81873] +[group_81874] +[group_81875] +[group_81876] +[group_81877] +[group_81878] +[group_81879] +[group_81880] +[group_81881] +[group_81882] +[group_81883] +[group_81884] +[group_81885] +[group_81886] +[group_81887] +[group_81888] +[group_81889] +[group_81890] +[group_81891] +[group_81892] +[group_81893] +[group_81894] +[group_81895] +[group_81896] +[group_81897] +[group_81898] +[group_81899] +[group_81900] +[group_81901] +[group_81902] +[group_81903] +[group_81904] +[group_81905] +[group_81906] +[group_81907] +[group_81908] +[group_81909] +[group_81910] +[group_81911] +[group_81912] +[group_81913] +[group_81914] +[group_81915] +[group_81916] +[group_81917] +[group_81918] +[group_81919] +[group_81920] +[group_81921] +[group_81922] +[group_81923] +[group_81924] +[group_81925] +[group_81926] +[group_81927] +[group_81928] +[group_81929] +[group_81930] +[group_81931] +[group_81932] +[group_81933] +[group_81934] +[group_81935] +[group_81936] +[group_81937] +[group_81938] +[group_81939] +[group_81940] +[group_81941] +[group_81942] +[group_81943] +[group_81944] +[group_81945] +[group_81946] +[group_81947] +[group_81948] +[group_81949] +[group_81950] +[group_81951] +[group_81952] +[group_81953] +[group_81954] +[group_81955] +[group_81956] +[group_81957] +[group_81958] +[group_81959] +[group_81960] +[group_81961] +[group_81962] +[group_81963] +[group_81964] +[group_81965] +[group_81966] +[group_81967] +[group_81968] +[group_81969] +[group_81970] +[group_81971] +[group_81972] +[group_81973] +[group_81974] +[group_81975] +[group_81976] +[group_81977] +[group_81978] +[group_81979] +[group_81980] +[group_81981] +[group_81982] +[group_81983] +[group_81984] +[group_81985] +[group_81986] +[group_81987] +[group_81988] +[group_81989] +[group_81990] +[group_81991] +[group_81992] +[group_81993] +[group_81994] +[group_81995] +[group_81996] +[group_81997] +[group_81998] +[group_81999] +[group_82000] +[group_82001] +[group_82002] +[group_82003] +[group_82004] +[group_82005] +[group_82006] +[group_82007] +[group_82008] +[group_82009] +[group_82010] +[group_82011] +[group_82012] +[group_82013] +[group_82014] +[group_82015] +[group_82016] +[group_82017] +[group_82018] +[group_82019] +[group_82020] +[group_82021] +[group_82022] +[group_82023] +[group_82024] +[group_82025] +[group_82026] +[group_82027] +[group_82028] +[group_82029] +[group_82030] +[group_82031] +[group_82032] +[group_82033] +[group_82034] +[group_82035] +[group_82036] +[group_82037] +[group_82038] +[group_82039] +[group_82040] +[group_82041] +[group_82042] +[group_82043] +[group_82044] +[group_82045] +[group_82046] +[group_82047] +[group_82048] +[group_82049] +[group_82050] +[group_82051] +[group_82052] +[group_82053] +[group_82054] +[group_82055] +[group_82056] +[group_82057] +[group_82058] +[group_82059] +[group_82060] +[group_82061] +[group_82062] +[group_82063] +[group_82064] +[group_82065] +[group_82066] +[group_82067] +[group_82068] +[group_82069] +[group_82070] +[group_82071] +[group_82072] +[group_82073] +[group_82074] +[group_82075] +[group_82076] +[group_82077] +[group_82078] +[group_82079] +[group_82080] +[group_82081] +[group_82082] +[group_82083] +[group_82084] +[group_82085] +[group_82086] +[group_82087] +[group_82088] +[group_82089] +[group_82090] +[group_82091] +[group_82092] +[group_82093] +[group_82094] +[group_82095] +[group_82096] +[group_82097] +[group_82098] +[group_82099] +[group_82100] +[group_82101] +[group_82102] +[group_82103] +[group_82104] +[group_82105] +[group_82106] +[group_82107] +[group_82108] +[group_82109] +[group_82110] +[group_82111] +[group_82112] +[group_82113] +[group_82114] +[group_82115] +[group_82116] +[group_82117] +[group_82118] +[group_82119] +[group_82120] +[group_82121] +[group_82122] +[group_82123] +[group_82124] +[group_82125] +[group_82126] +[group_82127] +[group_82128] +[group_82129] +[group_82130] +[group_82131] +[group_82132] +[group_82133] +[group_82134] +[group_82135] +[group_82136] +[group_82137] +[group_82138] +[group_82139] +[group_82140] +[group_82141] +[group_82142] +[group_82143] +[group_82144] +[group_82145] +[group_82146] +[group_82147] +[group_82148] +[group_82149] +[group_82150] +[group_82151] +[group_82152] +[group_82153] +[group_82154] +[group_82155] +[group_82156] +[group_82157] +[group_82158] +[group_82159] +[group_82160] +[group_82161] +[group_82162] +[group_82163] +[group_82164] +[group_82165] +[group_82166] +[group_82167] +[group_82168] +[group_82169] +[group_82170] +[group_82171] +[group_82172] +[group_82173] +[group_82174] +[group_82175] +[group_82176] +[group_82177] +[group_82178] +[group_82179] +[group_82180] +[group_82181] +[group_82182] +[group_82183] +[group_82184] +[group_82185] +[group_82186] +[group_82187] +[group_82188] +[group_82189] +[group_82190] +[group_82191] +[group_82192] +[group_82193] +[group_82194] +[group_82195] +[group_82196] +[group_82197] +[group_82198] +[group_82199] +[group_82200] +[group_82201] +[group_82202] +[group_82203] +[group_82204] +[group_82205] +[group_82206] +[group_82207] +[group_82208] +[group_82209] +[group_82210] +[group_82211] +[group_82212] +[group_82213] +[group_82214] +[group_82215] +[group_82216] +[group_82217] +[group_82218] +[group_82219] +[group_82220] +[group_82221] +[group_82222] +[group_82223] +[group_82224] +[group_82225] +[group_82226] +[group_82227] +[group_82228] +[group_82229] +[group_82230] +[group_82231] +[group_82232] +[group_82233] +[group_82234] +[group_82235] +[group_82236] +[group_82237] +[group_82238] +[group_82239] +[group_82240] +[group_82241] +[group_82242] +[group_82243] +[group_82244] +[group_82245] +[group_82246] +[group_82247] +[group_82248] +[group_82249] +[group_82250] +[group_82251] +[group_82252] +[group_82253] +[group_82254] +[group_82255] +[group_82256] +[group_82257] +[group_82258] +[group_82259] +[group_82260] +[group_82261] +[group_82262] +[group_82263] +[group_82264] +[group_82265] +[group_82266] +[group_82267] +[group_82268] +[group_82269] +[group_82270] +[group_82271] +[group_82272] +[group_82273] +[group_82274] +[group_82275] +[group_82276] +[group_82277] +[group_82278] +[group_82279] +[group_82280] +[group_82281] +[group_82282] +[group_82283] +[group_82284] +[group_82285] +[group_82286] +[group_82287] +[group_82288] +[group_82289] +[group_82290] +[group_82291] +[group_82292] +[group_82293] +[group_82294] +[group_82295] +[group_82296] +[group_82297] +[group_82298] +[group_82299] +[group_82300] +[group_82301] +[group_82302] +[group_82303] +[group_82304] +[group_82305] +[group_82306] +[group_82307] +[group_82308] +[group_82309] +[group_82310] +[group_82311] +[group_82312] +[group_82313] +[group_82314] +[group_82315] +[group_82316] +[group_82317] +[group_82318] +[group_82319] +[group_82320] +[group_82321] +[group_82322] +[group_82323] +[group_82324] +[group_82325] +[group_82326] +[group_82327] +[group_82328] +[group_82329] +[group_82330] +[group_82331] +[group_82332] +[group_82333] +[group_82334] +[group_82335] +[group_82336] +[group_82337] +[group_82338] +[group_82339] +[group_82340] +[group_82341] +[group_82342] +[group_82343] +[group_82344] +[group_82345] +[group_82346] +[group_82347] +[group_82348] +[group_82349] +[group_82350] +[group_82351] +[group_82352] +[group_82353] +[group_82354] +[group_82355] +[group_82356] +[group_82357] +[group_82358] +[group_82359] +[group_82360] +[group_82361] +[group_82362] +[group_82363] +[group_82364] +[group_82365] +[group_82366] +[group_82367] +[group_82368] +[group_82369] +[group_82370] +[group_82371] +[group_82372] +[group_82373] +[group_82374] +[group_82375] +[group_82376] +[group_82377] +[group_82378] +[group_82379] +[group_82380] +[group_82381] +[group_82382] +[group_82383] +[group_82384] +[group_82385] +[group_82386] +[group_82387] +[group_82388] +[group_82389] +[group_82390] +[group_82391] +[group_82392] +[group_82393] +[group_82394] +[group_82395] +[group_82396] +[group_82397] +[group_82398] +[group_82399] +[group_82400] +[group_82401] +[group_82402] +[group_82403] +[group_82404] +[group_82405] +[group_82406] +[group_82407] +[group_82408] +[group_82409] +[group_82410] +[group_82411] +[group_82412] +[group_82413] +[group_82414] +[group_82415] +[group_82416] +[group_82417] +[group_82418] +[group_82419] +[group_82420] +[group_82421] +[group_82422] +[group_82423] +[group_82424] +[group_82425] +[group_82426] +[group_82427] +[group_82428] +[group_82429] +[group_82430] +[group_82431] +[group_82432] +[group_82433] +[group_82434] +[group_82435] +[group_82436] +[group_82437] +[group_82438] +[group_82439] +[group_82440] +[group_82441] +[group_82442] +[group_82443] +[group_82444] +[group_82445] +[group_82446] +[group_82447] +[group_82448] +[group_82449] +[group_82450] +[group_82451] +[group_82452] +[group_82453] +[group_82454] +[group_82455] +[group_82456] +[group_82457] +[group_82458] +[group_82459] +[group_82460] +[group_82461] +[group_82462] +[group_82463] +[group_82464] +[group_82465] +[group_82466] +[group_82467] +[group_82468] +[group_82469] +[group_82470] +[group_82471] +[group_82472] +[group_82473] +[group_82474] +[group_82475] +[group_82476] +[group_82477] +[group_82478] +[group_82479] +[group_82480] +[group_82481] +[group_82482] +[group_82483] +[group_82484] +[group_82485] +[group_82486] +[group_82487] +[group_82488] +[group_82489] +[group_82490] +[group_82491] +[group_82492] +[group_82493] +[group_82494] +[group_82495] +[group_82496] +[group_82497] +[group_82498] +[group_82499] +[group_82500] +[group_82501] +[group_82502] +[group_82503] +[group_82504] +[group_82505] +[group_82506] +[group_82507] +[group_82508] +[group_82509] +[group_82510] +[group_82511] +[group_82512] +[group_82513] +[group_82514] +[group_82515] +[group_82516] +[group_82517] +[group_82518] +[group_82519] +[group_82520] +[group_82521] +[group_82522] +[group_82523] +[group_82524] +[group_82525] +[group_82526] +[group_82527] +[group_82528] +[group_82529] +[group_82530] +[group_82531] +[group_82532] +[group_82533] +[group_82534] +[group_82535] +[group_82536] +[group_82537] +[group_82538] +[group_82539] +[group_82540] +[group_82541] +[group_82542] +[group_82543] +[group_82544] +[group_82545] +[group_82546] +[group_82547] +[group_82548] +[group_82549] +[group_82550] +[group_82551] +[group_82552] +[group_82553] +[group_82554] +[group_82555] +[group_82556] +[group_82557] +[group_82558] +[group_82559] +[group_82560] +[group_82561] +[group_82562] +[group_82563] +[group_82564] +[group_82565] +[group_82566] +[group_82567] +[group_82568] +[group_82569] +[group_82570] +[group_82571] +[group_82572] +[group_82573] +[group_82574] +[group_82575] +[group_82576] +[group_82577] +[group_82578] +[group_82579] +[group_82580] +[group_82581] +[group_82582] +[group_82583] +[group_82584] +[group_82585] +[group_82586] +[group_82587] +[group_82588] +[group_82589] +[group_82590] +[group_82591] +[group_82592] +[group_82593] +[group_82594] +[group_82595] +[group_82596] +[group_82597] +[group_82598] +[group_82599] +[group_82600] +[group_82601] +[group_82602] +[group_82603] +[group_82604] +[group_82605] +[group_82606] +[group_82607] +[group_82608] +[group_82609] +[group_82610] +[group_82611] +[group_82612] +[group_82613] +[group_82614] +[group_82615] +[group_82616] +[group_82617] +[group_82618] +[group_82619] +[group_82620] +[group_82621] +[group_82622] +[group_82623] +[group_82624] +[group_82625] +[group_82626] +[group_82627] +[group_82628] +[group_82629] +[group_82630] +[group_82631] +[group_82632] +[group_82633] +[group_82634] +[group_82635] +[group_82636] +[group_82637] +[group_82638] +[group_82639] +[group_82640] +[group_82641] +[group_82642] +[group_82643] +[group_82644] +[group_82645] +[group_82646] +[group_82647] +[group_82648] +[group_82649] +[group_82650] +[group_82651] +[group_82652] +[group_82653] +[group_82654] +[group_82655] +[group_82656] +[group_82657] +[group_82658] +[group_82659] +[group_82660] +[group_82661] +[group_82662] +[group_82663] +[group_82664] +[group_82665] +[group_82666] +[group_82667] +[group_82668] +[group_82669] +[group_82670] +[group_82671] +[group_82672] +[group_82673] +[group_82674] +[group_82675] +[group_82676] +[group_82677] +[group_82678] +[group_82679] +[group_82680] +[group_82681] +[group_82682] +[group_82683] +[group_82684] +[group_82685] +[group_82686] +[group_82687] +[group_82688] +[group_82689] +[group_82690] +[group_82691] +[group_82692] +[group_82693] +[group_82694] +[group_82695] +[group_82696] +[group_82697] +[group_82698] +[group_82699] +[group_82700] +[group_82701] +[group_82702] +[group_82703] +[group_82704] +[group_82705] +[group_82706] +[group_82707] +[group_82708] +[group_82709] +[group_82710] +[group_82711] +[group_82712] +[group_82713] +[group_82714] +[group_82715] +[group_82716] +[group_82717] +[group_82718] +[group_82719] +[group_82720] +[group_82721] +[group_82722] +[group_82723] +[group_82724] +[group_82725] +[group_82726] +[group_82727] +[group_82728] +[group_82729] +[group_82730] +[group_82731] +[group_82732] +[group_82733] +[group_82734] +[group_82735] +[group_82736] +[group_82737] +[group_82738] +[group_82739] +[group_82740] +[group_82741] +[group_82742] +[group_82743] +[group_82744] +[group_82745] +[group_82746] +[group_82747] +[group_82748] +[group_82749] +[group_82750] +[group_82751] +[group_82752] +[group_82753] +[group_82754] +[group_82755] +[group_82756] +[group_82757] +[group_82758] +[group_82759] +[group_82760] +[group_82761] +[group_82762] +[group_82763] +[group_82764] +[group_82765] +[group_82766] +[group_82767] +[group_82768] +[group_82769] +[group_82770] +[group_82771] +[group_82772] +[group_82773] +[group_82774] +[group_82775] +[group_82776] +[group_82777] +[group_82778] +[group_82779] +[group_82780] +[group_82781] +[group_82782] +[group_82783] +[group_82784] +[group_82785] +[group_82786] +[group_82787] +[group_82788] +[group_82789] +[group_82790] +[group_82791] +[group_82792] +[group_82793] +[group_82794] +[group_82795] +[group_82796] +[group_82797] +[group_82798] +[group_82799] +[group_82800] +[group_82801] +[group_82802] +[group_82803] +[group_82804] +[group_82805] +[group_82806] +[group_82807] +[group_82808] +[group_82809] +[group_82810] +[group_82811] +[group_82812] +[group_82813] +[group_82814] +[group_82815] +[group_82816] +[group_82817] +[group_82818] +[group_82819] +[group_82820] +[group_82821] +[group_82822] +[group_82823] +[group_82824] +[group_82825] +[group_82826] +[group_82827] +[group_82828] +[group_82829] +[group_82830] +[group_82831] +[group_82832] +[group_82833] +[group_82834] +[group_82835] +[group_82836] +[group_82837] +[group_82838] +[group_82839] +[group_82840] +[group_82841] +[group_82842] +[group_82843] +[group_82844] +[group_82845] +[group_82846] +[group_82847] +[group_82848] +[group_82849] +[group_82850] +[group_82851] +[group_82852] +[group_82853] +[group_82854] +[group_82855] +[group_82856] +[group_82857] +[group_82858] +[group_82859] +[group_82860] +[group_82861] +[group_82862] +[group_82863] +[group_82864] +[group_82865] +[group_82866] +[group_82867] +[group_82868] +[group_82869] +[group_82870] +[group_82871] +[group_82872] +[group_82873] +[group_82874] +[group_82875] +[group_82876] +[group_82877] +[group_82878] +[group_82879] +[group_82880] +[group_82881] +[group_82882] +[group_82883] +[group_82884] +[group_82885] +[group_82886] +[group_82887] +[group_82888] +[group_82889] +[group_82890] +[group_82891] +[group_82892] +[group_82893] +[group_82894] +[group_82895] +[group_82896] +[group_82897] +[group_82898] +[group_82899] +[group_82900] +[group_82901] +[group_82902] +[group_82903] +[group_82904] +[group_82905] +[group_82906] +[group_82907] +[group_82908] +[group_82909] +[group_82910] +[group_82911] +[group_82912] +[group_82913] +[group_82914] +[group_82915] +[group_82916] +[group_82917] +[group_82918] +[group_82919] +[group_82920] +[group_82921] +[group_82922] +[group_82923] +[group_82924] +[group_82925] +[group_82926] +[group_82927] +[group_82928] +[group_82929] +[group_82930] +[group_82931] +[group_82932] +[group_82933] +[group_82934] +[group_82935] +[group_82936] +[group_82937] +[group_82938] +[group_82939] +[group_82940] +[group_82941] +[group_82942] +[group_82943] +[group_82944] +[group_82945] +[group_82946] +[group_82947] +[group_82948] +[group_82949] +[group_82950] +[group_82951] +[group_82952] +[group_82953] +[group_82954] +[group_82955] +[group_82956] +[group_82957] +[group_82958] +[group_82959] +[group_82960] +[group_82961] +[group_82962] +[group_82963] +[group_82964] +[group_82965] +[group_82966] +[group_82967] +[group_82968] +[group_82969] +[group_82970] +[group_82971] +[group_82972] +[group_82973] +[group_82974] +[group_82975] +[group_82976] +[group_82977] +[group_82978] +[group_82979] +[group_82980] +[group_82981] +[group_82982] +[group_82983] +[group_82984] +[group_82985] +[group_82986] +[group_82987] +[group_82988] +[group_82989] +[group_82990] +[group_82991] +[group_82992] +[group_82993] +[group_82994] +[group_82995] +[group_82996] +[group_82997] +[group_82998] +[group_82999] +[group_83000] +[group_83001] +[group_83002] +[group_83003] +[group_83004] +[group_83005] +[group_83006] +[group_83007] +[group_83008] +[group_83009] +[group_83010] +[group_83011] +[group_83012] +[group_83013] +[group_83014] +[group_83015] +[group_83016] +[group_83017] +[group_83018] +[group_83019] +[group_83020] +[group_83021] +[group_83022] +[group_83023] +[group_83024] +[group_83025] +[group_83026] +[group_83027] +[group_83028] +[group_83029] +[group_83030] +[group_83031] +[group_83032] +[group_83033] +[group_83034] +[group_83035] +[group_83036] +[group_83037] +[group_83038] +[group_83039] +[group_83040] +[group_83041] +[group_83042] +[group_83043] +[group_83044] +[group_83045] +[group_83046] +[group_83047] +[group_83048] +[group_83049] +[group_83050] +[group_83051] +[group_83052] +[group_83053] +[group_83054] +[group_83055] +[group_83056] +[group_83057] +[group_83058] +[group_83059] +[group_83060] +[group_83061] +[group_83062] +[group_83063] +[group_83064] +[group_83065] +[group_83066] +[group_83067] +[group_83068] +[group_83069] +[group_83070] +[group_83071] +[group_83072] +[group_83073] +[group_83074] +[group_83075] +[group_83076] +[group_83077] +[group_83078] +[group_83079] +[group_83080] +[group_83081] +[group_83082] +[group_83083] +[group_83084] +[group_83085] +[group_83086] +[group_83087] +[group_83088] +[group_83089] +[group_83090] +[group_83091] +[group_83092] +[group_83093] +[group_83094] +[group_83095] +[group_83096] +[group_83097] +[group_83098] +[group_83099] +[group_83100] +[group_83101] +[group_83102] +[group_83103] +[group_83104] +[group_83105] +[group_83106] +[group_83107] +[group_83108] +[group_83109] +[group_83110] +[group_83111] +[group_83112] +[group_83113] +[group_83114] +[group_83115] +[group_83116] +[group_83117] +[group_83118] +[group_83119] +[group_83120] +[group_83121] +[group_83122] +[group_83123] +[group_83124] +[group_83125] +[group_83126] +[group_83127] +[group_83128] +[group_83129] +[group_83130] +[group_83131] +[group_83132] +[group_83133] +[group_83134] +[group_83135] +[group_83136] +[group_83137] +[group_83138] +[group_83139] +[group_83140] +[group_83141] +[group_83142] +[group_83143] +[group_83144] +[group_83145] +[group_83146] +[group_83147] +[group_83148] +[group_83149] +[group_83150] +[group_83151] +[group_83152] +[group_83153] +[group_83154] +[group_83155] +[group_83156] +[group_83157] +[group_83158] +[group_83159] +[group_83160] +[group_83161] +[group_83162] +[group_83163] +[group_83164] +[group_83165] +[group_83166] +[group_83167] +[group_83168] +[group_83169] +[group_83170] +[group_83171] +[group_83172] +[group_83173] +[group_83174] +[group_83175] +[group_83176] +[group_83177] +[group_83178] +[group_83179] +[group_83180] +[group_83181] +[group_83182] +[group_83183] +[group_83184] +[group_83185] +[group_83186] +[group_83187] +[group_83188] +[group_83189] +[group_83190] +[group_83191] +[group_83192] +[group_83193] +[group_83194] +[group_83195] +[group_83196] +[group_83197] +[group_83198] +[group_83199] +[group_83200] +[group_83201] +[group_83202] +[group_83203] +[group_83204] +[group_83205] +[group_83206] +[group_83207] +[group_83208] +[group_83209] +[group_83210] +[group_83211] +[group_83212] +[group_83213] +[group_83214] +[group_83215] +[group_83216] +[group_83217] +[group_83218] +[group_83219] +[group_83220] +[group_83221] +[group_83222] +[group_83223] +[group_83224] +[group_83225] +[group_83226] +[group_83227] +[group_83228] +[group_83229] +[group_83230] +[group_83231] +[group_83232] +[group_83233] +[group_83234] +[group_83235] +[group_83236] +[group_83237] +[group_83238] +[group_83239] +[group_83240] +[group_83241] +[group_83242] +[group_83243] +[group_83244] +[group_83245] +[group_83246] +[group_83247] +[group_83248] +[group_83249] +[group_83250] +[group_83251] +[group_83252] +[group_83253] +[group_83254] +[group_83255] +[group_83256] +[group_83257] +[group_83258] +[group_83259] +[group_83260] +[group_83261] +[group_83262] +[group_83263] +[group_83264] +[group_83265] +[group_83266] +[group_83267] +[group_83268] +[group_83269] +[group_83270] +[group_83271] +[group_83272] +[group_83273] +[group_83274] +[group_83275] +[group_83276] +[group_83277] +[group_83278] +[group_83279] +[group_83280] +[group_83281] +[group_83282] +[group_83283] +[group_83284] +[group_83285] +[group_83286] +[group_83287] +[group_83288] +[group_83289] +[group_83290] +[group_83291] +[group_83292] +[group_83293] +[group_83294] +[group_83295] +[group_83296] +[group_83297] +[group_83298] +[group_83299] +[group_83300] +[group_83301] +[group_83302] +[group_83303] +[group_83304] +[group_83305] +[group_83306] +[group_83307] +[group_83308] +[group_83309] +[group_83310] +[group_83311] +[group_83312] +[group_83313] +[group_83314] +[group_83315] +[group_83316] +[group_83317] +[group_83318] +[group_83319] +[group_83320] +[group_83321] +[group_83322] +[group_83323] +[group_83324] +[group_83325] +[group_83326] +[group_83327] +[group_83328] +[group_83329] +[group_83330] +[group_83331] +[group_83332] +[group_83333] +[group_83334] +[group_83335] +[group_83336] +[group_83337] +[group_83338] +[group_83339] +[group_83340] +[group_83341] +[group_83342] +[group_83343] +[group_83344] +[group_83345] +[group_83346] +[group_83347] +[group_83348] +[group_83349] +[group_83350] +[group_83351] +[group_83352] +[group_83353] +[group_83354] +[group_83355] +[group_83356] +[group_83357] +[group_83358] +[group_83359] +[group_83360] +[group_83361] +[group_83362] +[group_83363] +[group_83364] +[group_83365] +[group_83366] +[group_83367] +[group_83368] +[group_83369] +[group_83370] +[group_83371] +[group_83372] +[group_83373] +[group_83374] +[group_83375] +[group_83376] +[group_83377] +[group_83378] +[group_83379] +[group_83380] +[group_83381] +[group_83382] +[group_83383] +[group_83384] +[group_83385] +[group_83386] +[group_83387] +[group_83388] +[group_83389] +[group_83390] +[group_83391] +[group_83392] +[group_83393] +[group_83394] +[group_83395] +[group_83396] +[group_83397] +[group_83398] +[group_83399] +[group_83400] +[group_83401] +[group_83402] +[group_83403] +[group_83404] +[group_83405] +[group_83406] +[group_83407] +[group_83408] +[group_83409] +[group_83410] +[group_83411] +[group_83412] +[group_83413] +[group_83414] +[group_83415] +[group_83416] +[group_83417] +[group_83418] +[group_83419] +[group_83420] +[group_83421] +[group_83422] +[group_83423] +[group_83424] +[group_83425] +[group_83426] +[group_83427] +[group_83428] +[group_83429] +[group_83430] +[group_83431] +[group_83432] +[group_83433] +[group_83434] +[group_83435] +[group_83436] +[group_83437] +[group_83438] +[group_83439] +[group_83440] +[group_83441] +[group_83442] +[group_83443] +[group_83444] +[group_83445] +[group_83446] +[group_83447] +[group_83448] +[group_83449] +[group_83450] +[group_83451] +[group_83452] +[group_83453] +[group_83454] +[group_83455] +[group_83456] +[group_83457] +[group_83458] +[group_83459] +[group_83460] +[group_83461] +[group_83462] +[group_83463] +[group_83464] +[group_83465] +[group_83466] +[group_83467] +[group_83468] +[group_83469] +[group_83470] +[group_83471] +[group_83472] +[group_83473] +[group_83474] +[group_83475] +[group_83476] +[group_83477] +[group_83478] +[group_83479] +[group_83480] +[group_83481] +[group_83482] +[group_83483] +[group_83484] +[group_83485] +[group_83486] +[group_83487] +[group_83488] +[group_83489] +[group_83490] +[group_83491] +[group_83492] +[group_83493] +[group_83494] +[group_83495] +[group_83496] +[group_83497] +[group_83498] +[group_83499] +[group_83500] +[group_83501] +[group_83502] +[group_83503] +[group_83504] +[group_83505] +[group_83506] +[group_83507] +[group_83508] +[group_83509] +[group_83510] +[group_83511] +[group_83512] +[group_83513] +[group_83514] +[group_83515] +[group_83516] +[group_83517] +[group_83518] +[group_83519] +[group_83520] +[group_83521] +[group_83522] +[group_83523] +[group_83524] +[group_83525] +[group_83526] +[group_83527] +[group_83528] +[group_83529] +[group_83530] +[group_83531] +[group_83532] +[group_83533] +[group_83534] +[group_83535] +[group_83536] +[group_83537] +[group_83538] +[group_83539] +[group_83540] +[group_83541] +[group_83542] +[group_83543] +[group_83544] +[group_83545] +[group_83546] +[group_83547] +[group_83548] +[group_83549] +[group_83550] +[group_83551] +[group_83552] +[group_83553] +[group_83554] +[group_83555] +[group_83556] +[group_83557] +[group_83558] +[group_83559] +[group_83560] +[group_83561] +[group_83562] +[group_83563] +[group_83564] +[group_83565] +[group_83566] +[group_83567] +[group_83568] +[group_83569] +[group_83570] +[group_83571] +[group_83572] +[group_83573] +[group_83574] +[group_83575] +[group_83576] +[group_83577] +[group_83578] +[group_83579] +[group_83580] +[group_83581] +[group_83582] +[group_83583] +[group_83584] +[group_83585] +[group_83586] +[group_83587] +[group_83588] +[group_83589] +[group_83590] +[group_83591] +[group_83592] +[group_83593] +[group_83594] +[group_83595] +[group_83596] +[group_83597] +[group_83598] +[group_83599] +[group_83600] +[group_83601] +[group_83602] +[group_83603] +[group_83604] +[group_83605] +[group_83606] +[group_83607] +[group_83608] +[group_83609] +[group_83610] +[group_83611] +[group_83612] +[group_83613] +[group_83614] +[group_83615] +[group_83616] +[group_83617] +[group_83618] +[group_83619] +[group_83620] +[group_83621] +[group_83622] +[group_83623] +[group_83624] +[group_83625] +[group_83626] +[group_83627] +[group_83628] +[group_83629] +[group_83630] +[group_83631] +[group_83632] +[group_83633] +[group_83634] +[group_83635] +[group_83636] +[group_83637] +[group_83638] +[group_83639] +[group_83640] +[group_83641] +[group_83642] +[group_83643] +[group_83644] +[group_83645] +[group_83646] +[group_83647] +[group_83648] +[group_83649] +[group_83650] +[group_83651] +[group_83652] +[group_83653] +[group_83654] +[group_83655] +[group_83656] +[group_83657] +[group_83658] +[group_83659] +[group_83660] +[group_83661] +[group_83662] +[group_83663] +[group_83664] +[group_83665] +[group_83666] +[group_83667] +[group_83668] +[group_83669] +[group_83670] +[group_83671] +[group_83672] +[group_83673] +[group_83674] +[group_83675] +[group_83676] +[group_83677] +[group_83678] +[group_83679] +[group_83680] +[group_83681] +[group_83682] +[group_83683] +[group_83684] +[group_83685] +[group_83686] +[group_83687] +[group_83688] +[group_83689] +[group_83690] +[group_83691] +[group_83692] +[group_83693] +[group_83694] +[group_83695] +[group_83696] +[group_83697] +[group_83698] +[group_83699] +[group_83700] +[group_83701] +[group_83702] +[group_83703] +[group_83704] +[group_83705] +[group_83706] +[group_83707] +[group_83708] +[group_83709] +[group_83710] +[group_83711] +[group_83712] +[group_83713] +[group_83714] +[group_83715] +[group_83716] +[group_83717] +[group_83718] +[group_83719] +[group_83720] +[group_83721] +[group_83722] +[group_83723] +[group_83724] +[group_83725] +[group_83726] +[group_83727] +[group_83728] +[group_83729] +[group_83730] +[group_83731] +[group_83732] +[group_83733] +[group_83734] +[group_83735] +[group_83736] +[group_83737] +[group_83738] +[group_83739] +[group_83740] +[group_83741] +[group_83742] +[group_83743] +[group_83744] +[group_83745] +[group_83746] +[group_83747] +[group_83748] +[group_83749] +[group_83750] +[group_83751] +[group_83752] +[group_83753] +[group_83754] +[group_83755] +[group_83756] +[group_83757] +[group_83758] +[group_83759] +[group_83760] +[group_83761] +[group_83762] +[group_83763] +[group_83764] +[group_83765] +[group_83766] +[group_83767] +[group_83768] +[group_83769] +[group_83770] +[group_83771] +[group_83772] +[group_83773] +[group_83774] +[group_83775] +[group_83776] +[group_83777] +[group_83778] +[group_83779] +[group_83780] +[group_83781] +[group_83782] +[group_83783] +[group_83784] +[group_83785] +[group_83786] +[group_83787] +[group_83788] +[group_83789] +[group_83790] +[group_83791] +[group_83792] +[group_83793] +[group_83794] +[group_83795] +[group_83796] +[group_83797] +[group_83798] +[group_83799] +[group_83800] +[group_83801] +[group_83802] +[group_83803] +[group_83804] +[group_83805] +[group_83806] +[group_83807] +[group_83808] +[group_83809] +[group_83810] +[group_83811] +[group_83812] +[group_83813] +[group_83814] +[group_83815] +[group_83816] +[group_83817] +[group_83818] +[group_83819] +[group_83820] +[group_83821] +[group_83822] +[group_83823] +[group_83824] +[group_83825] +[group_83826] +[group_83827] +[group_83828] +[group_83829] +[group_83830] +[group_83831] +[group_83832] +[group_83833] +[group_83834] +[group_83835] +[group_83836] +[group_83837] +[group_83838] +[group_83839] +[group_83840] +[group_83841] +[group_83842] +[group_83843] +[group_83844] +[group_83845] +[group_83846] +[group_83847] +[group_83848] +[group_83849] +[group_83850] +[group_83851] +[group_83852] +[group_83853] +[group_83854] +[group_83855] +[group_83856] +[group_83857] +[group_83858] +[group_83859] +[group_83860] +[group_83861] +[group_83862] +[group_83863] +[group_83864] +[group_83865] +[group_83866] +[group_83867] +[group_83868] +[group_83869] +[group_83870] +[group_83871] +[group_83872] +[group_83873] +[group_83874] +[group_83875] +[group_83876] +[group_83877] +[group_83878] +[group_83879] +[group_83880] +[group_83881] +[group_83882] +[group_83883] +[group_83884] +[group_83885] +[group_83886] +[group_83887] +[group_83888] +[group_83889] +[group_83890] +[group_83891] +[group_83892] +[group_83893] +[group_83894] +[group_83895] +[group_83896] +[group_83897] +[group_83898] +[group_83899] +[group_83900] +[group_83901] +[group_83902] +[group_83903] +[group_83904] +[group_83905] +[group_83906] +[group_83907] +[group_83908] +[group_83909] +[group_83910] +[group_83911] +[group_83912] +[group_83913] +[group_83914] +[group_83915] +[group_83916] +[group_83917] +[group_83918] +[group_83919] +[group_83920] +[group_83921] +[group_83922] +[group_83923] +[group_83924] +[group_83925] +[group_83926] +[group_83927] +[group_83928] +[group_83929] +[group_83930] +[group_83931] +[group_83932] +[group_83933] +[group_83934] +[group_83935] +[group_83936] +[group_83937] +[group_83938] +[group_83939] +[group_83940] +[group_83941] +[group_83942] +[group_83943] +[group_83944] +[group_83945] +[group_83946] +[group_83947] +[group_83948] +[group_83949] +[group_83950] +[group_83951] +[group_83952] +[group_83953] +[group_83954] +[group_83955] +[group_83956] +[group_83957] +[group_83958] +[group_83959] +[group_83960] +[group_83961] +[group_83962] +[group_83963] +[group_83964] +[group_83965] +[group_83966] +[group_83967] +[group_83968] +[group_83969] +[group_83970] +[group_83971] +[group_83972] +[group_83973] +[group_83974] +[group_83975] +[group_83976] +[group_83977] +[group_83978] +[group_83979] +[group_83980] +[group_83981] +[group_83982] +[group_83983] +[group_83984] +[group_83985] +[group_83986] +[group_83987] +[group_83988] +[group_83989] +[group_83990] +[group_83991] +[group_83992] +[group_83993] +[group_83994] +[group_83995] +[group_83996] +[group_83997] +[group_83998] +[group_83999] +[group_84000] +[group_84001] +[group_84002] +[group_84003] +[group_84004] +[group_84005] +[group_84006] +[group_84007] +[group_84008] +[group_84009] +[group_84010] +[group_84011] +[group_84012] +[group_84013] +[group_84014] +[group_84015] +[group_84016] +[group_84017] +[group_84018] +[group_84019] +[group_84020] +[group_84021] +[group_84022] +[group_84023] +[group_84024] +[group_84025] +[group_84026] +[group_84027] +[group_84028] +[group_84029] +[group_84030] +[group_84031] +[group_84032] +[group_84033] +[group_84034] +[group_84035] +[group_84036] +[group_84037] +[group_84038] +[group_84039] +[group_84040] +[group_84041] +[group_84042] +[group_84043] +[group_84044] +[group_84045] +[group_84046] +[group_84047] +[group_84048] +[group_84049] +[group_84050] +[group_84051] +[group_84052] +[group_84053] +[group_84054] +[group_84055] +[group_84056] +[group_84057] +[group_84058] +[group_84059] +[group_84060] +[group_84061] +[group_84062] +[group_84063] +[group_84064] +[group_84065] +[group_84066] +[group_84067] +[group_84068] +[group_84069] +[group_84070] +[group_84071] +[group_84072] +[group_84073] +[group_84074] +[group_84075] +[group_84076] +[group_84077] +[group_84078] +[group_84079] +[group_84080] +[group_84081] +[group_84082] +[group_84083] +[group_84084] +[group_84085] +[group_84086] +[group_84087] +[group_84088] +[group_84089] +[group_84090] +[group_84091] +[group_84092] +[group_84093] +[group_84094] +[group_84095] +[group_84096] +[group_84097] +[group_84098] +[group_84099] +[group_84100] +[group_84101] +[group_84102] +[group_84103] +[group_84104] +[group_84105] +[group_84106] +[group_84107] +[group_84108] +[group_84109] +[group_84110] +[group_84111] +[group_84112] +[group_84113] +[group_84114] +[group_84115] +[group_84116] +[group_84117] +[group_84118] +[group_84119] +[group_84120] +[group_84121] +[group_84122] +[group_84123] +[group_84124] +[group_84125] +[group_84126] +[group_84127] +[group_84128] +[group_84129] +[group_84130] +[group_84131] +[group_84132] +[group_84133] +[group_84134] +[group_84135] +[group_84136] +[group_84137] +[group_84138] +[group_84139] +[group_84140] +[group_84141] +[group_84142] +[group_84143] +[group_84144] +[group_84145] +[group_84146] +[group_84147] +[group_84148] +[group_84149] +[group_84150] +[group_84151] +[group_84152] +[group_84153] +[group_84154] +[group_84155] +[group_84156] +[group_84157] +[group_84158] +[group_84159] +[group_84160] +[group_84161] +[group_84162] +[group_84163] +[group_84164] +[group_84165] +[group_84166] +[group_84167] +[group_84168] +[group_84169] +[group_84170] +[group_84171] +[group_84172] +[group_84173] +[group_84174] +[group_84175] +[group_84176] +[group_84177] +[group_84178] +[group_84179] +[group_84180] +[group_84181] +[group_84182] +[group_84183] +[group_84184] +[group_84185] +[group_84186] +[group_84187] +[group_84188] +[group_84189] +[group_84190] +[group_84191] +[group_84192] +[group_84193] +[group_84194] +[group_84195] +[group_84196] +[group_84197] +[group_84198] +[group_84199] +[group_84200] +[group_84201] +[group_84202] +[group_84203] +[group_84204] +[group_84205] +[group_84206] +[group_84207] +[group_84208] +[group_84209] +[group_84210] +[group_84211] +[group_84212] +[group_84213] +[group_84214] +[group_84215] +[group_84216] +[group_84217] +[group_84218] +[group_84219] +[group_84220] +[group_84221] +[group_84222] +[group_84223] +[group_84224] +[group_84225] +[group_84226] +[group_84227] +[group_84228] +[group_84229] +[group_84230] +[group_84231] +[group_84232] +[group_84233] +[group_84234] +[group_84235] +[group_84236] +[group_84237] +[group_84238] +[group_84239] +[group_84240] +[group_84241] +[group_84242] +[group_84243] +[group_84244] +[group_84245] +[group_84246] +[group_84247] +[group_84248] +[group_84249] +[group_84250] +[group_84251] +[group_84252] +[group_84253] +[group_84254] +[group_84255] +[group_84256] +[group_84257] +[group_84258] +[group_84259] +[group_84260] +[group_84261] +[group_84262] +[group_84263] +[group_84264] +[group_84265] +[group_84266] +[group_84267] +[group_84268] +[group_84269] +[group_84270] +[group_84271] +[group_84272] +[group_84273] +[group_84274] +[group_84275] +[group_84276] +[group_84277] +[group_84278] +[group_84279] +[group_84280] +[group_84281] +[group_84282] +[group_84283] +[group_84284] +[group_84285] +[group_84286] +[group_84287] +[group_84288] +[group_84289] +[group_84290] +[group_84291] +[group_84292] +[group_84293] +[group_84294] +[group_84295] +[group_84296] +[group_84297] +[group_84298] +[group_84299] +[group_84300] +[group_84301] +[group_84302] +[group_84303] +[group_84304] +[group_84305] +[group_84306] +[group_84307] +[group_84308] +[group_84309] +[group_84310] +[group_84311] +[group_84312] +[group_84313] +[group_84314] +[group_84315] +[group_84316] +[group_84317] +[group_84318] +[group_84319] +[group_84320] +[group_84321] +[group_84322] +[group_84323] +[group_84324] +[group_84325] +[group_84326] +[group_84327] +[group_84328] +[group_84329] +[group_84330] +[group_84331] +[group_84332] +[group_84333] +[group_84334] +[group_84335] +[group_84336] +[group_84337] +[group_84338] +[group_84339] +[group_84340] +[group_84341] +[group_84342] +[group_84343] +[group_84344] +[group_84345] +[group_84346] +[group_84347] +[group_84348] +[group_84349] +[group_84350] +[group_84351] +[group_84352] +[group_84353] +[group_84354] +[group_84355] +[group_84356] +[group_84357] +[group_84358] +[group_84359] +[group_84360] +[group_84361] +[group_84362] +[group_84363] +[group_84364] +[group_84365] +[group_84366] +[group_84367] +[group_84368] +[group_84369] +[group_84370] +[group_84371] +[group_84372] +[group_84373] +[group_84374] +[group_84375] +[group_84376] +[group_84377] +[group_84378] +[group_84379] +[group_84380] +[group_84381] +[group_84382] +[group_84383] +[group_84384] +[group_84385] +[group_84386] +[group_84387] +[group_84388] +[group_84389] +[group_84390] +[group_84391] +[group_84392] +[group_84393] +[group_84394] +[group_84395] +[group_84396] +[group_84397] +[group_84398] +[group_84399] +[group_84400] +[group_84401] +[group_84402] +[group_84403] +[group_84404] +[group_84405] +[group_84406] +[group_84407] +[group_84408] +[group_84409] +[group_84410] +[group_84411] +[group_84412] +[group_84413] +[group_84414] +[group_84415] +[group_84416] +[group_84417] +[group_84418] +[group_84419] +[group_84420] +[group_84421] +[group_84422] +[group_84423] +[group_84424] +[group_84425] +[group_84426] +[group_84427] +[group_84428] +[group_84429] +[group_84430] +[group_84431] +[group_84432] +[group_84433] +[group_84434] +[group_84435] +[group_84436] +[group_84437] +[group_84438] +[group_84439] +[group_84440] +[group_84441] +[group_84442] +[group_84443] +[group_84444] +[group_84445] +[group_84446] +[group_84447] +[group_84448] +[group_84449] +[group_84450] +[group_84451] +[group_84452] +[group_84453] +[group_84454] +[group_84455] +[group_84456] +[group_84457] +[group_84458] +[group_84459] +[group_84460] +[group_84461] +[group_84462] +[group_84463] +[group_84464] +[group_84465] +[group_84466] +[group_84467] +[group_84468] +[group_84469] +[group_84470] +[group_84471] +[group_84472] +[group_84473] +[group_84474] +[group_84475] +[group_84476] +[group_84477] +[group_84478] +[group_84479] +[group_84480] +[group_84481] +[group_84482] +[group_84483] +[group_84484] +[group_84485] +[group_84486] +[group_84487] +[group_84488] +[group_84489] +[group_84490] +[group_84491] +[group_84492] +[group_84493] +[group_84494] +[group_84495] +[group_84496] +[group_84497] +[group_84498] +[group_84499] +[group_84500] +[group_84501] +[group_84502] +[group_84503] +[group_84504] +[group_84505] +[group_84506] +[group_84507] +[group_84508] +[group_84509] +[group_84510] +[group_84511] +[group_84512] +[group_84513] +[group_84514] +[group_84515] +[group_84516] +[group_84517] +[group_84518] +[group_84519] +[group_84520] +[group_84521] +[group_84522] +[group_84523] +[group_84524] +[group_84525] +[group_84526] +[group_84527] +[group_84528] +[group_84529] +[group_84530] +[group_84531] +[group_84532] +[group_84533] +[group_84534] +[group_84535] +[group_84536] +[group_84537] +[group_84538] +[group_84539] +[group_84540] +[group_84541] +[group_84542] +[group_84543] +[group_84544] +[group_84545] +[group_84546] +[group_84547] +[group_84548] +[group_84549] +[group_84550] +[group_84551] +[group_84552] +[group_84553] +[group_84554] +[group_84555] +[group_84556] +[group_84557] +[group_84558] +[group_84559] +[group_84560] +[group_84561] +[group_84562] +[group_84563] +[group_84564] +[group_84565] +[group_84566] +[group_84567] +[group_84568] +[group_84569] +[group_84570] +[group_84571] +[group_84572] +[group_84573] +[group_84574] +[group_84575] +[group_84576] +[group_84577] +[group_84578] +[group_84579] +[group_84580] +[group_84581] +[group_84582] +[group_84583] +[group_84584] +[group_84585] +[group_84586] +[group_84587] +[group_84588] +[group_84589] +[group_84590] +[group_84591] +[group_84592] +[group_84593] +[group_84594] +[group_84595] +[group_84596] +[group_84597] +[group_84598] +[group_84599] +[group_84600] +[group_84601] +[group_84602] +[group_84603] +[group_84604] +[group_84605] +[group_84606] +[group_84607] +[group_84608] +[group_84609] +[group_84610] +[group_84611] +[group_84612] +[group_84613] +[group_84614] +[group_84615] +[group_84616] +[group_84617] +[group_84618] +[group_84619] +[group_84620] +[group_84621] +[group_84622] +[group_84623] +[group_84624] +[group_84625] +[group_84626] +[group_84627] +[group_84628] +[group_84629] +[group_84630] +[group_84631] +[group_84632] +[group_84633] +[group_84634] +[group_84635] +[group_84636] +[group_84637] +[group_84638] +[group_84639] +[group_84640] +[group_84641] +[group_84642] +[group_84643] +[group_84644] +[group_84645] +[group_84646] +[group_84647] +[group_84648] +[group_84649] +[group_84650] +[group_84651] +[group_84652] +[group_84653] +[group_84654] +[group_84655] +[group_84656] +[group_84657] +[group_84658] +[group_84659] +[group_84660] +[group_84661] +[group_84662] +[group_84663] +[group_84664] +[group_84665] +[group_84666] +[group_84667] +[group_84668] +[group_84669] +[group_84670] +[group_84671] +[group_84672] +[group_84673] +[group_84674] +[group_84675] +[group_84676] +[group_84677] +[group_84678] +[group_84679] +[group_84680] +[group_84681] +[group_84682] +[group_84683] +[group_84684] +[group_84685] +[group_84686] +[group_84687] +[group_84688] +[group_84689] +[group_84690] +[group_84691] +[group_84692] +[group_84693] +[group_84694] +[group_84695] +[group_84696] +[group_84697] +[group_84698] +[group_84699] +[group_84700] +[group_84701] +[group_84702] +[group_84703] +[group_84704] +[group_84705] +[group_84706] +[group_84707] +[group_84708] +[group_84709] +[group_84710] +[group_84711] +[group_84712] +[group_84713] +[group_84714] +[group_84715] +[group_84716] +[group_84717] +[group_84718] +[group_84719] +[group_84720] +[group_84721] +[group_84722] +[group_84723] +[group_84724] +[group_84725] +[group_84726] +[group_84727] +[group_84728] +[group_84729] +[group_84730] +[group_84731] +[group_84732] +[group_84733] +[group_84734] +[group_84735] +[group_84736] +[group_84737] +[group_84738] +[group_84739] +[group_84740] +[group_84741] +[group_84742] +[group_84743] +[group_84744] +[group_84745] +[group_84746] +[group_84747] +[group_84748] +[group_84749] +[group_84750] +[group_84751] +[group_84752] +[group_84753] +[group_84754] +[group_84755] +[group_84756] +[group_84757] +[group_84758] +[group_84759] +[group_84760] +[group_84761] +[group_84762] +[group_84763] +[group_84764] +[group_84765] +[group_84766] +[group_84767] +[group_84768] +[group_84769] +[group_84770] +[group_84771] +[group_84772] +[group_84773] +[group_84774] +[group_84775] +[group_84776] +[group_84777] +[group_84778] +[group_84779] +[group_84780] +[group_84781] +[group_84782] +[group_84783] +[group_84784] +[group_84785] +[group_84786] +[group_84787] +[group_84788] +[group_84789] +[group_84790] +[group_84791] +[group_84792] +[group_84793] +[group_84794] +[group_84795] +[group_84796] +[group_84797] +[group_84798] +[group_84799] +[group_84800] +[group_84801] +[group_84802] +[group_84803] +[group_84804] +[group_84805] +[group_84806] +[group_84807] +[group_84808] +[group_84809] +[group_84810] +[group_84811] +[group_84812] +[group_84813] +[group_84814] +[group_84815] +[group_84816] +[group_84817] +[group_84818] +[group_84819] +[group_84820] +[group_84821] +[group_84822] +[group_84823] +[group_84824] +[group_84825] +[group_84826] +[group_84827] +[group_84828] +[group_84829] +[group_84830] +[group_84831] +[group_84832] +[group_84833] +[group_84834] +[group_84835] +[group_84836] +[group_84837] +[group_84838] +[group_84839] +[group_84840] +[group_84841] +[group_84842] +[group_84843] +[group_84844] +[group_84845] +[group_84846] +[group_84847] +[group_84848] +[group_84849] +[group_84850] +[group_84851] +[group_84852] +[group_84853] +[group_84854] +[group_84855] +[group_84856] +[group_84857] +[group_84858] +[group_84859] +[group_84860] +[group_84861] +[group_84862] +[group_84863] +[group_84864] +[group_84865] +[group_84866] +[group_84867] +[group_84868] +[group_84869] +[group_84870] +[group_84871] +[group_84872] +[group_84873] +[group_84874] +[group_84875] +[group_84876] +[group_84877] +[group_84878] +[group_84879] +[group_84880] +[group_84881] +[group_84882] +[group_84883] +[group_84884] +[group_84885] +[group_84886] +[group_84887] +[group_84888] +[group_84889] +[group_84890] +[group_84891] +[group_84892] +[group_84893] +[group_84894] +[group_84895] +[group_84896] +[group_84897] +[group_84898] +[group_84899] +[group_84900] +[group_84901] +[group_84902] +[group_84903] +[group_84904] +[group_84905] +[group_84906] +[group_84907] +[group_84908] +[group_84909] +[group_84910] +[group_84911] +[group_84912] +[group_84913] +[group_84914] +[group_84915] +[group_84916] +[group_84917] +[group_84918] +[group_84919] +[group_84920] +[group_84921] +[group_84922] +[group_84923] +[group_84924] +[group_84925] +[group_84926] +[group_84927] +[group_84928] +[group_84929] +[group_84930] +[group_84931] +[group_84932] +[group_84933] +[group_84934] +[group_84935] +[group_84936] +[group_84937] +[group_84938] +[group_84939] +[group_84940] +[group_84941] +[group_84942] +[group_84943] +[group_84944] +[group_84945] +[group_84946] +[group_84947] +[group_84948] +[group_84949] +[group_84950] +[group_84951] +[group_84952] +[group_84953] +[group_84954] +[group_84955] +[group_84956] +[group_84957] +[group_84958] +[group_84959] +[group_84960] +[group_84961] +[group_84962] +[group_84963] +[group_84964] +[group_84965] +[group_84966] +[group_84967] +[group_84968] +[group_84969] +[group_84970] +[group_84971] +[group_84972] +[group_84973] +[group_84974] +[group_84975] +[group_84976] +[group_84977] +[group_84978] +[group_84979] +[group_84980] +[group_84981] +[group_84982] +[group_84983] +[group_84984] +[group_84985] +[group_84986] +[group_84987] +[group_84988] +[group_84989] +[group_84990] +[group_84991] +[group_84992] +[group_84993] +[group_84994] +[group_84995] +[group_84996] +[group_84997] +[group_84998] +[group_84999] +[group_85000] +[group_85001] +[group_85002] +[group_85003] +[group_85004] +[group_85005] +[group_85006] +[group_85007] +[group_85008] +[group_85009] +[group_85010] +[group_85011] +[group_85012] +[group_85013] +[group_85014] +[group_85015] +[group_85016] +[group_85017] +[group_85018] +[group_85019] +[group_85020] +[group_85021] +[group_85022] +[group_85023] +[group_85024] +[group_85025] +[group_85026] +[group_85027] +[group_85028] +[group_85029] +[group_85030] +[group_85031] +[group_85032] +[group_85033] +[group_85034] +[group_85035] +[group_85036] +[group_85037] +[group_85038] +[group_85039] +[group_85040] +[group_85041] +[group_85042] +[group_85043] +[group_85044] +[group_85045] +[group_85046] +[group_85047] +[group_85048] +[group_85049] +[group_85050] +[group_85051] +[group_85052] +[group_85053] +[group_85054] +[group_85055] +[group_85056] +[group_85057] +[group_85058] +[group_85059] +[group_85060] +[group_85061] +[group_85062] +[group_85063] +[group_85064] +[group_85065] +[group_85066] +[group_85067] +[group_85068] +[group_85069] +[group_85070] +[group_85071] +[group_85072] +[group_85073] +[group_85074] +[group_85075] +[group_85076] +[group_85077] +[group_85078] +[group_85079] +[group_85080] +[group_85081] +[group_85082] +[group_85083] +[group_85084] +[group_85085] +[group_85086] +[group_85087] +[group_85088] +[group_85089] +[group_85090] +[group_85091] +[group_85092] +[group_85093] +[group_85094] +[group_85095] +[group_85096] +[group_85097] +[group_85098] +[group_85099] +[group_85100] +[group_85101] +[group_85102] +[group_85103] +[group_85104] +[group_85105] +[group_85106] +[group_85107] +[group_85108] +[group_85109] +[group_85110] +[group_85111] +[group_85112] +[group_85113] +[group_85114] +[group_85115] +[group_85116] +[group_85117] +[group_85118] +[group_85119] +[group_85120] +[group_85121] +[group_85122] +[group_85123] +[group_85124] +[group_85125] +[group_85126] +[group_85127] +[group_85128] +[group_85129] +[group_85130] +[group_85131] +[group_85132] +[group_85133] +[group_85134] +[group_85135] +[group_85136] +[group_85137] +[group_85138] +[group_85139] +[group_85140] +[group_85141] +[group_85142] +[group_85143] +[group_85144] +[group_85145] +[group_85146] +[group_85147] +[group_85148] +[group_85149] +[group_85150] +[group_85151] +[group_85152] +[group_85153] +[group_85154] +[group_85155] +[group_85156] +[group_85157] +[group_85158] +[group_85159] +[group_85160] +[group_85161] +[group_85162] +[group_85163] +[group_85164] +[group_85165] +[group_85166] +[group_85167] +[group_85168] +[group_85169] +[group_85170] +[group_85171] +[group_85172] +[group_85173] +[group_85174] +[group_85175] +[group_85176] +[group_85177] +[group_85178] +[group_85179] +[group_85180] +[group_85181] +[group_85182] +[group_85183] +[group_85184] +[group_85185] +[group_85186] +[group_85187] +[group_85188] +[group_85189] +[group_85190] +[group_85191] +[group_85192] +[group_85193] +[group_85194] +[group_85195] +[group_85196] +[group_85197] +[group_85198] +[group_85199] +[group_85200] +[group_85201] +[group_85202] +[group_85203] +[group_85204] +[group_85205] +[group_85206] +[group_85207] +[group_85208] +[group_85209] +[group_85210] +[group_85211] +[group_85212] +[group_85213] +[group_85214] +[group_85215] +[group_85216] +[group_85217] +[group_85218] +[group_85219] +[group_85220] +[group_85221] +[group_85222] +[group_85223] +[group_85224] +[group_85225] +[group_85226] +[group_85227] +[group_85228] +[group_85229] +[group_85230] +[group_85231] +[group_85232] +[group_85233] +[group_85234] +[group_85235] +[group_85236] +[group_85237] +[group_85238] +[group_85239] +[group_85240] +[group_85241] +[group_85242] +[group_85243] +[group_85244] +[group_85245] +[group_85246] +[group_85247] +[group_85248] +[group_85249] +[group_85250] +[group_85251] +[group_85252] +[group_85253] +[group_85254] +[group_85255] +[group_85256] +[group_85257] +[group_85258] +[group_85259] +[group_85260] +[group_85261] +[group_85262] +[group_85263] +[group_85264] +[group_85265] +[group_85266] +[group_85267] +[group_85268] +[group_85269] +[group_85270] +[group_85271] +[group_85272] +[group_85273] +[group_85274] +[group_85275] +[group_85276] +[group_85277] +[group_85278] +[group_85279] +[group_85280] +[group_85281] +[group_85282] +[group_85283] +[group_85284] +[group_85285] +[group_85286] +[group_85287] +[group_85288] +[group_85289] +[group_85290] +[group_85291] +[group_85292] +[group_85293] +[group_85294] +[group_85295] +[group_85296] +[group_85297] +[group_85298] +[group_85299] +[group_85300] +[group_85301] +[group_85302] +[group_85303] +[group_85304] +[group_85305] +[group_85306] +[group_85307] +[group_85308] +[group_85309] +[group_85310] +[group_85311] +[group_85312] +[group_85313] +[group_85314] +[group_85315] +[group_85316] +[group_85317] +[group_85318] +[group_85319] +[group_85320] +[group_85321] +[group_85322] +[group_85323] +[group_85324] +[group_85325] +[group_85326] +[group_85327] +[group_85328] +[group_85329] +[group_85330] +[group_85331] +[group_85332] +[group_85333] +[group_85334] +[group_85335] +[group_85336] +[group_85337] +[group_85338] +[group_85339] +[group_85340] +[group_85341] +[group_85342] +[group_85343] +[group_85344] +[group_85345] +[group_85346] +[group_85347] +[group_85348] +[group_85349] +[group_85350] +[group_85351] +[group_85352] +[group_85353] +[group_85354] +[group_85355] +[group_85356] +[group_85357] +[group_85358] +[group_85359] +[group_85360] +[group_85361] +[group_85362] +[group_85363] +[group_85364] +[group_85365] +[group_85366] +[group_85367] +[group_85368] +[group_85369] +[group_85370] +[group_85371] +[group_85372] +[group_85373] +[group_85374] +[group_85375] +[group_85376] +[group_85377] +[group_85378] +[group_85379] +[group_85380] +[group_85381] +[group_85382] +[group_85383] +[group_85384] +[group_85385] +[group_85386] +[group_85387] +[group_85388] +[group_85389] +[group_85390] +[group_85391] +[group_85392] +[group_85393] +[group_85394] +[group_85395] +[group_85396] +[group_85397] +[group_85398] +[group_85399] +[group_85400] +[group_85401] +[group_85402] +[group_85403] +[group_85404] +[group_85405] +[group_85406] +[group_85407] +[group_85408] +[group_85409] +[group_85410] +[group_85411] +[group_85412] +[group_85413] +[group_85414] +[group_85415] +[group_85416] +[group_85417] +[group_85418] +[group_85419] +[group_85420] +[group_85421] +[group_85422] +[group_85423] +[group_85424] +[group_85425] +[group_85426] +[group_85427] +[group_85428] +[group_85429] +[group_85430] +[group_85431] +[group_85432] +[group_85433] +[group_85434] +[group_85435] +[group_85436] +[group_85437] +[group_85438] +[group_85439] +[group_85440] +[group_85441] +[group_85442] +[group_85443] +[group_85444] +[group_85445] +[group_85446] +[group_85447] +[group_85448] +[group_85449] +[group_85450] +[group_85451] +[group_85452] +[group_85453] +[group_85454] +[group_85455] +[group_85456] +[group_85457] +[group_85458] +[group_85459] +[group_85460] +[group_85461] +[group_85462] +[group_85463] +[group_85464] +[group_85465] +[group_85466] +[group_85467] +[group_85468] +[group_85469] +[group_85470] +[group_85471] +[group_85472] +[group_85473] +[group_85474] +[group_85475] +[group_85476] +[group_85477] +[group_85478] +[group_85479] +[group_85480] +[group_85481] +[group_85482] +[group_85483] +[group_85484] +[group_85485] +[group_85486] +[group_85487] +[group_85488] +[group_85489] +[group_85490] +[group_85491] +[group_85492] +[group_85493] +[group_85494] +[group_85495] +[group_85496] +[group_85497] +[group_85498] +[group_85499] +[group_85500] +[group_85501] +[group_85502] +[group_85503] +[group_85504] +[group_85505] +[group_85506] +[group_85507] +[group_85508] +[group_85509] +[group_85510] +[group_85511] +[group_85512] +[group_85513] +[group_85514] +[group_85515] +[group_85516] +[group_85517] +[group_85518] +[group_85519] +[group_85520] +[group_85521] +[group_85522] +[group_85523] +[group_85524] +[group_85525] +[group_85526] +[group_85527] +[group_85528] +[group_85529] +[group_85530] +[group_85531] +[group_85532] +[group_85533] +[group_85534] +[group_85535] +[group_85536] +[group_85537] +[group_85538] +[group_85539] +[group_85540] +[group_85541] +[group_85542] +[group_85543] +[group_85544] +[group_85545] +[group_85546] +[group_85547] +[group_85548] +[group_85549] +[group_85550] +[group_85551] +[group_85552] +[group_85553] +[group_85554] +[group_85555] +[group_85556] +[group_85557] +[group_85558] +[group_85559] +[group_85560] +[group_85561] +[group_85562] +[group_85563] +[group_85564] +[group_85565] +[group_85566] +[group_85567] +[group_85568] +[group_85569] +[group_85570] +[group_85571] +[group_85572] +[group_85573] +[group_85574] +[group_85575] +[group_85576] +[group_85577] +[group_85578] +[group_85579] +[group_85580] +[group_85581] +[group_85582] +[group_85583] +[group_85584] +[group_85585] +[group_85586] +[group_85587] +[group_85588] +[group_85589] +[group_85590] +[group_85591] +[group_85592] +[group_85593] +[group_85594] +[group_85595] +[group_85596] +[group_85597] +[group_85598] +[group_85599] +[group_85600] +[group_85601] +[group_85602] +[group_85603] +[group_85604] +[group_85605] +[group_85606] +[group_85607] +[group_85608] +[group_85609] +[group_85610] +[group_85611] +[group_85612] +[group_85613] +[group_85614] +[group_85615] +[group_85616] +[group_85617] +[group_85618] +[group_85619] +[group_85620] +[group_85621] +[group_85622] +[group_85623] +[group_85624] +[group_85625] +[group_85626] +[group_85627] +[group_85628] +[group_85629] +[group_85630] +[group_85631] +[group_85632] +[group_85633] +[group_85634] +[group_85635] +[group_85636] +[group_85637] +[group_85638] +[group_85639] +[group_85640] +[group_85641] +[group_85642] +[group_85643] +[group_85644] +[group_85645] +[group_85646] +[group_85647] +[group_85648] +[group_85649] +[group_85650] +[group_85651] +[group_85652] +[group_85653] +[group_85654] +[group_85655] +[group_85656] +[group_85657] +[group_85658] +[group_85659] +[group_85660] +[group_85661] +[group_85662] +[group_85663] +[group_85664] +[group_85665] +[group_85666] +[group_85667] +[group_85668] +[group_85669] +[group_85670] +[group_85671] +[group_85672] +[group_85673] +[group_85674] +[group_85675] +[group_85676] +[group_85677] +[group_85678] +[group_85679] +[group_85680] +[group_85681] +[group_85682] +[group_85683] +[group_85684] +[group_85685] +[group_85686] +[group_85687] +[group_85688] +[group_85689] +[group_85690] +[group_85691] +[group_85692] +[group_85693] +[group_85694] +[group_85695] +[group_85696] +[group_85697] +[group_85698] +[group_85699] +[group_85700] +[group_85701] +[group_85702] +[group_85703] +[group_85704] +[group_85705] +[group_85706] +[group_85707] +[group_85708] +[group_85709] +[group_85710] +[group_85711] +[group_85712] +[group_85713] +[group_85714] +[group_85715] +[group_85716] +[group_85717] +[group_85718] +[group_85719] +[group_85720] +[group_85721] +[group_85722] +[group_85723] +[group_85724] +[group_85725] +[group_85726] +[group_85727] +[group_85728] +[group_85729] +[group_85730] +[group_85731] +[group_85732] +[group_85733] +[group_85734] +[group_85735] +[group_85736] +[group_85737] +[group_85738] +[group_85739] +[group_85740] +[group_85741] +[group_85742] +[group_85743] +[group_85744] +[group_85745] +[group_85746] +[group_85747] +[group_85748] +[group_85749] +[group_85750] +[group_85751] +[group_85752] +[group_85753] +[group_85754] +[group_85755] +[group_85756] +[group_85757] +[group_85758] +[group_85759] +[group_85760] +[group_85761] +[group_85762] +[group_85763] +[group_85764] +[group_85765] +[group_85766] +[group_85767] +[group_85768] +[group_85769] +[group_85770] +[group_85771] +[group_85772] +[group_85773] +[group_85774] +[group_85775] +[group_85776] +[group_85777] +[group_85778] +[group_85779] +[group_85780] +[group_85781] +[group_85782] +[group_85783] +[group_85784] +[group_85785] +[group_85786] +[group_85787] +[group_85788] +[group_85789] +[group_85790] +[group_85791] +[group_85792] +[group_85793] +[group_85794] +[group_85795] +[group_85796] +[group_85797] +[group_85798] +[group_85799] +[group_85800] +[group_85801] +[group_85802] +[group_85803] +[group_85804] +[group_85805] +[group_85806] +[group_85807] +[group_85808] +[group_85809] +[group_85810] +[group_85811] +[group_85812] +[group_85813] +[group_85814] +[group_85815] +[group_85816] +[group_85817] +[group_85818] +[group_85819] +[group_85820] +[group_85821] +[group_85822] +[group_85823] +[group_85824] +[group_85825] +[group_85826] +[group_85827] +[group_85828] +[group_85829] +[group_85830] +[group_85831] +[group_85832] +[group_85833] +[group_85834] +[group_85835] +[group_85836] +[group_85837] +[group_85838] +[group_85839] +[group_85840] +[group_85841] +[group_85842] +[group_85843] +[group_85844] +[group_85845] +[group_85846] +[group_85847] +[group_85848] +[group_85849] +[group_85850] +[group_85851] +[group_85852] +[group_85853] +[group_85854] +[group_85855] +[group_85856] +[group_85857] +[group_85858] +[group_85859] +[group_85860] +[group_85861] +[group_85862] +[group_85863] +[group_85864] +[group_85865] +[group_85866] +[group_85867] +[group_85868] +[group_85869] +[group_85870] +[group_85871] +[group_85872] +[group_85873] +[group_85874] +[group_85875] +[group_85876] +[group_85877] +[group_85878] +[group_85879] +[group_85880] +[group_85881] +[group_85882] +[group_85883] +[group_85884] +[group_85885] +[group_85886] +[group_85887] +[group_85888] +[group_85889] +[group_85890] +[group_85891] +[group_85892] +[group_85893] +[group_85894] +[group_85895] +[group_85896] +[group_85897] +[group_85898] +[group_85899] +[group_85900] +[group_85901] +[group_85902] +[group_85903] +[group_85904] +[group_85905] +[group_85906] +[group_85907] +[group_85908] +[group_85909] +[group_85910] +[group_85911] +[group_85912] +[group_85913] +[group_85914] +[group_85915] +[group_85916] +[group_85917] +[group_85918] +[group_85919] +[group_85920] +[group_85921] +[group_85922] +[group_85923] +[group_85924] +[group_85925] +[group_85926] +[group_85927] +[group_85928] +[group_85929] +[group_85930] +[group_85931] +[group_85932] +[group_85933] +[group_85934] +[group_85935] +[group_85936] +[group_85937] +[group_85938] +[group_85939] +[group_85940] +[group_85941] +[group_85942] +[group_85943] +[group_85944] +[group_85945] +[group_85946] +[group_85947] +[group_85948] +[group_85949] +[group_85950] +[group_85951] +[group_85952] +[group_85953] +[group_85954] +[group_85955] +[group_85956] +[group_85957] +[group_85958] +[group_85959] +[group_85960] +[group_85961] +[group_85962] +[group_85963] +[group_85964] +[group_85965] +[group_85966] +[group_85967] +[group_85968] +[group_85969] +[group_85970] +[group_85971] +[group_85972] +[group_85973] +[group_85974] +[group_85975] +[group_85976] +[group_85977] +[group_85978] +[group_85979] +[group_85980] +[group_85981] +[group_85982] +[group_85983] +[group_85984] +[group_85985] +[group_85986] +[group_85987] +[group_85988] +[group_85989] +[group_85990] +[group_85991] +[group_85992] +[group_85993] +[group_85994] +[group_85995] +[group_85996] +[group_85997] +[group_85998] +[group_85999] +[group_86000] +[group_86001] +[group_86002] +[group_86003] +[group_86004] +[group_86005] +[group_86006] +[group_86007] +[group_86008] +[group_86009] +[group_86010] +[group_86011] +[group_86012] +[group_86013] +[group_86014] +[group_86015] +[group_86016] +[group_86017] +[group_86018] +[group_86019] +[group_86020] +[group_86021] +[group_86022] +[group_86023] +[group_86024] +[group_86025] +[group_86026] +[group_86027] +[group_86028] +[group_86029] +[group_86030] +[group_86031] +[group_86032] +[group_86033] +[group_86034] +[group_86035] +[group_86036] +[group_86037] +[group_86038] +[group_86039] +[group_86040] +[group_86041] +[group_86042] +[group_86043] +[group_86044] +[group_86045] +[group_86046] +[group_86047] +[group_86048] +[group_86049] +[group_86050] +[group_86051] +[group_86052] +[group_86053] +[group_86054] +[group_86055] +[group_86056] +[group_86057] +[group_86058] +[group_86059] +[group_86060] +[group_86061] +[group_86062] +[group_86063] +[group_86064] +[group_86065] +[group_86066] +[group_86067] +[group_86068] +[group_86069] +[group_86070] +[group_86071] +[group_86072] +[group_86073] +[group_86074] +[group_86075] +[group_86076] +[group_86077] +[group_86078] +[group_86079] +[group_86080] +[group_86081] +[group_86082] +[group_86083] +[group_86084] +[group_86085] +[group_86086] +[group_86087] +[group_86088] +[group_86089] +[group_86090] +[group_86091] +[group_86092] +[group_86093] +[group_86094] +[group_86095] +[group_86096] +[group_86097] +[group_86098] +[group_86099] +[group_86100] +[group_86101] +[group_86102] +[group_86103] +[group_86104] +[group_86105] +[group_86106] +[group_86107] +[group_86108] +[group_86109] +[group_86110] +[group_86111] +[group_86112] +[group_86113] +[group_86114] +[group_86115] +[group_86116] +[group_86117] +[group_86118] +[group_86119] +[group_86120] +[group_86121] +[group_86122] +[group_86123] +[group_86124] +[group_86125] +[group_86126] +[group_86127] +[group_86128] +[group_86129] +[group_86130] +[group_86131] +[group_86132] +[group_86133] +[group_86134] +[group_86135] +[group_86136] +[group_86137] +[group_86138] +[group_86139] +[group_86140] +[group_86141] +[group_86142] +[group_86143] +[group_86144] +[group_86145] +[group_86146] +[group_86147] +[group_86148] +[group_86149] +[group_86150] +[group_86151] +[group_86152] +[group_86153] +[group_86154] +[group_86155] +[group_86156] +[group_86157] +[group_86158] +[group_86159] +[group_86160] +[group_86161] +[group_86162] +[group_86163] +[group_86164] +[group_86165] +[group_86166] +[group_86167] +[group_86168] +[group_86169] +[group_86170] +[group_86171] +[group_86172] +[group_86173] +[group_86174] +[group_86175] +[group_86176] +[group_86177] +[group_86178] +[group_86179] +[group_86180] +[group_86181] +[group_86182] +[group_86183] +[group_86184] +[group_86185] +[group_86186] +[group_86187] +[group_86188] +[group_86189] +[group_86190] +[group_86191] +[group_86192] +[group_86193] +[group_86194] +[group_86195] +[group_86196] +[group_86197] +[group_86198] +[group_86199] +[group_86200] +[group_86201] +[group_86202] +[group_86203] +[group_86204] +[group_86205] +[group_86206] +[group_86207] +[group_86208] +[group_86209] +[group_86210] +[group_86211] +[group_86212] +[group_86213] +[group_86214] +[group_86215] +[group_86216] +[group_86217] +[group_86218] +[group_86219] +[group_86220] +[group_86221] +[group_86222] +[group_86223] +[group_86224] +[group_86225] +[group_86226] +[group_86227] +[group_86228] +[group_86229] +[group_86230] +[group_86231] +[group_86232] +[group_86233] +[group_86234] +[group_86235] +[group_86236] +[group_86237] +[group_86238] +[group_86239] +[group_86240] +[group_86241] +[group_86242] +[group_86243] +[group_86244] +[group_86245] +[group_86246] +[group_86247] +[group_86248] +[group_86249] +[group_86250] +[group_86251] +[group_86252] +[group_86253] +[group_86254] +[group_86255] +[group_86256] +[group_86257] +[group_86258] +[group_86259] +[group_86260] +[group_86261] +[group_86262] +[group_86263] +[group_86264] +[group_86265] +[group_86266] +[group_86267] +[group_86268] +[group_86269] +[group_86270] +[group_86271] +[group_86272] +[group_86273] +[group_86274] +[group_86275] +[group_86276] +[group_86277] +[group_86278] +[group_86279] +[group_86280] +[group_86281] +[group_86282] +[group_86283] +[group_86284] +[group_86285] +[group_86286] +[group_86287] +[group_86288] +[group_86289] +[group_86290] +[group_86291] +[group_86292] +[group_86293] +[group_86294] +[group_86295] +[group_86296] +[group_86297] +[group_86298] +[group_86299] +[group_86300] +[group_86301] +[group_86302] +[group_86303] +[group_86304] +[group_86305] +[group_86306] +[group_86307] +[group_86308] +[group_86309] +[group_86310] +[group_86311] +[group_86312] +[group_86313] +[group_86314] +[group_86315] +[group_86316] +[group_86317] +[group_86318] +[group_86319] +[group_86320] +[group_86321] +[group_86322] +[group_86323] +[group_86324] +[group_86325] +[group_86326] +[group_86327] +[group_86328] +[group_86329] +[group_86330] +[group_86331] +[group_86332] +[group_86333] +[group_86334] +[group_86335] +[group_86336] +[group_86337] +[group_86338] +[group_86339] +[group_86340] +[group_86341] +[group_86342] +[group_86343] +[group_86344] +[group_86345] +[group_86346] +[group_86347] +[group_86348] +[group_86349] +[group_86350] +[group_86351] +[group_86352] +[group_86353] +[group_86354] +[group_86355] +[group_86356] +[group_86357] +[group_86358] +[group_86359] +[group_86360] +[group_86361] +[group_86362] +[group_86363] +[group_86364] +[group_86365] +[group_86366] +[group_86367] +[group_86368] +[group_86369] +[group_86370] +[group_86371] +[group_86372] +[group_86373] +[group_86374] +[group_86375] +[group_86376] +[group_86377] +[group_86378] +[group_86379] +[group_86380] +[group_86381] +[group_86382] +[group_86383] +[group_86384] +[group_86385] +[group_86386] +[group_86387] +[group_86388] +[group_86389] +[group_86390] +[group_86391] +[group_86392] +[group_86393] +[group_86394] +[group_86395] +[group_86396] +[group_86397] +[group_86398] +[group_86399] +[group_86400] +[group_86401] +[group_86402] +[group_86403] +[group_86404] +[group_86405] +[group_86406] +[group_86407] +[group_86408] +[group_86409] +[group_86410] +[group_86411] +[group_86412] +[group_86413] +[group_86414] +[group_86415] +[group_86416] +[group_86417] +[group_86418] +[group_86419] +[group_86420] +[group_86421] +[group_86422] +[group_86423] +[group_86424] +[group_86425] +[group_86426] +[group_86427] +[group_86428] +[group_86429] +[group_86430] +[group_86431] +[group_86432] +[group_86433] +[group_86434] +[group_86435] +[group_86436] +[group_86437] +[group_86438] +[group_86439] +[group_86440] +[group_86441] +[group_86442] +[group_86443] +[group_86444] +[group_86445] +[group_86446] +[group_86447] +[group_86448] +[group_86449] +[group_86450] +[group_86451] +[group_86452] +[group_86453] +[group_86454] +[group_86455] +[group_86456] +[group_86457] +[group_86458] +[group_86459] +[group_86460] +[group_86461] +[group_86462] +[group_86463] +[group_86464] +[group_86465] +[group_86466] +[group_86467] +[group_86468] +[group_86469] +[group_86470] +[group_86471] +[group_86472] +[group_86473] +[group_86474] +[group_86475] +[group_86476] +[group_86477] +[group_86478] +[group_86479] +[group_86480] +[group_86481] +[group_86482] +[group_86483] +[group_86484] +[group_86485] +[group_86486] +[group_86487] +[group_86488] +[group_86489] +[group_86490] +[group_86491] +[group_86492] +[group_86493] +[group_86494] +[group_86495] +[group_86496] +[group_86497] +[group_86498] +[group_86499] +[group_86500] +[group_86501] +[group_86502] +[group_86503] +[group_86504] +[group_86505] +[group_86506] +[group_86507] +[group_86508] +[group_86509] +[group_86510] +[group_86511] +[group_86512] +[group_86513] +[group_86514] +[group_86515] +[group_86516] +[group_86517] +[group_86518] +[group_86519] +[group_86520] +[group_86521] +[group_86522] +[group_86523] +[group_86524] +[group_86525] +[group_86526] +[group_86527] +[group_86528] +[group_86529] +[group_86530] +[group_86531] +[group_86532] +[group_86533] +[group_86534] +[group_86535] +[group_86536] +[group_86537] +[group_86538] +[group_86539] +[group_86540] +[group_86541] +[group_86542] +[group_86543] +[group_86544] +[group_86545] +[group_86546] +[group_86547] +[group_86548] +[group_86549] +[group_86550] +[group_86551] +[group_86552] +[group_86553] +[group_86554] +[group_86555] +[group_86556] +[group_86557] +[group_86558] +[group_86559] +[group_86560] +[group_86561] +[group_86562] +[group_86563] +[group_86564] +[group_86565] +[group_86566] +[group_86567] +[group_86568] +[group_86569] +[group_86570] +[group_86571] +[group_86572] +[group_86573] +[group_86574] +[group_86575] +[group_86576] +[group_86577] +[group_86578] +[group_86579] +[group_86580] +[group_86581] +[group_86582] +[group_86583] +[group_86584] +[group_86585] +[group_86586] +[group_86587] +[group_86588] +[group_86589] +[group_86590] +[group_86591] +[group_86592] +[group_86593] +[group_86594] +[group_86595] +[group_86596] +[group_86597] +[group_86598] +[group_86599] +[group_86600] +[group_86601] +[group_86602] +[group_86603] +[group_86604] +[group_86605] +[group_86606] +[group_86607] +[group_86608] +[group_86609] +[group_86610] +[group_86611] +[group_86612] +[group_86613] +[group_86614] +[group_86615] +[group_86616] +[group_86617] +[group_86618] +[group_86619] +[group_86620] +[group_86621] +[group_86622] +[group_86623] +[group_86624] +[group_86625] +[group_86626] +[group_86627] +[group_86628] +[group_86629] +[group_86630] +[group_86631] +[group_86632] +[group_86633] +[group_86634] +[group_86635] +[group_86636] +[group_86637] +[group_86638] +[group_86639] +[group_86640] +[group_86641] +[group_86642] +[group_86643] +[group_86644] +[group_86645] +[group_86646] +[group_86647] +[group_86648] +[group_86649] +[group_86650] +[group_86651] +[group_86652] +[group_86653] +[group_86654] +[group_86655] +[group_86656] +[group_86657] +[group_86658] +[group_86659] +[group_86660] +[group_86661] +[group_86662] +[group_86663] +[group_86664] +[group_86665] +[group_86666] +[group_86667] +[group_86668] +[group_86669] +[group_86670] +[group_86671] +[group_86672] +[group_86673] +[group_86674] +[group_86675] +[group_86676] +[group_86677] +[group_86678] +[group_86679] +[group_86680] +[group_86681] +[group_86682] +[group_86683] +[group_86684] +[group_86685] +[group_86686] +[group_86687] +[group_86688] +[group_86689] +[group_86690] +[group_86691] +[group_86692] +[group_86693] +[group_86694] +[group_86695] +[group_86696] +[group_86697] +[group_86698] +[group_86699] +[group_86700] +[group_86701] +[group_86702] +[group_86703] +[group_86704] +[group_86705] +[group_86706] +[group_86707] +[group_86708] +[group_86709] +[group_86710] +[group_86711] +[group_86712] +[group_86713] +[group_86714] +[group_86715] +[group_86716] +[group_86717] +[group_86718] +[group_86719] +[group_86720] +[group_86721] +[group_86722] +[group_86723] +[group_86724] +[group_86725] +[group_86726] +[group_86727] +[group_86728] +[group_86729] +[group_86730] +[group_86731] +[group_86732] +[group_86733] +[group_86734] +[group_86735] +[group_86736] +[group_86737] +[group_86738] +[group_86739] +[group_86740] +[group_86741] +[group_86742] +[group_86743] +[group_86744] +[group_86745] +[group_86746] +[group_86747] +[group_86748] +[group_86749] +[group_86750] +[group_86751] +[group_86752] +[group_86753] +[group_86754] +[group_86755] +[group_86756] +[group_86757] +[group_86758] +[group_86759] +[group_86760] +[group_86761] +[group_86762] +[group_86763] +[group_86764] +[group_86765] +[group_86766] +[group_86767] +[group_86768] +[group_86769] +[group_86770] +[group_86771] +[group_86772] +[group_86773] +[group_86774] +[group_86775] +[group_86776] +[group_86777] +[group_86778] +[group_86779] +[group_86780] +[group_86781] +[group_86782] +[group_86783] +[group_86784] +[group_86785] +[group_86786] +[group_86787] +[group_86788] +[group_86789] +[group_86790] +[group_86791] +[group_86792] +[group_86793] +[group_86794] +[group_86795] +[group_86796] +[group_86797] +[group_86798] +[group_86799] +[group_86800] +[group_86801] +[group_86802] +[group_86803] +[group_86804] +[group_86805] +[group_86806] +[group_86807] +[group_86808] +[group_86809] +[group_86810] +[group_86811] +[group_86812] +[group_86813] +[group_86814] +[group_86815] +[group_86816] +[group_86817] +[group_86818] +[group_86819] +[group_86820] +[group_86821] +[group_86822] +[group_86823] +[group_86824] +[group_86825] +[group_86826] +[group_86827] +[group_86828] +[group_86829] +[group_86830] +[group_86831] +[group_86832] +[group_86833] +[group_86834] +[group_86835] +[group_86836] +[group_86837] +[group_86838] +[group_86839] +[group_86840] +[group_86841] +[group_86842] +[group_86843] +[group_86844] +[group_86845] +[group_86846] +[group_86847] +[group_86848] +[group_86849] +[group_86850] +[group_86851] +[group_86852] +[group_86853] +[group_86854] +[group_86855] +[group_86856] +[group_86857] +[group_86858] +[group_86859] +[group_86860] +[group_86861] +[group_86862] +[group_86863] +[group_86864] +[group_86865] +[group_86866] +[group_86867] +[group_86868] +[group_86869] +[group_86870] +[group_86871] +[group_86872] +[group_86873] +[group_86874] +[group_86875] +[group_86876] +[group_86877] +[group_86878] +[group_86879] +[group_86880] +[group_86881] +[group_86882] +[group_86883] +[group_86884] +[group_86885] +[group_86886] +[group_86887] +[group_86888] +[group_86889] +[group_86890] +[group_86891] +[group_86892] +[group_86893] +[group_86894] +[group_86895] +[group_86896] +[group_86897] +[group_86898] +[group_86899] +[group_86900] +[group_86901] +[group_86902] +[group_86903] +[group_86904] +[group_86905] +[group_86906] +[group_86907] +[group_86908] +[group_86909] +[group_86910] +[group_86911] +[group_86912] +[group_86913] +[group_86914] +[group_86915] +[group_86916] +[group_86917] +[group_86918] +[group_86919] +[group_86920] +[group_86921] +[group_86922] +[group_86923] +[group_86924] +[group_86925] +[group_86926] +[group_86927] +[group_86928] +[group_86929] +[group_86930] +[group_86931] +[group_86932] +[group_86933] +[group_86934] +[group_86935] +[group_86936] +[group_86937] +[group_86938] +[group_86939] +[group_86940] +[group_86941] +[group_86942] +[group_86943] +[group_86944] +[group_86945] +[group_86946] +[group_86947] +[group_86948] +[group_86949] +[group_86950] +[group_86951] +[group_86952] +[group_86953] +[group_86954] +[group_86955] +[group_86956] +[group_86957] +[group_86958] +[group_86959] +[group_86960] +[group_86961] +[group_86962] +[group_86963] +[group_86964] +[group_86965] +[group_86966] +[group_86967] +[group_86968] +[group_86969] +[group_86970] +[group_86971] +[group_86972] +[group_86973] +[group_86974] +[group_86975] +[group_86976] +[group_86977] +[group_86978] +[group_86979] +[group_86980] +[group_86981] +[group_86982] +[group_86983] +[group_86984] +[group_86985] +[group_86986] +[group_86987] +[group_86988] +[group_86989] +[group_86990] +[group_86991] +[group_86992] +[group_86993] +[group_86994] +[group_86995] +[group_86996] +[group_86997] +[group_86998] +[group_86999] +[group_87000] +[group_87001] +[group_87002] +[group_87003] +[group_87004] +[group_87005] +[group_87006] +[group_87007] +[group_87008] +[group_87009] +[group_87010] +[group_87011] +[group_87012] +[group_87013] +[group_87014] +[group_87015] +[group_87016] +[group_87017] +[group_87018] +[group_87019] +[group_87020] +[group_87021] +[group_87022] +[group_87023] +[group_87024] +[group_87025] +[group_87026] +[group_87027] +[group_87028] +[group_87029] +[group_87030] +[group_87031] +[group_87032] +[group_87033] +[group_87034] +[group_87035] +[group_87036] +[group_87037] +[group_87038] +[group_87039] +[group_87040] +[group_87041] +[group_87042] +[group_87043] +[group_87044] +[group_87045] +[group_87046] +[group_87047] +[group_87048] +[group_87049] +[group_87050] +[group_87051] +[group_87052] +[group_87053] +[group_87054] +[group_87055] +[group_87056] +[group_87057] +[group_87058] +[group_87059] +[group_87060] +[group_87061] +[group_87062] +[group_87063] +[group_87064] +[group_87065] +[group_87066] +[group_87067] +[group_87068] +[group_87069] +[group_87070] +[group_87071] +[group_87072] +[group_87073] +[group_87074] +[group_87075] +[group_87076] +[group_87077] +[group_87078] +[group_87079] +[group_87080] +[group_87081] +[group_87082] +[group_87083] +[group_87084] +[group_87085] +[group_87086] +[group_87087] +[group_87088] +[group_87089] +[group_87090] +[group_87091] +[group_87092] +[group_87093] +[group_87094] +[group_87095] +[group_87096] +[group_87097] +[group_87098] +[group_87099] +[group_87100] +[group_87101] +[group_87102] +[group_87103] +[group_87104] +[group_87105] +[group_87106] +[group_87107] +[group_87108] +[group_87109] +[group_87110] +[group_87111] +[group_87112] +[group_87113] +[group_87114] +[group_87115] +[group_87116] +[group_87117] +[group_87118] +[group_87119] +[group_87120] +[group_87121] +[group_87122] +[group_87123] +[group_87124] +[group_87125] +[group_87126] +[group_87127] +[group_87128] +[group_87129] +[group_87130] +[group_87131] +[group_87132] +[group_87133] +[group_87134] +[group_87135] +[group_87136] +[group_87137] +[group_87138] +[group_87139] +[group_87140] +[group_87141] +[group_87142] +[group_87143] +[group_87144] +[group_87145] +[group_87146] +[group_87147] +[group_87148] +[group_87149] +[group_87150] +[group_87151] +[group_87152] +[group_87153] +[group_87154] +[group_87155] +[group_87156] +[group_87157] +[group_87158] +[group_87159] +[group_87160] +[group_87161] +[group_87162] +[group_87163] +[group_87164] +[group_87165] +[group_87166] +[group_87167] +[group_87168] +[group_87169] +[group_87170] +[group_87171] +[group_87172] +[group_87173] +[group_87174] +[group_87175] +[group_87176] +[group_87177] +[group_87178] +[group_87179] +[group_87180] +[group_87181] +[group_87182] +[group_87183] +[group_87184] +[group_87185] +[group_87186] +[group_87187] +[group_87188] +[group_87189] +[group_87190] +[group_87191] +[group_87192] +[group_87193] +[group_87194] +[group_87195] +[group_87196] +[group_87197] +[group_87198] +[group_87199] +[group_87200] +[group_87201] +[group_87202] +[group_87203] +[group_87204] +[group_87205] +[group_87206] +[group_87207] +[group_87208] +[group_87209] +[group_87210] +[group_87211] +[group_87212] +[group_87213] +[group_87214] +[group_87215] +[group_87216] +[group_87217] +[group_87218] +[group_87219] +[group_87220] +[group_87221] +[group_87222] +[group_87223] +[group_87224] +[group_87225] +[group_87226] +[group_87227] +[group_87228] +[group_87229] +[group_87230] +[group_87231] +[group_87232] +[group_87233] +[group_87234] +[group_87235] +[group_87236] +[group_87237] +[group_87238] +[group_87239] +[group_87240] +[group_87241] +[group_87242] +[group_87243] +[group_87244] +[group_87245] +[group_87246] +[group_87247] +[group_87248] +[group_87249] +[group_87250] +[group_87251] +[group_87252] +[group_87253] +[group_87254] +[group_87255] +[group_87256] +[group_87257] +[group_87258] +[group_87259] +[group_87260] +[group_87261] +[group_87262] +[group_87263] +[group_87264] +[group_87265] +[group_87266] +[group_87267] +[group_87268] +[group_87269] +[group_87270] +[group_87271] +[group_87272] +[group_87273] +[group_87274] +[group_87275] +[group_87276] +[group_87277] +[group_87278] +[group_87279] +[group_87280] +[group_87281] +[group_87282] +[group_87283] +[group_87284] +[group_87285] +[group_87286] +[group_87287] +[group_87288] +[group_87289] +[group_87290] +[group_87291] +[group_87292] +[group_87293] +[group_87294] +[group_87295] +[group_87296] +[group_87297] +[group_87298] +[group_87299] +[group_87300] +[group_87301] +[group_87302] +[group_87303] +[group_87304] +[group_87305] +[group_87306] +[group_87307] +[group_87308] +[group_87309] +[group_87310] +[group_87311] +[group_87312] +[group_87313] +[group_87314] +[group_87315] +[group_87316] +[group_87317] +[group_87318] +[group_87319] +[group_87320] +[group_87321] +[group_87322] +[group_87323] +[group_87324] +[group_87325] +[group_87326] +[group_87327] +[group_87328] +[group_87329] +[group_87330] +[group_87331] +[group_87332] +[group_87333] +[group_87334] +[group_87335] +[group_87336] +[group_87337] +[group_87338] +[group_87339] +[group_87340] +[group_87341] +[group_87342] +[group_87343] +[group_87344] +[group_87345] +[group_87346] +[group_87347] +[group_87348] +[group_87349] +[group_87350] +[group_87351] +[group_87352] +[group_87353] +[group_87354] +[group_87355] +[group_87356] +[group_87357] +[group_87358] +[group_87359] +[group_87360] +[group_87361] +[group_87362] +[group_87363] +[group_87364] +[group_87365] +[group_87366] +[group_87367] +[group_87368] +[group_87369] +[group_87370] +[group_87371] +[group_87372] +[group_87373] +[group_87374] +[group_87375] +[group_87376] +[group_87377] +[group_87378] +[group_87379] +[group_87380] +[group_87381] +[group_87382] +[group_87383] +[group_87384] +[group_87385] +[group_87386] +[group_87387] +[group_87388] +[group_87389] +[group_87390] +[group_87391] +[group_87392] +[group_87393] +[group_87394] +[group_87395] +[group_87396] +[group_87397] +[group_87398] +[group_87399] +[group_87400] +[group_87401] +[group_87402] +[group_87403] +[group_87404] +[group_87405] +[group_87406] +[group_87407] +[group_87408] +[group_87409] +[group_87410] +[group_87411] +[group_87412] +[group_87413] +[group_87414] +[group_87415] +[group_87416] +[group_87417] +[group_87418] +[group_87419] +[group_87420] +[group_87421] +[group_87422] +[group_87423] +[group_87424] +[group_87425] +[group_87426] +[group_87427] +[group_87428] +[group_87429] +[group_87430] +[group_87431] +[group_87432] +[group_87433] +[group_87434] +[group_87435] +[group_87436] +[group_87437] +[group_87438] +[group_87439] +[group_87440] +[group_87441] +[group_87442] +[group_87443] +[group_87444] +[group_87445] +[group_87446] +[group_87447] +[group_87448] +[group_87449] +[group_87450] +[group_87451] +[group_87452] +[group_87453] +[group_87454] +[group_87455] +[group_87456] +[group_87457] +[group_87458] +[group_87459] +[group_87460] +[group_87461] +[group_87462] +[group_87463] +[group_87464] +[group_87465] +[group_87466] +[group_87467] +[group_87468] +[group_87469] +[group_87470] +[group_87471] +[group_87472] +[group_87473] +[group_87474] +[group_87475] +[group_87476] +[group_87477] +[group_87478] +[group_87479] +[group_87480] +[group_87481] +[group_87482] +[group_87483] +[group_87484] +[group_87485] +[group_87486] +[group_87487] +[group_87488] +[group_87489] +[group_87490] +[group_87491] +[group_87492] +[group_87493] +[group_87494] +[group_87495] +[group_87496] +[group_87497] +[group_87498] +[group_87499] +[group_87500] +[group_87501] +[group_87502] +[group_87503] +[group_87504] +[group_87505] +[group_87506] +[group_87507] +[group_87508] +[group_87509] +[group_87510] +[group_87511] +[group_87512] +[group_87513] +[group_87514] +[group_87515] +[group_87516] +[group_87517] +[group_87518] +[group_87519] +[group_87520] +[group_87521] +[group_87522] +[group_87523] +[group_87524] +[group_87525] +[group_87526] +[group_87527] +[group_87528] +[group_87529] +[group_87530] +[group_87531] +[group_87532] +[group_87533] +[group_87534] +[group_87535] +[group_87536] +[group_87537] +[group_87538] +[group_87539] +[group_87540] +[group_87541] +[group_87542] +[group_87543] +[group_87544] +[group_87545] +[group_87546] +[group_87547] +[group_87548] +[group_87549] +[group_87550] +[group_87551] +[group_87552] +[group_87553] +[group_87554] +[group_87555] +[group_87556] +[group_87557] +[group_87558] +[group_87559] +[group_87560] +[group_87561] +[group_87562] +[group_87563] +[group_87564] +[group_87565] +[group_87566] +[group_87567] +[group_87568] +[group_87569] +[group_87570] +[group_87571] +[group_87572] +[group_87573] +[group_87574] +[group_87575] +[group_87576] +[group_87577] +[group_87578] +[group_87579] +[group_87580] +[group_87581] +[group_87582] +[group_87583] +[group_87584] +[group_87585] +[group_87586] +[group_87587] +[group_87588] +[group_87589] +[group_87590] +[group_87591] +[group_87592] +[group_87593] +[group_87594] +[group_87595] +[group_87596] +[group_87597] +[group_87598] +[group_87599] +[group_87600] +[group_87601] +[group_87602] +[group_87603] +[group_87604] +[group_87605] +[group_87606] +[group_87607] +[group_87608] +[group_87609] +[group_87610] +[group_87611] +[group_87612] +[group_87613] +[group_87614] +[group_87615] +[group_87616] +[group_87617] +[group_87618] +[group_87619] +[group_87620] +[group_87621] +[group_87622] +[group_87623] +[group_87624] +[group_87625] +[group_87626] +[group_87627] +[group_87628] +[group_87629] +[group_87630] +[group_87631] +[group_87632] +[group_87633] +[group_87634] +[group_87635] +[group_87636] +[group_87637] +[group_87638] +[group_87639] +[group_87640] +[group_87641] +[group_87642] +[group_87643] +[group_87644] +[group_87645] +[group_87646] +[group_87647] +[group_87648] +[group_87649] +[group_87650] +[group_87651] +[group_87652] +[group_87653] +[group_87654] +[group_87655] +[group_87656] +[group_87657] +[group_87658] +[group_87659] +[group_87660] +[group_87661] +[group_87662] +[group_87663] +[group_87664] +[group_87665] +[group_87666] +[group_87667] +[group_87668] +[group_87669] +[group_87670] +[group_87671] +[group_87672] +[group_87673] +[group_87674] +[group_87675] +[group_87676] +[group_87677] +[group_87678] +[group_87679] +[group_87680] +[group_87681] +[group_87682] +[group_87683] +[group_87684] +[group_87685] +[group_87686] +[group_87687] +[group_87688] +[group_87689] +[group_87690] +[group_87691] +[group_87692] +[group_87693] +[group_87694] +[group_87695] +[group_87696] +[group_87697] +[group_87698] +[group_87699] +[group_87700] +[group_87701] +[group_87702] +[group_87703] +[group_87704] +[group_87705] +[group_87706] +[group_87707] +[group_87708] +[group_87709] +[group_87710] +[group_87711] +[group_87712] +[group_87713] +[group_87714] +[group_87715] +[group_87716] +[group_87717] +[group_87718] +[group_87719] +[group_87720] +[group_87721] +[group_87722] +[group_87723] +[group_87724] +[group_87725] +[group_87726] +[group_87727] +[group_87728] +[group_87729] +[group_87730] +[group_87731] +[group_87732] +[group_87733] +[group_87734] +[group_87735] +[group_87736] +[group_87737] +[group_87738] +[group_87739] +[group_87740] +[group_87741] +[group_87742] +[group_87743] +[group_87744] +[group_87745] +[group_87746] +[group_87747] +[group_87748] +[group_87749] +[group_87750] +[group_87751] +[group_87752] +[group_87753] +[group_87754] +[group_87755] +[group_87756] +[group_87757] +[group_87758] +[group_87759] +[group_87760] +[group_87761] +[group_87762] +[group_87763] +[group_87764] +[group_87765] +[group_87766] +[group_87767] +[group_87768] +[group_87769] +[group_87770] +[group_87771] +[group_87772] +[group_87773] +[group_87774] +[group_87775] +[group_87776] +[group_87777] +[group_87778] +[group_87779] +[group_87780] +[group_87781] +[group_87782] +[group_87783] +[group_87784] +[group_87785] +[group_87786] +[group_87787] +[group_87788] +[group_87789] +[group_87790] +[group_87791] +[group_87792] +[group_87793] +[group_87794] +[group_87795] +[group_87796] +[group_87797] +[group_87798] +[group_87799] +[group_87800] +[group_87801] +[group_87802] +[group_87803] +[group_87804] +[group_87805] +[group_87806] +[group_87807] +[group_87808] +[group_87809] +[group_87810] +[group_87811] +[group_87812] +[group_87813] +[group_87814] +[group_87815] +[group_87816] +[group_87817] +[group_87818] +[group_87819] +[group_87820] +[group_87821] +[group_87822] +[group_87823] +[group_87824] +[group_87825] +[group_87826] +[group_87827] +[group_87828] +[group_87829] +[group_87830] +[group_87831] +[group_87832] +[group_87833] +[group_87834] +[group_87835] +[group_87836] +[group_87837] +[group_87838] +[group_87839] +[group_87840] +[group_87841] +[group_87842] +[group_87843] +[group_87844] +[group_87845] +[group_87846] +[group_87847] +[group_87848] +[group_87849] +[group_87850] +[group_87851] +[group_87852] +[group_87853] +[group_87854] +[group_87855] +[group_87856] +[group_87857] +[group_87858] +[group_87859] +[group_87860] +[group_87861] +[group_87862] +[group_87863] +[group_87864] +[group_87865] +[group_87866] +[group_87867] +[group_87868] +[group_87869] +[group_87870] +[group_87871] +[group_87872] +[group_87873] +[group_87874] +[group_87875] +[group_87876] +[group_87877] +[group_87878] +[group_87879] +[group_87880] +[group_87881] +[group_87882] +[group_87883] +[group_87884] +[group_87885] +[group_87886] +[group_87887] +[group_87888] +[group_87889] +[group_87890] +[group_87891] +[group_87892] +[group_87893] +[group_87894] +[group_87895] +[group_87896] +[group_87897] +[group_87898] +[group_87899] +[group_87900] +[group_87901] +[group_87902] +[group_87903] +[group_87904] +[group_87905] +[group_87906] +[group_87907] +[group_87908] +[group_87909] +[group_87910] +[group_87911] +[group_87912] +[group_87913] +[group_87914] +[group_87915] +[group_87916] +[group_87917] +[group_87918] +[group_87919] +[group_87920] +[group_87921] +[group_87922] +[group_87923] +[group_87924] +[group_87925] +[group_87926] +[group_87927] +[group_87928] +[group_87929] +[group_87930] +[group_87931] +[group_87932] +[group_87933] +[group_87934] +[group_87935] +[group_87936] +[group_87937] +[group_87938] +[group_87939] +[group_87940] +[group_87941] +[group_87942] +[group_87943] +[group_87944] +[group_87945] +[group_87946] +[group_87947] +[group_87948] +[group_87949] +[group_87950] +[group_87951] +[group_87952] +[group_87953] +[group_87954] +[group_87955] +[group_87956] +[group_87957] +[group_87958] +[group_87959] +[group_87960] +[group_87961] +[group_87962] +[group_87963] +[group_87964] +[group_87965] +[group_87966] +[group_87967] +[group_87968] +[group_87969] +[group_87970] +[group_87971] +[group_87972] +[group_87973] +[group_87974] +[group_87975] +[group_87976] +[group_87977] +[group_87978] +[group_87979] +[group_87980] +[group_87981] +[group_87982] +[group_87983] +[group_87984] +[group_87985] +[group_87986] +[group_87987] +[group_87988] +[group_87989] +[group_87990] +[group_87991] +[group_87992] +[group_87993] +[group_87994] +[group_87995] +[group_87996] +[group_87997] +[group_87998] +[group_87999] +[group_88000] +[group_88001] +[group_88002] +[group_88003] +[group_88004] +[group_88005] +[group_88006] +[group_88007] +[group_88008] +[group_88009] +[group_88010] +[group_88011] +[group_88012] +[group_88013] +[group_88014] +[group_88015] +[group_88016] +[group_88017] +[group_88018] +[group_88019] +[group_88020] +[group_88021] +[group_88022] +[group_88023] +[group_88024] +[group_88025] +[group_88026] +[group_88027] +[group_88028] +[group_88029] +[group_88030] +[group_88031] +[group_88032] +[group_88033] +[group_88034] +[group_88035] +[group_88036] +[group_88037] +[group_88038] +[group_88039] +[group_88040] +[group_88041] +[group_88042] +[group_88043] +[group_88044] +[group_88045] +[group_88046] +[group_88047] +[group_88048] +[group_88049] +[group_88050] +[group_88051] +[group_88052] +[group_88053] +[group_88054] +[group_88055] +[group_88056] +[group_88057] +[group_88058] +[group_88059] +[group_88060] +[group_88061] +[group_88062] +[group_88063] +[group_88064] +[group_88065] +[group_88066] +[group_88067] +[group_88068] +[group_88069] +[group_88070] +[group_88071] +[group_88072] +[group_88073] +[group_88074] +[group_88075] +[group_88076] +[group_88077] +[group_88078] +[group_88079] +[group_88080] +[group_88081] +[group_88082] +[group_88083] +[group_88084] +[group_88085] +[group_88086] +[group_88087] +[group_88088] +[group_88089] +[group_88090] +[group_88091] +[group_88092] +[group_88093] +[group_88094] +[group_88095] +[group_88096] +[group_88097] +[group_88098] +[group_88099] +[group_88100] +[group_88101] +[group_88102] +[group_88103] +[group_88104] +[group_88105] +[group_88106] +[group_88107] +[group_88108] +[group_88109] +[group_88110] +[group_88111] +[group_88112] +[group_88113] +[group_88114] +[group_88115] +[group_88116] +[group_88117] +[group_88118] +[group_88119] +[group_88120] +[group_88121] +[group_88122] +[group_88123] +[group_88124] +[group_88125] +[group_88126] +[group_88127] +[group_88128] +[group_88129] +[group_88130] +[group_88131] +[group_88132] +[group_88133] +[group_88134] +[group_88135] +[group_88136] +[group_88137] +[group_88138] +[group_88139] +[group_88140] +[group_88141] +[group_88142] +[group_88143] +[group_88144] +[group_88145] +[group_88146] +[group_88147] +[group_88148] +[group_88149] +[group_88150] +[group_88151] +[group_88152] +[group_88153] +[group_88154] +[group_88155] +[group_88156] +[group_88157] +[group_88158] +[group_88159] +[group_88160] +[group_88161] +[group_88162] +[group_88163] +[group_88164] +[group_88165] +[group_88166] +[group_88167] +[group_88168] +[group_88169] +[group_88170] +[group_88171] +[group_88172] +[group_88173] +[group_88174] +[group_88175] +[group_88176] +[group_88177] +[group_88178] +[group_88179] +[group_88180] +[group_88181] +[group_88182] +[group_88183] +[group_88184] +[group_88185] +[group_88186] +[group_88187] +[group_88188] +[group_88189] +[group_88190] +[group_88191] +[group_88192] +[group_88193] +[group_88194] +[group_88195] +[group_88196] +[group_88197] +[group_88198] +[group_88199] +[group_88200] +[group_88201] +[group_88202] +[group_88203] +[group_88204] +[group_88205] +[group_88206] +[group_88207] +[group_88208] +[group_88209] +[group_88210] +[group_88211] +[group_88212] +[group_88213] +[group_88214] +[group_88215] +[group_88216] +[group_88217] +[group_88218] +[group_88219] +[group_88220] +[group_88221] +[group_88222] +[group_88223] +[group_88224] +[group_88225] +[group_88226] +[group_88227] +[group_88228] +[group_88229] +[group_88230] +[group_88231] +[group_88232] +[group_88233] +[group_88234] +[group_88235] +[group_88236] +[group_88237] +[group_88238] +[group_88239] +[group_88240] +[group_88241] +[group_88242] +[group_88243] +[group_88244] +[group_88245] +[group_88246] +[group_88247] +[group_88248] +[group_88249] +[group_88250] +[group_88251] +[group_88252] +[group_88253] +[group_88254] +[group_88255] +[group_88256] +[group_88257] +[group_88258] +[group_88259] +[group_88260] +[group_88261] +[group_88262] +[group_88263] +[group_88264] +[group_88265] +[group_88266] +[group_88267] +[group_88268] +[group_88269] +[group_88270] +[group_88271] +[group_88272] +[group_88273] +[group_88274] +[group_88275] +[group_88276] +[group_88277] +[group_88278] +[group_88279] +[group_88280] +[group_88281] +[group_88282] +[group_88283] +[group_88284] +[group_88285] +[group_88286] +[group_88287] +[group_88288] +[group_88289] +[group_88290] +[group_88291] +[group_88292] +[group_88293] +[group_88294] +[group_88295] +[group_88296] +[group_88297] +[group_88298] +[group_88299] +[group_88300] +[group_88301] +[group_88302] +[group_88303] +[group_88304] +[group_88305] +[group_88306] +[group_88307] +[group_88308] +[group_88309] +[group_88310] +[group_88311] +[group_88312] +[group_88313] +[group_88314] +[group_88315] +[group_88316] +[group_88317] +[group_88318] +[group_88319] +[group_88320] +[group_88321] +[group_88322] +[group_88323] +[group_88324] +[group_88325] +[group_88326] +[group_88327] +[group_88328] +[group_88329] +[group_88330] +[group_88331] +[group_88332] +[group_88333] +[group_88334] +[group_88335] +[group_88336] +[group_88337] +[group_88338] +[group_88339] +[group_88340] +[group_88341] +[group_88342] +[group_88343] +[group_88344] +[group_88345] +[group_88346] +[group_88347] +[group_88348] +[group_88349] +[group_88350] +[group_88351] +[group_88352] +[group_88353] +[group_88354] +[group_88355] +[group_88356] +[group_88357] +[group_88358] +[group_88359] +[group_88360] +[group_88361] +[group_88362] +[group_88363] +[group_88364] +[group_88365] +[group_88366] +[group_88367] +[group_88368] +[group_88369] +[group_88370] +[group_88371] +[group_88372] +[group_88373] +[group_88374] +[group_88375] +[group_88376] +[group_88377] +[group_88378] +[group_88379] +[group_88380] +[group_88381] +[group_88382] +[group_88383] +[group_88384] +[group_88385] +[group_88386] +[group_88387] +[group_88388] +[group_88389] +[group_88390] +[group_88391] +[group_88392] +[group_88393] +[group_88394] +[group_88395] +[group_88396] +[group_88397] +[group_88398] +[group_88399] +[group_88400] +[group_88401] +[group_88402] +[group_88403] +[group_88404] +[group_88405] +[group_88406] +[group_88407] +[group_88408] +[group_88409] +[group_88410] +[group_88411] +[group_88412] +[group_88413] +[group_88414] +[group_88415] +[group_88416] +[group_88417] +[group_88418] +[group_88419] +[group_88420] +[group_88421] +[group_88422] +[group_88423] +[group_88424] +[group_88425] +[group_88426] +[group_88427] +[group_88428] +[group_88429] +[group_88430] +[group_88431] +[group_88432] +[group_88433] +[group_88434] +[group_88435] +[group_88436] +[group_88437] +[group_88438] +[group_88439] +[group_88440] +[group_88441] +[group_88442] +[group_88443] +[group_88444] +[group_88445] +[group_88446] +[group_88447] +[group_88448] +[group_88449] +[group_88450] +[group_88451] +[group_88452] +[group_88453] +[group_88454] +[group_88455] +[group_88456] +[group_88457] +[group_88458] +[group_88459] +[group_88460] +[group_88461] +[group_88462] +[group_88463] +[group_88464] +[group_88465] +[group_88466] +[group_88467] +[group_88468] +[group_88469] +[group_88470] +[group_88471] +[group_88472] +[group_88473] +[group_88474] +[group_88475] +[group_88476] +[group_88477] +[group_88478] +[group_88479] +[group_88480] +[group_88481] +[group_88482] +[group_88483] +[group_88484] +[group_88485] +[group_88486] +[group_88487] +[group_88488] +[group_88489] +[group_88490] +[group_88491] +[group_88492] +[group_88493] +[group_88494] +[group_88495] +[group_88496] +[group_88497] +[group_88498] +[group_88499] +[group_88500] +[group_88501] +[group_88502] +[group_88503] +[group_88504] +[group_88505] +[group_88506] +[group_88507] +[group_88508] +[group_88509] +[group_88510] +[group_88511] +[group_88512] +[group_88513] +[group_88514] +[group_88515] +[group_88516] +[group_88517] +[group_88518] +[group_88519] +[group_88520] +[group_88521] +[group_88522] +[group_88523] +[group_88524] +[group_88525] +[group_88526] +[group_88527] +[group_88528] +[group_88529] +[group_88530] +[group_88531] +[group_88532] +[group_88533] +[group_88534] +[group_88535] +[group_88536] +[group_88537] +[group_88538] +[group_88539] +[group_88540] +[group_88541] +[group_88542] +[group_88543] +[group_88544] +[group_88545] +[group_88546] +[group_88547] +[group_88548] +[group_88549] +[group_88550] +[group_88551] +[group_88552] +[group_88553] +[group_88554] +[group_88555] +[group_88556] +[group_88557] +[group_88558] +[group_88559] +[group_88560] +[group_88561] +[group_88562] +[group_88563] +[group_88564] +[group_88565] +[group_88566] +[group_88567] +[group_88568] +[group_88569] +[group_88570] +[group_88571] +[group_88572] +[group_88573] +[group_88574] +[group_88575] +[group_88576] +[group_88577] +[group_88578] +[group_88579] +[group_88580] +[group_88581] +[group_88582] +[group_88583] +[group_88584] +[group_88585] +[group_88586] +[group_88587] +[group_88588] +[group_88589] +[group_88590] +[group_88591] +[group_88592] +[group_88593] +[group_88594] +[group_88595] +[group_88596] +[group_88597] +[group_88598] +[group_88599] +[group_88600] +[group_88601] +[group_88602] +[group_88603] +[group_88604] +[group_88605] +[group_88606] +[group_88607] +[group_88608] +[group_88609] +[group_88610] +[group_88611] +[group_88612] +[group_88613] +[group_88614] +[group_88615] +[group_88616] +[group_88617] +[group_88618] +[group_88619] +[group_88620] +[group_88621] +[group_88622] +[group_88623] +[group_88624] +[group_88625] +[group_88626] +[group_88627] +[group_88628] +[group_88629] +[group_88630] +[group_88631] +[group_88632] +[group_88633] +[group_88634] +[group_88635] +[group_88636] +[group_88637] +[group_88638] +[group_88639] +[group_88640] +[group_88641] +[group_88642] +[group_88643] +[group_88644] +[group_88645] +[group_88646] +[group_88647] +[group_88648] +[group_88649] +[group_88650] +[group_88651] +[group_88652] +[group_88653] +[group_88654] +[group_88655] +[group_88656] +[group_88657] +[group_88658] +[group_88659] +[group_88660] +[group_88661] +[group_88662] +[group_88663] +[group_88664] +[group_88665] +[group_88666] +[group_88667] +[group_88668] +[group_88669] +[group_88670] +[group_88671] +[group_88672] +[group_88673] +[group_88674] +[group_88675] +[group_88676] +[group_88677] +[group_88678] +[group_88679] +[group_88680] +[group_88681] +[group_88682] +[group_88683] +[group_88684] +[group_88685] +[group_88686] +[group_88687] +[group_88688] +[group_88689] +[group_88690] +[group_88691] +[group_88692] +[group_88693] +[group_88694] +[group_88695] +[group_88696] +[group_88697] +[group_88698] +[group_88699] +[group_88700] +[group_88701] +[group_88702] +[group_88703] +[group_88704] +[group_88705] +[group_88706] +[group_88707] +[group_88708] +[group_88709] +[group_88710] +[group_88711] +[group_88712] +[group_88713] +[group_88714] +[group_88715] +[group_88716] +[group_88717] +[group_88718] +[group_88719] +[group_88720] +[group_88721] +[group_88722] +[group_88723] +[group_88724] +[group_88725] +[group_88726] +[group_88727] +[group_88728] +[group_88729] +[group_88730] +[group_88731] +[group_88732] +[group_88733] +[group_88734] +[group_88735] +[group_88736] +[group_88737] +[group_88738] +[group_88739] +[group_88740] +[group_88741] +[group_88742] +[group_88743] +[group_88744] +[group_88745] +[group_88746] +[group_88747] +[group_88748] +[group_88749] +[group_88750] +[group_88751] +[group_88752] +[group_88753] +[group_88754] +[group_88755] +[group_88756] +[group_88757] +[group_88758] +[group_88759] +[group_88760] +[group_88761] +[group_88762] +[group_88763] +[group_88764] +[group_88765] +[group_88766] +[group_88767] +[group_88768] +[group_88769] +[group_88770] +[group_88771] +[group_88772] +[group_88773] +[group_88774] +[group_88775] +[group_88776] +[group_88777] +[group_88778] +[group_88779] +[group_88780] +[group_88781] +[group_88782] +[group_88783] +[group_88784] +[group_88785] +[group_88786] +[group_88787] +[group_88788] +[group_88789] +[group_88790] +[group_88791] +[group_88792] +[group_88793] +[group_88794] +[group_88795] +[group_88796] +[group_88797] +[group_88798] +[group_88799] +[group_88800] +[group_88801] +[group_88802] +[group_88803] +[group_88804] +[group_88805] +[group_88806] +[group_88807] +[group_88808] +[group_88809] +[group_88810] +[group_88811] +[group_88812] +[group_88813] +[group_88814] +[group_88815] +[group_88816] +[group_88817] +[group_88818] +[group_88819] +[group_88820] +[group_88821] +[group_88822] +[group_88823] +[group_88824] +[group_88825] +[group_88826] +[group_88827] +[group_88828] +[group_88829] +[group_88830] +[group_88831] +[group_88832] +[group_88833] +[group_88834] +[group_88835] +[group_88836] +[group_88837] +[group_88838] +[group_88839] +[group_88840] +[group_88841] +[group_88842] +[group_88843] +[group_88844] +[group_88845] +[group_88846] +[group_88847] +[group_88848] +[group_88849] +[group_88850] +[group_88851] +[group_88852] +[group_88853] +[group_88854] +[group_88855] +[group_88856] +[group_88857] +[group_88858] +[group_88859] +[group_88860] +[group_88861] +[group_88862] +[group_88863] +[group_88864] +[group_88865] +[group_88866] +[group_88867] +[group_88868] +[group_88869] +[group_88870] +[group_88871] +[group_88872] +[group_88873] +[group_88874] +[group_88875] +[group_88876] +[group_88877] +[group_88878] +[group_88879] +[group_88880] +[group_88881] +[group_88882] +[group_88883] +[group_88884] +[group_88885] +[group_88886] +[group_88887] +[group_88888] +[group_88889] +[group_88890] +[group_88891] +[group_88892] +[group_88893] +[group_88894] +[group_88895] +[group_88896] +[group_88897] +[group_88898] +[group_88899] +[group_88900] +[group_88901] +[group_88902] +[group_88903] +[group_88904] +[group_88905] +[group_88906] +[group_88907] +[group_88908] +[group_88909] +[group_88910] +[group_88911] +[group_88912] +[group_88913] +[group_88914] +[group_88915] +[group_88916] +[group_88917] +[group_88918] +[group_88919] +[group_88920] +[group_88921] +[group_88922] +[group_88923] +[group_88924] +[group_88925] +[group_88926] +[group_88927] +[group_88928] +[group_88929] +[group_88930] +[group_88931] +[group_88932] +[group_88933] +[group_88934] +[group_88935] +[group_88936] +[group_88937] +[group_88938] +[group_88939] +[group_88940] +[group_88941] +[group_88942] +[group_88943] +[group_88944] +[group_88945] +[group_88946] +[group_88947] +[group_88948] +[group_88949] +[group_88950] +[group_88951] +[group_88952] +[group_88953] +[group_88954] +[group_88955] +[group_88956] +[group_88957] +[group_88958] +[group_88959] +[group_88960] +[group_88961] +[group_88962] +[group_88963] +[group_88964] +[group_88965] +[group_88966] +[group_88967] +[group_88968] +[group_88969] +[group_88970] +[group_88971] +[group_88972] +[group_88973] +[group_88974] +[group_88975] +[group_88976] +[group_88977] +[group_88978] +[group_88979] +[group_88980] +[group_88981] +[group_88982] +[group_88983] +[group_88984] +[group_88985] +[group_88986] +[group_88987] +[group_88988] +[group_88989] +[group_88990] +[group_88991] +[group_88992] +[group_88993] +[group_88994] +[group_88995] +[group_88996] +[group_88997] +[group_88998] +[group_88999] +[group_89000] +[group_89001] +[group_89002] +[group_89003] +[group_89004] +[group_89005] +[group_89006] +[group_89007] +[group_89008] +[group_89009] +[group_89010] +[group_89011] +[group_89012] +[group_89013] +[group_89014] +[group_89015] +[group_89016] +[group_89017] +[group_89018] +[group_89019] +[group_89020] +[group_89021] +[group_89022] +[group_89023] +[group_89024] +[group_89025] +[group_89026] +[group_89027] +[group_89028] +[group_89029] +[group_89030] +[group_89031] +[group_89032] +[group_89033] +[group_89034] +[group_89035] +[group_89036] +[group_89037] +[group_89038] +[group_89039] +[group_89040] +[group_89041] +[group_89042] +[group_89043] +[group_89044] +[group_89045] +[group_89046] +[group_89047] +[group_89048] +[group_89049] +[group_89050] +[group_89051] +[group_89052] +[group_89053] +[group_89054] +[group_89055] +[group_89056] +[group_89057] +[group_89058] +[group_89059] +[group_89060] +[group_89061] +[group_89062] +[group_89063] +[group_89064] +[group_89065] +[group_89066] +[group_89067] +[group_89068] +[group_89069] +[group_89070] +[group_89071] +[group_89072] +[group_89073] +[group_89074] +[group_89075] +[group_89076] +[group_89077] +[group_89078] +[group_89079] +[group_89080] +[group_89081] +[group_89082] +[group_89083] +[group_89084] +[group_89085] +[group_89086] +[group_89087] +[group_89088] +[group_89089] +[group_89090] +[group_89091] +[group_89092] +[group_89093] +[group_89094] +[group_89095] +[group_89096] +[group_89097] +[group_89098] +[group_89099] +[group_89100] +[group_89101] +[group_89102] +[group_89103] +[group_89104] +[group_89105] +[group_89106] +[group_89107] +[group_89108] +[group_89109] +[group_89110] +[group_89111] +[group_89112] +[group_89113] +[group_89114] +[group_89115] +[group_89116] +[group_89117] +[group_89118] +[group_89119] +[group_89120] +[group_89121] +[group_89122] +[group_89123] +[group_89124] +[group_89125] +[group_89126] +[group_89127] +[group_89128] +[group_89129] +[group_89130] +[group_89131] +[group_89132] +[group_89133] +[group_89134] +[group_89135] +[group_89136] +[group_89137] +[group_89138] +[group_89139] +[group_89140] +[group_89141] +[group_89142] +[group_89143] +[group_89144] +[group_89145] +[group_89146] +[group_89147] +[group_89148] +[group_89149] +[group_89150] +[group_89151] +[group_89152] +[group_89153] +[group_89154] +[group_89155] +[group_89156] +[group_89157] +[group_89158] +[group_89159] +[group_89160] +[group_89161] +[group_89162] +[group_89163] +[group_89164] +[group_89165] +[group_89166] +[group_89167] +[group_89168] +[group_89169] +[group_89170] +[group_89171] +[group_89172] +[group_89173] +[group_89174] +[group_89175] +[group_89176] +[group_89177] +[group_89178] +[group_89179] +[group_89180] +[group_89181] +[group_89182] +[group_89183] +[group_89184] +[group_89185] +[group_89186] +[group_89187] +[group_89188] +[group_89189] +[group_89190] +[group_89191] +[group_89192] +[group_89193] +[group_89194] +[group_89195] +[group_89196] +[group_89197] +[group_89198] +[group_89199] +[group_89200] +[group_89201] +[group_89202] +[group_89203] +[group_89204] +[group_89205] +[group_89206] +[group_89207] +[group_89208] +[group_89209] +[group_89210] +[group_89211] +[group_89212] +[group_89213] +[group_89214] +[group_89215] +[group_89216] +[group_89217] +[group_89218] +[group_89219] +[group_89220] +[group_89221] +[group_89222] +[group_89223] +[group_89224] +[group_89225] +[group_89226] +[group_89227] +[group_89228] +[group_89229] +[group_89230] +[group_89231] +[group_89232] +[group_89233] +[group_89234] +[group_89235] +[group_89236] +[group_89237] +[group_89238] +[group_89239] +[group_89240] +[group_89241] +[group_89242] +[group_89243] +[group_89244] +[group_89245] +[group_89246] +[group_89247] +[group_89248] +[group_89249] +[group_89250] +[group_89251] +[group_89252] +[group_89253] +[group_89254] +[group_89255] +[group_89256] +[group_89257] +[group_89258] +[group_89259] +[group_89260] +[group_89261] +[group_89262] +[group_89263] +[group_89264] +[group_89265] +[group_89266] +[group_89267] +[group_89268] +[group_89269] +[group_89270] +[group_89271] +[group_89272] +[group_89273] +[group_89274] +[group_89275] +[group_89276] +[group_89277] +[group_89278] +[group_89279] +[group_89280] +[group_89281] +[group_89282] +[group_89283] +[group_89284] +[group_89285] +[group_89286] +[group_89287] +[group_89288] +[group_89289] +[group_89290] +[group_89291] +[group_89292] +[group_89293] +[group_89294] +[group_89295] +[group_89296] +[group_89297] +[group_89298] +[group_89299] +[group_89300] +[group_89301] +[group_89302] +[group_89303] +[group_89304] +[group_89305] +[group_89306] +[group_89307] +[group_89308] +[group_89309] +[group_89310] +[group_89311] +[group_89312] +[group_89313] +[group_89314] +[group_89315] +[group_89316] +[group_89317] +[group_89318] +[group_89319] +[group_89320] +[group_89321] +[group_89322] +[group_89323] +[group_89324] +[group_89325] +[group_89326] +[group_89327] +[group_89328] +[group_89329] +[group_89330] +[group_89331] +[group_89332] +[group_89333] +[group_89334] +[group_89335] +[group_89336] +[group_89337] +[group_89338] +[group_89339] +[group_89340] +[group_89341] +[group_89342] +[group_89343] +[group_89344] +[group_89345] +[group_89346] +[group_89347] +[group_89348] +[group_89349] +[group_89350] +[group_89351] +[group_89352] +[group_89353] +[group_89354] +[group_89355] +[group_89356] +[group_89357] +[group_89358] +[group_89359] +[group_89360] +[group_89361] +[group_89362] +[group_89363] +[group_89364] +[group_89365] +[group_89366] +[group_89367] +[group_89368] +[group_89369] +[group_89370] +[group_89371] +[group_89372] +[group_89373] +[group_89374] +[group_89375] +[group_89376] +[group_89377] +[group_89378] +[group_89379] +[group_89380] +[group_89381] +[group_89382] +[group_89383] +[group_89384] +[group_89385] +[group_89386] +[group_89387] +[group_89388] +[group_89389] +[group_89390] +[group_89391] +[group_89392] +[group_89393] +[group_89394] +[group_89395] +[group_89396] +[group_89397] +[group_89398] +[group_89399] +[group_89400] +[group_89401] +[group_89402] +[group_89403] +[group_89404] +[group_89405] +[group_89406] +[group_89407] +[group_89408] +[group_89409] +[group_89410] +[group_89411] +[group_89412] +[group_89413] +[group_89414] +[group_89415] +[group_89416] +[group_89417] +[group_89418] +[group_89419] +[group_89420] +[group_89421] +[group_89422] +[group_89423] +[group_89424] +[group_89425] +[group_89426] +[group_89427] +[group_89428] +[group_89429] +[group_89430] +[group_89431] +[group_89432] +[group_89433] +[group_89434] +[group_89435] +[group_89436] +[group_89437] +[group_89438] +[group_89439] +[group_89440] +[group_89441] +[group_89442] +[group_89443] +[group_89444] +[group_89445] +[group_89446] +[group_89447] +[group_89448] +[group_89449] +[group_89450] +[group_89451] +[group_89452] +[group_89453] +[group_89454] +[group_89455] +[group_89456] +[group_89457] +[group_89458] +[group_89459] +[group_89460] +[group_89461] +[group_89462] +[group_89463] +[group_89464] +[group_89465] +[group_89466] +[group_89467] +[group_89468] +[group_89469] +[group_89470] +[group_89471] +[group_89472] +[group_89473] +[group_89474] +[group_89475] +[group_89476] +[group_89477] +[group_89478] +[group_89479] +[group_89480] +[group_89481] +[group_89482] +[group_89483] +[group_89484] +[group_89485] +[group_89486] +[group_89487] +[group_89488] +[group_89489] +[group_89490] +[group_89491] +[group_89492] +[group_89493] +[group_89494] +[group_89495] +[group_89496] +[group_89497] +[group_89498] +[group_89499] +[group_89500] +[group_89501] +[group_89502] +[group_89503] +[group_89504] +[group_89505] +[group_89506] +[group_89507] +[group_89508] +[group_89509] +[group_89510] +[group_89511] +[group_89512] +[group_89513] +[group_89514] +[group_89515] +[group_89516] +[group_89517] +[group_89518] +[group_89519] +[group_89520] +[group_89521] +[group_89522] +[group_89523] +[group_89524] +[group_89525] +[group_89526] +[group_89527] +[group_89528] +[group_89529] +[group_89530] +[group_89531] +[group_89532] +[group_89533] +[group_89534] +[group_89535] +[group_89536] +[group_89537] +[group_89538] +[group_89539] +[group_89540] +[group_89541] +[group_89542] +[group_89543] +[group_89544] +[group_89545] +[group_89546] +[group_89547] +[group_89548] +[group_89549] +[group_89550] +[group_89551] +[group_89552] +[group_89553] +[group_89554] +[group_89555] +[group_89556] +[group_89557] +[group_89558] +[group_89559] +[group_89560] +[group_89561] +[group_89562] +[group_89563] +[group_89564] +[group_89565] +[group_89566] +[group_89567] +[group_89568] +[group_89569] +[group_89570] +[group_89571] +[group_89572] +[group_89573] +[group_89574] +[group_89575] +[group_89576] +[group_89577] +[group_89578] +[group_89579] +[group_89580] +[group_89581] +[group_89582] +[group_89583] +[group_89584] +[group_89585] +[group_89586] +[group_89587] +[group_89588] +[group_89589] +[group_89590] +[group_89591] +[group_89592] +[group_89593] +[group_89594] +[group_89595] +[group_89596] +[group_89597] +[group_89598] +[group_89599] +[group_89600] +[group_89601] +[group_89602] +[group_89603] +[group_89604] +[group_89605] +[group_89606] +[group_89607] +[group_89608] +[group_89609] +[group_89610] +[group_89611] +[group_89612] +[group_89613] +[group_89614] +[group_89615] +[group_89616] +[group_89617] +[group_89618] +[group_89619] +[group_89620] +[group_89621] +[group_89622] +[group_89623] +[group_89624] +[group_89625] +[group_89626] +[group_89627] +[group_89628] +[group_89629] +[group_89630] +[group_89631] +[group_89632] +[group_89633] +[group_89634] +[group_89635] +[group_89636] +[group_89637] +[group_89638] +[group_89639] +[group_89640] +[group_89641] +[group_89642] +[group_89643] +[group_89644] +[group_89645] +[group_89646] +[group_89647] +[group_89648] +[group_89649] +[group_89650] +[group_89651] +[group_89652] +[group_89653] +[group_89654] +[group_89655] +[group_89656] +[group_89657] +[group_89658] +[group_89659] +[group_89660] +[group_89661] +[group_89662] +[group_89663] +[group_89664] +[group_89665] +[group_89666] +[group_89667] +[group_89668] +[group_89669] +[group_89670] +[group_89671] +[group_89672] +[group_89673] +[group_89674] +[group_89675] +[group_89676] +[group_89677] +[group_89678] +[group_89679] +[group_89680] +[group_89681] +[group_89682] +[group_89683] +[group_89684] +[group_89685] +[group_89686] +[group_89687] +[group_89688] +[group_89689] +[group_89690] +[group_89691] +[group_89692] +[group_89693] +[group_89694] +[group_89695] +[group_89696] +[group_89697] +[group_89698] +[group_89699] +[group_89700] +[group_89701] +[group_89702] +[group_89703] +[group_89704] +[group_89705] +[group_89706] +[group_89707] +[group_89708] +[group_89709] +[group_89710] +[group_89711] +[group_89712] +[group_89713] +[group_89714] +[group_89715] +[group_89716] +[group_89717] +[group_89718] +[group_89719] +[group_89720] +[group_89721] +[group_89722] +[group_89723] +[group_89724] +[group_89725] +[group_89726] +[group_89727] +[group_89728] +[group_89729] +[group_89730] +[group_89731] +[group_89732] +[group_89733] +[group_89734] +[group_89735] +[group_89736] +[group_89737] +[group_89738] +[group_89739] +[group_89740] +[group_89741] +[group_89742] +[group_89743] +[group_89744] +[group_89745] +[group_89746] +[group_89747] +[group_89748] +[group_89749] +[group_89750] +[group_89751] +[group_89752] +[group_89753] +[group_89754] +[group_89755] +[group_89756] +[group_89757] +[group_89758] +[group_89759] +[group_89760] +[group_89761] +[group_89762] +[group_89763] +[group_89764] +[group_89765] +[group_89766] +[group_89767] +[group_89768] +[group_89769] +[group_89770] +[group_89771] +[group_89772] +[group_89773] +[group_89774] +[group_89775] +[group_89776] +[group_89777] +[group_89778] +[group_89779] +[group_89780] +[group_89781] +[group_89782] +[group_89783] +[group_89784] +[group_89785] +[group_89786] +[group_89787] +[group_89788] +[group_89789] +[group_89790] +[group_89791] +[group_89792] +[group_89793] +[group_89794] +[group_89795] +[group_89796] +[group_89797] +[group_89798] +[group_89799] +[group_89800] +[group_89801] +[group_89802] +[group_89803] +[group_89804] +[group_89805] +[group_89806] +[group_89807] +[group_89808] +[group_89809] +[group_89810] +[group_89811] +[group_89812] +[group_89813] +[group_89814] +[group_89815] +[group_89816] +[group_89817] +[group_89818] +[group_89819] +[group_89820] +[group_89821] +[group_89822] +[group_89823] +[group_89824] +[group_89825] +[group_89826] +[group_89827] +[group_89828] +[group_89829] +[group_89830] +[group_89831] +[group_89832] +[group_89833] +[group_89834] +[group_89835] +[group_89836] +[group_89837] +[group_89838] +[group_89839] +[group_89840] +[group_89841] +[group_89842] +[group_89843] +[group_89844] +[group_89845] +[group_89846] +[group_89847] +[group_89848] +[group_89849] +[group_89850] +[group_89851] +[group_89852] +[group_89853] +[group_89854] +[group_89855] +[group_89856] +[group_89857] +[group_89858] +[group_89859] +[group_89860] +[group_89861] +[group_89862] +[group_89863] +[group_89864] +[group_89865] +[group_89866] +[group_89867] +[group_89868] +[group_89869] +[group_89870] +[group_89871] +[group_89872] +[group_89873] +[group_89874] +[group_89875] +[group_89876] +[group_89877] +[group_89878] +[group_89879] +[group_89880] +[group_89881] +[group_89882] +[group_89883] +[group_89884] +[group_89885] +[group_89886] +[group_89887] +[group_89888] +[group_89889] +[group_89890] +[group_89891] +[group_89892] +[group_89893] +[group_89894] +[group_89895] +[group_89896] +[group_89897] +[group_89898] +[group_89899] +[group_89900] +[group_89901] +[group_89902] +[group_89903] +[group_89904] +[group_89905] +[group_89906] +[group_89907] +[group_89908] +[group_89909] +[group_89910] +[group_89911] +[group_89912] +[group_89913] +[group_89914] +[group_89915] +[group_89916] +[group_89917] +[group_89918] +[group_89919] +[group_89920] +[group_89921] +[group_89922] +[group_89923] +[group_89924] +[group_89925] +[group_89926] +[group_89927] +[group_89928] +[group_89929] +[group_89930] +[group_89931] +[group_89932] +[group_89933] +[group_89934] +[group_89935] +[group_89936] +[group_89937] +[group_89938] +[group_89939] +[group_89940] +[group_89941] +[group_89942] +[group_89943] +[group_89944] +[group_89945] +[group_89946] +[group_89947] +[group_89948] +[group_89949] +[group_89950] +[group_89951] +[group_89952] +[group_89953] +[group_89954] +[group_89955] +[group_89956] +[group_89957] +[group_89958] +[group_89959] +[group_89960] +[group_89961] +[group_89962] +[group_89963] +[group_89964] +[group_89965] +[group_89966] +[group_89967] +[group_89968] +[group_89969] +[group_89970] +[group_89971] +[group_89972] +[group_89973] +[group_89974] +[group_89975] +[group_89976] +[group_89977] +[group_89978] +[group_89979] +[group_89980] +[group_89981] +[group_89982] +[group_89983] +[group_89984] +[group_89985] +[group_89986] +[group_89987] +[group_89988] +[group_89989] +[group_89990] +[group_89991] +[group_89992] +[group_89993] +[group_89994] +[group_89995] +[group_89996] +[group_89997] +[group_89998] +[group_89999] +[group_90000] +[group_90001] +[group_90002] +[group_90003] +[group_90004] +[group_90005] +[group_90006] +[group_90007] +[group_90008] +[group_90009] +[group_90010] +[group_90011] +[group_90012] +[group_90013] +[group_90014] +[group_90015] +[group_90016] +[group_90017] +[group_90018] +[group_90019] +[group_90020] +[group_90021] +[group_90022] +[group_90023] +[group_90024] +[group_90025] +[group_90026] +[group_90027] +[group_90028] +[group_90029] +[group_90030] +[group_90031] +[group_90032] +[group_90033] +[group_90034] +[group_90035] +[group_90036] +[group_90037] +[group_90038] +[group_90039] +[group_90040] +[group_90041] +[group_90042] +[group_90043] +[group_90044] +[group_90045] +[group_90046] +[group_90047] +[group_90048] +[group_90049] +[group_90050] +[group_90051] +[group_90052] +[group_90053] +[group_90054] +[group_90055] +[group_90056] +[group_90057] +[group_90058] +[group_90059] +[group_90060] +[group_90061] +[group_90062] +[group_90063] +[group_90064] +[group_90065] +[group_90066] +[group_90067] +[group_90068] +[group_90069] +[group_90070] +[group_90071] +[group_90072] +[group_90073] +[group_90074] +[group_90075] +[group_90076] +[group_90077] +[group_90078] +[group_90079] +[group_90080] +[group_90081] +[group_90082] +[group_90083] +[group_90084] +[group_90085] +[group_90086] +[group_90087] +[group_90088] +[group_90089] +[group_90090] +[group_90091] +[group_90092] +[group_90093] +[group_90094] +[group_90095] +[group_90096] +[group_90097] +[group_90098] +[group_90099] +[group_90100] +[group_90101] +[group_90102] +[group_90103] +[group_90104] +[group_90105] +[group_90106] +[group_90107] +[group_90108] +[group_90109] +[group_90110] +[group_90111] +[group_90112] +[group_90113] +[group_90114] +[group_90115] +[group_90116] +[group_90117] +[group_90118] +[group_90119] +[group_90120] +[group_90121] +[group_90122] +[group_90123] +[group_90124] +[group_90125] +[group_90126] +[group_90127] +[group_90128] +[group_90129] +[group_90130] +[group_90131] +[group_90132] +[group_90133] +[group_90134] +[group_90135] +[group_90136] +[group_90137] +[group_90138] +[group_90139] +[group_90140] +[group_90141] +[group_90142] +[group_90143] +[group_90144] +[group_90145] +[group_90146] +[group_90147] +[group_90148] +[group_90149] +[group_90150] +[group_90151] +[group_90152] +[group_90153] +[group_90154] +[group_90155] +[group_90156] +[group_90157] +[group_90158] +[group_90159] +[group_90160] +[group_90161] +[group_90162] +[group_90163] +[group_90164] +[group_90165] +[group_90166] +[group_90167] +[group_90168] +[group_90169] +[group_90170] +[group_90171] +[group_90172] +[group_90173] +[group_90174] +[group_90175] +[group_90176] +[group_90177] +[group_90178] +[group_90179] +[group_90180] +[group_90181] +[group_90182] +[group_90183] +[group_90184] +[group_90185] +[group_90186] +[group_90187] +[group_90188] +[group_90189] +[group_90190] +[group_90191] +[group_90192] +[group_90193] +[group_90194] +[group_90195] +[group_90196] +[group_90197] +[group_90198] +[group_90199] +[group_90200] +[group_90201] +[group_90202] +[group_90203] +[group_90204] +[group_90205] +[group_90206] +[group_90207] +[group_90208] +[group_90209] +[group_90210] +[group_90211] +[group_90212] +[group_90213] +[group_90214] +[group_90215] +[group_90216] +[group_90217] +[group_90218] +[group_90219] +[group_90220] +[group_90221] +[group_90222] +[group_90223] +[group_90224] +[group_90225] +[group_90226] +[group_90227] +[group_90228] +[group_90229] +[group_90230] +[group_90231] +[group_90232] +[group_90233] +[group_90234] +[group_90235] +[group_90236] +[group_90237] +[group_90238] +[group_90239] +[group_90240] +[group_90241] +[group_90242] +[group_90243] +[group_90244] +[group_90245] +[group_90246] +[group_90247] +[group_90248] +[group_90249] +[group_90250] +[group_90251] +[group_90252] +[group_90253] +[group_90254] +[group_90255] +[group_90256] +[group_90257] +[group_90258] +[group_90259] +[group_90260] +[group_90261] +[group_90262] +[group_90263] +[group_90264] +[group_90265] +[group_90266] +[group_90267] +[group_90268] +[group_90269] +[group_90270] +[group_90271] +[group_90272] +[group_90273] +[group_90274] +[group_90275] +[group_90276] +[group_90277] +[group_90278] +[group_90279] +[group_90280] +[group_90281] +[group_90282] +[group_90283] +[group_90284] +[group_90285] +[group_90286] +[group_90287] +[group_90288] +[group_90289] +[group_90290] +[group_90291] +[group_90292] +[group_90293] +[group_90294] +[group_90295] +[group_90296] +[group_90297] +[group_90298] +[group_90299] +[group_90300] +[group_90301] +[group_90302] +[group_90303] +[group_90304] +[group_90305] +[group_90306] +[group_90307] +[group_90308] +[group_90309] +[group_90310] +[group_90311] +[group_90312] +[group_90313] +[group_90314] +[group_90315] +[group_90316] +[group_90317] +[group_90318] +[group_90319] +[group_90320] +[group_90321] +[group_90322] +[group_90323] +[group_90324] +[group_90325] +[group_90326] +[group_90327] +[group_90328] +[group_90329] +[group_90330] +[group_90331] +[group_90332] +[group_90333] +[group_90334] +[group_90335] +[group_90336] +[group_90337] +[group_90338] +[group_90339] +[group_90340] +[group_90341] +[group_90342] +[group_90343] +[group_90344] +[group_90345] +[group_90346] +[group_90347] +[group_90348] +[group_90349] +[group_90350] +[group_90351] +[group_90352] +[group_90353] +[group_90354] +[group_90355] +[group_90356] +[group_90357] +[group_90358] +[group_90359] +[group_90360] +[group_90361] +[group_90362] +[group_90363] +[group_90364] +[group_90365] +[group_90366] +[group_90367] +[group_90368] +[group_90369] +[group_90370] +[group_90371] +[group_90372] +[group_90373] +[group_90374] +[group_90375] +[group_90376] +[group_90377] +[group_90378] +[group_90379] +[group_90380] +[group_90381] +[group_90382] +[group_90383] +[group_90384] +[group_90385] +[group_90386] +[group_90387] +[group_90388] +[group_90389] +[group_90390] +[group_90391] +[group_90392] +[group_90393] +[group_90394] +[group_90395] +[group_90396] +[group_90397] +[group_90398] +[group_90399] +[group_90400] +[group_90401] +[group_90402] +[group_90403] +[group_90404] +[group_90405] +[group_90406] +[group_90407] +[group_90408] +[group_90409] +[group_90410] +[group_90411] +[group_90412] +[group_90413] +[group_90414] +[group_90415] +[group_90416] +[group_90417] +[group_90418] +[group_90419] +[group_90420] +[group_90421] +[group_90422] +[group_90423] +[group_90424] +[group_90425] +[group_90426] +[group_90427] +[group_90428] +[group_90429] +[group_90430] +[group_90431] +[group_90432] +[group_90433] +[group_90434] +[group_90435] +[group_90436] +[group_90437] +[group_90438] +[group_90439] +[group_90440] +[group_90441] +[group_90442] +[group_90443] +[group_90444] +[group_90445] +[group_90446] +[group_90447] +[group_90448] +[group_90449] +[group_90450] +[group_90451] +[group_90452] +[group_90453] +[group_90454] +[group_90455] +[group_90456] +[group_90457] +[group_90458] +[group_90459] +[group_90460] +[group_90461] +[group_90462] +[group_90463] +[group_90464] +[group_90465] +[group_90466] +[group_90467] +[group_90468] +[group_90469] +[group_90470] +[group_90471] +[group_90472] +[group_90473] +[group_90474] +[group_90475] +[group_90476] +[group_90477] +[group_90478] +[group_90479] +[group_90480] +[group_90481] +[group_90482] +[group_90483] +[group_90484] +[group_90485] +[group_90486] +[group_90487] +[group_90488] +[group_90489] +[group_90490] +[group_90491] +[group_90492] +[group_90493] +[group_90494] +[group_90495] +[group_90496] +[group_90497] +[group_90498] +[group_90499] +[group_90500] +[group_90501] +[group_90502] +[group_90503] +[group_90504] +[group_90505] +[group_90506] +[group_90507] +[group_90508] +[group_90509] +[group_90510] +[group_90511] +[group_90512] +[group_90513] +[group_90514] +[group_90515] +[group_90516] +[group_90517] +[group_90518] +[group_90519] +[group_90520] +[group_90521] +[group_90522] +[group_90523] +[group_90524] +[group_90525] +[group_90526] +[group_90527] +[group_90528] +[group_90529] +[group_90530] +[group_90531] +[group_90532] +[group_90533] +[group_90534] +[group_90535] +[group_90536] +[group_90537] +[group_90538] +[group_90539] +[group_90540] +[group_90541] +[group_90542] +[group_90543] +[group_90544] +[group_90545] +[group_90546] +[group_90547] +[group_90548] +[group_90549] +[group_90550] +[group_90551] +[group_90552] +[group_90553] +[group_90554] +[group_90555] +[group_90556] +[group_90557] +[group_90558] +[group_90559] +[group_90560] +[group_90561] +[group_90562] +[group_90563] +[group_90564] +[group_90565] +[group_90566] +[group_90567] +[group_90568] +[group_90569] +[group_90570] +[group_90571] +[group_90572] +[group_90573] +[group_90574] +[group_90575] +[group_90576] +[group_90577] +[group_90578] +[group_90579] +[group_90580] +[group_90581] +[group_90582] +[group_90583] +[group_90584] +[group_90585] +[group_90586] +[group_90587] +[group_90588] +[group_90589] +[group_90590] +[group_90591] +[group_90592] +[group_90593] +[group_90594] +[group_90595] +[group_90596] +[group_90597] +[group_90598] +[group_90599] +[group_90600] +[group_90601] +[group_90602] +[group_90603] +[group_90604] +[group_90605] +[group_90606] +[group_90607] +[group_90608] +[group_90609] +[group_90610] +[group_90611] +[group_90612] +[group_90613] +[group_90614] +[group_90615] +[group_90616] +[group_90617] +[group_90618] +[group_90619] +[group_90620] +[group_90621] +[group_90622] +[group_90623] +[group_90624] +[group_90625] +[group_90626] +[group_90627] +[group_90628] +[group_90629] +[group_90630] +[group_90631] +[group_90632] +[group_90633] +[group_90634] +[group_90635] +[group_90636] +[group_90637] +[group_90638] +[group_90639] +[group_90640] +[group_90641] +[group_90642] +[group_90643] +[group_90644] +[group_90645] +[group_90646] +[group_90647] +[group_90648] +[group_90649] +[group_90650] +[group_90651] +[group_90652] +[group_90653] +[group_90654] +[group_90655] +[group_90656] +[group_90657] +[group_90658] +[group_90659] +[group_90660] +[group_90661] +[group_90662] +[group_90663] +[group_90664] +[group_90665] +[group_90666] +[group_90667] +[group_90668] +[group_90669] +[group_90670] +[group_90671] +[group_90672] +[group_90673] +[group_90674] +[group_90675] +[group_90676] +[group_90677] +[group_90678] +[group_90679] +[group_90680] +[group_90681] +[group_90682] +[group_90683] +[group_90684] +[group_90685] +[group_90686] +[group_90687] +[group_90688] +[group_90689] +[group_90690] +[group_90691] +[group_90692] +[group_90693] +[group_90694] +[group_90695] +[group_90696] +[group_90697] +[group_90698] +[group_90699] +[group_90700] +[group_90701] +[group_90702] +[group_90703] +[group_90704] +[group_90705] +[group_90706] +[group_90707] +[group_90708] +[group_90709] +[group_90710] +[group_90711] +[group_90712] +[group_90713] +[group_90714] +[group_90715] +[group_90716] +[group_90717] +[group_90718] +[group_90719] +[group_90720] +[group_90721] +[group_90722] +[group_90723] +[group_90724] +[group_90725] +[group_90726] +[group_90727] +[group_90728] +[group_90729] +[group_90730] +[group_90731] +[group_90732] +[group_90733] +[group_90734] +[group_90735] +[group_90736] +[group_90737] +[group_90738] +[group_90739] +[group_90740] +[group_90741] +[group_90742] +[group_90743] +[group_90744] +[group_90745] +[group_90746] +[group_90747] +[group_90748] +[group_90749] +[group_90750] +[group_90751] +[group_90752] +[group_90753] +[group_90754] +[group_90755] +[group_90756] +[group_90757] +[group_90758] +[group_90759] +[group_90760] +[group_90761] +[group_90762] +[group_90763] +[group_90764] +[group_90765] +[group_90766] +[group_90767] +[group_90768] +[group_90769] +[group_90770] +[group_90771] +[group_90772] +[group_90773] +[group_90774] +[group_90775] +[group_90776] +[group_90777] +[group_90778] +[group_90779] +[group_90780] +[group_90781] +[group_90782] +[group_90783] +[group_90784] +[group_90785] +[group_90786] +[group_90787] +[group_90788] +[group_90789] +[group_90790] +[group_90791] +[group_90792] +[group_90793] +[group_90794] +[group_90795] +[group_90796] +[group_90797] +[group_90798] +[group_90799] +[group_90800] +[group_90801] +[group_90802] +[group_90803] +[group_90804] +[group_90805] +[group_90806] +[group_90807] +[group_90808] +[group_90809] +[group_90810] +[group_90811] +[group_90812] +[group_90813] +[group_90814] +[group_90815] +[group_90816] +[group_90817] +[group_90818] +[group_90819] +[group_90820] +[group_90821] +[group_90822] +[group_90823] +[group_90824] +[group_90825] +[group_90826] +[group_90827] +[group_90828] +[group_90829] +[group_90830] +[group_90831] +[group_90832] +[group_90833] +[group_90834] +[group_90835] +[group_90836] +[group_90837] +[group_90838] +[group_90839] +[group_90840] +[group_90841] +[group_90842] +[group_90843] +[group_90844] +[group_90845] +[group_90846] +[group_90847] +[group_90848] +[group_90849] +[group_90850] +[group_90851] +[group_90852] +[group_90853] +[group_90854] +[group_90855] +[group_90856] +[group_90857] +[group_90858] +[group_90859] +[group_90860] +[group_90861] +[group_90862] +[group_90863] +[group_90864] +[group_90865] +[group_90866] +[group_90867] +[group_90868] +[group_90869] +[group_90870] +[group_90871] +[group_90872] +[group_90873] +[group_90874] +[group_90875] +[group_90876] +[group_90877] +[group_90878] +[group_90879] +[group_90880] +[group_90881] +[group_90882] +[group_90883] +[group_90884] +[group_90885] +[group_90886] +[group_90887] +[group_90888] +[group_90889] +[group_90890] +[group_90891] +[group_90892] +[group_90893] +[group_90894] +[group_90895] +[group_90896] +[group_90897] +[group_90898] +[group_90899] +[group_90900] +[group_90901] +[group_90902] +[group_90903] +[group_90904] +[group_90905] +[group_90906] +[group_90907] +[group_90908] +[group_90909] +[group_90910] +[group_90911] +[group_90912] +[group_90913] +[group_90914] +[group_90915] +[group_90916] +[group_90917] +[group_90918] +[group_90919] +[group_90920] +[group_90921] +[group_90922] +[group_90923] +[group_90924] +[group_90925] +[group_90926] +[group_90927] +[group_90928] +[group_90929] +[group_90930] +[group_90931] +[group_90932] +[group_90933] +[group_90934] +[group_90935] +[group_90936] +[group_90937] +[group_90938] +[group_90939] +[group_90940] +[group_90941] +[group_90942] +[group_90943] +[group_90944] +[group_90945] +[group_90946] +[group_90947] +[group_90948] +[group_90949] +[group_90950] +[group_90951] +[group_90952] +[group_90953] +[group_90954] +[group_90955] +[group_90956] +[group_90957] +[group_90958] +[group_90959] +[group_90960] +[group_90961] +[group_90962] +[group_90963] +[group_90964] +[group_90965] +[group_90966] +[group_90967] +[group_90968] +[group_90969] +[group_90970] +[group_90971] +[group_90972] +[group_90973] +[group_90974] +[group_90975] +[group_90976] +[group_90977] +[group_90978] +[group_90979] +[group_90980] +[group_90981] +[group_90982] +[group_90983] +[group_90984] +[group_90985] +[group_90986] +[group_90987] +[group_90988] +[group_90989] +[group_90990] +[group_90991] +[group_90992] +[group_90993] +[group_90994] +[group_90995] +[group_90996] +[group_90997] +[group_90998] +[group_90999] +[group_91000] +[group_91001] +[group_91002] +[group_91003] +[group_91004] +[group_91005] +[group_91006] +[group_91007] +[group_91008] +[group_91009] +[group_91010] +[group_91011] +[group_91012] +[group_91013] +[group_91014] +[group_91015] +[group_91016] +[group_91017] +[group_91018] +[group_91019] +[group_91020] +[group_91021] +[group_91022] +[group_91023] +[group_91024] +[group_91025] +[group_91026] +[group_91027] +[group_91028] +[group_91029] +[group_91030] +[group_91031] +[group_91032] +[group_91033] +[group_91034] +[group_91035] +[group_91036] +[group_91037] +[group_91038] +[group_91039] +[group_91040] +[group_91041] +[group_91042] +[group_91043] +[group_91044] +[group_91045] +[group_91046] +[group_91047] +[group_91048] +[group_91049] +[group_91050] +[group_91051] +[group_91052] +[group_91053] +[group_91054] +[group_91055] +[group_91056] +[group_91057] +[group_91058] +[group_91059] +[group_91060] +[group_91061] +[group_91062] +[group_91063] +[group_91064] +[group_91065] +[group_91066] +[group_91067] +[group_91068] +[group_91069] +[group_91070] +[group_91071] +[group_91072] +[group_91073] +[group_91074] +[group_91075] +[group_91076] +[group_91077] +[group_91078] +[group_91079] +[group_91080] +[group_91081] +[group_91082] +[group_91083] +[group_91084] +[group_91085] +[group_91086] +[group_91087] +[group_91088] +[group_91089] +[group_91090] +[group_91091] +[group_91092] +[group_91093] +[group_91094] +[group_91095] +[group_91096] +[group_91097] +[group_91098] +[group_91099] +[group_91100] +[group_91101] +[group_91102] +[group_91103] +[group_91104] +[group_91105] +[group_91106] +[group_91107] +[group_91108] +[group_91109] +[group_91110] +[group_91111] +[group_91112] +[group_91113] +[group_91114] +[group_91115] +[group_91116] +[group_91117] +[group_91118] +[group_91119] +[group_91120] +[group_91121] +[group_91122] +[group_91123] +[group_91124] +[group_91125] +[group_91126] +[group_91127] +[group_91128] +[group_91129] +[group_91130] +[group_91131] +[group_91132] +[group_91133] +[group_91134] +[group_91135] +[group_91136] +[group_91137] +[group_91138] +[group_91139] +[group_91140] +[group_91141] +[group_91142] +[group_91143] +[group_91144] +[group_91145] +[group_91146] +[group_91147] +[group_91148] +[group_91149] +[group_91150] +[group_91151] +[group_91152] +[group_91153] +[group_91154] +[group_91155] +[group_91156] +[group_91157] +[group_91158] +[group_91159] +[group_91160] +[group_91161] +[group_91162] +[group_91163] +[group_91164] +[group_91165] +[group_91166] +[group_91167] +[group_91168] +[group_91169] +[group_91170] +[group_91171] +[group_91172] +[group_91173] +[group_91174] +[group_91175] +[group_91176] +[group_91177] +[group_91178] +[group_91179] +[group_91180] +[group_91181] +[group_91182] +[group_91183] +[group_91184] +[group_91185] +[group_91186] +[group_91187] +[group_91188] +[group_91189] +[group_91190] +[group_91191] +[group_91192] +[group_91193] +[group_91194] +[group_91195] +[group_91196] +[group_91197] +[group_91198] +[group_91199] +[group_91200] +[group_91201] +[group_91202] +[group_91203] +[group_91204] +[group_91205] +[group_91206] +[group_91207] +[group_91208] +[group_91209] +[group_91210] +[group_91211] +[group_91212] +[group_91213] +[group_91214] +[group_91215] +[group_91216] +[group_91217] +[group_91218] +[group_91219] +[group_91220] +[group_91221] +[group_91222] +[group_91223] +[group_91224] +[group_91225] +[group_91226] +[group_91227] +[group_91228] +[group_91229] +[group_91230] +[group_91231] +[group_91232] +[group_91233] +[group_91234] +[group_91235] +[group_91236] +[group_91237] +[group_91238] +[group_91239] +[group_91240] +[group_91241] +[group_91242] +[group_91243] +[group_91244] +[group_91245] +[group_91246] +[group_91247] +[group_91248] +[group_91249] +[group_91250] +[group_91251] +[group_91252] +[group_91253] +[group_91254] +[group_91255] +[group_91256] +[group_91257] +[group_91258] +[group_91259] +[group_91260] +[group_91261] +[group_91262] +[group_91263] +[group_91264] +[group_91265] +[group_91266] +[group_91267] +[group_91268] +[group_91269] +[group_91270] +[group_91271] +[group_91272] +[group_91273] +[group_91274] +[group_91275] +[group_91276] +[group_91277] +[group_91278] +[group_91279] +[group_91280] +[group_91281] +[group_91282] +[group_91283] +[group_91284] +[group_91285] +[group_91286] +[group_91287] +[group_91288] +[group_91289] +[group_91290] +[group_91291] +[group_91292] +[group_91293] +[group_91294] +[group_91295] +[group_91296] +[group_91297] +[group_91298] +[group_91299] +[group_91300] +[group_91301] +[group_91302] +[group_91303] +[group_91304] +[group_91305] +[group_91306] +[group_91307] +[group_91308] +[group_91309] +[group_91310] +[group_91311] +[group_91312] +[group_91313] +[group_91314] +[group_91315] +[group_91316] +[group_91317] +[group_91318] +[group_91319] +[group_91320] +[group_91321] +[group_91322] +[group_91323] +[group_91324] +[group_91325] +[group_91326] +[group_91327] +[group_91328] +[group_91329] +[group_91330] +[group_91331] +[group_91332] +[group_91333] +[group_91334] +[group_91335] +[group_91336] +[group_91337] +[group_91338] +[group_91339] +[group_91340] +[group_91341] +[group_91342] +[group_91343] +[group_91344] +[group_91345] +[group_91346] +[group_91347] +[group_91348] +[group_91349] +[group_91350] +[group_91351] +[group_91352] +[group_91353] +[group_91354] +[group_91355] +[group_91356] +[group_91357] +[group_91358] +[group_91359] +[group_91360] +[group_91361] +[group_91362] +[group_91363] +[group_91364] +[group_91365] +[group_91366] +[group_91367] +[group_91368] +[group_91369] +[group_91370] +[group_91371] +[group_91372] +[group_91373] +[group_91374] +[group_91375] +[group_91376] +[group_91377] +[group_91378] +[group_91379] +[group_91380] +[group_91381] +[group_91382] +[group_91383] +[group_91384] +[group_91385] +[group_91386] +[group_91387] +[group_91388] +[group_91389] +[group_91390] +[group_91391] +[group_91392] +[group_91393] +[group_91394] +[group_91395] +[group_91396] +[group_91397] +[group_91398] +[group_91399] +[group_91400] +[group_91401] +[group_91402] +[group_91403] +[group_91404] +[group_91405] +[group_91406] +[group_91407] +[group_91408] +[group_91409] +[group_91410] +[group_91411] +[group_91412] +[group_91413] +[group_91414] +[group_91415] +[group_91416] +[group_91417] +[group_91418] +[group_91419] +[group_91420] +[group_91421] +[group_91422] +[group_91423] +[group_91424] +[group_91425] +[group_91426] +[group_91427] +[group_91428] +[group_91429] +[group_91430] +[group_91431] +[group_91432] +[group_91433] +[group_91434] +[group_91435] +[group_91436] +[group_91437] +[group_91438] +[group_91439] +[group_91440] +[group_91441] +[group_91442] +[group_91443] +[group_91444] +[group_91445] +[group_91446] +[group_91447] +[group_91448] +[group_91449] +[group_91450] +[group_91451] +[group_91452] +[group_91453] +[group_91454] +[group_91455] +[group_91456] +[group_91457] +[group_91458] +[group_91459] +[group_91460] +[group_91461] +[group_91462] +[group_91463] +[group_91464] +[group_91465] +[group_91466] +[group_91467] +[group_91468] +[group_91469] +[group_91470] +[group_91471] +[group_91472] +[group_91473] +[group_91474] +[group_91475] +[group_91476] +[group_91477] +[group_91478] +[group_91479] +[group_91480] +[group_91481] +[group_91482] +[group_91483] +[group_91484] +[group_91485] +[group_91486] +[group_91487] +[group_91488] +[group_91489] +[group_91490] +[group_91491] +[group_91492] +[group_91493] +[group_91494] +[group_91495] +[group_91496] +[group_91497] +[group_91498] +[group_91499] +[group_91500] +[group_91501] +[group_91502] +[group_91503] +[group_91504] +[group_91505] +[group_91506] +[group_91507] +[group_91508] +[group_91509] +[group_91510] +[group_91511] +[group_91512] +[group_91513] +[group_91514] +[group_91515] +[group_91516] +[group_91517] +[group_91518] +[group_91519] +[group_91520] +[group_91521] +[group_91522] +[group_91523] +[group_91524] +[group_91525] +[group_91526] +[group_91527] +[group_91528] +[group_91529] +[group_91530] +[group_91531] +[group_91532] +[group_91533] +[group_91534] +[group_91535] +[group_91536] +[group_91537] +[group_91538] +[group_91539] +[group_91540] +[group_91541] +[group_91542] +[group_91543] +[group_91544] +[group_91545] +[group_91546] +[group_91547] +[group_91548] +[group_91549] +[group_91550] +[group_91551] +[group_91552] +[group_91553] +[group_91554] +[group_91555] +[group_91556] +[group_91557] +[group_91558] +[group_91559] +[group_91560] +[group_91561] +[group_91562] +[group_91563] +[group_91564] +[group_91565] +[group_91566] +[group_91567] +[group_91568] +[group_91569] +[group_91570] +[group_91571] +[group_91572] +[group_91573] +[group_91574] +[group_91575] +[group_91576] +[group_91577] +[group_91578] +[group_91579] +[group_91580] +[group_91581] +[group_91582] +[group_91583] +[group_91584] +[group_91585] +[group_91586] +[group_91587] +[group_91588] +[group_91589] +[group_91590] +[group_91591] +[group_91592] +[group_91593] +[group_91594] +[group_91595] +[group_91596] +[group_91597] +[group_91598] +[group_91599] +[group_91600] +[group_91601] +[group_91602] +[group_91603] +[group_91604] +[group_91605] +[group_91606] +[group_91607] +[group_91608] +[group_91609] +[group_91610] +[group_91611] +[group_91612] +[group_91613] +[group_91614] +[group_91615] +[group_91616] +[group_91617] +[group_91618] +[group_91619] +[group_91620] +[group_91621] +[group_91622] +[group_91623] +[group_91624] +[group_91625] +[group_91626] +[group_91627] +[group_91628] +[group_91629] +[group_91630] +[group_91631] +[group_91632] +[group_91633] +[group_91634] +[group_91635] +[group_91636] +[group_91637] +[group_91638] +[group_91639] +[group_91640] +[group_91641] +[group_91642] +[group_91643] +[group_91644] +[group_91645] +[group_91646] +[group_91647] +[group_91648] +[group_91649] +[group_91650] +[group_91651] +[group_91652] +[group_91653] +[group_91654] +[group_91655] +[group_91656] +[group_91657] +[group_91658] +[group_91659] +[group_91660] +[group_91661] +[group_91662] +[group_91663] +[group_91664] +[group_91665] +[group_91666] +[group_91667] +[group_91668] +[group_91669] +[group_91670] +[group_91671] +[group_91672] +[group_91673] +[group_91674] +[group_91675] +[group_91676] +[group_91677] +[group_91678] +[group_91679] +[group_91680] +[group_91681] +[group_91682] +[group_91683] +[group_91684] +[group_91685] +[group_91686] +[group_91687] +[group_91688] +[group_91689] +[group_91690] +[group_91691] +[group_91692] +[group_91693] +[group_91694] +[group_91695] +[group_91696] +[group_91697] +[group_91698] +[group_91699] +[group_91700] +[group_91701] +[group_91702] +[group_91703] +[group_91704] +[group_91705] +[group_91706] +[group_91707] +[group_91708] +[group_91709] +[group_91710] +[group_91711] +[group_91712] +[group_91713] +[group_91714] +[group_91715] +[group_91716] +[group_91717] +[group_91718] +[group_91719] +[group_91720] +[group_91721] +[group_91722] +[group_91723] +[group_91724] +[group_91725] +[group_91726] +[group_91727] +[group_91728] +[group_91729] +[group_91730] +[group_91731] +[group_91732] +[group_91733] +[group_91734] +[group_91735] +[group_91736] +[group_91737] +[group_91738] +[group_91739] +[group_91740] +[group_91741] +[group_91742] +[group_91743] +[group_91744] +[group_91745] +[group_91746] +[group_91747] +[group_91748] +[group_91749] +[group_91750] +[group_91751] +[group_91752] +[group_91753] +[group_91754] +[group_91755] +[group_91756] +[group_91757] +[group_91758] +[group_91759] +[group_91760] +[group_91761] +[group_91762] +[group_91763] +[group_91764] +[group_91765] +[group_91766] +[group_91767] +[group_91768] +[group_91769] +[group_91770] +[group_91771] +[group_91772] +[group_91773] +[group_91774] +[group_91775] +[group_91776] +[group_91777] +[group_91778] +[group_91779] +[group_91780] +[group_91781] +[group_91782] +[group_91783] +[group_91784] +[group_91785] +[group_91786] +[group_91787] +[group_91788] +[group_91789] +[group_91790] +[group_91791] +[group_91792] +[group_91793] +[group_91794] +[group_91795] +[group_91796] +[group_91797] +[group_91798] +[group_91799] +[group_91800] +[group_91801] +[group_91802] +[group_91803] +[group_91804] +[group_91805] +[group_91806] +[group_91807] +[group_91808] +[group_91809] +[group_91810] +[group_91811] +[group_91812] +[group_91813] +[group_91814] +[group_91815] +[group_91816] +[group_91817] +[group_91818] +[group_91819] +[group_91820] +[group_91821] +[group_91822] +[group_91823] +[group_91824] +[group_91825] +[group_91826] +[group_91827] +[group_91828] +[group_91829] +[group_91830] +[group_91831] +[group_91832] +[group_91833] +[group_91834] +[group_91835] +[group_91836] +[group_91837] +[group_91838] +[group_91839] +[group_91840] +[group_91841] +[group_91842] +[group_91843] +[group_91844] +[group_91845] +[group_91846] +[group_91847] +[group_91848] +[group_91849] +[group_91850] +[group_91851] +[group_91852] +[group_91853] +[group_91854] +[group_91855] +[group_91856] +[group_91857] +[group_91858] +[group_91859] +[group_91860] +[group_91861] +[group_91862] +[group_91863] +[group_91864] +[group_91865] +[group_91866] +[group_91867] +[group_91868] +[group_91869] +[group_91870] +[group_91871] +[group_91872] +[group_91873] +[group_91874] +[group_91875] +[group_91876] +[group_91877] +[group_91878] +[group_91879] +[group_91880] +[group_91881] +[group_91882] +[group_91883] +[group_91884] +[group_91885] +[group_91886] +[group_91887] +[group_91888] +[group_91889] +[group_91890] +[group_91891] +[group_91892] +[group_91893] +[group_91894] +[group_91895] +[group_91896] +[group_91897] +[group_91898] +[group_91899] +[group_91900] +[group_91901] +[group_91902] +[group_91903] +[group_91904] +[group_91905] +[group_91906] +[group_91907] +[group_91908] +[group_91909] +[group_91910] +[group_91911] +[group_91912] +[group_91913] +[group_91914] +[group_91915] +[group_91916] +[group_91917] +[group_91918] +[group_91919] +[group_91920] +[group_91921] +[group_91922] +[group_91923] +[group_91924] +[group_91925] +[group_91926] +[group_91927] +[group_91928] +[group_91929] +[group_91930] +[group_91931] +[group_91932] +[group_91933] +[group_91934] +[group_91935] +[group_91936] +[group_91937] +[group_91938] +[group_91939] +[group_91940] +[group_91941] +[group_91942] +[group_91943] +[group_91944] +[group_91945] +[group_91946] +[group_91947] +[group_91948] +[group_91949] +[group_91950] +[group_91951] +[group_91952] +[group_91953] +[group_91954] +[group_91955] +[group_91956] +[group_91957] +[group_91958] +[group_91959] +[group_91960] +[group_91961] +[group_91962] +[group_91963] +[group_91964] +[group_91965] +[group_91966] +[group_91967] +[group_91968] +[group_91969] +[group_91970] +[group_91971] +[group_91972] +[group_91973] +[group_91974] +[group_91975] +[group_91976] +[group_91977] +[group_91978] +[group_91979] +[group_91980] +[group_91981] +[group_91982] +[group_91983] +[group_91984] +[group_91985] +[group_91986] +[group_91987] +[group_91988] +[group_91989] +[group_91990] +[group_91991] +[group_91992] +[group_91993] +[group_91994] +[group_91995] +[group_91996] +[group_91997] +[group_91998] +[group_91999] +[group_92000] +[group_92001] +[group_92002] +[group_92003] +[group_92004] +[group_92005] +[group_92006] +[group_92007] +[group_92008] +[group_92009] +[group_92010] +[group_92011] +[group_92012] +[group_92013] +[group_92014] +[group_92015] +[group_92016] +[group_92017] +[group_92018] +[group_92019] +[group_92020] +[group_92021] +[group_92022] +[group_92023] +[group_92024] +[group_92025] +[group_92026] +[group_92027] +[group_92028] +[group_92029] +[group_92030] +[group_92031] +[group_92032] +[group_92033] +[group_92034] +[group_92035] +[group_92036] +[group_92037] +[group_92038] +[group_92039] +[group_92040] +[group_92041] +[group_92042] +[group_92043] +[group_92044] +[group_92045] +[group_92046] +[group_92047] +[group_92048] +[group_92049] +[group_92050] +[group_92051] +[group_92052] +[group_92053] +[group_92054] +[group_92055] +[group_92056] +[group_92057] +[group_92058] +[group_92059] +[group_92060] +[group_92061] +[group_92062] +[group_92063] +[group_92064] +[group_92065] +[group_92066] +[group_92067] +[group_92068] +[group_92069] +[group_92070] +[group_92071] +[group_92072] +[group_92073] +[group_92074] +[group_92075] +[group_92076] +[group_92077] +[group_92078] +[group_92079] +[group_92080] +[group_92081] +[group_92082] +[group_92083] +[group_92084] +[group_92085] +[group_92086] +[group_92087] +[group_92088] +[group_92089] +[group_92090] +[group_92091] +[group_92092] +[group_92093] +[group_92094] +[group_92095] +[group_92096] +[group_92097] +[group_92098] +[group_92099] +[group_92100] +[group_92101] +[group_92102] +[group_92103] +[group_92104] +[group_92105] +[group_92106] +[group_92107] +[group_92108] +[group_92109] +[group_92110] +[group_92111] +[group_92112] +[group_92113] +[group_92114] +[group_92115] +[group_92116] +[group_92117] +[group_92118] +[group_92119] +[group_92120] +[group_92121] +[group_92122] +[group_92123] +[group_92124] +[group_92125] +[group_92126] +[group_92127] +[group_92128] +[group_92129] +[group_92130] +[group_92131] +[group_92132] +[group_92133] +[group_92134] +[group_92135] +[group_92136] +[group_92137] +[group_92138] +[group_92139] +[group_92140] +[group_92141] +[group_92142] +[group_92143] +[group_92144] +[group_92145] +[group_92146] +[group_92147] +[group_92148] +[group_92149] +[group_92150] +[group_92151] +[group_92152] +[group_92153] +[group_92154] +[group_92155] +[group_92156] +[group_92157] +[group_92158] +[group_92159] +[group_92160] +[group_92161] +[group_92162] +[group_92163] +[group_92164] +[group_92165] +[group_92166] +[group_92167] +[group_92168] +[group_92169] +[group_92170] +[group_92171] +[group_92172] +[group_92173] +[group_92174] +[group_92175] +[group_92176] +[group_92177] +[group_92178] +[group_92179] +[group_92180] +[group_92181] +[group_92182] +[group_92183] +[group_92184] +[group_92185] +[group_92186] +[group_92187] +[group_92188] +[group_92189] +[group_92190] +[group_92191] +[group_92192] +[group_92193] +[group_92194] +[group_92195] +[group_92196] +[group_92197] +[group_92198] +[group_92199] +[group_92200] +[group_92201] +[group_92202] +[group_92203] +[group_92204] +[group_92205] +[group_92206] +[group_92207] +[group_92208] +[group_92209] +[group_92210] +[group_92211] +[group_92212] +[group_92213] +[group_92214] +[group_92215] +[group_92216] +[group_92217] +[group_92218] +[group_92219] +[group_92220] +[group_92221] +[group_92222] +[group_92223] +[group_92224] +[group_92225] +[group_92226] +[group_92227] +[group_92228] +[group_92229] +[group_92230] +[group_92231] +[group_92232] +[group_92233] +[group_92234] +[group_92235] +[group_92236] +[group_92237] +[group_92238] +[group_92239] +[group_92240] +[group_92241] +[group_92242] +[group_92243] +[group_92244] +[group_92245] +[group_92246] +[group_92247] +[group_92248] +[group_92249] +[group_92250] +[group_92251] +[group_92252] +[group_92253] +[group_92254] +[group_92255] +[group_92256] +[group_92257] +[group_92258] +[group_92259] +[group_92260] +[group_92261] +[group_92262] +[group_92263] +[group_92264] +[group_92265] +[group_92266] +[group_92267] +[group_92268] +[group_92269] +[group_92270] +[group_92271] +[group_92272] +[group_92273] +[group_92274] +[group_92275] +[group_92276] +[group_92277] +[group_92278] +[group_92279] +[group_92280] +[group_92281] +[group_92282] +[group_92283] +[group_92284] +[group_92285] +[group_92286] +[group_92287] +[group_92288] +[group_92289] +[group_92290] +[group_92291] +[group_92292] +[group_92293] +[group_92294] +[group_92295] +[group_92296] +[group_92297] +[group_92298] +[group_92299] +[group_92300] +[group_92301] +[group_92302] +[group_92303] +[group_92304] +[group_92305] +[group_92306] +[group_92307] +[group_92308] +[group_92309] +[group_92310] +[group_92311] +[group_92312] +[group_92313] +[group_92314] +[group_92315] +[group_92316] +[group_92317] +[group_92318] +[group_92319] +[group_92320] +[group_92321] +[group_92322] +[group_92323] +[group_92324] +[group_92325] +[group_92326] +[group_92327] +[group_92328] +[group_92329] +[group_92330] +[group_92331] +[group_92332] +[group_92333] +[group_92334] +[group_92335] +[group_92336] +[group_92337] +[group_92338] +[group_92339] +[group_92340] +[group_92341] +[group_92342] +[group_92343] +[group_92344] +[group_92345] +[group_92346] +[group_92347] +[group_92348] +[group_92349] +[group_92350] +[group_92351] +[group_92352] +[group_92353] +[group_92354] +[group_92355] +[group_92356] +[group_92357] +[group_92358] +[group_92359] +[group_92360] +[group_92361] +[group_92362] +[group_92363] +[group_92364] +[group_92365] +[group_92366] +[group_92367] +[group_92368] +[group_92369] +[group_92370] +[group_92371] +[group_92372] +[group_92373] +[group_92374] +[group_92375] +[group_92376] +[group_92377] +[group_92378] +[group_92379] +[group_92380] +[group_92381] +[group_92382] +[group_92383] +[group_92384] +[group_92385] +[group_92386] +[group_92387] +[group_92388] +[group_92389] +[group_92390] +[group_92391] +[group_92392] +[group_92393] +[group_92394] +[group_92395] +[group_92396] +[group_92397] +[group_92398] +[group_92399] +[group_92400] +[group_92401] +[group_92402] +[group_92403] +[group_92404] +[group_92405] +[group_92406] +[group_92407] +[group_92408] +[group_92409] +[group_92410] +[group_92411] +[group_92412] +[group_92413] +[group_92414] +[group_92415] +[group_92416] +[group_92417] +[group_92418] +[group_92419] +[group_92420] +[group_92421] +[group_92422] +[group_92423] +[group_92424] +[group_92425] +[group_92426] +[group_92427] +[group_92428] +[group_92429] +[group_92430] +[group_92431] +[group_92432] +[group_92433] +[group_92434] +[group_92435] +[group_92436] +[group_92437] +[group_92438] +[group_92439] +[group_92440] +[group_92441] +[group_92442] +[group_92443] +[group_92444] +[group_92445] +[group_92446] +[group_92447] +[group_92448] +[group_92449] +[group_92450] +[group_92451] +[group_92452] +[group_92453] +[group_92454] +[group_92455] +[group_92456] +[group_92457] +[group_92458] +[group_92459] +[group_92460] +[group_92461] +[group_92462] +[group_92463] +[group_92464] +[group_92465] +[group_92466] +[group_92467] +[group_92468] +[group_92469] +[group_92470] +[group_92471] +[group_92472] +[group_92473] +[group_92474] +[group_92475] +[group_92476] +[group_92477] +[group_92478] +[group_92479] +[group_92480] +[group_92481] +[group_92482] +[group_92483] +[group_92484] +[group_92485] +[group_92486] +[group_92487] +[group_92488] +[group_92489] +[group_92490] +[group_92491] +[group_92492] +[group_92493] +[group_92494] +[group_92495] +[group_92496] +[group_92497] +[group_92498] +[group_92499] +[group_92500] +[group_92501] +[group_92502] +[group_92503] +[group_92504] +[group_92505] +[group_92506] +[group_92507] +[group_92508] +[group_92509] +[group_92510] +[group_92511] +[group_92512] +[group_92513] +[group_92514] +[group_92515] +[group_92516] +[group_92517] +[group_92518] +[group_92519] +[group_92520] +[group_92521] +[group_92522] +[group_92523] +[group_92524] +[group_92525] +[group_92526] +[group_92527] +[group_92528] +[group_92529] +[group_92530] +[group_92531] +[group_92532] +[group_92533] +[group_92534] +[group_92535] +[group_92536] +[group_92537] +[group_92538] +[group_92539] +[group_92540] +[group_92541] +[group_92542] +[group_92543] +[group_92544] +[group_92545] +[group_92546] +[group_92547] +[group_92548] +[group_92549] +[group_92550] +[group_92551] +[group_92552] +[group_92553] +[group_92554] +[group_92555] +[group_92556] +[group_92557] +[group_92558] +[group_92559] +[group_92560] +[group_92561] +[group_92562] +[group_92563] +[group_92564] +[group_92565] +[group_92566] +[group_92567] +[group_92568] +[group_92569] +[group_92570] +[group_92571] +[group_92572] +[group_92573] +[group_92574] +[group_92575] +[group_92576] +[group_92577] +[group_92578] +[group_92579] +[group_92580] +[group_92581] +[group_92582] +[group_92583] +[group_92584] +[group_92585] +[group_92586] +[group_92587] +[group_92588] +[group_92589] +[group_92590] +[group_92591] +[group_92592] +[group_92593] +[group_92594] +[group_92595] +[group_92596] +[group_92597] +[group_92598] +[group_92599] +[group_92600] +[group_92601] +[group_92602] +[group_92603] +[group_92604] +[group_92605] +[group_92606] +[group_92607] +[group_92608] +[group_92609] +[group_92610] +[group_92611] +[group_92612] +[group_92613] +[group_92614] +[group_92615] +[group_92616] +[group_92617] +[group_92618] +[group_92619] +[group_92620] +[group_92621] +[group_92622] +[group_92623] +[group_92624] +[group_92625] +[group_92626] +[group_92627] +[group_92628] +[group_92629] +[group_92630] +[group_92631] +[group_92632] +[group_92633] +[group_92634] +[group_92635] +[group_92636] +[group_92637] +[group_92638] +[group_92639] +[group_92640] +[group_92641] +[group_92642] +[group_92643] +[group_92644] +[group_92645] +[group_92646] +[group_92647] +[group_92648] +[group_92649] +[group_92650] +[group_92651] +[group_92652] +[group_92653] +[group_92654] +[group_92655] +[group_92656] +[group_92657] +[group_92658] +[group_92659] +[group_92660] +[group_92661] +[group_92662] +[group_92663] +[group_92664] +[group_92665] +[group_92666] +[group_92667] +[group_92668] +[group_92669] +[group_92670] +[group_92671] +[group_92672] +[group_92673] +[group_92674] +[group_92675] +[group_92676] +[group_92677] +[group_92678] +[group_92679] +[group_92680] +[group_92681] +[group_92682] +[group_92683] +[group_92684] +[group_92685] +[group_92686] +[group_92687] +[group_92688] +[group_92689] +[group_92690] +[group_92691] +[group_92692] +[group_92693] +[group_92694] +[group_92695] +[group_92696] +[group_92697] +[group_92698] +[group_92699] +[group_92700] +[group_92701] +[group_92702] +[group_92703] +[group_92704] +[group_92705] +[group_92706] +[group_92707] +[group_92708] +[group_92709] +[group_92710] +[group_92711] +[group_92712] +[group_92713] +[group_92714] +[group_92715] +[group_92716] +[group_92717] +[group_92718] +[group_92719] +[group_92720] +[group_92721] +[group_92722] +[group_92723] +[group_92724] +[group_92725] +[group_92726] +[group_92727] +[group_92728] +[group_92729] +[group_92730] +[group_92731] +[group_92732] +[group_92733] +[group_92734] +[group_92735] +[group_92736] +[group_92737] +[group_92738] +[group_92739] +[group_92740] +[group_92741] +[group_92742] +[group_92743] +[group_92744] +[group_92745] +[group_92746] +[group_92747] +[group_92748] +[group_92749] +[group_92750] +[group_92751] +[group_92752] +[group_92753] +[group_92754] +[group_92755] +[group_92756] +[group_92757] +[group_92758] +[group_92759] +[group_92760] +[group_92761] +[group_92762] +[group_92763] +[group_92764] +[group_92765] +[group_92766] +[group_92767] +[group_92768] +[group_92769] +[group_92770] +[group_92771] +[group_92772] +[group_92773] +[group_92774] +[group_92775] +[group_92776] +[group_92777] +[group_92778] +[group_92779] +[group_92780] +[group_92781] +[group_92782] +[group_92783] +[group_92784] +[group_92785] +[group_92786] +[group_92787] +[group_92788] +[group_92789] +[group_92790] +[group_92791] +[group_92792] +[group_92793] +[group_92794] +[group_92795] +[group_92796] +[group_92797] +[group_92798] +[group_92799] +[group_92800] +[group_92801] +[group_92802] +[group_92803] +[group_92804] +[group_92805] +[group_92806] +[group_92807] +[group_92808] +[group_92809] +[group_92810] +[group_92811] +[group_92812] +[group_92813] +[group_92814] +[group_92815] +[group_92816] +[group_92817] +[group_92818] +[group_92819] +[group_92820] +[group_92821] +[group_92822] +[group_92823] +[group_92824] +[group_92825] +[group_92826] +[group_92827] +[group_92828] +[group_92829] +[group_92830] +[group_92831] +[group_92832] +[group_92833] +[group_92834] +[group_92835] +[group_92836] +[group_92837] +[group_92838] +[group_92839] +[group_92840] +[group_92841] +[group_92842] +[group_92843] +[group_92844] +[group_92845] +[group_92846] +[group_92847] +[group_92848] +[group_92849] +[group_92850] +[group_92851] +[group_92852] +[group_92853] +[group_92854] +[group_92855] +[group_92856] +[group_92857] +[group_92858] +[group_92859] +[group_92860] +[group_92861] +[group_92862] +[group_92863] +[group_92864] +[group_92865] +[group_92866] +[group_92867] +[group_92868] +[group_92869] +[group_92870] +[group_92871] +[group_92872] +[group_92873] +[group_92874] +[group_92875] +[group_92876] +[group_92877] +[group_92878] +[group_92879] +[group_92880] +[group_92881] +[group_92882] +[group_92883] +[group_92884] +[group_92885] +[group_92886] +[group_92887] +[group_92888] +[group_92889] +[group_92890] +[group_92891] +[group_92892] +[group_92893] +[group_92894] +[group_92895] +[group_92896] +[group_92897] +[group_92898] +[group_92899] +[group_92900] +[group_92901] +[group_92902] +[group_92903] +[group_92904] +[group_92905] +[group_92906] +[group_92907] +[group_92908] +[group_92909] +[group_92910] +[group_92911] +[group_92912] +[group_92913] +[group_92914] +[group_92915] +[group_92916] +[group_92917] +[group_92918] +[group_92919] +[group_92920] +[group_92921] +[group_92922] +[group_92923] +[group_92924] +[group_92925] +[group_92926] +[group_92927] +[group_92928] +[group_92929] +[group_92930] +[group_92931] +[group_92932] +[group_92933] +[group_92934] +[group_92935] +[group_92936] +[group_92937] +[group_92938] +[group_92939] +[group_92940] +[group_92941] +[group_92942] +[group_92943] +[group_92944] +[group_92945] +[group_92946] +[group_92947] +[group_92948] +[group_92949] +[group_92950] +[group_92951] +[group_92952] +[group_92953] +[group_92954] +[group_92955] +[group_92956] +[group_92957] +[group_92958] +[group_92959] +[group_92960] +[group_92961] +[group_92962] +[group_92963] +[group_92964] +[group_92965] +[group_92966] +[group_92967] +[group_92968] +[group_92969] +[group_92970] +[group_92971] +[group_92972] +[group_92973] +[group_92974] +[group_92975] +[group_92976] +[group_92977] +[group_92978] +[group_92979] +[group_92980] +[group_92981] +[group_92982] +[group_92983] +[group_92984] +[group_92985] +[group_92986] +[group_92987] +[group_92988] +[group_92989] +[group_92990] +[group_92991] +[group_92992] +[group_92993] +[group_92994] +[group_92995] +[group_92996] +[group_92997] +[group_92998] +[group_92999] +[group_93000] +[group_93001] +[group_93002] +[group_93003] +[group_93004] +[group_93005] +[group_93006] +[group_93007] +[group_93008] +[group_93009] +[group_93010] +[group_93011] +[group_93012] +[group_93013] +[group_93014] +[group_93015] +[group_93016] +[group_93017] +[group_93018] +[group_93019] +[group_93020] +[group_93021] +[group_93022] +[group_93023] +[group_93024] +[group_93025] +[group_93026] +[group_93027] +[group_93028] +[group_93029] +[group_93030] +[group_93031] +[group_93032] +[group_93033] +[group_93034] +[group_93035] +[group_93036] +[group_93037] +[group_93038] +[group_93039] +[group_93040] +[group_93041] +[group_93042] +[group_93043] +[group_93044] +[group_93045] +[group_93046] +[group_93047] +[group_93048] +[group_93049] +[group_93050] +[group_93051] +[group_93052] +[group_93053] +[group_93054] +[group_93055] +[group_93056] +[group_93057] +[group_93058] +[group_93059] +[group_93060] +[group_93061] +[group_93062] +[group_93063] +[group_93064] +[group_93065] +[group_93066] +[group_93067] +[group_93068] +[group_93069] +[group_93070] +[group_93071] +[group_93072] +[group_93073] +[group_93074] +[group_93075] +[group_93076] +[group_93077] +[group_93078] +[group_93079] +[group_93080] +[group_93081] +[group_93082] +[group_93083] +[group_93084] +[group_93085] +[group_93086] +[group_93087] +[group_93088] +[group_93089] +[group_93090] +[group_93091] +[group_93092] +[group_93093] +[group_93094] +[group_93095] +[group_93096] +[group_93097] +[group_93098] +[group_93099] +[group_93100] +[group_93101] +[group_93102] +[group_93103] +[group_93104] +[group_93105] +[group_93106] +[group_93107] +[group_93108] +[group_93109] +[group_93110] +[group_93111] +[group_93112] +[group_93113] +[group_93114] +[group_93115] +[group_93116] +[group_93117] +[group_93118] +[group_93119] +[group_93120] +[group_93121] +[group_93122] +[group_93123] +[group_93124] +[group_93125] +[group_93126] +[group_93127] +[group_93128] +[group_93129] +[group_93130] +[group_93131] +[group_93132] +[group_93133] +[group_93134] +[group_93135] +[group_93136] +[group_93137] +[group_93138] +[group_93139] +[group_93140] +[group_93141] +[group_93142] +[group_93143] +[group_93144] +[group_93145] +[group_93146] +[group_93147] +[group_93148] +[group_93149] +[group_93150] +[group_93151] +[group_93152] +[group_93153] +[group_93154] +[group_93155] +[group_93156] +[group_93157] +[group_93158] +[group_93159] +[group_93160] +[group_93161] +[group_93162] +[group_93163] +[group_93164] +[group_93165] +[group_93166] +[group_93167] +[group_93168] +[group_93169] +[group_93170] +[group_93171] +[group_93172] +[group_93173] +[group_93174] +[group_93175] +[group_93176] +[group_93177] +[group_93178] +[group_93179] +[group_93180] +[group_93181] +[group_93182] +[group_93183] +[group_93184] +[group_93185] +[group_93186] +[group_93187] +[group_93188] +[group_93189] +[group_93190] +[group_93191] +[group_93192] +[group_93193] +[group_93194] +[group_93195] +[group_93196] +[group_93197] +[group_93198] +[group_93199] +[group_93200] +[group_93201] +[group_93202] +[group_93203] +[group_93204] +[group_93205] +[group_93206] +[group_93207] +[group_93208] +[group_93209] +[group_93210] +[group_93211] +[group_93212] +[group_93213] +[group_93214] +[group_93215] +[group_93216] +[group_93217] +[group_93218] +[group_93219] +[group_93220] +[group_93221] +[group_93222] +[group_93223] +[group_93224] +[group_93225] +[group_93226] +[group_93227] +[group_93228] +[group_93229] +[group_93230] +[group_93231] +[group_93232] +[group_93233] +[group_93234] +[group_93235] +[group_93236] +[group_93237] +[group_93238] +[group_93239] +[group_93240] +[group_93241] +[group_93242] +[group_93243] +[group_93244] +[group_93245] +[group_93246] +[group_93247] +[group_93248] +[group_93249] +[group_93250] +[group_93251] +[group_93252] +[group_93253] +[group_93254] +[group_93255] +[group_93256] +[group_93257] +[group_93258] +[group_93259] +[group_93260] +[group_93261] +[group_93262] +[group_93263] +[group_93264] +[group_93265] +[group_93266] +[group_93267] +[group_93268] +[group_93269] +[group_93270] +[group_93271] +[group_93272] +[group_93273] +[group_93274] +[group_93275] +[group_93276] +[group_93277] +[group_93278] +[group_93279] +[group_93280] +[group_93281] +[group_93282] +[group_93283] +[group_93284] +[group_93285] +[group_93286] +[group_93287] +[group_93288] +[group_93289] +[group_93290] +[group_93291] +[group_93292] +[group_93293] +[group_93294] +[group_93295] +[group_93296] +[group_93297] +[group_93298] +[group_93299] +[group_93300] +[group_93301] +[group_93302] +[group_93303] +[group_93304] +[group_93305] +[group_93306] +[group_93307] +[group_93308] +[group_93309] +[group_93310] +[group_93311] +[group_93312] +[group_93313] +[group_93314] +[group_93315] +[group_93316] +[group_93317] +[group_93318] +[group_93319] +[group_93320] +[group_93321] +[group_93322] +[group_93323] +[group_93324] +[group_93325] +[group_93326] +[group_93327] +[group_93328] +[group_93329] +[group_93330] +[group_93331] +[group_93332] +[group_93333] +[group_93334] +[group_93335] +[group_93336] +[group_93337] +[group_93338] +[group_93339] +[group_93340] +[group_93341] +[group_93342] +[group_93343] +[group_93344] +[group_93345] +[group_93346] +[group_93347] +[group_93348] +[group_93349] +[group_93350] +[group_93351] +[group_93352] +[group_93353] +[group_93354] +[group_93355] +[group_93356] +[group_93357] +[group_93358] +[group_93359] +[group_93360] +[group_93361] +[group_93362] +[group_93363] +[group_93364] +[group_93365] +[group_93366] +[group_93367] +[group_93368] +[group_93369] +[group_93370] +[group_93371] +[group_93372] +[group_93373] +[group_93374] +[group_93375] +[group_93376] +[group_93377] +[group_93378] +[group_93379] +[group_93380] +[group_93381] +[group_93382] +[group_93383] +[group_93384] +[group_93385] +[group_93386] +[group_93387] +[group_93388] +[group_93389] +[group_93390] +[group_93391] +[group_93392] +[group_93393] +[group_93394] +[group_93395] +[group_93396] +[group_93397] +[group_93398] +[group_93399] +[group_93400] +[group_93401] +[group_93402] +[group_93403] +[group_93404] +[group_93405] +[group_93406] +[group_93407] +[group_93408] +[group_93409] +[group_93410] +[group_93411] +[group_93412] +[group_93413] +[group_93414] +[group_93415] +[group_93416] +[group_93417] +[group_93418] +[group_93419] +[group_93420] +[group_93421] +[group_93422] +[group_93423] +[group_93424] +[group_93425] +[group_93426] +[group_93427] +[group_93428] +[group_93429] +[group_93430] +[group_93431] +[group_93432] +[group_93433] +[group_93434] +[group_93435] +[group_93436] +[group_93437] +[group_93438] +[group_93439] +[group_93440] +[group_93441] +[group_93442] +[group_93443] +[group_93444] +[group_93445] +[group_93446] +[group_93447] +[group_93448] +[group_93449] +[group_93450] +[group_93451] +[group_93452] +[group_93453] +[group_93454] +[group_93455] +[group_93456] +[group_93457] +[group_93458] +[group_93459] +[group_93460] +[group_93461] +[group_93462] +[group_93463] +[group_93464] +[group_93465] +[group_93466] +[group_93467] +[group_93468] +[group_93469] +[group_93470] +[group_93471] +[group_93472] +[group_93473] +[group_93474] +[group_93475] +[group_93476] +[group_93477] +[group_93478] +[group_93479] +[group_93480] +[group_93481] +[group_93482] +[group_93483] +[group_93484] +[group_93485] +[group_93486] +[group_93487] +[group_93488] +[group_93489] +[group_93490] +[group_93491] +[group_93492] +[group_93493] +[group_93494] +[group_93495] +[group_93496] +[group_93497] +[group_93498] +[group_93499] +[group_93500] +[group_93501] +[group_93502] +[group_93503] +[group_93504] +[group_93505] +[group_93506] +[group_93507] +[group_93508] +[group_93509] +[group_93510] +[group_93511] +[group_93512] +[group_93513] +[group_93514] +[group_93515] +[group_93516] +[group_93517] +[group_93518] +[group_93519] +[group_93520] +[group_93521] +[group_93522] +[group_93523] +[group_93524] +[group_93525] +[group_93526] +[group_93527] +[group_93528] +[group_93529] +[group_93530] +[group_93531] +[group_93532] +[group_93533] +[group_93534] +[group_93535] +[group_93536] +[group_93537] +[group_93538] +[group_93539] +[group_93540] +[group_93541] +[group_93542] +[group_93543] +[group_93544] +[group_93545] +[group_93546] +[group_93547] +[group_93548] +[group_93549] +[group_93550] +[group_93551] +[group_93552] +[group_93553] +[group_93554] +[group_93555] +[group_93556] +[group_93557] +[group_93558] +[group_93559] +[group_93560] +[group_93561] +[group_93562] +[group_93563] +[group_93564] +[group_93565] +[group_93566] +[group_93567] +[group_93568] +[group_93569] +[group_93570] +[group_93571] +[group_93572] +[group_93573] +[group_93574] +[group_93575] +[group_93576] +[group_93577] +[group_93578] +[group_93579] +[group_93580] +[group_93581] +[group_93582] +[group_93583] +[group_93584] +[group_93585] +[group_93586] +[group_93587] +[group_93588] +[group_93589] +[group_93590] +[group_93591] +[group_93592] +[group_93593] +[group_93594] +[group_93595] +[group_93596] +[group_93597] +[group_93598] +[group_93599] +[group_93600] +[group_93601] +[group_93602] +[group_93603] +[group_93604] +[group_93605] +[group_93606] +[group_93607] +[group_93608] +[group_93609] +[group_93610] +[group_93611] +[group_93612] +[group_93613] +[group_93614] +[group_93615] +[group_93616] +[group_93617] +[group_93618] +[group_93619] +[group_93620] +[group_93621] +[group_93622] +[group_93623] +[group_93624] +[group_93625] +[group_93626] +[group_93627] +[group_93628] +[group_93629] +[group_93630] +[group_93631] +[group_93632] +[group_93633] +[group_93634] +[group_93635] +[group_93636] +[group_93637] +[group_93638] +[group_93639] +[group_93640] +[group_93641] +[group_93642] +[group_93643] +[group_93644] +[group_93645] +[group_93646] +[group_93647] +[group_93648] +[group_93649] +[group_93650] +[group_93651] +[group_93652] +[group_93653] +[group_93654] +[group_93655] +[group_93656] +[group_93657] +[group_93658] +[group_93659] +[group_93660] +[group_93661] +[group_93662] +[group_93663] +[group_93664] +[group_93665] +[group_93666] +[group_93667] +[group_93668] +[group_93669] +[group_93670] +[group_93671] +[group_93672] +[group_93673] +[group_93674] +[group_93675] +[group_93676] +[group_93677] +[group_93678] +[group_93679] +[group_93680] +[group_93681] +[group_93682] +[group_93683] +[group_93684] +[group_93685] +[group_93686] +[group_93687] +[group_93688] +[group_93689] +[group_93690] +[group_93691] +[group_93692] +[group_93693] +[group_93694] +[group_93695] +[group_93696] +[group_93697] +[group_93698] +[group_93699] +[group_93700] +[group_93701] +[group_93702] +[group_93703] +[group_93704] +[group_93705] +[group_93706] +[group_93707] +[group_93708] +[group_93709] +[group_93710] +[group_93711] +[group_93712] +[group_93713] +[group_93714] +[group_93715] +[group_93716] +[group_93717] +[group_93718] +[group_93719] +[group_93720] +[group_93721] +[group_93722] +[group_93723] +[group_93724] +[group_93725] +[group_93726] +[group_93727] +[group_93728] +[group_93729] +[group_93730] +[group_93731] +[group_93732] +[group_93733] +[group_93734] +[group_93735] +[group_93736] +[group_93737] +[group_93738] +[group_93739] +[group_93740] +[group_93741] +[group_93742] +[group_93743] +[group_93744] +[group_93745] +[group_93746] +[group_93747] +[group_93748] +[group_93749] +[group_93750] +[group_93751] +[group_93752] +[group_93753] +[group_93754] +[group_93755] +[group_93756] +[group_93757] +[group_93758] +[group_93759] +[group_93760] +[group_93761] +[group_93762] +[group_93763] +[group_93764] +[group_93765] +[group_93766] +[group_93767] +[group_93768] +[group_93769] +[group_93770] +[group_93771] +[group_93772] +[group_93773] +[group_93774] +[group_93775] +[group_93776] +[group_93777] +[group_93778] +[group_93779] +[group_93780] +[group_93781] +[group_93782] +[group_93783] +[group_93784] +[group_93785] +[group_93786] +[group_93787] +[group_93788] +[group_93789] +[group_93790] +[group_93791] +[group_93792] +[group_93793] +[group_93794] +[group_93795] +[group_93796] +[group_93797] +[group_93798] +[group_93799] +[group_93800] +[group_93801] +[group_93802] +[group_93803] +[group_93804] +[group_93805] +[group_93806] +[group_93807] +[group_93808] +[group_93809] +[group_93810] +[group_93811] +[group_93812] +[group_93813] +[group_93814] +[group_93815] +[group_93816] +[group_93817] +[group_93818] +[group_93819] +[group_93820] +[group_93821] +[group_93822] +[group_93823] +[group_93824] +[group_93825] +[group_93826] +[group_93827] +[group_93828] +[group_93829] +[group_93830] +[group_93831] +[group_93832] +[group_93833] +[group_93834] +[group_93835] +[group_93836] +[group_93837] +[group_93838] +[group_93839] +[group_93840] +[group_93841] +[group_93842] +[group_93843] +[group_93844] +[group_93845] +[group_93846] +[group_93847] +[group_93848] +[group_93849] +[group_93850] +[group_93851] +[group_93852] +[group_93853] +[group_93854] +[group_93855] +[group_93856] +[group_93857] +[group_93858] +[group_93859] +[group_93860] +[group_93861] +[group_93862] +[group_93863] +[group_93864] +[group_93865] +[group_93866] +[group_93867] +[group_93868] +[group_93869] +[group_93870] +[group_93871] +[group_93872] +[group_93873] +[group_93874] +[group_93875] +[group_93876] +[group_93877] +[group_93878] +[group_93879] +[group_93880] +[group_93881] +[group_93882] +[group_93883] +[group_93884] +[group_93885] +[group_93886] +[group_93887] +[group_93888] +[group_93889] +[group_93890] +[group_93891] +[group_93892] +[group_93893] +[group_93894] +[group_93895] +[group_93896] +[group_93897] +[group_93898] +[group_93899] +[group_93900] +[group_93901] +[group_93902] +[group_93903] +[group_93904] +[group_93905] +[group_93906] +[group_93907] +[group_93908] +[group_93909] +[group_93910] +[group_93911] +[group_93912] +[group_93913] +[group_93914] +[group_93915] +[group_93916] +[group_93917] +[group_93918] +[group_93919] +[group_93920] +[group_93921] +[group_93922] +[group_93923] +[group_93924] +[group_93925] +[group_93926] +[group_93927] +[group_93928] +[group_93929] +[group_93930] +[group_93931] +[group_93932] +[group_93933] +[group_93934] +[group_93935] +[group_93936] +[group_93937] +[group_93938] +[group_93939] +[group_93940] +[group_93941] +[group_93942] +[group_93943] +[group_93944] +[group_93945] +[group_93946] +[group_93947] +[group_93948] +[group_93949] +[group_93950] +[group_93951] +[group_93952] +[group_93953] +[group_93954] +[group_93955] +[group_93956] +[group_93957] +[group_93958] +[group_93959] +[group_93960] +[group_93961] +[group_93962] +[group_93963] +[group_93964] +[group_93965] +[group_93966] +[group_93967] +[group_93968] +[group_93969] +[group_93970] +[group_93971] +[group_93972] +[group_93973] +[group_93974] +[group_93975] +[group_93976] +[group_93977] +[group_93978] +[group_93979] +[group_93980] +[group_93981] +[group_93982] +[group_93983] +[group_93984] +[group_93985] +[group_93986] +[group_93987] +[group_93988] +[group_93989] +[group_93990] +[group_93991] +[group_93992] +[group_93993] +[group_93994] +[group_93995] +[group_93996] +[group_93997] +[group_93998] +[group_93999] +[group_94000] +[group_94001] +[group_94002] +[group_94003] +[group_94004] +[group_94005] +[group_94006] +[group_94007] +[group_94008] +[group_94009] +[group_94010] +[group_94011] +[group_94012] +[group_94013] +[group_94014] +[group_94015] +[group_94016] +[group_94017] +[group_94018] +[group_94019] +[group_94020] +[group_94021] +[group_94022] +[group_94023] +[group_94024] +[group_94025] +[group_94026] +[group_94027] +[group_94028] +[group_94029] +[group_94030] +[group_94031] +[group_94032] +[group_94033] +[group_94034] +[group_94035] +[group_94036] +[group_94037] +[group_94038] +[group_94039] +[group_94040] +[group_94041] +[group_94042] +[group_94043] +[group_94044] +[group_94045] +[group_94046] +[group_94047] +[group_94048] +[group_94049] +[group_94050] +[group_94051] +[group_94052] +[group_94053] +[group_94054] +[group_94055] +[group_94056] +[group_94057] +[group_94058] +[group_94059] +[group_94060] +[group_94061] +[group_94062] +[group_94063] +[group_94064] +[group_94065] +[group_94066] +[group_94067] +[group_94068] +[group_94069] +[group_94070] +[group_94071] +[group_94072] +[group_94073] +[group_94074] +[group_94075] +[group_94076] +[group_94077] +[group_94078] +[group_94079] +[group_94080] +[group_94081] +[group_94082] +[group_94083] +[group_94084] +[group_94085] +[group_94086] +[group_94087] +[group_94088] +[group_94089] +[group_94090] +[group_94091] +[group_94092] +[group_94093] +[group_94094] +[group_94095] +[group_94096] +[group_94097] +[group_94098] +[group_94099] +[group_94100] +[group_94101] +[group_94102] +[group_94103] +[group_94104] +[group_94105] +[group_94106] +[group_94107] +[group_94108] +[group_94109] +[group_94110] +[group_94111] +[group_94112] +[group_94113] +[group_94114] +[group_94115] +[group_94116] +[group_94117] +[group_94118] +[group_94119] +[group_94120] +[group_94121] +[group_94122] +[group_94123] +[group_94124] +[group_94125] +[group_94126] +[group_94127] +[group_94128] +[group_94129] +[group_94130] +[group_94131] +[group_94132] +[group_94133] +[group_94134] +[group_94135] +[group_94136] +[group_94137] +[group_94138] +[group_94139] +[group_94140] +[group_94141] +[group_94142] +[group_94143] +[group_94144] +[group_94145] +[group_94146] +[group_94147] +[group_94148] +[group_94149] +[group_94150] +[group_94151] +[group_94152] +[group_94153] +[group_94154] +[group_94155] +[group_94156] +[group_94157] +[group_94158] +[group_94159] +[group_94160] +[group_94161] +[group_94162] +[group_94163] +[group_94164] +[group_94165] +[group_94166] +[group_94167] +[group_94168] +[group_94169] +[group_94170] +[group_94171] +[group_94172] +[group_94173] +[group_94174] +[group_94175] +[group_94176] +[group_94177] +[group_94178] +[group_94179] +[group_94180] +[group_94181] +[group_94182] +[group_94183] +[group_94184] +[group_94185] +[group_94186] +[group_94187] +[group_94188] +[group_94189] +[group_94190] +[group_94191] +[group_94192] +[group_94193] +[group_94194] +[group_94195] +[group_94196] +[group_94197] +[group_94198] +[group_94199] +[group_94200] +[group_94201] +[group_94202] +[group_94203] +[group_94204] +[group_94205] +[group_94206] +[group_94207] +[group_94208] +[group_94209] +[group_94210] +[group_94211] +[group_94212] +[group_94213] +[group_94214] +[group_94215] +[group_94216] +[group_94217] +[group_94218] +[group_94219] +[group_94220] +[group_94221] +[group_94222] +[group_94223] +[group_94224] +[group_94225] +[group_94226] +[group_94227] +[group_94228] +[group_94229] +[group_94230] +[group_94231] +[group_94232] +[group_94233] +[group_94234] +[group_94235] +[group_94236] +[group_94237] +[group_94238] +[group_94239] +[group_94240] +[group_94241] +[group_94242] +[group_94243] +[group_94244] +[group_94245] +[group_94246] +[group_94247] +[group_94248] +[group_94249] +[group_94250] +[group_94251] +[group_94252] +[group_94253] +[group_94254] +[group_94255] +[group_94256] +[group_94257] +[group_94258] +[group_94259] +[group_94260] +[group_94261] +[group_94262] +[group_94263] +[group_94264] +[group_94265] +[group_94266] +[group_94267] +[group_94268] +[group_94269] +[group_94270] +[group_94271] +[group_94272] +[group_94273] +[group_94274] +[group_94275] +[group_94276] +[group_94277] +[group_94278] +[group_94279] +[group_94280] +[group_94281] +[group_94282] +[group_94283] +[group_94284] +[group_94285] +[group_94286] +[group_94287] +[group_94288] +[group_94289] +[group_94290] +[group_94291] +[group_94292] +[group_94293] +[group_94294] +[group_94295] +[group_94296] +[group_94297] +[group_94298] +[group_94299] +[group_94300] +[group_94301] +[group_94302] +[group_94303] +[group_94304] +[group_94305] +[group_94306] +[group_94307] +[group_94308] +[group_94309] +[group_94310] +[group_94311] +[group_94312] +[group_94313] +[group_94314] +[group_94315] +[group_94316] +[group_94317] +[group_94318] +[group_94319] +[group_94320] +[group_94321] +[group_94322] +[group_94323] +[group_94324] +[group_94325] +[group_94326] +[group_94327] +[group_94328] +[group_94329] +[group_94330] +[group_94331] +[group_94332] +[group_94333] +[group_94334] +[group_94335] +[group_94336] +[group_94337] +[group_94338] +[group_94339] +[group_94340] +[group_94341] +[group_94342] +[group_94343] +[group_94344] +[group_94345] +[group_94346] +[group_94347] +[group_94348] +[group_94349] +[group_94350] +[group_94351] +[group_94352] +[group_94353] +[group_94354] +[group_94355] +[group_94356] +[group_94357] +[group_94358] +[group_94359] +[group_94360] +[group_94361] +[group_94362] +[group_94363] +[group_94364] +[group_94365] +[group_94366] +[group_94367] +[group_94368] +[group_94369] +[group_94370] +[group_94371] +[group_94372] +[group_94373] +[group_94374] +[group_94375] +[group_94376] +[group_94377] +[group_94378] +[group_94379] +[group_94380] +[group_94381] +[group_94382] +[group_94383] +[group_94384] +[group_94385] +[group_94386] +[group_94387] +[group_94388] +[group_94389] +[group_94390] +[group_94391] +[group_94392] +[group_94393] +[group_94394] +[group_94395] +[group_94396] +[group_94397] +[group_94398] +[group_94399] +[group_94400] +[group_94401] +[group_94402] +[group_94403] +[group_94404] +[group_94405] +[group_94406] +[group_94407] +[group_94408] +[group_94409] +[group_94410] +[group_94411] +[group_94412] +[group_94413] +[group_94414] +[group_94415] +[group_94416] +[group_94417] +[group_94418] +[group_94419] +[group_94420] +[group_94421] +[group_94422] +[group_94423] +[group_94424] +[group_94425] +[group_94426] +[group_94427] +[group_94428] +[group_94429] +[group_94430] +[group_94431] +[group_94432] +[group_94433] +[group_94434] +[group_94435] +[group_94436] +[group_94437] +[group_94438] +[group_94439] +[group_94440] +[group_94441] +[group_94442] +[group_94443] +[group_94444] +[group_94445] +[group_94446] +[group_94447] +[group_94448] +[group_94449] +[group_94450] +[group_94451] +[group_94452] +[group_94453] +[group_94454] +[group_94455] +[group_94456] +[group_94457] +[group_94458] +[group_94459] +[group_94460] +[group_94461] +[group_94462] +[group_94463] +[group_94464] +[group_94465] +[group_94466] +[group_94467] +[group_94468] +[group_94469] +[group_94470] +[group_94471] +[group_94472] +[group_94473] +[group_94474] +[group_94475] +[group_94476] +[group_94477] +[group_94478] +[group_94479] +[group_94480] +[group_94481] +[group_94482] +[group_94483] +[group_94484] +[group_94485] +[group_94486] +[group_94487] +[group_94488] +[group_94489] +[group_94490] +[group_94491] +[group_94492] +[group_94493] +[group_94494] +[group_94495] +[group_94496] +[group_94497] +[group_94498] +[group_94499] +[group_94500] +[group_94501] +[group_94502] +[group_94503] +[group_94504] +[group_94505] +[group_94506] +[group_94507] +[group_94508] +[group_94509] +[group_94510] +[group_94511] +[group_94512] +[group_94513] +[group_94514] +[group_94515] +[group_94516] +[group_94517] +[group_94518] +[group_94519] +[group_94520] +[group_94521] +[group_94522] +[group_94523] +[group_94524] +[group_94525] +[group_94526] +[group_94527] +[group_94528] +[group_94529] +[group_94530] +[group_94531] +[group_94532] +[group_94533] +[group_94534] +[group_94535] +[group_94536] +[group_94537] +[group_94538] +[group_94539] +[group_94540] +[group_94541] +[group_94542] +[group_94543] +[group_94544] +[group_94545] +[group_94546] +[group_94547] +[group_94548] +[group_94549] +[group_94550] +[group_94551] +[group_94552] +[group_94553] +[group_94554] +[group_94555] +[group_94556] +[group_94557] +[group_94558] +[group_94559] +[group_94560] +[group_94561] +[group_94562] +[group_94563] +[group_94564] +[group_94565] +[group_94566] +[group_94567] +[group_94568] +[group_94569] +[group_94570] +[group_94571] +[group_94572] +[group_94573] +[group_94574] +[group_94575] +[group_94576] +[group_94577] +[group_94578] +[group_94579] +[group_94580] +[group_94581] +[group_94582] +[group_94583] +[group_94584] +[group_94585] +[group_94586] +[group_94587] +[group_94588] +[group_94589] +[group_94590] +[group_94591] +[group_94592] +[group_94593] +[group_94594] +[group_94595] +[group_94596] +[group_94597] +[group_94598] +[group_94599] +[group_94600] +[group_94601] +[group_94602] +[group_94603] +[group_94604] +[group_94605] +[group_94606] +[group_94607] +[group_94608] +[group_94609] +[group_94610] +[group_94611] +[group_94612] +[group_94613] +[group_94614] +[group_94615] +[group_94616] +[group_94617] +[group_94618] +[group_94619] +[group_94620] +[group_94621] +[group_94622] +[group_94623] +[group_94624] +[group_94625] +[group_94626] +[group_94627] +[group_94628] +[group_94629] +[group_94630] +[group_94631] +[group_94632] +[group_94633] +[group_94634] +[group_94635] +[group_94636] +[group_94637] +[group_94638] +[group_94639] +[group_94640] +[group_94641] +[group_94642] +[group_94643] +[group_94644] +[group_94645] +[group_94646] +[group_94647] +[group_94648] +[group_94649] +[group_94650] +[group_94651] +[group_94652] +[group_94653] +[group_94654] +[group_94655] +[group_94656] +[group_94657] +[group_94658] +[group_94659] +[group_94660] +[group_94661] +[group_94662] +[group_94663] +[group_94664] +[group_94665] +[group_94666] +[group_94667] +[group_94668] +[group_94669] +[group_94670] +[group_94671] +[group_94672] +[group_94673] +[group_94674] +[group_94675] +[group_94676] +[group_94677] +[group_94678] +[group_94679] +[group_94680] +[group_94681] +[group_94682] +[group_94683] +[group_94684] +[group_94685] +[group_94686] +[group_94687] +[group_94688] +[group_94689] +[group_94690] +[group_94691] +[group_94692] +[group_94693] +[group_94694] +[group_94695] +[group_94696] +[group_94697] +[group_94698] +[group_94699] +[group_94700] +[group_94701] +[group_94702] +[group_94703] +[group_94704] +[group_94705] +[group_94706] +[group_94707] +[group_94708] +[group_94709] +[group_94710] +[group_94711] +[group_94712] +[group_94713] +[group_94714] +[group_94715] +[group_94716] +[group_94717] +[group_94718] +[group_94719] +[group_94720] +[group_94721] +[group_94722] +[group_94723] +[group_94724] +[group_94725] +[group_94726] +[group_94727] +[group_94728] +[group_94729] +[group_94730] +[group_94731] +[group_94732] +[group_94733] +[group_94734] +[group_94735] +[group_94736] +[group_94737] +[group_94738] +[group_94739] +[group_94740] +[group_94741] +[group_94742] +[group_94743] +[group_94744] +[group_94745] +[group_94746] +[group_94747] +[group_94748] +[group_94749] +[group_94750] +[group_94751] +[group_94752] +[group_94753] +[group_94754] +[group_94755] +[group_94756] +[group_94757] +[group_94758] +[group_94759] +[group_94760] +[group_94761] +[group_94762] +[group_94763] +[group_94764] +[group_94765] +[group_94766] +[group_94767] +[group_94768] +[group_94769] +[group_94770] +[group_94771] +[group_94772] +[group_94773] +[group_94774] +[group_94775] +[group_94776] +[group_94777] +[group_94778] +[group_94779] +[group_94780] +[group_94781] +[group_94782] +[group_94783] +[group_94784] +[group_94785] +[group_94786] +[group_94787] +[group_94788] +[group_94789] +[group_94790] +[group_94791] +[group_94792] +[group_94793] +[group_94794] +[group_94795] +[group_94796] +[group_94797] +[group_94798] +[group_94799] +[group_94800] +[group_94801] +[group_94802] +[group_94803] +[group_94804] +[group_94805] +[group_94806] +[group_94807] +[group_94808] +[group_94809] +[group_94810] +[group_94811] +[group_94812] +[group_94813] +[group_94814] +[group_94815] +[group_94816] +[group_94817] +[group_94818] +[group_94819] +[group_94820] +[group_94821] +[group_94822] +[group_94823] +[group_94824] +[group_94825] +[group_94826] +[group_94827] +[group_94828] +[group_94829] +[group_94830] +[group_94831] +[group_94832] +[group_94833] +[group_94834] +[group_94835] +[group_94836] +[group_94837] +[group_94838] +[group_94839] +[group_94840] +[group_94841] +[group_94842] +[group_94843] +[group_94844] +[group_94845] +[group_94846] +[group_94847] +[group_94848] +[group_94849] +[group_94850] +[group_94851] +[group_94852] +[group_94853] +[group_94854] +[group_94855] +[group_94856] +[group_94857] +[group_94858] +[group_94859] +[group_94860] +[group_94861] +[group_94862] +[group_94863] +[group_94864] +[group_94865] +[group_94866] +[group_94867] +[group_94868] +[group_94869] +[group_94870] +[group_94871] +[group_94872] +[group_94873] +[group_94874] +[group_94875] +[group_94876] +[group_94877] +[group_94878] +[group_94879] +[group_94880] +[group_94881] +[group_94882] +[group_94883] +[group_94884] +[group_94885] +[group_94886] +[group_94887] +[group_94888] +[group_94889] +[group_94890] +[group_94891] +[group_94892] +[group_94893] +[group_94894] +[group_94895] +[group_94896] +[group_94897] +[group_94898] +[group_94899] +[group_94900] +[group_94901] +[group_94902] +[group_94903] +[group_94904] +[group_94905] +[group_94906] +[group_94907] +[group_94908] +[group_94909] +[group_94910] +[group_94911] +[group_94912] +[group_94913] +[group_94914] +[group_94915] +[group_94916] +[group_94917] +[group_94918] +[group_94919] +[group_94920] +[group_94921] +[group_94922] +[group_94923] +[group_94924] +[group_94925] +[group_94926] +[group_94927] +[group_94928] +[group_94929] +[group_94930] +[group_94931] +[group_94932] +[group_94933] +[group_94934] +[group_94935] +[group_94936] +[group_94937] +[group_94938] +[group_94939] +[group_94940] +[group_94941] +[group_94942] +[group_94943] +[group_94944] +[group_94945] +[group_94946] +[group_94947] +[group_94948] +[group_94949] +[group_94950] +[group_94951] +[group_94952] +[group_94953] +[group_94954] +[group_94955] +[group_94956] +[group_94957] +[group_94958] +[group_94959] +[group_94960] +[group_94961] +[group_94962] +[group_94963] +[group_94964] +[group_94965] +[group_94966] +[group_94967] +[group_94968] +[group_94969] +[group_94970] +[group_94971] +[group_94972] +[group_94973] +[group_94974] +[group_94975] +[group_94976] +[group_94977] +[group_94978] +[group_94979] +[group_94980] +[group_94981] +[group_94982] +[group_94983] +[group_94984] +[group_94985] +[group_94986] +[group_94987] +[group_94988] +[group_94989] +[group_94990] +[group_94991] +[group_94992] +[group_94993] +[group_94994] +[group_94995] +[group_94996] +[group_94997] +[group_94998] +[group_94999] +[group_95000] +[group_95001] +[group_95002] +[group_95003] +[group_95004] +[group_95005] +[group_95006] +[group_95007] +[group_95008] +[group_95009] +[group_95010] +[group_95011] +[group_95012] +[group_95013] +[group_95014] +[group_95015] +[group_95016] +[group_95017] +[group_95018] +[group_95019] +[group_95020] +[group_95021] +[group_95022] +[group_95023] +[group_95024] +[group_95025] +[group_95026] +[group_95027] +[group_95028] +[group_95029] +[group_95030] +[group_95031] +[group_95032] +[group_95033] +[group_95034] +[group_95035] +[group_95036] +[group_95037] +[group_95038] +[group_95039] +[group_95040] +[group_95041] +[group_95042] +[group_95043] +[group_95044] +[group_95045] +[group_95046] +[group_95047] +[group_95048] +[group_95049] +[group_95050] +[group_95051] +[group_95052] +[group_95053] +[group_95054] +[group_95055] +[group_95056] +[group_95057] +[group_95058] +[group_95059] +[group_95060] +[group_95061] +[group_95062] +[group_95063] +[group_95064] +[group_95065] +[group_95066] +[group_95067] +[group_95068] +[group_95069] +[group_95070] +[group_95071] +[group_95072] +[group_95073] +[group_95074] +[group_95075] +[group_95076] +[group_95077] +[group_95078] +[group_95079] +[group_95080] +[group_95081] +[group_95082] +[group_95083] +[group_95084] +[group_95085] +[group_95086] +[group_95087] +[group_95088] +[group_95089] +[group_95090] +[group_95091] +[group_95092] +[group_95093] +[group_95094] +[group_95095] +[group_95096] +[group_95097] +[group_95098] +[group_95099] +[group_95100] +[group_95101] +[group_95102] +[group_95103] +[group_95104] +[group_95105] +[group_95106] +[group_95107] +[group_95108] +[group_95109] +[group_95110] +[group_95111] +[group_95112] +[group_95113] +[group_95114] +[group_95115] +[group_95116] +[group_95117] +[group_95118] +[group_95119] +[group_95120] +[group_95121] +[group_95122] +[group_95123] +[group_95124] +[group_95125] +[group_95126] +[group_95127] +[group_95128] +[group_95129] +[group_95130] +[group_95131] +[group_95132] +[group_95133] +[group_95134] +[group_95135] +[group_95136] +[group_95137] +[group_95138] +[group_95139] +[group_95140] +[group_95141] +[group_95142] +[group_95143] +[group_95144] +[group_95145] +[group_95146] +[group_95147] +[group_95148] +[group_95149] +[group_95150] +[group_95151] +[group_95152] +[group_95153] +[group_95154] +[group_95155] +[group_95156] +[group_95157] +[group_95158] +[group_95159] +[group_95160] +[group_95161] +[group_95162] +[group_95163] +[group_95164] +[group_95165] +[group_95166] +[group_95167] +[group_95168] +[group_95169] +[group_95170] +[group_95171] +[group_95172] +[group_95173] +[group_95174] +[group_95175] +[group_95176] +[group_95177] +[group_95178] +[group_95179] +[group_95180] +[group_95181] +[group_95182] +[group_95183] +[group_95184] +[group_95185] +[group_95186] +[group_95187] +[group_95188] +[group_95189] +[group_95190] +[group_95191] +[group_95192] +[group_95193] +[group_95194] +[group_95195] +[group_95196] +[group_95197] +[group_95198] +[group_95199] +[group_95200] +[group_95201] +[group_95202] +[group_95203] +[group_95204] +[group_95205] +[group_95206] +[group_95207] +[group_95208] +[group_95209] +[group_95210] +[group_95211] +[group_95212] +[group_95213] +[group_95214] +[group_95215] +[group_95216] +[group_95217] +[group_95218] +[group_95219] +[group_95220] +[group_95221] +[group_95222] +[group_95223] +[group_95224] +[group_95225] +[group_95226] +[group_95227] +[group_95228] +[group_95229] +[group_95230] +[group_95231] +[group_95232] +[group_95233] +[group_95234] +[group_95235] +[group_95236] +[group_95237] +[group_95238] +[group_95239] +[group_95240] +[group_95241] +[group_95242] +[group_95243] +[group_95244] +[group_95245] +[group_95246] +[group_95247] +[group_95248] +[group_95249] +[group_95250] +[group_95251] +[group_95252] +[group_95253] +[group_95254] +[group_95255] +[group_95256] +[group_95257] +[group_95258] +[group_95259] +[group_95260] +[group_95261] +[group_95262] +[group_95263] +[group_95264] +[group_95265] +[group_95266] +[group_95267] +[group_95268] +[group_95269] +[group_95270] +[group_95271] +[group_95272] +[group_95273] +[group_95274] +[group_95275] +[group_95276] +[group_95277] +[group_95278] +[group_95279] +[group_95280] +[group_95281] +[group_95282] +[group_95283] +[group_95284] +[group_95285] +[group_95286] +[group_95287] +[group_95288] +[group_95289] +[group_95290] +[group_95291] +[group_95292] +[group_95293] +[group_95294] +[group_95295] +[group_95296] +[group_95297] +[group_95298] +[group_95299] +[group_95300] +[group_95301] +[group_95302] +[group_95303] +[group_95304] +[group_95305] +[group_95306] +[group_95307] +[group_95308] +[group_95309] +[group_95310] +[group_95311] +[group_95312] +[group_95313] +[group_95314] +[group_95315] +[group_95316] +[group_95317] +[group_95318] +[group_95319] +[group_95320] +[group_95321] +[group_95322] +[group_95323] +[group_95324] +[group_95325] +[group_95326] +[group_95327] +[group_95328] +[group_95329] +[group_95330] +[group_95331] +[group_95332] +[group_95333] +[group_95334] +[group_95335] +[group_95336] +[group_95337] +[group_95338] +[group_95339] +[group_95340] +[group_95341] +[group_95342] +[group_95343] +[group_95344] +[group_95345] +[group_95346] +[group_95347] +[group_95348] +[group_95349] +[group_95350] +[group_95351] +[group_95352] +[group_95353] +[group_95354] +[group_95355] +[group_95356] +[group_95357] +[group_95358] +[group_95359] +[group_95360] +[group_95361] +[group_95362] +[group_95363] +[group_95364] +[group_95365] +[group_95366] +[group_95367] +[group_95368] +[group_95369] +[group_95370] +[group_95371] +[group_95372] +[group_95373] +[group_95374] +[group_95375] +[group_95376] +[group_95377] +[group_95378] +[group_95379] +[group_95380] +[group_95381] +[group_95382] +[group_95383] +[group_95384] +[group_95385] +[group_95386] +[group_95387] +[group_95388] +[group_95389] +[group_95390] +[group_95391] +[group_95392] +[group_95393] +[group_95394] +[group_95395] +[group_95396] +[group_95397] +[group_95398] +[group_95399] +[group_95400] +[group_95401] +[group_95402] +[group_95403] +[group_95404] +[group_95405] +[group_95406] +[group_95407] +[group_95408] +[group_95409] +[group_95410] +[group_95411] +[group_95412] +[group_95413] +[group_95414] +[group_95415] +[group_95416] +[group_95417] +[group_95418] +[group_95419] +[group_95420] +[group_95421] +[group_95422] +[group_95423] +[group_95424] +[group_95425] +[group_95426] +[group_95427] +[group_95428] +[group_95429] +[group_95430] +[group_95431] +[group_95432] +[group_95433] +[group_95434] +[group_95435] +[group_95436] +[group_95437] +[group_95438] +[group_95439] +[group_95440] +[group_95441] +[group_95442] +[group_95443] +[group_95444] +[group_95445] +[group_95446] +[group_95447] +[group_95448] +[group_95449] +[group_95450] +[group_95451] +[group_95452] +[group_95453] +[group_95454] +[group_95455] +[group_95456] +[group_95457] +[group_95458] +[group_95459] +[group_95460] +[group_95461] +[group_95462] +[group_95463] +[group_95464] +[group_95465] +[group_95466] +[group_95467] +[group_95468] +[group_95469] +[group_95470] +[group_95471] +[group_95472] +[group_95473] +[group_95474] +[group_95475] +[group_95476] +[group_95477] +[group_95478] +[group_95479] +[group_95480] +[group_95481] +[group_95482] +[group_95483] +[group_95484] +[group_95485] +[group_95486] +[group_95487] +[group_95488] +[group_95489] +[group_95490] +[group_95491] +[group_95492] +[group_95493] +[group_95494] +[group_95495] +[group_95496] +[group_95497] +[group_95498] +[group_95499] +[group_95500] +[group_95501] +[group_95502] +[group_95503] +[group_95504] +[group_95505] +[group_95506] +[group_95507] +[group_95508] +[group_95509] +[group_95510] +[group_95511] +[group_95512] +[group_95513] +[group_95514] +[group_95515] +[group_95516] +[group_95517] +[group_95518] +[group_95519] +[group_95520] +[group_95521] +[group_95522] +[group_95523] +[group_95524] +[group_95525] +[group_95526] +[group_95527] +[group_95528] +[group_95529] +[group_95530] +[group_95531] +[group_95532] +[group_95533] +[group_95534] +[group_95535] +[group_95536] +[group_95537] +[group_95538] +[group_95539] +[group_95540] +[group_95541] +[group_95542] +[group_95543] +[group_95544] +[group_95545] +[group_95546] +[group_95547] +[group_95548] +[group_95549] +[group_95550] +[group_95551] +[group_95552] +[group_95553] +[group_95554] +[group_95555] +[group_95556] +[group_95557] +[group_95558] +[group_95559] +[group_95560] +[group_95561] +[group_95562] +[group_95563] +[group_95564] +[group_95565] +[group_95566] +[group_95567] +[group_95568] +[group_95569] +[group_95570] +[group_95571] +[group_95572] +[group_95573] +[group_95574] +[group_95575] +[group_95576] +[group_95577] +[group_95578] +[group_95579] +[group_95580] +[group_95581] +[group_95582] +[group_95583] +[group_95584] +[group_95585] +[group_95586] +[group_95587] +[group_95588] +[group_95589] +[group_95590] +[group_95591] +[group_95592] +[group_95593] +[group_95594] +[group_95595] +[group_95596] +[group_95597] +[group_95598] +[group_95599] +[group_95600] +[group_95601] +[group_95602] +[group_95603] +[group_95604] +[group_95605] +[group_95606] +[group_95607] +[group_95608] +[group_95609] +[group_95610] +[group_95611] +[group_95612] +[group_95613] +[group_95614] +[group_95615] +[group_95616] +[group_95617] +[group_95618] +[group_95619] +[group_95620] +[group_95621] +[group_95622] +[group_95623] +[group_95624] +[group_95625] +[group_95626] +[group_95627] +[group_95628] +[group_95629] +[group_95630] +[group_95631] +[group_95632] +[group_95633] +[group_95634] +[group_95635] +[group_95636] +[group_95637] +[group_95638] +[group_95639] +[group_95640] +[group_95641] +[group_95642] +[group_95643] +[group_95644] +[group_95645] +[group_95646] +[group_95647] +[group_95648] +[group_95649] +[group_95650] +[group_95651] +[group_95652] +[group_95653] +[group_95654] +[group_95655] +[group_95656] +[group_95657] +[group_95658] +[group_95659] +[group_95660] +[group_95661] +[group_95662] +[group_95663] +[group_95664] +[group_95665] +[group_95666] +[group_95667] +[group_95668] +[group_95669] +[group_95670] +[group_95671] +[group_95672] +[group_95673] +[group_95674] +[group_95675] +[group_95676] +[group_95677] +[group_95678] +[group_95679] +[group_95680] +[group_95681] +[group_95682] +[group_95683] +[group_95684] +[group_95685] +[group_95686] +[group_95687] +[group_95688] +[group_95689] +[group_95690] +[group_95691] +[group_95692] +[group_95693] +[group_95694] +[group_95695] +[group_95696] +[group_95697] +[group_95698] +[group_95699] +[group_95700] +[group_95701] +[group_95702] +[group_95703] +[group_95704] +[group_95705] +[group_95706] +[group_95707] +[group_95708] +[group_95709] +[group_95710] +[group_95711] +[group_95712] +[group_95713] +[group_95714] +[group_95715] +[group_95716] +[group_95717] +[group_95718] +[group_95719] +[group_95720] +[group_95721] +[group_95722] +[group_95723] +[group_95724] +[group_95725] +[group_95726] +[group_95727] +[group_95728] +[group_95729] +[group_95730] +[group_95731] +[group_95732] +[group_95733] +[group_95734] +[group_95735] +[group_95736] +[group_95737] +[group_95738] +[group_95739] +[group_95740] +[group_95741] +[group_95742] +[group_95743] +[group_95744] +[group_95745] +[group_95746] +[group_95747] +[group_95748] +[group_95749] +[group_95750] +[group_95751] +[group_95752] +[group_95753] +[group_95754] +[group_95755] +[group_95756] +[group_95757] +[group_95758] +[group_95759] +[group_95760] +[group_95761] +[group_95762] +[group_95763] +[group_95764] +[group_95765] +[group_95766] +[group_95767] +[group_95768] +[group_95769] +[group_95770] +[group_95771] +[group_95772] +[group_95773] +[group_95774] +[group_95775] +[group_95776] +[group_95777] +[group_95778] +[group_95779] +[group_95780] +[group_95781] +[group_95782] +[group_95783] +[group_95784] +[group_95785] +[group_95786] +[group_95787] +[group_95788] +[group_95789] +[group_95790] +[group_95791] +[group_95792] +[group_95793] +[group_95794] +[group_95795] +[group_95796] +[group_95797] +[group_95798] +[group_95799] +[group_95800] +[group_95801] +[group_95802] +[group_95803] +[group_95804] +[group_95805] +[group_95806] +[group_95807] +[group_95808] +[group_95809] +[group_95810] +[group_95811] +[group_95812] +[group_95813] +[group_95814] +[group_95815] +[group_95816] +[group_95817] +[group_95818] +[group_95819] +[group_95820] +[group_95821] +[group_95822] +[group_95823] +[group_95824] +[group_95825] +[group_95826] +[group_95827] +[group_95828] +[group_95829] +[group_95830] +[group_95831] +[group_95832] +[group_95833] +[group_95834] +[group_95835] +[group_95836] +[group_95837] +[group_95838] +[group_95839] +[group_95840] +[group_95841] +[group_95842] +[group_95843] +[group_95844] +[group_95845] +[group_95846] +[group_95847] +[group_95848] +[group_95849] +[group_95850] +[group_95851] +[group_95852] +[group_95853] +[group_95854] +[group_95855] +[group_95856] +[group_95857] +[group_95858] +[group_95859] +[group_95860] +[group_95861] +[group_95862] +[group_95863] +[group_95864] +[group_95865] +[group_95866] +[group_95867] +[group_95868] +[group_95869] +[group_95870] +[group_95871] +[group_95872] +[group_95873] +[group_95874] +[group_95875] +[group_95876] +[group_95877] +[group_95878] +[group_95879] +[group_95880] +[group_95881] +[group_95882] +[group_95883] +[group_95884] +[group_95885] +[group_95886] +[group_95887] +[group_95888] +[group_95889] +[group_95890] +[group_95891] +[group_95892] +[group_95893] +[group_95894] +[group_95895] +[group_95896] +[group_95897] +[group_95898] +[group_95899] +[group_95900] +[group_95901] +[group_95902] +[group_95903] +[group_95904] +[group_95905] +[group_95906] +[group_95907] +[group_95908] +[group_95909] +[group_95910] +[group_95911] +[group_95912] +[group_95913] +[group_95914] +[group_95915] +[group_95916] +[group_95917] +[group_95918] +[group_95919] +[group_95920] +[group_95921] +[group_95922] +[group_95923] +[group_95924] +[group_95925] +[group_95926] +[group_95927] +[group_95928] +[group_95929] +[group_95930] +[group_95931] +[group_95932] +[group_95933] +[group_95934] +[group_95935] +[group_95936] +[group_95937] +[group_95938] +[group_95939] +[group_95940] +[group_95941] +[group_95942] +[group_95943] +[group_95944] +[group_95945] +[group_95946] +[group_95947] +[group_95948] +[group_95949] +[group_95950] +[group_95951] +[group_95952] +[group_95953] +[group_95954] +[group_95955] +[group_95956] +[group_95957] +[group_95958] +[group_95959] +[group_95960] +[group_95961] +[group_95962] +[group_95963] +[group_95964] +[group_95965] +[group_95966] +[group_95967] +[group_95968] +[group_95969] +[group_95970] +[group_95971] +[group_95972] +[group_95973] +[group_95974] +[group_95975] +[group_95976] +[group_95977] +[group_95978] +[group_95979] +[group_95980] +[group_95981] +[group_95982] +[group_95983] +[group_95984] +[group_95985] +[group_95986] +[group_95987] +[group_95988] +[group_95989] +[group_95990] +[group_95991] +[group_95992] +[group_95993] +[group_95994] +[group_95995] +[group_95996] +[group_95997] +[group_95998] +[group_95999] +[group_96000] +[group_96001] +[group_96002] +[group_96003] +[group_96004] +[group_96005] +[group_96006] +[group_96007] +[group_96008] +[group_96009] +[group_96010] +[group_96011] +[group_96012] +[group_96013] +[group_96014] +[group_96015] +[group_96016] +[group_96017] +[group_96018] +[group_96019] +[group_96020] +[group_96021] +[group_96022] +[group_96023] +[group_96024] +[group_96025] +[group_96026] +[group_96027] +[group_96028] +[group_96029] +[group_96030] +[group_96031] +[group_96032] +[group_96033] +[group_96034] +[group_96035] +[group_96036] +[group_96037] +[group_96038] +[group_96039] +[group_96040] +[group_96041] +[group_96042] +[group_96043] +[group_96044] +[group_96045] +[group_96046] +[group_96047] +[group_96048] +[group_96049] +[group_96050] +[group_96051] +[group_96052] +[group_96053] +[group_96054] +[group_96055] +[group_96056] +[group_96057] +[group_96058] +[group_96059] +[group_96060] +[group_96061] +[group_96062] +[group_96063] +[group_96064] +[group_96065] +[group_96066] +[group_96067] +[group_96068] +[group_96069] +[group_96070] +[group_96071] +[group_96072] +[group_96073] +[group_96074] +[group_96075] +[group_96076] +[group_96077] +[group_96078] +[group_96079] +[group_96080] +[group_96081] +[group_96082] +[group_96083] +[group_96084] +[group_96085] +[group_96086] +[group_96087] +[group_96088] +[group_96089] +[group_96090] +[group_96091] +[group_96092] +[group_96093] +[group_96094] +[group_96095] +[group_96096] +[group_96097] +[group_96098] +[group_96099] +[group_96100] +[group_96101] +[group_96102] +[group_96103] +[group_96104] +[group_96105] +[group_96106] +[group_96107] +[group_96108] +[group_96109] +[group_96110] +[group_96111] +[group_96112] +[group_96113] +[group_96114] +[group_96115] +[group_96116] +[group_96117] +[group_96118] +[group_96119] +[group_96120] +[group_96121] +[group_96122] +[group_96123] +[group_96124] +[group_96125] +[group_96126] +[group_96127] +[group_96128] +[group_96129] +[group_96130] +[group_96131] +[group_96132] +[group_96133] +[group_96134] +[group_96135] +[group_96136] +[group_96137] +[group_96138] +[group_96139] +[group_96140] +[group_96141] +[group_96142] +[group_96143] +[group_96144] +[group_96145] +[group_96146] +[group_96147] +[group_96148] +[group_96149] +[group_96150] +[group_96151] +[group_96152] +[group_96153] +[group_96154] +[group_96155] +[group_96156] +[group_96157] +[group_96158] +[group_96159] +[group_96160] +[group_96161] +[group_96162] +[group_96163] +[group_96164] +[group_96165] +[group_96166] +[group_96167] +[group_96168] +[group_96169] +[group_96170] +[group_96171] +[group_96172] +[group_96173] +[group_96174] +[group_96175] +[group_96176] +[group_96177] +[group_96178] +[group_96179] +[group_96180] +[group_96181] +[group_96182] +[group_96183] +[group_96184] +[group_96185] +[group_96186] +[group_96187] +[group_96188] +[group_96189] +[group_96190] +[group_96191] +[group_96192] +[group_96193] +[group_96194] +[group_96195] +[group_96196] +[group_96197] +[group_96198] +[group_96199] +[group_96200] +[group_96201] +[group_96202] +[group_96203] +[group_96204] +[group_96205] +[group_96206] +[group_96207] +[group_96208] +[group_96209] +[group_96210] +[group_96211] +[group_96212] +[group_96213] +[group_96214] +[group_96215] +[group_96216] +[group_96217] +[group_96218] +[group_96219] +[group_96220] +[group_96221] +[group_96222] +[group_96223] +[group_96224] +[group_96225] +[group_96226] +[group_96227] +[group_96228] +[group_96229] +[group_96230] +[group_96231] +[group_96232] +[group_96233] +[group_96234] +[group_96235] +[group_96236] +[group_96237] +[group_96238] +[group_96239] +[group_96240] +[group_96241] +[group_96242] +[group_96243] +[group_96244] +[group_96245] +[group_96246] +[group_96247] +[group_96248] +[group_96249] +[group_96250] +[group_96251] +[group_96252] +[group_96253] +[group_96254] +[group_96255] +[group_96256] +[group_96257] +[group_96258] +[group_96259] +[group_96260] +[group_96261] +[group_96262] +[group_96263] +[group_96264] +[group_96265] +[group_96266] +[group_96267] +[group_96268] +[group_96269] +[group_96270] +[group_96271] +[group_96272] +[group_96273] +[group_96274] +[group_96275] +[group_96276] +[group_96277] +[group_96278] +[group_96279] +[group_96280] +[group_96281] +[group_96282] +[group_96283] +[group_96284] +[group_96285] +[group_96286] +[group_96287] +[group_96288] +[group_96289] +[group_96290] +[group_96291] +[group_96292] +[group_96293] +[group_96294] +[group_96295] +[group_96296] +[group_96297] +[group_96298] +[group_96299] +[group_96300] +[group_96301] +[group_96302] +[group_96303] +[group_96304] +[group_96305] +[group_96306] +[group_96307] +[group_96308] +[group_96309] +[group_96310] +[group_96311] +[group_96312] +[group_96313] +[group_96314] +[group_96315] +[group_96316] +[group_96317] +[group_96318] +[group_96319] +[group_96320] +[group_96321] +[group_96322] +[group_96323] +[group_96324] +[group_96325] +[group_96326] +[group_96327] +[group_96328] +[group_96329] +[group_96330] +[group_96331] +[group_96332] +[group_96333] +[group_96334] +[group_96335] +[group_96336] +[group_96337] +[group_96338] +[group_96339] +[group_96340] +[group_96341] +[group_96342] +[group_96343] +[group_96344] +[group_96345] +[group_96346] +[group_96347] +[group_96348] +[group_96349] +[group_96350] +[group_96351] +[group_96352] +[group_96353] +[group_96354] +[group_96355] +[group_96356] +[group_96357] +[group_96358] +[group_96359] +[group_96360] +[group_96361] +[group_96362] +[group_96363] +[group_96364] +[group_96365] +[group_96366] +[group_96367] +[group_96368] +[group_96369] +[group_96370] +[group_96371] +[group_96372] +[group_96373] +[group_96374] +[group_96375] +[group_96376] +[group_96377] +[group_96378] +[group_96379] +[group_96380] +[group_96381] +[group_96382] +[group_96383] +[group_96384] +[group_96385] +[group_96386] +[group_96387] +[group_96388] +[group_96389] +[group_96390] +[group_96391] +[group_96392] +[group_96393] +[group_96394] +[group_96395] +[group_96396] +[group_96397] +[group_96398] +[group_96399] +[group_96400] +[group_96401] +[group_96402] +[group_96403] +[group_96404] +[group_96405] +[group_96406] +[group_96407] +[group_96408] +[group_96409] +[group_96410] +[group_96411] +[group_96412] +[group_96413] +[group_96414] +[group_96415] +[group_96416] +[group_96417] +[group_96418] +[group_96419] +[group_96420] +[group_96421] +[group_96422] +[group_96423] +[group_96424] +[group_96425] +[group_96426] +[group_96427] +[group_96428] +[group_96429] +[group_96430] +[group_96431] +[group_96432] +[group_96433] +[group_96434] +[group_96435] +[group_96436] +[group_96437] +[group_96438] +[group_96439] +[group_96440] +[group_96441] +[group_96442] +[group_96443] +[group_96444] +[group_96445] +[group_96446] +[group_96447] +[group_96448] +[group_96449] +[group_96450] +[group_96451] +[group_96452] +[group_96453] +[group_96454] +[group_96455] +[group_96456] +[group_96457] +[group_96458] +[group_96459] +[group_96460] +[group_96461] +[group_96462] +[group_96463] +[group_96464] +[group_96465] +[group_96466] +[group_96467] +[group_96468] +[group_96469] +[group_96470] +[group_96471] +[group_96472] +[group_96473] +[group_96474] +[group_96475] +[group_96476] +[group_96477] +[group_96478] +[group_96479] +[group_96480] +[group_96481] +[group_96482] +[group_96483] +[group_96484] +[group_96485] +[group_96486] +[group_96487] +[group_96488] +[group_96489] +[group_96490] +[group_96491] +[group_96492] +[group_96493] +[group_96494] +[group_96495] +[group_96496] +[group_96497] +[group_96498] +[group_96499] +[group_96500] +[group_96501] +[group_96502] +[group_96503] +[group_96504] +[group_96505] +[group_96506] +[group_96507] +[group_96508] +[group_96509] +[group_96510] +[group_96511] +[group_96512] +[group_96513] +[group_96514] +[group_96515] +[group_96516] +[group_96517] +[group_96518] +[group_96519] +[group_96520] +[group_96521] +[group_96522] +[group_96523] +[group_96524] +[group_96525] +[group_96526] +[group_96527] +[group_96528] +[group_96529] +[group_96530] +[group_96531] +[group_96532] +[group_96533] +[group_96534] +[group_96535] +[group_96536] +[group_96537] +[group_96538] +[group_96539] +[group_96540] +[group_96541] +[group_96542] +[group_96543] +[group_96544] +[group_96545] +[group_96546] +[group_96547] +[group_96548] +[group_96549] +[group_96550] +[group_96551] +[group_96552] +[group_96553] +[group_96554] +[group_96555] +[group_96556] +[group_96557] +[group_96558] +[group_96559] +[group_96560] +[group_96561] +[group_96562] +[group_96563] +[group_96564] +[group_96565] +[group_96566] +[group_96567] +[group_96568] +[group_96569] +[group_96570] +[group_96571] +[group_96572] +[group_96573] +[group_96574] +[group_96575] +[group_96576] +[group_96577] +[group_96578] +[group_96579] +[group_96580] +[group_96581] +[group_96582] +[group_96583] +[group_96584] +[group_96585] +[group_96586] +[group_96587] +[group_96588] +[group_96589] +[group_96590] +[group_96591] +[group_96592] +[group_96593] +[group_96594] +[group_96595] +[group_96596] +[group_96597] +[group_96598] +[group_96599] +[group_96600] +[group_96601] +[group_96602] +[group_96603] +[group_96604] +[group_96605] +[group_96606] +[group_96607] +[group_96608] +[group_96609] +[group_96610] +[group_96611] +[group_96612] +[group_96613] +[group_96614] +[group_96615] +[group_96616] +[group_96617] +[group_96618] +[group_96619] +[group_96620] +[group_96621] +[group_96622] +[group_96623] +[group_96624] +[group_96625] +[group_96626] +[group_96627] +[group_96628] +[group_96629] +[group_96630] +[group_96631] +[group_96632] +[group_96633] +[group_96634] +[group_96635] +[group_96636] +[group_96637] +[group_96638] +[group_96639] +[group_96640] +[group_96641] +[group_96642] +[group_96643] +[group_96644] +[group_96645] +[group_96646] +[group_96647] +[group_96648] +[group_96649] +[group_96650] +[group_96651] +[group_96652] +[group_96653] +[group_96654] +[group_96655] +[group_96656] +[group_96657] +[group_96658] +[group_96659] +[group_96660] +[group_96661] +[group_96662] +[group_96663] +[group_96664] +[group_96665] +[group_96666] +[group_96667] +[group_96668] +[group_96669] +[group_96670] +[group_96671] +[group_96672] +[group_96673] +[group_96674] +[group_96675] +[group_96676] +[group_96677] +[group_96678] +[group_96679] +[group_96680] +[group_96681] +[group_96682] +[group_96683] +[group_96684] +[group_96685] +[group_96686] +[group_96687] +[group_96688] +[group_96689] +[group_96690] +[group_96691] +[group_96692] +[group_96693] +[group_96694] +[group_96695] +[group_96696] +[group_96697] +[group_96698] +[group_96699] +[group_96700] +[group_96701] +[group_96702] +[group_96703] +[group_96704] +[group_96705] +[group_96706] +[group_96707] +[group_96708] +[group_96709] +[group_96710] +[group_96711] +[group_96712] +[group_96713] +[group_96714] +[group_96715] +[group_96716] +[group_96717] +[group_96718] +[group_96719] +[group_96720] +[group_96721] +[group_96722] +[group_96723] +[group_96724] +[group_96725] +[group_96726] +[group_96727] +[group_96728] +[group_96729] +[group_96730] +[group_96731] +[group_96732] +[group_96733] +[group_96734] +[group_96735] +[group_96736] +[group_96737] +[group_96738] +[group_96739] +[group_96740] +[group_96741] +[group_96742] +[group_96743] +[group_96744] +[group_96745] +[group_96746] +[group_96747] +[group_96748] +[group_96749] +[group_96750] +[group_96751] +[group_96752] +[group_96753] +[group_96754] +[group_96755] +[group_96756] +[group_96757] +[group_96758] +[group_96759] +[group_96760] +[group_96761] +[group_96762] +[group_96763] +[group_96764] +[group_96765] +[group_96766] +[group_96767] +[group_96768] +[group_96769] +[group_96770] +[group_96771] +[group_96772] +[group_96773] +[group_96774] +[group_96775] +[group_96776] +[group_96777] +[group_96778] +[group_96779] +[group_96780] +[group_96781] +[group_96782] +[group_96783] +[group_96784] +[group_96785] +[group_96786] +[group_96787] +[group_96788] +[group_96789] +[group_96790] +[group_96791] +[group_96792] +[group_96793] +[group_96794] +[group_96795] +[group_96796] +[group_96797] +[group_96798] +[group_96799] +[group_96800] +[group_96801] +[group_96802] +[group_96803] +[group_96804] +[group_96805] +[group_96806] +[group_96807] +[group_96808] +[group_96809] +[group_96810] +[group_96811] +[group_96812] +[group_96813] +[group_96814] +[group_96815] +[group_96816] +[group_96817] +[group_96818] +[group_96819] +[group_96820] +[group_96821] +[group_96822] +[group_96823] +[group_96824] +[group_96825] +[group_96826] +[group_96827] +[group_96828] +[group_96829] +[group_96830] +[group_96831] +[group_96832] +[group_96833] +[group_96834] +[group_96835] +[group_96836] +[group_96837] +[group_96838] +[group_96839] +[group_96840] +[group_96841] +[group_96842] +[group_96843] +[group_96844] +[group_96845] +[group_96846] +[group_96847] +[group_96848] +[group_96849] +[group_96850] +[group_96851] +[group_96852] +[group_96853] +[group_96854] +[group_96855] +[group_96856] +[group_96857] +[group_96858] +[group_96859] +[group_96860] +[group_96861] +[group_96862] +[group_96863] +[group_96864] +[group_96865] +[group_96866] +[group_96867] +[group_96868] +[group_96869] +[group_96870] +[group_96871] +[group_96872] +[group_96873] +[group_96874] +[group_96875] +[group_96876] +[group_96877] +[group_96878] +[group_96879] +[group_96880] +[group_96881] +[group_96882] +[group_96883] +[group_96884] +[group_96885] +[group_96886] +[group_96887] +[group_96888] +[group_96889] +[group_96890] +[group_96891] +[group_96892] +[group_96893] +[group_96894] +[group_96895] +[group_96896] +[group_96897] +[group_96898] +[group_96899] +[group_96900] +[group_96901] +[group_96902] +[group_96903] +[group_96904] +[group_96905] +[group_96906] +[group_96907] +[group_96908] +[group_96909] +[group_96910] +[group_96911] +[group_96912] +[group_96913] +[group_96914] +[group_96915] +[group_96916] +[group_96917] +[group_96918] +[group_96919] +[group_96920] +[group_96921] +[group_96922] +[group_96923] +[group_96924] +[group_96925] +[group_96926] +[group_96927] +[group_96928] +[group_96929] +[group_96930] +[group_96931] +[group_96932] +[group_96933] +[group_96934] +[group_96935] +[group_96936] +[group_96937] +[group_96938] +[group_96939] +[group_96940] +[group_96941] +[group_96942] +[group_96943] +[group_96944] +[group_96945] +[group_96946] +[group_96947] +[group_96948] +[group_96949] +[group_96950] +[group_96951] +[group_96952] +[group_96953] +[group_96954] +[group_96955] +[group_96956] +[group_96957] +[group_96958] +[group_96959] +[group_96960] +[group_96961] +[group_96962] +[group_96963] +[group_96964] +[group_96965] +[group_96966] +[group_96967] +[group_96968] +[group_96969] +[group_96970] +[group_96971] +[group_96972] +[group_96973] +[group_96974] +[group_96975] +[group_96976] +[group_96977] +[group_96978] +[group_96979] +[group_96980] +[group_96981] +[group_96982] +[group_96983] +[group_96984] +[group_96985] +[group_96986] +[group_96987] +[group_96988] +[group_96989] +[group_96990] +[group_96991] +[group_96992] +[group_96993] +[group_96994] +[group_96995] +[group_96996] +[group_96997] +[group_96998] +[group_96999] +[group_97000] +[group_97001] +[group_97002] +[group_97003] +[group_97004] +[group_97005] +[group_97006] +[group_97007] +[group_97008] +[group_97009] +[group_97010] +[group_97011] +[group_97012] +[group_97013] +[group_97014] +[group_97015] +[group_97016] +[group_97017] +[group_97018] +[group_97019] +[group_97020] +[group_97021] +[group_97022] +[group_97023] +[group_97024] +[group_97025] +[group_97026] +[group_97027] +[group_97028] +[group_97029] +[group_97030] +[group_97031] +[group_97032] +[group_97033] +[group_97034] +[group_97035] +[group_97036] +[group_97037] +[group_97038] +[group_97039] +[group_97040] +[group_97041] +[group_97042] +[group_97043] +[group_97044] +[group_97045] +[group_97046] +[group_97047] +[group_97048] +[group_97049] +[group_97050] +[group_97051] +[group_97052] +[group_97053] +[group_97054] +[group_97055] +[group_97056] +[group_97057] +[group_97058] +[group_97059] +[group_97060] +[group_97061] +[group_97062] +[group_97063] +[group_97064] +[group_97065] +[group_97066] +[group_97067] +[group_97068] +[group_97069] +[group_97070] +[group_97071] +[group_97072] +[group_97073] +[group_97074] +[group_97075] +[group_97076] +[group_97077] +[group_97078] +[group_97079] +[group_97080] +[group_97081] +[group_97082] +[group_97083] +[group_97084] +[group_97085] +[group_97086] +[group_97087] +[group_97088] +[group_97089] +[group_97090] +[group_97091] +[group_97092] +[group_97093] +[group_97094] +[group_97095] +[group_97096] +[group_97097] +[group_97098] +[group_97099] +[group_97100] +[group_97101] +[group_97102] +[group_97103] +[group_97104] +[group_97105] +[group_97106] +[group_97107] +[group_97108] +[group_97109] +[group_97110] +[group_97111] +[group_97112] +[group_97113] +[group_97114] +[group_97115] +[group_97116] +[group_97117] +[group_97118] +[group_97119] +[group_97120] +[group_97121] +[group_97122] +[group_97123] +[group_97124] +[group_97125] +[group_97126] +[group_97127] +[group_97128] +[group_97129] +[group_97130] +[group_97131] +[group_97132] +[group_97133] +[group_97134] +[group_97135] +[group_97136] +[group_97137] +[group_97138] +[group_97139] +[group_97140] +[group_97141] +[group_97142] +[group_97143] +[group_97144] +[group_97145] +[group_97146] +[group_97147] +[group_97148] +[group_97149] +[group_97150] +[group_97151] +[group_97152] +[group_97153] +[group_97154] +[group_97155] +[group_97156] +[group_97157] +[group_97158] +[group_97159] +[group_97160] +[group_97161] +[group_97162] +[group_97163] +[group_97164] +[group_97165] +[group_97166] +[group_97167] +[group_97168] +[group_97169] +[group_97170] +[group_97171] +[group_97172] +[group_97173] +[group_97174] +[group_97175] +[group_97176] +[group_97177] +[group_97178] +[group_97179] +[group_97180] +[group_97181] +[group_97182] +[group_97183] +[group_97184] +[group_97185] +[group_97186] +[group_97187] +[group_97188] +[group_97189] +[group_97190] +[group_97191] +[group_97192] +[group_97193] +[group_97194] +[group_97195] +[group_97196] +[group_97197] +[group_97198] +[group_97199] +[group_97200] +[group_97201] +[group_97202] +[group_97203] +[group_97204] +[group_97205] +[group_97206] +[group_97207] +[group_97208] +[group_97209] +[group_97210] +[group_97211] +[group_97212] +[group_97213] +[group_97214] +[group_97215] +[group_97216] +[group_97217] +[group_97218] +[group_97219] +[group_97220] +[group_97221] +[group_97222] +[group_97223] +[group_97224] +[group_97225] +[group_97226] +[group_97227] +[group_97228] +[group_97229] +[group_97230] +[group_97231] +[group_97232] +[group_97233] +[group_97234] +[group_97235] +[group_97236] +[group_97237] +[group_97238] +[group_97239] +[group_97240] +[group_97241] +[group_97242] +[group_97243] +[group_97244] +[group_97245] +[group_97246] +[group_97247] +[group_97248] +[group_97249] +[group_97250] +[group_97251] +[group_97252] +[group_97253] +[group_97254] +[group_97255] +[group_97256] +[group_97257] +[group_97258] +[group_97259] +[group_97260] +[group_97261] +[group_97262] +[group_97263] +[group_97264] +[group_97265] +[group_97266] +[group_97267] +[group_97268] +[group_97269] +[group_97270] +[group_97271] +[group_97272] +[group_97273] +[group_97274] +[group_97275] +[group_97276] +[group_97277] +[group_97278] +[group_97279] +[group_97280] +[group_97281] +[group_97282] +[group_97283] +[group_97284] +[group_97285] +[group_97286] +[group_97287] +[group_97288] +[group_97289] +[group_97290] +[group_97291] +[group_97292] +[group_97293] +[group_97294] +[group_97295] +[group_97296] +[group_97297] +[group_97298] +[group_97299] +[group_97300] +[group_97301] +[group_97302] +[group_97303] +[group_97304] +[group_97305] +[group_97306] +[group_97307] +[group_97308] +[group_97309] +[group_97310] +[group_97311] +[group_97312] +[group_97313] +[group_97314] +[group_97315] +[group_97316] +[group_97317] +[group_97318] +[group_97319] +[group_97320] +[group_97321] +[group_97322] +[group_97323] +[group_97324] +[group_97325] +[group_97326] +[group_97327] +[group_97328] +[group_97329] +[group_97330] +[group_97331] +[group_97332] +[group_97333] +[group_97334] +[group_97335] +[group_97336] +[group_97337] +[group_97338] +[group_97339] +[group_97340] +[group_97341] +[group_97342] +[group_97343] +[group_97344] +[group_97345] +[group_97346] +[group_97347] +[group_97348] +[group_97349] +[group_97350] +[group_97351] +[group_97352] +[group_97353] +[group_97354] +[group_97355] +[group_97356] +[group_97357] +[group_97358] +[group_97359] +[group_97360] +[group_97361] +[group_97362] +[group_97363] +[group_97364] +[group_97365] +[group_97366] +[group_97367] +[group_97368] +[group_97369] +[group_97370] +[group_97371] +[group_97372] +[group_97373] +[group_97374] +[group_97375] +[group_97376] +[group_97377] +[group_97378] +[group_97379] +[group_97380] +[group_97381] +[group_97382] +[group_97383] +[group_97384] +[group_97385] +[group_97386] +[group_97387] +[group_97388] +[group_97389] +[group_97390] +[group_97391] +[group_97392] +[group_97393] +[group_97394] +[group_97395] +[group_97396] +[group_97397] +[group_97398] +[group_97399] +[group_97400] +[group_97401] +[group_97402] +[group_97403] +[group_97404] +[group_97405] +[group_97406] +[group_97407] +[group_97408] +[group_97409] +[group_97410] +[group_97411] +[group_97412] +[group_97413] +[group_97414] +[group_97415] +[group_97416] +[group_97417] +[group_97418] +[group_97419] +[group_97420] +[group_97421] +[group_97422] +[group_97423] +[group_97424] +[group_97425] +[group_97426] +[group_97427] +[group_97428] +[group_97429] +[group_97430] +[group_97431] +[group_97432] +[group_97433] +[group_97434] +[group_97435] +[group_97436] +[group_97437] +[group_97438] +[group_97439] +[group_97440] +[group_97441] +[group_97442] +[group_97443] +[group_97444] +[group_97445] +[group_97446] +[group_97447] +[group_97448] +[group_97449] +[group_97450] +[group_97451] +[group_97452] +[group_97453] +[group_97454] +[group_97455] +[group_97456] +[group_97457] +[group_97458] +[group_97459] +[group_97460] +[group_97461] +[group_97462] +[group_97463] +[group_97464] +[group_97465] +[group_97466] +[group_97467] +[group_97468] +[group_97469] +[group_97470] +[group_97471] +[group_97472] +[group_97473] +[group_97474] +[group_97475] +[group_97476] +[group_97477] +[group_97478] +[group_97479] +[group_97480] +[group_97481] +[group_97482] +[group_97483] +[group_97484] +[group_97485] +[group_97486] +[group_97487] +[group_97488] +[group_97489] +[group_97490] +[group_97491] +[group_97492] +[group_97493] +[group_97494] +[group_97495] +[group_97496] +[group_97497] +[group_97498] +[group_97499] +[group_97500] +[group_97501] +[group_97502] +[group_97503] +[group_97504] +[group_97505] +[group_97506] +[group_97507] +[group_97508] +[group_97509] +[group_97510] +[group_97511] +[group_97512] +[group_97513] +[group_97514] +[group_97515] +[group_97516] +[group_97517] +[group_97518] +[group_97519] +[group_97520] +[group_97521] +[group_97522] +[group_97523] +[group_97524] +[group_97525] +[group_97526] +[group_97527] +[group_97528] +[group_97529] +[group_97530] +[group_97531] +[group_97532] +[group_97533] +[group_97534] +[group_97535] +[group_97536] +[group_97537] +[group_97538] +[group_97539] +[group_97540] +[group_97541] +[group_97542] +[group_97543] +[group_97544] +[group_97545] +[group_97546] +[group_97547] +[group_97548] +[group_97549] +[group_97550] +[group_97551] +[group_97552] +[group_97553] +[group_97554] +[group_97555] +[group_97556] +[group_97557] +[group_97558] +[group_97559] +[group_97560] +[group_97561] +[group_97562] +[group_97563] +[group_97564] +[group_97565] +[group_97566] +[group_97567] +[group_97568] +[group_97569] +[group_97570] +[group_97571] +[group_97572] +[group_97573] +[group_97574] +[group_97575] +[group_97576] +[group_97577] +[group_97578] +[group_97579] +[group_97580] +[group_97581] +[group_97582] +[group_97583] +[group_97584] +[group_97585] +[group_97586] +[group_97587] +[group_97588] +[group_97589] +[group_97590] +[group_97591] +[group_97592] +[group_97593] +[group_97594] +[group_97595] +[group_97596] +[group_97597] +[group_97598] +[group_97599] +[group_97600] +[group_97601] +[group_97602] +[group_97603] +[group_97604] +[group_97605] +[group_97606] +[group_97607] +[group_97608] +[group_97609] +[group_97610] +[group_97611] +[group_97612] +[group_97613] +[group_97614] +[group_97615] +[group_97616] +[group_97617] +[group_97618] +[group_97619] +[group_97620] +[group_97621] +[group_97622] +[group_97623] +[group_97624] +[group_97625] +[group_97626] +[group_97627] +[group_97628] +[group_97629] +[group_97630] +[group_97631] +[group_97632] +[group_97633] +[group_97634] +[group_97635] +[group_97636] +[group_97637] +[group_97638] +[group_97639] +[group_97640] +[group_97641] +[group_97642] +[group_97643] +[group_97644] +[group_97645] +[group_97646] +[group_97647] +[group_97648] +[group_97649] +[group_97650] +[group_97651] +[group_97652] +[group_97653] +[group_97654] +[group_97655] +[group_97656] +[group_97657] +[group_97658] +[group_97659] +[group_97660] +[group_97661] +[group_97662] +[group_97663] +[group_97664] +[group_97665] +[group_97666] +[group_97667] +[group_97668] +[group_97669] +[group_97670] +[group_97671] +[group_97672] +[group_97673] +[group_97674] +[group_97675] +[group_97676] +[group_97677] +[group_97678] +[group_97679] +[group_97680] +[group_97681] +[group_97682] +[group_97683] +[group_97684] +[group_97685] +[group_97686] +[group_97687] +[group_97688] +[group_97689] +[group_97690] +[group_97691] +[group_97692] +[group_97693] +[group_97694] +[group_97695] +[group_97696] +[group_97697] +[group_97698] +[group_97699] +[group_97700] +[group_97701] +[group_97702] +[group_97703] +[group_97704] +[group_97705] +[group_97706] +[group_97707] +[group_97708] +[group_97709] +[group_97710] +[group_97711] +[group_97712] +[group_97713] +[group_97714] +[group_97715] +[group_97716] +[group_97717] +[group_97718] +[group_97719] +[group_97720] +[group_97721] +[group_97722] +[group_97723] +[group_97724] +[group_97725] +[group_97726] +[group_97727] +[group_97728] +[group_97729] +[group_97730] +[group_97731] +[group_97732] +[group_97733] +[group_97734] +[group_97735] +[group_97736] +[group_97737] +[group_97738] +[group_97739] +[group_97740] +[group_97741] +[group_97742] +[group_97743] +[group_97744] +[group_97745] +[group_97746] +[group_97747] +[group_97748] +[group_97749] +[group_97750] +[group_97751] +[group_97752] +[group_97753] +[group_97754] +[group_97755] +[group_97756] +[group_97757] +[group_97758] +[group_97759] +[group_97760] +[group_97761] +[group_97762] +[group_97763] +[group_97764] +[group_97765] +[group_97766] +[group_97767] +[group_97768] +[group_97769] +[group_97770] +[group_97771] +[group_97772] +[group_97773] +[group_97774] +[group_97775] +[group_97776] +[group_97777] +[group_97778] +[group_97779] +[group_97780] +[group_97781] +[group_97782] +[group_97783] +[group_97784] +[group_97785] +[group_97786] +[group_97787] +[group_97788] +[group_97789] +[group_97790] +[group_97791] +[group_97792] +[group_97793] +[group_97794] +[group_97795] +[group_97796] +[group_97797] +[group_97798] +[group_97799] +[group_97800] +[group_97801] +[group_97802] +[group_97803] +[group_97804] +[group_97805] +[group_97806] +[group_97807] +[group_97808] +[group_97809] +[group_97810] +[group_97811] +[group_97812] +[group_97813] +[group_97814] +[group_97815] +[group_97816] +[group_97817] +[group_97818] +[group_97819] +[group_97820] +[group_97821] +[group_97822] +[group_97823] +[group_97824] +[group_97825] +[group_97826] +[group_97827] +[group_97828] +[group_97829] +[group_97830] +[group_97831] +[group_97832] +[group_97833] +[group_97834] +[group_97835] +[group_97836] +[group_97837] +[group_97838] +[group_97839] +[group_97840] +[group_97841] +[group_97842] +[group_97843] +[group_97844] +[group_97845] +[group_97846] +[group_97847] +[group_97848] +[group_97849] +[group_97850] +[group_97851] +[group_97852] +[group_97853] +[group_97854] +[group_97855] +[group_97856] +[group_97857] +[group_97858] +[group_97859] +[group_97860] +[group_97861] +[group_97862] +[group_97863] +[group_97864] +[group_97865] +[group_97866] +[group_97867] +[group_97868] +[group_97869] +[group_97870] +[group_97871] +[group_97872] +[group_97873] +[group_97874] +[group_97875] +[group_97876] +[group_97877] +[group_97878] +[group_97879] +[group_97880] +[group_97881] +[group_97882] +[group_97883] +[group_97884] +[group_97885] +[group_97886] +[group_97887] +[group_97888] +[group_97889] +[group_97890] +[group_97891] +[group_97892] +[group_97893] +[group_97894] +[group_97895] +[group_97896] +[group_97897] +[group_97898] +[group_97899] +[group_97900] +[group_97901] +[group_97902] +[group_97903] +[group_97904] +[group_97905] +[group_97906] +[group_97907] +[group_97908] +[group_97909] +[group_97910] +[group_97911] +[group_97912] +[group_97913] +[group_97914] +[group_97915] +[group_97916] +[group_97917] +[group_97918] +[group_97919] +[group_97920] +[group_97921] +[group_97922] +[group_97923] +[group_97924] +[group_97925] +[group_97926] +[group_97927] +[group_97928] +[group_97929] +[group_97930] +[group_97931] +[group_97932] +[group_97933] +[group_97934] +[group_97935] +[group_97936] +[group_97937] +[group_97938] +[group_97939] +[group_97940] +[group_97941] +[group_97942] +[group_97943] +[group_97944] +[group_97945] +[group_97946] +[group_97947] +[group_97948] +[group_97949] +[group_97950] +[group_97951] +[group_97952] +[group_97953] +[group_97954] +[group_97955] +[group_97956] +[group_97957] +[group_97958] +[group_97959] +[group_97960] +[group_97961] +[group_97962] +[group_97963] +[group_97964] +[group_97965] +[group_97966] +[group_97967] +[group_97968] +[group_97969] +[group_97970] +[group_97971] +[group_97972] +[group_97973] +[group_97974] +[group_97975] +[group_97976] +[group_97977] +[group_97978] +[group_97979] +[group_97980] +[group_97981] +[group_97982] +[group_97983] +[group_97984] +[group_97985] +[group_97986] +[group_97987] +[group_97988] +[group_97989] +[group_97990] +[group_97991] +[group_97992] +[group_97993] +[group_97994] +[group_97995] +[group_97996] +[group_97997] +[group_97998] +[group_97999] +[group_98000] +[group_98001] +[group_98002] +[group_98003] +[group_98004] +[group_98005] +[group_98006] +[group_98007] +[group_98008] +[group_98009] +[group_98010] +[group_98011] +[group_98012] +[group_98013] +[group_98014] +[group_98015] +[group_98016] +[group_98017] +[group_98018] +[group_98019] +[group_98020] +[group_98021] +[group_98022] +[group_98023] +[group_98024] +[group_98025] +[group_98026] +[group_98027] +[group_98028] +[group_98029] +[group_98030] +[group_98031] +[group_98032] +[group_98033] +[group_98034] +[group_98035] +[group_98036] +[group_98037] +[group_98038] +[group_98039] +[group_98040] +[group_98041] +[group_98042] +[group_98043] +[group_98044] +[group_98045] +[group_98046] +[group_98047] +[group_98048] +[group_98049] +[group_98050] +[group_98051] +[group_98052] +[group_98053] +[group_98054] +[group_98055] +[group_98056] +[group_98057] +[group_98058] +[group_98059] +[group_98060] +[group_98061] +[group_98062] +[group_98063] +[group_98064] +[group_98065] +[group_98066] +[group_98067] +[group_98068] +[group_98069] +[group_98070] +[group_98071] +[group_98072] +[group_98073] +[group_98074] +[group_98075] +[group_98076] +[group_98077] +[group_98078] +[group_98079] +[group_98080] +[group_98081] +[group_98082] +[group_98083] +[group_98084] +[group_98085] +[group_98086] +[group_98087] +[group_98088] +[group_98089] +[group_98090] +[group_98091] +[group_98092] +[group_98093] +[group_98094] +[group_98095] +[group_98096] +[group_98097] +[group_98098] +[group_98099] +[group_98100] +[group_98101] +[group_98102] +[group_98103] +[group_98104] +[group_98105] +[group_98106] +[group_98107] +[group_98108] +[group_98109] +[group_98110] +[group_98111] +[group_98112] +[group_98113] +[group_98114] +[group_98115] +[group_98116] +[group_98117] +[group_98118] +[group_98119] +[group_98120] +[group_98121] +[group_98122] +[group_98123] +[group_98124] +[group_98125] +[group_98126] +[group_98127] +[group_98128] +[group_98129] +[group_98130] +[group_98131] +[group_98132] +[group_98133] +[group_98134] +[group_98135] +[group_98136] +[group_98137] +[group_98138] +[group_98139] +[group_98140] +[group_98141] +[group_98142] +[group_98143] +[group_98144] +[group_98145] +[group_98146] +[group_98147] +[group_98148] +[group_98149] +[group_98150] +[group_98151] +[group_98152] +[group_98153] +[group_98154] +[group_98155] +[group_98156] +[group_98157] +[group_98158] +[group_98159] +[group_98160] +[group_98161] +[group_98162] +[group_98163] +[group_98164] +[group_98165] +[group_98166] +[group_98167] +[group_98168] +[group_98169] +[group_98170] +[group_98171] +[group_98172] +[group_98173] +[group_98174] +[group_98175] +[group_98176] +[group_98177] +[group_98178] +[group_98179] +[group_98180] +[group_98181] +[group_98182] +[group_98183] +[group_98184] +[group_98185] +[group_98186] +[group_98187] +[group_98188] +[group_98189] +[group_98190] +[group_98191] +[group_98192] +[group_98193] +[group_98194] +[group_98195] +[group_98196] +[group_98197] +[group_98198] +[group_98199] +[group_98200] +[group_98201] +[group_98202] +[group_98203] +[group_98204] +[group_98205] +[group_98206] +[group_98207] +[group_98208] +[group_98209] +[group_98210] +[group_98211] +[group_98212] +[group_98213] +[group_98214] +[group_98215] +[group_98216] +[group_98217] +[group_98218] +[group_98219] +[group_98220] +[group_98221] +[group_98222] +[group_98223] +[group_98224] +[group_98225] +[group_98226] +[group_98227] +[group_98228] +[group_98229] +[group_98230] +[group_98231] +[group_98232] +[group_98233] +[group_98234] +[group_98235] +[group_98236] +[group_98237] +[group_98238] +[group_98239] +[group_98240] +[group_98241] +[group_98242] +[group_98243] +[group_98244] +[group_98245] +[group_98246] +[group_98247] +[group_98248] +[group_98249] +[group_98250] +[group_98251] +[group_98252] +[group_98253] +[group_98254] +[group_98255] +[group_98256] +[group_98257] +[group_98258] +[group_98259] +[group_98260] +[group_98261] +[group_98262] +[group_98263] +[group_98264] +[group_98265] +[group_98266] +[group_98267] +[group_98268] +[group_98269] +[group_98270] +[group_98271] +[group_98272] +[group_98273] +[group_98274] +[group_98275] +[group_98276] +[group_98277] +[group_98278] +[group_98279] +[group_98280] +[group_98281] +[group_98282] +[group_98283] +[group_98284] +[group_98285] +[group_98286] +[group_98287] +[group_98288] +[group_98289] +[group_98290] +[group_98291] +[group_98292] +[group_98293] +[group_98294] +[group_98295] +[group_98296] +[group_98297] +[group_98298] +[group_98299] +[group_98300] +[group_98301] +[group_98302] +[group_98303] +[group_98304] +[group_98305] +[group_98306] +[group_98307] +[group_98308] +[group_98309] +[group_98310] +[group_98311] +[group_98312] +[group_98313] +[group_98314] +[group_98315] +[group_98316] +[group_98317] +[group_98318] +[group_98319] +[group_98320] +[group_98321] +[group_98322] +[group_98323] +[group_98324] +[group_98325] +[group_98326] +[group_98327] +[group_98328] +[group_98329] +[group_98330] +[group_98331] +[group_98332] +[group_98333] +[group_98334] +[group_98335] +[group_98336] +[group_98337] +[group_98338] +[group_98339] +[group_98340] +[group_98341] +[group_98342] +[group_98343] +[group_98344] +[group_98345] +[group_98346] +[group_98347] +[group_98348] +[group_98349] +[group_98350] +[group_98351] +[group_98352] +[group_98353] +[group_98354] +[group_98355] +[group_98356] +[group_98357] +[group_98358] +[group_98359] +[group_98360] +[group_98361] +[group_98362] +[group_98363] +[group_98364] +[group_98365] +[group_98366] +[group_98367] +[group_98368] +[group_98369] +[group_98370] +[group_98371] +[group_98372] +[group_98373] +[group_98374] +[group_98375] +[group_98376] +[group_98377] +[group_98378] +[group_98379] +[group_98380] +[group_98381] +[group_98382] +[group_98383] +[group_98384] +[group_98385] +[group_98386] +[group_98387] +[group_98388] +[group_98389] +[group_98390] +[group_98391] +[group_98392] +[group_98393] +[group_98394] +[group_98395] +[group_98396] +[group_98397] +[group_98398] +[group_98399] +[group_98400] +[group_98401] +[group_98402] +[group_98403] +[group_98404] +[group_98405] +[group_98406] +[group_98407] +[group_98408] +[group_98409] +[group_98410] +[group_98411] +[group_98412] +[group_98413] +[group_98414] +[group_98415] +[group_98416] +[group_98417] +[group_98418] +[group_98419] +[group_98420] +[group_98421] +[group_98422] +[group_98423] +[group_98424] +[group_98425] +[group_98426] +[group_98427] +[group_98428] +[group_98429] +[group_98430] +[group_98431] +[group_98432] +[group_98433] +[group_98434] +[group_98435] +[group_98436] +[group_98437] +[group_98438] +[group_98439] +[group_98440] +[group_98441] +[group_98442] +[group_98443] +[group_98444] +[group_98445] +[group_98446] +[group_98447] +[group_98448] +[group_98449] +[group_98450] +[group_98451] +[group_98452] +[group_98453] +[group_98454] +[group_98455] +[group_98456] +[group_98457] +[group_98458] +[group_98459] +[group_98460] +[group_98461] +[group_98462] +[group_98463] +[group_98464] +[group_98465] +[group_98466] +[group_98467] +[group_98468] +[group_98469] +[group_98470] +[group_98471] +[group_98472] +[group_98473] +[group_98474] +[group_98475] +[group_98476] +[group_98477] +[group_98478] +[group_98479] +[group_98480] +[group_98481] +[group_98482] +[group_98483] +[group_98484] +[group_98485] +[group_98486] +[group_98487] +[group_98488] +[group_98489] +[group_98490] +[group_98491] +[group_98492] +[group_98493] +[group_98494] +[group_98495] +[group_98496] +[group_98497] +[group_98498] +[group_98499] +[group_98500] +[group_98501] +[group_98502] +[group_98503] +[group_98504] +[group_98505] +[group_98506] +[group_98507] +[group_98508] +[group_98509] +[group_98510] +[group_98511] +[group_98512] +[group_98513] +[group_98514] +[group_98515] +[group_98516] +[group_98517] +[group_98518] +[group_98519] +[group_98520] +[group_98521] +[group_98522] +[group_98523] +[group_98524] +[group_98525] +[group_98526] +[group_98527] +[group_98528] +[group_98529] +[group_98530] +[group_98531] +[group_98532] +[group_98533] +[group_98534] +[group_98535] +[group_98536] +[group_98537] +[group_98538] +[group_98539] +[group_98540] +[group_98541] +[group_98542] +[group_98543] +[group_98544] +[group_98545] +[group_98546] +[group_98547] +[group_98548] +[group_98549] +[group_98550] +[group_98551] +[group_98552] +[group_98553] +[group_98554] +[group_98555] +[group_98556] +[group_98557] +[group_98558] +[group_98559] +[group_98560] +[group_98561] +[group_98562] +[group_98563] +[group_98564] +[group_98565] +[group_98566] +[group_98567] +[group_98568] +[group_98569] +[group_98570] +[group_98571] +[group_98572] +[group_98573] +[group_98574] +[group_98575] +[group_98576] +[group_98577] +[group_98578] +[group_98579] +[group_98580] +[group_98581] +[group_98582] +[group_98583] +[group_98584] +[group_98585] +[group_98586] +[group_98587] +[group_98588] +[group_98589] +[group_98590] +[group_98591] +[group_98592] +[group_98593] +[group_98594] +[group_98595] +[group_98596] +[group_98597] +[group_98598] +[group_98599] +[group_98600] +[group_98601] +[group_98602] +[group_98603] +[group_98604] +[group_98605] +[group_98606] +[group_98607] +[group_98608] +[group_98609] +[group_98610] +[group_98611] +[group_98612] +[group_98613] +[group_98614] +[group_98615] +[group_98616] +[group_98617] +[group_98618] +[group_98619] +[group_98620] +[group_98621] +[group_98622] +[group_98623] +[group_98624] +[group_98625] +[group_98626] +[group_98627] +[group_98628] +[group_98629] +[group_98630] +[group_98631] +[group_98632] +[group_98633] +[group_98634] +[group_98635] +[group_98636] +[group_98637] +[group_98638] +[group_98639] +[group_98640] +[group_98641] +[group_98642] +[group_98643] +[group_98644] +[group_98645] +[group_98646] +[group_98647] +[group_98648] +[group_98649] +[group_98650] +[group_98651] +[group_98652] +[group_98653] +[group_98654] +[group_98655] +[group_98656] +[group_98657] +[group_98658] +[group_98659] +[group_98660] +[group_98661] +[group_98662] +[group_98663] +[group_98664] +[group_98665] +[group_98666] +[group_98667] +[group_98668] +[group_98669] +[group_98670] +[group_98671] +[group_98672] +[group_98673] +[group_98674] +[group_98675] +[group_98676] +[group_98677] +[group_98678] +[group_98679] +[group_98680] +[group_98681] +[group_98682] +[group_98683] +[group_98684] +[group_98685] +[group_98686] +[group_98687] +[group_98688] +[group_98689] +[group_98690] +[group_98691] +[group_98692] +[group_98693] +[group_98694] +[group_98695] +[group_98696] +[group_98697] +[group_98698] +[group_98699] +[group_98700] +[group_98701] +[group_98702] +[group_98703] +[group_98704] +[group_98705] +[group_98706] +[group_98707] +[group_98708] +[group_98709] +[group_98710] +[group_98711] +[group_98712] +[group_98713] +[group_98714] +[group_98715] +[group_98716] +[group_98717] +[group_98718] +[group_98719] +[group_98720] +[group_98721] +[group_98722] +[group_98723] +[group_98724] +[group_98725] +[group_98726] +[group_98727] +[group_98728] +[group_98729] +[group_98730] +[group_98731] +[group_98732] +[group_98733] +[group_98734] +[group_98735] +[group_98736] +[group_98737] +[group_98738] +[group_98739] +[group_98740] +[group_98741] +[group_98742] +[group_98743] +[group_98744] +[group_98745] +[group_98746] +[group_98747] +[group_98748] +[group_98749] +[group_98750] +[group_98751] +[group_98752] +[group_98753] +[group_98754] +[group_98755] +[group_98756] +[group_98757] +[group_98758] +[group_98759] +[group_98760] +[group_98761] +[group_98762] +[group_98763] +[group_98764] +[group_98765] +[group_98766] +[group_98767] +[group_98768] +[group_98769] +[group_98770] +[group_98771] +[group_98772] +[group_98773] +[group_98774] +[group_98775] +[group_98776] +[group_98777] +[group_98778] +[group_98779] +[group_98780] +[group_98781] +[group_98782] +[group_98783] +[group_98784] +[group_98785] +[group_98786] +[group_98787] +[group_98788] +[group_98789] +[group_98790] +[group_98791] +[group_98792] +[group_98793] +[group_98794] +[group_98795] +[group_98796] +[group_98797] +[group_98798] +[group_98799] +[group_98800] +[group_98801] +[group_98802] +[group_98803] +[group_98804] +[group_98805] +[group_98806] +[group_98807] +[group_98808] +[group_98809] +[group_98810] +[group_98811] +[group_98812] +[group_98813] +[group_98814] +[group_98815] +[group_98816] +[group_98817] +[group_98818] +[group_98819] +[group_98820] +[group_98821] +[group_98822] +[group_98823] +[group_98824] +[group_98825] +[group_98826] +[group_98827] +[group_98828] +[group_98829] +[group_98830] +[group_98831] +[group_98832] +[group_98833] +[group_98834] +[group_98835] +[group_98836] +[group_98837] +[group_98838] +[group_98839] +[group_98840] +[group_98841] +[group_98842] +[group_98843] +[group_98844] +[group_98845] +[group_98846] +[group_98847] +[group_98848] +[group_98849] +[group_98850] +[group_98851] +[group_98852] +[group_98853] +[group_98854] +[group_98855] +[group_98856] +[group_98857] +[group_98858] +[group_98859] +[group_98860] +[group_98861] +[group_98862] +[group_98863] +[group_98864] +[group_98865] +[group_98866] +[group_98867] +[group_98868] +[group_98869] +[group_98870] +[group_98871] +[group_98872] +[group_98873] +[group_98874] +[group_98875] +[group_98876] +[group_98877] +[group_98878] +[group_98879] +[group_98880] +[group_98881] +[group_98882] +[group_98883] +[group_98884] +[group_98885] +[group_98886] +[group_98887] +[group_98888] +[group_98889] +[group_98890] +[group_98891] +[group_98892] +[group_98893] +[group_98894] +[group_98895] +[group_98896] +[group_98897] +[group_98898] +[group_98899] +[group_98900] +[group_98901] +[group_98902] +[group_98903] +[group_98904] +[group_98905] +[group_98906] +[group_98907] +[group_98908] +[group_98909] +[group_98910] +[group_98911] +[group_98912] +[group_98913] +[group_98914] +[group_98915] +[group_98916] +[group_98917] +[group_98918] +[group_98919] +[group_98920] +[group_98921] +[group_98922] +[group_98923] +[group_98924] +[group_98925] +[group_98926] +[group_98927] +[group_98928] +[group_98929] +[group_98930] +[group_98931] +[group_98932] +[group_98933] +[group_98934] +[group_98935] +[group_98936] +[group_98937] +[group_98938] +[group_98939] +[group_98940] +[group_98941] +[group_98942] +[group_98943] +[group_98944] +[group_98945] +[group_98946] +[group_98947] +[group_98948] +[group_98949] +[group_98950] +[group_98951] +[group_98952] +[group_98953] +[group_98954] +[group_98955] +[group_98956] +[group_98957] +[group_98958] +[group_98959] +[group_98960] +[group_98961] +[group_98962] +[group_98963] +[group_98964] +[group_98965] +[group_98966] +[group_98967] +[group_98968] +[group_98969] +[group_98970] +[group_98971] +[group_98972] +[group_98973] +[group_98974] +[group_98975] +[group_98976] +[group_98977] +[group_98978] +[group_98979] +[group_98980] +[group_98981] +[group_98982] +[group_98983] +[group_98984] +[group_98985] +[group_98986] +[group_98987] +[group_98988] +[group_98989] +[group_98990] +[group_98991] +[group_98992] +[group_98993] +[group_98994] +[group_98995] +[group_98996] +[group_98997] +[group_98998] +[group_98999] +[group_99000] +[group_99001] +[group_99002] +[group_99003] +[group_99004] +[group_99005] +[group_99006] +[group_99007] +[group_99008] +[group_99009] +[group_99010] +[group_99011] +[group_99012] +[group_99013] +[group_99014] +[group_99015] +[group_99016] +[group_99017] +[group_99018] +[group_99019] +[group_99020] +[group_99021] +[group_99022] +[group_99023] +[group_99024] +[group_99025] +[group_99026] +[group_99027] +[group_99028] +[group_99029] +[group_99030] +[group_99031] +[group_99032] +[group_99033] +[group_99034] +[group_99035] +[group_99036] +[group_99037] +[group_99038] +[group_99039] +[group_99040] +[group_99041] +[group_99042] +[group_99043] +[group_99044] +[group_99045] +[group_99046] +[group_99047] +[group_99048] +[group_99049] +[group_99050] +[group_99051] +[group_99052] +[group_99053] +[group_99054] +[group_99055] +[group_99056] +[group_99057] +[group_99058] +[group_99059] +[group_99060] +[group_99061] +[group_99062] +[group_99063] +[group_99064] +[group_99065] +[group_99066] +[group_99067] +[group_99068] +[group_99069] +[group_99070] +[group_99071] +[group_99072] +[group_99073] +[group_99074] +[group_99075] +[group_99076] +[group_99077] +[group_99078] +[group_99079] +[group_99080] +[group_99081] +[group_99082] +[group_99083] +[group_99084] +[group_99085] +[group_99086] +[group_99087] +[group_99088] +[group_99089] +[group_99090] +[group_99091] +[group_99092] +[group_99093] +[group_99094] +[group_99095] +[group_99096] +[group_99097] +[group_99098] +[group_99099] +[group_99100] +[group_99101] +[group_99102] +[group_99103] +[group_99104] +[group_99105] +[group_99106] +[group_99107] +[group_99108] +[group_99109] +[group_99110] +[group_99111] +[group_99112] +[group_99113] +[group_99114] +[group_99115] +[group_99116] +[group_99117] +[group_99118] +[group_99119] +[group_99120] +[group_99121] +[group_99122] +[group_99123] +[group_99124] +[group_99125] +[group_99126] +[group_99127] +[group_99128] +[group_99129] +[group_99130] +[group_99131] +[group_99132] +[group_99133] +[group_99134] +[group_99135] +[group_99136] +[group_99137] +[group_99138] +[group_99139] +[group_99140] +[group_99141] +[group_99142] +[group_99143] +[group_99144] +[group_99145] +[group_99146] +[group_99147] +[group_99148] +[group_99149] +[group_99150] +[group_99151] +[group_99152] +[group_99153] +[group_99154] +[group_99155] +[group_99156] +[group_99157] +[group_99158] +[group_99159] +[group_99160] +[group_99161] +[group_99162] +[group_99163] +[group_99164] +[group_99165] +[group_99166] +[group_99167] +[group_99168] +[group_99169] +[group_99170] +[group_99171] +[group_99172] +[group_99173] +[group_99174] +[group_99175] +[group_99176] +[group_99177] +[group_99178] +[group_99179] +[group_99180] +[group_99181] +[group_99182] +[group_99183] +[group_99184] +[group_99185] +[group_99186] +[group_99187] +[group_99188] +[group_99189] +[group_99190] +[group_99191] +[group_99192] +[group_99193] +[group_99194] +[group_99195] +[group_99196] +[group_99197] +[group_99198] +[group_99199] +[group_99200] +[group_99201] +[group_99202] +[group_99203] +[group_99204] +[group_99205] +[group_99206] +[group_99207] +[group_99208] +[group_99209] +[group_99210] +[group_99211] +[group_99212] +[group_99213] +[group_99214] +[group_99215] +[group_99216] +[group_99217] +[group_99218] +[group_99219] +[group_99220] +[group_99221] +[group_99222] +[group_99223] +[group_99224] +[group_99225] +[group_99226] +[group_99227] +[group_99228] +[group_99229] +[group_99230] +[group_99231] +[group_99232] +[group_99233] +[group_99234] +[group_99235] +[group_99236] +[group_99237] +[group_99238] +[group_99239] +[group_99240] +[group_99241] +[group_99242] +[group_99243] +[group_99244] +[group_99245] +[group_99246] +[group_99247] +[group_99248] +[group_99249] +[group_99250] +[group_99251] +[group_99252] +[group_99253] +[group_99254] +[group_99255] +[group_99256] +[group_99257] +[group_99258] +[group_99259] +[group_99260] +[group_99261] +[group_99262] +[group_99263] +[group_99264] +[group_99265] +[group_99266] +[group_99267] +[group_99268] +[group_99269] +[group_99270] +[group_99271] +[group_99272] +[group_99273] +[group_99274] +[group_99275] +[group_99276] +[group_99277] +[group_99278] +[group_99279] +[group_99280] +[group_99281] +[group_99282] +[group_99283] +[group_99284] +[group_99285] +[group_99286] +[group_99287] +[group_99288] +[group_99289] +[group_99290] +[group_99291] +[group_99292] +[group_99293] +[group_99294] +[group_99295] +[group_99296] +[group_99297] +[group_99298] +[group_99299] +[group_99300] +[group_99301] +[group_99302] +[group_99303] +[group_99304] +[group_99305] +[group_99306] +[group_99307] +[group_99308] +[group_99309] +[group_99310] +[group_99311] +[group_99312] +[group_99313] +[group_99314] +[group_99315] +[group_99316] +[group_99317] +[group_99318] +[group_99319] +[group_99320] +[group_99321] +[group_99322] +[group_99323] +[group_99324] +[group_99325] +[group_99326] +[group_99327] +[group_99328] +[group_99329] +[group_99330] +[group_99331] +[group_99332] +[group_99333] +[group_99334] +[group_99335] +[group_99336] +[group_99337] +[group_99338] +[group_99339] +[group_99340] +[group_99341] +[group_99342] +[group_99343] +[group_99344] +[group_99345] +[group_99346] +[group_99347] +[group_99348] +[group_99349] +[group_99350] +[group_99351] +[group_99352] +[group_99353] +[group_99354] +[group_99355] +[group_99356] +[group_99357] +[group_99358] +[group_99359] +[group_99360] +[group_99361] +[group_99362] +[group_99363] +[group_99364] +[group_99365] +[group_99366] +[group_99367] +[group_99368] +[group_99369] +[group_99370] +[group_99371] +[group_99372] +[group_99373] +[group_99374] +[group_99375] +[group_99376] +[group_99377] +[group_99378] +[group_99379] +[group_99380] +[group_99381] +[group_99382] +[group_99383] +[group_99384] +[group_99385] +[group_99386] +[group_99387] +[group_99388] +[group_99389] +[group_99390] +[group_99391] +[group_99392] +[group_99393] +[group_99394] +[group_99395] +[group_99396] +[group_99397] +[group_99398] +[group_99399] +[group_99400] +[group_99401] +[group_99402] +[group_99403] +[group_99404] +[group_99405] +[group_99406] +[group_99407] +[group_99408] +[group_99409] +[group_99410] +[group_99411] +[group_99412] +[group_99413] +[group_99414] +[group_99415] +[group_99416] +[group_99417] +[group_99418] +[group_99419] +[group_99420] +[group_99421] +[group_99422] +[group_99423] +[group_99424] +[group_99425] +[group_99426] +[group_99427] +[group_99428] +[group_99429] +[group_99430] +[group_99431] +[group_99432] +[group_99433] +[group_99434] +[group_99435] +[group_99436] +[group_99437] +[group_99438] +[group_99439] +[group_99440] +[group_99441] +[group_99442] +[group_99443] +[group_99444] +[group_99445] +[group_99446] +[group_99447] +[group_99448] +[group_99449] +[group_99450] +[group_99451] +[group_99452] +[group_99453] +[group_99454] +[group_99455] +[group_99456] +[group_99457] +[group_99458] +[group_99459] +[group_99460] +[group_99461] +[group_99462] +[group_99463] +[group_99464] +[group_99465] +[group_99466] +[group_99467] +[group_99468] +[group_99469] +[group_99470] +[group_99471] +[group_99472] +[group_99473] +[group_99474] +[group_99475] +[group_99476] +[group_99477] +[group_99478] +[group_99479] +[group_99480] +[group_99481] +[group_99482] +[group_99483] +[group_99484] +[group_99485] +[group_99486] +[group_99487] +[group_99488] +[group_99489] +[group_99490] +[group_99491] +[group_99492] +[group_99493] +[group_99494] +[group_99495] +[group_99496] +[group_99497] +[group_99498] +[group_99499] +[group_99500] +[group_99501] +[group_99502] +[group_99503] +[group_99504] +[group_99505] +[group_99506] +[group_99507] +[group_99508] +[group_99509] +[group_99510] +[group_99511] +[group_99512] +[group_99513] +[group_99514] +[group_99515] +[group_99516] +[group_99517] +[group_99518] +[group_99519] +[group_99520] +[group_99521] +[group_99522] +[group_99523] +[group_99524] +[group_99525] +[group_99526] +[group_99527] +[group_99528] +[group_99529] +[group_99530] +[group_99531] +[group_99532] +[group_99533] +[group_99534] +[group_99535] +[group_99536] +[group_99537] +[group_99538] +[group_99539] +[group_99540] +[group_99541] +[group_99542] +[group_99543] +[group_99544] +[group_99545] +[group_99546] +[group_99547] +[group_99548] +[group_99549] +[group_99550] +[group_99551] +[group_99552] +[group_99553] +[group_99554] +[group_99555] +[group_99556] +[group_99557] +[group_99558] +[group_99559] +[group_99560] +[group_99561] +[group_99562] +[group_99563] +[group_99564] +[group_99565] +[group_99566] +[group_99567] +[group_99568] +[group_99569] +[group_99570] +[group_99571] +[group_99572] +[group_99573] +[group_99574] +[group_99575] +[group_99576] +[group_99577] +[group_99578] +[group_99579] +[group_99580] +[group_99581] +[group_99582] +[group_99583] +[group_99584] +[group_99585] +[group_99586] +[group_99587] +[group_99588] +[group_99589] +[group_99590] +[group_99591] +[group_99592] +[group_99593] +[group_99594] +[group_99595] +[group_99596] +[group_99597] +[group_99598] +[group_99599] +[group_99600] +[group_99601] +[group_99602] +[group_99603] +[group_99604] +[group_99605] +[group_99606] +[group_99607] +[group_99608] +[group_99609] +[group_99610] +[group_99611] +[group_99612] +[group_99613] +[group_99614] +[group_99615] +[group_99616] +[group_99617] +[group_99618] +[group_99619] +[group_99620] +[group_99621] +[group_99622] +[group_99623] +[group_99624] +[group_99625] +[group_99626] +[group_99627] +[group_99628] +[group_99629] +[group_99630] +[group_99631] +[group_99632] +[group_99633] +[group_99634] +[group_99635] +[group_99636] +[group_99637] +[group_99638] +[group_99639] +[group_99640] +[group_99641] +[group_99642] +[group_99643] +[group_99644] +[group_99645] +[group_99646] +[group_99647] +[group_99648] +[group_99649] +[group_99650] +[group_99651] +[group_99652] +[group_99653] +[group_99654] +[group_99655] +[group_99656] +[group_99657] +[group_99658] +[group_99659] +[group_99660] +[group_99661] +[group_99662] +[group_99663] +[group_99664] +[group_99665] +[group_99666] +[group_99667] +[group_99668] +[group_99669] +[group_99670] +[group_99671] +[group_99672] +[group_99673] +[group_99674] +[group_99675] +[group_99676] +[group_99677] +[group_99678] +[group_99679] +[group_99680] +[group_99681] +[group_99682] +[group_99683] +[group_99684] +[group_99685] +[group_99686] +[group_99687] +[group_99688] +[group_99689] +[group_99690] +[group_99691] +[group_99692] +[group_99693] +[group_99694] +[group_99695] +[group_99696] +[group_99697] +[group_99698] +[group_99699] +[group_99700] +[group_99701] +[group_99702] +[group_99703] +[group_99704] +[group_99705] +[group_99706] +[group_99707] +[group_99708] +[group_99709] +[group_99710] +[group_99711] +[group_99712] +[group_99713] +[group_99714] +[group_99715] +[group_99716] +[group_99717] +[group_99718] +[group_99719] +[group_99720] +[group_99721] +[group_99722] +[group_99723] +[group_99724] +[group_99725] +[group_99726] +[group_99727] +[group_99728] +[group_99729] +[group_99730] +[group_99731] +[group_99732] +[group_99733] +[group_99734] +[group_99735] +[group_99736] +[group_99737] +[group_99738] +[group_99739] +[group_99740] +[group_99741] +[group_99742] +[group_99743] +[group_99744] +[group_99745] +[group_99746] +[group_99747] +[group_99748] +[group_99749] +[group_99750] +[group_99751] +[group_99752] +[group_99753] +[group_99754] +[group_99755] +[group_99756] +[group_99757] +[group_99758] +[group_99759] +[group_99760] +[group_99761] +[group_99762] +[group_99763] +[group_99764] +[group_99765] +[group_99766] +[group_99767] +[group_99768] +[group_99769] +[group_99770] +[group_99771] +[group_99772] +[group_99773] +[group_99774] +[group_99775] +[group_99776] +[group_99777] +[group_99778] +[group_99779] +[group_99780] +[group_99781] +[group_99782] +[group_99783] +[group_99784] +[group_99785] +[group_99786] +[group_99787] +[group_99788] +[group_99789] +[group_99790] +[group_99791] +[group_99792] +[group_99793] +[group_99794] +[group_99795] +[group_99796] +[group_99797] +[group_99798] +[group_99799] +[group_99800] +[group_99801] +[group_99802] +[group_99803] +[group_99804] +[group_99805] +[group_99806] +[group_99807] +[group_99808] +[group_99809] +[group_99810] +[group_99811] +[group_99812] +[group_99813] +[group_99814] +[group_99815] +[group_99816] +[group_99817] +[group_99818] +[group_99819] +[group_99820] +[group_99821] +[group_99822] +[group_99823] +[group_99824] +[group_99825] +[group_99826] +[group_99827] +[group_99828] +[group_99829] +[group_99830] +[group_99831] +[group_99832] +[group_99833] +[group_99834] +[group_99835] +[group_99836] +[group_99837] +[group_99838] +[group_99839] +[group_99840] +[group_99841] +[group_99842] +[group_99843] +[group_99844] +[group_99845] +[group_99846] +[group_99847] +[group_99848] +[group_99849] +[group_99850] +[group_99851] +[group_99852] +[group_99853] +[group_99854] +[group_99855] +[group_99856] +[group_99857] +[group_99858] +[group_99859] +[group_99860] +[group_99861] +[group_99862] +[group_99863] +[group_99864] +[group_99865] +[group_99866] +[group_99867] +[group_99868] +[group_99869] +[group_99870] +[group_99871] +[group_99872] +[group_99873] +[group_99874] +[group_99875] +[group_99876] +[group_99877] +[group_99878] +[group_99879] +[group_99880] +[group_99881] +[group_99882] +[group_99883] +[group_99884] +[group_99885] +[group_99886] +[group_99887] +[group_99888] +[group_99889] +[group_99890] +[group_99891] +[group_99892] +[group_99893] +[group_99894] +[group_99895] +[group_99896] +[group_99897] +[group_99898] +[group_99899] +[group_99900] +[group_99901] +[group_99902] +[group_99903] +[group_99904] +[group_99905] +[group_99906] +[group_99907] +[group_99908] +[group_99909] +[group_99910] +[group_99911] +[group_99912] +[group_99913] +[group_99914] +[group_99915] +[group_99916] +[group_99917] +[group_99918] +[group_99919] +[group_99920] +[group_99921] +[group_99922] +[group_99923] +[group_99924] +[group_99925] +[group_99926] +[group_99927] +[group_99928] +[group_99929] +[group_99930] +[group_99931] +[group_99932] +[group_99933] +[group_99934] +[group_99935] +[group_99936] +[group_99937] +[group_99938] +[group_99939] +[group_99940] +[group_99941] +[group_99942] +[group_99943] +[group_99944] +[group_99945] +[group_99946] +[group_99947] +[group_99948] +[group_99949] +[group_99950] +[group_99951] +[group_99952] +[group_99953] +[group_99954] +[group_99955] +[group_99956] +[group_99957] +[group_99958] +[group_99959] +[group_99960] +[group_99961] +[group_99962] +[group_99963] +[group_99964] +[group_99965] +[group_99966] +[group_99967] +[group_99968] +[group_99969] +[group_99970] +[group_99971] +[group_99972] +[group_99973] +[group_99974] +[group_99975] +[group_99976] +[group_99977] +[group_99978] +[group_99979] +[group_99980] +[group_99981] +[group_99982] +[group_99983] +[group_99984] +[group_99985] +[group_99986] +[group_99987] +[group_99988] +[group_99989] +[group_99990] +[group_99991] +[group_99992] +[group_99993] +[group_99994] +[group_99995] +[group_99996] +[group_99997] +[group_99998] +[group_99999] +[group_100000] diff --git a/configure/test/test_group/conf/dupgroup.conf b/configure/test/test_group/conf/dupgroup.conf new file mode 100644 index 00000000..22243f14 --- /dev/null +++ b/configure/test/test_group/conf/dupgroup.conf @@ -0,0 +1,28 @@ +[aaa] +sda:1223 +[.xfs] +[.xfs.xes] +[bbb] +asdf:122 +[ccc] +[.xfs] +[.xsas] +[aaa] +[.xfs.xes] +[ggg] +[.asdqq] +dsfa:132 +[ccc] +qwer:3612 +[.xsas] +[ccc] +[ccc.xsas] +adf:2221 +[bbb] + +#4 top groups, 2 of them are duplicate +#5 lower groups, 2 of them are duplicate +#9 all groups, 4 of them... + + +#level1 4, level2 4, level3 9 diff --git a/configure/test/test_group/conf/genconf.sh b/configure/test/test_group/conf/genconf.sh new file mode 100755 index 00000000..f2a32d16 --- /dev/null +++ b/configure/test/test_group/conf/genconf.sh @@ -0,0 +1,15 @@ +#! /bin/sh + +times=10000 + +if [ $# == 1 ] +then + times=$1 +fi + +cat /dev/null > bigconf.conf + +for((i=1;i<=$times;i++)) +do + echo [group_$i] +done >> bigconf.conf diff --git a/configure/test/test_group/conf/nodupgroup.conf b/configure/test/test_group/conf/nodupgroup.conf new file mode 100644 index 00000000..802fee27 --- /dev/null +++ b/configure/test/test_group/conf/nodupgroup.conf @@ -0,0 +1,11 @@ +[a] +[a.b] +xxx:123 +yy:2312 +[.c] +[b] +zzz:2222 +[c] +dd:45324 +[a.d] +asd:22234 diff --git a/configure/test/test_group/conf/nullgroup.conf b/configure/test/test_group/conf/nullgroup.conf new file mode 100644 index 00000000..e69de29b diff --git a/configure/test/test_group/conf/vecgroup.conf b/configure/test/test_group/conf/vecgroup.conf new file mode 100644 index 00000000..6d5d8a53 --- /dev/null +++ b/configure/test/test_group/conf/vecgroup.conf @@ -0,0 +1,13 @@ +[@abc] +[love] +[@bbb] +[@abc] +[here] +[.is] +[here.is.baidu] +[@abc] +[.i] +[..@love] +[..@love] +[...baidu] +[@bbb] diff --git a/configure/test/test_group/test_Configure.cpp b/configure/test/test_group/test_Configure.cpp new file mode 100644 index 00000000..7874257c --- /dev/null +++ b/configure/test/test_group/test_Configure.cpp @@ -0,0 +1,109 @@ +#include +#include +#include + + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} +/** + * @brief +**/ +class test_load_ex_suite : public ::testing::Test{ + protected: + test_load_ex_suite(){}; + virtual ~test_load_ex_suite(){}; + virtual void SetUp() { + //Called befor every TEST_F(test_load_ex_suite, *) + }; + virtual void TearDown() { + //Called after every TEST_F(test_load_ex_suite, *) + }; +}; + + +/** + * @brief check invalid @dupLevel + * @begin_version + **/ +TEST_F(test_load_ex_suite, case_invalidParam) +{ + //TODO + comcfg::Configure conf[3]; + int ret = conf[0].load_ex("conf/", "nullgroup.conf", NULL, -1); + ASSERT_NE(0, ret); + ret = conf[1].load_ex("conf/", "nullgroup.conf", NULL, 4); + ASSERT_NE(0, ret); + ret = conf[2].load_ex("conf/", "nullgroup.conf", NULL, 999); + ASSERT_NE(0, ret); +} + + /** + * @brief check return value with non-duplicate conf + * @begin_version + **/ + TEST_F(test_load_ex_suite, case_nodupGroup) + { + //TODO + comcfg::Configure conf[4]; + int ret = conf[0].load_ex("conf/", "nodupgroup.conf", NULL, 0); + ASSERT_EQ(0, ret); + ret = conf[1].load_ex("conf/", "nodupgroup.conf", NULL, 1); + ASSERT_EQ(0, ret); + ret = conf[2].load_ex("conf/", "nodupgroup.conf", NULL, 2); + ASSERT_EQ(0, ret); + ret = conf[3].load_ex("conf/", "nodupgroup.conf", NULL, 3); + ASSERT_EQ(0, ret); + } + + + /** + * @brief check return value with non-duplicate conf + * @begin_version + **/ + TEST_F(test_load_ex_suite, case_dupGroup) + { + //TODO + comcfg::Configure conf[4]; + int ret = conf[0].load_ex("conf/", "dupgroup.conf", NULL, 0); + ASSERT_EQ(0, ret); + ret = conf[1].load_ex("conf/", "dupgroup.conf", NULL, 1); + ASSERT_EQ(12, ret); + ret = conf[2].load_ex("conf/", "dupgroup.conf", NULL, 2); + ASSERT_EQ(12, ret); + ret = conf[3].load_ex("conf/", "dupgroup.conf", NULL, 3); + ASSERT_EQ(0, ret); + } + + /** + * @brief test big configure file + * @begin_version + **/ + TEST_F(test_load_ex_suite, case_bigConf) + { + //TODO + //call genconf.sh to generate a bigconf.conf + comcfg::Configure conf; + int ret = conf.load_ex("conf/", "bigconf.conf", NULL, 3); + ASSERT_EQ(0, ret); + } + + /** + * @brief test vector in configure file, which should not be regarded as duplicate groups, even not a group + * @begin_version + **/ + TEST_F(test_load_ex_suite, case_vectorInConf) + { + //TODO + comcfg::Configure conf[4]; + int ret = conf[0].load_ex("conf/", "vecgroup.conf", NULL, 0); + ASSERT_EQ(0, ret); + ret = conf[1].load_ex("conf/", "vecgroup.conf", NULL, 1); + ASSERT_EQ(0, ret); + ret = conf[2].load_ex("conf/", "vecgroup.conf", NULL, 2); + ASSERT_EQ(0, ret); + ret = conf[3].load_ex("conf/", "vecgroup.conf", NULL, 3); + ASSERT_EQ(0, ret); + } diff --git a/configure/test/test_ivar.cpp b/configure/test/test_ivar.cpp new file mode 100644 index 00000000..d119cdb8 --- /dev/null +++ b/configure/test/test_ivar.cpp @@ -0,0 +1,55 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_ivar.cpp,v 1.3 2009/08/13 07:23:01 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file test_ivar.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/03/11 22:59:17 + * @version $Revision: 1.3 $ + * @brief + * + **/ + +#include "Configure.h" + +int main(){ + //comcfg::Log::openLowLevel(); + comcfg::Configure conf; + conf.load(".", "t1.conf"); + conf.print(); + bsl::ResourcePool rp; + bsl::var::IVar& ivar = conf.to_IVar(&rp); + //printf("\nivar to_string === \n%s\n\n", ivar.to_string(5).c_str()); + + comcfg::Configure cf2; + printf("\nloadIvar ===> %d \n", cf2.loadIVar(ivar)); + printf("\n=== conf2.dump ===\n%s\n\n", cf2.dump(NULL)); + printf("\n=== conf2.print ===\n"); + cf2.print(); + + return 0; +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_option.cpp b/configure/test/test_option.cpp new file mode 100644 index 00000000..c274e281 --- /dev/null +++ b/configure/test/test_option.cpp @@ -0,0 +1,53 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_option.cpp,v 1.2 2009/01/13 13:35:13 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_option.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/29 23:54:04 + * @version $Revision: 1.2 $ + * @brief + * + **/ + +#include "CmdOption.h" + +int showVersion(comcfg::CmdOption * cmd){ + printf("Version : %g\n", (*cmd)["v"].to_float()); + return 0; +} + +int main(){ + char *s[] = {"-a", "-h", "-v1.0", "--port=80", "roba", "cnhawk", "-ccode", "wtommy", "-f"}; + + comcfg:: CmdOption cmd; + cmd.init(7, s, "a:hv::c::"); + cmd.registHook("v", showVersion); + cmd.runHook(); + return 0; +} + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_option.res b/configure/test/test_option.res new file mode 100644 index 00000000..bb0b8cd5 --- /dev/null +++ b/configure/test/test_option.res @@ -0,0 +1 @@ +Version : 1 diff --git a/configure/test/test_rawdata.cpp b/configure/test/test_rawdata.cpp new file mode 100644 index 00000000..600b2f92 --- /dev/null +++ b/configure/test/test_rawdata.cpp @@ -0,0 +1,40 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_rawdata.cpp,v 1.2 2009/01/13 13:35:13 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_rawdata.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/20 23:06:45 + * @version $Revision: 1.2 $ + * @brief + * + **/ + +#include "reader/RawData.h" +#include + +int main(){ + comcfg::RawData rd; + rd.load("raw.conf"); + for(int i = 0; (size_t)i < rd.lineNum(); ++i){ + printf("%s\n", rd.getLine(i)); + } + return 0; +} + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_rawdata.res b/configure/test/test_rawdata.res new file mode 100644 index 00000000..56436034 --- /dev/null +++ b/configure/test/test_rawdata.res @@ -0,0 +1,57 @@ +#进程名 +COMLOG_PROCNAME : test_others +COMLOG_LEVEL : 16 +#支持的设备数目 +COMLOG_DEVICE_NUM : 5 +#支持的自定义等级 +COMLOG_SELFDEFINE : xiaowei, hello +#支持的设备名 +COMLOG_DEVICE0 : FILE +COMLOG_DEVICE1 : AFILE +COMLOG_DEVICE2 : NET +COMLOG_DEVICE3 : ULLOG +COMLOG_DEVICE4 : ULNET + +#device 0: FILE +FILE_TYPE : FILE +FILE_NAME : test_others_file.log +FILE_PATH : ./log +FILE_SYSLEVEL : 16 +FILE_OPEN : 1 +FILE_SELFLEVEL : xiaowei, hello +FILE_SIZE : 2000 + +#device 1: AFILE +AFILE_TYPE : AFILE +AFILE_NAME : test_others_afile.log +AFILE_PATH : ./log +AFILE_SYSLEVEL : 16 +AFILE_OPEN : 1 +AFILE_SELFLEVEL : xiaowei, hello +AFILE_SIZE : 2000 + +#device 2: NET +NET_TYPE : NET +NET_NAME : test_others_net.log +NET_PATH : 127.0.0.1:9898/data +NET_OPEN : 1 +NET_SYSLEVEL : 16 +NET_SELFLEVEL : xiaowei, hello + +#device 3: ULLOG +ULLOG_TYPE : ULLOG +ULLOG_NAME : test_others_ullog.log +ULLOG_PATH : ./log +ULLOG_SYSLEVEL : 16 +ULLOG_OPEN : 1 +ULLOG_SELFLEVEL : xiaowei, hello +ULLOG_SIZE : 2000 + +#device 4: ULNET +ULNET_TYPE : ULNET +ULNET_NAME : test_others_ulnet.log +ULNET_PATH : 127.0.0.1:9898/log +ULNET_OPEN : 1 +ULNET_SYSLEVEL : 16 +ULNET_SELFLEVEL : xiaowei, hello + diff --git a/configure/test/test_reader.cpp b/configure/test/test_reader.cpp new file mode 100644 index 00000000..d3c338b3 --- /dev/null +++ b/configure/test/test_reader.cpp @@ -0,0 +1,46 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_reader.cpp,v 1.3 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_reader.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 20:14:22 + * @version $Revision: 1.3 $ + * @brief i + * + **/ + +#include "Configure.h" +#include "stdio.h" + +int main(){ + comcfg::Configure conf; + conf.load(".", "new.conf"); + return 0; +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_reader.res b/configure/test/test_reader.res new file mode 100644 index 00000000..e69de29b diff --git a/configure/test/test_rebuild.cpp b/configure/test/test_rebuild.cpp new file mode 100644 index 00000000..069d6545 --- /dev/null +++ b/configure/test/test_rebuild.cpp @@ -0,0 +1,50 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_rebuild.cpp,v 1.3 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_rebuild.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/29 21:29:18 + * @version $Revision: 1.3 $ + * @brief i + * + **/ + +#include "Configure.h" + +int main(){ + comcfg :: Configure conf; + conf.load(".", "rebuild.conf"); + printf("key: %d\n", conf["all"]["xxx"]["key"].to_int32()); + size_t sz; + char * s = conf.dump(&sz); + comcfg :: Configure cf2; + char * buf = cf2.getRebuildBuffer(sz); + memcpy(buf, s, sz); + cf2.rebuild(); + printf("key: %d\n", cf2["all"]["xxx"]["key"].to_int32()); + return 0; +} + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_rebuild.res b/configure/test/test_rebuild.res new file mode 100644 index 00000000..7818de3e --- /dev/null +++ b/configure/test/test_rebuild.res @@ -0,0 +1,2 @@ +key: 10086 +key: 10086 diff --git a/configure/test/test_reloader.cpp b/configure/test/test_reloader.cpp new file mode 100644 index 00000000..76d01b9b --- /dev/null +++ b/configure/test/test_reloader.cpp @@ -0,0 +1,162 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_reloader.cpp,v 1.2 2010/02/09 01:58:01 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file test_conf.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/24 18:47:10 + * @version $Revision: 1.2 $ + * @brief + * + **/ + +#include "ul_conf.h" +#include "Configure.h" +#include +#include +#include "stdio.h" +#include + +using namespace comcfg; + +static int g_run = 0; + +static void * change_threadfun(void *param) +{ + ConfigReloader * prd = (ConfigReloader *)param; + while (g_run) { + printf("g_run:%d, monitor: %d\n",g_run, prd->monitor()); + sleep(10); + } + return NULL; +} + +int int_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("old:%d, new:%d\n", keyold.to_int32(), keynew.to_int32()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int int_string_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("old:%s, new:%s\n", keyold.to_bsl_string().c_str(), keynew.to_bsl_string().c_str()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int uint64_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("[%s]old:%llu, new:%llu\n",keynew.get_key_name().c_str(), keyold.to_uint64(), keynew.to_uint64()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int char_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("[%s]old:%c, new:%c\n",keynew.get_key_name().c_str(), keyold.to_char(), keynew.to_char()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int float_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("[%s]old:%f, new:%f\n",keynew.get_key_name().c_str(), keyold.to_double(), keynew.to_double()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int group_change(const ConfigUnit &, const ConfigUnit &keynew, void * ) { +// printf("[%s]\n",keynew.print()); + keynew.print(); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int file_change(const ConfigUnit &, const ConfigUnit &keynew, void * ) { + printf("file[ivar]:\n"); + keynew["ivar"].print(); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int main(){ + ConfigReloader rd; + if (0 != rd.init("./", "reload.conf","reload.range")) { + printf("init failed\n"); + return 1; + } + rd.add_key_char("ivar.b", char_key_change, NULL); + rd.add_key_char("ivar.b", int_key_change, NULL); + rd.add_key_char("ivar.b", char_key_change, NULL); + printf("add char:%c\n", rd.get_config()->deepGet("ivar.a").to_char()); + rd.add_key_int("ivar.a", char_key_change, NULL); + rd.add_key_int("ivar.a", int_key_change, NULL); + printf("add int:%d\n", rd.get_config()->deepGet("ivar.a").to_int32()); + rd.add_key_uint64("ivar.c", uint64_key_change, NULL); + printf("add int:%llu\n", rd.get_config()->deepGet("ivar.c").to_uint64()); + rd.add_key_float("ivar.d", float_key_change, NULL); + printf("add char:%c\n", rd.get_config()->deepGet("ivar.a").to_char()); + rd.add_key_string("ubclient.proto[4].method[5].name", int_string_change, NULL); + printf("add string:%s\n", rd.get_config()->deepGet("ubclient.proto[4].method[5].name").to_bsl_string().c_str()); + + rd.add_file_monitor(file_change, NULL); + rd.add_file_monitor(file_change, NULL); + printf("add file\n"); + + rd.add_group_monitor("ivar.g", group_change, NULL); + rd.add_group_monitor("ivar", group_change, NULL); + printf("\ngroup:\n");rd.get_config()->deepGet("ivar").print(); + g_run = 1; + pthread_t tid; + pthread_create(&tid, NULL, change_threadfun, &rd); + pthread_join(tid, NULL); + return 0; +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_sigreload.cpp b/configure/test/test_sigreload.cpp new file mode 100644 index 00000000..cdd6e5b0 --- /dev/null +++ b/configure/test/test_sigreload.cpp @@ -0,0 +1,165 @@ +/*************************************************************************** + * + * Copyright (c) 2010 Baidu.com, Inc. All Rights Reserved + * + **************************************************************************/ + + + +/** + * @file test_sigreload.cpp + * @author zhang_rui(com@baidu.com) + * @date 2010-1-28 + * @brief + * + **/ + + +#include "ul_conf.h" +#include "Configure.h" +#include +#include +#include +#include "stdio.h" +#include + +using namespace comcfg; + +static int g_run = 0; +static ConfigReloader rd; +static int selfpipe[2]; + + +static void * change_threadfun(void *param) +{ + ConfigReloader * prd = (ConfigReloader *)param; + while (g_run) { + char ch; + read(selfpipe[0],&ch,1); + printf("g_run:%d, monitor: %d\n",g_run, prd->monitor()); + } + return NULL; +} + +static void change_sig(int) +{ + write(selfpipe[1],"",1); +} + +int int_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("old:%d, new:%d\n", keyold.to_int32(), keynew.to_int32()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int int_string_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("old:%s, new:%s\n", keyold.to_bsl_string().c_str(), keynew.to_bsl_string().c_str()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int uint64_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("[%s]old:%llu, new:%llu\n",keynew.get_key_name().c_str(), keyold.to_uint64(), keynew.to_uint64()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int char_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("[%s]old:%c, new:%c\n",keynew.get_key_name().c_str(), keyold.to_char(), keynew.to_char()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int float_key_change(const ConfigUnit &keyold, const ConfigUnit &keynew, void * ) { + printf("[%s]old:%f, new:%f\n",keynew.get_key_name().c_str(), keyold.to_double(), keynew.to_double()); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int group_change(const ConfigUnit &, const ConfigUnit &keynew, void * ) { +// printf("[%s]\n",keynew.print()); + keynew.print(); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int file_change(const ConfigUnit &, const ConfigUnit &keynew, void * ) { + printf("file[ivar]:\n"); + keynew["ivar"].print(); + if (g_run) { + if (++g_run >3) { + g_run = 0; + } + } + return 0; +} + +int main(){ + + if (0 != rd.init("./", "reload.conf","reload.range")) { + printf("init failed\n"); + return 1; + } + rd.add_key_char("ivar.b", char_key_change, NULL); + printf("add char:%c\n", rd.get_config()->deepGet("ivar.a").to_char()); + rd.add_key_int("ivar.a", int_key_change, NULL); + printf("add int:%d\n", rd.get_config()->deepGet("ivar.a").to_int32()); + rd.add_key_uint64("ivar.c", uint64_key_change, NULL); + printf("add int:%llu\n", rd.get_config()->deepGet("ivar.c").to_uint64()); + rd.add_key_float("ivar.d", float_key_change, NULL); + printf("add char:%c\n", rd.get_config()->deepGet("ivar.a").to_char()); + rd.add_key_string("ubclient.proto[4].method[5].name", int_string_change, NULL); + printf("add string:%s\n", rd.get_config()->deepGet("ubclient.proto[4].method[5].name").to_bsl_string().c_str()); + + rd.add_file_monitor(file_change, NULL); + printf("add file\n"); + + rd.add_group_monitor("ivar", group_change, NULL); + printf("\ngroup:\n");rd.get_config()->deepGet("ivar").print(); + g_run = 1; + + if (pipe(selfpipe) == -1) { + printf("create pipe failed\n"); + return 1; + } + signal(SIGINT, change_sig); + sigset_t zm; + sigemptyset(&zm); + + pthread_t tid; + pthread_create(&tid, NULL, change_threadfun, &rd); + +// for (int i=0;i<3;++i) { +// sigsuspend(&zm); +// } + + pthread_join(tid, NULL); + return 0; +} + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_str.cpp b/configure/test/test_str.cpp new file mode 100644 index 00000000..5ed71c0b --- /dev/null +++ b/configure/test/test_str.cpp @@ -0,0 +1,57 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_str.cpp,v 1.5 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_str.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/30 00:57:26 + * @version $Revision: 1.5 $ + * @brief i + * + **/ + +#include "Configure.h" +#include + +int main(){ + comcfg :: Configure conf; + char buf[128]; + conf.load(".", "str.conf"); + + std::cout<<"str1 : to raw : "< +#include "bsl/var/implement.h" +int main(){ + comcfg::Configure conf, conf2; + conf.load(".", "r.conf", "r.cons"); + printf("=======conf1=========\n"); + conf.print(0); + bsl::var::Dict dict; + bsl::var::Int32 i32 = 1234; + dict["key"] = i32; + bsl :: ResourcePool rp; + conf2.loadIVar(dict);//conf.to_IVar(&rp) + printf("=======conf2=========\n"); + conf2.print(0); + return 0; +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_t1.res b/configure/test/test_t1.res new file mode 100644 index 00000000..e69de29b diff --git a/configure/test/test_to_default.cpp b/configure/test/test_to_default.cpp new file mode 100644 index 00000000..78488e72 --- /dev/null +++ b/configure/test/test_to_default.cpp @@ -0,0 +1,97 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_to_default.cpp,v 1.3 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file test_to_default.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/03/12 01:30:32 + * @version $Revision: 1.3 $ + * @brief + * + **/ + +#include "Configure.h" + + +#define ASSERT(x) do{\ + if(!(x))printf("Assert failed %s:%d\n", __FILE__, __LINE__);\ + else printf("Assertion Successful. %s:%d\n", __FILE__, __LINE__);\ +}while(0) + +int main(){ + using namespace comcfg; + system("touch Nothing.conf"); + system("echo A : B > Nothing.conf"); + comcfg::Configure conf; + int ret = conf.load(".", "Nothing.conf"); + ASSERT(ret == 0); + + int err=99; + char v0 = conf["xxx"].to_char(&err, '0') ; + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v0 == '0' ); + unsigned char v1 = conf["xxx"].to_uchar(&err, '1'); + ASSERT( comcfg::NOSUCHKEY == err ); + ASSERT( v1 == '1' ); + int16_t v2 =conf["xxx"].to_int16(&err, 2) ; + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v2 == 2 ); + u_int16_t v3 =conf["xxx"].to_uint16(&err, 3); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v3 == 3 ); + int v4=conf["xxx"].to_int32(&err, 4); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v4 == 4 ); + u_int32_t v5 =conf["xxx"].to_uint32(&err, 5); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v5 == 5 ); + long long v6 =conf["xxx"].to_int64(&err, 6); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v6 == 6 ); + unsigned long long v7 =conf["xxx"].to_uint64(&err, 7); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v7 == 7 ); + float v8 =conf["xxx"].to_float(&err, 8); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v8 == 8 ); + double v9 =conf["xxx"].to_double(&err, 9); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v9 == 9 ); + bsl_string v10 =conf["xxx"].to_bsl_string(&err, "10"); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v10 == str_t("10") ); + str_t v11 =conf["xxx"].to_raw_string(&err, "11"); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT( v11 == str_t("11") ); + const char * s =conf["xxx"].to_cstr(&err, "12"); + ASSERT( comcfg::NOSUCHKEY == err); + ASSERT(strcmp(s, "12") == 0); + const char * s2 =conf["xxx"].to_cstr(&err); + ASSERT( comcfg::NOSUCHKEY == err); + + return 0; +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_trans_float.cpp b/configure/test/test_trans_float.cpp new file mode 100644 index 00000000..3aacff69 --- /dev/null +++ b/configure/test/test_trans_float.cpp @@ -0,0 +1,66 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_trans_float.cpp,v 1.3 2009/01/20 14:27:12 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_trans_float.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/24 16:17:34 + * @version $Revision: 1.3 $ + * @brief + * + **/ +#include "utils/cc_utils.h" +#include +#include + +void check(const char * s, bool is){ + bool tmp = comcfg::Trans::isFloat(comcfg::str_t(s)); + double k = 0.0; + if(tmp)sscanf(s, "%lf", &k); + printf("[%s] check [%s] %s a float[%g]\n", tmp==is?"OK":"Error", s, tmp?"IS":"ISNOT", k); +} + +int main(){ + check("3.1415926", 1); + check("3.1415926e100", 1); + check("3.1415926E-10", 1); + check("3.1415926e", 0); + check(".1415926", 1); + check("-.1415926", 1); + check("3.E", 0); + check("+-3.1", 0); + check("e103", 0); + check("3.1415926e1.1", 0); + check("3.1415926e-10", 1); + check("3.1415926E+0997", 1); + check("-.141e5926", 1); + check("3+.1415926", 0); + return 0; +} + + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_trans_float.res b/configure/test/test_trans_float.res new file mode 100644 index 00000000..0327fb74 --- /dev/null +++ b/configure/test/test_trans_float.res @@ -0,0 +1,14 @@ +[OK] check [3.1415926] IS a float[3.14159] +[OK] check [3.1415926e100] IS a float[3.14159e+100] +[OK] check [3.1415926E-10] IS a float[3.14159e-10] +[OK] check [3.1415926e] ISNOT a float[0] +[OK] check [.1415926] IS a float[0.141593] +[OK] check [-.1415926] IS a float[-0.141593] +[OK] check [3.E] ISNOT a float[0] +[OK] check [+-3.1] ISNOT a float[0] +[OK] check [e103] ISNOT a float[0] +[OK] check [3.1415926e1.1] ISNOT a float[0] +[OK] check [3.1415926e-10] IS a float[3.14159e-10] +[OK] check [3.1415926E+0997] IS a float[inf] +[OK] check [-.141e5926] IS a float[-inf] +[OK] check [3+.1415926] ISNOT a float[0] diff --git a/configure/test/test_trans_str2str.cpp b/configure/test/test_trans_str2str.cpp new file mode 100644 index 00000000..fc39013e --- /dev/null +++ b/configure/test/test_trans_str2str.cpp @@ -0,0 +1,52 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: test_trans_str2str.cpp,v 1.3 2009/01/20 14:27:12 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_trans_str2str.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/24 18:08:20 + * @version $Revision: 1.3 $ + * @brief + * + **/ +#include "utils/cc_trans.h" +#include +#include + +int main(){ + FILE * fp = fopen("str2str", "r"); + assert(fp); + char buf[1024]; + while(fgets(buf, 1024, fp) != NULL){ + buf[strlen(buf) - 1] = 0; + comcfg::str_t str; + if(comcfg::Trans::str2str(comcfg::str_t(buf), &str) == 0){ + puts("----- Read -----"); + puts(buf); + puts("----- trans to -----"); + puts(str.c_str()); + puts("------ Finish -----"); + } + else { + puts("Error"); + } + } + return 0; +} + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/test_trans_str2str.res b/configure/test/test_trans_str2str.res new file mode 100644 index 00000000..21bd8bfe --- /dev/null +++ b/configure/test/test_trans_str2str.res @@ -0,0 +1,31 @@ +----- Read ----- +"test" +----- trans to ----- +test +------ Finish ----- +----- Read ----- +"Haha"ddd +----- trans to ----- +Haha +------ Finish ----- +----- Read ----- +"\tThis is \"Hawk\".\n"sadf +----- trans to ----- + This is "Hawk". + +------ Finish ----- +----- Read ----- +askdfj;aj jaskdfj;askf +----- trans to ----- +askdfj;aj jaskdfj;askf +------ Finish ----- +----- Read ----- +"\x41---" +----- trans to ----- +A--- +------ Finish ----- +----- Read ----- +"\101---" +----- trans to ----- +A--- +------ Finish ----- diff --git a/configure/test/test_value.conf b/configure/test/test_value.conf new file mode 100644 index 00000000..4a8b7d0d --- /dev/null +++ b/configure/test/test_value.conf @@ -0,0 +1,4 @@ +test_int : 57 +test_float : -.01e-1 +test_str : "\"Hello world ~\"" + diff --git a/configure/test/test_vec_overflow/COMAKE b/configure/test/test_vec_overflow/COMAKE new file mode 100644 index 00000000..d0de1b26 --- /dev/null +++ b/configure/test/test_vec_overflow/COMAKE @@ -0,0 +1,60 @@ +#edit-mode: -*- python -*- +#coding:gbk + +#工作路径. +WORKROOT('../../../../') + +#使用硬链接copy. +CopyUsingHardLink(True) + +#支持32位/64位平台编译 +#ENABLE_MULTI_LIBS(True) + +#C预处理器参数. +CPPFLAGS('-D_GNU_SOURCE -D__STDC_LIMIT_MACROS -DVERSION=\\\"1.9.8.7\\\"') +#为32位目标编译指定额外的预处理参数 +#CPPFLAGS_32('-D_XOPEN_SOURE=500') + +#C编译参数. +CFLAGS('-g -pipe -W -Wall -fPIC') + +#C++编译参数. +CXXFLAGS('-g -pipe -W -Wall -fPIC') + +#IDL编译参数 +IDLFLAGS('--compack') + +#UBRPC编译参数 +UBRPCFLAGS('--compack') + +#头文件路径. +INCPATHS('. ../../ ./include ./output ./output/include') + +#使用库 +LIBS('../../libconfig.a') + +#链接参数. +LDFLAGS('-lpthread -lcrypto -lrt') + +#依赖模块 +CONFIGS('lib2-64/ullib') +CONFIGS('lib2-64/bsl') +CONFIGS('public/spreg') +CONFIGS('com/btest/gtest') + +#为32位/64位指定不同的依赖路径. +#CONFIGS_32('lib2/ullib') +#CONFIGS_64('lib2-64/ullib') + +user_sources='' +user_headers='' + +#可执行文件 +Application('test_vec',Sources('test_vec.cpp')) +#静态库 +#StaticLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#共享库 +#SharedLibrary('test_group',Sources(user_sources),HeaderFiles(user_headers)) +#子目录 +#Directory('demo') + diff --git a/configure/test/test_vec_overflow/Makefile b/configure/test/test_vec_overflow/Makefile new file mode 100644 index 00000000..652cff27 --- /dev/null +++ b/configure/test/test_vec_overflow/Makefile @@ -0,0 +1,137 @@ +#COMAKE2 edit-mode: -*- Makefile -*- +####################64Bit Mode#################### +ifeq ($(shell uname -m),x86_64) +CC=gcc +CXX=g++ +CXXFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CFLAGS=-g \ + -pipe \ + -W \ + -Wall \ + -fPIC +CPPFLAGS=-D_GNU_SOURCE \ + -D__STDC_LIMIT_MACROS \ + -DVERSION=\"1.9.8.7\" +INCPATH=-I. \ + -I../../ \ + -I./include \ + -I./output \ + -I./output/include +DEP_INCPATH=-I../../../../com/btest/gtest \ + -I../../../../com/btest/gtest/include \ + -I../../../../com/btest/gtest/output \ + -I../../../../com/btest/gtest/output/include \ + -I../../../../lib2-64/bsl \ + -I../../../../lib2-64/bsl/include \ + -I../../../../lib2-64/bsl/output \ + -I../../../../lib2-64/bsl/output/include \ + -I../../../../lib2-64/ullib \ + -I../../../../lib2-64/ullib/include \ + -I../../../../lib2-64/ullib/output \ + -I../../../../lib2-64/ullib/output/include \ + -I../../../../public/spreg \ + -I../../../../public/spreg/include \ + -I../../../../public/spreg/output \ + -I../../../../public/spreg/output/include \ + -I../../../../quality/autotest/reportlib/cpp \ + -I../../../../quality/autotest/reportlib/cpp/include \ + -I../../../../quality/autotest/reportlib/cpp/output \ + -I../../../../quality/autotest/reportlib/cpp/output/include \ + -I../../../../third-64/pcre \ + -I../../../../third-64/pcre/include \ + -I../../../../third-64/pcre/output \ + -I../../../../third-64/pcre/output/include + +#============ CCP vars ============ +CCHECK=@ccheck.py +CCHECK_FLAGS= +PCLINT=@pclint +PCLINT_FLAGS= +CCP=@ccp.py +CCP_FLAGS= + + +#COMAKE UUID +COMAKE_MD5=ddd9a97bcbeb7916c2105aa8e4027ac1 COMAKE + + +.PHONY:all +all:comake2_makefile_check test_vec + @echo "[COMAKE:BUILD][Target:'all']" + @echo "make all done" + +.PHONY:comake2_makefile_check +comake2_makefile_check: + @echo "[COMAKE:BUILD][Target:'comake2_makefile_check']" + #in case of error, update 'Makefile' by 'comake2' + @echo "$(COMAKE_MD5)">comake2.md5 + @md5sum -c --status comake2.md5 + @rm -f comake2.md5 + +.PHONY:ccpclean +ccpclean: + @echo "[COMAKE:BUILD][Target:'ccpclean']" + @echo "make ccpclean done" + +.PHONY:clean +clean:ccpclean + @echo "[COMAKE:BUILD][Target:'clean']" + rm -rf test_vec + rm -rf ./output/bin/test_vec + rm -rf test_vec_test_vec.o + +.PHONY:dist +dist: + @echo "[COMAKE:BUILD][Target:'dist']" + tar czvf output.tar.gz output + @echo "make dist done" + +.PHONY:distclean +distclean:clean + @echo "[COMAKE:BUILD][Target:'distclean']" + rm -f output.tar.gz + @echo "make distclean done" + +.PHONY:love +love: + @echo "[COMAKE:BUILD][Target:'love']" + @echo "make love done" + +test_vec:test_vec_test_vec.o \ + ../../libconfig.a + @echo "[COMAKE:BUILD][Target:'test_vec']" + $(CXX) test_vec_test_vec.o -Xlinker "-(" ../../libconfig.a ../../../../com/btest/gtest/output/lib/libgtest.a \ + ../../../../com/btest/gtest/output/lib/libgtest_main.a \ + ../../../../lib2-64/bsl/lib/libbsl.a \ + ../../../../lib2-64/bsl/lib/libbsl_ResourcePool.a \ + ../../../../lib2-64/bsl/lib/libbsl_archive.a \ + ../../../../lib2-64/bsl/lib/libbsl_buffer.a \ + ../../../../lib2-64/bsl/lib/libbsl_check_cast.a \ + ../../../../lib2-64/bsl/lib/libbsl_exception.a \ + ../../../../lib2-64/bsl/lib/libbsl_pool.a \ + ../../../../lib2-64/bsl/lib/libbsl_utils.a \ + ../../../../lib2-64/bsl/lib/libbsl_var.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_implement.a \ + ../../../../lib2-64/bsl/lib/libbsl_var_utils.a \ + ../../../../lib2-64/ullib/lib/libullib.a \ + ../../../../public/spreg/libspreg.a \ + ../../../../quality/autotest/reportlib/cpp/libautotest.a \ + ../../../../third-64/pcre/lib/libpcre.a \ + ../../../../third-64/pcre/lib/libpcrecpp.a \ + ../../../../third-64/pcre/lib/libpcreposix.a -lpthread \ + -lcrypto \ + -lrt -Xlinker "-)" -o test_vec + mkdir -p ./output/bin + cp -f --link test_vec ./output/bin + +test_vec_test_vec.o:test_vec.cpp + @echo "[COMAKE:BUILD][Target:'test_vec_test_vec.o']" + $(CXX) -c $(INCPATH) $(DEP_INCPATH) $(CPPFLAGS) $(CXXFLAGS) -o test_vec_test_vec.o test_vec.cpp + +endif #ifeq ($(shell uname -m),x86_64) + + diff --git a/configure/test/test_vec_overflow/test_vec.cpp b/configure/test/test_vec_overflow/test_vec.cpp new file mode 100644 index 00000000..eea24538 --- /dev/null +++ b/configure/test/test_vec_overflow/test_vec.cpp @@ -0,0 +1,45 @@ +#include +#include +#include +#include "plugin/plgcomlog.h" + +int main(int argc, char **argv) +{ + testing::InitGoogleTest(&argc, argv); + return RUN_ALL_TESTS(); +} +/** + * @brief check if the lib reports the vector overflow situation +**/ +class test_vof_suite : public ::testing::Test{ + protected: + test_vof_suite(){}; + virtual ~test_vof_suite(){}; + virtual void SetUp() { + //Called befor every TEST_F(test_vof_suite, *) + }; + virtual void TearDown() { + //Called after every TEST_F(test_vof_suite, *) + }; +}; + + +/** + * @brief check the log to see the info, and the ret is always 0 + * @begin_version + **/ +TEST_F(test_vof_suite, case_vof) +{ + //TODO + //comcfg::Log::openLowLevel(); + const char *res_file = "vec.res"; + freopen(res_file, "w+", stderr); + comcfg::Configure conf; + int ret = conf.load("./", "vec.conf", "vec.range"); + ASSERT_NE(-1, ret); + + fflush(stderr); + fclose(stderr); + ASSERT_COMLOG_INCLUDE(res_file, "array has too many elements!"); + remove(res_file); +} diff --git a/configure/test/test_vec_overflow/vec.conf b/configure/test/test_vec_overflow/vec.conf new file mode 100644 index 00000000..5bf32d0a --- /dev/null +++ b/configure/test/test_vec_overflow/vec.conf @@ -0,0 +1,5 @@ +[@v1] +[@v2] +[@v1] +[@v2] +[@v1] diff --git a/configure/test/test_vec_overflow/vec.range b/configure/test/test_vec_overflow/vec.range new file mode 100644 index 00000000..e50ad3ea --- /dev/null +++ b/configure/test/test_vec_overflow/vec.range @@ -0,0 +1,9 @@ +struct myvec1{ +}; + +struct myvec2{ +}; + +myvec1 v1[2]; + +myvec2 v2[2]; diff --git a/configure/test/test_xiaowei.cpp b/configure/test/test_xiaowei.cpp new file mode 100644 index 00000000..5ff3bee6 --- /dev/null +++ b/configure/test/test_xiaowei.cpp @@ -0,0 +1,58 @@ +/*************************************************************************** + * + * Copyright (c) 2009 Baidu.com, Inc. All Rights Reserved + * $Id: test_xiaowei.cpp,v 1.4 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file test_xiaowei.cpp + * @author yingxiang(com@baidu.com) + * @date 2009/01/05 11:43:08 + * @version $Revision: 1.4 $ + * @brief i + * + **/ +#include "Configure.h" +#include +int main(){ + //comcfg :: Log :: closeLowLevel(); + comcfg :: Configure conf; + conf.load(".", "xiaowei.conf", NULL); + conf.print(); + std::cout<<"conf size = "< + +using namespace comcfg; +ENV_CHAR_DECL(MAC, 0); +ENV_UCHAR_DECL(MAC, 0); +ENV_INT16_DECL(MAC, 0); +ENV_UINT16_DECL(MAC, 0); +ENV_INT32_DECL(MAC, 0); +ENV_UINT32_DECL(MAC, 0); +ENV_INT64_DECL(MAC, 0); +ENV_UINT64_DECL(MAC, 0); +ENV_FLOAT_DECL(MAC, 0); +ENV_DOUBLE_DECL(MAC, 0); +ENV_BSLSTR_DECL(MAC, 0); + +int main(){ + comcfg::Configure conf; + // test Configure::getErrKeyPath() + conf.load("./", "new.conf"); + comcfg::str_t str; + if(conf["COMLOG"]["FILE"]["TYPE"].get_bsl_string(&str) == 0){ + printf("read = [%s]\n", str.c_str()); + }else{ + printf("No such key: %s\n", conf.getErrKeyPath()); + } + if(conf["COMLOG"]["FILEx"]["TYPE"][2].get_bsl_string(&str) == 0){ + printf("read = [%s]\n", str.c_str()); + }else{ + printf("No such key: %s\n", conf.getErrKeyPath()); + } + try{ + str = conf["COMLOG"]["FILE"]["TYPE"].to_bsl_string(); + printf("to bsl string: %s\n", str.c_str()); + } + catch(bsl::Exception e){ + printf("%s\n", e.what()); + printf("No such key: %s\n", conf.getErrKeyPath()); + } + try{ + conf["COMLOG"]["FILE"]["abc"].to_char(); + } + catch(bsl::Exception e){ + printf("%s\n", e.what()); + printf("No such key: %s\n", conf.getErrKeyPath()); + } + int err; + int tmp; + try { + tmp = conf["COMLOG"]["FILE"]["SIZE"].to_int32(); + printf("read = [%d]\n", tmp);} + catch (bsl::Exception e) { + printf("%s\n", e.what()); + } + + //test ConfigUnit::deepGet() + if(conf.deepGet("COMLOG.FILE.TYPE").get_bsl_string(&str) == 0){ + printf("deepGet(\"COMLOG.FILE.TYPE\") = [%s]\n", str.c_str()); + }else{ + printf("No such key: %s\n", conf.getErrKeyPath()); + } + if(conf.deepGet("COMLOG.DEVICE[2]").get_bsl_string(&str) == 0){ + printf("deepGet(\"COMLOG.DEVICE[2]\") = [%s]\n", str.c_str()); + }else{ + printf("No such key: %s\n", conf.getErrKeyPath()); + } + + printf("dump:%s\n%s\n\n", conf.dump(NULL)); + + comcfg::Configure nc; + bsl::ResourcePool rp; + nc.loadIVar(conf.to_IVar(&rp,&err)); + printf("new dump:%s\n%s\n\n", nc.dump(NULL)); + + //test enviroment macro + printf("ENV_CHAR: MAC= %c\n", g_char_MAC); + printf("ENV_UCHAR: MAC= %c\n", g_uchar_MAC); + printf("ENV_INT16: MAC= %d\n", g_int16_MAC); + printf("ENV_UINT16: MAC= %d\n", g_uint16_MAC); + printf("ENV_INT32: MAC= %d\n", g_int32_MAC); + printf("ENV_UINT32: MAC= %d\n", g_uint32_MAC); + printf("ENV_INT64: MAC= %lld\n", g_int64_MAC); + printf("ENV_UINT64: MAC= %lld\n", g_uint64_MAC); + printf("ENV_FLOAT: MAC= %f\n", g_float_MAC); + printf("ENV_DOUBLE: MAC= %f\n", g_double_MAC); + printf("ENV_BSLSTR: MAC= %s\n", g_bslstr_MAC.c_str()); + + bsl::string a; + printf("%s\n", a.c_str()); + if (a == "") printf("NULL STR\n"); + + + comcfg::Configure conf1; + conf1.load("./","zr.conf"); + const char * tstr; + try { + tstr = conf1["server"][1]["ip"].to_cstr(); + } + catch (bsl::Exception e){ + printf("%s\n", e.what()); + } + printf("to server[1].ip: %s\n", tstr); + printf("to server[1].ip: %s\n", conf1["server"][1]["ip"].to_bsl_string().c_str()); + printf("to person.name: %s\n", conf1["person"]["name"].to_bsl_string().c_str()); + printf("to person.age: %s\n", conf1["person"]["age"].to_bsl_string().c_str()); + printf("to int person.age: %d\n", conf1["person"]["age"].to_int32()); + + + + return 0; +} + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/test/xiaowei.conf b/configure/test/xiaowei.conf new file mode 100644 index 00000000..394c58f3 --- /dev/null +++ b/configure/test/xiaowei.conf @@ -0,0 +1,14 @@ +[@server] +ip : 127.0.0.1 +port : 5123 +[@server] +ip : 127.0.0.2 +port : 1123 +[@server] +ip : 138.3.1.2 +port : 1234 + +[person] +name : xiaowei +age : 1 + diff --git a/configure/utils/cc_exception.h b/configure/utils/cc_exception.h new file mode 100644 index 00000000..55f25d0d --- /dev/null +++ b/configure/utils/cc_exception.h @@ -0,0 +1,121 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: cc_exception.h,v 1.12 2010/04/13 09:59:41 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file exception.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/10 17:49:16 + * @version $Revision: 1.12 $ + * @brief + * + **/ + + +#ifndef __CC_EXCEPTION_H_ +#define __CC_EXCEPTION_H_ + +#include "cc_struct.h" +#include "bsl/exception/bsl_exception.h" +#include "ul_error.h" + + +namespace comcfg{ + enum { + OK = 0, + ERROR,// other error + CONSTRAINT_ERROR, + CONFIG_ERROR, + UNKNOWN, + NOSUCHKEY, + FORMATERROR, + OUTOFRANGE,//超过范围 + NULLVALUE, //空值(get_string时不会返回此错误) + NULLBUFFER, //传入的buf为空 + GROUPTOUNIT, //访问group的to_xxx或get_xxx方法 + DUPLICATED_KEY, /**< 修改configure时,造成重复key */ + DUPLICATED_GROUP, + }; + /* + * @brief configure抛出的所有异常都是ConfigException的子类 + */ + class ConfigException : public bsl::BasicException{ + public: + ConfigException(){}; + ConfigException(const char * s){ + msg = s; + } + ConfigException(const str_t& s){ + msg = s; + } + virtual ~ConfigException() throw(){}; + const char *seeError() throw() { + return msg.c_str(); + } + void pushMsg(const str_t & s) throw(){ + msg.append(str_t(" | ")).append(s); + } + protected: + str_t msg; + }; + class NoSuchKeyException : public bsl::BasicException{}; + class FormatErrorException : public bsl::BasicException{}; + class UnknownException : public bsl::BasicException{}; + class OutOfRangeException : public bsl::BasicException{}; + class NullValueException : public bsl::BasicException{}; + class NullBufferException : public bsl::BasicException{}; + class GroupToUnitException : public bsl::BasicException{}; +#if 0 + class DebugException : protected ConfigException {}; + class TraceException : protected DebugException {}; + class NoticeException : protected TraceException {}; + class WarningException : protected NoticeException {}; + class FatalException : protected WarningException {}; +#endif + class ConfigThrower { + public: + static void throwException(const ErrCode & err){ + switch(err){ + case OK: + break; + case NOSUCHKEY: + throw NoSuchKeyException().pushf("ConfigException.NoSuchKey: %s", ul_geterrbuf()); + break; + case OUTOFRANGE: + throw OutOfRangeException().pushf("ConfigException.OutOfRange: %s", ul_geterrbuf()); + break; + case FORMATERROR: + throw FormatErrorException().pushf("ConfigException.FormatError: %s", ul_geterrbuf()); + break; + case NULLVALUE: + throw NullValueException().pushf("ConfigException.NullValue: %s", ul_geterrbuf()); + break; + case NULLBUFFER: + throw NullBufferException().pushf("ConfigException.NullBuffer: %s", ul_geterrbuf()); + break; + case GROUPTOUNIT: + throw GroupToUnitException().pushf("ConfigException.GroupToUnit: %s", ul_geterrbuf()); + break; + case UNKNOWN: + default: + throw UnknownException().push("ConfigException.Unknown"); + } + } + }; + +} + + + + + + + +#endif //__CC_EXCEPTION_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/utils/cc_log.h b/configure/utils/cc_log.h new file mode 100644 index 00000000..fe2a1ba0 --- /dev/null +++ b/configure/utils/cc_log.h @@ -0,0 +1,94 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: cc_log.h,v 1.5 2009/03/23 03:14:53 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file cc_log.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 15:57:50 + * @version $Revision: 1.5 $ + * @brief + * + **/ + + +#ifndef __CC_LOG_H_ +#define __CC_LOG_H_ + +#include "ul_log.h" + +namespace comcfg{ + class Log{ + static int _fatal, + _warning, + _notice, + _trace, + _debug; + public: + + static void setFatal(int level){ + _fatal = level; + } + + static void setWarning(int level){ + _warning = level; + } + + static void setNotice(int level){ + _notice = level; + } + + static void setTrace(int level){ + _trace = level; + } + + static void setDebug(int level){ + _debug = level; + } + + /** + * @brief 打开低等级的日志 + * + * @return void + * @retval + * @see + * @author yingxiang + * @date 2009/03/19 22:23:50 + **/ + static void openLowLevel(){ + _debug = UL_LOG_DEBUG; + _trace = UL_LOG_TRACE; + _notice = UL_LOG_NOTICE; + } + + static int fatal(){ return _fatal; } + static int warning(){ return _warning; } + static int notice(){ return _notice; } + static int trace(){ return _trace; } + static int debug(){ return _debug; } + }; +} + + + + + + + + + + + + + + + + +#endif //__CC_LOG_H_ + + /* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/utils/cc_struct.h b/configure/utils/cc_struct.h new file mode 100644 index 00000000..a7dd07c3 --- /dev/null +++ b/configure/utils/cc_struct.h @@ -0,0 +1,63 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: cc_struct.h,v 1.6 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file cc_struct.h + * @author yingxiang(com@baidu.com) + * @date 2008/11/26 20:57:17 + * @version $Revision: 1.6 $ + * @brief + * + **/ + + +#ifndef __CC_STRUCT_H_ +#define __CC_STRUCT_H_ + +#include + +#include +#include +#include +#include "bsl/containers/string/bsl_string.h" + +namespace comcfg{ + + + + typedef unsigned char comcfg_type_uchar; /**< uchar */ + typedef signed short comcfg_type_int16; /**< int16 */ + typedef unsigned short comcfg_type_uint16; /**< uint16 */ + typedef signed int comcfg_type_int32; /**< int32 */ + typedef unsigned int comcfg_type_uint32; /**< uint32 */ + typedef signed long long comcfg_type_int64; /**< int64 */ + typedef unsigned long long comcfg_type_uint64; /**< uing64 */ + typedef std::string std_string; /**< std::string */ + typedef bsl::string bsl_string; /**< bsl::string */ +#define CC_CHAR "char" /**< char,出现在约束文件中的类型,下同 */ +#define CC_UCHAR "uchar" /**< uchar */ +#define CC_INT16 "int16_t" /**< int16 */ +#define CC_UINT16 "uint16_t" /**< uint16 */ +#define CC_INT32 "int32_t" /**< int32 */ +#define CC_UINT32 "uint32_t" /**< uint32 */ +#define CC_INT64 "int64_t" /**< int64 */ +#define CC_UINT64 "uint64_t" /**< uing64 */ +#define CC_FLOAT "float" /**< float */ +#define CC_DOUBLE "double" /**< double */ +#define CC_STRING "string" /**< 实际上是bsl::string */ + typedef bsl::string str_t; /**< 标准的内部string类型 */ + typedef int ErrCode; /**< 错误号 */ + +} + + + +#endif //__CC_STRUCT_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/utils/cc_trans.h b/configure/utils/cc_trans.h new file mode 100644 index 00000000..c30c2908 --- /dev/null +++ b/configure/utils/cc_trans.h @@ -0,0 +1,139 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: cc_trans.h,v 1.5 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file cc_trans.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/10 17:48:14 + * @version $Revision: 1.5 $ + * @brief + * + **/ + + +#ifndef __CC_TRANS_H_ +#define __CC_TRANS_H_ + +#include "cc_struct.h" + +namespace comcfg{ + class Trans{ + public: +#if 0 + static const unsigned long long max_uint64 = 0xFFFFFFFFFFFFFFFF; + static const unsigned long long min_uint64 = 0x0; + static const unsigned long long max_int64 = 0x7FFFFFFFFFFFFFFF; + static const unsigned long long min_int64 = 0x8000000000000000; + static const unsigned long long max_uint32 = 0xFFFFFFFF; + static const unsigned long long min_uint32 = 0x0; + static const unsigned long long max_int32 = 0x7FFFFFFF; + static const unsigned long long min_int32 = 0x80000000; + static const unsigned long long max_uint16 = 0xFFFF; + static const unsigned long long min_uint16 = 0x0; + static const unsigned long long max_int16 = 0x7FFF; + static const unsigned long long min_int16 = 0x8000; +#endif + public: + /** + * @brief 判断一个字符串是否是整数格式 + * + * @param [in] str : const str_t& + * @return bool + * @retval + * @see + * @author yingxiang + * @date 2009/03/19 22:36:03 + **/ + static bool isInteger(const str_t & str); + /** + * @brief 判断一个字符串是否是浮点数格式(不检查精度范围) + * + * @param [in] str : const str_t& + * @return bool + * @retval + * @see + * @author yingxiang + * @date 2009/03/19 22:36:52 + **/ + static bool isFloat(const str_t & str); + /** + * @brief 把一个字符串转换成一个int64 + * + * @param [in] __str : const str_t& bsl::string类型的字符串 + * @param [out] buf : int64* 转换结果 + * @return int 0成功,失败:OUTOFRANGE, NULLVALUE, FORMATERROR + * @retval + * @see + * @author yingxiang + * @date 2009/03/19 22:37:22 + **/ + static int str2int64(const str_t & __str, long long * buf); + /** + * @brief 把一个字符串转换成一个uint64 + * + * @param [in] __str : const str_t& bsl::string类型的字符串 + * @param [out] buf : uint64* 转换结果 + * @return int 0成功,失败:OUTOFRANGE, NULLVALUE, FORMATERROR + * @retval + * @see + * @author yingxiang + * @date 2009/03/19 22:40:42 + **/ + static int str2uint64(const str_t & __str, unsigned long long * buf); + /** + * @brief 把一个带有转义字符的字符串进行解析(把\xFF, \022, \n之类的文本转换成实际的字符) + * 这个串必须是双引号开头、双引号结尾。 + * + * 【configure内部使用,如不熟悉内部行为,不推荐使用】 + * + * @param [in] __str : const str_t& bsl::string类型的字符串 + * @param [out] buf : uint64* 转换结果 + * @return int 0成功,失败:FORMATERROR + * @retval + * @see + * @author yingxiang + * @date 2009/03/19 22:40:42 + **/ + static int str2str(const str_t & str, str_t * buf); + /** + * @brief 把一个字符串转换成一个double + * + * @param [in] __str : const str_t& bsl::string类型的字符串 + * @param [out] buf : double* 转换结果 + * @return int 0成功,失败:OUTOFRANGE, NULLVALUE, FORMATERROR + * @retval + * @see + * @author yingxiang + * @date 2009/03/19 22:45:33 + **/ + static int str2double(const str_t & str, double * buf); + + //仅限configure使用 + static str_t cutComment(const str_t & str); + }; +} + + + + + + + + + + + + + + + + +#endif //__CC_TRANS_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/utils/cc_utils.h b/configure/utils/cc_utils.h new file mode 100644 index 00000000..accc8aad --- /dev/null +++ b/configure/utils/cc_utils.h @@ -0,0 +1,47 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: cc_utils.h,v 1.2 2009/08/13 07:23:01 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file cc_utils.h + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 17:55:49 + * @version $Revision: 1.2 $ + * @brief + * + **/ + + +#ifndef __CC_UTILS_H_ +#define __CC_UTILS_H_ + +//#include "cc_error.h" +#include "cc_exception.h" +// #include "cc_log.h" +#include "butil/logging.h" +#include "cc_struct.h" +#include "cc_trans.h" +#include "ul_error.h" + + + + + + + + + + + + + + + +#endif //__CC_UTILS_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/utils/init.cpp b/configure/utils/init.cpp new file mode 100644 index 00000000..67ba51d1 --- /dev/null +++ b/configure/utils/init.cpp @@ -0,0 +1,49 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: init.cpp,v 1.3 2009/02/13 15:25:31 yingxiang Exp $ + * + **************************************************************************/ + + + +/** + * @file init.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/21 16:04:17 + * @version $Revision: 1.3 $ + * @brief + * + **/ + +#include "cc_log.h" +#include "ul_log.h" + +namespace comcfg{ + const int NO_LOG = 0x7fff; + int Log::_fatal = UL_LOG_FATAL; + int Log::_warning = UL_LOG_WARNING; + int Log::_notice = NO_LOG; + int Log::_trace = NO_LOG; + int Log::_debug = NO_LOG; +} + + + + + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/configure/utils/trans.cpp b/configure/utils/trans.cpp new file mode 100644 index 00000000..1e28affb --- /dev/null +++ b/configure/utils/trans.cpp @@ -0,0 +1,353 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: trans.cpp,v 1.8 2009/11/10 04:50:30 scmpf Exp $ + * + **************************************************************************/ + + + +/** + * @file trans.cpp + * @author yingxiang(com@baidu.com) + * @date 2008/12/24 15:17:20 + * @version $Revision: 1.8 $ + * @brief + * + **/ +#include "cc_utils.h" + +namespace comcfg{ + + bool Trans :: isInteger(const str_t & str){ + for(int i = 0; i < (int)str.size(); ++i){ + if(isdigit(str[i]) || (str[i] == '-' && i == 0) || + (str[i] == '+' && i == 0)){ + continue; + } + else{ + return false; + } + } + return true; + } + + //Float状态机,检查某个字符串是否为float + //float的组成如下,第二行为状态号: + // [+-][digit][.][digit][Ee][+-][digit] '\0' -> true false + // 0 1 2 3 4 5 6 7 -1 -2 + enum{digit = 0, sig=1, dot=2, E=3, end=4}; + static int g_float_table[8][5] = { + //digit sig dot E end + {2, 1, 3, -2, -2}, // 0 + {2, -2, 3, -2, -2},// 1 + {2, -2, 3, 5, -1},//2 + {4, -2, -2, -2, -2},//3 + {4, -2, -2, 5, -1}, //4 + {7, 6, -2, -2, -2},//5 + {7, -2, -2, -2, -2},//6 + {7, -2, -2, -2, -1} //7 + }; + //举例:以g_float_table[2]为例: + //当前处于状态2 (digit),如果读到数字,仍然处于状态2.如果读到正负号,出错(-2) + //如果读到点,变为状态3,如果读到字母E,变为状态5,如果读到结尾,此时已经满足isFloat为true(-1) + bool floatAutoMachine(int status, const str_t & str, int nextpos){ + if(status == -1){ + return true; + }else if(status == -2){ + return false; + } + char nextchar = (int)str.size() > nextpos ? str[nextpos] : '\0'; + int next; + if(isdigit(nextchar)){ + next = digit; + }else if(nextchar == '+' || nextchar == '-'){ + next = sig; + }else if(nextchar == '.'){ + next = dot; + }else if(nextchar == 'E' || nextchar == 'e'){ + next = E; + }else if(nextchar == '\0'){ + next = end; + }else{ + return false; + } + return floatAutoMachine(g_float_table[status][next], str, nextpos+1); + } + + bool Trans :: isFloat(const str_t & str){ + return floatAutoMachine(0, str, 0); + } + + static str_t getFirstPart(const str_t & str){ + for(int i = 0; i < (int)str.size(); ++i){ + if(isspace(str[i]) || str[i] == '#'){ + return str.substr(0, i); + } + } + return str; + } + +#if 0 + int Trans :: str2double(const str_t & __str, double * buf){ + if(! __str.size()){ + ul_writelog(Log::notice(), "Config : Null value"); + return NULLVALUE; + } + str_t str = getFirstPart(__str); + if(isFloat(str)){ + if( sscanf(str.c_str(), "%lf", buf) == 1 ){ + ul_writelog(Log::trace(), "Read value [%s] as double/float = [%g]", __str.c_str(), *buf); + return 0; + } + } + ul_writelog(Log::notice(), "Config : Format error"); + return FORMATERROR; + } +#endif + int Trans :: str2double(const str_t & __str, double * buf){ + if(! __str.size()){ + LOG(INFO) << "Config : Null value"; + return NULLVALUE; + } + str_t str = getFirstPart(__str); + char *endptr = NULL; + errno = 0; + *buf = strtod(str.c_str(), &endptr); + if(errno == ERANGE){ + LOG(INFO) << "Config : str2double : out of range"; + return OUTOFRANGE; + } + if(*endptr != '\0'){ + LOG(INFO) << "Config : str2double : Format error char=[" << *endptr << "]"; + return FORMATERROR; + } + return 0; + } +#if 0 + static const str_t max_uint = "18446744073709551615"; + static bool uint64_range(str_t str){ + int i; + for(i = 0; i < (int)str.size(); ++i){ + if(str[i] != '0'){ + break; + } + } + if(i){ + str = str.substr(i); + } + if(str.size() > max_uint.size() || + (str.size() == max_uint.size() && max_uint < str)){ + return false; + } + return true; + } +#endif + int Trans :: str2uint64(const str_t & __str, unsigned long long * buf){ + if(! __str.size()){ + LOG(INFO) << "Config : Null value"; + return NULLVALUE; + } + str_t str = getFirstPart(__str); + char *endptr = NULL; + if(str[0] == '-'){ + //strtoull有一个问题,会将-1转化成0xFFFFFFFF + return FORMATERROR; + } + errno = 0; + *buf = strtoull(str.c_str(), &endptr, 0); + if(errno == ERANGE){ + LOG(INFO) << "Config : str2uint64 : Out of range"; + return OUTOFRANGE; + } + if(*endptr != '\0'){ + LOG(INFO) << "Config : str2uint64 : Format error char=[" << *endptr << "]"; + return FORMATERROR; + } + return 0; + } + + int Trans :: str2int64(const str_t & __str, long long * buf){ + if(! __str.size()){ + LOG(INFO) << "Config : Null value"; + return NULLVALUE; + } + str_t str = getFirstPart(__str); + char *endptr = NULL; + errno = 0; + *buf = strtoll(str.c_str(), &endptr, 0); + if(errno == ERANGE){ + LOG(INFO) << "Config : str2int64 : Out of range"; + return OUTOFRANGE; + } + if(*endptr != '\0'){ + LOG(INFO) << "Config : str2int64 : " << __str.c_str() << " Format error char=[" << *endptr << "]"; + return FORMATERROR; + } + return 0; + } +#if 0 + //废弃接口 + int Trans :: str2int(const str_t & __str, Trans :: Integer * buf){ + if(! __str.size()){ + ul_writelog(Log::notice(), "Config : Null value"); + return NULLVALUE; + } + str_t str = getFirstPart(__str); + if(isInteger(str)){ + if(str[0] == '-'){ + if(! uint64_range(str.substr(1))){ + ul_writelog(Log::notice(), "Config : Out of range"); + return OUTOFRANGE; + } + buf->negative = true; + if( sscanf(str.c_str(), "%llu", &buf->val) == 1){ + ul_writelog(Log::debug(), "Read value [%s] as Integer = [-%llu]", __str.c_str(), buf->val); + return 0; + } + } + else{ + if(! uint64_range(str)){ + ul_writelog(Log::notice(), "Config : Out of range"); + return OUTOFRANGE; + } + buf->negative = false; + if( sscanf(str.c_str(), "%llu", &buf->val) == 1){ + ul_writelog(Log::debug(), "Read value [%s] as Integer = [%llu]", __str.c_str(), buf->val); + return 0; + } + } + } + ul_writelog(Log::notice(), "Config : Format error"); + return FORMATERROR; + } +#endif + /** + * \0 空字符(NULL) 00H/0 + * \n 换行符(LF) 0AH/10 + * \r 回车符(CR) 0DH/13 + * \t 水平制表符(HT) 09H/9 + * \v 垂直制表(VT) 0B/11 + * \a 响铃(BEL) 07/7 + * \b 退格符(BS) 08H/8 + * \f 换页符(FF) 0CH/12 + * \’ 单引号 27H/39 + * \" 双引号 22H/34 + * \\ 反斜杠 5CH/92 + * \ddd 任意字符 三位八进制 + * \xhh 任意字符 二位十六进制 + */ + static int hex2int(char c){ + if(c >= 'A' && c <= 'F'){ + return int(c - 'A' + 10); + } + if(c >= 'a' && c <= 'f'){ + return int(c - 'a' + 10); + } + if(c >= '0' && c <= '9'){ + return int(c - '0'); + } + return -255; + } + int Trans :: str2str(const str_t & str, str_t * buf){ + if(str.size() == 0 || str[0] != '\"'){ + *buf = str; + return 0; + } + else{ + *buf = ""; + for(int i = 1; i < (int)str.size(); ++i){ + if( str[i] == '\"'){ + return 0; + } + else if(str[i] == '\\'){ + ++i; + if(i >= (int)str.size()){ + return FORMATERROR; + } + switch(str[i]){ + case '0': + buf->push_back('\0');break; + case 'n': + buf->push_back('\n');break; + case 'r': + buf->push_back('\r');break; + case 't': + buf->push_back('\t');break; + case 'v': + buf->push_back('\v');break; + case 'a': + buf->push_back('\a');break; + case 'b': + buf->push_back('\b');break; + case 'f': + buf->push_back('\f');break; + case '\'': + buf->push_back('\'');break; + case '\"': + buf->push_back('\"');break; + case '\\': + buf->push_back('\\');break; + case 'x': + default: + if(i+2 >= (int)str.size()){ + return FORMATERROR; + } + if(str[i] == 'x'){ + int c = hex2int(str[i+1]) * 16 + hex2int(str[i+2]); + if(c < 0){ + return FORMATERROR; + } + else{ + buf->push_back(char(c)); + } + } + else if(str[i] >= '0' && str[i] < '8'){ + int c = int(str[i] - '0') * 64 + int(str[i+1] - '0') * 8 + int(str[i+2] - '0'); + if(c > 255){ + return FORMATERROR; + } + else{ + buf->push_back(char(c)); + } + } + else{ + return FORMATERROR; + } + i += 2; + } + } + else{ + buf->push_back(str[i]); + } + } + } + return FORMATERROR; + } + + str_t Trans :: cutComment(const str_t & str){ + for(int i = 0; i < (int)str.size(); ++i){ + if(str[i] == '#'){ + return str.substr(0, i); + } + } + return str; + } + +} + + + + + + + + + + + + + + + +/* vim: set ts=4 sw=4 sts=4 tw=100 */ diff --git a/predictor/common/CMakeLists.txt b/predictor/common/CMakeLists.txt index 53b42e35..9708b7ed 100644 --- a/predictor/common/CMakeLists.txt +++ b/predictor/common/CMakeLists.txt @@ -1,4 +1,4 @@ add_library(common ${CMAKE_CURRENT_LIST_DIR}/constant.cpp ) -add_dependencies(common brpc) +add_dependencies(common brpc configure) diff --git a/predictor/op/CMakeLists.txt b/predictor/op/CMakeLists.txt index 8f1ece68..ea21de11 100644 --- a/predictor/op/CMakeLists.txt +++ b/predictor/op/CMakeLists.txt @@ -5,4 +5,4 @@ add_library(op STATIC ${CMAKE_CURRENT_LIST_DIR}/sparse_echo_op.cpp ${CMAKE_CURRENT_LIST_DIR}/write_json_op.cpp ) -add_dependencies(op proto) +add_dependencies(op proto brpc configure) diff --git a/spreg/CMakeLists.txt b/spreg/CMakeLists.txt new file mode 100644 index 00000000..3b4b837d --- /dev/null +++ b/spreg/CMakeLists.txt @@ -0,0 +1,4 @@ +FILE(GLOB spreg_srcs ${CMAKE_CURRENT_LIST_DIR}/*.cpp) +add_library(spreg ${spreg_srcs}) +include_directories(${CMAKE_CURRENT_LIST_DIR}/include) +message(STATUS ${CMAKE_CURRENT_LIST_DIR}/include) diff --git a/spreg/spreg.cpp b/spreg/spreg.cpp new file mode 100644 index 00000000..cc6d90a0 --- /dev/null +++ b/spreg/spreg.cpp @@ -0,0 +1,475 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: spreg.cpp,v 1.9 2009/02/06 07:16:04 baonh Exp $ + * + **************************************************************************/ + + + +/** + * @file spreg.cpp + * @author baonh(baonenghui@baidu.com) + * @date 2008/05/27 20:03:06 + * @version $Revision: 1.9 $ + * @brief + * + **/ + +#include +#include +#include + +#include "spreg.h" + +struct _spreg_t { + pcre *_re; + pcre_extra *_extra; +}; + +static const char *const spreg_err_list[] = { + "", + "no match", + "bad argument", + "bad option", + "bad magic", + "unknown opcode", + "unknown node", + "no memory", + "no substring", + "match limit", + "callout", + "bad utf8", + "bad utf8 offset", + "partial", + "bad partial", + "internal error", + "bad count", + "dfa uitem", + "dfa ucond", + "dfa match limit", + "dfa recurse", + "recurse limit", + "null wslimit", + "bad newline" +}; + + + +spreg_match_t *spreg_match_init (int n) +{ + spreg_match_t *re_match; + re_match = (spreg_match_t *)malloc(sizeof(spreg_match_t)*((n/2)+1)*3); + return re_match; +} + +spreg_t * spreg_init(const char *reg, + const char **errinfo, + int option) +{ + static const char *memory_error = "failed to get memory"; + static const char *reg_null = "reg is NULL"; + char const *err = NULL; + int erroffset = 0; + spreg_t *re = NULL; + + if (NULL == reg) { + err = reg_null; + goto fail; + } + re = (spreg_t *)calloc(sizeof(spreg_t), 1); + if (NULL == re) { + err = memory_error; + goto fail; + } + re->_re = pcre_compile(reg, option, &err, &erroffset, NULL); + if (NULL == re->_re) { + goto fail; + } + re->_extra = pcre_study(re->_re, 0, &err); + if (err != NULL) { + goto fail; + } + if (errinfo != NULL) { + *errinfo = err; + } + return re; + +fail: + if (errinfo != NULL) { + *errinfo = err; + } + if (re != NULL) { + if (re->_re != NULL) { + pcre_free(re->_re); + } + if (re->_extra != NULL) { + pcre_free(re->_extra); + } + free(re); + } + return NULL; +} + + +int spreg_search(const spreg_t* re, + const char* src, + int src_size, + spreg_match_t *rmatch, + int n, + int option) +{ + if (NULL == re || NULL == src || src_size < 0) { + return SPREG_NULL; + } + + int ret = pcre_exec(re->_re, + re->_extra, + src, + src_size, + 0, + option, + (int*)rmatch, + 3*n); + + if (0 == ret) { + ret = n; + } + return ret; + +} + + + +int spreg_match(const spreg_t* re, + const char *src, + int src_size, + spreg_match_t *rmatch, + int n, + int option) +{ + spreg_match_t *res = rmatch; + int res_n = n; + int ret = 0; + if (NULL == re || NULL == src || src_size < 0) { + return SPREG_NULL; + } + if (NULL == rmatch || 0 == n) { + int capturecount = 0; + pcre_fullinfo(re->_re, NULL, PCRE_INFO_CAPTURECOUNT, &capturecount); + res_n = capturecount + 1; + res = spreg_match_init(res_n); + if (NULL == res) { + return SPREG_NOMEMORY; + } + } + ret = spreg_search(re, src, src_size, res, res_n, option); + + + if (!(ret > 0 && 0 == res[0].match_begin && src_size == res[0].match_end)) { + ret = SPREG_NOMATCH; + } + if (NULL == rmatch || 0 == n) { + spreg_match_destroy(res); + } + return ret; + +} + + +int spreg_search_all(const spreg_t *re, + const char *src, + int src_size, + spreg_callback_t *callback, + void *arg, + int option) +{ + if (NULL == re || NULL == callback || src_size < 0) { + return SPREG_NULL; + } + int n = 0; + spreg_match_t *res = NULL; + int capturecount = 0; + int offset = 0; + int ret = 0; + int capn = 0; + spreg_callback_param_t callback_match; + + pcre_fullinfo(re->_re, NULL, PCRE_INFO_CAPTURECOUNT, &capturecount); + n = capturecount + 1; + res = spreg_match_init(n); + if (NULL == res) { + return SPREG_NOMEMORY; + } + callback_match.src = src; + callback_match.src_size = src_size; + callback_match.rmatch = res; + callback_match.arg = arg; + do { + capn = spreg_search(re, src + offset, + src_size - offset, res, n, option); + + if (capn > 0) { + ret ++; + callback_match.nrmatch = capn; + for (int i = 0; i < callback_match.nrmatch; ++i) { + res[i].match_begin += offset; + res[i].match_end += offset; + } + + if (res[0].match_end == res[0].match_begin) { + offset = res[0].match_end + 1; + } else { + offset = res[0].match_end; + } + if (callback(&callback_match) < 0) { + break; + } + if (offset >= src_size) break; + } + } while (capn > 0); + + spreg_match_destroy(res); + return ret; +} + +int spreg_split(const spreg_t* re, + const char* src, + int src_size, + spreg_callback_t *callback, + void *arg, + int option) +{ + if (NULL == re || NULL == src || NULL == callback || + src_size < 0) { + return SPREG_NULL; + } + int n = 0; + spreg_match_t *res = NULL; + spreg_callback_param_t callback_match; + int capturecount = 0; + int offset = 0; + int ret = 0; + int capn = 0; + pcre_fullinfo(re->_re, NULL, PCRE_INFO_CAPTURECOUNT, &capturecount); + n = capturecount + 1; + res = spreg_match_init(n + 1); + if (NULL == res) { + return SPREG_NOMEMORY; + } + callback_match.src = src; + callback_match.src_size = src_size; + callback_match.rmatch = res; + callback_match.arg = arg; + do { + capn = spreg_search(re, src + offset, + src_size - offset, (res+1), n, option); + + + if (capn > 0) { + ret ++; + callback_match.nrmatch = capn + 1; + for (int i = 1; i < callback_match.nrmatch; ++i) { + res[i].match_begin += offset; + res[i].match_end += offset; + } + res[0].match_begin = offset; + res[0].match_end = res[1].match_begin; + + if (res[1].match_end == res[1].match_begin) { + offset = res[1].match_end + 1; + res[0].match_end ++; + } else { + offset = res[1].match_end; + } + + if (callback(&callback_match) < 0) { + goto end; + } + if (offset >= src_size) break; + + } + } while (capn > 0 && offset < src_size); + + if (offset < src_size) { + res[1].match_begin = -1; + res[1].match_end = -1; + res[0].match_begin = offset; + res[0].match_end = src_size; + callback_match.nrmatch = 1; + ret ++; + if (callback(&callback_match) < 0) { + goto end; + } + } +end: + spreg_match_destroy(res); + + return ret; +} + +typedef struct _replace_type_t { + int error; + int limit; + int last_match; + const char *replace_string; + char *dst; + char *dst_end; +} replace_type_t; + +static int replace_call_back(spreg_callback_param_t *callback_match) +{ + replace_type_t *replace = (replace_type_t *)(callback_match->arg); + + int match_len = 0; + int n = callback_match->nrmatch; + const char *walk = replace->replace_string; + const char *src = callback_match->src; + char *buffer = replace->dst; + char *buffer_end = replace->dst_end; + spreg_match_t *rmatch = callback_match->rmatch; + int copy_len = rmatch[0].match_begin - replace->last_match; + + int backref = 0; + + if (copy_len != 0) { + if (buffer + copy_len < buffer_end) { + memcpy(buffer, src + replace->last_match, copy_len); + buffer += copy_len; + } else { + replace->error = -1; + } + } + replace->last_match = rmatch[0].match_end; + while (*walk && buffer + 1 < buffer_end) { + if ('\\' == *walk) { + if (walk[1] > '9' || walk[1] < '1') { + if (walk[1] == '\\') { + *buffer++ = '\\'; + walk += 2; + } else { + ++ walk; + } + continue; + } + backref = walk[1] - '0'; + if (backref < n) { + match_len = rmatch[backref].match_end - rmatch[backref].match_begin; + if (buffer + match_len >= buffer_end) { + match_len = buffer_end - buffer; + replace->error = -1; + } + memcpy(buffer, src + rmatch[backref].match_begin, (size_t)match_len); + buffer += match_len; + walk += 2; + continue; + } + } + *buffer++ = *walk++; + } + replace->dst = buffer; + if (1 == replace->limit) { + //达到替换的数量限制,直接memcpy + if (replace->dst + callback_match->src_size - rmatch[0].match_end < buffer_end) { + memcpy(buffer, src + rmatch[0].match_end, + (size_t)(callback_match->src_size - rmatch[0].match_end)); + replace->dst += callback_match->src_size - rmatch[0].match_end; + } else { + //超过buffer的大小 + replace->error = -1; + } + return -1; + } else if (replace->error < 0) { + return -1; + } else if (replace->limit > 1) { + replace->limit --; + } + return 0; +} + +int spreg_replace(const spreg_t *re, + const char *src, + int src_size, + const char *replace_string, + char * dst, + int dst_size, + int limit, + int option) +{ + if (NULL == re || NULL == src || NULL == dst || + NULL == replace_string || src_size <= 0 || + dst_size <= 0 || limit < 0) { + return SPREG_NULL; + } + replace_type_t replace; + + replace.replace_string = replace_string; + replace.dst = dst; + replace.dst_end = dst + dst_size; + replace.error = 0; + replace.limit = limit; + replace.last_match = 0; + int ret = 0; + ret = spreg_search_all(re, src, src_size, replace_call_back, &replace, option); + + if (ret > 0) { + ret = replace.dst - dst; + if (replace.error < 0) { + return SPREG_BADBUFFER; + } else { + if (src_size != replace.last_match && replace.limit != 1) { + memcpy(replace.dst, src + replace.last_match, src_size - replace.last_match); + ret += src_size - replace.last_match; + } + } + } else if (0 == ret) { + //没有找到要替换的字符串,直接memcpy + if (src_size > dst_size) { + ret = SPREG_BADBUFFER; + } else { + memcpy(dst, src, (size_t)src_size); + ret = src_size; + } + } + return ret; +} + +int spreg_destroy(spreg_t *re) +{ + if (NULL != re) { + if (NULL != re->_re) { + pcre_free(re->_re); + re->_re = NULL; + } + + if (NULL != re->_extra) { + pcre_free(re->_extra); + re->_extra = NULL; + } + free(re); + } + return 0; +} + +int spreg_match_destroy(spreg_match_t *rmatch) +{ + if (NULL != rmatch) { + free(rmatch); + } + return 0; +} + +const char *spreg_error(int err) +{ + static const char *unknown = "unknown error code"; + static const char *badbuffer = "buffer is too small"; + err = -err; + if (err < 0) { + return unknown; + } + if (err >= (int)(sizeof(spreg_err_list)/sizeof(spreg_err_list[0]))) { + return badbuffer; + } + return spreg_err_list[err]; +} +/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ diff --git a/spreg/spreg.h b/spreg/spreg.h new file mode 100644 index 00000000..00089c1c --- /dev/null +++ b/spreg/spreg.h @@ -0,0 +1,300 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: spreg.h,v 1.6 2009/02/06 07:16:04 baonh Exp $ + * + **************************************************************************/ + + + +/** + * @file regexapi.h + * @author baonh(baonenghui@baidu.com) + * @version $Revision: 1.6 $ + * @brief COM REGEX 是对正则表式库PCRE进行的封装,在PCRE的基础上增加一些功能, + * 并进行了一定的简化,方便使用 + * + **/ + + +#ifndef __SPREG_H_ +#define __SPREG_H_ + +#include "pcre.h" + +/** +* @brief 错误码 +* +* +*/ +enum { + SPREG_NOMATCH = PCRE_ERROR_NOMATCH, /**< 不匹配 -1 */ + SPREG_NULL = PCRE_ERROR_NULL, /**< 传入参数非法 -2 */ + SPREG_BADOPTION = PCRE_ERROR_BADOPTION, /**< 匹配选项设置错误 -3 */ + SPREG_NOMEMORY = PCRE_ERROR_NOMEMORY, /**< 内存不够 -6 */ + SPREG_MATCHLIMIT = PCRE_ERROR_MATCHLIMIT, /**< 匹配数量过多 -8 */ + SPREG_BADUTF8 = PCRE_ERROR_BADUTF8, /**< 错误的UTF8编码 -10 */ + SPREG_INTERNAL = PCRE_ERROR_INTERNAL, /**< 内部错误 -14 */ + SPREG_BADNEWLINE = PCRE_ERROR_BADNEWLINE, /**< NEWLINE错误 -23 */ + SPREG_BADBUFFER = -99 /**< buffer不足,在PCRE中没有这个错误号*/ + /**< 是在@spreg_replace中替换结果的*/ + /**< 串缓冲空间太小时返回 */ +}; + +//正则匹配的选项 +#define SPREG_DEFAULT 0 /**< 默认选项 */ +#define SPREG_CASELESS PCRE_CASELESS /**< 忽略大小写 */ +#define SPREG_MULTILINE PCRE_MULTILINE /**< 采用多行模式,^ $可以匹配\r\n */ +#define SPREG_DOTALL PCRE_DOTALL /**< .号可以匹配\r\n */ +#define SPREG_NOTBOL PCRE_NOTBOL /**< ^不匹配串开头 */ +#define SPREG_NOTEOL PCRE_NOTEOL /**< $不匹配串末尾 */ +#define SPREG_UNGREEDY PCRE_UNGREEDY /**< 非贪婪模式 */ +#define SPREG_NOTEMPTY PCRE_NOTEMPTY /**< 匹配时不匹配空串 */ +#define SPREG_UTF8 PCRE_UTF8 /**< UTF8模式 */ +#define SPREG_NO_UTF8_CHECK PCRE_NO_UTF8_CHECK /**< 使用UTF8模式但不检查UTF8是否合法*/ + + + +/** + * @brief 存储每个匹配的返回结果 + * + * 每次匹配后除了 整个正则表达式匹配的串位置,还包括使用'('')'包含的子匹配表达式 + * + * + * 使用需要spreg_match_init出来,当成数组进行使用.下标0的位置是整个正则表达式匹配的串位置, + * 子匹配表达式顺序和'('出现的先后顺序相同 + * +**/ +typedef struct _spreg_match_t { + int match_begin; /**< 匹配串在原串中的开始位置 */ + int match_end; /**< 匹配串在原串中终止位置 */ +} spreg_match_t; + +/** + * @brief 用来做匹配的结构体 + * + * 使用需要spreg_init出来,使用后需要销毁 + * 一个spreg_t init好后在多个线程中使用是安全的 + * +**/ +typedef struct _spreg_t spreg_t; + + + +/** +* @brief 回调函数传入的参数,包括了匹配结果和进行匹配的目标串 +* +* 回调函数类型spreg_callback_t使用的参数,@spreg_search_all和 @spreg_split需要使用到 +* +* @note 在@spreg_search_all中rmatch中是代表的是每一次的匹配结果,包括了子匹配串。下标0位置表示 +* 完整的匹配串的位置。 +* +* 在@spreg_split中,rmatch[0]的表示分割串的位置,rmatch[1]的位置代表分割串后面第一个满足正则 +* 表达式的位置,rmatch[2]以后是其匹配的子匹配串 +*/ +typedef struct _spreg_callback_param_t { + spreg_match_t *rmatch; /**< 每一次的匹配结果,包括了子匹配串 */ + const char *src; /**< 进行匹配的目标串指针 */ + void *arg; /**< 用户传入自定义参数 */ + int nrmatch; /**< (子)匹配串个数 */ + int src_size; /**< 进行匹配的目标串长度 */ +} spreg_callback_param_t; + +/** + * @brief 回调函数类型 + * + * @param [in] callback_match : 回调函数传入的参数,包括了匹配结果和进行匹配的目标串 + * 回调函数返回值小于0,将停止匹配过程 + * 见@spreg_callback_param_t + * @author baonh +**/ +typedef int spreg_callback_t(spreg_callback_param_t *callback_match); + +/** + * @brief 分配返回结果使用的空间 + * + * 分配返回结果使用的空间,n为可存放的最大的匹配串个数, + * 正则表达式中用()包起来的子字符串的个数 + * + * @param [in] n : 最大的(子)匹配串个数 + * @return 存放正则匹配的返回结果 NULL为失败 + * @author baonh +**/ +spreg_match_t *spreg_match_init (int n); + +/** + * @brief 用正则表达式进行初始化 + * + * @param [in] reg : 需要初始化的正则表达式 + * @param [in] errinfo : 如果出错返回结果的错误描述,由于出错的类型非常多,不适合使用返回值 + * @param [in] option : 进行初始化的选项 + * - SPREG_DEFAULT 默认选项 + * - SPREG_CASELESS 忽略大小写 + * - SPREG_MULTILINE 使用多行模式 ^ $ 可以匹配 \r\n前后 + * - SPREG_DOTALL . 号可以匹配包括 \r\n在内的换行符 + * - SPREG_UNGREEDY 使用非贪婪模式 + * - SPREG_UTF8 使用UTF8模式,可以检查UTF8编码是否合法 + * - SPREG_NO_UTF8_CHECK 不检查UTF8编码是否合法 + * + * @return 初始化后的spreg_t, 是进行正则表达式匹配使用的句柄 + * @author baonh +**/ +spreg_t * spreg_init(const char *reg, + const char **errinfo = NULL, + int option = SPREG_DEFAULT); + +/** + * @brief 在src中查找符合re 的字符串 + * + * @param [in] : 进行查找的正则表达式句柄,由spreg_init初始化 + * @param [in] src : 需要查找的目标字符串 + * @param [in] src_size : 需要查找的目标字符串长度 + * @param [out] rmatch : 匹配的结果,如果这里设为NULL, n必须为0,否则会报错, + *             此时返回值为0表示src中存在符合re 的字符串 + * @param [in] n : 匹配的结果的最大(子)匹配串个数 + * @param [in] option : 进行匹配的选项 + * - SPREG_DEFAULT 默认选项 + * - SPREG_NO_UTF8_CHECK 不检查UTF8编码是否合法(re使用UTF8模式) + * - SPREG_NOTBOL 使用了SPREG_MULTILINE 后^不匹配字符串开头, + * 只匹配’\r’’\n’之后的新行开始, + * 没有指定PCRE_MULTILINE,这个选项无效 + * - SPREG_NOTEOL 使用了SPREG_MULTILINE后$不匹配字符串末尾, + * 只匹配以’\r’’\n’做为结束符的末尾, + * 没有指定PCRE_MULTILINE,这个选项无效 + * @return >0成功,返回匹配的子匹配串数量 非0为返回错误 见 错误码说明 + * 0 是当n == 0 时, 匹配成功返回的 + * @author baonh +**/ +int spreg_search(const spreg_t *re, + const char *src, + int src_size, + spreg_match_t *rmatch, + int n, + int option = SPREG_DEFAULT); +/** + * @brief 判断目标串 src是否完全匹配 正则表达式 re + * + * + * @param [in] re : 进行查找的正则表达式句柄,由spreg_init初始化 + * @param [in] src : 需要匹配的目标字符串 + * @param [in] src_size : 需要查找的目标字符串长度 + * @param [out] rmatch : 匹配的结果, 设为 NULL,不获取匹配结果 + * @param [in] n : 匹配的结果的最大(子)匹配串个数, 设0 不获取匹配结果 + * @param [in] option : 进行匹配的选项,见 spreg_search的option说明 + * @return >0匹配成功, 非0错误或不匹配 + * @author baonh +**/ + +int spreg_match(const spreg_t *re, + const char *src, + int src_size, + spreg_match_t *rmatch = NULL, + int n = 0, + int option = SPREG_DEFAULT); + +/** + * @brief 在src中查找所有符合re 的字符串 + * + * 通过 callback 对每个匹配项进行操作, callback返回值小于0,则停止匹配 + * callback中的参数说明见@spreg_callback_param_t + * + * @param [in] re : 进行查找的正则表达式句柄,由spreg_init初始化 + * @param [in] src : 需要查找的目标字符串 + * @param [in] src_size : 需要查找的目标字符串长度 + * @param [in] callback : 处理单个匹配的callback, + * @param [in] arg : 用户传入callback使用的参数,默认为NULL + * @param [in] option : 进行匹配的选项,见spreg_search的option说明 + * @return >0返回匹配成功的个数(包括callback返回值小于的最后一个匹配), <0 返回错误码 + * @author baonh +**/ + +int spreg_search_all(const spreg_t *re, + const char *src, + int src_size, + spreg_callback_t *callback, + void *arg = NULL, + int option = SPREG_DEFAULT); + +/** + * @brief 在src中按照 re 匹配的字符串进行分割 + * + * 通过 callback 对每个分割结果进行操作, callback返回值小于0,则停止匹配 + * callback 中的参数说明见@spreg_callback_param_t + * 注意:这里的分割的串包括空串 + * + * @param [in] re : 进行匹配的正则表达式句柄,由spreg_init初始化 + * @param [in] src : 需要分割的目标字符串 + * @param [in] src_size : 需要分割的目标字符串长度 + * @param [in] callback : 处理单个分割结果的callback + * @param [in] arg : 用户传入callback使用的参数,默认为NULL + * @param [in] option : 进行匹配的选项,见 spreg_search的option说明 + * @return >=0返回分割结果的个数(包括callback返回值小于的最后一个匹配), <0 返回错误码 + * @author baonh +**/ + +int spreg_split(const spreg_t *re, + const char *src, + int src_size, + spreg_callback_t *callback, + void *arg = NULL, + int option = SPREG_DEFAULT); + + +/** + * @brief 对目标串中满足re的串用replace_string进行替换 + * + * + * replace_string中可以使用特殊语法用\\1 \\2 表示匹配串的子串, 支持1-9 反向引用 + * + * @param [in] : 进行查找的正则表达式句柄,由spreg_init初始化 + * @param [in] src : 需要替换的目标字符串 + * @param [in] src_size : 需要查找的目标字符串长度 + * @param [in] replace_string : 用来替换的字符串 + * @param [in] dst : 替换后的结果 + * @param [in] dst_size : dst 的最大长度 + * @param [in] limit : 最多替换的个数,默认0为全部替换 + * @param [in] option : 进行匹配的选项,见 spreg_search的option说明 + * @return >=0匹配成功,返回结果字符串实际长度, 非0错误 + * @author baonh +**/ +int spreg_replace(const spreg_t *re, + const char *src, + int src_size, + const char *replace_string, + char *dst, + int dst_size, + int limit = 0, + int option = SPREG_DEFAULT); + + +/** + * @brief 销毁 spreg_t 结构体 + * + * @param [in] re : 需要销毁的spreg_t 结构体 + * @return 0返回成功 + * @author baonh +**/ +int spreg_destroy(spreg_t *re); + + +/** + * @brief 销毁 spreg_match_t 结构体 + * + * @param [in] rmatch : 需要销毁的spreg_match_t 结构体 + * @return 0 返回成功 + * @author baonh +**/ +int spreg_match_destroy(spreg_match_t *rmatch); + + +/** + * @brief 将匹配的错误信息已字符串形式输出,主要用于打错误日志 + * + * @param [in] err : 匹配时返回的错误信息 + * @author baonh +**/ +const char *spreg_error(int err); + +#endif //__SPREG_H_ + +/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ diff --git a/ullib/CMakeLists.txt b/ullib/CMakeLists.txt new file mode 100644 index 00000000..c582086e --- /dev/null +++ b/ullib/CMakeLists.txt @@ -0,0 +1,4 @@ +FILE(GLOB ullib_srcs ${CMAKE_CURRENT_LIST_DIR}/src/*.cpp) +add_library(ullib ${ullib_srcs}) +include_directories(${CMAKE_CURRENT_LIST_DIR}/include) +message(STATUS ${CMAKE_CURRENT_LIST_DIR}/include) diff --git a/ullib/include/ul_error.h b/ullib/include/ul_error.h new file mode 100644 index 00000000..c2c0f754 --- /dev/null +++ b/ullib/include/ul_error.h @@ -0,0 +1,88 @@ +/*************************************************************************** + * + * Copyright (c) 2008 Baidu.com, Inc. All Rights Reserved + * $Id: ul_error.h,v 1.3 2009/12/29 03:24:00 baonh Exp $ + * + **************************************************************************/ + + + +/** + * @file ul_error.h + * @author xiaowei(xiaowei@baidu.com) + * @version $Revision: 1.3 $ + * @brief + * + **/ +#ifndef _UL_ERROR_H +#define _UL_ERROR_H +enum { + UL_SUCCESS = 0, //澶勭悊鎴愬姛 + UL_DETAIL_ERR, //缁嗚妭閿欒锛寀l鍐呴儴灏嗛敊璇俊鎭墦鍗板埌绾跨▼缂撳啿鍖哄幓 + UL_ALLOC_ERR, //鍐呭瓨鍒嗛厤閿欒 + UL_MEMSEG, //鍐呭瓨瓒婄晫 + UL_READ_ERR, //io璇诲け璐 + UL_WRITE_ERR, //io鍐欏け璐 + UL_INVALID_FD, //鏃犳晥鐨勫彞鏌 + UL_NETCONNET_ERR, //缃戠粶杩炴帴澶辫触 + UL_INVALID_PARAM, //鏃犳晥鐨勪紶鍏ュ弬鏁 + UL_OPEN_FILE_ERR, //鎵撳紑鏂囦欢鍙ユ焺澶辫触 +}; +/** + * @brief 璁剧疆閿欒鍙 + * + * @param [in] err : int 瑕佽缃殑閿欒鍙蜂唬鐮 + * @return int 鎴愬姛杩斿洖0锛屽叾浠栧け璐 + * @retval + * @see + * @author xiaowei + * @date 2007/12/03 21:13:41 +**/ +int ul_seterrno(int err); +/** + * @brief 鑾峰彇閿欒鍙 + * + * @return int 杩斿洖閿欒鍙蜂唬鐮 + * @retval + * @see + * @author xiaowei + * @date 2007/12/03 21:14:21 +**/ +int ul_geterrno(); +/** + * @brief 鏍规嵁閿欒鍙疯幏鍙栭敊璇俊鎭 + * + * @return const char* 杩斿洖閿欒鍙风殑閿欒鎻忚堪 + * @param [in] err : int 閿欒鍙蜂唬鍙 + * @retval + * @see + * @author xiaowei + * @date 2007/12/05 13:56:12 +**/ +const char *ul_geterrstr(int err); +/** + * @brief 璁剧疆閿欒鎻愮ず + * + * @param [in] format : const char* 璁剧疆閿欒淇℃伅 + * @return int 璁剧疆鎴愬姛杩斿洖0锛屽叾浠栧け璐 + * @retval + * @see + * @author xiaowei + * @date 2007/12/03 21:14:45 +**/ +int ul_seterrbuf(const char *format, ...); +/** + * @brief 鑾峰彇鎻愮ず淇℃伅缂撳啿鍖 + * + * @return const char* 鎴愬姛杩斿洖鍑洪敊缂撳啿鍖猴紝 + * 澶辫触杩斿洖""瀛楃涓 + * 涓嶄細杩斿洖NULL鎸囬拡 + * @retval + * @see + * @author xiaowei + * @date 2007/12/03 21:15:28 +**/ +const char *ul_geterrbuf(); +#endif +/* vim: set ts=4 sw=4 tw=100 noet: */ +/* vim: set ts=4 sw=4 sts=4 tw=100 noet: */ diff --git a/ullib/src/ul_error.cpp b/ullib/src/ul_error.cpp new file mode 100644 index 00000000..d4032b29 --- /dev/null +++ b/ullib/src/ul_error.cpp @@ -0,0 +1,152 @@ +#include +#include +#include +#include +#include +#include "ul_error.h" +static const char *g_errstr[] = { + "CALL SUCCESS", + "CALL UL_GETERR(INT ERRNO) TO FIND DETAIL", + "ALLOC MEMORY FAIL", + "MEMORY SEGMENT", + "READ ERR", + "WRITE ERR", + "INVALID FILE[NET] HANDLE", + "NET CONNECT FAIL", + "INVALID INPUT PARAM", + "OPEN FILE ERR", +}; +/** + * 绾跨▼鍐呴儴浣跨敤鐨勭粺涓閿欒鍙 + */ +static pthread_key_t g_ulerrno_key = PTHREAD_KEYS_MAX; +static pthread_once_t g_ulerrno_ronce = PTHREAD_ONCE_INIT; +static void +ul_errno_destroy(void *ptr) +{ + if (ptr) { + free(ptr); + } +} +static void +ul_errno_runonce() +{ + pthread_key_create(&g_ulerrno_key, ul_errno_destroy); +} +static int * +ul_errno_get_ptr() +{ + void *ptr = NULL; + pthread_once(&g_ulerrno_ronce, ul_errno_runonce); + ptr = pthread_getspecific(g_ulerrno_key); + if (ptr == NULL) { + ptr = calloc(1, sizeof(int)); + pthread_setspecific(g_ulerrno_key, ptr); + } + return (int *) ptr; +} +int +ul_geterrno() +{ + int *errno = ul_errno_get_ptr(); + if (errno == NULL) { + return 0; + } + return *errno; +} +int +ul_seterrno(int err) +{ + int *errno = ul_errno_get_ptr(); + if (errno == NULL) { + return -1; + } + *errno = err; + return 0; +} +const char * +ul_geterrstr(int errno) +{ + if (errno < 0 || errno >= (int) (sizeof(g_errstr) / sizeof(g_errstr[0]))) { + return "INVALID ERRNO"; + } + if (errno == UL_DETAIL_ERR) { + return ul_geterrbuf(); + } + return g_errstr[errno]; +} +/** + * 绾跨▼鍐呴儴浣跨敤鐨勯敊璇紦鍐插尯 + */ +static const unsigned int UL_ERRSTR_BUFSIZE = 1024; +static pthread_key_t g_ulerrbuf_key = PTHREAD_KEYS_MAX; +static pthread_once_t g_ulerrbuf_ronce = PTHREAD_ONCE_INIT; +static void +ul_errbuf_destroy(void *ptr) +{ + if (ptr) { + free(ptr); + } +} +static void +ul_errbuf_runonce() +{ + pthread_key_create(&g_ulerrbuf_key, ul_errbuf_destroy); +} +static char * +ul_errbuf_get_ptr() +{ + void *ptr = NULL; + pthread_once(&g_ulerrbuf_ronce, ul_errbuf_runonce); + ptr = pthread_getspecific(g_ulerrbuf_key); + if (ptr == NULL) { + ptr = calloc(UL_ERRSTR_BUFSIZE, sizeof(char)); + pthread_setspecific(g_ulerrbuf_key, ptr); + } + return (char *) ptr; +} +const char * +ul_geterrbuf() +{ + char *errbuf = ul_errbuf_get_ptr(); + if (errbuf == NULL) { + return ""; + } + return (const char *) errbuf; +} +int +ul_seterrbuf(const char *format, ...) +{ + char *errbuf = ul_errbuf_get_ptr(); + if (errbuf == NULL) { + return -1; + } + va_list args; + va_start(args, format); + vsnprintf(errbuf, UL_ERRSTR_BUFSIZE, format, args); + va_end(args); + return 0; +} +//############################################################ +//modified by zhangyan04@baidu.com +class GlobalDestroy +{ + public: + ~GlobalDestroy() + { + void *ptr; + ptr=pthread_getspecific(g_ulerrno_key); + if(ptr){ + free(ptr); + pthread_setspecific(g_ulerrno_key, NULL); + } + ptr=pthread_getspecific(g_ulerrbuf_key); + if(ptr){ + free(ptr); + pthread_setspecific(g_ulerrbuf_key, NULL); + } + } +}; +static GlobalDestroy g_global_destroy; +//############################################################ +/* vim: set ts=4 sw=4 tw=100 noet: */ -- GitLab

IB_okKj% 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⁣NqMo^hlS7cFA-JKS7 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 literal 0 HcmV?d00001 diff --git a/configure/compiler/src/flex.arm32 b/configure/compiler/src/flex.arm32 new file mode 100755 index 0000000000000000000000000000000000000000..88ed52919b630fa95a7f337ef4a1578991a340f4 GIT binary patch literal 251528 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≪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 z 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 EFY4|S-2eap literal 0 HcmV?d00001 diff --git a/configure/compiler/src/idl.c b/configure/compiler/src/idl.c new file mode 100755 index 00000000..2be4cf81 --- /dev/null +++ b/configure/compiler/src/idl.c @@ -0,0 +1,516 @@ +/* -*- c++ -*- + copy[write] by dirlt(zhang_yan@baidu.com) + date time:Wed Nov 19 23:43:27 CST 2008 + file name:idl.c */ + + +/** + * @file idl.c + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:43:27 CST 2008 + * @version + * @brief the implementation of internal IDL compiler,contains some basic routines + */ + +#include +#include +#include "idl_conf_if.h" +#include "idl.h" +#include "idl_lex.h" +/* the already known keywords */ +const int ECHO_BUFF_SIZE = 2048; +static const char *type_keywords[]={ + "raw", + "char", + "uchar", + "int8_t", + "uint8_t", + "int16_t", + "uint16_t", + "int32_t", + "uint32_t", + "int64_t", + "uint64_t", + "float", + "double", + "string", +}; +int is_keyword_type(meta_t &type) +{ + int size=sizeof(type_keywords)/sizeof(const char*); + int i; + for(i=0;irc_meta_list.push_back(meta); + return meta; +} +cf_t *alloc_cf(idl_t *idl) +{ + assert(idl!=NULL); + cf_t *cf=new cf_t; + idl->rc_cf_list.push_back(cf); + return cf; +} +var_t *alloc_var(idl_t *idl) +{ + assert(idl!=NULL); + var_t *var=new var_t; + idl->rc_var_list.push_back(var); + return var; +} +group_t *alloc_group(idl_t *idl) +{ + assert(idl!=NULL); + group_t *group=new group_t; + idl->rc_group_list.push_back(group); + return group; +} + +void add_idl_error(idl_t *idl,meta_t &errinfo) +{ + assert(idl!=NULL); + idl->err_list.push_back(errinfo); + return ; +} + +void add_idl_var(idl_t *idl,var_t *var) +{ + assert(idl!=NULL); + if(var==NULL)return ; + + meta_t &name=var->name; + meta_t &type=var->type; + var_map_t &var_map=idl->var_map; + var_list_t &var_list=idl->var_list; + group_map_t &group_map=idl->group_map; + + /* 1.we have to assure the var doesn't exist in + the config right now */ + if(var_map.find(name.data)!=var_map.end()){/* exists */ + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=name.file; + errinfo.lineno=name.lineno; + + var_t *before=var_map.find(name.data)->second; + snprintf(tmp,sizeof(tmp),"var '%s' already exists at %s:%d", + name.data.c_str(), + before->name.file.c_str(), + before->name.lineno); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + return ; + } + + /* 2.we have to assure the if the typename is not + keyword type,it should exist in the idl */ + if(!is_keyword_type(type) && + group_map.find(type.data)==group_map.end()){ + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=type.file; + errinfo.lineno=type.lineno; + snprintf(tmp,sizeof(tmp),"type '%s' doesn't exist", + type.data.c_str()); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + } + var_map[name.data]=var; + var_list.push_back(var); + return ; +} + +void add_idl_group(idl_t *idl,group_t *grp) +{ + assert(idl!=NULL); + if(grp==NULL)return ; + + meta_t &name=grp->name; + group_map_t &group_map=idl->group_map; + group_list_t &group_list=idl->group_list; + /* 1.the group has already exists in the idl */ + if(group_map.find(name.data)!=group_map.end()){ + group_t *group=group_map.find(name.data)->second; + meta_t &before=group->name; + + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=name.file; + errinfo.lineno=name.lineno; + snprintf(tmp,sizeof(tmp),"groups '%s' already exists at %s:%d", + name.data.c_str(), + before.file.c_str(), + before.lineno); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + return ; + } + group_map[(grp->name).data]=grp; + group_list.push_back(grp); + return ; +} + + +void assemble_idl_cf(cf_t *cf,meta_t *fn,meta_list_t *arg_list) +{ + assert(cf!=NULL); + meta_vec_t arg_vec; + cf->func=(*fn); + cf->arg_list=(*arg_list); + meta_list_t::iterator arg_it; + for(arg_it=arg_list->begin();arg_it!=arg_list->end();++arg_it){ + arg_vec.push_back(*arg_it); + } + cf->arg_vec=arg_vec; + return ; +} + +void assemble_idl_var(idl_t *idl,var_t *var,meta_t *id,meta_t *type,cf_list_t *cf_list) +{ + assert(idl!=NULL); + assert(var!=NULL); + assert(id!=NULL); + assert(type!=NULL); + assert(cf_list!=NULL); + + cf_map_t cf_map; + var->name=(*id); + var->type=(*type); + var->cf_list=(*cf_list); + cf_list_t::iterator cf_it; + for(cf_it=cf_list->begin();cf_it!=cf_list->end();++cf_it){ + cf_t *cf=*cf_it; + if(cf_map.find(cf->func.data)!=cf_map.end()){ + char tmp[ECHO_BUFF_SIZE]; + meta_t errinfo; + cf_t *before_cf=cf_map[cf->func.data]; + errinfo.file=cf->func.file; + errinfo.lineno=cf->func.lineno; + snprintf(tmp,sizeof(tmp),"constraint function '%s' has declared before at %s:%d", + before_cf->func.data.c_str(), + before_cf->func.file.c_str(), + before_cf->func.lineno); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + }else{ + cf_map[cf->func.data]=cf; + } + } + var->cf_map=cf_map; + return ; +} + +void assemble_idl_group(idl_t *idl,group_t *group,meta_t *id,var_list_t *var_list) +{ + assert(idl!=NULL); + assert(group!=NULL); + assert(id!=NULL); + assert(var_list!=NULL); + + group_map_t &group_map=idl->group_map; + group->name=(*id); + group->parent_name=(*id); + group->var_list=(*var_list); + + var_map_t &var_map=group->var_map; + var_list_t::iterator it; + for(it=var_list->begin();it!=var_list->end();++it){ + var_t *each_var=*it; + /* 1. if the filed in the group + is duplicate */ + if(var_map.find((each_var->name).data)!=var_map.end()){ + var_t *before=var_map.find((each_var->name).data)->second; + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=each_var->name.file; + errinfo.lineno=each_var->name.lineno; + snprintf(tmp,sizeof(tmp),"field '%s' already exists group '%s' at %s:%d", + (each_var->name).data.c_str(), + (id->data).c_str(), + before->name.file.c_str(), + before->name.lineno); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + continue; + } + + meta_t type=each_var->type; + /* 2.we have to assure the if the typename is not + keyword type,it should exist in the idl */ + if(!is_keyword_type(type) && + group_map.find(type.data)==group_map.end()){ + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=type.file; + errinfo.lineno=type.lineno; + snprintf(tmp,sizeof(tmp),"type '%s' doesn't exist", + type.data.c_str()); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + continue; + } + var_map[(each_var->name).data]=each_var; + } + return ; +} + +void overwrite_idl_group(idl_t *idl,group_t *group,meta_t *new_id,meta_t *old_id,var_list_t *var_list) +{ + assert(idl!=NULL); + assert(group!=NULL); + assert(new_id!=NULL); + assert(old_id!=NULL); + assert(var_list!=NULL); + + group_map_t &group_map=idl->group_map; + + /* 1. if the old id doesn't exist in group, + we make a group by calling 'assmeble_idl_group' */ + if(group_map.find(old_id->data)==group_map.end()){ + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=old_id->file; + errinfo.lineno=old_id->lineno; + snprintf(tmp,sizeof(tmp),"group '%s' to be overwrited doesn't exist", + old_id->data.c_str()); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + return assemble_idl_group(idl,group,new_id,var_list); + }else{ + /* copy the old conf cons */ + (*group)=(*group_map[old_id->data]); + group->name=(*new_id); + + /* find the topest parent */ + meta_t *tmp_id=old_id; + while(!((tmp_id->data)==(group_map[tmp_id->data]->name.data))){ + tmp_id=&(group_map[tmp_id->data]->name); + } + group->parent_name=(*tmp_id); + + /* set the map */ + var_map_t &var_map=group->var_map; + var_list_t::iterator it; + for(it=var_list->begin();it!=var_list->end();++it){ + var_t *each_var=*it; + if(var_map.find((each_var->name).data)==var_map.end()){ + /* 2. should overwrite the old_id group fileds */ + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=each_var->name.file; + errinfo.lineno=each_var->name.lineno; + snprintf(tmp,sizeof(tmp),"field '%s' doesn't exist in group '%s'", + each_var->name.data.c_str(), + old_id->data.c_str()); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + continue; + } + + + meta_t type=each_var->type; + /* 2.we have to assure the if the typename is not + keyword type,it should exist in the idl */ + if(!is_keyword_type(type) && + group_map.find(type.data)==group_map.end()){ + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + errinfo.file=type.file; + errinfo.lineno=type.lineno; + snprintf(tmp,sizeof(tmp),"type '%s' doesn't exist", + type.data.c_str()); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + continue; + } + + var_t *new_var=alloc_var(idl); + (*new_var)=(*each_var); + var_map[(each_var->name).data]=new_var; + } + + /* reorganize the var list */ + var_list_t old_var_list=group->var_list; + var_list_t new_var_list; + for(it=old_var_list.begin();it!=old_var_list.end();++it){ + var_t *each_var=*it; + if(var_map.find((each_var->name).data)!=var_map.end()){ + var_t *new_var=var_map[(each_var->name).data]; + new_var_list.push_back(new_var); + } + } + group->var_list=new_var_list; + return ; + } +} + +extern int cfgidlparse(yyscan_t scanner,meta_t *loc,idl_t *idl); +namespace confIDL{ +/* the inteface provied to the user */ +void print_idl(idl_t *idl) +{ + assert(idl!=NULL); + group_list_t &group_list=idl->group_list; + group_list_t::iterator group_it; + + printf("idl groups:\n"); + for(group_it=group_list.begin();group_it!=group_list.end();++group_it){ + group_t &group=**group_it; + printf("\tgroup:%s,overwrited from %s\n",\ + group.name.data.c_str(),\ + group.parent_name.data.c_str()); + + var_list_t &var_list=group.var_list; + var_list_t::iterator var_it; + for(var_it=var_list.begin();var_it!=var_list.end();++var_it){ + var_t &var=**var_it; + printf("\t\tvar:%s,type:%s\n",var.name.data.c_str(),\ + var.type.data.c_str()); + + cf_list_t &cf_list=var.cf_list; + cf_list_t::iterator cf_it; + for(cf_it=cf_list.begin();cf_it!=cf_list.end();++cf_it){ + cf_t &cf=**cf_it; + printf("\t\t\tfunc:%s\n",cf.func.data.c_str()); + + meta_list_t &arg_list=cf.arg_list; + meta_list_t::iterator arg_it; + for(arg_it=arg_list.begin();arg_it!=arg_list.end();++arg_it){ + meta_t &arg=**arg_it; + printf("\t\t\t\targ:%s\n",arg.data.c_str()); + } + } + } + } + + printf("idl vars:\n"); + var_list_t &var_list=idl->var_list; + var_list_t::iterator var_it; + for(var_it=var_list.begin();var_it!=var_list.end();++var_it){ + var_t &var=**var_it; + printf("\tvar:%s,type:%s\n",var.name.data.c_str(),\ + var.type.data.c_str()); + + cf_list_t &cf_list=var.cf_list; + cf_list_t::iterator cf_it; + for(cf_it=cf_list.begin();cf_it!=cf_list.end();++cf_it){ + cf_t &cf=**cf_it; + printf("\t\tfunc:%s\n",cf.func.data.c_str()); + + meta_list_t &arg_list=cf.arg_list; + meta_list_t::iterator arg_it; + for(arg_it=arg_list.begin();arg_it!=arg_list.end();++arg_it){ + meta_t &arg=**arg_it; + printf("\t\t\targ:%s\n",arg.data.c_str()); + } + } + } + + printf("idl error:\n"); + err_list_t &err_list=idl->err_list; + err_list_t::iterator err_it; + for(err_it=err_list.begin();err_it!=err_list.end();++err_it){ + meta_t &err=*err_it; + printf("\t%s:%d:%s\n", + err.file.c_str(), + err.lineno, + err.data.c_str()); + } + return ; +} + +idl_t *alloc_idl() +{ + idl_t *idl = new idl_t; + idl->cmdreserve = 0; + return idl; +} +void free_idl(idl_t *idl) +{ + if(idl==NULL)return ; + meta_list_t &rc_meta_list=idl->rc_meta_list; + meta_list_t::iterator meta_it; + for(meta_it=rc_meta_list.begin();meta_it!=rc_meta_list.end();++meta_it) + delete *meta_it; + + cf_list_t &rc_cf_list=idl->rc_cf_list; + cf_list_t::iterator cf_it; + for(cf_it=rc_cf_list.begin();cf_it!=rc_cf_list.end();++cf_it) + delete *cf_it; + + var_list_t &rc_var_list=idl->rc_var_list; + var_list_t::iterator var_it; + for(var_it=rc_var_list.begin();var_it!=rc_var_list.end();++var_it) + delete *var_it; + + group_list_t &rc_grp_list=idl->rc_group_list; + group_list_t::iterator grp_it; + for(grp_it=rc_grp_list.begin();grp_it!=rc_grp_list.end();++grp_it) + delete *grp_it; + + cf_list_p &cflp=idl->parse_list; + cf_list_p::iterator cflp_it; + for(cflp_it=cflp.begin();cflp_it!=cflp.end();++cflp_it) + delete *cflp_it; + + var_list_p &varlp=idl->parse_var_list; + var_list_p::iterator varlp_it; + for(varlp_it=varlp.begin();varlp_it!=varlp.end();++varlp_it) + delete *varlp_it; + + meta_list_p &mtlp=idl->parse_meta_list; + meta_list_p::iterator mtlp_it; + for(mtlp_it=mtlp.begin();mtlp_it!=mtlp.end();++mtlp_it) + delete *mtlp_it; + + delete idl; + return ; +} + +void load_idl(const char *file, + idl_t *idl) +{ + meta_t loc; + FILE *fin; + yyscan_t scanner; + + /* haven't allocate the space */ + if(idl==NULL) + return ; + /* init the lexical process */ + loc.file=file; + loc.lineno=1; + + fin=fopen(file,"r"); + if(fin==NULL){ + /* can't open the file */ + meta_t errinfo; + char tmp[ECHO_BUFF_SIZE]; + snprintf(tmp,sizeof(tmp),"can't open file '%s'",file); + errinfo.file=file; + errinfo.lineno=0; + errinfo.data=tmp; + add_idl_error(idl,errinfo); + idl->retval=1; + return ; + } + + cfgidllex_init(&scanner); + cfgidlset_in(fin,scanner); + cfgidlparse(scanner,&loc,idl); + cfgidllex_destroy(scanner); + fclose(fin); + + /* set the return value */ + idl->retval=((idl->err_list).empty())?0:1; + return ; +} +}; diff --git a/configure/compiler/src/idl.gcno b/configure/compiler/src/idl.gcno new file mode 100644 index 0000000000000000000000000000000000000000..4751eda30262b03255669e682f4570ba21f7bbf2 GIT binary patch literal 265820 zcmeF434C2e_4xCsEV9bJLrdvGOPi+Y3IZwZ0|KR#rl2D5NYmFgkR~NbOF=;dQ4n!q z6ZiFpsJJVOxbHs~RB&SvMFi2miu+Fm@qfN^?s<3a&AjBLeK+)_Z$6p4d(N3VbLO0x zGiR22Z%=o}>SeQLG@p6iSB_|CXvn=l{uQ@vXn5Yo&wkPK<+^ZI)9lW^!Ue^PFY4)C zS?IrbU2)lx=GH}v=d3OEw-@^Jl4cu;oh!ShcgXJqi46@4ayz=;O8+g)jfs-xc@LD$M4?TRI9XyG@;UN@50nrG#luG^J-kef6LXc@RsO9KMjkzQ(q7O- ze>2*tB&dra2k$+gjdt(?Jhh#V{r(g9l@Rwg<$9J=(=14GlY@;Ts;ev#n}iE)Va+7u(@ zO7WCAGk_=m<^;YWx3j>V!oZ)$o%bw!6wdN{;lif;hGbjQ@)qPMW9Sg;kb0XAO$L-l zeUTe9)1}D{*l4B)(=RaXLWAm@e96=Dw|guPyO;aGkrtVilRI@y%2)fr`Euhg-}LBT z$)j-AJnaS@tCF2SXz*|LYmQvk`+@2idHXs7uB0Cz!?_aU5ch+5F;cGLelS0Pr@W&Q zc-3p4==CRE2R)>Eb^V~JsiUX6udr%;cSoULdqYyMTJD0}-pTx`2rbOP4*?r$ZJJ;D zj>(a>47`^_XraDjH0b_)z(xbF{UYvDR=)Kg==32!9q{fFHE6%*KFb$-;g<<)G`~HN zC$Q1tcA@+L?;=ry;*bk=%;yJqH%%n}l^^c2d>POD^uT*c)S&6P-_qm1`00VEuU{u% zOTULlL%zU9GdWToIL)`b9iojT+qc^7Zn^P_Wo`Z3pS0VH2H0(Dr^B_|@J+jOr?1p*hvbEBE|kod{_P8g(1t`_ZT+*lI{W%t z)oz>L+1B3LHnWh=s|XV|++?UcNhXP)Z4p#RR@B#I<<|*WfmitruMN;^c*f z70#NkW6_58-t=HZIW`s@BiHq@NagO^9`pbl+nn zkicu-zEt%3`Iq1N3ED-}w`Yr5OM{TFPc3gj4qHf`iMVv*nO6--xi<&8!c`VninuO zU4!DvjYE{_*9F+}4UI#LEgCdmf`;0u)5%*vHu(x^ zh{copFQjh_u%SA-Cyl413$@Yb!hVM8#JF&^)M@5LUwvA~g{J2Al`9J@0~ULGdy-D* zvL$T=bF!25S}gfsOKETALvnnePurY<@xsOh?2iUb51zD&*Lj_d7yKeim8YiXn)I4~ zdD{igr%H@NY`d1kNUogjuaOMDwc}-rRrfN^L~=^I>PtmRQBz3hzRl&iAU7qM_ZAMt zYZv2%Q{-)PV05N3R-L4E2yFch9UdW(`%UMjyI5CBGyG(iHcn4E%Y$}iItLGIG<-y# z25dBZ1fOT%=SS)HkzWm3AMkb`I`{JgHX8lLrvV#{H4L8yY_yP1X*7IF|2|-&;q&-3 zV55b6Or!ZeCNcmv8g{_X6WD06&#CA<3D(an4{*Sihv^&{8*X1OJ^TRg7vUz# zueBd&;O)NsqcoN$u+a`k(SVJ1V2TEOP=rgD2j1>GICUSe(GE$`fQ@!&iUw@7u_+p` z(Z;1{z(zYvuC4tdW8euAHK=~Z3vjqZUl+iZhsllm3`hMfJ^2G0ZBmK`Y&6<|-3LFw z(3HpWwijEtTw)wz+j~Zglq=1H{9YvS#S&j4@hpiil~|A%2hHR8f;cZm%2nR&|IugL zC9Vk2=(8OXizym)qo1w{;OT4U2k`W(3j%ohR965`pSUo9rw#U{@W_Go*DrB>fJXb< zAn~FUje3lgcyRzv`?@56rwzP3fJgtA2JqBr*u9i~ep7 z;L+Wi19H7>$lH3i*h*Q(%#osT)U#H=q5$B zN1R+Q!*JQeXsK;Vv^5u4M{Aayh{QbLJ+90JIqdt$huEK|{E{Dt6kyRaNI+*KESonD8tI(9`+@@*RFfGrQpm-`H7HqB_jMhn?8 zqlIjl(L%P&XtZg+9>5_RX6ZvV%xLrh%Zp!Nvt8I24Jv2wc3;Sb84Vle>j2nj*e)v% z*#g761}%qjEj@k9&kNXS^e;az;CP%?eVQ$^JSdaCW_h49aNGw@^DA%j=tJ+77>C&A zy)Q<}Rcz1RAHdTt{wIK^P23v5(;hw$z@wAf0(fK|N{?(m6iAO;Kb*ifnMKe^D5V{UYv-1wyh4_rfA5xYAlVRr{vWbut}+w4Ng{(?`MY0U9F%yB|i zA9Fk`$Tcf3qv(HZ>!(Yt(9!tl7agmfw66pEx&^jA34W$T?zeWpHM%E~kDne~Iz4G< zyU?)XetPif^rXSIlO8+nrw5--Pa3oF^j!_w#=)o4lg4l%8*eoF9z0mRfsGcj^+pTX zdZS_6{XBtL%rEq%zw8_l=zXLPLTffg3$5804LjuL32d~nDH^cR z#-(V$MmtQdeVqbNkf=f1DE;zqiGDiZMolFDRW{sb`A(E;KRxgf5;bUgWNYas%e9{# znDl;qfi3-%RC?e&Bx=z7X-Ag+NV)d&0yf$-x%SHjZjz`$Wq^&MzJ4CSmd6Z_M&AH7 zn%OGy1gB+{_a8ncX+AD74zd66i5MwYiYLEM2JqOaPX+MUqfZC$*qu89cx=#}0X+8R zt^gj}b9Vs0o8Uehz++?X3E=TVJ{Q1a13sU^BLn*87bJc$MMG!w%`XM;^vf@&@Z?1w z{ffk|rfB3fR^m4Uc>2}10(jc_w*z?EbEw|5+wTR^(`N5Y;2Uz-v6l(MkKR-`9eeEd z{hHUduWN1V(*p)6FGCKc75n;x>b3&=XRT}R>}@@zt0(B z-ycgjW8VI#dSOXk?sF_G$So+bvbA5t=eFjHDA4EZ=y!bdi%wO?YL9`fEs$Pyu5Ac> zi$w4?o^VaOA(D@u9$bq=KRs#i*Pvnh{Pf^kB>L$|gTF?4+MovI2Yib}KRsy-hu_A1 z#w&1(MABnNeHw6!L}=Jjp9b6_5gPW?rvbM}goaHuSsIKz_0t2lNQ90}^=ZH@5}{!y zEH8e6_mD{XxWB2+z_&=`zK}m>H2gQeJYb_?$9)>G(Xiz{FTm!Gg`=>GuojI$?|}WHa0~AZjngc$4T`0 z1a6TC?J$WZPlJyUoCa;%;{`ZeqUAw4;1-Eon{1GOi$rkvZz!1!+onOplZNyn?hx~a9i09a!njTy_J!!BX&=}YJ^x)I!NyD6o z^o)0YdhqG=q+#qMJ!72)F zmKVRk<0O)PyhIJESMYY)^^pUI~I8x6n7rvV$SIYk3D+N=}}*l4p;G+?96Nzs6fhOcII zr|keQm#9Je6E=LlMB|xsz?O&gCuC)~qrLRx4{S8%MwS;eV0=SxizS-Pg$Ca4J65j! z`+$w+d`N+f7ht2c$hChT@PY`JE)TrjcYKt_@&q>8!W0eIXp2%bV58+zG+?8hkfH$_ z?Zgxf*k~uEXuw8mm22ck9nc$aTE8a??i7iBI^feKYS6ZitSsMC<=U4iu+f&JXuw80 zO|JcNfZHT$P#%{GK-qr&z?R1{k4BwE(e8|}p@8nDq`BG-O7z-LR;p!GgWfR{@2(*gHtBKfcUaG&LSj$Hfv02}RGx%Tq{ zE~L@}Tl(`-G+?8(%eCdjFYpS9lzo9j4ay&QyRSp8eg1%rwlYNnHd--712)>K6b*QF zgzJ>woJ5lqc)M?nT>HEL8;$#X8nDsMmuss#?F|^YY0x?&154i}*M45WMq8Vr0UNDb zuKjX=`z317Hqs-&I*EQdV84yPR-arOjr71qGh0E~;Iypr>rTx5p07fe z)P#85X~zJb{B{c9w-@}*0sQj?ze@`5@(}!Pg5NVmqh7m7+$)9Wo)<{mTk!h?XuAt- zU%~H}qLJU85)TOA_Y(Yp0sP*AKPZ65=R7okKS=On1NeglKR$pzMDT|P@Z$tOA%Gt* z_(>@|@;F@L6v0nT(WvtTiAM(T_+!%o_^E=Q9>6yWentvU*)t?I34UgP)+DrM!Ou$3 z;A@t|xdHra!Osie@ptA2@c1jo1n~GOEdl%j!5^Q(QxE)tg@Rucpe+6`JdEs&nEZ+QUE7<5Je&$w`A z0N)|_7X|Rx?iUB}*zK1D@Yw87x!C5j1L?8L=OpmD?s%gpb^C+f@rmt(9<4j->Q{Ws z)2&U|*#VXDf*kg1@SrxFG!#o4uyG2Q^039*Nc3sIMuYCtfQ<&;r*UmG+NsgF2N)W^ zv`}oUiGuR{x+U9?%IF5U@u8>o{UdoqGO~w;N>cLkQJXh9WklVQHod{U=kX?y(S0xa z>NT_rd8g32-p=lRo?l465W|;Khf~6W+)BBp9=0?IB>S)S9rgcE8+xRV(Z4ikdhi_* z6|d>JHXQd@-y~12jb^af31Fke{a4EYrmgvT0bBYVQZ!(r(f|GW0Ph&3pDDi@ly~rU z-%fJvmj`ULol`VmqwSKS0UK@C6b;yD_;r4Hz(&KjvpS5CYhZjjKRvLe-y=l>HX8n( z<;5>Bz8-nuw`fp#fVcbb`~32NjkZsU25hu_Q#4?sv7YJY32e0eQ#4?s;cHqQ#>h4B zffD_^fGs^fs80hn8h)td#V;^EDCwt5)S&VJZ}%N4*M6SBMjM-=0UK>xiUw@7!%{S0 zqm7qq<8zE$10OEY=K#jW$uPEiZn7CrKo)BPD9kI)k_SCd;*79t}QQqffq_7uQrJqR36~%zD08Fmj`ULe2NBav=dS^V56Owq5&K2B)K*|$H+Bs zt3;m%U`u~;iUw@7Q{>w6;umrD(uLTPoMa z%NV%^rXCuU2Y9md%jDWm58NVAgQiDsmVUWh`{{w{D;hLC?cUO#Dc61-fsOW}6b;yD zFP3Y+9N?Fv(gR!ivr;r*qrFtFEiZn7&z1;ZD$Tcu^)S&(t{E}YNm7inb^RJW`2Yt?)e2ao#m7-Bk;+g=SvN{9! z9R+`W0Kb#qFG%6ZV^@hif?t=SQSNRMFAU)K5`1p}zqjD~Qh3VPPvQo_UzDOz#{LpF z2JnXn{^9`sP{Ci4!c)dLi7yxYr70R^947Iy0G_e@6#+cs_~ijS<8&w=#^X>O7VO>$$q#$^ zj#U2C0bBV_!M`g-qYl{0cL(s;ulEG-*sk{m@aL7u2RrkDMEVBzors%-vDZCxfGrb-g_$tDQv_?-g0C`Pw;0p-Wry6Zr(+6Rh{wpOFz! zMPXrX&*%ytmvIZ5$nW9NFLoOko6qka(J!(G-Y)t@HMCb-?*ML*NE+I#PXlg|2#x5| zfLlDgPvhEX=$lA++{5(_fG#B0Rs3|@3mu!OLH!Z#YmrDk&zIaeP9X}~QKq3tfwF9(=$ zUW4+3F44cA4tS0xlK;vN_q9kQUwi_;OyCxY(Dsq&(|}tfLfcoOUk>mA5;Z74v@!e# zKOHb*q6X!M`&uND?|~BiGJ#tpLOV#JPXlg|2<>2remTHnC2CN9X#4mlemY>rbq&hT zSOHojlJ7W)ewn~65}_R?(We2oNQ5?CqF)a1M2Q-dpTh;1Akj|;jQ^oQ`Qg46iR6n< zniBKb~}=%)uhPND`) z&;2bDN#7{ZPY+CeeZGNPB$B>KqMsfZefjBuTO^XcS)!jFnD*wU2X2u_`q>iw^uY8N zKRs}ZMAFZd=%)v!zx(NdTO^VmKhIAOjJ@*H1Gh*d{m~Nr^uYLj8dOi%c5r?kz%3HV z1AowH1{=-nD>?$FWtE>3F~+9HY5MwG<;I70`}&F4C>f{Q`V-Fp+ZI%w*FO#Q_;15D zl85;~Hl{28LP!LyKPX|VR7dInOkIiO=hq(?{HE6RD!K8?-}&ir;kw#^{7Pz?^!M<$ zc~9_jQCG^=@*NZWb7#umA$5KGCmw&CvC!$&|E5T+*2G6ewq*S=_P$T*^!yjy_+xwp z`M%Yv-lBU7Bfb5XXonx8L5XhSu^f1`hGf6eexkM;F`!>?^dSwJ9z3>DgQh19Hj!W2 zwe>^p=h|q%R*v<}?NaH1Ej_yP^8z*+{+{KpP*!)8LFAd5cc)JgO(9aWi-w21F=gSYg-G^W3-v?|o?(=EDM#E1uK9L_Vb=08z z!LOwc`HM!wKlJkg#y|AS2DbG0i9QY3Xk+Et^5PeGoJ7*&pJ`D3z}tO?$+e#+@c0Nf zL4JMtfw%h(kJ6Yw4{S8<^Ya8Y+C;gAKl1^AsiOwv4}L9u$e%P?$e+Z2^vede^!SlJ z4cKV-lg1an!1$4*$A8nH{DHUo@GJd1f$=B7;V1g?18?`uh|-w+fQ`m|exATa!_PE6 zX@9`fQG@d5`0@2kxOid?kRVO@1|ir|pE&(?-4?NROVsk-#_P7+XFjj9qv4 zQ%m75u_hMyrkm!wAV>eItq`wWp&Q!$*ytC%1Md_4?jHRj8}Rr7{8~hW)_;&0F#Qy| z`7&k$V_1mM+7s!xpL-1lj9;Na`#N;XmvP)r54@u$mjCK6!6$k6ya8Jt^f^BdVEUT| zEt5PgJwAz_9+-ZpLCZu&=$MEw2#%5^HGRf1@hkOlxtfY<5E<-+s z1AX>(snge{JiGy!L^j`M-_Gh|w`|Qs$DRebxZetK zvqSv8t>M^Nv(2$x)ixBvFs3-#3hhAkt~g+9q6TfR&@Er=s-GShy=%}s%Gp`Vqf$F- z={LvDS{~S0zs&<1&H4y-)^ONWKRqxst$X=CLR(1sBI-kYP;UI=hA(c*{pLfs?{5Zt z2=$lh?aA8d*4&Y{z4lEHoFzup6b{l%Xf2Zk>!Cc^7}ck(abJj-wcN>^3wxDqt1gpKZ5L& zb1l{5$K}R%ere-2s>gXWHX3clFAvygejDOGV58BN{QH277Me#G%^%;$6WC~sYgRvG2s~Dz29;lO zd{Z3bo$qs#2lB9dnK$^n0vnC_gHHoC8uJIA25dCu5k3vrXrcLq(fs)Zd;&9{;F`Ha zPNIz`;F&vU(7KWaoL@Gu<YbPzq08^pA%H z|ML`$yyzc~r10EB-}r^#f0?3j4}Ig&6rOwNC%+Q>V<{T<(0-o?;Ay+R3E*kBPX_R` z+2026wAbGS@U-1O1n{)6KPK=ExhaDClvHHrm;7TN`f=f`w*KOUtsQOsGQ_XpqwT%z zo&9~S9n7ja^7$3=4!9Mq%L~hA6qd^zYw0QSnIE~$&Bq(p_w_b*b*^Y!-O|VdIv3dHe>9ZTBPmljPyF0qpuPiopOr080S4e4%E86=yI|_aM z^7P*7>1)Wp8AWHje~SGv@gT#j>!Wp|UM}P&%g^UU7jJm_inr0Oy!ovT(DtPz`%3xz zb?f`q6jro%T)?aOW}*n%MD_UY>+dRbb@uhE4tA$QiwIS;Ih*2l!$;N<*Ok@L6L|NT>CbbexFc z7-#n19|O3yJS<=GF&uuQpB@;RmNjx?2C`H6N#PotfAu|K(#Xz4w>$&_$`PIx_((@N&{jkXTZFfF>@DQ@jz}6*Y zy;^t~EwZLAS|3*_{yAUzS0d|)YmS~=@}-BiJsFPevCSFn^BC5vej~E~>3MJ6wzOVl zj;lA1N!pj>Y^J()raqV1^flLkvP;ipri#9w5Pe^F?Eij{J)ClLnXtaCVZ<|W6wPX2Kq)c*dlzbV3*psO&=>8{Z z(I0cj(7FO+D>Q%JDI#&O(V&B~IVmvf0~&N*OBtlmwxT#-%fr?jxX*B`FZk(!p=nw9 z9D8==CTA&Em8}$}AvaTg|13($9u_&MB6wll~%c(2Z$#x=7 z@kvK*D|X4uxT&wdRX$0Rey~q4`Yq4u_g{F_y@t6cbt`K#+4-#4_M~i8zR1`G_w3tK z(r&(f`yL;FkBr()Q?oV20^>ky+x)`f6*ES#J!zkfYF+xNh4rn$^*34S@)yzH7Y;t^ znvyT(`@#0;YVCcLsTkgK%W2N=iGiSC+FJoFdtr;Yzc=y@23YQJ!v>!o2@?zt!GP7nq-fJ&TH4F8e9jQjoV&yu;$+%*{8JLk(gs!FRNg3EqP@*58T@3O3&5& zx=Hl7i?oRk{pY`5p>GX6PcrXr7!zyBxBC4yIe*yN+Do>!JSp4s+vwPSnmeO&x5Jk8y8f)rTgSYA+_796a)wvs zHkz)sG@L95N;j^{;_&^4Y3EA{%IAw0nx)@I^jh6>8L|DjPx7u6I}fkQuVb2j&dwho zvi^AS#(zh$PQ9PFGXJu3qdJ#a`Id_#-;(^Z3GtdbKFG zqCx!>(tz{x0OqVHIL0iWXYf`w^GW|cV56}nZ*rh)U~H}iEgL=1CM^%r0b3rnC&7J& zgC9#z{=i1_-+@40z|fSBkvVfjJ6@^+ladMg-ErE_vH%`=wgvFiEBPJchTM3;9V`vw z#@wHNi!Plnkvgqpj-bibsjQKG_{A)YUwGm$Li{Bg%`ZO9p3mETCpV#4u#$BUdVI^g{` zZJzIIoUuR(ItU=`tPnMoB z-qQ06Z1$2lkp{gFyxqr~$?ii}!018^bqTyBfEeY41fycJ{iisI_dZnrT)KdA1yWX$V}F|slSXx}UG8(j=;w`u=Gv)^V%fx%nf&Gt-C zvMyR5DO^Ktg8Vj$+~4=dw``By9a8Sml6;mj?;J%kr!HEbNa8XKPLj(RBJ+plO#Coo zmdKnv!6A%@u5<9xt1M;z5yxh2*b#VDejU^Nb9SUjWc!T=w%Mj)`@C*l=62*-$KvM6 z)qgK!mTdrDUnlW8$8+hQlkH5A?S+LY+eWgjpxv%4BHS$b)iHhZWIIwe7+#g%SgxEM zYZkfQeBl=!-bJpR4Icd6M9Jf0^2W{T%Qt@4&a}uL|}QUyvK872X2=C)=jA3)+I;HV=(p zn^z+4u@bE<`uBk|8hCA2aT^5&k6tvyZFH<4tWElP(ngI&TlHzcMhnfijmG@izYo}G z_<6=B=GjJLUhVS-Y&7O?J`LDt%&&bK zu+ePZZF&PXT4=tVt}}J9^!|LCIs+SxKI8KMY&6!2d>XLPct5*O12!7(XZLBqM&mv0 zJ`LDtyi41s0UPb06b;yDjCcNhz(zwZrf>8JOrNmy;DEGdfZvZ4>YF@UF!Tpz&GmTw5)X_s#f z;Atbb1n}tVtpPkbdwT+}W5;YUICmU*-`k?ONG0#gD~%uYi|Wn2-CVW4_9`-E4DkCP zaA+*R_Rt?gV}XqU*w36qvy0&EKH9JKYirN6TX5<7z}tPa75_e9quJPCk^RhL*8F-HvM(Ku&QkWHeJ%C~k^Rvk`!TD| z{10Q(plh+oJ`gEs-uFhu5_mz&> z&6DwSxjs8h_&-+Ud+7%kypMGRw?3PAwkT;Bm_QZ#`s5{t?qTfsMThcfqDi3-dzh>zldy4CC`#3J54@*q_q0>K7P*VCvaWE&yynW1tRZ%pYfN;RcQOAL&jOP znfe*yR9(Mc&q_Za z{Ei0SfqFdX>SF)meVd02rN6le^4lsp`q3$CKF6A~_6O#e(OE!yls0;YaA`9_(pI-m zB-dZjL;Wnc?x8b|Z7tqMp?my{Z#J$mUTIJoc#{?5nT};DTVUF;22IcX zmL8hP9a#fI%YHme_J^%~KVqWDe6e(de{HJ2_g5>53-W$Xy1om++8AaKkJ7t{z>eI zmLGR*;Ur6$kM{is*2Yg0nICyy?t*^T~l5P33;MQ)V&4w)P z#g$c%?Q^-;Fje?pCUX7EM-SL8T2I}i_Xw3HrjlQE=S1n~o|+9A*HGJ+N!+nnB&9nE}+N30}%C8Dq{=0GXMI!4%FPo->1qxqSR zqwc{lXz4Fy__FvH4|R&F0(8v4J_O2#se0d>XLPp!@TBU=d>!bgs|6 zq_I5g9?QedP;#H)LhCL@3!MWsnwr;IZ{)+2eGD^x$A`|~v-Dv`!~FfFBG=m= zyZ^N%x%%_>k}wAxBh1uZjQ08aL}}Y+i`?%y;};t$le^8}vl##4^{B034u6iw{SSwH zecK`D@TImNA0N!pmgt;#OZGkDb^@=;Z^=kI8-1?G_B&lC9a(DAW#;g)Xmu8!rChId zEN-4$eIGh&USB8tURM&UyKu5Ch-|NV^0$vfvMoP{kA>@I@mcbFWff$bt-l<%S$I`` zOTu+>T_JKkdZ%xkSH8_AJ`0l3H#d_$&}i^0Iz+DT+-JkiCAq3!kq{C@xC&hCzK?`4bIGd_~~NpX9gAeSpe?oH!)8=t3|edKkB}X zk!(XgMN+u+eF1qlW^98)KE)J~_xU2%bsu>A$!NVZwJ%U|(1v*YK-Vv_+7q}@_+;&w zwWZ2}o^K&7Ye!=whSu9y*Mi0pj;%4Vh6HRh=>9qtu!t-QgRi$)9=0~deTMVb+sG3b znyq1t#Myh~s}4Y?-yT_=ow_T@)E%2?~p$<4E`ILYHD13uqWY9o1B=$cVzD|Qt- z`kUljUE6Hgn@B#kBAC3s&$jyGc)Z@M->BTW+Do=`lca1z-vI5FHnZEdJG_B*Tm3dO z_*XzjqAjU?&`uKn*ZvP2vM=;&qHkXe=GXfAbE&(-gpWSa-S3y3?e;3rU3+vSHtyM3 ztWURhb@g=cML4&?h<};&{$h4=9#|KxkE;~_a>#ju$ob%v$Iryphvl4wZA|jE8g4S) z#~mp-Qx~m|s}%p-I?2mL&L7$7wGWp3@Im(pbZ0T^cVIq(fv8!zC;fElqV=IpF1Y8h zUnz2b$yG<+9L+7AJFr+z*caqDK{0JpY@24$%*@}Dd2%Fs{Hviu>^qwM4%v44u-S6o zKg8B6Oi4OEkdE=gd`yEa5AzSX&u}8jM0#LoBQs{i^9E$6@{__fxbMDPE(~4pK>t(h zySnjST)!c8ZD~5!uIo}$m+9V|>AiNx?!ooIm~xfq;qmvM`Yzgrjw#7$u#Vi-Ub{(- zDOhUoU7cPlX70|`d_WSH+*1Sv_7s<{BvXX>qX8hcmBvJsj)lJ zsBJA?M{c(?S!KBo9PdW+*ga8%e}l;V+(WP0tt5A|)o$z#irf8ez3BOlIsfyU=)FWKA1$b7YYC-Mdn9x|TE}eq+D)Q^pLbvT?RYJF zunouJ+I9UGXYM1v3&&OZ8op^Vgx5GohhH4~yCZk*4qlbt5~sQ8a`^#~>mR>y>f=1? z=zLOt-k1K?)BM7zh0gB2VsAg|mg#3>c&m<_vd(^Nd97>c3v%(Cp;V{nA}oK>+q?u_ zpa+{@Kr-UsE^G0i_G#IjUQNs;m7w|9Oql5uLxO@7zOmPMoui~Y&| zJ%D+Ph_qpN+q4j$ac6(dYz@C=pKN^tn6)8jW}l1(Y&7Uy zPW2fP!sq{f^HlTg&DjVkTXb2h$(78tGoD++T=ou;`~4?ATAIra zE%&Aj{JgD8?vte5-zjoGZ_ls2XgKzEp16Y@UB&iZ(Li<2F}V4xd;k0iu1{7zpT(9C z=+bIS)V=^?FAc{pFzK;xQvE3CS~hrWozZ<8$hFbP$MPht@eCGZW)3;G%I>dmiL$QuM2X%8Je-BRfKj(+EdU+Eg|U6X@*nfgvjJ;^$roYTz+UkRVfF1#ya!TWA5`Bqy*@Za^!PQ= z>8-6Bc8>NkhFTv?YB^dZtXg{wNoENeOE z9m};NXXQ7RGwa>o6FJXX@{$)ua*h{iyz^7ZMr@`kUMWKD%PoW?V{9gq6=M{0AOvzU*7;`J%Gp>iO~$^*VZzg z%X6#9{)Zy_oqoREjl-2atA=&impd0RupOm+b8PQ@BKw;s+rRkKCzkBHoV`L_K(cz|5H`ShUA2qrCO zg%1kq@y_`L*#}?XnsRk@##%`HT-zj^1F^5{@m3b%bzXc5>}|;Rz+RiLVZI0c2E`dI z_CeH-0T%H_L2=y6eU^vaV|n=d-GZklRJwpm@>wvn_wqrE>*6`edPx_Iz6XYaF_x^NrVbzN+_FM5>d z;#Z=Jsb?3jJyfnUvaL9+#oqS5Vt%PCGo<^RJf=-It*#!EHesSOWD9bvg;ySu^E|a< zio^C|VhqPGFm{rnuzMQfJ#lQk(ao-MAJ;}R*z7B?(Xi3}eZWS;){@rt&4FVRs64|H z=`~$)FFkwNOTjM0{_te2OahO5rUdZtJT-tv21f?))PGt6-;kRnxX0v%2flvFTlbgi z4BPsO;_A+B4%cKU*L!J%;zJ;_WJtDK6+@`qW_?yH_IKb_`7LppnS$XJEgf3*_Cr!8 zsk9N2rOm1DgQ(wx|Kj^Nz^ub)(D4ob1|QEK^MKK*j+2^>`@oqml-*i9erP;?lshy1 z7ioKak8Jxxe_bhXX4-6~9g(TBf3bDVLnn&<|0;4nxU2UQ70X?ZOxNXJ_PNl3ZD_T~ z*$d9r{!Qfmt;bIPe0=tG;QJg>wl=ZxQ9m=Sb`1NKp67{ZN9CF62~w~Blgiz>$Duo6 z)0r=@hL_s+DA~yRyC{Ztjxe<6fz1CcGQZ`qy zD%$6;CR9ILW3L>BY8ohOg3{j4bw#;xA+#xh>$(i<5*xXL=<=$k8eWx!jhwZrvwLNJ8S2eIzwtck6t|$gAjiJ-$OK(q zqO8z4Gv=kNr?d8CYwflcWi;sE>`VeMX${A(!ThowuR+gDK)1YD)AGv!Hkzn6ktZ;F z1EgooLWAZB-tLQihj{Nm%is=8&;6F3HDcqPx&WusQwK}W+NRGlu+f+o_%vXnaVFfS z0dr0Y9M2QFZU2Zr@OB^H+V<}QHX3%!rvWooQ6E1~>II(h-Y;Zjeu`(j16XJdBQv-NVrv>ovy)=NQO`RUV({|bdc-qJr0X*&F z%mlu{eIMib(xAV7`-SgErq%ZGvir`JXS>`2b*-LHPOiC}B6T5pA;)^%&Z46epZ)$a z+V{{pDmjD|9!>T~nff?GKSTv)kFYJiJp!g18IE6r`K^yLI(FB`nU0Rejq~Od=FFPb zTU@!Oy?FC%=RhZ<6w=*?hjKsjKIrqP%FTXT6)h z%#ry^b@$X6H-#^G>&HPOpp%jKei`-9x`+}q1cl7I zpm?#oD`o9EP7PxMgimL` zJcA&wR~zKaK=c{MOy}~qJ9ca1+%~)_zba(;pBpd#b{9E6{Peg31X>sp@H?$I=PDR z&%MiOFA?;wuf6&*JEs=g^MuvsA>Uk{jTy_bDNM+e{a z)Wxh(xw&^jM&QIqWwe{ zw?2LMtA^WV0!@z6)t75>T+7-& zdM?Lk)?N=1xgYk4_9sivbZ(OUuXL2oZcG@><23!_VA0c~zke_v^$(ew4fesD*>?0K zgSl9I2BLig)+Vy;AIZ9CeMHzA+}z<1k^3k9`juByCig7Y>0(}cN0HpAi`K`)-jL%A z=%FI_qds-mHtg-{y3ow%As6>f+(KzNBK0=j?&8RNi{)9z?v}g`5w{n3Rel}Q{BzF{ zjTIUH=++-@yehwrY5qC;e3;00 z@$ARWEcuNCJ`a~N5U%xR+a|7eEN-4$N2>k8>kSfblz5ZlyY$c5;qfBh)z5Cf=Wy+C z@xqa@!~b^dZl0`1%Ey3Le}h6fMjhx^c}=D_M)=1 zcb7Y(T)lT&a;Ct}i($V-6z*&s#rS6sfJsZ_{F(+mX9mvh;~u-u@^J2wyFtef?kByb z%lchDvAtE0x z4qkm?%?ms@OK&h~iP)$^>2UHf4hAHbt|0JebL&b8{9eD zs^~<%6-#Mn^KUcTIDDF{IA2n2{**`fbiuuoZHlz()82VpS84rjj()o<-KOO^R?e=- z>jUjm%7ymz8}t5$dgm78HJ-g|+q=BUwcI2hx5?wnW$}IG=sRQXi+ehULI;zqhFk1! z{2kQ;g-7}gVn_TP{dyr5fP<{cUo zM;pS%`uPJ}9_*w0G+?9A|9u*;(XdNKqikTK89%gR&K~*cfc zC-@x$c-r7j0X*$*=LBBYtEP&fUGTw&R$>p`JZp@M*wCgYMISjRxLmmJS+`zDqxGY|3wzZ4gO%(`Hs_zFy%r% zM;$?ZSN`3bqEQd(`uzYN+7APG^1DBPM_xZl;2Yd`Vwyx~YybI%+g@4*J^$Ul=#{sHt@^oe`dZ&PoN7jDZF<8qSIp2!9YJE#Jbz{U#(bdm? z)%5cU=OU%yIm+V93~zFSIR^oebvA)ty7OcdhQ>1@HPi(YYg_yKMI(2G(bl zc5YLkdtbpU(cgs!z3}zOGx=@!p~mfsRG8T6(qZZS>i zZ*GSC&K7;`_1WUVtj98k^ggZ;+VeQ2td^QxM{A~It>Zzxt}Jw9CmXd-z21$nwXCCo z_0c+&6y?q@%n=>E`Ha@r>poU>Z6f9{vV@DAqbx;Nzi$n+9rzbI{+H?+T@3D9;3p8x zmoR@67`*up+4il0^-0^p`NGRw^mfSOhv|Gr_SNUD@9ymG?C)&vk_EI%r!!@HoIkV; zP$O%;)g8|gyt@v#R?5g)kL-=uFf&qhTIcFj`sdC_%oAO1|K_{r#%ERigJ{W*IojJ8 zOHQF=ReirOKG!kYpEZ~y@|!R6-{H)?-yW}*4K4rd)@@?hkM`#crikp164`(Ds_XjW z=lseXjZ;&V>&0z_YHq*2Y;^cvXHK)BJPiiH{aJzjxZtj$j|rt&a^y%p-7i z`!UDv=E>N%=UKJ~c>T4+$0a`D_%8i(vVNh+`m0@I{uRku_PmB8?3HYPWopxZYI-!w12~H2-p> z+A+M|An`_tH%atD4%>XJ$oNCs-}LyV+2;63ge?2wza7)H(U##=`7KF0H(f4|6FEQg z-=>2(li_Uh(C)|Vp`S*`)`nc}8hHJAgv#H!7uz(Iowb4Z+|lMfk1$8FY>~F~gD>wi zPS-e>Bp+8!dQUc$sLE3bS@!YK{!GG=qPK;jw{>@}{A1}^qydi^1;?|pPbOrkkIP)s ztqq$Cugb4unt$&6_9Bt@y`TBYNxJSO{bZiKaZO$aCcTEYQMAe%!GcnEk1-7S$*RN) zaI3G6_&p@`_pHbJefUu9k+Pn{5G87k{3<?do8&t2Pn>@BN5rhXf6yr!t> zx!=;Wm*=MkPN&CLwe+EL*G6OBp!aGyz(xz5yJpXq^m|Fv^(?&)yxkW%cWpGzi2CIL z&VjQ9>gQ+s{y?pZ6sEzQ z^;#mjnz6?j2WRNlwzu(k_3_!-tbay+Epw{sh4A>o+zEYABy%gqPk){U9y`x?MYQ=B z_W>IXyienrH2kLX1aJ2-@AmHlHkzn2K?63L&ByIo8(^cw^KPBf0vnC_w_hHx(c<~H z-UnN7!8;sN{V_9M#~pZD?MR&+fY)D3d|YDs49q0KwTX?;tb`-riEA7fvaL^@7 zd0*~)(fT=;E$N)gY-u+yk~Xx*M|b^sX)R}v=|EKuxJa2TS+D)r zo0$8#eqZK{i;Y|54!2~f2R$pYdE;2NYx?n+3$MzrTxiJ6l;4+%oOhh@me!D1djYmJr~0~C_HD41*UeZ!v$ojZUg*#B-O-?=>vGm- z;6rj|O?Z{adDnw})f24=bB;WHU^Z^fNO?oG?R50QnjZbAYe9I*`dQ)Z?8v~nXnkCz z_?JWGog(wozIgTSmC1Zj<}zRH*sE3Bos>Cs(fYVb@z3o+_lV42SNQ6KmF+>tO};Wu znxh@3$lGG%pS*OW`Zg!_r6)z>EPHg71>G|xEqi_}fv}Hkdztv5!1$lg$lj*`8x1ZQEac zrHw_{NO=kTvK0mNA}@SjSsc`A<`>PxY*x8l3~cwK#cr+^SrNV9^w2AM_{L}c``D)I z!I{#!9;P>Tc6W5GUs-JIm^!twdHO6_5p?e~9@wVRdYC6l=@UJ?zw3l|GmZ|uCNW%F zI!|6>rwhe6bm?w3yO6K4{&=5oY+olj!?hsC*j#x?p5gIrq@Ce09KV>@>B=QOCD z29Iqwy4g|g__K8n)HH57=m;x`Yh}j!mA{1D;4vp1h0EKRcG?*ru{~g}QR7 z1H4Vv%0vV`i-LTn1n}@YHGoG3M+WfJe_8^s{zAVHa{c$L&&FS%jh8+zn`wK#*Bu($ zlGi}vz6Y<$uP8-B?g;taAiDVNaXUO3t$TQ{9&45_&%|pS(XLZ$a2D#g%i3vG&h8gC z_BSR<)VbBMj@RnRcx3oh0n2|UW;?S~=v`kK%5>5cNY$@3KK?W;uY-}(E$UdCB(U9XQC zJFnXb}%=g78GU$KDJb)b5auZtdGdU~H!0_yxu$VV`_^ z2@O1E!02YfpmA+9V4~SFuE|$}@-Qn6_pUhnL;w4L%kXKEV)k27musMh^W?C_qIEG?_zu$ zhJ2m3nYDcL!V`Uywv!CWerSD%bjg009P3Ah-x8;}NpkrHk?;O{zWo=Gd{e$=qS4}M zHp%;#)zg$uR91JqXMH8%{^UC|~3r1IhVXnV9qz+xvCLkyW9L$LdeI zHH1z7z7PHpz7g{V^ObBKVKnGQ*9=;zxPz3+(d_^FGMY5mLg2bbE|4;|$aRfD`E^Y5&%Iy!!y?m$ zbN@9jdcRxTTD>)0Ypo?)-Xz9i-THoaQp+6^_BTB+PeFb-81`mi3XW%NZqAxQpC)`T6>`a<=<# z^B!Vd37@Au+V8Nw5wG@DyX`0a%N35LT9x&{x@dh|rTFL0C4Njc8ooQ@dy^s`zx>#m zGW)vVI?EjqubS;Ib4I1bv0OXjsq*WX=AX)0Y|N`Z{*$+R`@xKnty77!5k< zZNC&4zfXhC708z~e*VCg2m6&q<9=YHS-$X#P509Qr_Oo{3 zB@Vhb3-7G0#6j`Mh4q#=D4sf}*I=dy?o%SPH-7Kg7bnh*`!1l`jbzIXti)7TZppEw z=qfWh#!2d;^>LNrU#?01-647?e&_0kkz=`an4}U)=B47*nCj{%X>UgRS`2;VPSH`} ziUn6#U+Hg(MDNY7!aDL-WU{sUqhU>Ey2$!&k@cf@zWWf~CpzdEhDC74kzm94CxpR>Bh}^F|V#8C6nW1%=lw{rNOx5IC#t*CYwHemgKZjg* z{mKglTW3$owq)NcSfR<*ri}JA8rFcnAo{tbbMAMdHJbAC)B%rxC$;8|3T>$3dS#iu zTkGfCkolKI=5M^TxcBDETpzTknjI=5^IEs>jH}-gnIHJz`a-x0lxy>7psPmpWp{}1{utCT{V4>aU=+PvpQSy674 zXYv=Xn8935_2?Fjk`Hc2I-Z}!xySg~wj14iwN~eM%!873xhXaO7S+1-k(&koW{I~* zd`lutgL|LZ_ax!rU%U13Xbw2o806_P{D^(3g_sLmy*0j3Y9o&lU438laKQOT&pR}` zzBsSYR_N_qy{6x7xt035+l6zFyh+g+?DNF!^pCFnRc|e}y7oWWr{GojMJg`j=F86y zL{B^Jwf!-iA;`#P&J{g%6<3v4QX86n&L^r}c#+e$g%5Iz$_dTwQ%x7<3q(V%l}>)i%xnOU!6$F_sI zUghfRn2~?F#>^hTs}p!V=Xam9f&1@2@6u=wF!`d%S>-c^H-=!M(_0e&v>e%JnYy_5a((0+(XG&-hQz4`Sh-3wt2 z@)42g`X9aG{k8@f+DA>>@Jcp8va}zgeGi1QO}`Yq{Nfc?|25j*9?Z7PN`B4NdI2XV z>(BVdZ{70Wfh7Xg;NF-0n8^B5Km6SPZicMuHoO8G&Y1Z-k@Y=$f4X4juPfT~C^hMU zn;q4)Gh3Grf1K#!52BCho!5WuaJe3OO~@260-GGdPjz*hT*s{MbLcaNPl^6-fBnjp z(Hw5Dac0PU4r?8@!BO7>?&|94Xz!0+8Q+lhX?aKOpGE%D{&n}`mA#|ZBwShlt7Ky% z%RW}?`x@xyFQT8v#xCA13;hhap^>o-to1z&_MQGJ`Z@OVPkyDceW&5|pGr3~vg||k zy$s#2Pw!=L2KaBH`#E<$+fX_K>_7iedOKw4>|VJ?KQiz$;|U9{H%gLo!=Jc)^V&F%1Fy<2HpYbhX>YY*BpX;a8D<^sGfx>%`CKIp0BDwZ5ea=Gc4vx9IntL$>*0y!Se{^r4^5 ze)%qm%sK~t?8p3H&Y70`YDpI3NUXctTs3N=Z^5hb8_S-)^|Z)-(E*>`CG)=Z9Gpe` z_g2)msH@gD)-Pk&Gos((KgaG}*%(%uXyhwfm5E2O>icVPKN}5W*ndP1>)ty1=F0ln z@bxg%D3+yuw)Qa$JNm5Xw|U;h75XT{)$h=&Ygy{I*4Nh1&woWfH=i`~o!Ruip;xD~ z)K9IiP2&S@Ba_oF{@^7K56=gT`_W)tV3x8U4L;x)k^PTu|4oJa0v^KzCyxBcp8LynwbwD4n!0)}D)tsu^sJZFjAimsgKXzquW%14EXc7= zzIkErc{OX7<(```8g!kvYhKCcCiJ^ouuB?#`7VS8rGdA+{Pz%n2R51vU8QoM0gFmq zp1e;%gXRg|?&EAB>Fv1=U?;u^2aWqJJ@0h#(*vi|QwK}Wd0eGy{ehur9wYbM2yNo> zm{H*%es1KI0X(QH19pI;%5qpy(nf-j#@SS}xJX`3fD zu4?B&+<9Di(NAYbLEfs@*}YoN_7!P#BI9H;(h69A24aar)5PET!w#iwm%;p6|McIH zJQDTMItc?B+;e=}OFj4AYp)lM6zG82GVSRV!h3ku~X@nLQWtCSHJUiQG z(Jw*pqR;94)NB}h%$z3mvUXep}|6`}t)oa?5!Q@z`ni zg~m>!F;@C{0vnAk=F@;}j7*mY-tNQhTm9f4nDd|-lt1pb^o$37df;^WUA*-17^-;z zeGOY#=Ee58nDqgOK-gM3(Opi^w)^^dvAFnKj5@H$lKC0Ui#^Q)9I0mr9VKf{j!0Lc3_GIY&5>P?cWD%G}aA_2Y!LE zpQIlz(QljJ?Y={!G}vtJ12)>&6b;yD<5D!>!z7Z2Umo%U564>aliun`nZTr1 zK1R;p#FoDd21-HwO;DEw@Ys%52JqO3R|W992>#UpJbnF|0G@t#Z2(Unx-NxBR`iuO z3I6&N4cXFHZV2FMGq(irw28L_@aX<+0X#Z>R|4OVn=QB<#P~KIb}ws4Xhflc)S!8SxBKWHb{}N`Yd@EZ z$Zm4KrKjKc>4DSfse`4bKPkOFPZd!}P7lD>$zVo z&r@G0`q@!*F?r17ix~eiu#3Z-A!Tbb>vJTvQ`jpFYAdmc_&NMy$IO;t1G%M-m~(cu6~{&ynK3fIRARB-%!Oj)W96s1H;tb0loxE@FHS+x9OXu;-2YXGU-0 zaGxA2l#WWKKFPxQNKUuTE-dcs(+_g#s{pI-d&Ot$zvG0wC7+E<@~ZqsO+!q_6uI10 zIipJF)9gQ33 z%_+>8HLbU}a!q^xw64zX^&1$HhaMn`)HD?9tvwfA?dk%P!(x}EzrX?}zB zv``C>?;o|JSAITd=-uHuzGfiXHm=!>b~Ynoq{%RT*z+UGR&{?EP~OHn=8M2iVpto z-S<7n{sHfAYHIH2S$DCFs~s0y)ZV+Yb(6I+%V}j6TFJ|swDW8_7ut@;dQg1z_0!(9 zx`z+VsD7SwhP+nyozdUG`uxS!3F*1uo;le|^!MlUKlw!TuBcP0(23+7u~mFWQRzKh z$^Nsd#`+KZD$gc<^{w_6`FCBn*J|eMZe6RgZ76l`&(D zqPk;Ef_G=oXd_vlqhU|ibU0FVTIcFj`j?v_m-~t?JNDQuANd8(WzF{_yNV*d@*{X)DNau>t@9Y8 z=v)r}d0}DMDNDp>YZaeOJhpsZ%FkL3{}<^^=QmQ|fRLQe`SUDn7BF)svhisKL$i6D ztt}gDbE=W_$EmN@Ss2scY~Mkm^F#M~Uaqn^QMwTfGAWXCfm!QtG|Y)upFCJ}aQ$)p zJ4Wkep6zQ+yiqazS@fnED~lzkZmG;jWzepg%*%XF=1kXivi0pU=@*04N9z>z3UNuW zg@=evUjFMf_l=cn=ikjJIG?W2-PtsxUst}H__Nd{^3X@?QdvDLP)D6rA6p=L)d9W)~QFPXH7LF93aIi{}s z2KPRVL#0j3dFaazmwf)zH{GkUc9G{x@Ur5W_!4{-`*o?#Zu6seeMi6Z_h0Smxq0hL z{+z68c4$z3RXOrMca;1aEBbl5^Q}Litz^_^>8?>vT~rXqC9S4an8#ancr^ zSNPK|ZJ8@mE&J-y8Js_^!tVb zul#5}IhpmfSDhvd`5ec}?%_;;T*&xxZ=RhF|lngIj;}_W_e) zu5gDp+r3ZZtv-Y>JRl72(^O-Qhp%9+#Fo6rdyMcoQFMFDr|$oMhskw?y3Ks2xB6?l zaT~Ai^XmTcXxitUC2e<-wBw(@{I<7O_S}BbXbt-XPEua=+vw+4p z|EOQSWQfPNH&Gwn%Q8Y=o6J&2Tl;&QnncG_MaL7rddL#wtoxFoM}~*`kolmmB+Rs* z-6ni**}hq96W~?(bxiZm?MWUfI%vp0@`;h^XQj6=c%MnmvY&13@1&U{>YXM!{{4M> z?62o%GO?w>hyJqEYyI6c^>@?sHF5?iwsE!aZW?^e>CzuBy5ZYnB42Z;chhW=bK^hw zmt{Y!_4m^-hiw#nYd*e^z7fy3X{bN@=gR@P zOq0l-TK(BS-A6NduqLl-gSrj~oPKr^yKd=u$Aaxqav!kK>hDL<_okRUCWvfIw)_H5 zl!*K$OVpr!6};UyNv`ca+AMHdC){u8k4U8lPN$#ZrJtHg4@`Q~D`f(czw%Lk_D@6+ zh1z=duUWXBA^yO$iTgc5-*)Q~)%OQxcXSood*!famgD>l94wQ)j2-!@I1IkO!MZQ) zovf|>)8>JV2HmFt8x6cq<N*%s8nqXcEYv$Ir=i@{Qs^&jIp44MekQX@R zY2uMsUsH#kVVy1dIO&L`zvr2tjC_hFdCI1+R*pihUBA|S0j@M98lio>XCpl& z&4bBd@Hq>1mFSQ82J<`8;{$ck`WXKWxruW54yoMRo8I+yY_RT!2c(?R1dbeITvq*K zjpWT7lCh(FNXlR3sW{Yz+zrRC`C44Z`qcEM7a>Vd9BD|ad1U=wiP$!1-Qk0v^EG(y zbg=!4-z#yxq4d|iYjuwF&3(>);XakUYjxB17I;v*tGKFvZBJk3bFeQ&{SZARL$VF1 zUPEnQ{fxjENLQZd%3~!w{_Y}t-GlxwwD(f z%KgUna$^GD;Oyl*>6_Cg9eqre_HricRh_HXn8D1l?S7+%>?OP^za_=w*w;8(baK)U zzIiwEIp>#@c`27ZH({UBDgVGk_2nI(&;E{MeM_ESC3#hTV|h=J%NL5g|F!JceWGW3 zlkdWd#9Qfu5?MY!!1$s*S&4t|V(>ABaV0&*kQZZ&(V+X|kHH~7Fw1(j3mkiAvQ zEZcFd?}N@4J+z1()?d;0kIJ4q7`_@R*#ON_NA>+rU9V%^(CiK4Auw{sPpa>K>OO9L z|1-(S5G2)QpJlX=Wl^1-!d;91-T6M=Pf8$fi%F-s*`rar0!||ev2i|i?OBQ~x z=RRbrhg#qB#D7>QdN|zDcXvK8(*BX6@a*Kb`*ReX{FM zr7f7}q(6=J{V>k@o*+8h|Ju8Dt?XRRF#A(_(?rV4vQO3ez6tC2t)h<`r)*dhy?34O z0!1GY;!V%dn>iyj*m{0b^Xg*1y>`8aCj_#PbG!#}yx4=<-X~7hMe9SITyXnWr-&ZD zboIw}iS|>i1c-;zkvkZTh9S)%_Fzx(muvo9_BA8gF=l-b?0vN(8G zjm%>8-WgkF98x<|JL8b@E5g>`&iS1!I{4p9j{j0+=lq7<2WPG<_VxGnTpp^OH?>gsOb*ipN__rSWO$H5sQ_Z6ap^>3MVc4P;GQ=n4MD@}qTB{81#x$d;e$t5}v=U*jBiO_;u^`TiDJ^@|(E(UUQcH(!NtN8f-Xq(fY)C!Oyus^m5qu z9^0?1pR=U7bb4(Y0_o8-8)HTXC^qMH*R{Nx+LK2A_Ko`;jg{4MD>&^Kz?$Ke@~3q{6% zdi}dzQ^A_AwR<-OOGrPTcOFjF#^O=Bwt;`sC-Oe${3i+n{hOpj)w>xv|0c_E*7xPB z)Lf7E9aVQX+cP`}81?#;dS&C%3+HX-|xo#!Y*c@IcTyyRc^ff_rzJG$1dEH-vb zo!Zzueb)5ZjV0a0_OhH0v|jXb;IrqSXg*MAtJOT9(lP^zVY?Mel<{14uA3Lu>Yhi^ zXP_=xAL|-A&%H==@Qv*b`tqjDb4@$qpX%0M_2y({#(`SjYn>$GzeHqy$usXhiT5@Q zvc{PZu51I%k|}SMZBEkXU*VcYt+w}pb1SeNwpz&gccqKjXidh{7O4|A$m*wZb0X!1ePXjv|$3fYUnfn9creC0cPA9jgr zJi~i;gZjJr90x=Ewi21ku?FqafWbot@7#g^-`=$V*;SP3xx8FrhygL82)RjyB7r=Z z%;W)CVjx_tWMYV!z)Gs%W-@ap88R>C5fYI{N&!nTiUdU02n#F_LL?g8pu7p}Lo9a1 z5>tXKwMe;wMT9LNpoRN={hvOMKIh(hCUg3RJ9AFWxpz+Yx#x8E*Z<%DtGk_bIGD~f zeZRiuy*%kBsHE)6cKEz{ulu27->ZP%QO#1Ilc&AsP-{_G9dUe z+C4jS{*~H(5psq_u`$)aGSVljTZG5P>g8MEx|riU=X_j^_TO^o(j40nGS(3Lebi{5 zAa5%|2QoI=mB*~`s1o%t$9rOREwI{k?YoU}urk9n%n&(~V`;@CqU z@K`jy94ZF%Yrx^@p2b%=x*&zB@-c}~4GtDI2V+0+OeF4B*%ZQbKb(0OWv}ai$M)KD zzNBR@&mS6!3^h?uCd9=0ylc}5?j^7Nqap)2J<0uw_V-gZq8vqeiKk!Y(%1Yx7%~*= zW7-erA?+K)VgAXQ8`I44S%q`&Zb;5Kppv`vHc7mBK*=dOuFmKc^rWX)>VAxS4&(B2nZbl9O~ z?8N?t)n?*^dDO^~y%+;~6WV^qtM_j^FgvjeNu=UvyYG(#y^$E*42*8udffAIFfzp{ zQ*U$;a}-9~7*#ue;#}E(MEhU+(*8}(T-kW~VxXZ#QB3v3Vt({6-!*MrlYzrl;4tcz z4Ih4qzEV8a&KJ^^($Dl_@<5mu zMA=tv0|u8&-*jxGeI*D10vSDLePS|i8QNj|YrI2z^t_k$VA_RgqSQWjZA(UVL$+k* zY5zU%=em{3yb1rkewO|n^O>gS`|0~tlH>1ZzJFazmW9{)8Tz+;57Xp%2R{aY`&EAm z=a09%ay84GU)kERY<&|$$<*G9iTGzQzl+aX#g8Gz#d94b!O2$nR3Z71nTwCx0oLpb z9=)D+>7?bhx!8YeeRIb^q3EujN&CoxGTV!)A%`|kp;GpGmQ~72Xw;FROm+wGIq&JM zyPWYv)?@NX%tiJ1mJTkRF^e5NdA`;*(ACo4-rXg08BZpo8DhVu-k|$^CCV#hX1Ud& zXyKpH)?@$r(9sp31=oY-U!BpW{_=Je(E`gV<<;=WdVhBUpEv$@{}J(YOjkt4^8JvY zeKZ4Y5rzSCMgKV5D&<#&g3x?1esvcx+OYgDb#eKXhf>bvSe2mvYUfw9x!jGm?tEk1 z0~Mi%NRDNf9;%&ZF}7-tlx1+|3n~9_Cnl_#_hji<%{w5LL8(YpuW9} zRF)s;YQF?prPgn3($p$d$FnjMQ0EWEQJOZhC?tzaTy?)AX1vbgWFAlHfATC|^Io0C zZ+*>g_E|ZEUYVc8$=^lMq|S??Nu5U;^uJHjB;V(!Ki)%{%;MzxNQ?S+`kMVw4k;gh zpT)_1=K1gEHQynJ+|T-Daq@oBrsPW=ugOoD#(tK;sreSuvpD%X#sv9)$LlOk<}sdF zmx15B=6n?1&o##6koPe?i<7_Onl=7s@;Zx?dGz_~XX)3Z4FJKE&@&*XI$C-Z2l z)6dk`X1)0AEKcTA_VwS-Yu>M)&wF^C#VPkyZV%v9czH7m;2z%Ef2$+XnbZ=I&bqW3 z>8uOSHl(jH@_0Y#X>CM0`})NZ>Fnq0BGTE%J0jBAPdg*h+2^_=(%Ij7BGTC}E{RAd z#=U`bSs(FURP4Q@ceS&;N{*|W<1QN9-e2ftgnxK7Qa#S(Iy$ zoF8F)x#8}g?6Rcegmx^m**}KEeq}!f9s}pS`WEdJ@$CWLxGxp~yK*u0=#gj>n2K8O z0zUuw-3uq`H5Cwd(cY(5PSVSX=~!~^>kAW3Ux6VT4f!RwGw&I75b10KCvTm`Z!3Yt z-daku-%vK<>6eXot@D_!^Ynep<7wYt6l{wdq#)|ed^gKLIc^KmZ#43F$@1P5NUzD9 zjI{gF2f8lXcPV8bMWZvF<A?qK$^ARbNqv)30|lzFuwPl|28I^Ve*cIV1rrLz_JrnB=+XXRm~!>pNs zLcV`vPXXnj?I~H?P;*JMt`_rIWz+&cD|KRM%M@%5mBpy%c~Q}7D8&Sj13 z6U4K~y!FqkGTXJE`)M|@{#l|vQYQfepPBji*bO{hx$iT_Qm-e?&TPojt&I(8+M7EN z)zc~z+&r*hQ695Z`gHfFud)(#l6tAi@k6b%`T+3#P~$yK z&fM%qAHhYj+QuN+`FL%;;+NT3zMhSKE}9=vVCD0krht^QjZOt8hj#QI8 z{RJ_VJWH3B!nR04 zN1TGb@DTdKvB!<6b>lip>WIP4A)2CH+=qj%cm~?}VYKsxZ=Sh^a#DF;w9(G-0ySby zq)A>^_F@J&H)W{u3*(P8%d%ZoDKE>c4z(8PBfzQV(2MrUc*S`G!8uIkygvgeZ!!%Y zll*u!{O13WHXcQrkNwul?^cdBq9@hZ>~GaRr=}h_JqDbXoV0fi^*ivea&u}7(l9A0 zdN!aAZnB9*wZ}I7J=*_qVDZ|8FT6cLu;AiL%U7#)a}rw{c2EIMHt|a1n*eee-{jll z%ab`O5#KZit^Wk*ZC}$5b}~-hlKd7OI-Q7zzJNhSt<~Z|g3{l$&uCY08>_J&MZixR? zUHCpq`+dn*dHVgn`kLR`e_JVAz#hEwNu1tMe7+6m6+8)yj=bkLGKKLc1Uykz%oL2_!sZsu{r-1k4 zV{YDT**?+RzGf{}G9c2fGUs2W$f_LprmA;!%)4S)rMwzT!RcRt(>cGrW}QWx;FijF z6xvF{WEH1Zs|Y8SRm$t(M4#Zl0jHO?jNcU*o9Ij#9gO2Cc^(+_wQ!vKAjdh`9Vdfr zk%Zrgv5EhVK5)(4kG92&P1N&MS{f%e_^^-N68p9AZkKfiet`9OJjbZ}VHsaQ@hv59fD%O!Jx$Em4 zr1@NM|BV7)P_?>txGqv3RVjXC>hSSjz~IKI8)tJJ6Ywx!*k(OedCt2JiL*7RZrqWvOxMB74mA4PfUpHcRX#9{|Zme(z*idFv=Fz6e7>Q}YxDb_x$ zMq`5}xCLv%M6#i{HW-j zP+{I0#gBfEwtsijj>`wjj|@l*Zq$(P1U4x@n$FE6+q+si23iX9b}G zf*;L5JH7&p){gt(`ObWx*!(CscQTjGS?(Ix;2uCE2Yc`(DwkpS)%=o2pbEzDLbvhYVibZKGW}%J#3@lbp+;N4oMq0^ne9%}J z64+cwV74(C3Hl)U*Bij?3%|H!-huHi?WGEdU)J#%3F8ZGi2nzCe*c^PeMjT}ay%|9 z2e|mS1B-3CS%7j@lP^ljs|w8zC40S%Hb3gqSDp|@_A1BATm*arN{T`0@q}w`?gs`h zJ+k;=XTIl<#uE>Nh=By}vW>?`8B5*;W-soay!61v5}&`rP*-f@GZMxUj`i;W9}EO9 z4;CN89%i6ppMFLHK9r&V0({Qgv~zE~b?h})i|O%gVBBPHp}F6g)d6b^H;NvI_a?hu zninJ4;lzu3dwbz!v5tjmegtpjJPF3Da2|+`Tah^-GGCIf;QnCDI|QdckJmbn`4a0Q zF)_U69%FJy8h^`s{LkREeujTOCV$UsoyYl`Ok;Tgqx%e|@!GtP?`B$5{Ecl)Iu$N> zxjMWxUb~RqZRD{nc=kl3v+TVQ>1>z2h;-I@Adp_8_N@6U8t6x_jhjb44;i;iti#~? z{jAl6HSJyY_e)*K&Q`T?a>2Qktc%o#byA1&9sUhCz4P8XD;!+}`)T(yw{z#M$a#YK zMU72;Vy4%SdE;seyocoxd(nBS*vZ*|lc&jGS*5&AYeNs2&3{2KPn^5? zIqsELo-RE3X=o!tIwlAT>6k#4cCf~T4Ep}dhkxgocw@p~`@T0SBv03#{4?Cg1lp$# z15V3pFTU3C55^x8Jjjeu!3O^c^4cWrQ_1(AU|G#^VFB9waJ2a;<4(D}7XPcY-{+cZ zzjqJxM=kzttnTiQbdOk|7*QytSHF!~{5>&U-HrbZt}D7*$&VlGIgwWUk|o+h+60|J z4z(}m5$GdFzxA{2Vm|{}a&rJH%Zewc{}-v_MGoeom+5NiZyBd~#oOc_PdB9g#gk*1 z&ePZY*7{c^F=Kt&RGm-&Ih1_;Az)TFd+I!i&4Uz&eHGN64pd7rM&(=++}gb>Wv0gw=Q}7 zF2}wfUluoDGX?VGaS6(})hv&5&+Rd2_X{sr{1vuSIUjvFf3Z(3@_CFCl(CA$e=b1T zlf)r0J)mTHRiXKzWZtpB;Va)>qt^%?lF!(WLzLIpcKyy*RU1C>ldO-_NmYy=D!%v_ zU^e&Dy&VS@U+hE4jc`e6#hbAn9Xm<8&BxI0*}JxF8f;uqPziBZ6dZ}R>0tqTOcl*> zm-4DY^Fzg}ejIJypPzC^JXuORP2verPyj!dUsLFpCHvM})g4+Zp!?ZfSIUzMSr@5~ zht(4(QlJYOLP7hLK&&Vygxh@FIzqX}0B56*>O zs)~FTP318Uv5W9#+C6ChAe7oJ!Zcn}C(lQOz|Bm@$SMhu( zyk8DUV}6uBT|dM0r_1wl8M}6xaQjN^i7tChrWXHZQSdL1uCJy4UisyU^ak;Da%M63 zEzV@)EIONez}}k_2zKQJ+CBtpyY-N|u(i~oWV%nFbDw=oev+lVw+*go!}k#6H5|i) zrgSy+cQSU&gUL6!hVUnW*Bw_+ZTSfPclKN>!8bkmEyy_&l;Kj|Ss@#DJl;74ymS8e z-II&)POnFJ+%x5!#vEI>PkUp4$va7l$AcDM-&b?HON-EmgL_1Ct69S-2$zDh4dN_1 z7Ra3vlkMGd2Yq_?RA3CVD>sDevqKMdBtW<5}r_x!E3P8vS4jN^t`E z!8@ZizIhb>S7RjhfmU?c-`l<(TS1q0_1UM#jDw?1Ii-^H$od=-z`BSb#`6PH*He8xYAp$Oya>wBroKKEn2iT!tNKnk-1VKGmM>_fFj2{QoS9^S%lXbar;NOeNDanB((HrF)*EY-|o?zj}WD|8@<96KvVg1 z@bV{p$60jnw#|P#jdI6O{bJf08eZuo!SS$&uSxonUA^7Pcvzx7CVddE3BYUdrq|n& zz{}I)!iXg%hnA?HZ9B`s#;Xo^O$1)`EzjLb{-pTXOf5*RZf;q3X>)IDzO}utr@6mn zZG@H=P!4h`K9C#0%*nW zw4L7^NEe-O5-{9dyZ8MFoe&{^!I-~ljMtr{>YT>w_7%hz%l4RT^aIX!uSGw2=$SJn zBr)IJkYhp&I59dH!Tgu@wUdC^FCV+^PS?IxCSDijH2Dj#-UQ{BB7FAa4h;?$eV+A^ JIspV6{}1hA +#include +#include "idl.h" +/* to cancel the flex internal definition of idllex:-) */ +#define YY_DECL +#include "idl_gram.h" +#include "idl_lex.h" + extern int cfgidllex(YYSTYPE* yylval,yyscan_t scanner, + meta_t *loc,idl_t *idl); + static void cfgidlerror(yyscan_t scanner,meta_t *loc, + idl_t *idl,char *msg); +%} + +/* generate the header file */ +%defines +/* the output file is idl_gram.c and idl_gram.h */ +%output="idl_gram.c" +/* we want the name prefix */ +%name-prefix="cfgidl" +/* we want to get the much more detail error message */ +%error-verbose +/* lex-param */ +%lex-param{yyscan_t scanner} +%lex-param{meta_t *loc} +%lex-param{idl_t *idl} +/* parse param */ +%parse-param {yyscan_t scanner} +%parse-param{meta_t *loc} +%parse-param {idl_t *idl} + +/* reentrant parser */ +%pure-parser +/* generate the output file */ +%verbose +%union{ + meta_t *meta; + var_t *var; + group_t *grp; + cf_list_t *cf_list; + meta_list_t *meta_list; + var_list_t *var_list; + cf_t *cf; +} + + +%token KW_OVERWRITE KW_STRUCT +%token KW_RAW +%token KW_CHAR KW_UCHAR +%token KW_INT8 KW_UINT8 +%token KW_INT16 KW_UINT16 +%token KW_INT32 KW_UINT32 +%token KW_INT64 KW_UINT64 +%token KW_FLOAT KW_DOUBLE +%token KW_STRING INTEGER ID LITERAL_STRING DOUBLE +%token VAR_CMD + +%type variable +%type variable_list +%type group +%type optional_array +%type optional_cmd +%type optional_constraint constraint_list +%type constraint_function +%type constraint_function_param_list +%type type_name cons_func_param + +/* designate the start symbol */ +%start program + +%% +program +:program variable +{ + add_idl_var(idl,$2); +} +|program group +{ + add_idl_group(idl,$2); +} +| +; + +variable +:type_name ID optional_array optional_constraint ';' optional_cmd +{ + meta_t *type=$1,*id=$2; + meta_list_t *array_size_list=$3; + meta_list_t *cmdval = $6; + cf_list_t *cf_list=$4; + cf_t *cf; + + var_t *var=alloc_var(idl); + + //allocate the necessary space + if(cf_list==NULL) { + cf_list=new cf_list_t; + idl->parse_list.push_back(cf_list); + } + if(array_size_list==NULL) { + array_size_list=new meta_list_t; + idl->parse_meta_list.push_back(array_size_list); + } + + if(array_size_list->size()!=0){ + /* the arary size list does exist */ + cf=alloc_cf(idl); + + meta_t func; + func.data="array"; + func.file=id->file; + func.lineno=id->lineno; + assemble_idl_cf(cf,&func,array_size_list); + + cf_list->push_back(cf); + } + if (cmdval != NULL) { + meta_t func ; + func.data = "comment"; + func.file = id->file; + func.lineno = id->lineno; + cf_t *cf = alloc_cf(idl); + assemble_idl_cf(cf, &func, cmdval); + cf_list->push_back(cf); + + //delete cmdval; + } + assemble_idl_var(idl,var,id,type,cf_list); + //delete cf_list; + //delete array_size_list; + + + + $$=var; +} +; +optional_cmd +:VAR_CMD +{ + meta_list_t *lst = new meta_list_t; + idl->parse_meta_list.push_back(lst); + lst->push_back($1); + idl->cmdreserve = 0; + $$ = lst; +} +| +{ + idl->cmdreserve = 0; + $$ = NULL; +} +; + +optional_array +:optional_array '[' INTEGER ']' +{ + meta_list_t *array_size_list=$1; + meta_t *array_tag=$3; + int array_size=atoi(array_tag->data.c_str()); + /* we have to validate here */ + if(array_size<=0){ + char tmpstr[2048]; + meta_t errinfo; + snprintf(tmpstr,sizeof(tmpstr),"array size %d is invalid",array_size); + errinfo.data=tmpstr; + errinfo.file=array_tag->file; + errinfo.lineno=array_tag->lineno; + add_idl_error(idl,errinfo); + array_tag->data="0"; + } + array_size_list->push_back(array_tag); + $$=array_size_list; +} +| optional_array '[' ']' +{ + meta_list_t *array_size_list=$1; + meta_t *array_size=alloc_meta(idl); + array_size->data="0"; + array_size->file=loc->file; + array_size->lineno=loc->lineno; + array_size_list->push_back(array_size); + $$=array_size_list; +} +| + { + meta_list_t *array_size_list=new meta_list_t; + idl->parse_meta_list.push_back(array_size_list); + $$=array_size_list; + } +; + +type_name +:KW_RAW {$$=$1;} +|KW_CHAR {$$=$1;} +|KW_UCHAR {$$=$1;} +|KW_INT8 {$$=$1;} +|KW_UINT8 {$$=$1;} +|KW_INT16 {$$=$1;} +|KW_UINT16 {$$=$1;} +|KW_INT32 {$$=$1;} +|KW_UINT32 {$$=$1;} +|KW_INT64 {$$=$1;} +|KW_UINT64 {$$=$1;} +|KW_FLOAT {$$=$1;} +|KW_DOUBLE {$$=$1;} +|KW_STRING {$$=$1;} +|ID {$$=$1;} +; + +optional_constraint +:'=' constraint_list +{ + $$=$2; + idl->cmdreserve = 1; +} +| +{ + $$=NULL; + idl->cmdreserve = 1; +} +; + +constraint_list +:constraint_list ',' constraint_function +{ + cf_list_t *cf_list=$1; + cf_t *cf=$3; + cf_list->push_back(cf); + $$=cf_list; +} +| constraint_function +{ + cf_list_t *cf_list=new cf_list_t; + idl->parse_list.push_back(cf_list); + cf_t *cf=$1; + cf_list->push_back(cf); + $$=cf_list; +} +; + +constraint_function +:ID '(' constraint_function_param_list ')' +{ + meta_t *func=$1; + meta_list_t *arg_list=$3; + cf_t *cf=alloc_cf(idl); + assemble_idl_cf(cf,func,arg_list); + //delete arg_list; + $$=cf; +} +|ID '(' ')' +{ + meta_t *func=$1; + meta_list_t *arg_list=new meta_list_t; + cf_t *cf=alloc_cf(idl); + assemble_idl_cf(cf,func,arg_list); + delete arg_list; + $$=cf; +} +; + +constraint_function_param_list +:constraint_function_param_list ',' cons_func_param +{ + meta_list_t *param_list=$1; + meta_t *param=$3; + param_list->push_back(param); + $$=param_list; +} +| cons_func_param +{ + meta_list_t *param_list=new meta_list_t; + idl->parse_meta_list.push_back(param_list); + meta_t *param=$1; + param_list->push_back(param); + $$=param_list; +} +; + +cons_func_param +:LITERAL_STRING {$$=$1;} +|ID {$$=$1;} +|INTEGER {$$=$1;} +|DOUBLE {$$=$1;} +; + +group +:KW_STRUCT ID '{' variable_list '}' ';' +{ + meta_t *id=$2; + var_list_t *var_list=$4; + group_t *grp; + grp=alloc_group(idl); + assemble_idl_group(idl,grp,id,var_list); + //delete var_list; + $$=grp; +} +|ID KW_OVERWRITE ID '{' variable_list '}' ';' +{ + meta_t *new_id=$1,*old_id=$3; + var_list_t *var_list=$5; + group_t *grp; + grp=alloc_group(idl); + overwrite_idl_group(idl,grp,new_id,old_id,var_list); + //delete var_list; + $$=grp; +} +; + +variable_list +:variable_list variable +{ + var_list_t *var_list=$1; + var_t *var=$2; + var_list->push_back(var); + $$=var_list; +} +| +{ + var_list_t *var_list=new var_list_t; + idl->parse_var_list.push_back(var_list); + $$=var_list; +} +; + +%% +void cfgidlerror(yyscan_t scanner,meta_t *loc,idl_t *idl,char *msg) +{ + char tmp[2048]; + meta_t errinfo; + errinfo.file=loc->file; + errinfo.lineno=loc->lineno; + snprintf(tmp,sizeof(tmp),"%s before char:'%c'", + msg, + cfgidlget_text(scanner)[0]); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + return ; +} diff --git a/configure/compiler/src/idl.h b/configure/compiler/src/idl.h new file mode 100755 index 00000000..394a13a3 --- /dev/null +++ b/configure/compiler/src/idl.h @@ -0,0 +1,140 @@ +/* -*- c++ -*- + copy[write] by dirlt(zhang_yan@baidu.com) + date time:Wed Nov 19 23:33:00 CST 2008 + file name:idl.h */ + +#ifndef _IDL_H_ +#define _IDL_H_ + +/** + * @file idl.h + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:33:00 CST 2008 + * @version + * @brief the interface of internal implementation + */ + +#include "idl_conf_if.h" +using namespace confIDL; + +/** + * @brief allocated a meta struct from IDL resource pool + * @param idl the IDL on which the meta is allocated + * @return meta allocated + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:33:40 CST 2008 +*/ +extern meta_t *alloc_meta(idl_t *idl); + +/** + * @brief allocated a constraint function struct from IDL resource pool + * @param idl the IDL on which the constraint function is allocated + * @return constraint function allocated + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:33:40 CST 2008 +*/ +extern cf_t *alloc_cf(idl_t *idl); + +/** + * @brief allocated a variable struct from IDL resource pool + * @param idl the IDL on which the variable is allocated + * @return variable allocated + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:33:40 CST 2008 +*/ +extern var_t *alloc_var(idl_t *idl); + +/** + * @brief allocated a group struct from IDL resource pool + * @param idl the IDL on which the group is allocated + * @return group allocated + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:33:40 CST 2008 +*/ + +extern group_t *alloc_group(idl_t *idl); + + +/** + * @brief add the error information to the IDL error messages queue + * @param idl the IDL struct which contains the message queue + * @param errinfo the error message information + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:36:39 CST 2008 +*/ +extern void add_idl_error(idl_t *idl,meta_t &errinfo); + +/** + * @brief add the variable struct to the IDL + * @param idl the IDL struct which contains all variables which described in the IDL file + * @param var the variable to be added + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:36:39 CST 2008 +*/ +extern void add_idl_var(idl_t *idl,var_t *var); + +/** + * @brief add the group struct to the IDL + * @param idl the IDL struct which contains all groups which described in the IDL file + * @param grp the group to be added + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:36:39 CST 2008 +*/ +extern void add_idl_group(idl_t *idl,group_t *grp); + +/** + * @brief assemble the constraint function + * @param cf the constraint function struct + * @param fn the constraint function function name + * @param arg_list argument list + * @see + * @note + * @author zhang_yan@baidu.com + * @date Tue Dec 2 11:01:04 CST 2008 +*/ +extern void assemble_idl_cf(cf_t *cf,meta_t *fn,meta_list_t *arg_list); + +/** + * @brief assemble the variable + * @param idl the idl struct + * @param var the variable which to be assembled + * @param id the variable id + * @param type the variable type + * @param cf_list the list of constraint function + * @note + * @author zhang_yan@baidu.com + * @date Tue Dec 2 11:02:10 CST 2008 +*/ +extern void assemble_idl_var(idl_t *idl,var_t *var,meta_t *id,meta_t *type,cf_list_t *cf_list); + + +/** + * @brief assmeble a group with specific id and fields in it + * @param idl the IDL struct which contains all groups + * @param group the group to be assembles + * @param idl the group name information + * @param varlist the fields in the group + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:39:26 CST 2008 +*/ + +extern void assemble_idl_group(idl_t *idl,group_t *group,meta_t *id,\ + var_list_t *varlist); + +/** + * @brief overwrite a old group to generate a new group + * @param idl the IDL struct which contains all groups + * @param group the group to be generated by overwriting + * @param new_id the new group name information + * @param old_id the old group name information,which will be overwrited + * @param varlist the fields to be overwrited + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:40:59 CST 2008 +*/ +extern void overwrite_idl_group(idl_t *idl,group_t *group,\ + meta_t *new_id,meta_t *old_id,\ + var_list_t *varlist); + + +#endif + diff --git a/configure/compiler/src/idl.lex b/configure/compiler/src/idl.lex new file mode 100755 index 00000000..55c39fcc --- /dev/null +++ b/configure/compiler/src/idl.lex @@ -0,0 +1,197 @@ +/* -*- c++ -*- + copy[write] by dirlt(zhang_yan@baidu.com) + date time:Mon Nov 17 12:06:46 CST 2008 + file name:idl.lex */ +%{ +#include +#include +#include +#include "idl.h" +#include "idl_gram.h" + +#define MAX_TEMP_BUFFER 2048 + +#define YY_DECL int cfgidllex(YYSTYPE *yylval,yyscan_t yyscanner,meta_t *loc,idl_t *idl) + static void do_keyword(YYSTYPE *yylval,yyscan_t cfgidlscanner,meta_t *loc,idl_t *idl); + static int do_special_cmd(YYSTYPE *yylval,yyscan_t cfgidlscanner,meta_t *loc,idl_t *idl); + static void do_meta_data(YYSTYPE *yylval,yyscan_t cfgidlscanner,meta_t *loc,idl_t *idl); + static void do_comment(yyscan_t cfgidlscanner,meta_t *loc); + static void update(yyscan_t cfgidlscanner,meta_t *loc, idl_t *idl); +%} + +/* we don't need to handle file more than one */ +%option noyywrap +/* give out warnings */ +%option warn +/* using 8 bit a character */ +%option 8bit + +/* we want idllex this class */ +%option prefix="cfgidl" +/* output file is idl_lex.c */ +%option outfile="idl_lex.c" +/* header file is idl_lex.h */ +%option header-file="idl_lex.h" +%option reentrant + +/* the letter is so generous except + (),whitespace and ; */ +letter [a-zA-Z_] +digit [0-9] + +%% + +"#" {do_comment(yyscanner,loc);} +"raw" {do_keyword(yylval,yyscanner,loc,idl);return KW_RAW;} +"char" {do_keyword(yylval,yyscanner,loc,idl);return KW_CHAR;} +"uchar" {do_keyword(yylval,yyscanner,loc,idl);return KW_UCHAR;} +"int8_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_INT8;} +"uint8_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_UINT8;} +"int16_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_INT16;} +"uint16_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_UINT16;} +"int32_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_INT32;} +"uint32_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_UINT32;} +"int64_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_INT64;} +"uint64_t" {do_keyword(yylval,yyscanner,loc,idl);return KW_UINT64;} +"float" {do_keyword(yylval,yyscanner,loc,idl);return KW_FLOAT;} +"double" {do_keyword(yylval,yyscanner,loc,idl);return KW_DOUBLE;} +"string" {do_keyword(yylval,yyscanner,loc,idl);return KW_STRING;} +"struct" {do_keyword(yylval,yyscanner,loc,idl);return KW_STRUCT;} +"overwrite" {do_keyword(yylval,yyscanner,loc,idl);return KW_OVERWRITE;} + +\/\/[^\n]* { + if (do_special_cmd(yylval,yyscanner,loc,idl) != 0) { + return VAR_CMD; + } +} +\"[^\"]*\" {do_meta_data(yylval,yyscanner,loc,idl);return LITERAL_STRING;} +[+-]?({digit})+ {do_meta_data(yylval,yyscanner,loc,idl);return INTEGER;} +[+-]?((({digit})+)|(\.({digit})+)|((({digit})+)\.(({digit})+)))([Ee]({digit})+)? {do_meta_data(yylval,yyscanner,loc,idl);return DOUBLE;} +{letter}({letter}|{digit})* {do_meta_data(yylval,yyscanner,loc,idl);return ID;} +[ \t\n\f]+ {update(yyscanner,loc, idl);} +. {return yytext[0];} + +%% +void do_keyword(YYSTYPE *yylval,yyscan_t scanner,meta_t *loc,idl_t *idl) +{ + char *text=cfgidlget_text(scanner); +#ifdef DEBUG + printf("call %s,%s\n",__func__,text); +#endif + meta_t *meta=alloc_meta(idl); + meta->file=loc->file; + meta->lineno=loc->lineno; + meta->data=text; + yylval->meta=meta; +} + +void do_meta_data(YYSTYPE *yylval,yyscan_t scanner,meta_t *loc,idl_t *idl) +{ + char *text=cfgidlget_text(scanner); + int leng=cfgidlget_leng(scanner); +#ifdef DEBUG + printf("call %s,%s\n",__func__,text); +#endif + meta_t *meta=alloc_meta(idl); + meta->file=loc->file; + meta->lineno=loc->lineno; + meta->data=cfgidlget_text(scanner); + yylval->meta=meta; + + int i; + for(i=0;ilineno++; + } + return ; +} + +int do_special_cmd(YYSTYPE *yylval,yyscan_t scanner,meta_t *loc,idl_t *idl) +{ + char *text = cfgidlget_text(scanner); + meta_t *meta=alloc_meta(idl); + meta->file=loc->file; + meta->lineno=loc->lineno; + meta->data=text; + yylval->meta=meta; + + loc->lineno++; + + int ret = idl->cmdreserve; + idl->cmdreserve = 0; + return ret; +} + + +static int cdirective(char *tmp,int *lineno,char **filename) +{ + int i,j; + if(tmp[0]!='#' || tmp[1]!=' ' || !isdigit(tmp[2]))return 0; + i=2; + while(isdigit(tmp[i]))i++; + tmp[i++]=0; + *lineno=atoi(tmp+2); + + j=i+1; + if(tmp[i]!='"')return 0; + i++; + while(tmp[i]!='"')i++; + tmp[i]=0; + *filename=tmp+j; + + return 1; +} + +void do_comment(yyscan_t scanner,meta_t *loc) +{ + char ch; + char tmp[MAX_TEMP_BUFFER]; + int i; + + i=0; + if(cfgidlget_text(scanner)[0]=='#'){ + tmp[0]='#'; + i=1; + } + while(1){ + ch=yyinput(scanner); + if(ch=='\n' || ch==EOF)break; + if(i < (int)sizeof(tmp) - 1) { + tmp[i++]=ch; + } + } + tmp[i]=0; + loc->lineno++; + + char *tmp_file; + int tmp_lineno; + if(cdirective(tmp,&tmp_lineno,&tmp_file)==1){ + loc->lineno=tmp_lineno; + loc->file=tmp_file; +#ifdef DEBUG + printf("new file:%s,lineno:%d\n", + loc->file.c_str(), + loc->lineno); +#endif + } + return ; +} + +void update(yyscan_t scanner,meta_t *loc, idl_t *idl) +{ + int i; + int leng=cfgidlget_leng(scanner); + char *text=cfgidlget_text(scanner); + int cnt = 0; + for(i=0;ilineno++; + //printf("update[%d]: %c\n", i, text[i]); + ++ cnt; + } + } + if (cnt > 0) { + idl->cmdreserve = 0; + } + return ; +} diff --git a/configure/compiler/src/idl_conf_if.h b/configure/compiler/src/idl_conf_if.h new file mode 100755 index 00000000..def3fa34 --- /dev/null +++ b/configure/compiler/src/idl_conf_if.h @@ -0,0 +1,150 @@ +/* -*- c++ -*- + copy[write] by dirlt(zhang_yan@baidu.com) + date time:Wed Nov 19 23:22:32 CST 2008 + file name:idl_conf_if.h */ + +#ifndef _IDL_CONF_IF_H_ +#define _IDL_CONF_IF_H_ + +/** + * @file idl_conf_if.h + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:22:32 CST 2008 + * @version + * @brief the IDL conf_if provided to the user + */ + +#include +#include +#include +#include +#include "bsl/containers/string/bsl_string.h" + +namespace confIDL{ +/** +* @brief the meta data structure +*/ + typedef bsl::string idl_str_t; + struct meta_t + { + idl_str_t file;/**< the meta data in which file */ + int lineno;/**< the meta data in which line */ + idl_str_t data;/**< what is the data in it?? */ + }; + typedef std::list meta_list_t; + typedef std::vectormeta_vec_t; + typedef std::list err_list_t; + +/** +* @brief constraint function structure +* detail using it to describe the constraint function +*/ + struct cons_func_t{ + meta_t func;/**< constraint function name */ + meta_list_t arg_list;/**< constraint function arguments(in idl_str_t form) */ + meta_vec_t arg_vec;/**< constraint function arguments(in idl_str_t form) */ + }; + typedef cons_func_t cf_t; + typedef std::list cf_list_t; + typedef std::mapcf_map_t; + + typedef std::list cf_list_p; + typedef std::list meta_list_p; + +/** +* @brief variable structure +* detail using it to descibel the variable or the fields in the class +*/ + struct var_t{ + meta_t name; + meta_t type; + cf_list_t cf_list; + cf_map_t cf_map; + }; + typedef std::listvar_list_t; + typedef std::mapvar_map_t; + + typedef std::list var_list_p; + +/** +* @brief struct structure +* detail using it to describle the class or the strucut or some +* complex object +*/ + struct group_t{ + meta_t name;/**< the struct name */ + meta_t parent_name;/**< the struct which this struct is overwrited from */ + var_list_t var_list; + var_map_t var_map; + }; + typedef std::mapgroup_map_t; + typedef std::listgroup_list_t; +/** +* @brief IDL struct +* detail contain all the information collected from the IDL file +* also including the resource pool +*/ + struct idl_t + { + group_map_t group_map;/**< structs in the IDL */ + var_map_t var_map;/**< the variables in the IDL */ + group_list_t group_list; + var_list_t var_list; + + /* resource pool */ + meta_list_t rc_meta_list;/**< the allocated meta data */ + cf_list_t rc_cf_list;/**< the allocated constraint functions */ + var_list_t rc_var_list;/**< the allocated variables */ + group_list_t rc_group_list;/**< the allocated groups*/ + + int cmdreserve; + int retval;/**< return value of parsing the IDL file */ + err_list_t err_list;/**< the generated detail error messages when we parse the IDL file */ + + cf_list_p parse_list; /**< the allocated cflist in parsing*/ + meta_list_p parse_meta_list; /**< the allocated metalist in parsing*/ + var_list_p parse_var_list; /**< the allocated varlist in parsing*/ + }; + + + /** + * @brief allocated a IDL struct + * @return return the allocated IDL struct + * @see idl_t + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:28:47 CST 2008 + */ + extern confIDL::idl_t *alloc_idl(); + + /** + * @brief deallocated the IDL struct + * @param idl the IDl struct allocated by alloc_idl() this function + * @see alloc_idl + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:29:36 CST 2008 + */ + extern void free_idl(confIDL::idl_t *idl); + + /** + * @brief load the IDL structu from the file + * @param file the IDL file + * @param idl the IDL strucut we want to load into + * @see alloc_idl free_idl + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:30:52 CST 2008 + */ + extern void load_idl(const char *file,confIDL::idl_t *idl); + + /** + * @brief print the IDL struct in the indented form + * @param idl the IDL struct to be printed + * @see load_idl + * @author zhang_yan@baidu.com + * @date Wed Nov 19 23:30:55 CST 2008 + */ + extern void print_idl(confIDL::idl_t *idl); + +}; + +#endif + diff --git a/configure/compiler/src/idl_gram.c b/configure/compiler/src/idl_gram.c new file mode 100644 index 00000000..d738c235 --- /dev/null +++ b/configure/compiler/src/idl_gram.c @@ -0,0 +1,1704 @@ +/* A Bison parser, made by GNU Bison 1.875c. */ + +/* Skeleton parser for Yacc-like parsing with Bison, + Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. + + This program is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 2, or (at your option) + any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 59 Temple Place - Suite 330, + Boston, MA 02111-1307, USA. */ + +/* As a special exception, when this file is copied by Bison into a + Bison output file, you may use that output file without restriction. + This special exception was added by the Free Software Foundation + in version 1.24 of Bison. */ + +/* Written by Richard Stallman by simplifying the original so called + ``semantic'' parser. */ + +/* All symbols defined below should begin with yy or YY, to avoid + infringing on user name space. This should be done even for local + variables, as they might otherwise be expanded by user macros. + There are some unavoidable exceptions within include files to + define necessary library symbols; they are noted "INFRINGES ON + USER NAME SPACE" below. */ + +/* Identify Bison output. */ +#define YYBISON 1 + +/* Skeleton name. */ +#define YYSKELETON_NAME "yacc.c" + +/* Pure parsers. */ +#define YYPURE 1 + +/* Using locations. */ +#define YYLSP_NEEDED 0 + +/* If NAME_PREFIX is specified substitute the variables and functions + names. */ +#define yyparse cfgidlparse +#define yylex cfgidllex +#define yyerror cfgidlerror +#define yylval cfgidllval +#define yychar cfgidlchar +#define yydebug cfgidldebug +#define yynerrs cfgidlnerrs + + +/* Tokens. */ +#ifndef YYTOKENTYPE +# define YYTOKENTYPE + /* Put the tokens into the symbol table, so that GDB and other debuggers + know about them. */ + enum yytokentype { + KW_OVERWRITE = 258, + KW_STRUCT = 259, + KW_RAW = 260, + KW_CHAR = 261, + KW_UCHAR = 262, + KW_INT8 = 263, + KW_UINT8 = 264, + KW_INT16 = 265, + KW_UINT16 = 266, + KW_INT32 = 267, + KW_UINT32 = 268, + KW_INT64 = 269, + KW_UINT64 = 270, + KW_FLOAT = 271, + KW_DOUBLE = 272, + KW_STRING = 273, + INTEGER = 274, + ID = 275, + LITERAL_STRING = 276, + DOUBLE = 277, + VAR_CMD = 278 + }; +#endif +#define KW_OVERWRITE 258 +#define KW_STRUCT 259 +#define KW_RAW 260 +#define KW_CHAR 261 +#define KW_UCHAR 262 +#define KW_INT8 263 +#define KW_UINT8 264 +#define KW_INT16 265 +#define KW_UINT16 266 +#define KW_INT32 267 +#define KW_UINT32 268 +#define KW_INT64 269 +#define KW_UINT64 270 +#define KW_FLOAT 271 +#define KW_DOUBLE 272 +#define KW_STRING 273 +#define INTEGER 274 +#define ID 275 +#define LITERAL_STRING 276 +#define DOUBLE 277 +#define VAR_CMD 278 + + + + +/* Copy the first part of user declarations. */ +#line 5 "idl.gram" + +#include +#include +#include "idl.h" +/* to cancel the flex internal definition of idllex:-) */ +#define YY_DECL +#include "idl_gram.h" +#include "idl_lex.h" + extern int cfgidllex(YYSTYPE* yylval,yyscan_t scanner, + meta_t *loc,idl_t *idl); + static void cfgidlerror(yyscan_t scanner,meta_t *loc, + idl_t *idl,char *msg); + + +/* Enabling traces. */ +#ifndef YYDEBUG +# define YYDEBUG 0 +#endif + +/* Enabling verbose error messages. */ +#ifdef YYERROR_VERBOSE +# undef YYERROR_VERBOSE +# define YYERROR_VERBOSE 1 +#else +# define YYERROR_VERBOSE 1 +#endif + +#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED) +#line 40 "idl.gram" +typedef union YYSTYPE { + meta_t *meta; + var_t *var; + group_t *grp; + cf_list_t *cf_list; + meta_list_t *meta_list; + var_list_t *var_list; + cf_t *cf; +} YYSTYPE; +/* Line 191 of yacc.c. */ +#line 155 "idl_gram.c" +# define yystype YYSTYPE /* obsolescent; will be withdrawn */ +# define YYSTYPE_IS_DECLARED 1 +# define YYSTYPE_IS_TRIVIAL 1 +#endif + + + +/* Copy the second part of user declarations. */ + + +/* Line 214 of yacc.c. */ +#line 167 "idl_gram.c" + +#if ! defined (yyoverflow) || YYERROR_VERBOSE + +# ifndef YYFREE +# define YYFREE free +# endif +# ifndef YYMALLOC +# define YYMALLOC malloc +# endif + +/* The parser invokes alloca or malloc; define the necessary symbols. */ + +# ifdef YYSTACK_USE_ALLOCA +# if YYSTACK_USE_ALLOCA +# define YYSTACK_ALLOC alloca +# endif +# else +# if defined (alloca) || defined (_ALLOCA_H) +# define YYSTACK_ALLOC alloca +# else +# ifdef __GNUC__ +# define YYSTACK_ALLOC __builtin_alloca +# endif +# endif +# endif + +# ifdef YYSTACK_ALLOC + /* Pacify GCC's `empty if-body' warning. */ +# define YYSTACK_FREE(Ptr) do { /* empty */; } while (0) +# else +# if defined (__STDC__) || defined (__cplusplus) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +# define YYSTACK_ALLOC YYMALLOC +# define YYSTACK_FREE YYFREE +# endif +#endif /* ! defined (yyoverflow) || YYERROR_VERBOSE */ + + +#if (! defined (yyoverflow) \ + && (! defined (__cplusplus) \ + || (defined (YYSTYPE_IS_TRIVIAL) && YYSTYPE_IS_TRIVIAL))) + +/* A type that is properly aligned for any stack member. */ +union yyalloc +{ + short yyss; + YYSTYPE yyvs; + }; + +/* The size of the maximum gap between one aligned stack and the next. */ +# define YYSTACK_GAP_MAXIMUM (sizeof (union yyalloc) - 1) + +/* The size of an array large to enough to hold all stacks, each with + N elements. */ +# define YYSTACK_BYTES(N) \ + ((N) * (sizeof (short) + sizeof (YYSTYPE)) \ + + YYSTACK_GAP_MAXIMUM) + +/* Copy COUNT objects from FROM to TO. The source and destination do + not overlap. */ +# ifndef YYCOPY +# if defined (__GNUC__) && 1 < __GNUC__ +# define YYCOPY(To, From, Count) \ + __builtin_memcpy (To, From, (Count) * sizeof (*(From))) +# else +# define YYCOPY(To, From, Count) \ + do \ + { \ + register YYSIZE_T yyi; \ + for (yyi = 0; yyi < (Count); yyi++) \ + (To)[yyi] = (From)[yyi]; \ + } \ + while (0) +# endif +# endif + +/* Relocate STACK from its old location to the new one. The + local variables YYSIZE and YYSTACKSIZE give the old and new number of + elements in the stack, and YYPTR gives the new location of the + stack. Advance YYPTR to a properly aligned location for the next + stack. */ +# define YYSTACK_RELOCATE(Stack) \ + do \ + { \ + YYSIZE_T yynewbytes; \ + YYCOPY (&yyptr->Stack, Stack, yysize); \ + Stack = &yyptr->Stack; \ + yynewbytes = yystacksize * sizeof (*Stack) + YYSTACK_GAP_MAXIMUM; \ + yyptr += yynewbytes / sizeof (*yyptr); \ + } \ + while (0) + +#endif + +#if defined (__STDC__) || defined (__cplusplus) + typedef signed char yysigned_char; +#else + typedef short yysigned_char; +#endif + +/* YYFINAL -- State number of the termination state. */ +#define YYFINAL 2 +/* YYLAST -- Last index in YYTABLE. */ +#define YYLAST 84 + +/* YYNTOKENS -- Number of terminals. */ +#define YYNTOKENS 33 +/* YYNNTS -- Number of nonterminals. */ +#define YYNNTS 13 +/* YYNRULES -- Number of rules. */ +#define YYNRULES 41 +/* YYNRULES -- Number of states. */ +#define YYNSTATES 62 + +/* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX. */ +#define YYUNDEFTOK 2 +#define YYMAXUTOK 278 + +#define YYTRANSLATE(YYX) \ + ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) + +/* YYTRANSLATE[YYLEX] -- Bison symbol number corresponding to YYLEX. */ +static const unsigned char yytranslate[] = +{ + 0, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 29, 30, 2, 2, 28, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 24, + 2, 27, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 25, 2, 26, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 31, 2, 32, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 2, 2, 2, 2, + 2, 2, 2, 2, 2, 2, 1, 2, 3, 4, + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 19, 20, 21, 22, 23 +}; + +#if YYDEBUG +/* YYPRHS[YYN] -- Index of the first RHS symbol of rule number YYN in + YYRHS. */ +static const unsigned char yyprhs[] = +{ + 0, 0, 3, 6, 9, 10, 17, 19, 20, 25, + 29, 30, 32, 34, 36, 38, 40, 42, 44, 46, + 48, 50, 52, 54, 56, 58, 60, 63, 64, 68, + 70, 75, 79, 83, 85, 87, 89, 91, 93, 100, + 108, 111 +}; + +/* YYRHS -- A `-1'-separated list of the rules' RHS. */ +static const yysigned_char yyrhs[] = +{ + 34, 0, -1, 34, 35, -1, 34, 44, -1, -1, + 38, 20, 37, 39, 24, 36, -1, 23, -1, -1, + 37, 25, 19, 26, -1, 37, 25, 26, -1, -1, + 5, -1, 6, -1, 7, -1, 8, -1, 9, -1, + 10, -1, 11, -1, 12, -1, 13, -1, 14, -1, + 15, -1, 16, -1, 17, -1, 18, -1, 20, -1, + 27, 40, -1, -1, 40, 28, 41, -1, 41, -1, + 20, 29, 42, 30, -1, 20, 29, 30, -1, 42, + 28, 43, -1, 43, -1, 21, -1, 20, -1, 19, + -1, 22, -1, 4, 20, 31, 45, 32, 24, -1, + 20, 3, 20, 31, 45, 32, 24, -1, 45, 35, + -1, -1 +}; + +/* YYRLINE[YYN] -- source line where rule number YYN was defined. */ +static const unsigned short yyrline[] = +{ + 0, 77, 77, 81, 85, 89, 142, 151, 158, 177, + 188, 196, 197, 198, 199, 200, 201, 202, 203, 204, + 205, 206, 207, 208, 209, 210, 214, 220, 227, 234, + 245, 254, 266, 273, 284, 285, 286, 287, 291, 301, + 314, 322 +}; +#endif + +#if YYDEBUG || YYERROR_VERBOSE +/* YYTNME[SYMBOL-NUM] -- String name of the symbol SYMBOL-NUM. + First, the terminals, then, starting at YYNTOKENS, nonterminals. */ +static const char *const yytname[] = +{ + "$end", "error", "$undefined", "KW_OVERWRITE", "KW_STRUCT", "KW_RAW", + "KW_CHAR", "KW_UCHAR", "KW_INT8", "KW_UINT8", "KW_INT16", "KW_UINT16", + "KW_INT32", "KW_UINT32", "KW_INT64", "KW_UINT64", "KW_FLOAT", + "KW_DOUBLE", "KW_STRING", "INTEGER", "ID", "LITERAL_STRING", "DOUBLE", + "VAR_CMD", "';'", "'['", "']'", "'='", "','", "'('", "')'", "'{'", "'}'", + "$accept", "program", "variable", "optional_cmd", "optional_array", + "type_name", "optional_constraint", "constraint_list", + "constraint_function", "constraint_function_param_list", + "cons_func_param", "group", "variable_list", 0 +}; +#endif + +# ifdef YYPRINT +/* YYTOKNUM[YYLEX-NUM] -- Internal token number corresponding to + token YYLEX-NUM. */ +static const unsigned short yytoknum[] = +{ + 0, 256, 257, 258, 259, 260, 261, 262, 263, 264, + 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, + 275, 276, 277, 278, 59, 91, 93, 61, 44, 40, + 41, 123, 125 +}; +# endif + +/* YYR1[YYN] -- Symbol number of symbol that rule YYN derives. */ +static const unsigned char yyr1[] = +{ + 0, 33, 34, 34, 34, 35, 36, 36, 37, 37, + 37, 38, 38, 38, 38, 38, 38, 38, 38, 38, + 38, 38, 38, 38, 38, 38, 39, 39, 40, 40, + 41, 41, 42, 42, 43, 43, 43, 43, 44, 44, + 45, 45 +}; + +/* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN. */ +static const unsigned char yyr2[] = +{ + 0, 2, 2, 2, 0, 6, 1, 0, 4, 3, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 2, 0, 3, 1, + 4, 3, 3, 1, 1, 1, 1, 1, 6, 7, + 2, 0 +}; + +/* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state + STATE-NUM when YYTABLE doesn't specify something else to do. Zero + means the default is an error. */ +static const unsigned char yydefact[] = +{ + 4, 0, 1, 0, 11, 12, 13, 14, 15, 16, + 17, 18, 19, 20, 21, 22, 23, 24, 25, 2, + 0, 3, 0, 0, 10, 41, 0, 27, 0, 41, + 0, 0, 0, 25, 0, 40, 0, 0, 9, 0, + 26, 29, 7, 38, 0, 8, 0, 0, 6, 5, + 39, 36, 35, 34, 37, 31, 0, 33, 28, 0, + 30, 32 +}; + +/* YYDEFGOTO[NTERM-NUM]. */ +static const yysigned_char yydefgoto[] = +{ + -1, 1, 35, 49, 27, 20, 32, 40, 41, 56, + 57, 21, 28 +}; + +/* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing + STATE-NUM. */ +#define YYPACT_NINF -7 +static const yysigned_char yypact[] = +{ + -7, 52, -7, -6, -7, -7, -7, -7, -7, -7, + -7, -7, -7, -7, -7, -7, -7, -7, 18, -7, + 2, -7, 15, 5, -7, -7, 16, -1, -5, -7, + -3, 25, 24, -7, 26, -7, 23, 27, -7, 20, + 43, -7, 28, -7, 30, -7, 54, 25, -7, -7, + -7, -7, -7, -7, -7, -7, 14, -7, -7, -2, + -7, -7 +}; + +/* YYPGOTO[NTERM-NUM]. */ +static const yysigned_char yypgoto[] = +{ + -7, -7, 76, -7, -7, -7, -7, -7, 31, -7, + 21, -7, 50 +}; + +/* YYTABLE[YYPACT[STATE-NUM]]. What to do in state STATE-NUM. If + positive, shift that token. If negative, reduce the rule which + number is the opposite. If zero, do what YYDEFACT says. + If YYTABLE_NINF, syntax error. */ +#define YYTABLE_NINF -1 +static const unsigned char yytable[] = +{ + 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, + 14, 15, 16, 17, 22, 33, 37, 51, 52, 53, + 54, 23, 24, 38, 30, 26, 31, 34, 4, 5, + 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, + 16, 17, 59, 33, 60, 39, 25, 29, 42, 46, + 43, 48, 2, 45, 50, 44, 3, 4, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 47, 18, 51, 52, 53, 54, 19, 58, 36, + 61, 0, 0, 0, 55 +}; + +static const yysigned_char yycheck[] = +{ + 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, + 15, 16, 17, 18, 20, 20, 19, 19, 20, 21, + 22, 3, 20, 26, 25, 20, 27, 32, 5, 6, + 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, + 17, 18, 28, 20, 30, 20, 31, 31, 24, 29, + 24, 23, 0, 26, 24, 32, 4, 5, 6, 7, + 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, + 18, 28, 20, 19, 20, 21, 22, 1, 47, 29, + 59, -1, -1, -1, 30 +}; + +/* YYSTOS[STATE-NUM] -- The (internal number of the) accessing + symbol of state STATE-NUM. */ +static const unsigned char yystos[] = +{ + 0, 34, 0, 4, 5, 6, 7, 8, 9, 10, + 11, 12, 13, 14, 15, 16, 17, 18, 20, 35, + 38, 44, 20, 3, 20, 31, 20, 37, 45, 31, + 25, 27, 39, 20, 32, 35, 45, 19, 26, 20, + 40, 41, 24, 24, 32, 26, 29, 28, 23, 36, + 24, 19, 20, 21, 22, 30, 42, 43, 41, 28, + 30, 43 +}; + +#if ! defined (YYSIZE_T) && defined (__SIZE_TYPE__) +# define YYSIZE_T __SIZE_TYPE__ +#endif +#if ! defined (YYSIZE_T) && defined (size_t) +# define YYSIZE_T size_t +#endif +#if ! defined (YYSIZE_T) +# if defined (__STDC__) || defined (__cplusplus) +# include /* INFRINGES ON USER NAME SPACE */ +# define YYSIZE_T size_t +# endif +#endif +#if ! defined (YYSIZE_T) +# define YYSIZE_T unsigned int +#endif + +#define yyerrok (yyerrstatus = 0) +#define yyclearin (yychar = YYEMPTY) +#define YYEMPTY (-2) +#define YYEOF 0 + +#define YYACCEPT goto yyacceptlab +#define YYABORT goto yyabortlab +#define YYERROR goto yyerrorlab + + +/* Like YYERROR except do call yyerror. This remains here temporarily + to ease the transition to the new meaning of YYERROR, for GCC. + Once GCC version 2 has supplanted version 1, this can go. */ + +#define YYFAIL goto yyerrlab + +#define YYRECOVERING() (!!yyerrstatus) + +#define YYBACKUP(Token, Value) \ +do \ + if (yychar == YYEMPTY && yylen == 1) \ + { \ + yychar = (Token); \ + yylval = (Value); \ + yytoken = YYTRANSLATE (yychar); \ + YYPOPSTACK; \ + goto yybackup; \ + } \ + else \ + { \ + yyerror (scanner, loc, idl, "syntax error: cannot back up");\ + YYERROR; \ + } \ +while (0) + +#define YYTERROR 1 +#define YYERRCODE 256 + +/* YYLLOC_DEFAULT -- Compute the default location (before the actions + are run). */ + +#ifndef YYLLOC_DEFAULT +# define YYLLOC_DEFAULT(Current, Rhs, N) \ + ((Current).first_line = (Rhs)[1].first_line, \ + (Current).first_column = (Rhs)[1].first_column, \ + (Current).last_line = (Rhs)[N].last_line, \ + (Current).last_column = (Rhs)[N].last_column) +#endif + +/* YYLEX -- calling `yylex' with the right arguments. */ + +#ifdef YYLEX_PARAM +# define YYLEX yylex (&yylval, YYLEX_PARAM) +#else +# define YYLEX yylex (&yylval, scanner, loc, idl) +#endif + +/* Enable debugging if requested. */ +#if YYDEBUG + +# ifndef YYFPRINTF +# include /* INFRINGES ON USER NAME SPACE */ +# define YYFPRINTF fprintf +# endif + +# define YYDPRINTF(Args) \ +do { \ + if (yydebug) \ + YYFPRINTF Args; \ +} while (0) + +# define YYDSYMPRINT(Args) \ +do { \ + if (yydebug) \ + yysymprint Args; \ +} while (0) + +# define YYDSYMPRINTF(Title, Token, Value, Location) \ +do { \ + if (yydebug) \ + { \ + YYFPRINTF (stderr, "%s ", Title); \ + yysymprint (stderr, \ + Token, Value); \ + YYFPRINTF (stderr, "\n"); \ + } \ +} while (0) + +/*------------------------------------------------------------------. +| yy_stack_print -- Print the state stack from its BOTTOM up to its | +| TOP (included). | +`------------------------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_stack_print (short *bottom, short *top) +#else +static void +yy_stack_print (bottom, top) + short *bottom; + short *top; +#endif +{ + YYFPRINTF (stderr, "Stack now"); + for (/* Nothing. */; bottom <= top; ++bottom) + YYFPRINTF (stderr, " %d", *bottom); + YYFPRINTF (stderr, "\n"); +} + +# define YY_STACK_PRINT(Bottom, Top) \ +do { \ + if (yydebug) \ + yy_stack_print ((Bottom), (Top)); \ +} while (0) + + +/*------------------------------------------------. +| Report that the YYRULE is going to be reduced. | +`------------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yy_reduce_print (int yyrule) +#else +static void +yy_reduce_print (yyrule) + int yyrule; +#endif +{ + int yyi; + unsigned int yylno = yyrline[yyrule]; + YYFPRINTF (stderr, "Reducing stack by rule %d (line %u), ", + yyrule - 1, yylno); + /* Print the symbols being reduced, and their result. */ + for (yyi = yyprhs[yyrule]; 0 <= yyrhs[yyi]; yyi++) + YYFPRINTF (stderr, "%s ", yytname [yyrhs[yyi]]); + YYFPRINTF (stderr, "-> %s\n", yytname [yyr1[yyrule]]); +} + +# define YY_REDUCE_PRINT(Rule) \ +do { \ + if (yydebug) \ + yy_reduce_print (Rule); \ +} while (0) + +/* Nonzero means print parse trace. It is left uninitialized so that + multiple parsers can coexist. */ +int yydebug; +#else /* !YYDEBUG */ +# define YYDPRINTF(Args) +# define YYDSYMPRINT(Args) +# define YYDSYMPRINTF(Title, Token, Value, Location) +# define YY_STACK_PRINT(Bottom, Top) +# define YY_REDUCE_PRINT(Rule) +#endif /* !YYDEBUG */ + + +/* YYINITDEPTH -- initial size of the parser's stacks. */ +#ifndef YYINITDEPTH +# define YYINITDEPTH 200 +#endif + +/* YYMAXDEPTH -- maximum size the stacks can grow to (effective only + if the built-in stack extension method is used). + + Do not make this value too large; the results are undefined if + SIZE_MAX < YYSTACK_BYTES (YYMAXDEPTH) + evaluated with infinite-precision integer arithmetic. */ + +#if defined (YYMAXDEPTH) && YYMAXDEPTH == 0 +# undef YYMAXDEPTH +#endif + +#ifndef YYMAXDEPTH +# define YYMAXDEPTH 10000 +#endif + + + +#if YYERROR_VERBOSE + +# ifndef yystrlen +# if defined (__GLIBC__) && defined (_STRING_H) +# define yystrlen strlen +# else +/* Return the length of YYSTR. */ +static YYSIZE_T +# if defined (__STDC__) || defined (__cplusplus) +yystrlen (const char *yystr) +# else +yystrlen (yystr) + const char *yystr; +# endif +{ + register const char *yys = yystr; + + while (*yys++ != '\0') + continue; + + return yys - yystr - 1; +} +# endif +# endif + +# ifndef yystpcpy +# if defined (__GLIBC__) && defined (_STRING_H) && defined (_GNU_SOURCE) +# define yystpcpy stpcpy +# else +/* Copy YYSRC to YYDEST, returning the address of the terminating '\0' in + YYDEST. */ +static char * +# if defined (__STDC__) || defined (__cplusplus) +yystpcpy (char *yydest, const char *yysrc) +# else +yystpcpy (yydest, yysrc) + char *yydest; + const char *yysrc; +# endif +{ + register char *yyd = yydest; + register const char *yys = yysrc; + + while ((*yyd++ = *yys++) != '\0') + continue; + + return yyd - 1; +} +# endif +# endif + +#endif /* !YYERROR_VERBOSE */ + + + +#if YYDEBUG +/*--------------------------------. +| Print this symbol on YYOUTPUT. | +`--------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yysymprint (FILE *yyoutput, int yytype, YYSTYPE *yyvaluep) +#else +static void +yysymprint (yyoutput, yytype, yyvaluep) + FILE *yyoutput; + int yytype; + YYSTYPE *yyvaluep; +#endif +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + if (yytype < YYNTOKENS) + { + YYFPRINTF (yyoutput, "token %s (", yytname[yytype]); +# ifdef YYPRINT + YYPRINT (yyoutput, yytoknum[yytype], *yyvaluep); +# endif + } + else + YYFPRINTF (yyoutput, "nterm %s (", yytname[yytype]); + + switch (yytype) + { + default: + break; + } + YYFPRINTF (yyoutput, ")"); +} + +#endif /* ! YYDEBUG */ +/*-----------------------------------------------. +| Release the memory associated to this symbol. | +`-----------------------------------------------*/ + +#if defined (__STDC__) || defined (__cplusplus) +static void +yydestruct (int yytype, YYSTYPE *yyvaluep) +#else +static void +yydestruct (yytype, yyvaluep) + int yytype; + YYSTYPE *yyvaluep; +#endif +{ + /* Pacify ``unused variable'' warnings. */ + (void) yyvaluep; + + switch (yytype) + { + + default: + break; + } +} + + +/* Prevent warnings from -Wmissing-prototypes. */ + +#ifdef YYPARSE_PARAM +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM); +# else +int yyparse (); +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) +int yyparse (yyscan_t scanner, meta_t *loc, idl_t *idl); +#else +int yyparse (); +#endif +#endif /* ! YYPARSE_PARAM */ + + + + + + +/*----------. +| yyparse. | +`----------*/ + +#ifdef YYPARSE_PARAM +# if defined (__STDC__) || defined (__cplusplus) +int yyparse (void *YYPARSE_PARAM) +# else +int yyparse (YYPARSE_PARAM) + void *YYPARSE_PARAM; +# endif +#else /* ! YYPARSE_PARAM */ +#if defined (__STDC__) || defined (__cplusplus) +int +yyparse (yyscan_t scanner, meta_t *loc, idl_t *idl) +#else +int +yyparse (scanner, loc, idl) + yyscan_t scanner; + meta_t *loc; + idl_t *idl; +#endif +#endif +{ + /* The lookahead symbol. */ +int yychar; + +/* The semantic value of the lookahead symbol. */ +YYSTYPE yylval; + +/* Number of syntax errors so far. */ +int yynerrs; + + register int yystate; + register int yyn; + int yyresult; + /* Number of tokens to shift before error messages enabled. */ + int yyerrstatus; + /* Lookahead token as an internal (translated) token number. */ + int yytoken = 0; + + /* Three stacks and their tools: + `yyss': related to states, + `yyvs': related to semantic values, + `yyls': related to locations. + + Refer to the stacks thru separate pointers, to allow yyoverflow + to reallocate them elsewhere. */ + + /* The state stack. */ + short yyssa[YYINITDEPTH]; + short *yyss = yyssa; + register short *yyssp; + + /* The semantic value stack. */ + YYSTYPE yyvsa[YYINITDEPTH]; + YYSTYPE *yyvs = yyvsa; + register YYSTYPE *yyvsp; + + + +#define YYPOPSTACK (yyvsp--, yyssp--) + + YYSIZE_T yystacksize = YYINITDEPTH; + + /* The variables used to return semantic value and location from the + action routines. */ + YYSTYPE yyval; + + + /* When reducing, the number of symbols on the RHS of the reduced + rule. */ + int yylen; + + YYDPRINTF ((stderr, "Starting parse\n")); + + yystate = 0; + yyerrstatus = 0; + yynerrs = 0; + yychar = YYEMPTY; /* Cause a token to be read. */ + + /* Initialize stack pointers. + Waste one element of value and location stack + so that they stay on the same level as the state stack. + The wasted elements are never initialized. */ + + yyssp = yyss; + yyvsp = yyvs; + + goto yysetstate; + +/*------------------------------------------------------------. +| yynewstate -- Push a new state, which is found in yystate. | +`------------------------------------------------------------*/ + yynewstate: + /* In all cases, when you get here, the value and location stacks + have just been pushed. so pushing a state here evens the stacks. + */ + yyssp++; + + yysetstate: + *yyssp = yystate; + + if (yyss + yystacksize - 1 <= yyssp) + { + /* Get the current used size of the three stacks, in elements. */ + YYSIZE_T yysize = yyssp - yyss + 1; + +#ifdef yyoverflow + { + /* Give user a chance to reallocate the stack. Use copies of + these so that the &'s don't force the real ones into + memory. */ + YYSTYPE *yyvs1 = yyvs; + short *yyss1 = yyss; + + + /* Each stack pointer address is followed by the size of the + data in use in that stack, in bytes. This used to be a + conditional around just the two extra args, but that might + be undefined if yyoverflow is a macro. */ + yyoverflow ("parser stack overflow", + &yyss1, yysize * sizeof (*yyssp), + &yyvs1, yysize * sizeof (*yyvsp), + + &yystacksize); + + yyss = yyss1; + yyvs = yyvs1; + } +#else /* no yyoverflow */ +# ifndef YYSTACK_RELOCATE + goto yyoverflowlab; +# else + /* Extend the stack our own way. */ + if (YYMAXDEPTH <= yystacksize) + goto yyoverflowlab; + yystacksize *= 2; + if (YYMAXDEPTH < yystacksize) + yystacksize = YYMAXDEPTH; + + { + short *yyss1 = yyss; + union yyalloc *yyptr = + (union yyalloc *) YYSTACK_ALLOC (YYSTACK_BYTES (yystacksize)); + if (! yyptr) + goto yyoverflowlab; + YYSTACK_RELOCATE (yyss); + YYSTACK_RELOCATE (yyvs); + +# undef YYSTACK_RELOCATE + if (yyss1 != yyssa) + YYSTACK_FREE (yyss1); + } +# endif +#endif /* no yyoverflow */ + + yyssp = yyss + yysize - 1; + yyvsp = yyvs + yysize - 1; + + + YYDPRINTF ((stderr, "Stack size increased to %lu\n", + (unsigned long int) yystacksize)); + + if (yyss + yystacksize - 1 <= yyssp) + YYABORT; + } + + YYDPRINTF ((stderr, "Entering state %d\n", yystate)); + + goto yybackup; + +/*-----------. +| yybackup. | +`-----------*/ +yybackup: + +/* Do appropriate processing given the current state. */ +/* Read a lookahead token if we need one and don't already have one. */ +/* yyresume: */ + + /* First try to decide what to do without reference to lookahead token. */ + + yyn = yypact[yystate]; + if (yyn == YYPACT_NINF) + goto yydefault; + + /* Not known => get a lookahead token if don't already have one. */ + + /* YYCHAR is either YYEMPTY or YYEOF or a valid lookahead symbol. */ + if (yychar == YYEMPTY) + { + YYDPRINTF ((stderr, "Reading a token: ")); + yychar = YYLEX; + } + + if (yychar <= YYEOF) + { + yychar = yytoken = YYEOF; + YYDPRINTF ((stderr, "Now at end of input.\n")); + } + else + { + yytoken = YYTRANSLATE (yychar); + YYDSYMPRINTF ("Next token is", yytoken, &yylval, &yylloc); + } + + /* If the proper action on seeing token YYTOKEN is to reduce or to + detect an error, take that action. */ + yyn += yytoken; + if (yyn < 0 || YYLAST < yyn || yycheck[yyn] != yytoken) + goto yydefault; + yyn = yytable[yyn]; + if (yyn <= 0) + { + if (yyn == 0 || yyn == YYTABLE_NINF) + goto yyerrlab; + yyn = -yyn; + goto yyreduce; + } + + if (yyn == YYFINAL) + YYACCEPT; + + /* Shift the lookahead token. */ + YYDPRINTF ((stderr, "Shifting token %s, ", yytname[yytoken])); + + /* Discard the token being shifted unless it is eof. */ + if (yychar != YYEOF) + yychar = YYEMPTY; + + *++yyvsp = yylval; + + + /* Count tokens shifted since error; after three, turn off error + status. */ + if (yyerrstatus) + yyerrstatus--; + + yystate = yyn; + goto yynewstate; + + +/*-----------------------------------------------------------. +| yydefault -- do the default action for the current state. | +`-----------------------------------------------------------*/ +yydefault: + yyn = yydefact[yystate]; + if (yyn == 0) + goto yyerrlab; + goto yyreduce; + + +/*-----------------------------. +| yyreduce -- Do a reduction. | +`-----------------------------*/ +yyreduce: + /* yyn is the number of a rule to reduce with. */ + yylen = yyr2[yyn]; + + /* If YYLEN is nonzero, implement the default value of the action: + `$$ = $1'. + + Otherwise, the following line sets YYVAL to garbage. + This behavior is undocumented and Bison + users should not rely upon it. Assigning to YYVAL + unconditionally makes the parser a bit smaller, and it avoids a + GCC warning that YYVAL may be used uninitialized. */ + yyval = yyvsp[1-yylen]; + + + YY_REDUCE_PRINT (yyn); + switch (yyn) + { + case 2: +#line 78 "idl.gram" + { + add_idl_var(idl,yyvsp[0].var); +;} + break; + + case 3: +#line 82 "idl.gram" + { + add_idl_group(idl,yyvsp[0].grp); +;} + break; + + case 5: +#line 90 "idl.gram" + { + meta_t *type=yyvsp[-5].meta,*id=yyvsp[-4].meta; + meta_list_t *array_size_list=yyvsp[-3].meta_list; + meta_list_t *cmdval = yyvsp[0].meta_list; + cf_list_t *cf_list=yyvsp[-2].cf_list; + cf_t *cf; + + var_t *var=alloc_var(idl); + + //allocate the necessary space + if(cf_list==NULL) { + cf_list=new cf_list_t; + idl->parse_list.push_back(cf_list); + } + if(array_size_list==NULL) { + array_size_list=new meta_list_t; + idl->parse_meta_list.push_back(array_size_list); + } + + if(array_size_list->size()!=0){ + /* the arary size list does exist */ + cf=alloc_cf(idl); + + meta_t func; + func.data="array"; + func.file=id->file; + func.lineno=id->lineno; + assemble_idl_cf(cf,&func,array_size_list); + + cf_list->push_back(cf); + } + if (cmdval != NULL) { + meta_t func ; + func.data = "comment"; + func.file = id->file; + func.lineno = id->lineno; + cf_t *cf = alloc_cf(idl); + assemble_idl_cf(cf, &func, cmdval); + cf_list->push_back(cf); + + //delete cmdval; + } + assemble_idl_var(idl,var,id,type,cf_list); + //delete cf_list; + //delete array_size_list; + + + + yyval.var=var; +;} + break; + + case 6: +#line 143 "idl.gram" + { + meta_list_t *lst = new meta_list_t; + idl->parse_meta_list.push_back(lst); + lst->push_back(yyvsp[0].meta); + idl->cmdreserve = 0; + yyval.meta_list = lst; +;} + break; + + case 7: +#line 151 "idl.gram" + { + idl->cmdreserve = 0; + yyval.meta_list = NULL; +;} + break; + + case 8: +#line 159 "idl.gram" + { + meta_list_t *array_size_list=yyvsp[-3].meta_list; + meta_t *array_tag=yyvsp[-1].meta; + int array_size=atoi(array_tag->data.c_str()); + /* we have to validate here */ + if(array_size<=0){ + char tmpstr[2048]; + meta_t errinfo; + snprintf(tmpstr,sizeof(tmpstr),"array size %d is invalid",array_size); + errinfo.data=tmpstr; + errinfo.file=array_tag->file; + errinfo.lineno=array_tag->lineno; + add_idl_error(idl,errinfo); + array_tag->data="0"; + } + array_size_list->push_back(array_tag); + yyval.meta_list=array_size_list; +;} + break; + + case 9: +#line 178 "idl.gram" + { + meta_list_t *array_size_list=yyvsp[-2].meta_list; + meta_t *array_size=alloc_meta(idl); + array_size->data="0"; + array_size->file=loc->file; + array_size->lineno=loc->lineno; + array_size_list->push_back(array_size); + yyval.meta_list=array_size_list; +;} + break; + + case 10: +#line 188 "idl.gram" + { + meta_list_t *array_size_list=new meta_list_t; + idl->parse_meta_list.push_back(array_size_list); + yyval.meta_list=array_size_list; + ;} + break; + + case 11: +#line 196 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 12: +#line 197 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 13: +#line 198 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 14: +#line 199 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 15: +#line 200 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 16: +#line 201 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 17: +#line 202 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 18: +#line 203 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 19: +#line 204 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 20: +#line 205 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 21: +#line 206 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 22: +#line 207 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 23: +#line 208 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 24: +#line 209 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 25: +#line 210 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 26: +#line 215 "idl.gram" + { + yyval.cf_list=yyvsp[0].cf_list; + idl->cmdreserve = 1; +;} + break; + + case 27: +#line 220 "idl.gram" + { + yyval.cf_list=NULL; + idl->cmdreserve = 1; +;} + break; + + case 28: +#line 228 "idl.gram" + { + cf_list_t *cf_list=yyvsp[-2].cf_list; + cf_t *cf=yyvsp[0].cf; + cf_list->push_back(cf); + yyval.cf_list=cf_list; +;} + break; + + case 29: +#line 235 "idl.gram" + { + cf_list_t *cf_list=new cf_list_t; + idl->parse_list.push_back(cf_list); + cf_t *cf=yyvsp[0].cf; + cf_list->push_back(cf); + yyval.cf_list=cf_list; +;} + break; + + case 30: +#line 246 "idl.gram" + { + meta_t *func=yyvsp[-3].meta; + meta_list_t *arg_list=yyvsp[-1].meta_list; + cf_t *cf=alloc_cf(idl); + assemble_idl_cf(cf,func,arg_list); + //delete arg_list; + yyval.cf=cf; +;} + break; + + case 31: +#line 255 "idl.gram" + { + meta_t *func=yyvsp[-2].meta; + meta_list_t *arg_list=new meta_list_t; + cf_t *cf=alloc_cf(idl); + assemble_idl_cf(cf,func,arg_list); + delete arg_list; + yyval.cf=cf; +;} + break; + + case 32: +#line 267 "idl.gram" + { + meta_list_t *param_list=yyvsp[-2].meta_list; + meta_t *param=yyvsp[0].meta; + param_list->push_back(param); + yyval.meta_list=param_list; +;} + break; + + case 33: +#line 274 "idl.gram" + { + meta_list_t *param_list=new meta_list_t; + idl->parse_meta_list.push_back(param_list); + meta_t *param=yyvsp[0].meta; + param_list->push_back(param); + yyval.meta_list=param_list; +;} + break; + + case 34: +#line 284 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 35: +#line 285 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 36: +#line 286 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 37: +#line 287 "idl.gram" + {yyval.meta=yyvsp[0].meta;;} + break; + + case 38: +#line 292 "idl.gram" + { + meta_t *id=yyvsp[-4].meta; + var_list_t *var_list=yyvsp[-2].var_list; + group_t *grp; + grp=alloc_group(idl); + assemble_idl_group(idl,grp,id,var_list); + //delete var_list; + yyval.grp=grp; +;} + break; + + case 39: +#line 302 "idl.gram" + { + meta_t *new_id=yyvsp[-6].meta,*old_id=yyvsp[-4].meta; + var_list_t *var_list=yyvsp[-2].var_list; + group_t *grp; + grp=alloc_group(idl); + overwrite_idl_group(idl,grp,new_id,old_id,var_list); + //delete var_list; + yyval.grp=grp; +;} + break; + + case 40: +#line 315 "idl.gram" + { + var_list_t *var_list=yyvsp[-1].var_list; + var_t *var=yyvsp[0].var; + var_list->push_back(var); + yyval.var_list=var_list; +;} + break; + + case 41: +#line 322 "idl.gram" + { + var_list_t *var_list=new var_list_t; + idl->parse_var_list.push_back(var_list); + yyval.var_list=var_list; +;} + break; + + + } + +/* Line 1000 of yacc.c. */ +#line 1465 "idl_gram.c" + + yyvsp -= yylen; + yyssp -= yylen; + + + YY_STACK_PRINT (yyss, yyssp); + + *++yyvsp = yyval; + + + /* Now `shift' the result of the reduction. Determine what state + that goes to, based on the state we popped back to and the rule + number reduced by. */ + + yyn = yyr1[yyn]; + + yystate = yypgoto[yyn - YYNTOKENS] + *yyssp; + if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp) + yystate = yytable[yystate]; + else + yystate = yydefgoto[yyn - YYNTOKENS]; + + goto yynewstate; + + +/*------------------------------------. +| yyerrlab -- here on detecting error | +`------------------------------------*/ +yyerrlab: + /* If not already recovering from an error, report this error. */ + if (!yyerrstatus) + { + ++yynerrs; +#if YYERROR_VERBOSE + yyn = yypact[yystate]; + + if (YYPACT_NINF < yyn && yyn < YYLAST) + { + YYSIZE_T yysize = 0; + int yytype = YYTRANSLATE (yychar); + const char* yyprefix; + char *yymsg; + int yyx; + + /* Start YYX at -YYN if negative to avoid negative indexes in + YYCHECK. */ + int yyxbegin = yyn < 0 ? -yyn : 0; + + /* Stay within bounds of both yycheck and yytname. */ + int yychecklim = YYLAST - yyn; + int yyxend = yychecklim < YYNTOKENS ? yychecklim : YYNTOKENS; + int yycount = 0; + + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + yysize += yystrlen (yyprefix) + yystrlen (yytname [yyx]); + yycount += 1; + if (yycount == 5) + { + yysize = 0; + break; + } + } + yysize += (sizeof ("syntax error, unexpected ") + + yystrlen (yytname[yytype])); + yymsg = (char *) YYSTACK_ALLOC (yysize); + if (yymsg != 0) + { + char *yyp = yystpcpy (yymsg, "syntax error, unexpected "); + yyp = yystpcpy (yyp, yytname[yytype]); + + if (yycount < 5) + { + yyprefix = ", expecting "; + for (yyx = yyxbegin; yyx < yyxend; ++yyx) + if (yycheck[yyx + yyn] == yyx && yyx != YYTERROR) + { + yyp = yystpcpy (yyp, yyprefix); + yyp = yystpcpy (yyp, yytname[yyx]); + yyprefix = " or "; + } + } + yyerror (scanner, loc, idl, yymsg); + YYSTACK_FREE (yymsg); + } + else + yyerror (scanner, loc, idl, "syntax error; also virtual memory exhausted"); + } + else +#endif /* YYERROR_VERBOSE */ + yyerror (scanner, loc, idl, "syntax error"); + } + + + + if (yyerrstatus == 3) + { + /* If just tried and failed to reuse lookahead token after an + error, discard it. */ + + if (yychar <= YYEOF) + { + /* If at end of input, pop the error token, + then the rest of the stack, then return failure. */ + if (yychar == YYEOF) + for (;;) + { + YYPOPSTACK; + if (yyssp == yyss) + YYABORT; + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[*yyssp], yyvsp); + } + } + else + { + YYDSYMPRINTF ("Error: discarding", yytoken, &yylval, &yylloc); + yydestruct (yytoken, &yylval); + yychar = YYEMPTY; + + } + } + + /* Else will try to reuse lookahead token after shifting the error + token. */ + goto yyerrlab1; + + +/*---------------------------------------------------. +| yyerrorlab -- error raised explicitly by YYERROR. | +`---------------------------------------------------*/ +yyerrorlab: + +#ifdef __GNUC__ + /* Pacify GCC when the user code never invokes YYERROR and the label + yyerrorlab therefore never appears in user code. */ + if (0) + goto yyerrorlab; +#endif + + yyvsp -= yylen; + yyssp -= yylen; + yystate = *yyssp; + goto yyerrlab1; + + +/*-------------------------------------------------------------. +| yyerrlab1 -- common code for both syntax error and YYERROR. | +`-------------------------------------------------------------*/ +yyerrlab1: + yyerrstatus = 3; /* Each real token shifted decrements this. */ + + for (;;) + { + yyn = yypact[yystate]; + if (yyn != YYPACT_NINF) + { + yyn += YYTERROR; + if (0 <= yyn && yyn <= YYLAST && yycheck[yyn] == YYTERROR) + { + yyn = yytable[yyn]; + if (0 < yyn) + break; + } + } + + /* Pop the current state because it cannot handle the error token. */ + if (yyssp == yyss) + YYABORT; + + YYDSYMPRINTF ("Error: popping", yystos[*yyssp], yyvsp, yylsp); + yydestruct (yystos[yystate], yyvsp); + YYPOPSTACK; + yystate = *yyssp; + YY_STACK_PRINT (yyss, yyssp); + } + + if (yyn == YYFINAL) + YYACCEPT; + + YYDPRINTF ((stderr, "Shifting error token, ")); + + *++yyvsp = yylval; + + + yystate = yyn; + goto yynewstate; + + +/*-------------------------------------. +| yyacceptlab -- YYACCEPT comes here. | +`-------------------------------------*/ +yyacceptlab: + yyresult = 0; + goto yyreturn; + +/*-----------------------------------. +| yyabortlab -- YYABORT comes here. | +`-----------------------------------*/ +yyabortlab: + yyresult = 1; + goto yyreturn; + +#ifndef yyoverflow +/*----------------------------------------------. +| yyoverflowlab -- parser overflow comes here. | +`----------------------------------------------*/ +yyoverflowlab: + yyerror (scanner, loc, idl, "parser stack overflow"); + yyresult = 2; + /* Fall through. */ +#endif + +yyreturn: +#ifndef yyoverflow + if (yyss != yyssa) + YYSTACK_FREE (yyss); +#endif + return yyresult; +} + + +#line 329 "idl.gram" + +void cfgidlerror(yyscan_t scanner,meta_t *loc,idl_t *idl,char *msg) +{ + char tmp[2048]; + meta_t errinfo; + errinfo.file=loc->file; + errinfo.lineno=loc->lineno; + snprintf(tmp,sizeof(tmp),"%s before char:'%c'", + msg, + cfgidlget_text(scanner)[0]); + errinfo.data=tmp; + add_idl_error(idl,errinfo); + return ; +} + diff --git a/configure/compiler/src/idl_gram.gcno b/configure/compiler/src/idl_gram.gcno new file mode 100644 index 0000000000000000000000000000000000000000..a50763f436d5fdc6d77464c663dbd12fb68736de GIT binary patch literal 56748 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 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* Returned upon end-of-file. */ +#define YY_NULL 0 + +/* Promotes a possibly negative, possibly signed char to an unsigned + * integer for use as an array index. If the signed char is negative, + * we want to instead treat it as an 8-bit unsigned char, hence the + * double cast. + */ +#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c) + +/* An opaque pointer. */ +#ifndef YY_TYPEDEF_YY_SCANNER_T +#define YY_TYPEDEF_YY_SCANNER_T +typedef void* yyscan_t; +#endif + +/* For convenience, these vars (plus the bison vars far below) + are macros in the reentrant scanner. */ +#define yyin yyg->yyin_r +#define yyout yyg->yyout_r +#define yyextra yyg->yyextra_r +#define yyleng yyg->yyleng_r +#define yytext yyg->yytext_r +#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) +#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) +#define yy_flex_debug yyg->yy_flex_debug_r + +/* Enter a start condition. This macro really ought to take a parameter, + * but we do it the disgusting crufty way forced on us by the ()-less + * definition of BEGIN. + */ +#define BEGIN yyg->yy_start = 1 + 2 * + +/* Translate the current start state into a value that can be later handed + * to BEGIN to return to the state. The YYSTATE alias is for lex + * compatibility. + */ +#define YY_START ((yyg->yy_start - 1) / 2) +#define YYSTATE YY_START + +/* Action number for EOF rule of a given start state. */ +#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1) + +/* Special action meaning "start processing a new file". */ +#define YY_NEW_FILE cfgidlrestart(yyin ,yyscanner ) + +#define YY_END_OF_BUFFER_CHAR 0 + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#define YY_BUF_SIZE 16384 +#endif + +/* The state buf must be large enough to hold one state per character in the main buffer. + */ +#define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type)) + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#define EOB_ACT_CONTINUE_SCAN 0 +#define EOB_ACT_END_OF_FILE 1 +#define EOB_ACT_LAST_MATCH 2 + + #define YY_LESS_LINENO(n) + +/* Return all but the first "n" matched characters back to the input stream. */ +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + *yy_cp = yyg->yy_hold_char; \ + YY_RESTORE_YY_MORE_OFFSET \ + yyg->yy_c_buf_p = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \ + YY_DO_BEFORE_ACTION; /* set up yytext again */ \ + } \ + while ( 0 ) + +#define unput(c) yyunput( c, yyg->yytext_ptr , yyscanner ) + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + +#define YY_BUFFER_NEW 0 +#define YY_BUFFER_NORMAL 1 + /* When an EOF's been seen but there's still some text to process + * then we mark the buffer as YY_EOF_PENDING, to indicate that we + * shouldn't try reading from the input source any more. We might + * still have a bunch of tokens to match, though, because of + * possible backing-up. + * + * When we actually see the EOF, we change the status to "new" + * (via cfgidlrestart()), so that the user can continue scanning by + * just pointing yyin at a new input file. + */ +#define YY_BUFFER_EOF_PENDING 2 + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +/* We provide macros for accessing buffer states in case in the + * future we want to put the buffer states in a more general + * "scanner state". + * + * Returns the top of the stack, or NULL. + */ +#define YY_CURRENT_BUFFER ( yyg->yy_buffer_stack \ + ? yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] \ + : NULL) + +/* Same as previous macro, but useful when we know that the buffer stack is not + * NULL or when we need an lvalue. For internal use only. + */ +#define YY_CURRENT_BUFFER_LVALUE yyg->yy_buffer_stack[yyg->yy_buffer_stack_top] + +void cfgidlrestart (FILE *input_file ,yyscan_t yyscanner ); +void cfgidl_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +YY_BUFFER_STATE cfgidl_create_buffer (FILE *file,int size ,yyscan_t yyscanner ); +void cfgidl_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void cfgidl_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void cfgidlpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +void cfgidlpop_buffer_state (yyscan_t yyscanner ); + +static void cfgidlensure_buffer_stack (yyscan_t yyscanner ); +static void cfgidl_load_buffer_state (yyscan_t yyscanner ); +static void cfgidl_init_buffer (YY_BUFFER_STATE b,FILE *file ,yyscan_t yyscanner ); + +#define YY_FLUSH_BUFFER cfgidl_flush_buffer(YY_CURRENT_BUFFER ,yyscanner) + +YY_BUFFER_STATE cfgidl_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); +YY_BUFFER_STATE cfgidl_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); +YY_BUFFER_STATE cfgidl_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); + +void *cfgidlalloc (yy_size_t ,yyscan_t yyscanner ); +void *cfgidlrealloc (void *,yy_size_t ,yyscan_t yyscanner ); +void cfgidlfree (void * ,yyscan_t yyscanner ); + +#define yy_new_buffer cfgidl_create_buffer + +#define yy_set_interactive(is_interactive) \ + { \ + if ( ! YY_CURRENT_BUFFER ){ \ + cfgidlensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + cfgidl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \ + } + +#define yy_set_bol(at_bol) \ + { \ + if ( ! YY_CURRENT_BUFFER ){\ + cfgidlensure_buffer_stack (yyscanner); \ + YY_CURRENT_BUFFER_LVALUE = \ + cfgidl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); \ + } \ + YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \ + } + +#define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol) + +/* Begin user sect3 */ + +#define cfgidlwrap(n) 1 +#define YY_SKIP_YYWRAP + +typedef unsigned char YY_CHAR; + +typedef int yy_state_type; + +#define yytext_ptr yytext_r + +static yy_state_type yy_get_previous_state (yyscan_t yyscanner ); +static yy_state_type yy_try_NUL_trans (yy_state_type current_state ,yyscan_t yyscanner); +static int yy_get_next_buffer (yyscan_t yyscanner ); +static void yy_fatal_error (yyconst char msg[] ,yyscan_t yyscanner ); + +/* Done after the current pattern has been matched and before the + * corresponding action - sets up yytext. + */ +#define YY_DO_BEFORE_ACTION \ + yyg->yytext_ptr = yy_bp; \ + yyleng = (size_t) (yy_cp - yy_bp); \ + yyg->yy_hold_char = *yy_cp; \ + *yy_cp = '\0'; \ + yyg->yy_c_buf_p = yy_cp; + +#define YY_NUM_RULES 25 +#define YY_END_OF_BUFFER 26 +/* This struct is not used in this scanner, + but its presence is necessary. */ +struct yy_trans_info + { + flex_int32_t yy_verify; + flex_int32_t yy_nxt; + }; +static yyconst flex_int16_t yy_accept[105] = + { 0, + 0, 0, 26, 24, 23, 23, 24, 1, 24, 24, + 24, 20, 22, 22, 22, 22, 22, 22, 22, 22, + 22, 23, 0, 19, 0, 20, 21, 18, 0, 0, + 22, 22, 22, 22, 22, 22, 22, 22, 22, 22, + 18, 21, 21, 22, 22, 22, 22, 22, 2, 22, + 22, 22, 3, 22, 22, 22, 22, 22, 22, 22, + 22, 22, 22, 22, 22, 13, 22, 22, 22, 22, + 22, 22, 22, 4, 22, 22, 22, 22, 14, 22, + 22, 22, 5, 22, 15, 16, 22, 22, 22, 22, + 7, 9, 11, 22, 22, 22, 22, 6, 22, 8, + + 10, 12, 17, 0 + } ; + +static yyconst flex_int32_t yy_ec[256] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 2, 3, + 1, 2, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 2, 1, 4, 5, 1, 1, 1, 1, 1, + 1, 1, 6, 1, 6, 7, 8, 9, 10, 11, + 12, 13, 9, 14, 9, 15, 9, 1, 1, 1, + 1, 1, 1, 1, 16, 16, 16, 16, 17, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 16, 16, 16, 16, 16, 16, 16, 16, 16, 16, + 1, 1, 1, 1, 18, 1, 19, 20, 21, 22, + + 23, 24, 25, 26, 27, 16, 16, 28, 16, 29, + 30, 16, 16, 31, 32, 33, 34, 35, 36, 16, + 16, 16, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1 + } ; + +static yyconst flex_int32_t yy_meta[37] = + { 0, + 1, 1, 2, 1, 1, 1, 3, 1, 4, 4, + 4, 4, 4, 4, 4, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, + 5, 5, 5, 5, 5, 5 + } ; + +static yyconst flex_int16_t yy_base[112] = + { 0, + 0, 0, 139, 140, 35, 37, 134, 140, 130, 0, + 128, 34, 0, 109, 104, 105, 103, 96, 111, 96, + 21, 41, 124, 140, 0, 0, 29, 0, 0, 0, + 0, 108, 92, 95, 91, 100, 86, 90, 94, 90, + 0, 30, 0, 87, 97, 97, 44, 84, 0, 28, + 95, 80, 0, 84, 78, 96, 98, 95, 89, 70, + 76, 83, 72, 51, 79, 0, 83, 82, 81, 65, + 66, 71, 62, 0, 80, 82, 79, 73, 0, 57, + 56, 55, 0, 60, 0, 0, 68, 67, 66, 50, + 0, 0, 0, 49, 48, 44, 31, 0, 37, 0, + + 0, 0, 0, 140, 66, 69, 46, 70, 75, 45, + 41 + } ; + +static yyconst flex_int16_t yy_def[112] = + { 0, + 104, 1, 104, 104, 104, 104, 105, 104, 106, 107, + 104, 106, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 104, 105, 104, 107, 12, 107, 109, 110, 111, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 109, 110, 111, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + 108, 108, 108, 108, 108, 108, 108, 108, 108, 108, + + 108, 108, 108, 0, 104, 104, 104, 104, 104, 104, + 104 + } ; + +static yyconst flex_int16_t yy_nxt[177] = + { 0, + 4, 5, 6, 7, 8, 9, 10, 11, 12, 12, + 12, 12, 12, 12, 12, 13, 13, 13, 13, 13, + 14, 15, 13, 16, 13, 13, 17, 13, 13, 18, + 19, 20, 13, 21, 13, 13, 22, 22, 22, 22, + 29, 39, 22, 22, 43, 30, 30, 40, 42, 27, + 30, 30, 30, 56, 61, 57, 30, 58, 59, 103, + 75, 62, 76, 102, 77, 78, 23, 23, 23, 23, + 23, 26, 26, 31, 31, 41, 101, 41, 41, 41, + 100, 99, 98, 97, 96, 95, 94, 93, 92, 91, + 90, 89, 88, 87, 86, 85, 84, 83, 82, 81, + + 80, 79, 74, 73, 72, 71, 70, 69, 68, 67, + 66, 65, 64, 63, 60, 55, 54, 53, 52, 51, + 50, 49, 48, 47, 46, 45, 44, 24, 38, 37, + 36, 35, 34, 33, 32, 28, 25, 24, 104, 3, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104 + } ; + +static yyconst flex_int16_t yy_chk[177] = + { 0, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 1, 1, 1, 1, 1, 1, 5, 5, 6, 6, + 12, 21, 22, 22, 111, 27, 42, 21, 110, 107, + 12, 27, 42, 47, 50, 47, 12, 47, 47, 99, + 64, 50, 64, 97, 64, 64, 105, 105, 105, 105, + 105, 106, 106, 108, 108, 109, 96, 109, 109, 109, + 95, 94, 90, 89, 88, 87, 84, 82, 81, 80, + 78, 77, 76, 75, 73, 72, 71, 70, 69, 68, + + 67, 65, 63, 62, 61, 60, 59, 58, 57, 56, + 55, 54, 52, 51, 48, 46, 45, 44, 40, 39, + 38, 37, 36, 35, 34, 33, 32, 23, 20, 19, + 18, 17, 16, 15, 14, 11, 9, 7, 3, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104, 104, 104, 104, 104, + 104, 104, 104, 104, 104, 104 + } ; + +/* The intent behind this definition is that it'll catch + * any uses of REJECT which flex missed. + */ +#define REJECT reject_used_but_not_detected +#define yymore() yymore_used_but_not_detected +#define YY_MORE_ADJ 0 +#define YY_RESTORE_YY_MORE_OFFSET +#line 1 "idl.lex" +/* -*- c++ -*- + copy[write] by dirlt(zhang_yan@baidu.com) + date time:Mon Nov 17 12:06:46 CST 2008 + file name:idl.lex */ +#line 6 "idl.lex" +#include +#include +#include +#include "idl.h" +#include "idl_gram.h" + +#define MAX_TEMP_BUFFER 2048 + +#define YY_DECL int cfgidllex(YYSTYPE *yylval,yyscan_t yyscanner,meta_t *loc,idl_t *idl) + static void do_keyword(YYSTYPE *yylval,yyscan_t cfgidlscanner,meta_t *loc,idl_t *idl); + static int do_special_cmd(YYSTYPE *yylval,yyscan_t cfgidlscanner,meta_t *loc,idl_t *idl); + static void do_meta_data(YYSTYPE *yylval,yyscan_t cfgidlscanner,meta_t *loc,idl_t *idl); + static void do_comment(yyscan_t cfgidlscanner,meta_t *loc); + static void update(yyscan_t cfgidlscanner,meta_t *loc, idl_t *idl); +/* we don't need to handle file more than one */ +/* give out warnings */ +/* using 8 bit a character */ +/* we want idllex this class */ +/* output file is idl_lex.c */ +/* header file is idl_lex.h */ +/* the letter is so generous except + (),whitespace and ; */ +#line 533 "idl_lex.c" + +#define INITIAL 0 + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +/* Holds the entire state of the reentrant scanner. */ +struct yyguts_t + { + + /* User-defined. Not touched by flex. */ + YY_EXTRA_TYPE yyextra_r; + + /* The rest are the same as the globals declared in the non-reentrant scanner. */ + FILE *yyin_r, *yyout_r; + size_t yy_buffer_stack_top; /**< index of top of stack. */ + size_t yy_buffer_stack_max; /**< capacity of stack. */ + YY_BUFFER_STATE * yy_buffer_stack; /**< Stack as an array. */ + char yy_hold_char; + int yy_n_chars; + int yyleng_r; + char *yy_c_buf_p; + int yy_init; + int yy_start; + int yy_did_buffer_switch_on_eof; + int yy_start_stack_ptr; + int yy_start_stack_depth; + int *yy_start_stack; + yy_state_type yy_last_accepting_state; + char* yy_last_accepting_cpos; + + int yylineno_r; + int yy_flex_debug_r; + + char *yytext_r; + int yy_more_flag; + int yy_more_len; + + }; /* end struct yyguts_t */ + +static int yy_init_globals (yyscan_t yyscanner ); + +int cfgidllex_init (yyscan_t* scanner); + +int cfgidllex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int cfgidllex_destroy (yyscan_t yyscanner ); + +int cfgidlget_debug (yyscan_t yyscanner ); + +void cfgidlset_debug (int debug_flag ,yyscan_t yyscanner ); + +YY_EXTRA_TYPE cfgidlget_extra (yyscan_t yyscanner ); + +void cfgidlset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); + +FILE *cfgidlget_in (yyscan_t yyscanner ); + +void cfgidlset_in (FILE * in_str ,yyscan_t yyscanner ); + +FILE *cfgidlget_out (yyscan_t yyscanner ); + +void cfgidlset_out (FILE * out_str ,yyscan_t yyscanner ); + +int cfgidlget_leng (yyscan_t yyscanner ); + +char *cfgidlget_text (yyscan_t yyscanner ); + +int cfgidlget_lineno (yyscan_t yyscanner ); + +void cfgidlset_lineno (int line_number ,yyscan_t yyscanner ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int cfgidlwrap (yyscan_t yyscanner ); +#else +extern int cfgidlwrap (yyscan_t yyscanner ); +#endif +#endif + + static void yyunput (int c,char *buf_ptr ,yyscan_t yyscanner); + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); +#endif + +#ifndef YY_NO_INPUT + +#ifdef __cplusplus +static int yyinput (yyscan_t yyscanner ); +#else +static int input (yyscan_t yyscanner ); +#endif + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#define YY_READ_BUF_SIZE 8192 +#endif + +/* Copy whatever the last rule matched to the standard output. */ +#ifndef ECHO +/* This used to be an fputs(), but since the string might contain NUL's, + * we now use fwrite(). + */ +#define ECHO fwrite( yytext, yyleng, 1, yyout ) +#endif + +/* Gets input and stuffs it into "buf". number of characters read, or YY_NULL, + * is returned in "result". + */ +#ifndef YY_INPUT +#define YY_INPUT(buf,result,max_size) \ + if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \ + { \ + int c = '*'; \ + int n; \ + for ( n = 0; n < max_size && \ + (c = getc( yyin )) != EOF && c != '\n'; ++n ) \ + buf[n] = (char) c; \ + if ( c == '\n' ) \ + buf[n++] = (char) c; \ + if ( c == EOF && ferror( yyin ) ) \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + result = n; \ + } \ + else \ + { \ + errno=0; \ + while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \ + { \ + if( errno != EINTR) \ + { \ + YY_FATAL_ERROR( "input in flex scanner failed" ); \ + break; \ + } \ + errno=0; \ + clearerr(yyin); \ + } \ + }\ +\ + +#endif + +/* No semi-colon after return; correct usage is to write "yyterminate();" - + * we don't want an extra ';' after the "return" because that will cause + * some compilers to complain about unreachable statements. + */ +#ifndef yyterminate +#define yyterminate() return YY_NULL +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Report a fatal error. */ +#ifndef YY_FATAL_ERROR +#define YY_FATAL_ERROR(msg) yy_fatal_error( msg , yyscanner) +#endif + +/* end tables serialization structures and prototypes */ + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int cfgidllex (yyscan_t yyscanner); + +#define YY_DECL int cfgidllex (yyscan_t yyscanner) +#endif /* !YY_DECL */ + +/* Code executed at the beginning of each rule, after yytext and yyleng + * have been set up. + */ +#ifndef YY_USER_ACTION +#define YY_USER_ACTION +#endif + +/* Code executed at the end of each rule. */ +#ifndef YY_BREAK +#define YY_BREAK break; +#endif + +#define YY_RULE_SETUP \ + YY_USER_ACTION + +/** The main scanner function which does all the work. + */ +YY_DECL +{ + register yy_state_type yy_current_state; + register char *yy_cp, *yy_bp; + register int yy_act; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + +#line 42 "idl.lex" + + +#line 757 "idl_lex.c" + + if ( !yyg->yy_init ) + { + yyg->yy_init = 1; + +#ifdef YY_USER_INIT + YY_USER_INIT; +#endif + + if ( ! yyg->yy_start ) + yyg->yy_start = 1; /* first start state */ + + if ( ! yyin ) + yyin = stdin; + + if ( ! yyout ) + yyout = stdout; + + if ( ! YY_CURRENT_BUFFER ) { + cfgidlensure_buffer_stack (yyscanner); + YY_CURRENT_BUFFER_LVALUE = + cfgidl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + cfgidl_load_buffer_state(yyscanner ); + } + + while ( 1 ) /* loops until end-of-file is reached */ + { + yy_cp = yyg->yy_c_buf_p; + + /* Support of yytext. */ + *yy_cp = yyg->yy_hold_char; + + /* yy_bp points to the position in yy_ch_buf of the start of + * the current run. + */ + yy_bp = yy_cp; + + yy_current_state = yyg->yy_start; +yy_match: + do + { + register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)]; + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 105 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + ++yy_cp; + } + while ( yy_base[yy_current_state] != 140 ); + +yy_find_action: + yy_act = yy_accept[yy_current_state]; + if ( yy_act == 0 ) + { /* have to back up */ + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + yy_act = yy_accept[yy_current_state]; + } + + YY_DO_BEFORE_ACTION; + +do_action: /* This label is used only to access EOF actions. */ + + switch ( yy_act ) + { /* beginning of action switch */ + case 0: /* must back up */ + /* undo the effects of YY_DO_BEFORE_ACTION */ + *yy_cp = yyg->yy_hold_char; + yy_cp = yyg->yy_last_accepting_cpos; + yy_current_state = yyg->yy_last_accepting_state; + goto yy_find_action; + +case 1: +YY_RULE_SETUP +#line 44 "idl.lex" +{do_comment(yyscanner,loc);} + YY_BREAK +case 2: +YY_RULE_SETUP +#line 45 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_RAW;} + YY_BREAK +case 3: +YY_RULE_SETUP +#line 46 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_CHAR;} + YY_BREAK +case 4: +YY_RULE_SETUP +#line 47 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_UCHAR;} + YY_BREAK +case 5: +YY_RULE_SETUP +#line 48 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_INT8;} + YY_BREAK +case 6: +YY_RULE_SETUP +#line 49 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_UINT8;} + YY_BREAK +case 7: +YY_RULE_SETUP +#line 50 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_INT16;} + YY_BREAK +case 8: +YY_RULE_SETUP +#line 51 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_UINT16;} + YY_BREAK +case 9: +YY_RULE_SETUP +#line 52 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_INT32;} + YY_BREAK +case 10: +YY_RULE_SETUP +#line 53 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_UINT32;} + YY_BREAK +case 11: +YY_RULE_SETUP +#line 54 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_INT64;} + YY_BREAK +case 12: +YY_RULE_SETUP +#line 55 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_UINT64;} + YY_BREAK +case 13: +YY_RULE_SETUP +#line 56 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_FLOAT;} + YY_BREAK +case 14: +YY_RULE_SETUP +#line 57 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_DOUBLE;} + YY_BREAK +case 15: +YY_RULE_SETUP +#line 58 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_STRING;} + YY_BREAK +case 16: +YY_RULE_SETUP +#line 59 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_STRUCT;} + YY_BREAK +case 17: +YY_RULE_SETUP +#line 60 "idl.lex" +{do_keyword(yylval,yyscanner,loc,idl);return KW_OVERWRITE;} + YY_BREAK +case 18: +YY_RULE_SETUP +#line 62 "idl.lex" +{ + if (do_special_cmd(yylval,yyscanner,loc,idl) != 0) { + return VAR_CMD; + } +} + YY_BREAK +case 19: +/* rule 19 can match eol */ +YY_RULE_SETUP +#line 67 "idl.lex" +{do_meta_data(yylval,yyscanner,loc,idl);return LITERAL_STRING;} + YY_BREAK +case 20: +YY_RULE_SETUP +#line 68 "idl.lex" +{do_meta_data(yylval,yyscanner,loc,idl);return INTEGER;} + YY_BREAK +case 21: +YY_RULE_SETUP +#line 69 "idl.lex" +{do_meta_data(yylval,yyscanner,loc,idl);return DOUBLE;} + YY_BREAK +case 22: +YY_RULE_SETUP +#line 70 "idl.lex" +{do_meta_data(yylval,yyscanner,loc,idl);return ID;} + YY_BREAK +case 23: +/* rule 23 can match eol */ +YY_RULE_SETUP +#line 71 "idl.lex" +{update(yyscanner,loc, idl);} + YY_BREAK +case 24: +YY_RULE_SETUP +#line 72 "idl.lex" +{return yytext[0];} + YY_BREAK +case 25: +YY_RULE_SETUP +#line 74 "idl.lex" +ECHO; + YY_BREAK +#line 971 "idl_lex.c" +case YY_STATE_EOF(INITIAL): + yyterminate(); + + case YY_END_OF_BUFFER: + { + /* Amount of text matched not including the EOB char. */ + int yy_amount_of_matched_text = (int) (yy_cp - yyg->yytext_ptr) - 1; + + /* Undo the effects of YY_DO_BEFORE_ACTION. */ + *yy_cp = yyg->yy_hold_char; + YY_RESTORE_YY_MORE_OFFSET + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW ) + { + /* We're scanning a new file or input source. It's + * possible that this happened because the user + * just pointed yyin at a new source and called + * cfgidllex(). If so, then we have to assure + * consistency between YY_CURRENT_BUFFER and our + * globals. Here is the right place to do so, because + * this is the first action (other than possibly a + * back-up) that will match for the new input source. + */ + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL; + } + + /* Note that here we test for yy_c_buf_p "<=" to the position + * of the first EOB in the buffer, since yy_c_buf_p will + * already have been incremented past the NUL character + * (since all states make transitions on EOB to the + * end-of-buffer state). Contrast this with the test + * in input(). + */ + if ( yyg->yy_c_buf_p <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + { /* This was really a NUL. */ + yy_state_type yy_next_state; + + yyg->yy_c_buf_p = yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + /* Okay, we're now positioned to make the NUL + * transition. We couldn't have + * yy_get_previous_state() go ahead and do it + * for us because it doesn't know how to deal + * with the possibility of jamming (and we don't + * want to build jamming into it because then it + * will run more slowly). + */ + + yy_next_state = yy_try_NUL_trans( yy_current_state , yyscanner); + + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + + if ( yy_next_state ) + { + /* Consume the NUL. */ + yy_cp = ++yyg->yy_c_buf_p; + yy_current_state = yy_next_state; + goto yy_match; + } + + else + { + yy_cp = yyg->yy_c_buf_p; + goto yy_find_action; + } + } + + else switch ( yy_get_next_buffer( yyscanner ) ) + { + case EOB_ACT_END_OF_FILE: + { + yyg->yy_did_buffer_switch_on_eof = 0; + + if ( cfgidlwrap(yyscanner ) ) + { + /* Note: because we've taken care in + * yy_get_next_buffer() to have set up + * yytext, we can now set up + * yy_c_buf_p so that if some total + * hoser (like flex itself) wants to + * call the scanner after we return the + * YY_NULL, it'll still work - another + * YY_NULL will get returned. + */ + yyg->yy_c_buf_p = yyg->yytext_ptr + YY_MORE_ADJ; + + yy_act = YY_STATE_EOF(YY_START); + goto do_action; + } + + else + { + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; + } + break; + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = + yyg->yytext_ptr + yy_amount_of_matched_text; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_match; + + case EOB_ACT_LAST_MATCH: + yyg->yy_c_buf_p = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars]; + + yy_current_state = yy_get_previous_state( yyscanner ); + + yy_cp = yyg->yy_c_buf_p; + yy_bp = yyg->yytext_ptr + YY_MORE_ADJ; + goto yy_find_action; + } + break; + } + + default: + YY_FATAL_ERROR( + "fatal flex scanner internal error--no action found" ); + } /* end of action switch */ + } /* end of scanning one token */ +} /* end of cfgidllex */ + +/* yy_get_next_buffer - try to read in a new buffer + * + * Returns a code representing an action: + * EOB_ACT_LAST_MATCH - + * EOB_ACT_CONTINUE_SCAN - continue scanning from current position + * EOB_ACT_END_OF_FILE - end of file + */ +static int yy_get_next_buffer (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf; + register char *source = yyg->yytext_ptr; + register int number_to_move, i; + int ret_val; + + if ( yyg->yy_c_buf_p > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] ) + YY_FATAL_ERROR( + "fatal flex scanner internal error--end of buffer missed" ); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 ) + { /* Don't try to fill the buffer, so this is an EOF. */ + if ( yyg->yy_c_buf_p - yyg->yytext_ptr - YY_MORE_ADJ == 1 ) + { + /* We matched a single character, the EOB, so + * treat this as a final EOF. + */ + return EOB_ACT_END_OF_FILE; + } + + else + { + /* We matched some text prior to the EOB, first + * process it. + */ + return EOB_ACT_LAST_MATCH; + } + } + + /* Try to read more data. */ + + /* First move last chars to start of buffer. */ + number_to_move = (int) (yyg->yy_c_buf_p - yyg->yytext_ptr) - 1; + + for ( i = 0; i < number_to_move; ++i ) + *(dest++) = *(source++); + + if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING ) + /* don't do the read, it's not guaranteed to return an EOF, + * just force an EOF + */ + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars = 0; + + else + { + int num_to_read = + YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1; + + while ( num_to_read <= 0 ) + { /* Not enough room in the buffer - grow it. */ + + /* just a shorter name for the current buffer */ + YY_BUFFER_STATE b = YY_CURRENT_BUFFER; + + int yy_c_buf_p_offset = + (int) (yyg->yy_c_buf_p - b->yy_ch_buf); + + if ( b->yy_is_our_buffer ) + { + int new_size = b->yy_buf_size * 2; + + if ( new_size <= 0 ) + b->yy_buf_size += b->yy_buf_size / 8; + else + b->yy_buf_size *= 2; + + b->yy_ch_buf = (char *) + /* Include room in for 2 EOB chars. */ + cfgidlrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2 ,yyscanner ); + } + else + /* Can't grow it, we don't own it. */ + b->yy_ch_buf = 0; + + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( + "fatal error - scanner input buffer overflow" ); + + yyg->yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset]; + + num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size - + number_to_move - 1; + + } + + if ( num_to_read > YY_READ_BUF_SIZE ) + num_to_read = YY_READ_BUF_SIZE; + + /* Read in more data. */ + YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]), + yyg->yy_n_chars, (size_t) num_to_read ); + + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + if ( yyg->yy_n_chars == 0 ) + { + if ( number_to_move == YY_MORE_ADJ ) + { + ret_val = EOB_ACT_END_OF_FILE; + cfgidlrestart(yyin ,yyscanner); + } + + else + { + ret_val = EOB_ACT_LAST_MATCH; + YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = + YY_BUFFER_EOF_PENDING; + } + } + + else + ret_val = EOB_ACT_CONTINUE_SCAN; + + if ((yy_size_t) (yyg->yy_n_chars + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) { + /* Extend the array by 50%, plus the number we really need. */ + yy_size_t new_size = yyg->yy_n_chars + number_to_move + (yyg->yy_n_chars >> 1); + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) cfgidlrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size ,yyscanner ); + if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" ); + } + + yyg->yy_n_chars += number_to_move; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] = YY_END_OF_BUFFER_CHAR; + YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR; + + yyg->yytext_ptr = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0]; + + return ret_val; +} + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + + static yy_state_type yy_get_previous_state (yyscan_t yyscanner) +{ + register yy_state_type yy_current_state; + register char *yy_cp; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + yy_current_state = yyg->yy_start; + + for ( yy_cp = yyg->yytext_ptr + YY_MORE_ADJ; yy_cp < yyg->yy_c_buf_p; ++yy_cp ) + { + register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1); + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 105 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + } + + return yy_current_state; +} + +/* yy_try_NUL_trans - try to make a transition on the NUL character + * + * synopsis + * next_state = yy_try_NUL_trans( current_state ); + */ + static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state , yyscan_t yyscanner) +{ + register int yy_is_jam; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; /* This var may be unused depending upon options. */ + register char *yy_cp = yyg->yy_c_buf_p; + + register YY_CHAR yy_c = 1; + if ( yy_accept[yy_current_state] ) + { + yyg->yy_last_accepting_state = yy_current_state; + yyg->yy_last_accepting_cpos = yy_cp; + } + while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) + { + yy_current_state = (int) yy_def[yy_current_state]; + if ( yy_current_state >= 105 ) + yy_c = yy_meta[(unsigned int) yy_c]; + } + yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; + yy_is_jam = (yy_current_state == 104); + + return yy_is_jam ? 0 : yy_current_state; +} + + static void yyunput (int c, register char * yy_bp , yyscan_t yyscanner) +{ + register char *yy_cp; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + yy_cp = yyg->yy_c_buf_p; + + /* undo effects of setting up yytext */ + *yy_cp = yyg->yy_hold_char; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + { /* need to shift things up to make room */ + /* +2 for EOB chars. */ + register int number_to_move = yyg->yy_n_chars + 2; + register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[ + YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2]; + register char *source = + &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]; + + while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf ) + *--dest = *--source; + + yy_cp += (int) (dest - source); + yy_bp += (int) (dest - source); + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_buf_size; + + if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 ) + YY_FATAL_ERROR( "flex scanner push-back overflow" ); + } + + *--yy_cp = (char) c; + + yyg->yytext_ptr = yy_bp; + yyg->yy_hold_char = *yy_cp; + yyg->yy_c_buf_p = yy_cp; +} + +#ifndef YY_NO_INPUT +#ifdef __cplusplus + static int yyinput (yyscan_t yyscanner) +#else + static int input (yyscan_t yyscanner) +#endif + +{ + int c; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + *yyg->yy_c_buf_p = yyg->yy_hold_char; + + if ( *yyg->yy_c_buf_p == YY_END_OF_BUFFER_CHAR ) + { + /* yy_c_buf_p now points to the character we want to return. + * If this occurs *before* the EOB characters, then it's a + * valid NUL; if not, then we've hit the end of the buffer. + */ + if ( yyg->yy_c_buf_p < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[yyg->yy_n_chars] ) + /* This was really a NUL. */ + *yyg->yy_c_buf_p = '\0'; + + else + { /* need more input */ + int offset = yyg->yy_c_buf_p - yyg->yytext_ptr; + ++yyg->yy_c_buf_p; + + switch ( yy_get_next_buffer( yyscanner ) ) + { + case EOB_ACT_LAST_MATCH: + /* This happens because yy_g_n_b() + * sees that we've accumulated a + * token and flags that we need to + * try matching the token before + * proceeding. But for input(), + * there's no matching to consider. + * So convert the EOB_ACT_LAST_MATCH + * to EOB_ACT_END_OF_FILE. + */ + + /* Reset buffer status. */ + cfgidlrestart(yyin ,yyscanner); + + /*FALLTHROUGH*/ + + case EOB_ACT_END_OF_FILE: + { + if ( cfgidlwrap(yyscanner ) ) + return EOF; + + if ( ! yyg->yy_did_buffer_switch_on_eof ) + YY_NEW_FILE; +#ifdef __cplusplus + return yyinput(yyscanner); +#else + return input(yyscanner); +#endif + } + + case EOB_ACT_CONTINUE_SCAN: + yyg->yy_c_buf_p = yyg->yytext_ptr + offset; + break; + } + } + } + + c = *(unsigned char *) yyg->yy_c_buf_p; /* cast for 8-bit char's */ + *yyg->yy_c_buf_p = '\0'; /* preserve yytext */ + yyg->yy_hold_char = *++yyg->yy_c_buf_p; + + return c; +} +#endif /* ifndef YY_NO_INPUT */ + +/** Immediately switch to a different input stream. + * @param input_file A readable stream. + * @param yyscanner The scanner object. + * @note This function does not reset the start condition to @c INITIAL . + */ + void cfgidlrestart (FILE * input_file , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! YY_CURRENT_BUFFER ){ + cfgidlensure_buffer_stack (yyscanner); + YY_CURRENT_BUFFER_LVALUE = + cfgidl_create_buffer(yyin,YY_BUF_SIZE ,yyscanner); + } + + cfgidl_init_buffer(YY_CURRENT_BUFFER,input_file ,yyscanner); + cfgidl_load_buffer_state(yyscanner ); +} + +/** Switch to a different input buffer. + * @param new_buffer The new input buffer. + * @param yyscanner The scanner object. + */ + void cfgidl_switch_to_buffer (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* TODO. We should be able to replace this entire function body + * with + * cfgidlpop_buffer_state(); + * cfgidlpush_buffer_state(new_buffer); + */ + cfgidlensure_buffer_stack (yyscanner); + if ( YY_CURRENT_BUFFER == new_buffer ) + return; + + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + YY_CURRENT_BUFFER_LVALUE = new_buffer; + cfgidl_load_buffer_state(yyscanner ); + + /* We don't actually know whether we did this switch during + * EOF (cfgidlwrap()) processing, but the only time this flag + * is looked at is after cfgidlwrap() is called, so it's safe + * to go ahead and always set it. + */ + yyg->yy_did_buffer_switch_on_eof = 1; +} + +static void cfgidl_load_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyg->yy_n_chars = YY_CURRENT_BUFFER_LVALUE->yy_n_chars; + yyg->yytext_ptr = yyg->yy_c_buf_p = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos; + yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file; + yyg->yy_hold_char = *yyg->yy_c_buf_p; +} + +/** Allocate and initialize an input buffer state. + * @param file A readable stream. + * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE. + * @param yyscanner The scanner object. + * @return the allocated buffer state. + */ + YY_BUFFER_STATE cfgidl_create_buffer (FILE * file, int size , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + + b = (YY_BUFFER_STATE) cfgidlalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in cfgidl_create_buffer()" ); + + b->yy_buf_size = size; + + /* yy_ch_buf has to be 2 characters longer than the size given because + * we need to put in 2 end-of-buffer characters. + */ + b->yy_ch_buf = (char *) cfgidlalloc(b->yy_buf_size + 2 ,yyscanner ); + if ( ! b->yy_ch_buf ) + YY_FATAL_ERROR( "out of dynamic memory in cfgidl_create_buffer()" ); + + b->yy_is_our_buffer = 1; + + cfgidl_init_buffer(b,file ,yyscanner); + + return b; +} + +/** Destroy the buffer. + * @param b a buffer created with cfgidl_create_buffer() + * @param yyscanner The scanner object. + */ + void cfgidl_delete_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if ( ! b ) + return; + + if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */ + YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0; + + if ( b->yy_is_our_buffer ) + cfgidlfree((void *) b->yy_ch_buf ,yyscanner ); + + cfgidlfree((void *) b ,yyscanner ); +} + +#ifndef __cplusplus +extern int isatty (int ); +#endif /* __cplusplus */ + +/* Initializes or reinitializes a buffer. + * This function is sometimes called more than once on the same buffer, + * such as during a cfgidlrestart() or at EOF. + */ + static void cfgidl_init_buffer (YY_BUFFER_STATE b, FILE * file , yyscan_t yyscanner) + +{ + int oerrno = errno; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + cfgidl_flush_buffer(b ,yyscanner); + + b->yy_input_file = file; + b->yy_fill_buffer = 1; + + /* If b is the current buffer, then cfgidl_init_buffer was _probably_ + * called from cfgidlrestart() or through yy_get_next_buffer. + * In that case, we don't want to reset the lineno or column. + */ + if (b != YY_CURRENT_BUFFER){ + b->yy_bs_lineno = 1; + b->yy_bs_column = 0; + } + + b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0; + + errno = oerrno; +} + +/** Discard all buffered characters. On the next scan, YY_INPUT will be called. + * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER. + * @param yyscanner The scanner object. + */ + void cfgidl_flush_buffer (YY_BUFFER_STATE b , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if ( ! b ) + return; + + b->yy_n_chars = 0; + + /* We always need two end-of-buffer characters. The first causes + * a transition to the end-of-buffer state. The second causes + * a jam in that state. + */ + b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR; + b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR; + + b->yy_buf_pos = &b->yy_ch_buf[0]; + + b->yy_at_bol = 1; + b->yy_buffer_status = YY_BUFFER_NEW; + + if ( b == YY_CURRENT_BUFFER ) + cfgidl_load_buffer_state(yyscanner ); +} + +/** Pushes the new state onto the stack. The new state becomes + * the current state. This function will allocate the stack + * if necessary. + * @param new_buffer The new state. + * @param yyscanner The scanner object. + */ +void cfgidlpush_buffer_state (YY_BUFFER_STATE new_buffer , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (new_buffer == NULL) + return; + + cfgidlensure_buffer_stack(yyscanner); + + /* This block is copied from cfgidl_switch_to_buffer. */ + if ( YY_CURRENT_BUFFER ) + { + /* Flush out information for old buffer. */ + *yyg->yy_c_buf_p = yyg->yy_hold_char; + YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = yyg->yy_c_buf_p; + YY_CURRENT_BUFFER_LVALUE->yy_n_chars = yyg->yy_n_chars; + } + + /* Only push if top exists. Otherwise, replace top. */ + if (YY_CURRENT_BUFFER) + yyg->yy_buffer_stack_top++; + YY_CURRENT_BUFFER_LVALUE = new_buffer; + + /* copied from cfgidl_switch_to_buffer. */ + cfgidl_load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; +} + +/** Removes and deletes the top of the stack, if present. + * The next element becomes the new top. + * @param yyscanner The scanner object. + */ +void cfgidlpop_buffer_state (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + if (!YY_CURRENT_BUFFER) + return; + + cfgidl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner); + YY_CURRENT_BUFFER_LVALUE = NULL; + if (yyg->yy_buffer_stack_top > 0) + --yyg->yy_buffer_stack_top; + + if (YY_CURRENT_BUFFER) { + cfgidl_load_buffer_state(yyscanner ); + yyg->yy_did_buffer_switch_on_eof = 1; + } +} + +/* Allocates the stack if it does not exist. + * Guarantees space for at least one push. + */ +static void cfgidlensure_buffer_stack (yyscan_t yyscanner) +{ + int num_to_alloc; + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (!yyg->yy_buffer_stack) { + + /* First allocation is just for 2 elements, since we don't know if this + * scanner will even need a stack. We use 2 instead of 1 to avoid an + * immediate realloc on the next call. + */ + num_to_alloc = 1; + yyg->yy_buffer_stack = (struct yy_buffer_state**)cfgidlalloc + (num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + YY_FATAL_ERROR( "out of dynamic memory in cfgidlensure_buffer_stack()" ); + + memset(yyg->yy_buffer_stack, 0, num_to_alloc * sizeof(struct yy_buffer_state*)); + + yyg->yy_buffer_stack_max = num_to_alloc; + yyg->yy_buffer_stack_top = 0; + return; + } + + if (yyg->yy_buffer_stack_top >= (yyg->yy_buffer_stack_max) - 1){ + + /* Increase the buffer to prepare for a possible push. */ + int grow_size = 8 /* arbitrary grow size */; + + num_to_alloc = yyg->yy_buffer_stack_max + grow_size; + yyg->yy_buffer_stack = (struct yy_buffer_state**)cfgidlrealloc + (yyg->yy_buffer_stack, + num_to_alloc * sizeof(struct yy_buffer_state*) + , yyscanner); + if ( ! yyg->yy_buffer_stack ) + YY_FATAL_ERROR( "out of dynamic memory in cfgidlensure_buffer_stack()" ); + + /* zero only the new slots.*/ + memset(yyg->yy_buffer_stack + yyg->yy_buffer_stack_max, 0, grow_size * sizeof(struct yy_buffer_state*)); + yyg->yy_buffer_stack_max = num_to_alloc; + } +} + +/** Setup the input buffer state to scan directly from a user-specified character buffer. + * @param base the character buffer + * @param size the size in bytes of the character buffer + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE cfgidl_scan_buffer (char * base, yy_size_t size , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + + if ( size < 2 || + base[size-2] != YY_END_OF_BUFFER_CHAR || + base[size-1] != YY_END_OF_BUFFER_CHAR ) + /* They forgot to leave room for the EOB's. */ + return 0; + + b = (YY_BUFFER_STATE) cfgidlalloc(sizeof( struct yy_buffer_state ) ,yyscanner ); + if ( ! b ) + YY_FATAL_ERROR( "out of dynamic memory in cfgidl_scan_buffer()" ); + + b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */ + b->yy_buf_pos = b->yy_ch_buf = base; + b->yy_is_our_buffer = 0; + b->yy_input_file = 0; + b->yy_n_chars = b->yy_buf_size; + b->yy_is_interactive = 0; + b->yy_at_bol = 1; + b->yy_fill_buffer = 0; + b->yy_buffer_status = YY_BUFFER_NEW; + + cfgidl_switch_to_buffer(b ,yyscanner ); + + return b; +} + +/** Setup the input buffer state to scan a string. The next call to cfgidllex() will + * scan from a @e copy of @a str. + * @param yystr a NUL-terminated string to scan + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + * @note If you want to scan bytes that may contain NUL values, then use + * cfgidl_scan_bytes() instead. + */ +YY_BUFFER_STATE cfgidl_scan_string (yyconst char * yystr , yyscan_t yyscanner) +{ + + return cfgidl_scan_bytes(yystr,strlen(yystr) ,yyscanner); +} + +/** Setup the input buffer state to scan the given bytes. The next call to cfgidllex() will + * scan from a @e copy of @a bytes. + * @param bytes the byte buffer to scan + * @param len the number of bytes in the buffer pointed to by @a bytes. + * @param yyscanner The scanner object. + * @return the newly allocated buffer state object. + */ +YY_BUFFER_STATE cfgidl_scan_bytes (yyconst char * yybytes, int _yybytes_len , yyscan_t yyscanner) +{ + YY_BUFFER_STATE b; + char *buf; + yy_size_t n; + int i; + + /* Get memory for full buffer, including space for trailing EOB's. */ + n = _yybytes_len + 2; + buf = (char *) cfgidlalloc(n ,yyscanner ); + if ( ! buf ) + YY_FATAL_ERROR( "out of dynamic memory in cfgidl_scan_bytes()" ); + + for ( i = 0; i < _yybytes_len; ++i ) + buf[i] = yybytes[i]; + + buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR; + + b = cfgidl_scan_buffer(buf,n ,yyscanner); + if ( ! b ) + YY_FATAL_ERROR( "bad buffer in cfgidl_scan_bytes()" ); + + /* It's okay to grow etc. this buffer, and we should throw it + * away when we're done. + */ + b->yy_is_our_buffer = 1; + + return b; +} + +#ifndef YY_EXIT_FAILURE +#define YY_EXIT_FAILURE 2 +#endif + +static void yy_fatal_error (yyconst char* msg , yyscan_t yyscanner) +{ + (void) fprintf( stderr, "%s\n", msg ); + exit( YY_EXIT_FAILURE ); +} + +/* Redefine yyless() so it works in section 3 code. */ + +#undef yyless +#define yyless(n) \ + do \ + { \ + /* Undo effects of setting up yytext. */ \ + int yyless_macro_arg = (n); \ + YY_LESS_LINENO(yyless_macro_arg);\ + yytext[yyleng] = yyg->yy_hold_char; \ + yyg->yy_c_buf_p = yytext + yyless_macro_arg; \ + yyg->yy_hold_char = *yyg->yy_c_buf_p; \ + *yyg->yy_c_buf_p = '\0'; \ + yyleng = yyless_macro_arg; \ + } \ + while ( 0 ) + +/* Accessor methods (get/set functions) to struct members. */ + +/** Get the user-defined data for this scanner. + * @param yyscanner The scanner object. + */ +YY_EXTRA_TYPE cfgidlget_extra (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyextra; +} + +/** Get the current line number. + * @param yyscanner The scanner object. + */ +int cfgidlget_lineno (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yylineno; +} + +/** Get the current column number. + * @param yyscanner The scanner object. + */ +int cfgidlget_column (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + if (! YY_CURRENT_BUFFER) + return 0; + + return yycolumn; +} + +/** Get the input stream. + * @param yyscanner The scanner object. + */ +FILE *cfgidlget_in (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyin; +} + +/** Get the output stream. + * @param yyscanner The scanner object. + */ +FILE *cfgidlget_out (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyout; +} + +/** Get the length of the current token. + * @param yyscanner The scanner object. + */ +int cfgidlget_leng (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yyleng; +} + +/** Get the current token. + * @param yyscanner The scanner object. + */ + +char *cfgidlget_text (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yytext; +} + +/** Set the user-defined data. This data is never touched by the scanner. + * @param user_defined The data to be associated with this scanner. + * @param yyscanner The scanner object. + */ +void cfgidlset_extra (YY_EXTRA_TYPE user_defined , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyextra = user_defined ; +} + +/** Set the current line number. + * @param line_number + * @param yyscanner The scanner object. + */ +void cfgidlset_lineno (int line_number , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* lineno is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + yy_fatal_error( "cfgidlset_lineno called with no buffer" , yyscanner); + + yylineno = line_number; +} + +/** Set the current column. + * @param line_number + * @param yyscanner The scanner object. + */ +void cfgidlset_column (int column_no , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* column is only valid if an input buffer exists. */ + if (! YY_CURRENT_BUFFER ) + yy_fatal_error( "cfgidlset_column called with no buffer" , yyscanner); + + yycolumn = column_no; +} + +/** Set the input stream. This does not discard the current + * input buffer. + * @param in_str A readable stream. + * @param yyscanner The scanner object. + * @see cfgidl_switch_to_buffer + */ +void cfgidlset_in (FILE * in_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyin = in_str ; +} + +void cfgidlset_out (FILE * out_str , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yyout = out_str ; +} + +int cfgidlget_debug (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + return yy_flex_debug; +} + +void cfgidlset_debug (int bdebug , yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + yy_flex_debug = bdebug ; +} + +/* Accessor methods for yylval and yylloc */ + +/* User-visible API */ + +/* cfgidllex_init is special because it creates the scanner itself, so it is + * the ONLY reentrant function that doesn't take the scanner as the last argument. + * That's why we explicitly handle the declaration, instead of using our macros. + */ + +int cfgidllex_init(yyscan_t* ptr_yy_globals) + +{ + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) cfgidlalloc ( sizeof( struct yyguts_t ), NULL ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + return yy_init_globals ( *ptr_yy_globals ); +} + +/* cfgidllex_init_extra has the same functionality as cfgidllex_init, but follows the + * convention of taking the scanner as the last argument. Note however, that + * this is a *pointer* to a scanner, as it will be allocated by this call (and + * is the reason, too, why this function also must handle its own declaration). + * The user defined value in the first argument will be available to cfgidlalloc in + * the yyextra field. + */ + +int cfgidllex_init_extra(YY_EXTRA_TYPE yy_user_defined,yyscan_t* ptr_yy_globals ) + +{ + struct yyguts_t dummy_yyguts; + + cfgidlset_extra (yy_user_defined, &dummy_yyguts); + + if (ptr_yy_globals == NULL){ + errno = EINVAL; + return 1; + } + + *ptr_yy_globals = (yyscan_t) cfgidlalloc ( sizeof( struct yyguts_t ), &dummy_yyguts ); + + if (*ptr_yy_globals == NULL){ + errno = ENOMEM; + return 1; + } + + /* By setting to 0xAA, we expose bugs in + yy_init_globals. Leave at 0x00 for releases. */ + memset(*ptr_yy_globals,0x00,sizeof(struct yyguts_t)); + + cfgidlset_extra (yy_user_defined, *ptr_yy_globals); + + return yy_init_globals ( *ptr_yy_globals ); +} + +static int yy_init_globals (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + /* Initialization is the same as for the non-reentrant scanner. + * This function is called from cfgidllex_destroy(), so don't allocate here. + */ + + yyg->yy_buffer_stack = 0; + yyg->yy_buffer_stack_top = 0; + yyg->yy_buffer_stack_max = 0; + yyg->yy_c_buf_p = (char *) 0; + yyg->yy_init = 0; + yyg->yy_start = 0; + + yyg->yy_start_stack_ptr = 0; + yyg->yy_start_stack_depth = 0; + yyg->yy_start_stack = NULL; + +/* Defined in main.c */ +#ifdef YY_STDINIT + yyin = stdin; + yyout = stdout; +#else + yyin = (FILE *) 0; + yyout = (FILE *) 0; +#endif + + /* For future reference: Set errno on error, since we are called by + * cfgidllex_init() + */ + return 0; +} + +/* cfgidllex_destroy is for both reentrant and non-reentrant scanners. */ +int cfgidllex_destroy (yyscan_t yyscanner) +{ + struct yyguts_t * yyg = (struct yyguts_t*)yyscanner; + + /* Pop the buffer stack, destroying each element. */ + while(YY_CURRENT_BUFFER){ + cfgidl_delete_buffer(YY_CURRENT_BUFFER ,yyscanner ); + YY_CURRENT_BUFFER_LVALUE = NULL; + cfgidlpop_buffer_state(yyscanner); + } + + /* Destroy the stack itself. */ + cfgidlfree(yyg->yy_buffer_stack ,yyscanner); + yyg->yy_buffer_stack = NULL; + + /* Destroy the start condition stack. */ + cfgidlfree(yyg->yy_start_stack ,yyscanner ); + yyg->yy_start_stack = NULL; + + /* Reset the globals. This is important in a non-reentrant scanner so the next time + * cfgidllex() is called, initialization will occur. */ + yy_init_globals( yyscanner); + + /* Destroy the main struct (reentrant only). */ + cfgidlfree ( yyscanner , yyscanner ); + yyscanner = NULL; + return 0; +} + +/* + * Internal utility routines. + */ + +#ifndef yytext_ptr +static void yy_flex_strncpy (char* s1, yyconst char * s2, int n , yyscan_t yyscanner) +{ + register int i; + for ( i = 0; i < n; ++i ) + s1[i] = s2[i]; +} +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * s , yyscan_t yyscanner) +{ + register int n; + for ( n = 0; s[n]; ++n ) + ; + + return n; +} +#endif + +void *cfgidlalloc (yy_size_t size , yyscan_t yyscanner) +{ + return (void *) malloc( size ); +} + +void *cfgidlrealloc (void * ptr, yy_size_t size , yyscan_t yyscanner) +{ + /* The cast to (char *) in the following accommodates both + * implementations that use char* generic pointers, and those + * that use void* generic pointers. It works with the latter + * because both ANSI C and C++ allow castless assignment from + * any pointer type to void*, and deal with argument conversions + * as though doing an assignment. + */ + return (void *) realloc( (char *) ptr, size ); +} + +void cfgidlfree (void * ptr , yyscan_t yyscanner) +{ + free( (char *) ptr ); /* see cfgidlrealloc() for (char *) cast */ +} + +#define YYTABLES_NAME "yytables" + +#line 74 "idl.lex" + + +void do_keyword(YYSTYPE *yylval,yyscan_t scanner,meta_t *loc,idl_t *idl) +{ + char *text=cfgidlget_text(scanner); +#ifdef DEBUG + printf("call %s,%s\n",__func__,text); +#endif + meta_t *meta=alloc_meta(idl); + meta->file=loc->file; + meta->lineno=loc->lineno; + meta->data=text; + yylval->meta=meta; +} + +void do_meta_data(YYSTYPE *yylval,yyscan_t scanner,meta_t *loc,idl_t *idl) +{ + char *text=cfgidlget_text(scanner); + int leng=cfgidlget_leng(scanner); +#ifdef DEBUG + printf("call %s,%s\n",__func__,text); +#endif + meta_t *meta=alloc_meta(idl); + meta->file=loc->file; + meta->lineno=loc->lineno; + meta->data=cfgidlget_text(scanner); + yylval->meta=meta; + + int i; + for(i=0;ilineno++; + } + return ; +} + +int do_special_cmd(YYSTYPE *yylval,yyscan_t scanner,meta_t *loc,idl_t *idl) +{ + char *text = cfgidlget_text(scanner); + meta_t *meta=alloc_meta(idl); + meta->file=loc->file; + meta->lineno=loc->lineno; + meta->data=text; + yylval->meta=meta; + + loc->lineno++; + + int ret = idl->cmdreserve; + idl->cmdreserve = 0; + return ret; +} + + +static int cdirective(char *tmp,int *lineno,char **filename) +{ + int i,j; + if(tmp[0]!='#' || tmp[1]!=' ' || !isdigit(tmp[2]))return 0; + i=2; + while(isdigit(tmp[i]))i++; + tmp[i++]=0; + *lineno=atoi(tmp+2); + + j=i+1; + if(tmp[i]!='"')return 0; + i++; + while(tmp[i]!='"')i++; + tmp[i]=0; + *filename=tmp+j; + + return 1; +} + +void do_comment(yyscan_t scanner,meta_t *loc) +{ + char ch; + char tmp[MAX_TEMP_BUFFER]; + int i; + + i=0; + if(cfgidlget_text(scanner)[0]=='#'){ + tmp[0]='#'; + i=1; + } + while(1){ + ch=yyinput(scanner); + if(ch=='\n' || ch==EOF)break; + if(i < (int)sizeof(tmp) - 1) { + tmp[i++]=ch; + } + } + tmp[i]=0; + loc->lineno++; + + char *tmp_file; + int tmp_lineno; + if(cdirective(tmp,&tmp_lineno,&tmp_file)==1){ + loc->lineno=tmp_lineno; + loc->file=tmp_file; +#ifdef DEBUG + printf("new file:%s,lineno:%d\n", + loc->file.c_str(), + loc->lineno); +#endif + } + return ; +} + +void update(yyscan_t scanner,meta_t *loc, idl_t *idl) +{ + int i; + int leng=cfgidlget_leng(scanner); + char *text=cfgidlget_text(scanner); + int cnt = 0; + for(i=0;ilineno++; + //printf("update[%d]: %c\n", i, text[i]); + ++ cnt; + } + } + if (cnt > 0) { + idl->cmdreserve = 0; + } + return ; +} + diff --git a/configure/compiler/src/idl_lex.gcno b/configure/compiler/src/idl_lex.gcno new file mode 100644 index 0000000000000000000000000000000000000000..b0d54a8959d0b49d50b6599f294aee205889e23f GIT binary patch literal 27232 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 0 +#define FLEX_BETA +#endif + +/* First, we deal with platform-specific or compiler-specific issues. */ + +/* begin standard C headers. */ +#include +#include +#include +#include + +/* end standard C headers. */ + +/* flex integer type definitions */ + +#ifndef FLEXINT_H +#define FLEXINT_H + +/* C99 systems have . Non-C99 systems may or may not. */ + +#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L + +/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h, + * if you want the limit (max/min) macros for int types. + */ +#ifndef __STDC_LIMIT_MACROS +#define __STDC_LIMIT_MACROS 1 +#endif + +#include +typedef int8_t flex_int8_t; +typedef uint8_t flex_uint8_t; +typedef int16_t flex_int16_t; +typedef uint16_t flex_uint16_t; +typedef int32_t flex_int32_t; +typedef uint32_t flex_uint32_t; +#else +typedef signed char flex_int8_t; +typedef short int flex_int16_t; +typedef int flex_int32_t; +typedef unsigned char flex_uint8_t; +typedef unsigned short int flex_uint16_t; +typedef unsigned int flex_uint32_t; +#endif /* ! C99 */ + +/* Limits of integral types. */ +#ifndef INT8_MIN +#define INT8_MIN (-128) +#endif +#ifndef INT16_MIN +#define INT16_MIN (-32767-1) +#endif +#ifndef INT32_MIN +#define INT32_MIN (-2147483647-1) +#endif +#ifndef INT8_MAX +#define INT8_MAX (127) +#endif +#ifndef INT16_MAX +#define INT16_MAX (32767) +#endif +#ifndef INT32_MAX +#define INT32_MAX (2147483647) +#endif +#ifndef UINT8_MAX +#define UINT8_MAX (255U) +#endif +#ifndef UINT16_MAX +#define UINT16_MAX (65535U) +#endif +#ifndef UINT32_MAX +#define UINT32_MAX (4294967295U) +#endif + +#endif /* ! FLEXINT_H */ + +#ifdef __cplusplus + +/* The "const" storage-class-modifier is valid. */ +#define YY_USE_CONST + +#else /* ! __cplusplus */ + +/* C99 requires __STDC__ to be defined as 1. */ +#if defined (__STDC__) + +#define YY_USE_CONST + +#endif /* defined (__STDC__) */ +#endif /* ! __cplusplus */ + +#ifdef YY_USE_CONST +#define yyconst const +#else +#define yyconst +#endif + +/* An opaque pointer. */ +#ifndef YY_TYPEDEF_YY_SCANNER_T +#define YY_TYPEDEF_YY_SCANNER_T +typedef void* yyscan_t; +#endif + +/* For convenience, these vars (plus the bison vars far below) + are macros in the reentrant scanner. */ +#define yyin yyg->yyin_r +#define yyout yyg->yyout_r +#define yyextra yyg->yyextra_r +#define yyleng yyg->yyleng_r +#define yytext yyg->yytext_r +#define yylineno (YY_CURRENT_BUFFER_LVALUE->yy_bs_lineno) +#define yycolumn (YY_CURRENT_BUFFER_LVALUE->yy_bs_column) +#define yy_flex_debug yyg->yy_flex_debug_r + +/* Size of default input buffer. */ +#ifndef YY_BUF_SIZE +#define YY_BUF_SIZE 16384 +#endif + +#ifndef YY_TYPEDEF_YY_BUFFER_STATE +#define YY_TYPEDEF_YY_BUFFER_STATE +typedef struct yy_buffer_state *YY_BUFFER_STATE; +#endif + +#ifndef YY_TYPEDEF_YY_SIZE_T +#define YY_TYPEDEF_YY_SIZE_T +typedef size_t yy_size_t; +#endif + +#ifndef YY_STRUCT_YY_BUFFER_STATE +#define YY_STRUCT_YY_BUFFER_STATE +struct yy_buffer_state + { + FILE *yy_input_file; + + char *yy_ch_buf; /* input buffer */ + char *yy_buf_pos; /* current position in input buffer */ + + /* Size of input buffer in bytes, not including room for EOB + * characters. + */ + yy_size_t yy_buf_size; + + /* Number of characters read into yy_ch_buf, not including EOB + * characters. + */ + int yy_n_chars; + + /* Whether we "own" the buffer - i.e., we know we created it, + * and can realloc() it to grow it, and should free() it to + * delete it. + */ + int yy_is_our_buffer; + + /* Whether this is an "interactive" input source; if so, and + * if we're using stdio for input, then we want to use getc() + * instead of fread(), to make sure we stop fetching input after + * each newline. + */ + int yy_is_interactive; + + /* Whether we're considered to be at the beginning of a line. + * If so, '^' rules will be active on the next match, otherwise + * not. + */ + int yy_at_bol; + + int yy_bs_lineno; /**< The line count. */ + int yy_bs_column; /**< The column count. */ + + /* Whether to try to fill the input buffer when we reach the + * end of it. + */ + int yy_fill_buffer; + + int yy_buffer_status; + + }; +#endif /* !YY_STRUCT_YY_BUFFER_STATE */ + +void cfgidlrestart (FILE *input_file ,yyscan_t yyscanner ); +void cfgidl_switch_to_buffer (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +YY_BUFFER_STATE cfgidl_create_buffer (FILE *file,int size ,yyscan_t yyscanner ); +void cfgidl_delete_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void cfgidl_flush_buffer (YY_BUFFER_STATE b ,yyscan_t yyscanner ); +void cfgidlpush_buffer_state (YY_BUFFER_STATE new_buffer ,yyscan_t yyscanner ); +void cfgidlpop_buffer_state (yyscan_t yyscanner ); + +YY_BUFFER_STATE cfgidl_scan_buffer (char *base,yy_size_t size ,yyscan_t yyscanner ); +YY_BUFFER_STATE cfgidl_scan_string (yyconst char *yy_str ,yyscan_t yyscanner ); +YY_BUFFER_STATE cfgidl_scan_bytes (yyconst char *bytes,int len ,yyscan_t yyscanner ); + +void *cfgidlalloc (yy_size_t ,yyscan_t yyscanner ); +void *cfgidlrealloc (void *,yy_size_t ,yyscan_t yyscanner ); +void cfgidlfree (void * ,yyscan_t yyscanner ); + +/* Begin user sect3 */ + +#define cfgidlwrap(n) 1 +#define YY_SKIP_YYWRAP + +#define yytext_ptr yytext_r + +#ifdef YY_HEADER_EXPORT_START_CONDITIONS +#define INITIAL 0 + +#endif + +#ifndef YY_NO_UNISTD_H +/* Special case for "unistd.h", since it is non-ANSI. We include it way + * down here because we want the user's section 1 to have been scanned first. + * The user has a chance to override it with an option. + */ +#include +#endif + +#ifndef YY_EXTRA_TYPE +#define YY_EXTRA_TYPE void * +#endif + +int cfgidllex_init (yyscan_t* scanner); + +int cfgidllex_init_extra (YY_EXTRA_TYPE user_defined,yyscan_t* scanner); + +/* Accessor methods to globals. + These are made visible to non-reentrant scanners for convenience. */ + +int cfgidllex_destroy (yyscan_t yyscanner ); + +int cfgidlget_debug (yyscan_t yyscanner ); + +void cfgidlset_debug (int debug_flag ,yyscan_t yyscanner ); + +YY_EXTRA_TYPE cfgidlget_extra (yyscan_t yyscanner ); + +void cfgidlset_extra (YY_EXTRA_TYPE user_defined ,yyscan_t yyscanner ); + +FILE *cfgidlget_in (yyscan_t yyscanner ); + +void cfgidlset_in (FILE * in_str ,yyscan_t yyscanner ); + +FILE *cfgidlget_out (yyscan_t yyscanner ); + +void cfgidlset_out (FILE * out_str ,yyscan_t yyscanner ); + +int cfgidlget_leng (yyscan_t yyscanner ); + +char *cfgidlget_text (yyscan_t yyscanner ); + +int cfgidlget_lineno (yyscan_t yyscanner ); + +void cfgidlset_lineno (int line_number ,yyscan_t yyscanner ); + +/* Macros after this point can all be overridden by user definitions in + * section 1. + */ + +#ifndef YY_SKIP_YYWRAP +#ifdef __cplusplus +extern "C" int cfgidlwrap (yyscan_t yyscanner ); +#else +extern int cfgidlwrap (yyscan_t yyscanner ); +#endif +#endif + +#ifndef yytext_ptr +static void yy_flex_strncpy (char *,yyconst char *,int ,yyscan_t yyscanner); +#endif + +#ifdef YY_NEED_STRLEN +static int yy_flex_strlen (yyconst char * ,yyscan_t yyscanner); +#endif + +#ifndef YY_NO_INPUT + +#endif + +/* Amount of stuff to slurp up with each read. */ +#ifndef YY_READ_BUF_SIZE +#define YY_READ_BUF_SIZE 8192 +#endif + +/* Number of entries by which start-condition stack grows. */ +#ifndef YY_START_STACK_INCR +#define YY_START_STACK_INCR 25 +#endif + +/* Default declaration of generated scanner - a define so the user can + * easily add parameters. + */ +#ifndef YY_DECL +#define YY_DECL_IS_OURS 1 + +extern int cfgidllex (yyscan_t yyscanner); + +#define YY_DECL int cfgidllex (yyscan_t yyscanner) +#endif /* !YY_DECL */ + +/* yy_get_previous_state - get the state just before the EOB char was reached */ + +#undef YY_NEW_FILE +#undef YY_FLUSH_BUFFER +#undef yy_set_bol +#undef yy_new_buffer +#undef yy_set_interactive +#undef YY_DO_BEFORE_ACTION + +#ifdef YY_DECL_IS_OURS +#undef YY_DECL_IS_OURS +#undef YY_DECL +#endif + +#line 74 "idl.lex" + + +#line 334 "idl_lex.h" +#undef cfgidlIN_HEADER +#endif /* cfgidlHEADER_H */ diff --git a/configure/compiler/testcase/Makefile b/configure/compiler/testcase/Makefile new file mode 100644 index 00000000..d5e15658 --- /dev/null +++ b/configure/compiler/testcase/Makefile @@ -0,0 +1,188 @@ +########################################################################### +# Automatically generated by comake (1.0.0) # +########################################################################### + +#################设计系统参数####################################### +WORKROOT ?= ../../../../ +IDLCC ?= $(WORKROOT)/public/idlcompiler/output/bin/mcy +CC ?= gcc +CXX ?= g++ +LEX ?= flex +YACC ?= yacc +CFLAGS ?= -pipe -fsigned-char -Wall -W -g -fPIC +CXXFLAGS ?= -pipe -fsigned-char -Wall -W -g -fPIC +LEXFLAGS ?= +YACCFLAGS ?= +LINKFLAGS ?= -rdynamic +LINK ?= g++ +AR ?= ar cqs +RANLIB ?= +COMAKE ?= comake + +###############baidu lib 的32位 64位支持################# +ifeq ($(MAC), 64) + lib2=lib2-64 + third=third-64 +else + lib2=lib2 + third=third +endif +ifeq ($(MAC),ARM32) + lib2=lib2-arm32 + third=third-arm32 +endif +########################################## + +# 编译参数 +DEP_INCPATH = -I$(WORKROOT)/$(lib2)/bsl//include/ +DEP_LDFLAGS = -L$(WORKROOT)/$(lib2)/bsl//lib/ +DEP_LDLIBS = -lbsl_archive -lbsl_exception -lbsl_pool -lbsl_utils -lbsl -lbsl_ResourcePool -lbsl_check_cast -lbsl_var -lbsl_var_implement +MAKDEP = Makefile.dep + + +#start target +first : all + +############# 默认推到公式 +.SUFFIXES: .c .cpp .cc .cxx .C .idl .des + +.cpp.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.cc.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.cxx.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.C.o: + $(CXX) -c -o $@ $< $(CXXFLAGS) $(CPPFLAGS) $(INCPATH) + +.c.o: + $(CC) -c -o $@ $< $(CFLAGS) $(CPPFLAGS) $(INCPATH) + +.idl.cpp: + $(IDLCC) --ns=$(*F) -o $* $< $(CPPFLAGS) $(INCPATH) + +############# +###cpp 支持 +%info : % + ccp $< +############# + + +#__$MAKEFILE_RULES$__ + + +###############编译目标 +all : target output +.PHONY : all clean main + +target : main + +test : + `for x in ;do ./$$x;done` + +comake : + -make clean + -comake + +#-include $(MAKDEP) + +#----------------build target : main-------------------- + +main : CC := gcc +main : CXX := g++ +main : CXXFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +main : CPPFLAGS := +main : CFLAGS := -pipe -fsigned-char -Wall -W -g -fPIC +main : INCPATH := -I. -I../output/include $(DEP_INCPATH) +main : LDLIBS := -lidlcompiler $(DEP_LDLIBS) +main : LDFLAGS := -L../output/lib $(DEP_LDFLAGS) +main : LINKFLAGS := -rdynamic + +main_SOURCES := $(wildcard comake_autogen.cpp main.cpp) +#main_HEADERS := $(wildcard *.h) +main_HEADERS := *.h +main_IDLSRC := $(wildcard __$IDLSRC_VALUE$__) +main_IDLSRCCPP := $(patsubst %.idl,%.cpp, $(main_IDLSRC)) +main_IDLSRCH := $(patsubst %.idl,%.h, $(main_IDLSRC)) +main_CONFDES := $(wildcard __$CONFDES$_VALUE$__ main.des) +main_CONFRANGE := $(patsubst %.des,%.range, $(main_CONFDES)) +main_OBJS := $(main_IDLSRC:.idl=.o) +main_OBJS += $(main_SOURCES:.c=.o) +main_OBJS := $(main_OBJS:.cc=.o) +main_OBJS := $(main_OBJS:.cpp=.o) +main_OBJS := $(main_OBJS:.cxx=.o) +main_OBJS := $(main_OBJS:.C=.o) +main_OBJS := $(main_OBJS:.idl=.o) +main_OBJS := $(main_OBJS:.yacc=.o) +main_OBJS := $(main_OBJS:.lex=.o) +main : $(main_OBJS) + `for x in $(main_CONFDES);do cpp -C -o main.range $$x $(CPPFLAGS) $(INCPATH);mkdir -p conf;cp main.range conf/; done` + $(LINK) $^ -o $@ -Xlinker "-(" $(LDFLAGS) $(LDLIBS) $(LINKFLAGS) -Xlinker "-)" + + +define main_output + mkdir -p output + cp -rf main output + `if [ -e "conf" ];then cp -rf conf output/ ;fi` + +endef + + +define main_clean + -rm -rf $(main_OBJS) $(main_IDLSRCCPP) $(main_IDLSRCH) main.range conf/main.range + -rm -rf main + -rm -rf output + -rm -rf ccp_output.error ccp_output_scm.xml ccp_output.xml ccp_output.pclint ccp_output.txt +endef + + +define main_ccpc + ccp $(main_SOURCES) --formatter vim +endef + + +define main_cov + +endef + + + + +#---------------------end build target : main------------------ + +define _output + $(main_output) +endef + + +define _clean + $(main_clean) +endef + + +ccpc : + $(main_ccpc) + +cov : + cov01 -1 + make clean + make + cov01 -0 + + + +output : main + $(_output) + +$(MAKDEP) : comake_autogen.cpp main.cpp + -$(CC) -MG -MM $(CPPFLAGS) $(INCPATH) $(DEP_INCPATH) $^ > $@ + + +clean: + $(_clean) + rm -rf $(MAKDEP) + + diff --git a/configure/compiler/testcase/abnor_array b/configure/compiler/testcase/abnor_array new file mode 100755 index 0000000000000000000000000000000000000000..8d34e06ada80783a52bf6a394f94b83774dc6921 GIT binary patch literal 1079754 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

ko)<%>k# zy`jdzpG9Inpv5A;7U4N0LA(BJg#KG(O<*1G!}SCBU6FV1sVMSjnb{BPQ%cYBw5a?j zO7p!YZReC9f*c}9y;+KnfIu#)sm-4WxG^jSotKXblyoENLqhAwW* zZIxA~&x8tXT6iz8V! zvA@{ouz*XD1=TR<>=yem?NKiZ`E>9eVK0;vHfeiA9ZZt-lXWx?5owj69?S;F_nG(g z{BJ^iYuZQ4-^oUY>epxnex+-LBzy+A`t_q|=%7 zna_@=Q9_VAI|s+6gB%YzJD&E>X>xWv&8ErOIXE^Q{-@2sxsvW3L+quS&zS+sv7k+Z z!?BwG-FZ5HwN5DqA?KdBF{>G!Qspiz*8jUPE4e1>U(I>pbLHHYzZw(!@17GR*LuB< z(!Z=Kqvp}rP7A|j)k5OV#2LZNko$?r_RrkkpC!&!SD1e9ivfo=epmA48pq=~)MX3! zN<7E0JbZ4tQk?^x>grr@4e>lxoBA=<(Ys647+hQQpX<=*h|{TS`pk1EZdnvh=eR%9 zi;g!*o=J0RDs{^j-(=#SFxRp>;P6@+x>G6qMxsA2=g~A3b7z{Xmx42RY-bPg0rE48 z&W#50yx_YD74jT<(vy3*upOy==530!Vtr>{nk07qJGT1GQ}m_I_jC@sBpr@99hjr* zIUU-m!rk-5ixTJ3{E;}xZ93d3uD2aYt>dwyFn#D;A-@>hUfAt-R7ALt)pY|!~!*X^>I$Ycw zTm8-{`cjAU)IPs-Nf|S7>y)xT-GexDI*%m2mg1R7PYAj9y1l<2FzI|d$#c~MCOx|v z?&p@?q4L(B&bE&BCJ^7AeN?Zl-U@@keLp9s!3|2M4 zLuiyMl-~{>X8QX4FVETO2KjI?<}d_J11zT+wgg3 zjF^uz);y>5qjbxnH1x^OA%-6`c{h4qmiUTKJT2M|6eEl zOqwY)wTFAgq(Q8}C1}1(KJZjk0Q{mD^T`$C+tXE1=+K-X@C-2~Fq2we>u7&NGw!|7 zT+5_D`p?g3m4aV5Z@GorLHZf$T_gR;#D9g_Lh(;~pUc>CQLmSa`nw|Vh4XQxxULn7 zUb7p=@~}-_rAk1)TI|8SR=JUWo);6ApZAUJWf6))Rxol@!SKq!mw&!4SKj!#m}`)J zhT3HGZ!~PJOzt7hq|u7PJ;|1XIG5(0gl*TS;u_tE24CY&QIB?rdbCrtW1oq7^tl*A z_(Hso_)^S^{6_FzF`n>^m@m19uHQPc4;1&Wy<(i<8=6(=boSARspI`(Oz$Tu(N6v& z_BlH(3?ZIbW=ua)BO7a(i9Jl}EhXT;mDTK5RC8(#ZMrJpLfJ*T~a!)c$Ma zE)GeOxp0};e|G%)C^`<)xtTOKq-U>uaeEIfs!gKNZ#-v&zKr8}B4N6f)R#e?A#8C= zVP9kRzabsxZeaf_>&4_hpThec^EW%5XA$4wIZj*Vj-;PS zGjb>1moGkoIG6T5j+5NxV{2hM?Pl$A+}enIY^w{AK0BKGtU15f@gB!b>3foiPq=R~ zhs*W-H4|>O{+YtvYQk+V!fh|Y%@%pxLF9F|nY%<@QCJo-ooC#j}Gra_lr41eZ_pM2XqtmgdFe1+}|ScgRnX0IM1P@ z&u7-s=bJQjiZpUE?^^rK7%y z!${qS;?RvaSB(&H7$M@oJxJ?l9<+$VQ=+_$7WMsUT^jn&nEF1D{Ldo)oj)80zDJKR zahRy*P#pNT1l~R}zbMMs6p`jHin#-m#I;WrahM|F@S-luo|8+^-p~~-8viSUr-}Jo zxuR{KCfcQ3F^6KND7P;Oo+;*ky`=Ak|1))G@JqTYc$R(~{IZyHH(Q7I%~v#+b9M z{vapm9gTLg5@}Af&Vc+Koe6$d^Ls0M?owSHyh1ku=ZQHHt8^#G*XXX`^?DF^t$rN5 zUJnJouZM#-=rQ0A^(7ZNQG(^DNoLN}Y{QfFuhgEuWq692SH;(o z#~QX z_<*?2{-UQq{L*|03?W2lOh)f70v02Q>Es+0nddy~QH&@A@b3QT-?QcOC8{ za9F1YDVk76^?Bf9x)k`ht`9z;uLu93ZwCLV$*kD8gwkF&u;=v!=kr`%(`b%ICdPq& zx);vVJjZi8t|wG}Z#{Ghc$>iIdEwm5i@Y6>U+f(LU*e^C&i^7_8StfE0$kMV050X- z2QKD?^L>hYk3e3^8v-ujJq0f1jRRliJqIr1tpJzv_Jb>WN5NIR&_?JA&vov}7R$?^ zj?o@dcRn|DjjtxpUXnUYavC=?zW5(nmi;IfR+9AHoE^zrzgS*~&dng3G3U4qUfe%? zZ^(Q(={R{E`n_JD%=hw~fcpv_Etva@Idrf)Yllz!L!294EW`2TW9|} z_AabW_u@>lW##*FGvZuzof%VY9dQ02P6^U+j@O-YeFK)qpd;6#yIzd-H4$UrH&Fk; zI$n?NE^rgo0o+uKe>O97@;Xv{vM6p*(&=ru0pgGsoX1~DI=Jt^E|ZRj=y;U$Gs%*& z+Jmmo-yzL z=+rljyp7^#DE29jKgcaNIuDw3`zT;ePj-29aNmkuk`BHWt3N>K4>0LZKN)>@y-E7t zT`#j+H;mJtc{hcXN$-r74RGoIB>iGtf=XN(c!o&-St8A6(`dKTe@(2tHdpXGRR-xZ zU#!uzNQLw9-xR!9)!@V;M{9Ab$>2BD67Uig?gjR?`U&!Rg5Oma1(hK|DOeS}OkD|H zPCHe)uvXBHl#W-?E|iYfDPHfHU4rh|w}aQIj^Oob1o(Zm82o`sfncfk5ndjv#JQ*rfPz>tJ>gC zR5+)8n;HQ5r|Jpt4#8ijr-Xbw_zM;8JGMhj6Y^Q$FV!6IS85sf3v~*-NAW=0DN}cb zn>rPvhu|!-)8=e1Oq@f^YbbG=kS1xH6C=zg!t$PNOowE=h;u%zztESeaxYy1QfU&Q_HSMfgm7h&)Ho4ODF9~JNTjtP73qiOKS3naaxrV`j>-Gi#0IM z&>I^U2d%Tfp1u(r(YJ&1>F{28hE}L@=f?DX-~wXYvY?&{`T6>FZ~^@mxUk+rY|GNm zrp&OfdDd(5nWRt7iw>r|9W~{R_xaADwBa9#ZkxV~6>=XxEE@734Gp>w_d1Dw!> zsm-+M(@=0Doe6nkT?yP!*914wS>Wph-yqg!Yo_mn&P}=-_!fO1xVc$}&9>Vm%sakU zO&uwr4^bU?({O3CW*Wyck3YzLO!6$sM^{+$Napf1Nz7{y+4^-I-bJzw%WeHiq|`5$ z4t%b=E@rpZ9P{uX&Rlnxe>HXIc3pl*zWDo3@N-aG^KOoQrt;=$Df1no9<>wiUhfio zw^^gip4(n07|79n-#Xh6b9*uVf4A-edA9Bc?jYVzb=K507?)681b5csggkub-c{#9 z-dz_#J-S!CGwP`uK;A^*DfVbF9_nCq;F1#$R=)MJB#)7?!mj`Jo??GNs`!w%X!M<{Q2qJOtKn0Fx0h& zgM*lH`VWD1z0MNvtzH&w z_-ygs>SdjUb7zZpSaZZX)>n1-%sy9lg#JA7{(XUXSM`Q?SG7pICw*6}+qP6kgPfsf zD18oinZ6LbLcI6P)1@I_t;7DqI#E{FqpWh;@^f@;leU}ntS4RCZVr6mwA~`g!&dRG zf17y6y&oEq7bt8V= zaCOy_c&Xuv9bZuV-Cjsv68}y*EN4FZK7~{1>^!X1HW^aZJ32cL z%O;APn|5{{mQ9nh^RR3>{7;yN<<|2V7Y*0*`R{nwF!4G2UZd2dscZiHN%t?Zp*8of z3qRt%cTw{Wq8%A(G3TeODHq5K+H9ixwX+`Pdv{4OZ>X5C@h&OGVTuVG?~*t>p-Ry` z+q#6hOpG~~Hg@d%OM+sTfKF+#CPNuB=g8`mRQE%t9L?Uaj-FMG4ffR({~Wp&9;+Wf z*Tu}^22DwxMNCYL~N;%1zxjgc2m8BYkjR7rxd!9SS+XOn&=SsC^mo-cksaW2K) zbQtJ&-t)*gT6a;5Q`HrA+SjTJ10{Z^Qx=@1DuJ&TcK!`W%en+vDmMc+QrX}pVtBWPGY`8#}pm+48=O3ooYuhKc$m+AJ-Yy zI=pvMnAe@fT%m3>d(S$uB^GlZ?nTK;&jfDRla&&EWp(Gve1No!y!?D+7*^+}6kJ zzpaB`2mWxLGH*0_`k0zHGGF{VlXs7rJnfUi_3=@WUylW6az5sW`Zz?)C(03R*AOv> zVi>hj*3mO8Jykd!Ch~4LW201ncO2RxmWN}}^BJdCgQ2)a#eT`@~$af73L~x}bI4RcKH9ifA8R z6Ym^fQP;!I*J$?!8@Ys1f5X;tbG6|HMt;(8Bf}S+%la)1ziRjn!`~aWZ^A}WW1NGTqM;4U z3?r{>^j8|@5f)|E4d(c7DDnUHy20B`ob8*oUksb*s~fk3={a9;@9iwV&eXIg4YxHs z&u|CB+YNU&eB7|J4hhq(#3$@ea}!uaGE`q}gH<;OX3@+*zM)NMgCxt_S0s1m9ur)s zZ77%iR5#%cFuwLOJj3u4hHYSPe9CJMe5KaXIs+RG|E4w&?>2luZ6f}~@IkeO_z&Wo zp!ZgI2al~?X0AO`a7|(=t44k+aanb>&e<1@4>a6W=X@WHPcb}P=lm3nuQWVXXa5|H z?=!qg=l&Lr|8Dq@P9BQJFW$-i-0me$MB`V!g4FrS33`5I4Rg;gZ zPNOzWrpW@MW7{PuUuWbkj6YJo+sJJj#Xrt88ma4tA2B*Fm|xOA=WCf@IK%Kn!!-=A zFx=GeO2Zuu=NW#;@G8S&4X-u)s^N8pR~ue$_zT1D8$N9K1H*DGOP062q8x6ZCY#fz z19cpwj=c82vl%Y%1z)2rC!Ef!$)AwI!?jF2Z#R6S;a3dX z^1uR@&NHqF>&^mgB{Y{=*E0D9kymsm5TGAOpzfV{YQGJd7*7x6bhw+^DOUV4IyOthp!Z`ms zV|4!&>y2~x*R>79eOR!RFA;K?CYyx(C&6jAhknX&wvIynAK4^x8t$WesSHb|^Zq-m z|E=mO_37WF=Mz+=SMvpudqMEu`ME9dll9#?(z^zvt^@y9YXs%1MC+o`11pEMoSH#i z@5qHKZJ7U+9kSe)oZ}$(BLC0W9zT76$BS+>eeC(f!^m&$Z*v%Im+Ks_ha3(5Nzl`K z9pa^=pM@1m|9Px~b=YOnL0O?TkbYSjhe^^s{Y%5m)jr}AhI{z?i7z&PhWIh-_qS$DR;dy zAn#|M!JYm>$o%N>s2FiiMBtGy-g$od{v|zxK<<_E2|y374oYiEx`37p)J8Rk$WM(E)qWf zW<^4~g6kup&2z)Z5a{0+nFVeZ37>^;iY$Ws=EySeEfMz&OJjhMU68kkdI$>#>B3??R(ml!=b7fbe<4ARJDP8nCbw2 zQgsFoQ=y&G6Jnk4;VRrm>BLgjxk274(R? z?2S<2o?;`_XV7^{h4xM()%TE(QU}4K)nV``bq4&DN;5T;{U0s(8I@ni!*$M|R;3^x zqe6S9r-eQCGpY`B#;R~X%4bw#$j7K#!Q)gb@EFw|JXUoFKT9o^D-UDU0Pr|982p?X z1|FxzfS*;9z~j|a@U!X_@N?=7@bkjn`#H4|^6}~e@C#}ac)Z#Pejcm)C#a9QPso1* zzaZ?uCz9cfyRH|gg>yVXT?n3}E&)$arNI+bW$(uU@fX$0kWUx3;xDQo~}Lx&oFZ{ZMf6bH<0J5U%)ff0dOwtkZIpZl`o%5^OsZ{JVRXoo~eq1XQ>SE zOR6GxmZ}M!t!jg3sRrPeRU7atsxA0s)d@UX4FJzk1HrS^Q1C12Y4EFREO?H39{j3W z44y0aRka%O*VGp9Ji&9-7m&Y>J=zkq2fgc{BzPBd>a1{|VHhRfOXFO7TScEka@P(o zhJ2waCiLHhyoxR*^p`=tP-T*w9fwr~yjWEOzp3hh7pq6WZ>t>e5;Yq9w%Q0@sKB?XWpHln4 ze+WLMeuMn9DoSIn>=Lw_NH+M4dK0YlcCe>+fzQ!N@VWXYZ~r55P@e!_tWSe4((!Yh{}=1(;39eu_!2!FTvX?Qi|OJ8+_}YdeQ*ig z8C+5y0%z!B;8OZDxRQ>a=lrRx3xliZ*5GP-1o#SFoF5Fx@qXpC!PRw3a83On_$vJ} zxR!nmTw5;$*VRkG_4P7vJ-q>3U;hriR@Xb<#o-#=7<`@10bj4b0yofqfD<~ikUO`b zUIcEW-v&3<%fPql{1=4n;eu(dJ*=!RCONwV?NU<=Tv=y;sSPA{ZRUEM+e%k~&TaZ? za2q`V+*W@8zEkf5-=!}s?80rYixIoFde8JQZjGT+MTcBjHx=^c;L5rMnDU+2#rb#m z*5o%9>vd-OZtPI?WvvpxduqECZ6 z>)3@ZP43Zkz+H6~_#WL9+(kbM?xu%3kQtaPQUm!QJ%5 z;O_bca1Y%a++E)ZzE_V2_tam4d+6`MJ$0>%U0A(zcW_TV5Zp^Y0`9G+fcxrPa34Jn ze7{};epqh+57M82AJrEI5AX?3SG= znjQ5IW1>rC)wT>-pBF9C1W?}4}JRp3wc zM(|F(3A{t^0`Jr%>Afzy1g&$G3ErivfI!C&gO;Lmj@@RxcRc()!6{z^{-@78O; zNxcEQTYm!Hqbp^Y=umw23jSKx7V=xb`}BD5xB3V0cRH<H=sDm&^>(oGij{U@ z{i(}?Y438d_J)By?`yE{=}dQS#EXLSc`tyY-W2fp-W+ftZ!!1+?+Exp?=<)#PnU82 zU+g^tzQlVDT-?hAm+;;scH^bZ-*ETt&aro((><04?it$%?j73(emJ%V{7CG3@SxbQ z;3s28z$0S$%DQ-t5_|A`#$|}R(`#$kz;vDt8 z&$drr8u@;s!#?Hl2e}`OyrMJvGV)#aCzYgc9>=z8!oR5qjmx7?_l%z;?m_`uoh2zc z?irtTmOv*jMaMmNv(Ak%=g-;{J45%}%{sG5$F4u0Iv+nta&}2NYSDAFjnCl}f86sd z>+tie)j5%((=T`qWu2MOIhmr9Cv^5e=TwT$X`#c(Df9c>Gbx944LwWR>pD+U zQW=*=p96zu%p~zABMSQzFHmvB7g9>+B`A{!~u!$2~u?&NcL$ zc+8ZaYAJJ67YEOetdma9arXUJO&1+gept>fNe4eO+OX=Sgyo(MS?3Vx*f=Lr;@muV zc4M8H#F0Z>&ReFWAwScxOVV*JJxAEEdZp;N{x<7Orv9+i3D@AwBf0BWvkv#At--6w!6`bfFU>lAso!h;8Iq#o`qHd3A3DQQbX;GWb-4d*{dqD)$MvOI=Qipm zTb;=%*Y5hptkaSDt5#=Pia)Mz%sNYJijM08v(7f?yqBWm`oOGn8TCu8Kg&{dTpyTqhCpX! zijM08v(5_WY)sK{ePGr(NjkPXZ%!%Ct%80j>&zy$@!65$kL$;>jz|4QtMgTgj_ZH2 z&T8oFPSJ7wPuBSpI$x*gxV|XsaG%r0`TLYO*DFOol1tL@46)TYmZI~s(7A^Ccs9NnK;wOo1d2v_IWrGA!=bRWb4rF^}}v<%Nd`mpEt8Wpn z7Zj|7Y8k%~+*)v#cyq|x#BT%N5x)z3d%Oqu&Uhbic07Dn-abB9$e#pvia!nRF1TC# zSs{NO+$}y4+&w-Gd~bXvxMw_E8|1!t_&&XNd=2T`ZR*q^^SY*o;onWYdzd&!9gcCI z*4phKHuY|d(K!<1elNQ`^GWv@BQFt;2LH1>myS1#ykd&nmA54Q&Urc^hx;41#5r3Q zjI%8LcXOav|Lq{}m|Y$*^R=+!I?n5#d`RKaUP$qrw_F|XAH4P9I{rvJtm6;GgCRpB z4~B4vAB~qcKC=E}@oT_?<4wUi@teVe)=P?VLcrke-HAf1&@yB3HfSb`&{#&Nq_rXGax0uSlvFqJQ|nz z;?gHczq>dyyKp%#*3q%wJZvnQBb`}sjuShYQxm`3BJrGf6Y#6?=HS=jZNYQn z9l`VB4}cfMM}QZ`$AcHdp9e3DPXI57PXsTFPbRkMKS8Abv^W=Mo94MGX&#)ak_0Xe zd`&OXaVe!O*{a3&Q##YXbY0(ywB7Gs>684&cp+9GNBi=`sT*Y+-TUHI!AIjYz{lcO zfsdN`G5jyxALG|Tej=U#$I?203#9c0Uz#=uTs&4oyhj$Hd{9 zwEYx^F(wXmL>#UWakw_k{X_F-MOY2f!Zxi@T4}_maoQE&8`J85o2G^N*di^=$Chc_ zzRfi8tdkZry(XSqN8U2=yfdx#JFdLl>7ql|-VXY-mtR^~m)nW7x?9BguC%Z&-<_6$ zxV29!1HRJ@&yfG^(<(roomM4a&c|wWd}`u$Z(28s+d-3tolP448E}4_d#{LdFOjGB zia7TYalTK)vv(RjS{X;{vZjT7zxxp%mWOFRAnj_QAEx<$wCf=sDANDov{sN068vyl z8zH|N{CHYd@MCHBf*()oNt}L|>qX}@zDHkVxChE!UZBfgNjhA(oSuE?$RPbpH6m>n zrDr|jTs2gb$q^zAM+*7qv@o5Y7U?!7EqFwud>kwC_t~`S6c)P#Sz2)V*mw>_JUKoM z>0sOVA@uFs%m5mhc)psJ@ve*K3=|Rq)x_x5e#!3mbIW4@$Z58d$wzL}78>3$r{ApT!@D5WZ?KLh-^8z_vSAvca z=DNO48%x(UlQ>s>VXkXIz+t|BEv|8&NdK?Xf*~&QZ=Yxf_KWuF$F%Z@&rc%GKc|Ip z{xz*BbPlE63jR&hmjh{cKz>l%n|>Gd<#5`4&^eOUAAD5YvyP_?h5V$rXPruWhUClW z+OsGfxDWF|z+qk6i!z)S_`zREI`~|6oVG8}v4hUdRMGVEOY_AKnDo@?;XNqono>%) zc)CkmvI$QQ%SQh6QtaUoj*m{~yenuphI8}y_rN9T+nvjC;QK{U($7?vq&K5D)F94P zg-je81RUn?CGeBh#7Gb28R=pEmJ)HhEIq9Indz?Grgb3GYf!lCXzh#iupCxMzut;T zUM`*MKD&gfkbbj8;>**+_ON1l*dA6(zYjXq)BA(3Ob`3v)zcp)xlNx!>0y2qN$0-q z&2+t4>QcjZ7%rO5`D>qvikY-!Z}a#ga7p@h;c|LDPDf`tH&b1czKPQFVd7j>N95@> zA`P!i&qw;~66(72!WM}e2yP_Ovq5^;E+x`0gMOp*GT_GP6~H%&biOIQ5#%?g^F5ti zLNyoZ)*}5uD<*lX^bz0|>0`jH(w_&nPM=Ktlu4^PxGqkI>2ypr>2POy&-c)0fDZK; zO!~7|)MrS)kbxZC>&3NXr*q$l9s79=9d8&vyQI&9pIwBXUDI8^h1M{1L+0dXw{+Jx zV}CfE*BO8Mr{|GBUlQl4J|d6$3qKze@f?sIm`<4Za612B{CO+=XY$9khYN*2ZwY^v z7=LVAu@G{O57(nJ#-F_O#%AjX&1UrJ}C6Hzk}_8;qZ&Nk5D9J@Uu;zx1E{ zuSzi04-5CupWN*9+_CCdgep6ULtbUP1Eb4inG*9=BKh3_s}cwG0lp zAhENRVtx9T;_OyFWgh5-?ZyD_d{!XG@~|$H_c&~JG~YyUd9R!mll*e8Cb*&(_O+^b z4I!`Q-2}eEYX`38WrMHqI)bnCI)kfw{lGQ60pMERli)gDSVyk*CP7};%LCW*J^^3j zYA-}~7=bqf^4THRe_YAnD7mj7M@y_GM z*Z6slR}kFID+TWEl>_(i!Z{H=y;mV0YWO)Sds(W#3F&pi4|=S!lsJdVN$ziF&TKMV z(VIog;pWl7Wo(C$XL%chob$qtb!VlFW4k;`(s^z^kz+fq)zE}XKO6r!{f`;{Tc-HW z>0teDnc}}oANKQjkZ%9TF5Ot}n6HE9ba==3npSvgSGsz-Ow`lmqMk1IxSq00kiI46 zm7;F05Os57kNqWn_lrCXA zRJLuIoPhkzqd0P!*fKdarA%_1ZJC^!QYPKCBZ!yGE8f<}z7^LN08|XTs+x0md-+$pb9ak#_lR@9_AVfOc4QCsPyQsxpNwF& zuhzun)%Plw){5zF_y;wM_z}ZL)g0n!M*m9_)H*HU@JvE%H2 zZ4-V`;_|Ak`kCY`=uAf?ioaW1mAMM(I605exc*KP;v72I^`#?+f!t_1au~?HM@J3= zIU4E!SEKyPVIjG}g1Jr4F;b=e5L}6_&dK>bhvUZuPZG@U7@W?hf(uZ)WobpcoU~Z5j>@$< zN&J|Rx7W#YWAT}W@6lNWV!=8p_vt+1^+rBGXPp-d)=?R%lf?ho^-?%J|D*L%cwH3M z`H$8`acfrmfFeBEz?}CLGgcMt%>8q!+e+PNNgG$%6~9*u!PD_b^nCn zlBysv_m?TL3=hEdhJ}8nEwg1V{XB-~#?<;DY`S;6j26`$r%z>7N7__WuBv^uxX3O8c>h zNd`)XQhqwPw0|DBlz%?Bv|kup)(`iOE9aMnyu4oqT-mP#uHs(_uIASQU+IVY$JOxf zfV`pK4&1=+2yW)8xVxVO_wauK_w>WH1$y~MNbc%; z=KHR^)lkPtZfzd!Fwdvf=HyQEyk>3b@AN`j`gUGWbI%{%uyB z^q=+HgD3f&!BhOM;7NXW@D#r%c&ZY%kJeALXN;jGEy4|3L?aCXW(np~1wd%`zUG#l{aHr4Rf&azcd%#Oo zEcxTzeP#e72q=gsX~>um1QhUsha43IB`D#7s7MkK6>&r`g9$TFFPIfY#SFp~6-6-T zJSre64-s?Z|E=oNb?VCFt-HV7{qOFxKc6%6otogqn-eY)#(`#G++%E{X8H-{9>^IukC%MSQTrSUbawF#f}MGHJC5H_1?)q(Jnrh(+|&_oIF$ohNLVsp{Fm-#EMy&2rK*ZI%gh zl2}8@kWLif50+`-A@G5ju7aCq`U*ZMbClo~nY7(*nVBH;)~X!aWacRPrGndJ(&v%Z znJW~1F0i+M?F`)u-u?}FxyIYPaT%K@QB46L=sE*RGGf7 z%JhQ_J)3(!!>72eQgqU@FRsC?=eo@M(39x!YgM|f7k<2>t?ujf%2pec&Y!9KdPAl* z2}Fp^=W4ITb(w~q%=C0T_C;pDgig90fa^@w?c2=GF9bisO>9H&XSgY|v&i{Y>HLE# z({Gi|KPa7lRC@lD*-PY@Y&s_VMf8a=>`iTMv*{d&$)@*_&2|(yE{ixE&^KlK3ofT{ zCW~q1gr{8gSiw7Fj~84ad!pbSvSWe0pW&uVIbiQU_MOzd(u9}33b;bLWX}n>u3>vt z&Q60py`SMOzR>X>`l-;&09R4;J+i5tt7WT#mqKjz%%<&gjck2S2EAtXAi;aHeY~E# zWJ4cB`gFn-<}-*IY3n`X(L6zG4d123>XJ+qrdpU%oAJ(Uig?L^Knu7^I4owF{XQ@&zc z8#rGlWm~)$d<#c$zP#VdC}ro9R368bp;wf&#%0s~Xi_$9qb6q?3D2oY=P63(so5UF zGc9|B;M3JTaz=KL(9g`KebZU$9+{pUCp>3oPZgZcrhV3o?72dpnGJnMY-VMt-}kAv0tAm-+NU(T&&u|`?H;(8->^`&i3{Y_(9bMKBU^f z$5oj=p~`e=HXV~ckv#))ynW`W^17MJ%lj7I!r1#3-pb|cpO0>n`=T__g}w^7#t}du zd!CKU`>k!wPIxK!t^KUpfvw7hrd()4Vq?qgNkR}v4)t-~Z|$&h^B~9HYloEM4j2Ey zA1OoyE@C;p9v&iel0)tAR@4pb^IYx@$nkz_G0X8X<8o-fwMixd%o50Hx<(;fFt=k~u)=K~77qhaF8RMwWP%NeUYnQ^=xnmO9s+k$XI*tt=OuMB`wLHZb#_vZ#8ZIe^pv&#*z|&SKE$Rs zP8AEdmpaF)H#`dhy^k3yxHq3`Oh4&tvMECEtIo7K(p(_)e*8X>=kITB6Z$~&wBVuU zL%{>h$AX8N^@5Kz-wVbQj`crcGt30P5jro-uK<&7#W;~0dxE1Z^2jaC0Zsre!ar1a z7cspPpDT0~(>wEC5O*@}VyJDTP|BbFqkyllYXX%!;pO1}qrZpgpZa@bfP=qB1>l#N z|2o#*`+Hn!cP9D|;N!7m`v2^6e75J~@z2h7q5KZG zp{zai8u6tq({_nkwG2|f=SHkVCH`!EE*f?swodp?Ec*&fz9 zYu)G!5z6EEI@?coduNCQeg3=s9FFRc+I)(_I`2BaPbWM}YL)wU`#*#-f{Dz3#(5ku zMh)8E;LrFG>2o^%tIzLTo8`us9>l}5-0F(Hm*D*kng)f8zJAzd0X9GqYpV{~I2o@TclOC(}=%#3Ey3%jhVa zHtYlD7E~DxP-QewmC-S(jQVjIz0G;)$K$}y7$22L+%_-a56TOb(Rbj_nUl>t$;(*I z%dWptUdAe&PYzL$mvLq2X+ufH+<5_N{} zY>rDGmf~jrPF`*>eB*$3b=A49S0$$}lAPRis_yXI)g<2%Z>?{FUP=KQ{+ zZ2N8^h4T2GvhDlIwjU_lzO#*OALn#8m}@27&y;OH<8)8Hoa)kND%}k#-7i$%^rfoL zo77p}o4LQBNZ1QY;Vp6>5xrX?H8$U3_QHo4FDOqF{H?i1@Q=n)2Zj)vpVYbPKl541 zzKlLI4*&bI_=4-hhg>dSa$8DqOX&mQbI@@zv3VQsaP4$0mFd@9cB7vr`WExLdbcag zT^A59=s-BkS5TP}{t+@8;1uVY@NwPacPi^0?1QgoD>MZzF%@hD@Ew-mw6BycF_5pF zZA#z8?g4%Zm|e0pJp`^~L%&S)Lxf(%b`)IIb^-2=w2F`}^&>|mn8r4~-tHK(A~vDu z1zZ%D0_CeGu3?Ca_r9%pBU@n->tBuYvhqgCS2d+`IGu}hu3;%H3RqjQ=~_c|n~rU2 z+H@X%Z=3d~HEr6D>|<+_5CptSZmI3cLx&=yOSHG317T{n=Pkv0*8rcJoN215T^i2V4{cJ;z_p|kw>f_c2zK`R!vPVnYRw{056}OGuO~oa@ zg6BAHM>`gAeLvEHZA)yJV^neuS8`%oRmq`x@(Ii7ZD&G`@6&s+9N(w+Qf1Uz$?Q{x zjz@D2m=9EC(a+ZQWax9GZ78^(4Q(3U0k`2E!FbQc!ZXlP{h<(>0k*G)zys}(z`p~AFM9q; z&sqI7H|X1$|BZ8le`Y@Lw~2mE?}+kb;ka`XZqa4ahOEn+T z!t9hJK=fS&w-7%EqNiipgVo$!Yv_S@pIHCqoR>YJLlHmuhkUh6B>wY!H3QdX&Q}LB zPx6H)0MVy|$f5P?lzzCWjemB)6HrmIu3as`WLpZQ{OLam_@Z$y1=5{xeemb-wD7c~ z+e66@qd>A-FH?>pBG8(3szYy8XZk1`_EyiEeN|mLg0Z(-591*3B|Nuc49T+Tqg0R| zD~5VVI@4J9FxGjnc^^8D1THaySRY^RgIJ#ld8!YC*ghmKHiPMl1NInjWFJXug80tGW+G-@eSrThG!1yN z838zf%Xbjl&HKX-;&SoNO+)anF=sK)&?M%z_9QtJ$et%K@?+OdZ>3|}uD};SPBH!` z{MVS)8|tqyt+#_7lYFqB@2CD6(|S9Qh5lOa_Vwh#D#q0N8S@TfKPuV;oWoi( z^>+?4kR_O5q;XEg1gB$WGb+*b+l~4lz~} zI|^>C=Gfb)al#>LY|u`v$F*1MaYYz?1eqP>-5*+0K1I<_1*VO+i=Y{e>*^qnMaawc z#*Il-9y6SQANzry$BnR6XSRexi3^8}^yM5Xg7O6SQ+=hKwVQX-_{V!1ZU#RrIMAePi%D47%qj zPh#M_1GR>}K&_kKqSnW6g%^M^UjOUMl*N^xcVL|tVPQJxd=Kk9nsvTc>3px!8T?7W zejrNc2TU`eKges8^pn=6!?OdeM~@YrN5rR{=$OLbfcM%|`?J)XF7)N>_f9`!yje%J zz~}3pGWnVf`q`YX=gnov*OiXE_r8^VK2r5?E#&%u_q%zngMML8YuuoYF0bc%W$bV~*jKZjTTJe~P`+Pte%G;0zGmINOK`eAvL#80^!Y~FXN!8~{YKS? zZ`B&{_iQ5)fO8_)Rv!Oqh7mx(d((ELhrqw8y5VeEHzIqo@cgFghP6|L9@*)Fe>Zu- zznF6cZ#5SQc9!Y}h1f)v>OTd%2WKDk5V*X33E0=GuerZ-c#Ao#9TOYXfj4ng20e#W z>R(}7U&kt`b-mr_@tOnPSyO9pyQ?*(YW6_ksczH$eJ?vj=r!$`g7>jA1=q2c3a)3b z6P&a21vj!k32tn$bj<;K=h{r79qj=dHcH0$MB)8xx;Mi9wkr629jhekUt|Ybp>54} zXk)8>5bV%e*`ZC66506>wMN`ltr54gdx~!DZEeAa+lGQW*)WodO=sIy=-t%%V|N>R zHq1NO$->jeo+Y@S%?lo2O9T(J3k4r-?+5nzZH=DD2g>haTs=6yBkgmN-w`UmBLh3~ zJ4%)N33l&94(5DpbHU?n>I*SJmG3DEPqG&Z|0#A3u-9!wnXC7#8knr0k@9;fB~2hLM6&sS+(!1dufmU$l2{aXKdoED`)Hm{0nE6cya&V_uUW6u*M z=So>Sj?J}}+HDFHw-K%?sO&kjz%E7H1~<`M-+b21k1OUY-4-aBx2w8(r>#N)5n^+@ zrFlgP@cXjWJOsu$Lgyywl$_5!?9(-OGI+#g`0}MrOIK zjrVJ=V4a_ov`UkB^i@!pbf*6CCf4~Cn}^QyH~Msmi~YAmxzlK+vC|B2KMl1c5`*DQ0RT`Ib5RB`{V;%*Y38H!8w zzalm_%9$VR%M$ko758^lSASG>^*80?@w=@HITT{N4%)&)V5|1ci(E&cXIy8&S(nz& z3NEdazpMJWlPebfUEC>xD>-@wq!63kT-uIRao2k?=)1eL|J}na6M8kbQgC(ms^C4{ zTY_t-ee*A+*oNB|i<(gUt)TWJBME?~c)z52g4Db|?V9kBdS9SL=j{>I2~; zxjyXYDtsL3`F@fX`f-=uj|aN6z1rVVJ){7Cc(;#-z|9@ClN2!L;12c>_+Yh1cPmu~ z4soHazVqhdp4Z|!9(vX`4T!{n>PQK64*MPxo&}yjZ-f8ade*<*m4hAr z@`p+1g#TJQ@Hd8DPx))@z}w`nwF7U5`si3zcxe8wt{r@V0R`pp@^b&Z@2}}Ki|y@) z{EyZh^t*dhG=FCO;vf0^P~1&Jl{_AHmr^M@{fFn zh)4Sf{W{6>ANF;sKk>YNPFmkWxGisRLYs9qagE1pmgMhk(5(O*&3nt^A8#RP)$t)I8gZYM$*SH6Q+pshbGJGme^b zdxQ5fqQ7FySfyjOH%wTyAo>W2`<8ky;~jo~%Ex^Rv)VqySOqH){2pe11O0u>@&^2l zNyqRXnrA^i0Cp&X9WZn?hcR9wbCsn&8h;k>xhDCYOK=~y=T~OzC)o-mn8+zHo0L7j zO1LSH->9{KuaqCoH_C2bE4zK8e7C+=@3#CPWA)hlrsm#%QggGvnIn^w>0Oonf`3zU zw!ibZmj0qS&*j1s*|mZ*Hhnh9+FynK8)En$G2SuRRq#%ho}1DiQ+2ODO2={=5g zKiIZxb1%P*4YNwvE5_cLSOxpTDBQ!QXKeMh>Hg<^?0VtvYkw8o-$u?WMDJqkDtLgc zC%Bu!gKWCr>=0WlJVWg`!Gr8n!6R*6@F<(^2Rqu{F7y-Zqk>PgD+G_V8wH=N@L0P= z(SH>@!8)3#LWs@DmJeKHJi(^te@(P4glCfND0qVHDtNN(FL;U_A^0>qM(`9nPVi|q z-7o!gdxp?YRQMcwzR=ILmkXY$@GM&@^z-ePf@j(v1Ycl(6?~z>mnwXjEtg?4zz&z& z+JdjJjRaq24-h=pwiJAoJxuU5wwK^*Z9iatzc=9diVJYh=1oIO@4ns0xRHGscp>A) zb`9{8jGI_G`|Ksg&Fs^_A2G(6aloW$saH37$GnB5>baSDT3UMNj{Yvi71k*Vz*PUY zf~UyzC^Kgg>Ob*N9bUG8+NBfhLM4al+n%$CKGxm=dPUrbdDIy?yKQgaA~UXx%uo+W zCY7&$7yewCGcN@_lqvCqGWsJ9_RN82a0YYANGpf=)!G}f6%N28M~Nv>?cV(4E~WZ> zx0;umujb`$SMUAZC3BC&Piaty%|g}g-D6vMGRr(f@FLq$@M1M@{Gi3~jzer7vKI?} z*wUN~h1fi5{b+^o5*tP(G_SkCvw*(LhTautz}cULUTV1`XF1C)hG-mOQ>xm=CvAGB z;S!tft^Ks!SNNY%eb!3bAM`d{jwM`IyE0zDW$MfQW=nfR^#eU`ZnYbMk7b_QxJ*xE z`t5cD=%i37Yvn%*_#*if$i_o}PX&Jt^T5+S4|8a*B^+dvw^iA_tKJuT-?n5a#Pfmb zcivb1&IdfFO>D9GNcBM~N8@R+U#lt@nLw&rv*SIj&RdnCtB=!n4laE_l7_ zv)0+W72S_&Nw;;@k7NmNP-~!H*q4R>OEp&6Xwxyt*LJ7GS{Qd(|E4C%`PLQ*{X0wJ z1Pa7+g5dA%WWhh!yx^bgRf0Dt{ENLy=)c-W1^;HB2ELff{dKzqoH@GdjitEOk z7R`n!Vf=QPd!O{WpXpyD5`CQsc`xAqpbz0S2^ZBL!p|XY&g|s6ewnTC85U_v%#M!6 z`R{{HI9(&yiB#Y~bKsQ(@8qfp-p%bLxQa{H3ahzVirzqQb=OSrZmzZ9>gvqXJzYw11;%*pHAR0%a3eJ*pK~7xy(yoo zNIx-tb9k)efc0ovZcqA%9UU3&YuGands6xOzHDc%hUGDNUu1UW^CNsaP?3iczOAU_ zsC}ryJiCP<#x`vNrA2|tlsvtZ_S9 zub~i|wrak;y(-^>)!h4`u8wC1e|vRSW(T*Q&^xO2nhvg=&|{abqjgeq^06BxJe}Nd z!Lb`9xQiPvxT~8gxVt-7a1S?2a2K_9(_5Wy+s9oAo*r!HmRuIcF>b|W=gX@#;}ezhn$=l>Ncaih>r84Rk0IgZagA*NF1^dAL$g|QRmm+&2&-&0-w?;*ebd|Uj5yqux(J5|-a zGh97lK#0wmsxF=7I(aha(-qFEc4LM+LU_)0{RGcY_3dmoROoqC_hz_}LO)m4u~}}8 z(9d&o1z+G63ck>l3ckRt5`3|HUGOEUZJF)TamyJB&vD;^f6-YqZk)1>o&CNLXL0>} zg3DsMqw&Ktz(w#PD~Gs#+?WqtAD2QVy@-( z1b@NibdshI*!M=2U5P5Y`L3?;JgnB~Zg%N&@hz&&zggAWTU-~3i}Sn$-=fO*HrGed z`wG5ImGvENtkCaL_+GWnyNKHXVvEfK>a5ia6A7y=y@}b%dQ+8nu^Tdxa>%5DSaULvc8kcu`+n_<}UX>%9{Qw z#TD{c01o;PrgSM#nG*9ph?~Qi$kV2g)3rK(InwPs>niv;wN|@Qopt`4OUw6pRgP<1UgEx_@C&N_f61kO zbg!uLebvpExUace1;63$7yOc2A^06tAKq1U;2pP7cs@|;^&h$4h5oTxm;c0t87BBo zx^(Vktvk&62pHeGu7W>uVf>G=uJgM`kj+0=XWM=0P8a@-?i|6J-T8vIxZrt2=P#%D zTX(DQeD9V4`?<9zxqkY(x`ONHL0mtd;`YBi*TbjXTGYetjGu7@;QowPmZ_hVD_@7# zaKCvx%Xy(pJOhB_P2*S>?F@WP zLQlu55uT!bfX}3y=K^0!j!XZ*e=^!hc%rDH;PO%GhfpC(>--K;+BcPt>I?raQQAlE z6g5-yeFg6twGdn}Y9n};sIB1Lq7H&9E4*8DxT1FgzLo9iIA6&!%{7RdGkZicVRQV1t@cp%+%w7&5dr(^C|m6r z)$(MflPn6c*(*xNhc%;g46|31w)r)qo}L~2dq-(MUNagj^t#b7!Fxv|1lNs@7rb{g zL2#`ooja`^!2}%OKcmhFs~26S=+_9YAC(Ah5Zx!Ze)NdoMp3EYCea$f`$lgI-aje` zZXRtG+#>o#aLXu+?eT09RZZ%DY}%-Ez7C06D0U^%I^$qO{#;8yzR~ zc2O~~AL~|=o1`?+#m{Lp;j;dS>rd05njxN$#{zKBpYTbEd@6Ioo4EdTjW%xy^(V}J zQhhjr&)xznaKET30R*B~^N{H^1^18Y2<{iv72H2+DEO!-o$Kfy9j559-~mzk402SI zjxh#A>9}HGl#UMvsCqRp8Y^;+iKYl19Gxk6NR$^mG@38?*eIR57#6J-`fyb@Mnvm` zJ~H}3@Tll}!K0%vu#3%@2*U^t*e@tb=QqYgm4tp`R8#Ots{V|PdJ26E*9Q_5oAJ@f zLZ1+wDR^R(_9>I1D?#`5r`tC5hvXD+U7N(E`arlG6wH}3qYJ(b_2Ep_o=j8i^I6eu zh(iJ6{Ah0vfzOT_3(l*uK1a2aGooI?b8d7@f=LHzLux>W+R57*O&Bj?j>8$3GCr2^ zlZ>Y_UdDJPa3j2VSNo{)73MO&&*XsbW&DI`1Wb&@xIRT5gU{Gn;3vRCbi&l`hxVS@ z**q=^Sh5y;iNZ@1{zhS1SIgr!g>w|9x#>Jpu~x2dGc^2xPG|T9e73?g!Vh#hKQG`n z6y6o37U%~mJV4>R!hh|rZa8Q^sCo@jKLkzx%V%s`Tm9uT=56wq&zQHvzk<)$oCkdS zQ0?iAc?x~U44-xWT##Vx-}NeZa;7%-FZJ=@8}>vZ))@2<;45y*B|k6*7C)05Xfy`< znB_DwKcb)d2DrpDRK6>Xf*8m=N9`@s*i;gkP0SvGn<*caeW9NZwC8zK!3UV;f)7;h zU^X{JLT_QZ2yUs~;XT+KCG=LxU#PViDfBk#o$*7|dwGYNbPlxIZxsislA#z zn7KkfT=^H_v|*ul#?Hz<#Lzf>Ug)NLjk+seqaNlN;qN8mYTAS7HKF%0?+QM`d@Q)1 z%;V91=3fbY0K9vApgqjPz&*wrpBzLij-YtA{%t z@2{Etg?=UP4^Ka1bCpS-<*&wXAMjqA=^^-f<$HDmYG2@)XNC#B(Ht-MCiR|miF!|b zf%5meS-mrRi+X4FHtdt(1Kxe(cRCJa8=jv~{hZSE_*KL!-c{h zn|qWE7bzRwr)+q?vf*N7!v~cOA67PeRN3$`Wy8mn4VNezKA~*5OxbX`vf-1;hEFLQ zKBH{-tg_)MWy9y$hQruacT3)>zR|PDc(&DR<__5EJhs)V%2uJZqWbW<@@ah2q|fhf zDLcHa{1x9p{q`Y7OV?BId%VX5{fzNuQL)fJQ2Ty-sPgiWIv1><+Uk#SZ}p=e!yJ82tk#?%)5Szc7 z+JZO9j?OV!@YGLov%Eir^UdMG7vgR)>HP3FrmxVyHAf5n&I}X$Bi;)Saev`w#LKyS zU-d+Ma(e=vd0f6*%>h4WD?H5Q`@1UNt-_D{TltxkSMTdN^=^1%!}Be@tByDv$p4e( zUY=wf!YsMhf!c~Sti!H$8g%%Sb=bvL@KI3*f=4OUhl)yvYRVsJH+!(~SGGlhtJtoB ztJ=PTYgigTY+`*v@96az2>MT~&p!5b=u-oKmzcekKKmq=C4Fised;Ki)U{+^3V1Ki zHuDfTXIluauWZ#o*{Y#>PrQ-sFZ_*_PfinCEcB*!tl(zqUGjbHG@K^=6}gn=*f0yrR>mJ_%T~NUczxq&{&fBzAdGBax zF63xVH_T>w`yUE=F{j(vE=9WMaJrpTx}8O*%`A9|?z&{NfiBe_1z zW_>z|d@4h#57)6i18mh_vlSj^eU4K43=n?WOMD0LQ^43s)rVu$Ju*m@`(Rb>!}%Ur z$vOmYr1Tznm30_phe3x;tV6NVVU*Hgw9;X$DvL3yEKX2mF`mofXHJ)9hkc;DQ(2V5 z?UysB*m+2|K5&Vdq|!Y__+v9!r8`ZP#S~Q*r>U}-s>K4%bO4 zi*~Hfx%OM=(~tF;q4YUd_+v9u>2sbci}P*mL}+X-u<1DGLgmMJk!>wJvz5-5@q5I_ zv2HUYEwa_IxK3i-=Gy+hp|51!u2j0s6@HAJlx}}hwz@{y>ROfVb;?%PD_fPYt*&5w zXlB-jP;YN!eQvP}q0i&2&&^7oTZBJ`k78PH7b;ubuIlX_s@~qI>g^(5Z&`;hYFG7^ zb$HbN2pv9U9UfsF{MhvoyK|y5`FRHYvB!?m=W%(*ocuqlgXwEd>k&&4{21>Mi=iXE@yh5={B^&*{&odvm4IVU?~CalSs}e636{&2_xa_#;~tcx{5I zPEv?XLDI!IQ|0$FmER5O{FKjBnQl;aSZmXHl69PSFMqviqdvC>ajKN=7u<$_1AU6j zhisD!2BCz>CY2d~#CEI8_+!ztG?77H1za5nAdr0s?+5;z*<#;^ef+)iHQT2M^b+&6 zx{tPqO!A>k+mkJJR}zRo^mKj4DSx5wRla^w?cT4dt=npcL59EYzUH+0b6&nKa}Q1c z&v4ecg6p|8TVXQmSzh_QRB&M7fcKTeCjnzr@pYlR?~dynmb0rX7CE~pIpJ*<%2!1t zr_wfZu4Fk?-87L?MaikE^x0j>*<%|yx3QcWZm!7LQ^~2JeBhWhHCGQeO)X(`zzc+`F9=c zjuxI)ZiL|0?j*r2luy?o?ku6VRk$7ddinmM7W=XII#Y}7K+x596J$-#^UWO;= zU%>w%U8*xz;(CE?+sPG~a>@KmtZW-A+jdg6?OcXV?F8pIDj&N59Pd~RnaDPY70u(Uc=pOeFc!2ViI$G^{ za*RvoEeE+TgnzK|ksIpLwd`XZ+yyw0?`sXg!_|H!#V+-8808KZp5xuIg2%Ygf=_f) z1fS&25q*P;bx~nMo4932` z#ax$sJ&d_d`t|h5a?h5+8X?^RaF9cFtQur~%yn$KJKB{?+T^oT9Xm_arRj+VRCed6 zwqm;51+pj*J*{suT-ryU>!{DAfU&gl#XV2mr{}u?o&`J?x`~1>a#ID*b~gx~<8Bsw zsaq`gGDmCO6focDR(lA1rSij^t9iOYKxv$ZP7FC z8Hu~ny&!m%@~M8_Z5H}!XT;8HTsmL(f~zj{7hP?^FY_Ks6dikWxiCwC_tsq(;d#yV z7W{^4i{5nMi5%}|xl@Jb9n}`S>t+l6J$IGh50roAhi;+JKXzfXj`>XYqR`j6bX{Ye z+bs0;&PZMQ%%$rZpF3(pe7?SLwFH0Z(zT3@u9eU?xh{gga(x7EcE<_++8r8`t)r=e+eGIIJ~X;faNFn(!R@1`1RoZ? zD7ZuPx!{h`w}RuSVm9d9DXJm3OVmR-RU6>0pp*jmf(@mA%cse0fI+G;{=b6P8U2Tx=`>5 z(UpQvitZIWHhNU>xac*(L~d1sHfmF zqvHinizW%49?cefc66=ad~}E4bD{?X&xlqCJ~w(v@XY8V!Ly>z1)mrFB>4O&lPn}) zt}m)8_`+x(!52mQ3BEXLBlwc2o8Z||f5CI2VqpJFv6#){$8w9gU-o0UC1su$j`U_T z1$^gm?TF17a1v4(|H;t)5D&F2)tIMJ8J^I#5D&E*Ip(Qeh9|Te#1qRwrf^7Q!u97FpDpqUCaYE?aredqC#BU5FN$a$?N4|Nr(2t2Ok`Y#@r8`*GQNp%J;o0+_Ikd= zxB=7GGd_^u7*K(-uM}){Tcg}t!|8IX3dxpjQz^oG{&u&eidV?X?Wj_F|9Nh z^D1NSRqzGl_DpwhiqGSOEDALk7cp+m7zRh^!MG#iQH&2~JdJV8_$tPo7%ybpnej7> zyDHEkntquS;hEN#_JhRVVtc-X`Rlv zF5@#8cVO&iGzK%yGkprFTt;*c|+gi>oCQ^S;@+Oqp9*$+t1MaEd@I3 zWOomN4>EfRZpr)WdY*%kf)BB21+Scd4>ipMH->jxpdTjl%&{p#49q7&&mz-+A3^Fe zZWxB=rZkC1Ujx zaRa9R%-G+Vl`)B!H;tIyn6aP9Dq`&WvH^^Je>9%4?|05)+>zt{jd2&o4>9h^_(jIP z{a?qJR;KY@3}fGJ?~aM6eBzDTjPV%e>B#tG#)BE3!gw-cZ|B*JeVbhVP;ciSb~h&2 zmLlB3Jopnq)0Z;6^EUL?nC|;2&Hs0%dz~rL0*;Ay$?@_~KJl!o!*Ms&A62D3dT<|euweXjJGg;hVf2tPsy8=jB|{iW!#SO zD#p6bKZgcq2B>Z8{Nwsb5k3LW3XX~QWfK0X)#3BOGOO`FlNqBEOG2>EQl|U57s_ZE z7D!%adf-m&`3kBR>2no$wEcJ6hw_z%AiodOspr7n)Qr0`Ud-6nJt74D`R&uZJkLBI zG5ltrl`~~B^(3IqpefC;0=4EZukFlSfpU61cw#{KWi!p~`!YuEhSyGhhpxXpp zXI3)*9gd=GVSG1Z`W^DJTb)$qzKl_b2-`cSQp?x2Eufj0fq31fTk~ClM_}lsc_=RN ze1z`~oL1{?^1CaFnRxa?HPC6*1APVP6b5iy@@Dg4LGt|$)A!+Dwdzv7e4Ex2O%=%` zCuVIcN-N0RURs)dJj?Wnb*`7%?JUN=ZNHtd*X>Qlz8x!{BmSc}@*#`|F+P>CZxili zJe=w48INGRPyIBl)e28(n9|2KO7W+R@8P)g5$sdGG4Y_YLO6@Duk%+k_U-c`#x#mB z=6S}4Fs6?nN54O{j(P54o~?{M`_Lw-K2Iuq*}g>Yz~z1iW!?>+ z!EzO<9YiwkQZnxjA~Eh=sAS%wWcvC*jARj#Ss!w8I4P%CWImu|E+$qEv3XF*d`QWB zAh3wc!&v4LGeKlNu4FC|e(Y1H=ufEgs+Oz$V4qZHt373WD?;P^l?p$dv?!kLM?Hj} zRnI1?l;8F9#@|)MvpOkZ!pjwY(R4^Ojm=BuaA039k27^R@>pb+^7Fz(#!r|i;V(_T zFJk&r{OfwgPxG@65lV4|ycB@L-Ap*7OJzhOuSJNP!`{D-iap;@c6$>XKE&od^^Ehj z+L!np_1yQKy!S-souRAefW7ZTAMzCsy2WO_!k?Hr!oS|s75o{OJ^jRf9m?kKDg0$J zQ$jqOOh<|P6@CZXzQJ|O+x9KC?K5n*x7oJuF{YC}eJD-7y`6nuPb8uT{R_a&a8W4W zqO>TGZRrVbBir^Hli4-gQ(M@!JGP+vYm0i{fu6#Az`l9P&fl5c6uq+G@6_}4_ok+z z?=ARy^?dzKUP>QHDB%0f1d}}pcL#sYWbJ)o&kXxY z9n1F2*qsyp7(5AtZsp6+Qy-i1%71J}yO+e>S@~h^V$-^`n+@ele)7KOr@U8EK2#O$ zFp*Qm9xu46JptI?;~DlDo6I)Ju+NyUljT`wU*9UQj~PWTrH>>O@J(_kkWD7yn!z@y zV{;Wl9jnbYAs)PwsO*rlI}i~8b2!R}up#@}d3qyTn*aiQkZc1FftxBHxqU6w0iPEP zFcG}|b*)SIOOtQ`?O;F`0`E1z@>>i`YPb^PpjTmXW;h}Y^x*eMzK{N&ifl|t3GV2jg0%M zGCe}sZGbBGBb9vyDE^~W9T=o+HAMMR9&77C9}2M7U{j+rz-)ZPkbEvlaRmnIqY5-d6oAWx(62|90yY$)P~?D#o=ds!I-UMIKNo+zaE` zRt-QeG2_`*{@gC?DNPX(aPFdzxK?Nc7*cXP%fts-+Dm#Oay z?qmI@G5vwHn0{`59H`SEzD-#_sN; zBJQ)QOrKM}#H&>Oe_p*uutwGS7nBeG8ddHusCPits5TkMu8=+ENM_tEl(0ephF|Znan8|D#!lueeT*X8bjm3&ky^ zk0ccEP5cx{&ueg<%6jHp0ea46J?pTa*o_IMd+i>^b=fCyX@Y63b$@1>b$?MZiVo4SAJ+c-E%_k96)2?xXgZ?5lie`?;Tle}MZ{@F3oon113Ne@7$DPf&J6I4h9q zt*T)A9@J%LNi z2(DKYB?g_oDPXTE<#RYj)uj{FKEvY_p5W4ce4%T&2szD?Ot5(QkJ5kR1_Al#qJ;#oJQYAB19sw{#>BiZD6 z)qbu~{@5=lf9x04{qlyZNeLmu<}FoT@3_$a;+-k>-}ZHHrK3)0EZ3{&%G4_sf{y~O z5SR3)d+l`A|6_Np=wD#{F9E&86x6-^v8q>}s=R!n>eyQ4OT3Qr;&m%<+#6W8g6Kv% z&@<6ptixvapy;rPb@0z(n^=bxtj||$w~rD`eHMk-Y*xB$Q95r{x@}Q*{!Z<`{k>{i zeo}qVZ>rzfs_MLru)M$_He20b!8RHyIEvEewH>0-Lf$x>|6J=vu)wqw59Njphli7p3=R-DrWL z-zqp4Efm}!S|qq(v{>*S3O9|G3B6fV3he92Ccf|dbL%F)H#c#e@m|0Fp54OtslR8x zVN9Y(1_g)5+9H%odH<8?p}Y#9<#BnQ8jGbb#RQYX8_CQBR@wjE)i9 zI~pRmZ*;8S-qCQueWPN*{h|qi`$uyH4^ZWPbW|erAyHbs$Ey8Nheu(CJ2oS@>?jJx z0MSZ`TO6$td_uHF@QKl@g2zVbc)Lp`Rah1FpyQtqs?umcUp~ ziD)j-*Uv-QZ!>0k+lbD9Afcr!8PCQ{?;X(|??YKmU)d*H!TwO8j&(a}OLQElU`(HNoM646{Dh1lGt+QZwUDV_}a9Z@<4yHmA? zi&PuMGNB9iI7lK%?$rhdVX z|DTkyD+Mj+UjPnz5+;2pP~D)NHm>Em@kUg=dZ-((tGe;JsvB>Je4M?=JR}G2eXBiP z-%KnchNhA!;jlo!amB3)P2ysrt%I(QU%NS>f-Z z*M$DPYFmDcJ`wuQ(OSX3MC*ZldA-i%<;&nZ>*M7b2>f5P-E6zoCIJb7Fc=s6)z0O1l`c>)O3F60Rye1j`b z0D;=LJfr_T{&m5BV|O$<55gw-Q{^pXQsx7 z5>IEwof-FI`~l-ZjQ4I!JigaIlrfXd?r3=6x4=JIG4`X$*^GVbxrp&O%yVda;y;h^ znT)9x`4DVKzE5PsUv@9+R}*YS+}p$2ZrXQC`!;BQMe^yQw8qydTV7iJCkYRwOFmu1 z-=#YCj!5)eUeOrx#UlDOz&h^y_MT30=OVu|@cl#=V{YQS6V-j)_$0q`i2oh#!K=~yQMwd#d!pN%SJ7M& z&xF<6=h=|(^hf&<(ju81FlY_(&rn#?A69g&!x}~ZQsEtrNoD?f_c{*mQw+Fa`+4~@ zzT!HMq5e~TmlUPC>AYxrZtwjm&7Xz=+Qj{ZE*DcyPvQk@4EQ9bNIWDX0G@8H{cFqZtZt^U2fogcD%FZ78H zX`TO;F^%*vFWfQJp%>$xOrOs9D8~0Q_G5#MjQ!Z4{^1mNIP(l;Jc996j2W7ac&N>L zXuj-};*arg5a>tah4?)7N(~{{LHlHG&!>^vy%~r&>xk{w+u%F>NBPq@T~D3RHPweG zL5EO|JEC*dWfAHR@diB!Z?CK$X8GQpx(;hh@k6>VgP-y>@4~X_{-gRv@z%3^3``Jo z{r_F%>(cI&$Df#Id+9#FJj`M$_pqjRvcq*p#(w-Z5jbaV;=cYG;1YAA8cW>dBjYnR z^G!DS6@#DVvM3OJCl7%a$hd<1IU9jKA2N#|lg2Z5GoGJtr_ZfKDB#+M074EI%{f2B zy4`7tF%I#%-J#OGlUO;#@c&H5OLvPO8p)xt(@QMpelu0%+{bc02fYM4bnooNK>zy_ zMEQC^{1{`*^i{<_-?0Ao2@lEN1J`dXf2p}lyypEs;v}>VlUlzq@71*KWCKC_JSKFE{CYV<|?F zKEQ85`7S=ies{inmoP)}zBAixALP9V`Lg(@F=L;vgBUMo`c>x}@RWMt_)L+n4?#Dw zb4Of7h?_I3%#YR{s!}^runzMXdiPSj;F_;V#zyL)QPX1XDd+&G;j( zCvPX1>fUFJ3tXnZG5%PUDP$%gHfvQL*QxrpUe%4y`@1<)=#_0=a20!n;HoyX5V5JE&WWySZxf!~ zZMX|#Q`J5z^gZlrf~(ng1y{G}TyYI`KKS1DTjANqdap*(vzFbJDlS578raK5qzAz zMes1|-|``Q4z~-1KEmE7c$8f%c#M5Q@QL<0!6#Yl+>_XFf_+)=bo-v*v+X*;=h}^e zFSMaSkIhB4S~3F{n~UxKf*0DbuR;tTuoN%0{e|DW1ZP=>;{eu0Q(3ji$1h2La3VzW(Cin%rRPc-TDZww-hD{Xzj&)Ft|SJ?vvzpL>33KwiI;aO|@3tn$W2>#5TCU}Fr zM)2qM5y4;Drv(4qt`@w>ek%AA`<37=Hr)s28->4D_!pb*3G=(%KO6Giz;+RA-59~n zjTaob$%36r_k_v1YlL3T-6XiYyHoH^F5N3;XSWLUioIxD_o;asbNkg8uQjg&*I|r( z>46VsyxyzDjb;$>31cMbC_w6}ogCdT*L5|u99FN>J|h^6yDDTz{CbT2Gt`jeKt9O zf$xi}v2TFyi>tFQf$xi}vk%)3h+AUzR6ZDG_uJfoQ=+zRZ{v)8i`>+JPx#5xZKe~D?V{O%Ap z30QY#e)@?$+nL|vLsh=oInu+^^*QfF$``1k+W#$9J`$ase<~&UUEGl(r?c}0EYs3g z@+s=4e20#5YlMG*I^+8&_m-lk&`*PgPjE@jsozjFKUtFIj^nAaETeK^f_6{8Sm2P--*g!XuR@WoapM10tm60pSD=q1kZvt-oxr+Hae1-Zshmgu9CRw{>GOW7EpY9p}`?_~3*S#66KlV5U-RpmvdsMagNz`rhr)P>wS^w$oKGA=g(tn!L|18$c zw`pgoc1-VOdbY~Tbd{I0RbKKcFXy<1(823}7UyLl=f&@(>GN{-pUMl(Q7qxS%yI?f z#oK?Ts>3r?otdTVf1av)=gS_ORKB#n^D4`{*!>8Zz8o)NnHxYaF&8PB7b}@_lpQWs zb#jjKZJRA=#b%DGle1l2q)UP5qz8rAT&jGtFLMWjwuNnV5vThraNb<n&nA>~;jia9P+}^r&nDcx)lg@|#TWj1aV9!79?^LMo=f?lc z9Q$rN`Z;!zGose^=Ur(oop@S4`TsVT9_D!4qDS1`Ty)@}s#2$epO;>S8(!P673ic7 zg`*UnqOhLh?S(p-#~d1kU}wU`OveNv!s(1(Wju%R+l+5!{1M~F8LwshI^)k7f6f>V z3=htLBc5VE-l0-%p+I z)*rLcKF}G6cMBe1?iD;xW?ShD#N|Ri1}ByI5SyXWSJ7FAn}j}$&-UsGI~2hV6ovxl zadO+R-?wfZ!}L}>pE-%?t<4zFiLaDCl2D*;>wo0%o#1q^COa&WQUPTw_=sw zQEKh!c-R-~>#WakiA(9$#dQIvd$M_3>@b$oy_R(ttI`cC3Y6{ymF`59?j)7&DV#1P zi1Wyl4&#W#p)~oXuL7>xxF`hO2p8k}8M=kB<*&f=p&QW&|0}o8+w<}GGh@rJX1%_H zF_$ZUkL~$>=y8|!0}SJ<|HvMLp>3pc*7Eh(EVOCc+uM-hhQ8yE`|<_dh-Z6Pr={2W zgMVY&I%Rd!a{iHjBkfri^r1cIf`8*5_nMoJW^M&3hM?QSyZL_1aot|Z_aJ;1Jsa*L zx-)zrzeEh%Ibe+pzwq1&{v!A~mQU!!-6X+uzck3D_faF@kCXd|@L%_lH_>flW7V&PJB0eFrpm{riSqqus`~wA>~lhv ziLpYD=79t4UEE0Uf$Ev7xj8`S2k{=l)uBTXbf9sI-{ZHbq2-slOmCKOZ#!n7dz1p* z*F^*n=)NAK?rXyPLr$RoE8o|lfBE<9_e*Uu?f3g<#@@QE(0!urTmP;8>p#+OhW_P$ zYk#+-DDC^S4RssR8g+OE%3}R9@b69V?F+5xkzo8~{zbMh~I|}0|=kU zKPE9w{=iqT&(4Fq%?HCtXnSKzT}GjvlcYa0hSYsWxHl>89!NJ&0O10K>37g=d-JGT zA1%Lt0TI=Qu-`1<5r4wR_%1BEXqojIq;>Vj!K7yoQj0^-EzFDlzwRF!<~;w|yy%!A zsjWU{Od~%$3n_Z>(3Iyrg?k;F(yvhXC&n;N5<N{(C;8K)Z0JuJOnwl6K~74z&Z4})Ia_ROk)5VS7(P2ZlcBmO@kQj z->HwLKx2blJ!E=S!TYQ6z=85yA7iDE)(RY}e?E}{RG4mR5TN7p-XkK@y z(2KY)r=K*hJ67m1#gPldZ|5Bdn^0&QS$>wplp1Ik@MDq2P*pvGJSv+!Bg^b6jaz8=h#_*m@eMrX1`(Lpc zuk@dgwA_^UQ`Ok-G0w0L(TXBkermT%&uNyT#e>UT*pl1q_O%JeTwC%VieV2VXAd@%Yx)$qP6wUyc__x}}1)U2~`Rj-TedTyGvkUOoXX zG1sg5d4sB-^Hlx(n@A-;`P3i#X4u6CqK78{+7H>UFi_rak@IBnp1TQ}68&0y?_nKZ7yS)SiZK?`MC z06q;Dg#s>0ivs0?aC6AaVZ~)ggHX@!RrP$4D(m36OL<(Z<`5oI_55K|A2NM8-phIM zbuabLFU9{M6aa{y0_j7z8|$;w%!EF^Jz1*i)f2?Zf&ApDouNSc9@oIPuNzA_U80jr zbi-yS%Uo#|ip-TN?z6^Y3^3{=$clSp@mirhUoy?=15t;Jo?D{D}J^GlKAD^Xnh(5n?Rh z!t03~NPlWqD}f)gW~Qy^|EtpfH>KzAJ|aG2tO)L${K9#ZHeElBEY&v(vB}s}|E#5S zz5c%{{eNR#um4u1zp;N-{~YVTlbtO3?_|^aB6zBiKD*eo+;^2dD#;Gyo6&~lRJ9j~ zoT^Gr@T4a>dnh^8wvp3|e=)jsbf=Lrh1m{H42!+ zRJN^e!w7}^{9ECFZ`-|XS~vD#JR17sO>IkUsjnM#wrg9GLxF5U^B=P~FU{=R$jkM> zC8inY#kWiQa$XiOeLt}S=5tiO%I-5_J9 zS7rMe5>>#pW0Fg<72yK-bEcPF+o)WHZ-GmIsUCV;^;YE$=c6RVrmw0?N7!H=l1ctl zb|lF>+Wrce6a_v2D(*2V?jRd{`6%vgxN33S5w=p}(2tBz^>C!pr&!56Ufs(l*f3&> z&58CxQUD<~C)wLQ1RiHY&xSFceM#sO?d!n4Js-h(`u1uh`%brnZh3Qp)%yj7vMS=3z9oIRW$IEQ%Cgmzz1zch-<2?HOUardY3RR}ps{CHZd%%*+*xX=a z0tm6W&QA6a_(q%hncSrCjrM8bxyh~qUcmZartY09IWPX+nY+!svxxa`ka}AR89|2v zaL|Ep(1G&4hJJJ2U$dE}A@6<<-Z$9}uXEnlGJb>GqAiTyv{ez80`?eGHhJ4-LG$`2 z`|IL1D8e4U#I!5pH@N+*$@oo)OZw25p$X_YQ?OM+NX5Y?F_<-03ITgzn#%ZL-nk#U>k-P5!QIvPs$GD`k_-$|hf{GTP|x z5l;8-s*E@p$^6Ml#q|0@XAN)h+0Y8CsiB9-mdHsv#T2~}?qWN3G zVLgR#SWgK&|7bnsueGyu{$H;P{Qu=E@@Ll0^!nHTv^6i9tEc+*-@V54-?4r~`TA$; zNB^DcM8VEbsm%G#&!TP26A_`=D8d~XcV9$Y%#a*vuXTBPQa@8fwnibQ*WT zoz=MRP&LPLxZP9YcD7+&5ob@Ub7#8S`ohyo&1?0x)K5~tT8tVS47A0b4Ei8DR`3uz zLGZB(kFuu_FVY@XsXHN2ds zvD=Lgbnf0Qf+w*hiD#nLx z^9=qW)3G?5gi?HmvMT^nxp?`@%G7fziyywGceOq*bLQGs&?yvf;q_4tgo8~8Q(h?0 zy-))DC3MJ{gWbIS%2n73TmsA!LHHkMZ#m+nK<`1*y-6W9hwzwrr{n3KJy>{1COx-S z13hPo+(O7~3S0tAGFvh3z;W>taym*}te+}+Cv`T;;XEb}{9*noHl5Tvj9nbflY5>{ zj@BtW?&4~Dh_t#ndOIg(or`!p+?R0&&eu@Jhx_LX@RcU<=&OJ$tO-&c37-W1oay5> zNFMvBJoZ(2IYQ;}NJa0j@_3}mV}JD?;t}c@q`%7JKu3B|z`Hr_Q2J*5`>1^NRrxw{ zyZNHH6i6Pm)#q@&M!IJEhx#y5<*QifKT74R?0F?r2Pn`x#g#k+9;5O#O66;e%GU`h zUt{@QU@zxn*ABqfw~;E3{(KN$cB8kOM~X{<^4JO2Rh-93ZZh)d`^QPD&Yz<4wS@Zx zii`Cx)#fi#ZToW7wm+%b_NNryNzL``tZ+qzcT;okRcvEQ6d^WN^#zXS;XOT4eZlSu zKcnz+g;(+Xp^y8#IwS8?*N=z@^d9tZeEYU;5Q~FTwdT)Gu#loacJ=3*&SC zKlaW8N{eFK_qD70g8?K*GhqlvIDjCch&tjYq6aaH3Mwjs0TbqMbU*|YP!Q0AD2||r z1VvN?Nh28(Ac#n~49JibL@^_8@2aovIW88ibtGQVM;0>7iqpqZ+8nmR-3eLE5QGi~yIpJhK#^7-Id zY9EQ2c9D{Q2%ct_ffuNAqZTV(U{^tBv0VdRXxD=m+fCq)>}K%Cia&K{-^jnx=3~19 zI-goUJ1X*z>^{gpw!eTswfn)#YGh2??m%B$?xy$0lORjm$owMWL zQ+-_CuFCQp^SB%Ds^hq?tM`s~`u(izhvVzR{!Zs~Cx61q-ZJf-{*&&#(8?`t0Ja`N$3@1>v1CO_i*c?V@JpJjvj5?8=iXqyR#_!O3B6qn6cHRdPTpKLyV zXHU~m53h0MeH6>{%vx36*QxTpUX}O%f(^VUn=0?yRe3M1_RlX9CFT0kC@I&MMJ=3V zl8!soJ}uwaG~~POx!^taJn$}6f9|oDLcZ5t0p4vpgZJ8Nz(1(6{G+{1$?pLFsLJop z_5sL$Q@r0wTTz^xr_;wH^L|xk52!Lr>TH@Q8V~)HI-{gyG!62sXf8O4J^~+5=R;Lc z=Z_q)YoSvi`Y-SSyAfO|`U-rc;-jN&kk?dPOPwE4Gx`oXwW1%ub)(QMqP=t8;u^RN(3;Ul(n3 zb=rHZlVdiyw%mND|COtYe4Vq|)kVIZDRh4NI%>;7b&)*yQg`pqR`015%18nKU-FpW zd-G^__5}aw+9V;574YBTd4=U!#7P}BpLsp|&wJ)X?=%a2nQl?iKk6PiW&Xh{KBL1j zfABY$Q4Mg9=s55lQCPt$`i&vKJ8BNTCpv@Kx97V#n|-_M#z+G5?W>y*Zhq!I`BlJI z7*`Sdh4(u9AB;@%VE=>4{)gaCn&){-v%WY!vxbuX)G)O^WVo6ie2yA;b=DuD<_a5< z^s~hA9{Y+LD{ew3coo)ZtmY7#Q4ZwIReN=$;_?)pF>NYRd+1lDq^(8dN5#a3QEJZ7 z($&zrl_~j?_qU9a{PS#d5pcw$r!JU;pxc%o|myb(2pe2U_? zqmT#E=3Nz6)1suGGCfMl(fd(&_OzK1-3~uzMPc0quM>#whde*(3!bIUllmYU4*5jI zbEA=v&vWI)mx~wO*USH1+Ab&gCC5HJ>k?zQO(imWTW->6^>fYc73vM>#D*dEf2Q zcQ(uO%pRAHA36Tk)qATQ?~RgmMBk}&|6QfKjVrVN;`m(b=x~qBQG66Qj%$NcaZ-QA zanklE5hrbrRGhRuO2jAP-jZ=rua=6#I3cgch|h%1VR1)r**K{aD#X`AUM}tit`H~h z*>Z7sr=(4VIH?~h#mW1$n&Rs55cpFg9t%Dqo&i28UIIQQUI{KwYrz$1Be*hc1{3WB zTiOGz6(^h>{{(s6IO$*1i%VqQqTIiT%YqxkNuT0--Z|UfEb}P|&r;0$&qF6)@m$jY z@_FVs@O+c>FBb8PR`7p=X#-w@6`it1{W{1C4G*6=C-W&cgTFDmz&|Sf+58OoFXne} z!#GS%q)pSfv<-g#JuU}s99IN4iK~E{#?`?&aaeW2^I35-$eYJG;1+Qj+%oO}J~_S! z+$z2T+&b`LViyCC^$#)dGSEV&yNR#FN~iD zUmTADUlP9xzASzXe4gTt@f65A$6>^U_uz{2A@35;2VWZ}dw^dbe**cHio3_FA#X|r z;D)pr+(>a_#Z71%bQ;rMa5MS|+?@7~>$Wnb=l9aoNJU+%{oSBdqWu2Sb0HPOu=^AFMqK|3AKYxW9k5IMwft_Q!)-bQgL}TE>V%XK)*6w z4<_|}#3(iXV5ui`@+h=F`Ta||kdLN5;4$<#c(~%RYP@1RJq4W!YK&qM@XZVb#xB_?p9SI(&c(CH3l#CS*qcGyad7B#J-sdQ3 zzm1^NAa6)XTdtAf#)_Lz8v2dtTyQhuZBLy`o92{^A&*pCp00pSMGC7?=>_C_9n=O5_>$S2dA;L&ly zGboJTN`9LSo!PViJcky8KcJ7n^Awk%6_6jMxV++u6u#JyxcU0B#Y<=(?){M53)scOD{;bOW#3jK*I9vhlAG@Bszz=SnxI+ zysjYB72@aje2FXIOUh|@Mw!#}{tt4^&!V1D%5PE6DCM!JXAI?0!U|>SIrKAzd?@~h{39IlKsK|Su(80sb0@~TT7`H0MD@;{q~5u2sCVw0E0kNp2_oE z2ij}FRc-PvsHV7-;_5beFEp@2aPM+@1^k)f0g4AI9;$d4jmN#iX(ISJng$+0Gr$dL z4!Dux#)_NJeCRY*XN@(Z<&Za5?}Cwv%hMX@R8;SU%Icglq8-r5qi?~Megu!A@ReAa zS8XO^FHOl6PEH#>Uy_n{!59i(P)Qpj;jvVn>k4svE+kb3PoQk@Bx(SjOecc}C?2SI zu;O8KHuQ(9bJK>>1xkJ~_&K^9Jc5$3nuh9}wML2?D{ewvac^U~8QhHS05_+5z#|ox zrw1UfNXd9kW$Fz%(G%c23jIELrw@gE6paAqQ8Lccl=2`StnCB{S4kj2fzh%n7sI1e%M6i!JDZHxKQyHIvVnA zY8++@)mHMl;2qQu{572d{)TeEU#l^eJ#-=Dn-qUbogv>#*Mb|`gnyx1ApceI0mbjp zebAYvc!uIR^aylj(_`Q{)EE2#^#{*WT!x;8{4mAk6<4I;(5X!S0uzPVKgnZbA&=-? za8<<%6wgt-gl0hhLs|`vZNe$L9`cfQA2`eY4lZTm%v)OCYvsVDY(;PxTLWCy)&iHY zb--n9J#cy32t3OqJX>+T;<*^bk?#mv;@itWZ2VJ`wW#xHWhHoeLhQc(CH3 zbUAc}D;`Fjl>932P`Va8oVtRaqaNT9l$_buknV!Kk>bXRo6!BxX-toTo6+Oo=JX_Z zq~h}Q6yz0Y7`QSeX95z9f;^921zVZ`9z}0~^JogVDNO^9rkUU|Gz&aj@mQJ%`FL6c zok&qvz zxV++uR0}$lDH}}G5NxR#IHEJaRTVE#JV)^oIve^Q(&gX&3_DlSL}jP6QGNezAjzYLKBfc}`k0xj)IFEz z7uCme3GZ)U*7ehe=YGG z#tBzhUl*``c+U#UyE5d%7gV_NzAGvp%Db$ne3<7-fFBdsr8vA_ zB&_gG5tjGGUrAGWUlf(5QnweCrlD?^utNPT9O_14snh-}ZWEnD$8D&)#LrOY2#0zj zo4F?!o?qM;!Y6T$Gs4)#Cu$7gQ#FRLRE;4l%fzOL;WQ5X|L@pEGF~y74$Hi2c%M%y3m&d`EQMWIWb7iGDx5YGs3G(xQB&|_ zIs-gF@j%6c6%V8Hp+B6$SDUgHIvJxFuEr>yqb|@NLDz#DQg?78#f=p=A%D85O6W&BOxC}FN5=FG`OickAAc| zkA4hIg3fToV<}mqGM=VFX96t(Poj^(lW9G8o#ORsjADa2kG_CP$qSwx@2jcCC<^FU zB~Qj5Hd7hrCA1Ouen^yg)ABx_HsO>l1$jxE4bHNE2bZ$V z!CCfHa4DMuE@Rt)%i0UUW$eY^vi1sad3z0bmPvTF;(Wz(&5h8XXKn`1H+O;;nft*T zOmFZKUg;3>{01``T*$M0LB8FL2Y+K4ahpwC+ElU$SGFx6uWJ7RuBNz@;u^Libebq$ zA1Cq+acAh%vNwZkE3Rvk@d3`;(BZrdo~GC+jucl_%;Rsk_d~_8P2?#%6gnmCIB=GI z2VBa&56-g5_&_N;7xFT8CAh5p3S7n(g3H>S;PUoc@GO(?Y{mJC=bB%jKhOLIo^RZO zDwmFnOfo*O!BpaQvN+ivqXBq>N&5ALrX}RtO)Ky>W+u3jO}MiC2=c0SBebXRn^0@$ zG^R7b&FCC(bLs#dskl5{1bIce99)??fr+jI=h01IOSgkZ(LLZix);prbHKbl2h8hp zz`Q;OJeHmUkEdtA6KD*05{&~-rs?1TiU%qltaunLg8pz?0v<}sz{6<;_&Hh)9zkot z4QT_ok>bXRo6u(HG^QQkX0!*~oc4i7DlShyLtc>%fGbnjxIx-HrLsa9$)gHjOO?T+ z=x}fz9RY4iHNm4P8$5>Uf`=;}OUFSzo*IKE(COewlm<_xOTp_Ductd9-$3_+3#box z6Fmtopy$DxC=a}u#(@hJZ=v@f-$t{*TWAh=8_fmppvB;?X*Kv8S_l4`HiP%j*WgWx zzvaXTX|b0|fE(I`f1wJH^WK=?1B&0HqadHAc!uKHR0le9s2=zOY6_mGxD2&~{4mAk z6<4HFp;MW1z(i+*Ep-4#)CF8s@dCwj6fdEhp#LE~0gi3LDLVx6l6E3E%T5EAva`Wi z_ET^vyAoW+t^@Ns3tYy24K8cH1DCfygJ+q9XDiNEJlELFhodq_6NBfQGT=p~0(gTt z0=&dD1#d8|z=h^?@OIM%{Ee9pu4EIgY*#>D)ouq@Q(Q`Mb^9xHYS_cdguL2B@y56! zAz?`+x zVH`s^j9m!J7)2P<9tJyC&|uiPk_IY!WbERvj6I5eQDcvPbxb?-_r+%Ev;P$vM87B- zq;Fo-_-E*wOIV?QEgbr`!qPweD`VQBzbW^IexI=P??OK5kNE$M`XK)IQ?82tzO4Ue zZStb*l=gN}c6QCQSH*_OibES%E=ayh!`u z&&o?^4~PxnJuWQo;*by9sc_|eT2wxicV$ueut(-yBYsX(9Nu3d5AQ7D@IK0BZp81J zI&Pj~d;CiKFh8rZdKm2=ZJB#N>B(93* zM|_?so*(h?P&_~4pwXbGqgBH1BHh75rIb zwt+X8z2GG#i`OuSlkZ0=feTHt|NnM#1mxeC7r>Ql!j#*wNUdf+ z{rOO5I34eQ8&#j2sr+xB$}ACL|J$a@dheOrr7DBZO(oxjwNEvG{QT6(;0qO>pGx+o zyC8L@(m5A=aq2?wC8>*<{aFlWq~zWDHa|;_Y2)nl=hLNObAIMN`BlJIutDPCa=t!r z@o+_|>6ImB=%dbq869sl6ui=sTD)qcqE50fvVTj|sOjC_LGIvRZ z@8jhEQco7J4Gq|u+{;R4mFpqg$>cHDb9|Ngm^p_zo6jr1k?r*9HC3J4^ zOI`f?_wO=yo~G!_Sg8CKm*%gUllSrfO3KAR#e)^=y&QSpJns$rGfbULKV0qO^q;Y> zsM^o}H9;43g9IlwxkmFunLk{LO zeA8Qw&L1^R zIry9udH)u*F0L)h#TD>%g#fz(zMc?ZSHPE)k+2WpX4rXf|5w`}`bF6wWv3_`LfI+c z|A#y;9P**?x%|L?Wo@3`6CwgT_1d5V|+Sk;)|kLdq9to_%|vY0c8*x9;P(RPaen=(4W`!ignMqSW&ogoo)^Vb3yO;BDZw_Y&7tWI|CU@_a1-v#r!>>&w^N$RR zJw>Iv$cLWp?-f4d@+8~`6>IraCD*ontmHctm%1YHv##Q_;)W`3+{<|)#6viPzSBd- zJj9K-AlKpQI0^Ymo@I#ApQu=;sgD0p7UbU9hx@Q*aUMKWSo+?Ax?caBN675U@O76R zoW8-%4KbfFSC-P&!O-vJTGjjsCx#8mBT$-h4ftwqtv&D%#>2IFs+WbMzSo_s@X)hicSN=McKLh%y0Qsz*h(>n|UN(Wm!MloNbP}szjDgm$Oy6 zv~%h5L>Eb~b5y#7*pcTw&!pHNaeP*zyVvu1rksc5fvz?vI9k+A# zw{iTBjCRtt5kUc8a<4eCU-*1y|D~oq+uxNr&s?f(;DVEJ+?QAKD^>ovf@9G;?#tuM zqqOPl@`;bzOI6%IgWWa`=7(3SCZ~N4|H`li(0D&)bxpcl_ISPIGoXWWI-;4=H;d&ODXanXBrG zUZ!T|KWTo;CH25#9CO~KO)tZ*1?S}6zTiHtJo@~zul&saw(T5Z`)HYK1D5G zez42BP4dGt2gPko_aAR_@Uwtr*Jb2lziRj5qrQ~m`dh#7pTj|sTzhmly-%|1L9=|=j<2e_uak-!4>h?*>{x=V4{{@+Q z#s0uunJ2RSq0b`xGCx<4pUnT~=B0D;{>%0FzoO6bSK7D5{hFk0soR9Q4g8Mx8{@6gv&yJDx&r;QnT5fJq@}%Fo z9QieEmYT<*v)uFtFEyc6%X40;54%+LVV9fdp#K@?An($A>c(X7XXd}aD|m%M(D}@4 z2Cp)^z+b5K46DpTl6dUWyc_1j;8ku6)yvl#8MpW8KEt)Ce7eteY3`|nak}Jk zYkD2GA?4nD`H^u2{5y>QOCFFp{Z_1>%_}gPUKjGfS1J!|cInvBrFEf7yDb?X#pbOl zt+%MO-m21fhf3d_DowvJq4$&K9GT?v@6F#44?mg5!M~Vf@6G*Y5#)xpgLyv48gnb# zoWsvmf-QZ}@n#o4{T&ygj7U7lewEL%JeyOcUDpr~S#EChO`f#LGo{oVXz5Hy^6X_P zm5B*HZatsAoJ@@iFRok9A=M zeRrd~_gE?|LUw6WQ^i{?6%VzkrYNuz8*20QiL;?TRkeQ~7GZ_hy^(XdU9@JQXJ$RGeI>;-rI$lM7XxTtZ17|56n{9qC93lwF!n8*1p0 z`ATXA?o46Sjn|o|e10|E0i7-?&tL2Eynpud)U%&|$Y&2_M4tUwzRq;d-kt957RqvW z_3SsQXTM41;hXWi;*UJm{pee#%ETiAzg^eU{= zmy-8mKeujhJlm7Qwu#DA$M?JEn&i(r`BGMP-l8Ruhw$BpyJ_0 zx`*%e&puE+`yln~PpfAia>!>7Yd_@Kg@1C-KAQ6Q*(={G>CWdpvD~No81?M0sAqpQ zY{SNBG?rw{`B=U;hwrt_;>7>M`D)1WY~D+GCj6hE{GX`&pQQYML&>M8c%DR6#B+9O zGsT7L`At>tO`)TlhUmPh;(rR&hJ3Or`%@^4b*IfcsvelC((65vF(Pqk^FDR<$UMWP zmw)yNDqSX0N!Ias@(q%Iq+R?>Mj6b{_#wXv`06IWPU7u0zAkd{mQRgt4C#{Z;!SkY zSh*-XSEa=~mk+%?VK&|SDe-oT^K&ufz|Y0X&m}7UKU98xr2JeA9kEmVeBAlDj4ok6 zeZ8?v`Ki}seWv_e;r#UZdD$QQeA)TAnr?)jtCgSOL`-@1HOkMm%Foq*@NL zLo!zB<7Au5Gd>-+A5^CP#yY!QxO-_P!riOF{Z9G+y$W}qlK-H>{ZWOxSB3lCAHpri z)owPg6W)e!e^cS^SN?~SbSD5#-~!qzyMq`bs>X>B6mGa}aI?6>df4znqZjot#&g z*i%J?TUCWyL4{lK58-xk;T~aoAlxHdxDT*A&m8Ie@9X#|o3sOuRyG`C%fOzaZSsyj z#wPFRV{J|7)U?w6@p&%Fg4Ioeh+1XLq zd7-lNB4y{rf3UN;v$M0E2|GJ0JFil9Uajm5rzlA|>Z0ttM%md#*?Fz9^Ezc`XJzMA z%Fe6*U}t-0XLtKO?Ch@WyiwVCld?0Mpec6VqU^j`*?EhyvxlLt?`*W53y_EgE|6u>r}+AFAvhrtBZ6>>s4;e@fZ^^dIbB1$3u=;V5RRo%<)1O4=*`h{My7OQprvDlNWIX|dZTeZxKWXb!{Mzr*DX{*%Mv{sdo}T)6ve z0m9wq!WEsg`9b;lqw@17TTc|&rOnTlrx`Q;@5A$o|EKcx8~b0={O0_r!5>v*n>ta= z+rl%}iQE97^CvsvU(TgX-ALX?;?kyGB=cO}{yNYR|D{jS!ui=SYRZ1{pR6BFTo!H= zWs=d!6F>isaK#@PS3lqR(=2KY+nPC@n^>M_nn%)Cy3g?mQPP(QCn`x;ZK9$lFCXgZ~lT0d5~9<>kDn zALJdPXTTRm{{mkWCFSMfXp)k@0lqkz48A0KAKWp@2VWU226t9`WwcVszW`qo6@agf zHiNH;wlMp&Zszj9V;tu>=7dPf+S86tba~(f$1S6fA@VbR$gcvvf<2PHJNO#U`ZdiB zOvWs6+|9B4=*m~U+mkg>4VZVbj>v`oH?N5*YR$u6{T85jtyHqEqj;^9lsNtd?TRE$ zioe}3=0EYN$ z+cD>O@Z93vZk${K6uHa?iA(cI*hhF|zF*DD+)KwOc`fk0lnuV$jZ4d)+`m@yHUFd& zpp&cSXnK>hm&B#{gpwRb!jG#t?kA}Wq4yy_fo6ec@r;uXjKANZ`QR3`5Zsbh zf?Ls-;MTMrd@6-m5pJ{5*N~r1d%$N>n8Dz^FX(5;&!N&b*l?~}KO=voO?#>Wc?YTv zKA*zqc$!bRITrE@sW!MHWrMGz2X~<}!Pin-@D0=s++Fbv)B*Bt z>P*P*2$K2`Wg`aWU zlQQ0zd>?(r>-2W(@kAtY$&){RD|6$MjC=>pe>(XEnfNc@zh6=;`De8A|9I!W535;5 z!`~b7nA{uUL|C3hoRoVxqxKE^nt2JG* zs;^3@da0zUm$Imic*2h7jHr=E=F-#xTvqL;R8Gy^m#4PSsX*s}E2}wuKDP_<1?D>N zLe~zKKY7kb)ju_;Cv=uN_G!Jq73+B}o)@_^6}9|~?lLELN#!IWm;Rl&0=|NunkCNf z<7>T(^A@&7&k|XFZ;ckJuX~VQ!`Rt*6+sB4o#9S@oSycYS34t-UWr zKEJhupZV@C|D%9^NuOGr*d~3tZ=G#t*^}5dzX!-!&bF4E=ks_DBAIJD8-DWMI7)u5 z4e=oIq>p*F4QpWddpet}d24Tz_t&}Vy!H0BCfg&9zq51W(rH)j&T``w7dUR~;>VZA zc5b{v^z-FM#uf1IRvDIO6i)q9^86+CZam{9>KQLp&vKc1#*RvUg?h%0>KU(4&v=@?)7ZtA(ZEBkL$&vlcM z-=dyN&neuZp6f>ST(_v_>Y<+NcH4mM5y$NlE8{0VPj*w!*j+v2O^19&xmTP#<5_$) zanE>K;{g4xUFS!TP=|vwp^jKaz*j&L1Azhd;T_pDrxVGre4#>~VR%w@cr< zo%}KN?0w*8+B~h|P>-2EZ7XKNsUeoOIG+h55CfT!B0z>{s#Hk)dn zgM6{g123`3I>u>s8szUQo@U=y@>$?%b`JP`I~P37E&#u8!2 z3+y(?7up}e3+yl8h4xqQ0=pl~+QFSB*Q%WXsOGMlVnUT&L0 zzQTq#dD^VBCqll;o&sKN+k(He7lGHv}QEqbMn}CTa|M93|z~M9r1_ zL~trP2^>e^J;m#4qPCEiip~X>i7o+`jXHtLM@iYQ6(wcAcGLqpL!-OF!=hxpaiypa zo)J|db5J}R0CJ|>z6J~m3q<}uMyC0_mE^V4ddp$C@RD5#u6XdNGw~CT}U+XC8 z_qB@ROdd{~)=^3D8Br;4n<$x!NkczpA#Jk{znv6*>j&OsttLED5+a6 zh#EnDVbmPlA<6+?8l45cJWA@2%c66X{2$=UqOcO2_Zf&TguGJ}$}F$hj;@6K>PX73 zI9?+Wbpc-&bp>A^-2(0s@zkkvybnOc#XG|{M!Zc(hWkX1fuD@}g9k?c0zVav0}qbg z1P_U(fd@x3z(b;$;K9*s@Q~;O@W5yh_{r#F@Q7$B_{k{gcRwGkR`RvrQPFzvOVI}K z%h6Zh(a{$0E74By*yua(Ytc{OanY~LzMkKt>h`UUeS3JDYg73;e7mdXeP3XQtLJ^c zW~ZwseSN+Qb!NVgdgJTxN|El9hPtAFb)@XP`A_M$o*c>dL|(sDB<~3EBA>5NjtZE= za|w(6;pSe$d74VhAmpHMd9beVi zpKP-tx*yNG!ac7ayIASwltn*nK8K&Y53`bQRL{OSsxHdx(xxyv!XxwMC>f(JjA}u? zJxbzahiX%8k6J=!hiW_RirPT_b<`fbE4m!~b;Q#)&ZW&R)pjb3Zh-tIbezgTVFG_j)rGFLmE2iCWq$Q@mX93hd3oeFXC&{9J`^_vBmA zF_3@hzT@+Lt}#jfYpr<$I_u2a;EnDZF|YrXtH(VTa!ue}nn%e$1aDY9@T+rERHi37kJ-v6UZ(#Shy#qx}>Yrbrzd-RqHTJ&9B<-$!il3Fq!ulX|dr7K4rKasMsCK4~tbUJGfdRIy~ ze^y^f9xJN83i+yl|NjhMMb%f&vRqsNU*Q>r!!v4@GITf_dVwp;KSsmu4|Ug%sx1Gc z%IwdoEdQ?Rv7eRB@2Xr=T!X_9$LFHPM|ot9;-vh>aRbOxane638MlJGRGidfrQI7VmyeV8X63jebgIOi!Byj%!Ik6Nzz3oSz}4f&!8PJ1nSI{)QJN>2@vEO) zoZQH9m}7o%_3Ay2e^vS6Hht9<#9aRvNa{1hkg@ibq(U0NIyXFm|q;+Qy#<-T4$ zR-L(AGiI@Kyrw8l-YGSePTe?Jx6>f53H{^Zu#Yw$-YMhKmofh9Kesq`kJSI-!`B?Y7 zKAvmE66rpkYrAfiFL!m^S=bUpzWm6z0{$(2ij#PLh_4r1Jf9ioA)e24@$AptPP;h# z=q4FkILn=Xz1nfxxQckfj@K-y_;07;{Oq`rS7DuV;;P_t<0HWx<67WzRav+st`B)f zl`faZp&i2C$*Q#I6kiPet5klzHhviLu5lmm4RP|`>FV;c{3~s4h?93vw|Fr0yT?+` zh)bL6<6$0|yTzfN;XYbC0`eQ?{1N!p zn5$RkcnmpC-Y<8?D+vTX7v~51ra{ zF}NOG0j^J1gFlWF{xt3e`3ZCrxCPw>Zb`Y|R@5JSDh&j;rl-ND(hK0z=q2#!G#Y#+ zy#j7a6T#=u``~kFHn=^_2X~+k!ROO5@CEc4_(BT3tF-Azt0BLV3c;OdJNPQv1HOiS z0C%BZz}M1#@C|eT+?{OZjmPf`N`bpk7Pvc=2QQB+fqCB^@B+mP&5@8VGPS^~;)K79 zTSC4zJ`MakznMcBiK!j91f35qNtc4N=xT5&>JBbVcYw>%-QaTc2)H~w4z550!Ifz! zxGLp=7nsrDh2|A-Wf}{vK~umR;)Dz0cUiuPE8rZHc5R#8j?Z#!p|`o+l55(<(g(?R zd`>K5alSutZY<+$pE&tHVwrzg>$rU^b1uHWe_mXYqiwsBcZg+-?gz)`$E%s6M#<&n^LC{%6QEviks)wOB)Hh$-B!!xGMc9-tH?Oo{7+ULV9F0Fk& z+zNdOSNa`|T)4aA9td~03U`kR_gfY2UigzXKRSJH&)&F<06USF^T@nc-TPf!8S)?F zYT$R(`o^h>rz@VJ#(Qh4eJARuHI20?>3i0r9Qa?K&H~R=ywoK9&}E93D_&ue{^?3{ z0sL8|#(2LlmqGp|&Ys{s7S#URYt6OLS!cR|H>$DUugqPL7rOOD@~4c?@X)+-vIo~= z;B4v--ev}ZcbKFvuv3jS?NWQ1?dCp`cQQWw8hE}MM_QnGp?McNi`=;o@@JY)xtIa@ zbV_&*Er9&DIN{&pk0F0ojW11AJYDe&+6?{Lv;|y;c7bctUT{51+WhrtKjbqNFI8hr z%M>qHyu!GG#P`d%To&5Bt9W&r_f*E^J$*Tfm>Km}lob=P3vBZ6*!gVcLOrnqbV_&*iIIM z8oA;9QYIy1Q+~|kFn4yIA2TVNs=#t_X;UucNw~Z_SI(zPnUo}*PnW||{K_>xUCKgV z!j<>SJucj;sceK>RfStkg2&CyPWy_y<%CUX$IcvpV!WH0xG`zY>f zZh%fd(;eL3?O!B+${O{%As?ga|3PXlZ;YBRcpZDErg`o0tGIWHsV@n}j?Y@P31_J_ zOQqGCr7X2(sgzCXpVDg0QW<+H{48se`lp;d7xD`BJTS)(xRSjdT-7FZP9@9D<&2$G zZ4Yo2dpo$Qy%$`~J^-$69|zZ0Tu8$p->&!zdI9p)ir-Z{Rq=GiGbmY~P@BfXpE@)d zT$|nl*Hi2N>(gAwXDVK5K7@Rk;^m50m`|Xy5~udbJoO65zc62bzvLaBLVT{_otXl! zHHF}HymL~JZ!~+rUzz>jLPJu>*-1O3BzUVS3(lqr;B6-Pj$ntW0r^f-3%twJ2k%y6 zM|(_IF)i~%r$T3e;)Ny+`66C@9BkXCcseEWIdmm--c>wR@pQ#A)b|3lsT=OCLp{K? z=`L_RdH`IX9s$o(ywvoCe3|0qidUE?ptI5p0;ECcW0RgEFso&2SH;9b13FYs;?`e@SL zNXE71^H{nZ zCv^hvq8{MmY{K8uy^!xy{EOoK)EhbnXaLyQA>ha+<596419>kq4%}ODAH{vmThQre z-Uj#Ql>#9S2bg^D7_$UCh-dYK&KQ%7HN9@WfqW9rtOlJa=B_w!Nt=WR!b}+b{eHL87jsVB@Rd6NyCb)`~u@`Y^Q`OD{SF<01tJ~$^ z#)^+kt%AH(Y907p+6l^gVQH(+}V}^c%P~MVS^2?;Aj+!1XD#uy~EJ;-#h< zbe1Vzu6PBvhQjl%6L1<{WULIS;(W zTnyfdQ;4N+(i!q?e0p%OZHMU!-f34GV@**4sAJMY5({+*41te zm7in%(tX#KdW6RTxiyfv)rBSPA8*5<`$wWvR6ixOeJ-cb&mKWbx2Y15b6-o3He_*#sFV{q%U~CpK37wI-^+)>QS^LJcByZ!^_TY^?f;O;kUzX(m)3uJjWpx^PcQ#eGA# zC#i5xR^hf%;hqA2(&p5Z_#=+jY^#3a>8hXDTJ;l8|F`;y$(p_IDOppoPw{@m2dIrV zfo(80SyK_&iy@C~vW}v-pXk%;-{~h-IjC=VhbyU)*3~R$9p}=fy6q3Huegu~L%v<{ z7wSyp)r#L$JXP^@#WN@me%7Wi-je38#6#UEYn79=>-Fee=+{@@hR;;IRDB!1O!0EX zEBNc)@VqPeE8f7X%tzoaOtPl^OY<4zYgB)5tyvHGI@KTCXtqKAmDvX_G(Us4@UFBW z+^r_O{N%l#m8qY3Zo(V}-eHoy;ZAcn6FOl&_(d`UBy!sPgguceLr5CuExD}4(c1;0(m{U6I`Fdmy2mLQ}I&w&XSmu zwV+8qak=6Z{Iz0;+m-yKSKw9rbywgo%mDD0<|*(R)gN4IMnJw!^#?baS0Mk&yag^a z?}E3O8Q`t_C0qzMo92VJnZ@88Cg~gQG@nDh%d7?OHU;24yrWp~bH4c&yg>0n^AqHY z%fUWZOUGXdP+OaTut)4*fQT<{>1 ztUVZGHbMTn*$SRyc7Ugt9^5AJ@m$g-oMn4LUfSLR&a(G`OW6m(rEM;_jO`6BYx{%C z*{8r2>=1BlUj$dTuYnsYJ|mUL&rD5(PEGp`xR&B?3`lefJ@qhv+M%MOWVcZEF0R2vN!lAke9YAz-8>`;IeidxSZVtu3!tn96#Vn z_E&IK`#ZRjbsZQsTl)23k!YGn7)zE2&r;Qv16Q*Z!PV{2;QERSsS)Jc6@Nh|K)zb> zyNahOp00QXorHUN4jNpCa=^9eY;Zj~4_u!v0?$;u)LaSqGR4akuP|3ZXQjCoyvke; z{=#$ze`#(8uQ5HrYt232b>^SojV2fTl^Fysbmy@9Jio;}2l-a>A~>7!z}w6#;2mZh zc&B*_yvw`?-fd=r_n3v?`Q{Vw0>ul>O2`+PHQ;@Ur&A)ILz|()<2+y<=K=FL517Y! zz&y?a=5Zb{kMqa^9d>S<2h8I@fI^EeNf$9cd!&I9Ig9x#vdfO(t;%;P*@9_In` zI1iY|dB8l*1LkoaFpu+qd7KB#<2+y<=K=FL517Y!z&y?a=5Zb{kMn?eoCnO~JYXK@ z0rNNyn8$g*JkA5=aUL*_^MHAr2fR`7W_kzmt&|VmM)Sd2=`-*qS_|GuTfw{NC-8AL z;qNJIV8Qd_ihohOpUTPPtIH<`s5;o#qrs7F0FG@Fa4&NLn9qp@_fg!}oCC%ij^!@EOR>UNz*Mdg!!sq~Wizo_(* zy1JCTw=$c1#UKxE)ovm#c8EP~lz)f6}J28nf-B#%!-v zW44{tnC;cYW40Xc|8v&%6pz_*a&dYUkJ*Jw#%+|+4@tCcThc0T& z_PXLRTaFZY*B6i3N<0*g+4?e4JZ9_Tp?J*J$3yX$t&fM|FU)710MP~*w7QZ+Mv@;*7K6TtbY*5G-H7o^%K`T5`lspLD*g{frEx<#qv+t0e3+Z~-0k=4_rzP}&c+fy`8#@^LG+II&ZT4@i7%+E zk|%j-y*itwQ0)=1UGcjlwu<9@lN3)^JcF8g71pUu&A@fk_rJ9%*~73NrJ+-w&H>L< zywscr`7*`J6|YeHNUSuMK!26mN8$^UtQG&#Tm_vq<~s0N^&Rm#b2H={&8^_C)IJi0 zZVx^Amwe0F3p!hQw=nNy9dELa#5T2$#11nIIy=?A!MjWzup zG}9qp=B*t99rVVEPq$=RK?R3&!E-NuT5*fb*KQW_mrro_LQhk z$^LRP6)$D$ypwgj2`^W?0()i4-Vwh+f0a6G>wR=BB0oDQa#y)HwzGf2l)?nwt)Fi0Fj;FD&{0&%za* zqQVVjLHv=tT~xRsKZ{OC7vYdD!l92K&$o!<_Ip>)@1@lvLp{G&)$`w}dj9)NN=Ui> zMalP5RrX6b7YhDKx|t;-b?M@-dk}W#eK~g(C=r?1ov0_w+~Qt z@))&;&mgrQ`xx^8?tR_xXLZiWIBhTR6cc5hQubR&ILnrTytF#YJIkHrEw{_s+OXd* zpP^=}L%)nY99-7c1ede*z!hv#-Z_3CuVhaLSFvY-tJ zw?ls`r`r$m9A5w6ZyTk}R@C~3333Cw0=|9}U{}Cbh&SO-he&?ADPw0><}+SQ&PPr& zm+IxuM;4a#RiQ1@jyabvaXtCU6<{atxm*EuvWH8q06W=BG*^IKQw}fJkumH&SiY+X za@i{(a3h=WWr`nFEZ=4X{dW}0w-Z4wYn1{YulO>>xr(P8o}679&O9wX<2Z?v|0!o2 zAI_PqxAE>?-UMYX;}Guboy0F&;lFy$wfHoYD*(Ay+!>cAaq^&IEuX67D^$MvSjl%P zELDkOOE$^vp zb7bbPw5f0EfU`|KaDDSP@Nq`!V{vKI(49l!xsl;)W;JwVwlnzC)_em#$NUcFzP9E4wK$D(Iql^A zo10BR%?&br zZ_p9_7mxM#el(2C>(~$Nf1Qk6 z^xN0>IxRjp*q(5&_ET8jtNmQhjduyFHCHqZx$z#J{T#*DE7s2*+B27pJUBkJ|4*xX zCuO)n8)H6Ja_#3PCEwf9+w)~BW4=Dg^R_()ho$4N+;mKnL&aH-;Z73*-dpYt<1Gmb4`j<_&slRU(OrolEHmcBQnk%T)$=}%Ow<5SxZ z@{ioRIHR9V9sFGDl|Mf!uB6&Ix{dUo(00=8y3aFp(O@1-eC&#(@30{wmuD9@+W#`! zl+M&EMZbOKKZ(v~ESGe-{k zIgAIEdNZxQkI(;5>9Wk}I2CjJHOcdeBs`<$otb!;+2P=4(fLHmk%Sdo@F$chkxMx( zN+;?q?_%%Hb<72h-91V^OR*e;n2Xa*5}WI?ye7A)#GS+}VSRJd!8V8TE;<)Fe}udX zHs@#Vt^VKcU6+v`XXv2%;b-N~wmxFpEzZLOj_+_>m0y_in5C^Nj?ZHA z;CPv9BL%s%fjuuXT$N_{V^b0QiK!0$)Eom|X86_X9G{_(o5LS~X_1&LsQHtX1;}>r@+imzq2H+Htujq<#3I;UoT@w^Y89_)nol^9xeHpBfxb4$Gn?({@z&rYq;ZmoXfov zn`Qh^>chDi*=wxBa{7(!7g3ry^Dkx!pPn;Y5*y^+KK#3GUeK?t`Z#q>^UTfs{V(?t zyp#UX+2G^Mh2Vy!6S$F@$N9S&Z)~i_8;{3)9PhJa2I1c3<~i^Q=4EgTHUDyw+q+xZ z>SF&4*k4Y~tyIRm3CD>m88cn{97Bs)e>rm=_lT0R6J{MG-m=wLZcVBL8?x27ZcR$c zOEw)1od%Tj9~)A#H*X_K;nOAuM4sgBn~0ki8U0&TTHHprL4LbC+w@3& zuAIzFl8=*1U7R#@^2=Pj$u0Sr`{Y*vUv~?zllXa=#U4VR?iZ4xsp6EOwFMWQF&mP$^%2Fnm5hqb2GuYG@k;Myvs&V zeaJ_u^A}!F&-fy>WgY)4LtLHd)A1S7?~#l*F6~5LoIIDzbKT&c>lOMJp6eC&To153 z&%CPYma!@wUsLk&Dvc&l^8S5Oof9!xoel98oh1gaOPjZ;ok!+(iJQ;P$(n&K;P+G= zGR@`NC)l=JJ{e2SPw~$??vQ0!@~60vSBJXi&8I43N@Tt6o-tpg;|J;)7pt=Tfy$qY zsj~NyZT^G~2Y;&S)#a*Q{hXRWXO+s6YgGANM`6y9=b%-+x{f;I-u0@U+(5aI^ZYD$ z8}$c&O~b)^=nL?7v=;m$eGUGd&d5A{+NA7oaA~_8yq>}=BJWXeW2sEprFoaJ+ThCe zWNSrQ;S5SAH+q#tWuAUhDqh6(TAs{Usav+KUYg9Auyje%-m1A_5at|>eQ)IRi{p!^RMLd6FMvT{KU><EAZSap_|`%ujWgk1?%t5A!R^_js6JF|9ZMCH-BcpQrT2{Xgjk`xR(=e=TXF zYK?iA|F-mdBzlVXZa%^N8~<uP5&If)@SO=dQ;)&eEHY<+VkzFYqh5qd$NBEAKnTdO4g}wtSR)zeylZWNq5`| zesP&u6#SMEc)_5?IH0tN>u1Te*Q7j zE06oB9c8zg zihWJL(c1e8S@B-0-}Ah$@SVQ57?=0es`blz3qR`nYL#E&H;T4?r|_MA5bu}&68~MrkFv%{_c8Y%= zGur-1ZS+4s^x-}i{1UlLO-Cr-sA&;B>3O=a!R|F(;BnWJo`L^M zCTm~p4y*G*?QO_muk(V{ISTv%P728$`}ie2Kh^Zkd4oT#&^u2jhyO-vi-q161_eCx0`~RAGOuQsM`A)0n zKh-93J^!hw=ZA`Vez>UT$M)6p<5tgWYUioPdD3li$H#4QRnTsSzpx3a&wZ=LRQ>i65`)Lh_plfTKgpl9K!pXPZ+)e=P&9Q&Cg%lF`l2lqS(86OtJUc-EltWsdqdxKhJht&d+ll6^}i(<9dca zzJq0_{YE)G_|5tGwvLMTZtwWE0{(*he0#@>^Ya}YFU`+KI=(+Y-_`Lzem>gq*LJ)uKM!{}r-*JN9hF~btRt;ZwMYNkIsZtBomli1Xt+Qyrh5pP$xIeee6}9qAiwqqS#r{0H** zT=>UgE_8ILsOtj%#DVjFm+eD6^rhne&$0cfUot*_NQdT#^Z!FTB?b#g@KbdsLvx_~)t;nr@UG1p$hOQTTj;&(P@p`d$yi&vuTrYTd zrQ<6N1J(Jgj<3qks~yMl^K)?@debW-zZ-t z{~~|n`GJC$eyHH3A1P$xk6ItSUq4`NT>-bdYp*c6dB0w1^W}BRf^Y6O#@zou**QB}d>Y|T7QS|XAbDg8L*A`>+`XbL8J6KlQPkE|7zOfj`*A;zy zW3gZVref~AvEvr62Kv0ISKYa2XclsmG%f<6b@%*fgzMN;Zh;#U9dv>*Gq2u=y7lKK|DLP|exj|OUu3j>OUFc}?OO`kzO|s+ z+X~vgqoD1LBF{Su+PGO_)_kO;h&kdue%G}WZ;&+q3gYhi-d>#LO*y!`Fju&P6ysMzkuN8g& z^@2X{Dd_XQBG3B^`n;#0&-)Adytkmw`wRN~MnRtsbUZQeff>$FsIME z3i`aepwD{>`nG=h74-T2qVNB$pwCUqqb`i{rE{$* z^c$^xsE|K53tjf1LjL?=5u^B_LjIKZiu_4IlMfaA^O1soK3ee4?-lg<1EYiU&&^_f z{h`e}pI?7;==>`AN50<=7=1q0@rAEVvg>2k_jjyl?f-umecolyA20g*R|T#9rr@Pd z6!iS>1uy-5p%ee6;H6I#F`R#2=%&9dc@T2sdSYM;n-`Vpg3VQOr70Nn2|NEi*_9P+0Pk8D1A%xA{%AEt# znVz34=vlM)8K-AQ=NGCVKjMMal>J6)pHsxrJfw){d1&XOa-N5GerbMwL}#_f@sQ5P zWcWinEBpTuonM*Z59_RG_=wKRj(TLL^tFD9gR0i5U)Y&=hP6ZIuxBC9zv~>y&yOgc zAJutJhJQ(?{4GxZPZsp=>UdwB3)*tzT6~F!c)%)H_<@rxX0LdJ-YKp@_0Sk;+>rTzoHng#}woBABypM zT<7OfkA9<^Y<#3Y^8A%W9Mr9yU!38OE5`AbVjOQR#_{pRINn-};}eRpyR|dfTBEfm zbbfWN|JGvco@is|^nbMB>^l0fMq8)(hXH2+E)FEw!^+R>kz{F4sS zPxRDtx6$*fJ3o}^`PBtIj}-L0v!G}CLZ@ih9!pl)KlOrcy#?L+3%Yd|bgLJ1>o54f zr=Vef!T$pV{||ObZs^CltTX8p&gvF?{&k&Wo`pR9#q-^rm9J*Fb6Rzn{Q2sF{znV` zKUVO6cftSlg8zGpvFJU7{|7Qp-k{Br{}Y}!fhXKFUg!8XZsT>T^J`w0)bKUL8G$p!!4Q}F*p!T)Cqnol0e|9j>C(~O??bv`%K^S*+f=L>pXDCns# zl>3kGm=yB=>4p4%MnSh{7IeE<(Cz63-JVg?33;tg!_-1Pb>KU=>`8kqu~EWF&57}g#VW^4R1iolK&q}{%_fM zZFRmkkJnZ)Uaexhwu|xF$!)O*QSkrug8!dW@c(lQ{=Zg?X2D^Y<70|GyOc|1Aamzpdc^Z!h@&I|}}PLBanoEXLwRhw%T) zG7Ucy{{KN6uUB*~ zjP;LqR4=oc~8Ut3AOV?R;#8|5)ea^Yg2VaeP&0wcdPnF&BQK7}Hl5 z^WrBuE1$-zi!uGl&QsLy`r;MEc>QoOUw*{K&h4ciwXygGXmU4w?4qpOPCstr<-XQe z+4u_W8~R`TZt`~`o~4WR{2m*NH*~%}kHs5`v3O%K7H=xX;-`wS_~~LS-fa2R#Axkp z1ooIYmmP!=F#7E%I4Q^wDz&$`R_Xy91Q#)I+v7g^Xm_-zdpbIq?liSTFkGH6!Yt& z#r*oSVt)O3F~9!ekoooTOxqi@U(TzBkW1f59zA(*F&wW=XqFHrN180Rq3yXcUAi9bGj=1^^mSg ze?7FT(qE70QXjm|hj&%_>k(bmTITb*k{!$aja|Jt|L1j8`s)#0!x{d_u1bITmr8wp zb#--+$K~PYbjkPP`s*QG59QhA;X}JB{q?Xe4TkHlhj+<8!|SKiUqdz)U(|K$8bw(G8(|CX-Ahxl{4D*bh9SMnp_d+Dn5 z*H?8VT`*dEZ1H?sSJDgYgLhq2pKN}8k@eT-*S|M9yZ-vpu1bG>nT?T;*O%KE`FK6r z#?Rb(80Wvz`;4;!WwVc^lKax?YyY^e!7y z-@iLrjM1@NKW6|7c)hFgef8QL@xI?>`1@Y=QNy3+OjcXlw0leKgw^?N_WTTceg)6> zD!-lY@1p-!!%b~C@>lcy1zlf|^Srp=y_a=W zzSb8PeD$(|ufDtMt8&?wcU3;R@9U~(`1cpj-`CYsz%{S`ihkW)`!=J`C++zK8UGuR zSATBuFV!iUX-vQDyQJfOu?d1XPLA2J@JICOhuk>^!i)n4Qe z7vuPLag9`qdLZ-d0cz#VG(_UNj{qCa96Jy8$*M3dyZUgG(QZ{j@E%KFOoU5mA&JFTswt*ynQ z7k5@xmyQk`KXGE<&Xt~l{-Y=7$0tUQURqtbxOiv%uKHblM;BW=M{AcB7we71jkV2{ z)#lP&RI@#}ecQ1k-M2q!%l-`AS?}&W-aF9K-#ajrACC{!7B4SsS=PE|t=~R$Y^b|V z%Ie1YrCU-(J)YWg`=J%>thZJ!tv8o)kzOy-ONHf+x1Qtq7tQP|+~s&UfpFq`FW_;y1cQqooOB0-4jKb6SODHn$~a(k^E`BCcYVM|GFMsU zg)ws8ZdF?EqsrygjfG&GU|9)JI!^^JkTjqqqgI(715bK)T^YodtIg|~ z2;B^BYhbInusUeGdF0rUp8C+r+QOxH@2Lw=6)ezVc#WYMT5CMjUAE6aSsn%nQWps9 z!<6B$oD4o_J&7(FITf1u) zH&$DBUH*)wuFY$O#!uHPAUMK~RE-p2fBlFryYf+VDm{Z#pjhwiwMJv75$x9+(C%&r8{d<= z_Xtc!?h_7n(bIbbcB`t;5L#B43}~NcefG}6k~P>1MDXK+7f{#+XuqITI}mwc6rju% zVOPLm3&9ONz}@|kA2t9!kg{jEW*!NKH~D+&k)Il@qEw(t@QxZ;DA3=V3V2@)Pa#w# zcz3;93rkB|serl*J?Y;a{I!Bh&8sO@9TZ8de~Cif>Ym67^wLU(s&fHdS>K2njN^NK z{MI&>d{h}Hbu2Qk!+KXzcJ(XZ8_UZH>b>Su1!ZPp@;U;Vrxp^Y!|;8vIIgH*o4LdbzT> z*r$Wb$~kX4L#=OAa8V&98O&Y5oxST;+jgV1xUjmADA(tdu>Nj0cG}aN z7SYc3=5{XRv@mkF7`N5tdQhn^vjH;SG{N>|)az0!>yS+cxPpk6LQf=BbD%zHEndc? zybM#?Q)6>sYhi70?zV0-FI&ACzO}NkwX(fiDs`qnwANT&Xl;w#D0xB(Kr^kijb3W0 zK#%4ON*~zf%DUzAnUrjST+dRowJ3}AglUTtQV)0V0=2KV+A~r8*3RPgAebj47PcX0 z%TQnlT0Q;D(B}5S;$>mdEHRH>ZEmctET%3wE-A&x;8b9?JMt^*mz&VQ2o<%R=#PFa zZfvF&u*@8IX=h<;NfTkvbR~j3Q30f`n2cyOx1*-+6J{3~**wt_PTYQ^UXS+a#-dHE zsIT5u^;r2@*29Kw|zR1lM-9o7V%wZcRrrG5oDM zRjxI#Z<}@C&{p{AP z2Q6`zuoA{arF%NNvA*b1o)SLoHM>*YTh~H7+l*mIS{M+Gt!pJhrf3YP3E$kZ$;2on zh9vhj7&3P?^$NHO>>0$&m#Ns^^u(T|7rn}i33#)`f-(<6FlIHpxliIivqboVS<~L< zlAz8xGDIXXM3JK9m@Vy%CXtcqOcEtH$BY-ruH5Lwg{`fXP-`%=b5`9r>liBnRsxb+ zLO8QOz^&%9cUG#dCW@1?DOSupmq<=R`;-Z4SHuZCir%9=#7;7b#7^z~+`~*h(ZWt* zT3?g7ZGGnPA0I!Akk+;o4$r?PBX_0Xa-hm}kNkA1O1ef6-*B zx7A|^boWSRYZ%Kp8DogmwSyQW4}{;LvsA@vw}eY%0dmoDK$T>fVRZG#=t{YU5Ui4| zXr9xJ<;@K@mArj#UJ?zsOgzRo)g20e<{4zFaQn@x2%T=2-PR*j!x}zU($|~0qOB4b z!YV0EVgU-Cw~cN2bnBPmIlt zMbhyqDT<7a&5q2BPtQ%w3=UL@lXGJ;lT=LPDLvmVn)Y+cwO%z_P zT!Mz&(ovRO`bYT@J-Pnvt%dbgRm7B#%7B=c0ku7CcoD`KO;F$_4PniJq!$Iv1B*U; zr@6ITv?*gxZGx{AlxRG#U^_8P>`_kQ&C7xGf#uq$ViHKjz}Jg`u!`*`3;KS+`M54+ zRY!JK^fHvwBuxn=RV+iF%{{XNy=cNksi2benzf~|$NEVEb{zsE9>@rZ9M|KwAIVZS zaZ_u%xfy6e!d4$Mxpf)$M&t6r`Vu}a)u0uj)u1&Yc4aUk?y;rjQe)%dvzoAE5*;jz z*B92Jpi$SvQL+|I)=2@|$}p*k<*kjih8M$j>#usTz0n5FDp`DLsL`dQhVuw3fjY7x zF3DEfhiiDY)|*XrLI?y-VI?B77p@UuCgwH?x` z?A3A@d%MF{P1M#vv4BoYrDeET>>E4V7k8GO7$yoJtZ8QB8&8D*DMKiPMq_z(;nH6F zXl4EC#^S>E%Er3uq&!ZEsZf{At@VXfR%wi|4PhP<6Zf0mj!zHM9(j1$)PcqZeGsf~ zh2T@>)t+9jtS@gkd&(goWw|awfVjMAiRS_&R!!oq&Oj%gbGj;(sZglOJ8@75ir#|} zkC}_YWo(kLAqC|n@Cl#=_UXoo6qV`n9&@qvX!)?yi<({xLc@MxjN+5MxWZ1rAi7e5 z;NV;pijGWuU|?uS-RleG4duhb)}xgOw3p`%RI-Py2bWuNu$?v!UM^6$%+sJ_liNsj<7T&XT#cv3_UwUB~-uL#8${bBqld zETQe@nyYe1<4#+1m?pQdYTh728?bQ1w!!zgT~jS`{s+NfaALx{8hYS9j^53-1n;Qz33wQ96!5+po`rLj z1n=%1=PGciX#UW@JNRn_lXDd?tPRwO6uvT`;#84UCPM`kp9VBJR~ZoXOvEN{cCG?e z$0Bp(Tm`Ov1w46CfqJj3!R%ZGtUd+K$pZ&eJ(3Kg#a8ye0rw#^cy_J=_AVNNg>#hz z@1^xUcM|!N@ypIt@bzA{Iah(w8RQZV;2(cK3+F2J_#j#rD(5P2AH;*5t0b$72pyX& zrE`@e7dqDacIPT-E_ke1VfommZDIah%@vsUm-wS%3jl<;x2{v@9W(4v>6bCnby z+I`MdQhac&?ZQn;Lecj&=PF4)z{c{)gKE;BBp+rYOG?Uf%$%z+DcYQ?z?`k4T$^*1 zMCWa1sO($?E-FNQm2(wTCJW)_H2nYL*e*QUK`rZi)QQ#D7W&$owzjKou#n zUH@4)P_=xnOk-@X&(eWv^=0!cIg_$;1`3Foj1bwAgel-IRKVgW{=hzMPEJY!V8~`FO@2C5720(hcH>w$(gFw zd}(Gbk~XwT3Y%(HW-;4m;7?VNN~fjjv-1&W3mF)oc8{uK^%=NSDL{`?=l1zjJvlEI z_B&N0Lt4)LOL$e)2T3gbJ>0LV)L#~)Nw<#$Cf@Atb}HOcSVMyS%!T9*Y}c_RORGW(0o_sFof1vnPA$A@QEq2bl4t8D`3c#=I?&0Sf37ew5rxm%h9TgkjQa;5J#)>LBazZ zt)#f4RSz)1r|oD}exoi`S5B`_>1bu$c95gh!C6h4qg5>w)?{XP5$`}pEAW34j#hOX zer{&C#lMY1efT z09!bU`(BkRiMRcZR;4l(3jHWYtDpxvT9pz~&>gJ;Xt7;7TG4nCUHk#P>}vI#`(3SM zlPpNS*7j`fYZdHM`dX<+a&N!0l?0&-3mBgApoO=Ul)_2Z=5AGztPl$UHHG|{#gi^< zDHs-4+WO975t3W)H`~T!v$=62P=ZZDH^vxpIUcda))uy|;MB+B&%3{|Ph{J54i!z{MM)3#x(zQ;;co0E$KL@r+4R^Z9b>b5t*h@p8?%ElGj!%eS5PHnFc zT&Qi_1Z!?>ZEV?2Zi1|D$k)zhE^Q=Za?X&!{OKKN+s0r-VN!BgFbA<>+9i;Xi;aMk zV%s5}5*tt{<>G?&HQFR2Nft9go zY<;bODT8w?NHdo4VnN1s^ELQ|D7Bq6HmVJbbz|VI=C)K$KqX4zk$reg-q48_v<500 zo14*`c*~j-(1PWoIfN0-30fg>SiMr9_YIHFHD>3A=jLbSMv(^y0U_s&1%U0Cis79G z(Z(W6!f7QXC9^bAIHC8z~0V*ng{;f*)K{a*U}c31h1y{92Vn zRg@*AIZSX;vMg#cj-JS?*4>|)WrCPnF`DJ|Krh90?3jhsCTwDnjyyt5i(!T>6n^+5 z%>+q&lF(qlpjDw7IB+GP6D)$FJ+}u^fQ1Az=7;ty8bs5P+vdM1rlj^Fd3$4ZI#?SQ9!lIJj3dn{;l3?FUUCl=H@hRdOrcZ3D@zTsJ@ zRXf6hd-o(zcVb6TP{~f)ims)7VnMxoXa+$G^fWN$O{=AiV&#q=LXD#0=pop(^6oL2 zO_RAYF3!6E_dc?AtW{gG%J02oDOXEdn}T{L+2U;H3>`UPMpWCWy{Ia~nO)Udbx=l@ zg?hp|%`+#&J#G^&fK0{t6<0if#WLmAuW)g~vZ$-IZ~ZFG$;$$+wo@@$`a*DRl-MD8vR#wzt+vm0#BX>GL23QmzyH!#Rro1A6jkU|# zwWL>en@1!R^{c0jVG&uQhSg0&)8<&wh8W4BK(?BfI3k(O15w0#OCxRSS5v#yTqR`g zK>hb%Nh_DIr%fE9Q5p-|8*3|zwh!Is&Sj$ju?&_kC5Q&3(`CHQ#7~)u0zgj-QQ2eG zDt<5#oztIopqAFW7FBGu1kbcKn~Uh?KGV&uf$ggeIL6jZc)sX)eF)IH!Fa25LmMH? zf(UljA0bAawwOJvPI0ESlcT#NT9=nt*tV`9`1)WS8xOb`sFoiF)PR#lpHUgdjxBR$ zOwA7p$jBCi=ECoEcyDK4z71&z2hbilyww$>IFw>D()#KOoZC=PNNLi~YJ z@-ZtCT#gWbfT(RxvH%L^Br~Qhet_yMh5|tadwH3PB`t`8QcTxWVUg%^rH`4Fsw@(H zq7#2mBeZvkn9OjlqW&eKTlInEWNSz`bIKC@lOeKIBqh_?4-%<3DLv&PaI8x(Y~%%)GArV)EFeDeg6;graWzc!1BD7}hL!7$jm?8aPILY0%GSpE8izFY zS?X@)Z}_n+>PA{ZdE@DRi`tN~gmcRycqC{Nk^l#`5yEOyfS^KssZEja{btEE8`C3= ziSfyM8fS;k%T2^9PmPh`$*D=Xh~nLY_zCsreRBBhm}Mu@pV#T(xij`kh`(OPr^gy6 z=T9lNpVyHyQ}<0aX2xdcX2wV6#zqGT?N=RBjk%fm$&o?A`FTAzIzBsml6_19_<5bZ zFgd~+lc;^Y4X0Pm`ssaohUF)z?1Eb6sS(3oZNe7${*I$i$l3A9GQqJ|g5@5b;Jm;feqhxzJTWl^?$oSOgWahw zXES}f(=h~y&rmfRvy_@SooLV7$Qdryuy;DA_lbKNb0hc2HOJfJ>6xkd>DfelAXC$0 zlZp7eLglgHvj(6G0Op>OM+?*eJbCJ5gHs%HGgA|yy~+%q8yjtmkIsttyi>!(+&Du# zOW%ekW;F_cMfI6+&U4I;oEaOPr%$H`H6SD@_Y8z~lx?`q%uG#A&Cl8}Iqp#&>d+X2 z$Ec`rMp}6@m>~gtO7OvM@59;Q>1hhtpboMuR0a;3K630x*2RDCf}V*S*z{)_r`=-s?43 zt=_Y9kX!w!$I#FjW9T05$jlr=XSE`)qGyfC*|D?1IgUT?jdQ~j^D&oWJjPGoJ3p3S z-iHcFR==w5B>xT1MmfhD(CD}`UXP;KtlJ%w6`!aTZdZsanJaM4+1#a|)u*y}I6Fj5y)1JdSF~U%KU3o(E zdT;8DM9yCCOT9t=#wSMyd%Y)mA00b4h+lglo&I?s?G>TLGR04)x39P?hFzK>C^8W@mHkMsjG=wHDiQco*V{@lx8ZN%Q z3*JZI)AyC|_=NgP+8BM8Ta3%QhMJCEm0Vr?LJI8AjnS5(h=({5>Y4tW0@ zcz$F)PummTJ5QLO96vvJ!aL=Vk(mqAbAxQhR#lEoo@tDC4@?f8@Q!%K*)wMcPk0ZQ z^2mz@9016>ASsYg!6a2>^~U`4*x(6AKJc18T^~GAqJMt+bkE?4Hr%IA_o6x-YikEP z1%M-M01<`tpta%v85GAHTO@%|t()x;p<(Zq?wC$YAz-~q$Me3anb80^u4hj+Cc7pEvZq7RPqJs5g+EklEyU9O20c4suR9DAYNiv$FwljDbvAq0r#G&yLMGBshA4 zF+U$5NBR88*}lg3#57)ysZ*zV>e!f$d3(aiam*q14@3t`nV4pMM~QyMIy8B}$*Ke| zQL>6oz>ZuXd&w=y9K&KN`8EuqaWm3-yr)v& zqNWv9=AYiRsaGDL3r_A$Zl*% znvS2GpF<>dhnhFII%1Y==z0UrUYMQZAT!(CR@+%j**Q#9S>tAN_IfwY&SNLbyp+hq zSoPtNMM;AdICyVtj%ny^g#{qB$5P}zBs70iwQ7l(GmYL#An(-7*lBDZa(K7wHA|%K zunK0+j9~|Khf$C$`0ivFOb_43bPdB`mcbq#rCYOOGe|Z}Ywtmf+WzF2_ePz@=E6mW(sU{4c zvbV*FUP`Y?h6Yw~3 z3UlDp#PDh8z@3H}HZhukP&G16jBBWlNvCDVQ56BXT zI1LU;FEA_rbwg z0*`{66VpW_tP~U1b<4j%CDW`=&Ns>_S@MU>lEX3;_&8Y)tjbxxTV9DnD=M*a0`IS? zjbCKs99UaB&&ZK+cs8e%tf2?VQ_)KX|2edIZc@9x1%WOz@ z-dHSRlW>K7USf9Lx!USL&+?~Cs_!jEh~N6Yli=nUJ}||v@;oqUp|y52CGdB{-O^~E zyc=lF=g%OdYbvEPJgMr*BViYQ*caH|SM!gB* zn?IS;QWMl^+W^!mPxRcm#@y80@C2%zN4HFI|MQF!Z*o%RR9$b=!+0Kf>G5o%^OzdF zmTe6Cu1`-~O@NbM55p5UHS{E>!36GqxtMvK8M9@^2|eRenm&VJpy%Om_MjnnQ&X~5 ztlhJ$qO8qRGh;ICkI1Gx$BNXi@9ASIC6dL4I~~)OoAs}KH^d`C61OFeu`$X?c2^MV zZ75D8?F6R3Y*ve-okku5`qI)_m~gBVjTHndBKQ=;!ODxtZ)xVtAYb{p5&Xgd&-*mqR= zf%wD*q|)~y6=A)a?At2@@3J{h;Hx7XfxYX^OWe7#H_Zck)tlw5g~i6w$|c*d)&@6p zQB>?fa0QrcHWs=2ajUt=%{De6Re}|>QXpdEBHiCyShW3DC9zl?7~;m4{e@T{D&?R; z7MDwXbVv7xSun3EvnX7O?1i)77#LD-4#W-%Kcybj7)~=!J_t+p^Kdc>Q?bed6qlh^QKkAQ~we{WG zYi%(ex>b{kBR<11i0Y$OzsRXAfZV5)jtIboO=@t)jme~5NReni+!JCVaT&~>E&GL4 zNUt4ckJK;%ahA+t1`QX2cfGgl(CY|(9JBNO6C-62*uo)av<-8m$A&p^S41OOST^`> zEi^bTVai7*k$g6xu^Me@&`xuyduVN8_abR)o7=nTLMw2zWJYwz^dpzH>U#pJ(-PSK zuJ}V@+k$gKgP3|~M&#H)4&(GT&4tAx$%dVWQhNQs~&B7@>jXHgPEwP?h9ZdiCz zj8AIntnD;cZB3nYKzCLA8leNxJ&&Lw$}MVU;w&|KlNOsp$(<_W|Hht2)oSUllkF1%e=g-8;|yebcDQ3N|}` zQpBD{X;wgj2c9gi3*h4gc$h7`f#Th+0jx@$=N&Gt0OXf1yMV9@q)JepZMhmMnTHNc zRnmYqfI;URGb=_R)`&n{KWd@*2G`laQ+t8|ueYL9WbtUOMIQ~zPn3%rcZ)7lR1%m= zibX$LWwnLa(hXS=%WvnG1ytnCYV6%UssQ;nGU$Su(g937t#`#a{+GafXQNU1gs|tq>y)5UnecJX%Vp zhg#gwg=8x-M<_LRoM-lft}51Jl=Cjdks`&1ElPn{dM1&gHUp;!t0to<4QkO*A*Kfg zqkwJ2IT~-ugM(#Wqw@NRAeM|}Lv|#HDz2AVi5FD0!1mwa=|=x89x$17|0UdseUr1vl3O~s|PhMg|NS;m;I=e zhA3nlPo^GHC2cJ@D{NyPiDFi$YBsmJu+1Va9pJER%vyW?q zPy>)|XFv8tW2$z8|i8(k$lR}?1inF%PJ_gck!5H-J+R8Sj^GXTwshrm$I!Dv= z!@zoE2@G9#QD;yEM=RshTs6#BxvsEGKX#;bxw*O*+8xk^)oTm8tvyBRM;7-$dXDhT zfd$UXwAbBx#GMvmlez`5Edwb&w9y~pFAJK)ZYxXS9iu*h`+DWbASzPK~qpC@%@EZ$} zXwqaI1k~9MbC_f}EN&IR*VkK-)*4K?%mSx+39l3V+xl9SF9B_E6767OBb)|D6HAIA zF7%BBqbmm-6($&@^E@F|d{u%Spc0ehI?|0^&nOHjNIMz)_`8(+aquxbDi6h%TcvM6gDktTRY6XJ&EE8 z8*)qZp=9CAP#!n0Zsb=7;`Srxkop-gG%di@%ek8|0k<5|FJ*{kvZJgq1)a7|lrW~3 z3VLhiQ6-<$x#W&z#z2u2z?4h;ZiJBPbvt7po5^<8*fKnJzp{j3vQ!uB0CN^1J$~!5 zLl58*>z`DC(a2>$zu4XS#Q73~BbU;VA9a<%wq)1J02nmPDH|)ktg>}Un+y0R_|Sz* zYY%>R2y&sR*=@FTMjo?4hg{=SX#sf97*Zwosd4MJ_L%N%l$ zIEADBGKZoBCvFrQ871)3->GH$R&$dZax-!;N;5!#UA);HBQ21Ncd=k#7?4$tJ}=0Q z5SFRb#wwpALEf$}^C21fGmuiWQ4k2|!yQnG;g)jsC%z_!>_$`@uj=#zyxQNJ?yj&y zvM`$^xOynL#Wlk|W})}ul|6hBg6A;4NJ2-W-^R}&b}~c5c(I%`Y6vW*Q4T=;e3YZL=g zXR_eZA5rMV+|)f|#A_2)n;;73Jqx6sA-2O%CuSyPse)0-*PFq_Z>lh`z6>MmQSsn} z%cQ~+W2c0|@eG(zgf)dNjpn*LSz#B^u$aBF1lqk5b{rOOv-wJ5F-FpzedMS z&a*v6sB6k%u|^iRTpy@<#F-bxsjIfCPqX*1okMgPz^X&WEsby*68GwyL7c0(#0dNE zK0@^VIFa*q2%vr>J%Ob{-|B?1j*s%ELMc!K20|SEm^wYLe8-QBO^>G+oMj3L8pT~V zszjYu+2x9Hof*TZf&I;>;V%4?Rjs~_FCTvkb&ag!-)p3^zB2t)zf+=cA zSfZ$|^_E>q;v_MXqcwn?5(XT@(?1lN%F4Gd(X>9NQa8|e$OFV4uBv9kZiDZeBqY2K zYNQ6$S;`sQ4$wwi*cO0R0|}1kDB;3+2R?1qvBMvw>7VONtl_%?7t1d+OOx zR32M%V?-~?rnQx7Y|Dn(?Pg>_??5q+O7=Hbs6-YwveZaMSfq?pH zAwEXMaLeKx7;5dcO42$rtW3^(V%&(Q@EEv-ITRqH<^kht9S=()zTC@wN^rgIi{aa| zJn72`tb7+%W$dI)BilsMH<8@HyDD)<_^_shHO0Z)OB?zoN@48B1psc(i(^!~k4rY0 z5KNL(11_j|V@BCGe3Q_y{7yOZLclbbzC|q>eacBFS!Fd}XnVO?!Hj(@3%!!5Ce|2? zq_V07Zpgq>iCxU-a2z`1_a>FVQM#YSw<|Y&(?@{8O*5;RdZn<(2(NN)6}h)k?sZ-1 zqK_KuatcR?v}pG73XAfn&(MUiwPMk7P;*aiD1&ES)a67i70XGP2k8eltF1RzegD+T z#fr^DMkJb7Z&v4bsVZR3OS1`Q+i{a@%rNyoz3WM%N$f$Pm{`|)vtGBi$5Tvj%MLDGyX zTj#+H)sP#;Ud-9SbF?xR>Z{fEtn^?vm=!`G;VUxbJgKRwqDxIaZ76aYwynWa(M`<_ zrwLSB_ffUsh6hdg^Ia4B%QBy`ih!f6Yi&;uQ{rZ12;5kp!~U8k`C>VZVJn-){I$u~ zt=j-$wDzfgr)gCtFpD5ULbP05jz^Hw;Deq`y;k*ZW$ZpLL`$aN_R2Osv(1e1*4DzV zPyXD~kW1;DkVKHvXOUVgn^dafKmzF7%-LIM%wj&M6Xadj7bvw@PT$xu&1|wJ@q~TH zT?%8dc5Pt`Z{c=EC9h(|d^Z2rP^_B2d8Ab&=TB9YbtG8Mw9IFvR?8d)$jOF7G!w!^ zp9eB&!^iAFv~fsktn=xI9Ju1m4)u zWV<4>m{v`jzeO5`tBDF-UzhUZtuQ}q0jYXjyJnuif)V%k5Tb@39koe$}Hc(`v4#Nm%9P8a;h9(}g2}rp#SMX~M5`o^iaNv%vw@7>tZ)LT`wrM!jqPA3tH4IO5J)LxPvV;(9jH^- zfBWZNNO7N%Nrf-EtN7D5#+{FSG{Pcfh2zV(@JDC2Aw!1Yt-R1C={reLzd4=1X1($k z++72wTv-8Yye(s@0E(|Mg3U}^V|gTv=6a&&v#U~4W~#xgVg8!o%U`DclJ8j?uoewr zeFhF5RhWqHI$|-IL`>BUEsmB~*2PZNDP+B_BG#NjcZkz$XYh3Js{sX3{Oj_{bqYBn zTY`KsRYIC3s)yKyi*_5Twi(;X;DOz|Y&YMw!`bU&>yfXYmL<$-%k4fwz#KoRDn4Ua z=3{Td*9o30={UP8&DIa?rF}keAz53GU}$0)o9iv@iJeZfULJSE#{ntWu&teCRS`2O zjM{8BL~8Z!M(oHgMCqjRpxuISBgmX<5gl~Km%l)AnwJIxuKS0$OY4I3<_kD*>#&T52;Hpl$+1k2qE0dr(Tl3a0sWwM}NzAk5Hae*k(8|%oNf7JaTf0+?eO>pK+0A;=QQ>aN@ftM6 zcHH7+WLbJ-r1foPyYE>RoE$v-jg_GV^d|AV)V#QJ$?iF)d!_=j>=6n9OX~vIr+}_+ zSjfXZU=mbC*4UyeOZ)z|U&~#>Wd*b~6GF164f~co&azPJ3YQ*gPcneypRUQ z{Vq@iH>JAFH+IrD1jKY!x!mZH5wf*sG&1GtjQE-Vt^UoJ)Ao{Pp%pN8HZfopPlb(} zqx-Q5!WHPCkPkp7@=;+sK4G_oyy37*;fq0jHW%E4bA9fr&!IN&h^JOyo_IJhOnV^= z7VYRdpSLPv>$1)aO>VAsw0%m{VzOjofF3L+iO2I*mlCG?T|!%i=#OPEOtG+SI}>xr zTsE4kI=xVf1+j6m77OO6uC%>!VRx)2xZYs`cL%6LCUImZF@dli*GX|OqquH7T)kdp zTh)q?7VIro|Eh%_MP&@MS4OM)j`RLlkC=0pR=2o3o_*S_ROKcPm^~n&tt!y@M8uwQ zV>h&od)(;{qZqm=2%r)ym^qTOuZUZd>x#$3=9j;h+YoauwMI||vX6bPJY=>UGYL=q zNY1M(oT^ej#xBSvb!0ir3u=63rEKi>mhvSg#C9dd2+)JPB(pB#mXsxM2@5~$4Oike zHIvWM86f9xN4mhss1xjBx!ZFZL+$CZI}k-qahqL&OpsAS;VGxwTw!eUWalCHDsT?= z6~_`c(NLoh)jwIWrzMn={9K}>zB|qVKsnx$CX3XRh(F9IU~Vo}$Ot!^7DXd%BbN}c zE6YX5IxbpKMvoBP;sk9%h~Vm~d8EucBZ#k^)Eh{VD)Zj7vrvek)I`eKwmP!i3g&Oq z=L`BQJvQWNkI*q!XR#mQIW0Lhxr#_SpJ^Uamus?pCSY3DD0(cs@=}hmi%{-+_8 zn}+N<9n@&GX=opSMi_&AkCdNn8p;KeSAkZWZ^=Oc-!xRU@@ceh8j@^wjrQflHAGdx zfrM^V9wX>12jXVmu&ssg~$@wTDb zItxR61%;Vq`+RE)o37v(LHLb3hosY#WbS`|xAlTM8w+J_EAt1m&dyu6If-#UhLSaq}+rEU!wNurjoN>8Fm7$^?!Wey9 z9C133b05?shS5^VI0G?PId*g|M12EDW~mqTs{|V!KPP1_;TUPplhM8DxW+h1(`wme^|b6m zH(JH1&Fqc|S*FI96oeSH`=$@KfFZrog6tIM%BSv|%_K?iLYm}WX5?xn|E*elM7-st zB5y7js`8<-R14HyuM$LLAh8t%tsq@7OmJRm**&y2j+=mC0t<^TJkO!RQ-N%1*#4*) zKT@ndhmfe5G1O#iYB3j}SBYPcOQ3xp>mNTP#bkg; zX?e#^iXT!<0IG^z$2H$DYTHk=$!{^Ik}7(z1-a`Dk1H^m(tliRB%588{&JXoVNfU^fiN?v}NuvtIO*!83gC#D&!(#>goKwsvxNXs62q+R=ZeUe6I!r z)@FX^eELjNmN1%i*)QocF25=*dkZ}+ziuw9*yg;VDLIkOZ1(=RamOw?;DiO|e`zm# zc7=mf8b9)^^`?Cv%^m4QtJ26uuC@lMWn=Drt5H>uXpp6H&b8msmo28xdY8qP;d#2G zdYyB8rkg$r3+*rkVy31k5Mgf&0<)#s_HC?44WsK}VRve{es+u0_gh+ZGcM2prMiYm zAWDmm^s?hAmLZ);P{sM^tqSwOJE2*|WVVBRq}dw54id(TtPd4plor-^edjURFlL%q zFG$V3XyeMz9VjNdgDJLBjBap28_za&)^*JW4hx++wt0|sw!Qh68;oa6-rMx>rE*N3 zi+p7z$7v{xOmMXWlqYct%X)tzcEr-s7IFJxrr1!fGVH# z9$pX9GWIsPE(_J!5%->z*O*nsEy~KtFBg~%3mx9H7cc{%t#p{uUR)9(yS7{aks$|h znAp$9wDd+b5>G+Kgo3X*@)XaA(jFC?U)5vITcz$02WQc5TgfI*BlzCMO|G-ZSZNjJ zNC-=}s60x={k^t%5~1CD>I$En5j97fb;E5Y!F6cT1Ui%mo~>fz_jSPQlH{ziZ_2ZW zvwm-96S;yGW#6#M8+qp>Pj8k0ODONG%C)bkEixc(Aulf_Or!2Sb!OvXd1H&+h^$r# zG4v=0I4B)I+O7GmSwz#=u~HTsvSnEk+GSeEah=OZJKYILyNgK&Bv^4WfF#8TqP2E+ zEfN)*)VPrI+{ZZUVfrU|s&;p;iep)bCbM*Rm*Z~WDyN`%vvg38Q&Qo}kFaBx_ZorN zKjM+m*xfa*w>=L8ZTp@_%A$E;Igp+Ea>yXu_32`H5PEy_5P$?ewv~AB=1NRuJK81B zoaI7399Yp-x2L-U>3|+FNv#6-eQyQcW!N6}vP`lB4$UP0g6Bd3@5^N!=kBnm=pX`n zma3YAC~SFL0}5+>PW|Af7B4p!uQ)mf&=`LmL?%?(hl-`){%UNznXWeX@+{chO>)D( zV{QV5p%5pBK>^cQI2oGK7>}0nnj4t0UU^DykqoL-Q(hn4i`qg0z%G8W(k52JOr-)F zck)Ebww&by%)UuP2Mn-E>r&g^u(~bhSyW#Y$?cgrR{^gz+9@fRQfOpLN=#rC`nNgwZnArO&^iH$9=KY|^ribnW>veYd{$W`3!J8e0iBYKfJY?R==9*MhdS(O=Bp-L`=( zsb{R3Nf$gbUahpPPW9A|KCU)>>68V{ht1~s zZE&M-UiMi@TLl&SE~$qFPJC&&MI<<@$0{GY(#R{be?nFTrbQl2c=yLRF@j2dMojjk z;i>B-veynW8R9(h$fyeUdW#9iX)8f(l|5&u7q#lJJK50$e7fNoKIEZ zOc*P?udEl{gHT1fAb?+Mm`8iBCF;eU;nL_kOp{9&3nZxRN9$m&}oxxM!a2hNXh)@+?kG&IA;*5c)rr9qAgU!;L6gDhz|jf-pBJ^-D_j_%}kTdk$& z2bk%0ooDT|wpW&SH3D|^PI|X%aW3n=qEs4gY+l^Bt|KCsH`Xpvf0z8@_OvI}^mEh!U^vEC-tg%XAaC;YhTuRzUZSYbYw1JH^9&4^O$4 zN4~y*!xHc3f=FK_}1g9aadmMJ~GIzpB@L57bK(K|0<`NHK?9h>G@o9NUSY zRxMKxIU?_~EP7W}?(1wS*S$G*-5wVxEyy5VSiQ7C2+rlTOn*fy;PhnSxyl$IYL}Xu zXv*#*cy#=+o}n$xo}QdyubNDh5owuDR>+?F1y>dJc3dg>Z9r*Y6Nx93SiLgCc-KBH zN1d1%OtEDyHxWC~2Gfd9%W^}tqU@?(XzuUgVL8TuA&?)c(M?V9d^D*Wawvd8ck1KK zX2`;>@c=*qFtZcwEJ@t7bCaQB%n&KC|VH9bEa?O zTBB{&C>%pU@iu4V!fh-V-uhm#9nF^6R`m})Y+hVoR{-KPmzWl0)_c4#Mh3MkqR`b9 zj?`uBSc}CNH7Kq_p2<`y~$DJ&DXMu+zGhno~b z^f_F6Z+>mjMe9R}SKL2iqRDeZiMWAAwd_goYiKn8(~*bzk(KqUOl|Ec zst%htdn(aX<75zuNoo-71}2J=&_uHyB$m}#oYwJvTmM)e=}&B=+HFn;2xtYOH{DT` zC?5RV#^lbzxr4zEFhnr$_T`nuEA&2=zie?D?c=Jkl5^XKFj#j#hs0IdMvgs2oQX9q z2c-5G+YC7w!}9ckRm_i&KG&^HxOCb@1+Ah3eIQL1E7|A46V+0eGLlCu#vKX&6K^TM7E(l|c z_KCL`r*>Hw!*ihgj+=ZB8Q2g|*HQk#2qBYp3y5Fjd)?2a*i4Cg`gThYmleQj*YlSX z;AyV(6l}MI#r2)n@z%sA7RVTP@m}BJUW}}H;uhZBcA(Gm>#J?hxN8^7cnMQI>9lHs zyI2vsB6Z`w-DKMNWYWzg$FRvk*BHyJT2CT|v-_AUt34K*rzu znOyC$dBQ#a2WRO)-O-Xx_eC6vD=W33Pi2tC7PenfqLo64Lyuo84XZEM8f25ekWlFg z#o;THZStzIFWnX9+QRx}?kZlu*z|Bh)6Z6c^J?qx9DRI@6%?~xEYa(89xm+E7-6ZA zK4)gLz$$YyG9YV_KsLm7Du(&VDh~rDW7hA>4HM#Kc1D^OG5xO4WK0*Msz&>r-CKC4 z7Kp>VDyzXvtP(#^|^kYPklTfLU94j@jo$wgI0N zW~6#y-7h&1AClNZ{{f!{B2r1%6VCn4xNQl}_!lc_(|y8ueUSx6^tFD>nY;2jVIzfR zD|0#TZdP^G75KzpZxy+8VWxqy#H&Lpfnb^>1nc!M+;lyTbsD2gQOMi_cAWc?>2-ji z1-HDhW<192#R~B^r?3~Xtyz&&t>MeTY00zsiNa^8H~EkhwCT<;>g0_@T6mbbIYdI( zuJWZ0Zm{=DM|?PZ4Pp{C`;;l3{fpEl&z7H-Z}*)izg8RlsvC=N%cwb)+o`a(l@2ea zPKnMzem1x;Zm@HmCa0Jj5ZkQ{IjTfX-Zgu;G&6@f>Z)anArI#qIXyN24;~RCb}UaD zZ+OFGsxBqJcsTPEHA=SFi<$1Z z3P_;93U^_`b$F;4!nhsXUy}dQ7Ss`=klL&Kj}ymIHMSk0(>@AbVjsZ=CR5%#-;I1? z+Q-{R!jLR)%&Mra0q}~_K84MOTz&Tb3w&_Pmg3P>X|&V%FduLBN^*k<-Lf^lYNX9t zkyt#cZIpImT1bQ)z{>To%f2U5syQQ?kVy$d>|2_qC^S zsFf;h>xV)Y_~uo~yMFty7&W-u0l6Os)??u^Z54R{O>Fb}OUR@HD{$s5F*z_>%+ozQ zb6{2{+FtewQf6@%?|Bwr$>OT!9BLX{?KHXPQ5!0-lwSO%Zvt-;D=I;>%;a}5m4{4K zvdLw)TB^8?6XlZv!OrQZK)kk3=X_pM@?H1dEh?tS4q9$)#3?9nw!M?QnLc?;^GIP= z%w%3PbNnU8Fxh@*I)KSSA9aC-U0_!>5n$4K8Fl#KfT%;ARh&w3_YTz;TSVR-T7(+y zQbcX>gsiO^I9D`qu54hsNHB!0J%+({IB@pUE8j{nESxY>A9jq|;48T^n37T|A#FpB18$ zGO4w8KD6^%URz2mDN0!%f^@X9I%T=%v}rooBQ9qDg^|yekqwtwOF2`S$0!ad{YE_s zvP@x3%?c&4^$L}?p`p(X%CnJ4n>3qc^u1_{zSjWxQBO@M$IDzi>HfG#_5ERPXQ=L$ znX#)C%(TPLCM9dV(gkfZ5)1Z*vMk=>m{p2+oDtD`X2Ve3L7K5((_mv1j}+Z4MK5?%J?8uRgJLOiL})8Al|nQ!}D_Ki^^ zoqPKljTYK)X%nAec0$8HSm7y!10}l7UepeMb%UU24yAAfsEWqgz}H7A#HA+z3y)u; zacPI$3U{RGEKlt;9mJqlmz+na5UQh~V5qDzR z@f20YPL#`k<{`qxOhVv6;+6%lkb)5o*C-)K40{EseBn6+D!S}=@v6RKq>W*3LOUE) z3YSOeJEkckQA|1jh^x1Pc_50uu$pqMZ=k@gn&UWkoYOUqeeZyo+6ft3A1RkHldhb( zjfI((Ma~&1MTTLdIR3ee`=h*2a0Z30>4bZHw$alPhvdYfvG63SPA^zAmw1FUh}%|W zVv) zA)JnO?UGw1uzPqN8y8n|n3SNthHkL`l0!BKRj1}~JnGZ23~q``V0Os)$f4JUe}68Q zV&byu?ZXK%FvOjJ=*+~99)(B`)5&f4TRC;ru<^d(?Yps>Imx}8tL7^c^h&PF{$Aw8 z=E9Okv4Ko{Uc`X-IzR$ocq_x}ViG03DZ+UR6wwknp_K3MB)s~%{W3jsVnRXUXEjP` z#&+x0>X@>P6}BcN|KhqD^_(Ov%a{kn*v6+UxWGUg~W{m!rF~VQa zx!&5{6^j#~66d3dlCxWftwu7bN}|gYYuBF9;*_bP)k~Z*B3lvK7R;t5=z~NNgKC^j zhQ-S&p60X9bgxpM%}sEh=K)V!BiefKSxy4qw8Q6?L`h6=;2fr7XDLuj3c_7uo@ycI zvgog7{o$H`WFo)$vPP7O84j54a6MTL-=Q}#$4M)QmO?Gl*HsmPZJ%D&##|Jas>O`7 z6v2oIn|0YHkezr7ZOp5=9g;R?B=so^A3=>itU*P#XkhN!fxZ+VC<`b7ydDIiEk14h zU0*pCvbi_oUg!21(Q~{C1#PfuG1Qp_#CoPlQ}44YD7~gNRKI14c5r^hO=SV`aUsV%qS3+?0;hfu5B7F@xaYJfk0G7VX) z5v$>CNiG5;>r&HcCj2E4=>W^ROI59skAe~|Yk?S1gJMEd1!J_%;J7WMO1y81?%OFU z@y;o(u|Q28pQHK59Ijbm4u=~X_e4RAMwWPo>Nt0_nir>ajk|` z5*u!#K`!3a-KI9!lHWk-&Q9ivN?ZdP$he6}HaHC6c6Wb- zQ0dq)6=}tHE&)TSQeN~aT;6J8R%0?DKe!jUY(q4(3^gpTMV<2WQPUX@jWAtYZtY2O zUhW0q*ykl+4y;78Pg6D^4z%ymVeerR$RKs?>Bam6JTN<300m?qU_JWEN7ol%N!d`) zviO!il3CoP$^*Om4DWSkMRr@|v=rtX_;%#7*NReY{$l#p0~`8d(s%>3jC zVX=BW$2Ya@JFo-xI(uPq1T&TJSS1dpSC-Lw=Yv#JO2stQD_@i{?A0dLp+GWkXUCs1 zrq5_Au1_#NA=Mb49GPjHH?xsc1<id7C^v zGc`Xwn}`o&YIvXn{I_Cr_Q^drOmZe3MDESDE2+e1mCx zbe7Mw>75!T=EfP~S^73SF{@DkEUM3p&t2g8%-HBWeLAg>WhE*141{)+ZMe?NOifPB z&)P6K?ol4<&=`ZqsHky9T6r^=Apv|!@IicbdO15hJxw7SRDJ5sU}IeW3)dS&s~ z#?0^}UjY;49XK^}0mP@~_{5k#SO)z)VRm--v_8x=JF9N6r71AqxEh{5GX<{>68dZq zEK^#hc2zWW^2yXgqIYN*E}R&jrDCHuanULwsL0QDb9yy?9UYsP8}=0M6@cLjMmdK@ zzwWJul*nmSarR#4c&pWWhQDjpKEM`3LubTxilT$>G^3=Xe7e9e2h<)Tm7$vm?V3k<0NG3^_0v z$T{|WOl+cY-#`c7kAW7UEhNJ6~R!#LRMJ<XT<(itMkRv$_6$iOsN7-lj#v9+%JpE@^)Dief9BTc-jrc`@K zkU_p2xVPcPsJ=uv$QJ}t3e6)+m=SzLunjgLSk)QjqoDU?u4>*pGIs`vgY@CsfvUt` zkxHk=8mG_@nz$r-&rXlcot|m1>Ng?FG~-KxDg=D`z7o#o1O?|)bI9*J;(Sujnm~$G zFz-(^J1RvrKQcEp(-?=|!`}LF?_cD(XY7J=Bp(|rF`gTiB0}=>!NCF^{WFRaqEVy_ z&&`AxWo1oPEv7@j}o>e zP2onLZOoeB8ys-jOd>)Bo|>7J?l?8b=LuD)gilRQOb!zBBKY(f2sACBG{{#91sOh9 z!kh^BZO)JTEan4+RxV9-!f*6`-n3hqoqU+E0-hh4&(oF<6;=s+nezM~A1tgOBQqDK z=LT_xRG_iRGmY`?fyu!W-VtwT_RQHqzGSFuOnE5Kuy1DaRl@*PEqV{?jd{L)$VUyU zn$J(4t`D9l(Ff8q$hQsK^7NuQ9cya`I|YCvZ2-x70{N_v17uJfb8MNb#!TJBfT>n{ zw{*vpuQZ-UfT>Ey^S-H>(EvEEXHPaJ!fqhs&nlUG%GeBA`IsY$UX&FhEJDYl^&yBu z9MOQNVVPYZGJ6KO=vf?72UreAb-t*@k)6-I3C%ul=zA@W?R-&hAUh$m$@4hElM{^z zbiaW@odY^M8xY4B$fV~8zMeo-&N(DFdV(=OA0S8h{K?tA#`wfE%e$#lr+Vtxn2vdS z!pU*WA&x%TFssPKH0wS}^fT6>$*si1G+CA4B}!JA7&|>Ya)In6wc)E1P*yA zGuJygJbG@NnR)@XI3+X7yLxhXW@g-sv>xxN6ga8gM+7CrYs}71PovrZdk@>eY|QBk zVCvwAY_Cu=W>-0X>>WdyvRh|XVCedQ%8`x0h`TN@>4P*jdar8d|Q@=hSw5=cU#fy5-d zir!3SCdrV=%sBTo_XwicfTU2_A6)kPi z^2quA)>?aC`?@oD`aJD<{^*DK5bo=@U)SDy?X}ll`%R_Ah%aETlIlf0_dyAfs9k&J zd7BYQ3u2g;KFI)a)=N#3jj`SwH(j)8^QviY+&3utIkIEA%qvpV3tVi z>$JjdTC)m0U_mGaNrTtbeX5F08&+IEcMZj06OFxMCB@pbY9m4x)!IuCt#-I~^n0tF z_R1AJ7;8)v8iChZc2`@4ULc-Wf1ajdp%mzW*~8T81)(6E2RUt@=n%n+Rk&HYE*KWJ zH=LN!wyq3HEymL2On}%}W9#p1Q3KoQB;Ew0ea*R{BdfD7{Gtbg$Y7tV63EcYi zu1qcnO~B__pma7l5Mw{?rQC=?-&{+n5kvi& z^=QFaky(&Nc|EGj9LP(gvaD*aI$y6s!`yHhUS2TwN;<-V7}VVr#ffk_s};5aj7mf8 zvox%4UL!jJpOAII+LcWH>)CyK)w$Y47be1gD$vTb#vK)e~EG>wb z&3JMirKR8pC$qAyH5#F z4_)+W{W$qj;BH?g?8`8uX-f#Nl(pk+Q*D25-s@WL85zOwI<_SquEeTo_a5mseC=1)}NYQUU~yKjia-E6ATF3mk{)w3uVGZjV0m9>VIHc+~W)pi6M2zPFqhC z+LF4l0E?1o=a~Z9w^k$k1`ttA-MKS1Yem?p3l3Q)$EMAhN={qr{7{jG4sgYKZb5?f z0h>>(NrtUcm)B(4I(9rS!*rS37>nv@-4xUOWLs6Hq^Ur{=m@V?#*>qZ;j5f!F+alM zAu94VT(2e(qKg~x)m^&hp101oNBMrNsK2;m%VXFsDLni|tSCr+G_Y=GcDZN^ciy&D zEK^$&G+NhdLu1{*_3agk%O72>1u`&@x-$qdp-u8W_ ze72)Mu)lV2jEnW_TS|(X=-NBDBtUhJETdnbTL-`U{L%LK`cZS(f-We>RSOGMeoJ3FHbX$|T+9|a7s7bk zny#+0CnI=kKv^Olm-KZmGK^>87^SVz; z@Zt`ReGt%ETSXBJZt(Mi|#%|E)mla1-r|d`x8IvBSKI|Yv)|>N*Og}{9dDQoV zGAW43hH<0SZrt3jo?;53o)d+SeOf|eGOBTNdbm}*dtz(>BjB1pEhSyvZ^J8vwVdl% z)@UiT-=**UAV&;dA!q8{>9)rJ8e?$b?ss-)(Ny@To~G;_H)loTFKHLXUmQ!>l3E3Z z@#Fj6NQr;qG*n^^y(7xyMTsZ;0yM9yy*qV^S0kmLHnf*~yz6GM;>ThLAkKgWaw)YT zR_Rs4csq%BdpEWO8VNJ$;k{PpHtl({6U5dq30Mt_?t+{K@x}8o1f$Ml)~DpkND{X3 z-kch+)Qp~Hst8i{N{A3@ zNedAvrQ2P(@2*U*cJ4~R`?q#fH_lFC_TfxNGp}T#8s(ADW@t9viZ^IjziCrs+etP% zNvIa7+uSa zcDM7LuQc=0r?!}~?UCMLbFp^ zxZn9^aoPW9&-y@?P2TL}00|1TxiWC8WU`a((^Hbi+sMvIV=k-9Ved+$0|?pK2D;>G z)o3S7AkC|!j-}M?@O&c0LpN!0H@&NrTN+V3jIsw`S&9k9nM=*`!}4U_nXobmqMHa~ zjX>Q!D%C@1Rad8^k!AHwx}0%!S7Kt*Fr<-+?XJbUj0B;E7%x*0so)&JvxIyDZLYs` z*s)4#phOSZI=`#GY5#4E)j4~a*TcgOkClZowMzaX6;o#sR2PPLdv?Y{CMm1&Mdl36 z-n+aW>XXv;8k{92dy`iBVdT+Nqd3{P)TpS)Ua51;HXSNUoiqh?Qe((#IwtbdwcBDs z>Le~Qk?xbi+im;EWG}8Ol`hy!&!TxsHst~d}*hEJ2RKfmowpX@fSUVz zp3xYRNU5!v<|40}!&AEQu7Shqx!hh)RYNKQUfpZkP% z7Lr8NTKc&rxi6bBI|nz<4%#WJOuE`XiRW-{D8!>)ZdduKt6VBm<=H@Q#xFef?uAE; zJtSImFaeS5Y+_!tngw0tgTC{%y_Ko(Vh4?F41@YT$boaNjgu>hHIH_(7XjJ8!a03yX;nrXT2Wo}JE=R*EAX9M=>6gRU=|b_A5~p4iSf(61*wYBFYl@5lWJ!ca zRw%sPYS&EMl}XAO-I2ukRN$_=*qYJ&@*N04z0iV`5yiJ6=9_98R3#I)j;m9MrC?lvLMJT~b}^TT$veE2l4u z#6>ELeGd*c85kovw=1OCu%pE7dOx#de5IbHcj!<)G&wrQdxTtv~V<1&sX*$_B>D!Jig z`FhLcIY&si(+Qr_b!H75_KA-!$QNJ0Cuk zu4z*T2}Zf6lZIyD(wu@ymOK4{v~Z;=a78f5H4ZD{tn+PlR#DFRz$qR&-DXGo+6`xl zjWc4%HpcjwMMC>LMsl5W$TNHRDMY6d_c(1x3_pg*=;sk?4-!!pMn5s)7$Px9L>^w? zrVkwjA1fRlaX?W~ywpan$SQoi;7Aq9hfMI3i;ALx>({Nfi@dDq(5yUER(@ezk?sdp z<*uUgi|pi%lfqpkP44MLF4zvH@@rJ*gSPTeIa7rCsI7cd&g7Gh)ymzAX*uVUz;ah1 z`L*(=1GjSb#WK+ zWy0AhQ~j#jE^FJ?6bne%qR*;7YKhVABZ%XG^;uuV_3|2-^654iZUOZ;4AoG6CMoMpKI5XjOp1o2 z8K@_l%_eWGagC?8(VOu`OR}rki~v8EQ61QzkBN-gZxbsI*m zcE#o5U$BCcDY{zZyiIgy%>;PaTLGpRH>d0zurzpx)hSv(h>U;_59-l(-A9D%F@;f$0h2O1k4NkwLh#yF!VH$=LW z&2ogZp^6(b{!NrGSXrgHj8(eHWhB5}3e3692noA<8DPJTZR~JH5Q(Pn=Hy@phd1~Fu#$bwP z+*7DtanS>rHMA&=$UZ7HG^M!Y!Ppy*tl6bO*!mM5wFYOSu#HL9qiPLK!?Me%@*)Z7 zk71d*Xdt1 zK+9NUY6jPGtCAM#-T|^msc^_i$rFj@R5N$RS>@vn2NR#2Ws|#DkJBxow3`VaRCwHY z-P&$ED6WiAWX)`ei<&5z_ZV@-G@c;u5v2=f%G)rYNhLD{Cf|mEqZpDON@urW)OTUv zNSzl&=CBOAz$_g~efV7%_=xK)fbPP`gN)iDgp^)5Y$_CbeNq*HV$r-OgIJ~q$q#-@ z!+si2O%cKm-5^q|Wt{0kiU(IrqiUo+NIyua7IC8|qEvLlihfg$uTe~%G;^b#G>{boU2Ho8I@411)lYOikIPeu0#|<2yCJRr01BV5p#`#aP zR?+zHy@7)y)qDAYKVGC?dgfM_7rxMH+tA{^4!p%I7Rip>xH5!Eb%Z-KdH89Nd*>E6;@j0M-Z?Q+6HU{I;$1y&MVncW$sEE^ zfl_o(j(|!t1;K^MJRzEux=6DRn%bx3bx%CIoo{c`^?DSL9}&QfkA5#2{K_zsk`KNy zQ@T>|xs0b0%t`{{WPa3nk)b&qMorQoirsLDB}H^XdQxq4kcl&TP{D1GXLFAE{Py~n z+Fg(i&Rs7zy9hEltUOZ}Z$#j8*K-eq?mP*+>YNRnBln9@IH4D=tIy*$gZ1Za)^#Zy z0Sni)>vXnrU4-ULTXH}5to7$?Shs33ry=cz6%Mu~uZY5l^s_du-N1=--OrIc?J@uo zT(xl{9_d;Uibw6{;;r4pxz0@-MyunUeJ=M~cq}fm;G7myZ*2X$+FLOWaZ!+u)%;Mq zFA{`@gK1Mp+x3})OZX8C-nQT{aaV9%oRdRK>=9b(m<5+?QFtkADScaFtfSa9T8cxn zdmKpX%EO~j4w>qUsOo@r_Nu8NPG)2>tuHD(^je;>JxrTtvocJ>BAyf~ zj|b7y#%t7y={kxAy&esMr>~Z{W=Mf43vU!Mjnk5>(Qai;-7tBSwPFDnzI~`nArdX} zg%oudGtXIG5?C$@&CTCVQb1bTX^m@$!XW3|#732I?{3nmIQ>VT+>ULs?K|C1Q&zr8 zr4N{Z3uS{5b)*DSG6$>Jh;Ukx45;BY)w76JyO2;9#H5+*gHT%+Kud#Zdp=4B1&`ZQ zb?U{FL;lD;P6whokf-HQT(g_oSRQCD>H1V%u%9DPN9pd=Hn)hgd5xoac*p7_RHX}4 zIn}ghI&VJ>h}f=U`{E^W$tV2o`Gmo$1{`Zw9%G=k6AE%OVL;VF2}oJFFBRam1=l2=(yJ5c{>sEj+NtduPJGT{FWpuqkD5n>(0#d^Bn7R$DlQA60PZEOgzUSW~o)KvF%skP4G3@TMx z10p+zhsGhi9PYwNIVS-JKj)%)y~>x)Q0R;&p(e|f0f`#W-D!!rlZ*{HC{@ook>*V8 zv)jWaifz1JEXk{34)UfJGZ+s{(`+L>r!T{-kO>4FxHNme8n1a=3M@N>RtL7?TmK#`Cv%NviuXh?nfPYysXa|jqaJ5jE> znkjvIwFZkix*SiePB3fWvM?2uAJfeE4YijVvXDOC#S|5x)y{;n0`Lp5rtOlx1=omW z#~LCy^lChn{nPyOwp!0y+X0i@58ql(OZd2 zz;!fvV8>8g6G3L7CN1}x2`arwqL!IBg{SRAbw8@!>VvA^!+s@N(>JX}VJ)PWl@Q#4 z?zy5JSsghmx*PjxcCsru`FIfRZ>J{wY=apc@R1Vu7a!N!L%iYE$wb|CW&Y7qLA^bfgT0-jj=%uhc(F%-nM$v z{-9hi+mnKiSEem#Sr1kOxYwO+g=*U9UN5U%V``*P=9OwH!euHnH%M*LI3W{_$7-0h zUUhgtkpx9t@1XtbIbbuj2vl=Rn=O?hLOm^4ftMk|*3DW*9=Esdq_=aTVR)c8B*EK} zyq9A2X2OAi2aPkQ4P{2>;RSGaBQ2k>vYBff6tE;sD7w<=GC|2{$jVh{Z&BbRpKD71v7c;k=@z%Ys*iSuG=nPO)I;!+C_Q*5w}OA#2F16q9{&{J1W?$%P2*^f*_ z;6!H8Q}Q4{W<_tK*&>c5ghVt-G_x;H*AuKRVKh%kSj3~TtPNnzLfV)URb0p!bHW^7 zCmJ7$az4ghz9|PpM8!3|o~znK5DRnijmVS=d9XcYPf@ z%W2etFK<>(%pJi~HwoyOa;7vVo48tIQrjL(6uEBNiAa8e+&eWq6*9%bsy4K+tLiW& z%)M@6NO{%Lg)P3#<_wuumy5H430QI@t<br#3SoL4E4{wzHYN1k9)g zhvNwWjP{JCWC#DJy+O8F05|xd-eO=|22^B}&cy$h&j^dWFUM0 zL!P~Y=W1)*zvI~})n*#>&AR{ZeD=!Hi_yP+_R4BN#uw_0p+Y}MkyJmJW@77_zaxP! za>`aR2F$X-LZoLMYX^HzJZTw8nsqgi zlGo_*bk>8-lIPATjNrarhWWjBIl}nro7cshUGzex7MBHzu$rLACJW zp%J!ZPhhcD$l81UT&5&EtJHK|5U%|ryZiTcx;z)o9q4jdG#6Rk&(%WBR2I*rA+?vg z>AYmFcH128zLeEHh13ht_S@F3IVuF|W0RdZCr1yYG7nUHOn)Ha$y1$)lZQtKMy3Xb zPPYBpIBF#oeo-y7*KYEi*^;IJ-^wj38lZoK*V=WDG0UTCH`(=u+_kS;Ro8CX^ptl3%p&6y5Z>cGH%T{?Q#;)LgrXBTy3~TB9Y7tS_fo z`2G=Hr?SjeH_JtEE~A#XukFf}@ z%EAI_l@+VE|JjzEDIOL2?^t%0g;))v2j1aLe(AK*?j_=5T`;f0P0C;6Ge0)7;+K)Q zD>!E4SkJ{<@{k`5t(LmmE9na8o+%VLva>=$yk%$eO*ug3 zv{B1tXN8j`OTRXY;X?v^+KA1{Fxjl&w1SmSGI-i}jao4Ysc6va(I8mS4zCu|sEv=O zTXq)7$?laFl^e^>3h>y=&LSb(h?=XFX$WuwodVk2P#?cw*;(FH;WW$6`1ssJA9Tro z^RlzTTkTRi$ubz5Xrv#BQ$xXH4Y^)+MmA&{D>ai=o!vQW54Py6910~jx3Cyu+C^vF z|5GeFtKjf!W6@b|CJLz7TJRQ&&K@9UK~(wwtwm?$1pMnvrR}sFN;NIg-YV>@I`0&(iMu~M~lvK)soTSi_Y>1Dd>yNa=`L6xs&0E z7YyhNEFVwq^evjk&PEO{>_=!!3vlAX<|flC*kJ$OhTz^E6|!~=wHU|Y&LH=>dizJJJBIKWRG}AZb&MT$$4DGrU}v z(v~xTYf{=|25>z}o5}#LNpZ2g#W7t9rQVRMQ+nNra8BKVrJM#_$cn3+oW@0qmhgry zYN4E*(xs>Hy2LUnOioTOFAgkRKvYxY64?uvE?c~4$zs?-9E%d)zT^W2!pk+4sB;} zB8tsM$UWZ=H5E5K;HKPp*+6D&-B9QjLnFoZ{V4_6uD!okTs=Fi8DCAW5^ z>V3q&GVMx134L`8bsE7@Vk$?ei@C@lP)eBfN)M586x(KI=nlp8xH~f`iKn}pwwYc|LOnaj zWi3nX03m$YI*d;9y98BxmlW!P0GTViM$!VT(k&{&Z+{}1ta; zWEtP7^K`lkM`SOKGVrIPS~wzE<;V(CI;e#s;#1Kv*Vo6iaMtvWVa$+G$j67M4{m%K zn}9C26Sar-pe1eP8nP)C|KdiO@RF==hZ10~!4IcD3 zKI)|#w7FM6l%JUL9vrUk&(l(8T0k+D5N|+Y7&p$7Ael%`b3U7c714SdKrs4C|S< zr|3`SZq|FdG{TUcQ(d*0r?)n)xQK%j0rdtZ8fqXO1zNWXi(G=d^uvn>IyVt6I#s&~ zI~_+^tRP%2L!}ov(d$x9=h%~~byn-obO${!6R~%5Q(ak+>7a=ap8v7;(Q=`2SkEJrb-8gkYyF0c>XPHYvr%=q!G2<71BH*e zklV}7;~2*V&WhA-o6b8^^}K<%a%)Fk$bE^P7Q*?I!g&SnR4yy9od&66T?j^xuN?@l z2ipo4o;p+_XxfcXZN<#32BnH=j@EWjk#M$OD*}tiAOKoIZgM3e~N z!})+Wgg6X?j*sXAKIXfVuMQ0OlCF|Ma@YgVc@u16gT_5npo~g*2JqHXc ziFbk$YiyCIqmOhgHpvmqG%|g_A0euoWZS-w!UV~aW81c|IA9TB8zT_m5=OYN4Do(L zq|J_Ww`}E-q8@uJ34*OkM>Zc{=7^O!+z6FS5JNl1CwZH}vUIzj{3*O>m8AkpI@W3w zeI&iSQhi9pPvwbewcY0xfiweA#DTGKrt^xJDnj~Lj%bSG^1s!zf z+k08^(c4d+q7G~NnT63YuMsjyyLvlQTQq~HgT}^QwxU>Ux8FgS?01Qt#Z3MnnlSBw zogUTAbqZHkN?aU6FjQ-KQJ=BnS8ioo#&_Ff%-)t9k_V1dr4x;C+MkQ-o+2O*tcO!G zBoojeG6hbJA{$dG%PBnTn1j^`q-Ky&DC+hUrnnvw%{S=8kg8>p+PO?&?lL{KU`5E) zNrYwI?{V=Gi3Mc2*<<*$ZEDr2o_(~5%@Pfq@%RQXkb1T(?g|Xp~ZNyZY_er}vP$5h@ zSV*!^E@p=w)qY7_;RMv3e405;g8se{E-fhb_Kk7q^7iQEVlIk2p|bXOg!DfzioD zLJ9>7StwdFab0wKc5F@bbKe=e7RW>PW$)=|x~OG^AML2Fy7xFfJ9v07Ev2krvky*Kl2ej*vo0k+fg7e6`dgFPV?_|j` z4WegnT(xTDMW?}pjf|y+`56(bq^iGr9L1BeaeP_lZ0!^>mAp{zttq6r)gyzHAKZuo zyB3_yX#?WYIl{uayc(J&A9&^PeDa7?udfVosiS3LB8be4efWia_HTE}* z$yRE@Va2oUVAdu!5R$m-3@L#|>Mm0z;VC0ad*gFKbB6tsyeF8n6Qw7%S~$O}S~b>K zrLxYK#@pOrt}VEFKxIuGMm4AENZG^!+Wl^tf#zokL?Q)F7D}G5)Z8;-r#D^;RD;pI9cNHh-Q*OCJIfF zB_&i6zH4HXb}?%ya&*@izI;wo_=dYr_0kwc%3G3$O%>~E@W%0sqY}K-jhTwS+f!uY zMA%@n8q#HR4RRA<)A?CdU~0(q5OK_1Z5vN1G@H^`&1#$`=}gF8n`(b}k^@+&CFNCC zzTInVyr&lcgAILiYm_>&w=q3s5N>IIw#N@gJsjnv&*NV$8W7$H@du!r9p}DYKW7ffqchA5#e}WDcWefmoa! z)OI#}7}tkZ#pHkWT5JLH=O%a-k5uc`-8nNT&5- zzT@T;*@$3MrC>E;O9cs-SO%!N?OP^4(Gz(NdHjT=C|NL@CRr0yrZwmA!6TN&R&uRn zXX+*vR9z+!Ee*x!)kb;ml@^wyT+Aww=%Iy&Xu=~(m?(_=-G-4;O*xr?LXJhl*?^G) z76q(yGrv_^ir$z2M&V2XS(T#pVHOcd(nnO|`lNRFrlx46tm4XN!iyKB*pdX6jmKLs z$GhI9kkJNC%kJPgmV5zAVa^(!zMtojl`@ELmNt%gWRp61VAs zngOpnY*;+cR`nE}JgMc_g>kJ_aqBk0he^Y>W{V)ICiTDw@)!zC@|KygZTzSKKz6)h z`11quh1g4)@g|uuP?b|E5=eedQ>my2Cm%Coc9%FA9-|_i(p`D=WLKWb?DCnpY!J+~ zOh;c#b!7c*S61pZ6;my-P^~2*LP?VO{5(OMG8lj*{S}9J!I#rlimo9}H`7~Q_H>D- z69jS2`)!UUT&pC`LoTnN1UkbqD!O7YVbprAL8usT`&9#NaWD((TT2z_R7G`Y~Nb92rQy z(`AOi+r6iwaxrH5$!K0jDwzvP1b1qH)U zaA*|Px4o{KVrdLZ;Zy27H=_AkVdFE|!3NW=%9aUs>C(j$Q@p(7Sy@#}o;yKI&58`{ z@=97rChaAd^6Iwq^oK^ZPs_JWWU1Ze;e-KBRkeA=5F^4w|4yCBMmlLol;E#z5oXwR zk(zduxJ315+(TSysIxbgT^Uc`zBS+6B7~+wGM|m{%o{^p1lR5bPKIs!H_-#HMpjbW zb?)C^hifF}g||Yr7vy4@YnogzR2Xl2VQr4a2xEn0r%VhRlJ7>RW+Oi2xzO*bu!fh{ z`LtsN60Tz#=bFP|q^UhUIhxv_S>@R!)7Qw>?}3>%;l_Abj%c27&a;sojgo85XPGS0 zxbkDOOkG+Yv&_;%8;bC-3A?@(CC$!sYk9L8o72ul{;`5Cp41R+_C!xk-zn*46s@O6 zggos#JkywKJDqMFbcXTimbP}P1f@^cysY8Zn8-DJ8v19$r=g2Cd=8&xHN2p!XuoTVw-M}s;Wa?{Fx zkWuE`>|70tQX`!_JEi99;mbR#Ek^hvh3_^lt2WJFZDQ6)GG?vblzEP3MTjYy?M03W zlzpe=B}=T+kZfH^Gnm`HBzw-2iRfY8#hZID1R>JGTJr)4^kPjrP4cA$&)C;ygBBZ_ zWSvT0Ora40vG0oOzf5DBpG?MD4K*dg_e9vmXVMo~2uypekjt?p>HlPmMv1e-E=AU* z*;%cWylM-u*_6?YhSoK0$_bv8Y|6=@%cgvIie^(rS87(#bT;J_S9K(cygS*#HC4&r zRNHu|Q3L9$d=mra<{LKGoJ;4>6W0BS={x1nkoNgD6UDZc=nfvEked_}qZDIqO13#f zCfCw3o7@`xC^>d@Mb8es&-EbF@64?>ylRa0k&wdMlB63~lWiv~rIZU9sjXFJWh?We zjt|QxvqjfXYE0Q(H;p0HCgai^QWoVnmo1f$lWlf_r>qVi zjgwEe(GzZQOQPxp;FiQpNwR13GRIOtHa;!m@x6Xa6&09;PyvrfGa4Saxk)Q!P z*f*@6!bK0&0F;N9BB6$9(xrx{lfo3^WbM?Qy;Ou|v~pZd@w$wa$vI1Yw@W7HB-h<8 znOqx|$mIAKwntZgBT&|SO}I9Ns=9M+oYY*VFi!fs3+a(^>o!g%clF7_I9ae(mnN4Y zOrsg@I>}}-wTUut+Jdo*+j2Pyv`06@)C3H4k2cO5 z%;|(hlTzGQfj_rTcIXjCWsuzmF7Y}V*xAq*~;5uu=d9*@+)tlB{ zthMNXD_3k@K^p|(T)|l{WxIWf$U6sY*9)|9(b0CvI3?jOxMCCUDWssZ z^I2@e56A-$>(-OYvg9DdA%INbxkfcEPGq~l%d7f9Z?BmmUAtK zgu{X@=l;tIXSZGBJlfgKK`P`9fn#&KQXbvHDHhwAD|g@Bj{DeD!`&~gR^pv)9c^g0 zWMYTAJ5LPkO3uEi9p_Qm(RHdf!u$KD^4K-du?N)2G&Zu!b+~l)ee4pBj4QkW&9Q+j z^Jq;*x}gmlxqVx#zKVV_f3Cx`H*TP>+4p&yR&6wCcUX^gQMFL(hKMSXGtpYJO!hY! zY|L{QAvug#Uuj_JlU&-x%X|zPu#AmUy3uQBq<`G5jy+Yf4fa2E>2l_Wyi4zb%$*TT zxSKgGUiVJNAqdN*YdZd{s+1iVllX$=#dWj`c^h4ulM?~N;L`d`2E|}xa^jSPwv&Zv z(L1A0!|0tLA_Zmtr9wp^dM5&!pl;k3{%MzhovL+Q((H`f; zwQff!qDW{>w$N#Hg^|JDXz>yFXO^wbkKxiZqJ`_9CQ>*LC6J-c4%IZoz5E|1X4__R5=8~K8ejzAISy7n@f5#(C9>A)s+ zHF&zsRH-Vf1PUOfKh;T!1r9@>l~;Re{i)$dwcXy6+a|YyC?+jG{;PAVwtqy8lBr4g zWQUvztjqV5PPI_QwS5Nn zoMd5(Np4MBOmZ!4G0AN@vkUZd_lR|0dJ%{<3Ykx!tc;e*76F3B6ry1oNsbNEQ*!Jw zv?OOuFpD)YnQ)Yac1oonrGX{6bxl{3bGJz)xgTygNj|0VLhB86_Mn9|D#DkRg~GYE zU6hW~1upCrDQI)~Ai0(nio$KWG%3e4>jhLKqL`8_n!Y5>Y<1{D2C9^m3^HY+UGCG7 z(X~jBVz~2k5gG=D6ue{or_1P)JiDBu8`=pp#)vRGBSfSMEnH>~OQGXv!-CG%q>J8k z;w2v`iLFnZnl}NFEbM{YlAn*b!JqDt2x{1Ss$KT(&OZ0N6K5}+ck0sF3+MB9 z%Ay6c=WHAroV})ha`rl`276|oGH;OuIB5YE@#^ttk5|d#T=ICwd0Z$wE+-!!Iv6(} z9~K|i6dqTe{{L1CTb2JkfuH#c=FMNg@8fQd*TLg_@Sm$MRP#8K!9`g7PEPpm_Vi`e zv+-&kW|yIPE6!Yd(q#X(YM!1us^$&u9VMdwPEJ(wwvA5B(}gjM7f%$vnka)Ha`vHHKq+}q-Xyh+OC5aJBKX&{++|D+7EE=L8~d~)KPl*r*Lx!H-~Vi1Cqaf_3sq^{SyBaZt%4|t-&L!>Hr>!t2`BECjWk& ze|TBAo~wFVJxJsCDN_6?tp3jC-=mK{Iwr3VzNx46!6#MKe!i8C{^YKIoB8+i2zUCM zds?SM#2L7i`2wo}{ymX@igN|wt{~hpzEgVo)xa>qzZC8u;SLh+VTh8y%9p}T@hw{W z_;=%P_q1+&a#bD2clt}|j^mKR-A1_E2$wUBPlbJT5$?{n_O$LihWdM+sP#Y9o&J84 ze<{83kN3647adVO$9(*MDc?6lIHhoaa0dwYZ4n)Rv*Y(I{3<=Q$-YyMYVG^b5!Gx} zUi{6D-*@nv!X5avqgn?(dPG@_{QY}`Q=KTi>j`%~;cn+UC7J5)2HaA5BfoxBYvf}` z1}n)^z{`2q;G}&(hpnJ=iuq|m;CO= zLH#oQz2V_jb$^jT3I}^M@*R7mRedK#;x~oUZ_Pzjb@vmVSl#*Js#1}kf``f>-V)Cj z*;F_D`V*@Qmf#qFDZPZtU&$HaBO_PI6UUyj@eOB;*bK z(6QHy`mbaAsnky$s}$ZJ9eV|<-#Jzft}68}$7;cu01pagURKwz1$1aJ*pN?mlzxdGcv4+$Cj;x-ZKJE9&%zf^BWJBVp{-4Z+)} zCsapQE5NBfp1{bo9(;A-|8j7Ouk>F9PWAl+IQ2^KzDQsGZvo#z{Ymydp*ps@mfvd% z|LeiG7WiZGFY@~=IJMUks;5p{p83HaD$kb*pRn@(E_giJQ}LDGr4e5K%CDyX=;|N9 zdvf@vRsY)XpV=h?y*?9vD*q=I4W{}&8m#iDC#im)4c=ei7lQAk{GvnjECXL#_^$$A zSKxKv0|h=0e0_oY!8a6mC-}w!Uk={)_MXAzeJ^OoFFAMx$@EzcG;17f6zN4pg z9KWLPll6)+)6-JD3jZ2-=6icu z+ONh2j5kc@0H;6C;EoF@D%t^LCf6TKL=k({A;Lh<^M}!{P+`nPwm3b1P`8eREy#e{^)8pcpR)?!Y|-svcSI#zT=Lb z)?HElh2R5U>1j<8UgcR1o^@wWYhn1W0k8RLPisT?UkvVfSxW!dY5;sK{?Cr^9dK3n zUjaUNS5NEJ5&vrN{IB=4{xtCKfgb|DF7PM7SA3(V^;dy!18@E-_&fOT>)`aK`nb0X z|DX#$1fF?MPwNGd-V;$N7K1g?s=UX7Z}@gkYiZyYy2@c$DE$TCNATYn{%3UguLW=T zZcl3ws)^FO3_P3i&n3M2!(Q-}KdAlR3clrsJ*^8O{71kuAFBOt1F!s9?SCKmx~eya z?<3wreZ4uq7lP+Jx%NLByzgnft+z*eoDZJ$^xoEM0}q0)J+8O4HOkWgSI_KieLwIU z!1sfHBk()G+n?3j>WTXQD0t-Ay{-M>e>=E3zQ%tI-VZ(+K30AF2z>o>ds`YOgdYXB zp4Zzt2}MHqs6x3_ea`|v_?5oa+~EJ&;N$5OmkPfa{J_`xS{H}^YVhj2>hxX;ep`VzfWHGCiSQSJU-I?7mh@w#HvrxWPX3pH zzgqZDfd2u!FT!6A9{om*e@p)06#tFj8y5Grwh>VO_7uAEoyd@EzbZ{(K93`nkQW>mt1ez<00jZQU2?{R{Ze zhThg6hrh;yON;)j@nx{UPhuR|x3RbN7ZLwi;0>F4TYdC9<^QYT3oqzxofiJ5g7<^p z9(Waa&V{|Lh46*KZvv-3m8TzkLm|IZp22o+>zP!5!f(faAM{AGSASD}`v!YkzZ&$9 zf!|d4EB_mZh#&sDzz6WZ6|DGIfYYDyf1Sb?`TsWfrUGB9_?Pvzeo7?K^AYg9BfYIR z1^xo~hVkCk-$Z_20jEEue>eExRBs-i{ug-uuHM$0BfJ#wOE=Z>mg!nGSl}bUhj#b2 zB-fPxap3KR|Fgj3V4BU!HxE2n_@4zHDe!9W?N{`+?vDH~0U!9Uy{$Jye;x-v_}bo< z^hD+N8{qV(@>~TTc|&h&b@;y(d}WdTJHY!2{JY>i1wH`2qQDxzt}gHg@xQ9T9|Na9 z<^LJ*ZAJV11^D&?-wnQ_!1sdhEb!lf_ubdmdYB4RfB#3}A21(;4&k2)|9xNU4l)&f z0*rU*1IR1tNBD{013#+qOz^!wAwBq8{?8EpX^o#FTpiW=^GI(V_*Tj{*YL5`i{)R? z_Y&}Z1-=w~e}OyT2MT-@_`w3d6MTU5X&&e~wz?jCV^N=nz&926Yv2b8{MX<+KHb}r zT}SQzL&g70Zyry71|9(?{p%>E*fS6Hwr&poITn1|=X@b7`|C%r!k`~mO-h5yIF zJQnsnaDl~Nj}%z^RV`2b_vp&_>xoC@@kso2FSz8dd!Kxi>061v z&UngEtt}*z`0LgJi@(k|`l!~s!{7L;z+Zy?8AbkI1oaT-qtgc z`~=VXc5mzB;s0Ln?clctz6rdnp!c)jOTN>a_1&+5_kokX`(5zqMfe|qXVV@uwzc;^ zf$#k5-aLOj_Q_-ve=6T|z-JWkPXMnh@Eq`(0xtotEAVpgh61kuZ!Yi}@P!3F7d%+t zjo|GCemQuuz+1rwzT0c^S@r!Y@W|ivwq&;u{;%K@&a3(Rt>D}Kwzu{2&{wVl&%VF6 zbxDN(0Qic(BfY>M2e0}2-qtS#{ycc|1HG+xQAbMu4)B9u*`b8L3Eua^-qs_5zYm^W z?}+g8!0AuzwHSQg zLv{O~2EO6p-q!0Q{2K85pY^t08tGjGz5;wf;BDZ$z#k6$8t}e3iS`w4jS|5N+-9L@LwPV_wkoc>h4=Xc=~!Fy&O zW&AFAxeR>E%)Zu(BmEWNhrzN_s(sdh*BsNA<<&*t?X&t?Cx`!b@U`G)1@3?kf^QG} zT5$RkJ#X&9zXLww{G-AiaBTHa@LkXB%l-e5!au98^_QW)eO=*c@6;c^4ZgDA@9%@J z0;3iZcW?R z@BWp(){}ythP(Vb-~$DHSAnma+t+$U(DQEaBj5uO|0Cc#sIN5sd{*(na|thf*z-{o2;2nW?fR9_;*SaC_72sRJ`vSiOe8!T# z)^CP>^n2jjmi4uyHmJQm0=^Uctk8Ep1AgGN+W&U&!{CXSKYbHCvZD6C54;CF_m@1q ze*|B@uJ(Tvd=ohNAI%cQJs0$~ei-FF9=!eHzT96=1m6n2HT+Knr$6!2SzUM|_{Mf$ z>&H=^SAh>)>h>*_?`rV;E!20E@AtuL2K!ncjPM5)ersJ{e+HhttuNar?v_7TD;-Mj z0q`O4XyBiN=Wg%InsEUIyM?;Fo}}DDWlVYrrQ)`lH}O1%5sF{sO-T zJZrcPeG@crO>3j8zhtjp@~Ga1;|6?iuI$^tJ2A1d%F@IwW@ z7(91JU+dRXdB7tDem(fc0>20RK!Fb`{zx7FcEvC7y^0S$Civwi;9Gb0wVoUK&0vY^ zUT~7n&ncF?#7}eNe|nM!M^`Tf&l&4$?FoK47rgF*1_4&yE2$uBb@9xXv`O)A#;AEe8HhBM@zN}Bo1)s3DFWXap9ee=% z+0b9sgD?HBb^m@jcm({Rpl1j8xP7(%9`Fg^ug3WEM)1S0tNr(bdtTqyx&ncu{`G$F zzPHr=9|Kl!v72&{Jp-c4?haNv}oTa zKZEfB|9Me=v%&lDznApYz9)h&y{P7glfm1;sI}&Q8hEhqe;GLaiJnWq>ps}mLJhO> z?f_o`PWstvy28H^eA9>eT8LK*|2yDA;NJ}VA@CU=uKDAS!0QV9r{D|0DgK?{LGb4y z{`bHqe59}S%Ta$nQT!YGjGxsWkAklP&yMgjjzhl#i~r?+Joqkfl21~dZvtNy_!02&H}|#94LpN^VFWx9csBTM zaEgC2_=G>K27E$TFb)!)8H##*w=bt;4gr0V1BClSAO?^_pyE>`i1`v zyzI|dFAe-K_|B*Inf*=vJt(gCTbk`2R`ZZAK|`dQ$FY!5C56qhlqbm#D6~cCdyCo ztbEJB8wz?}3f>p;K;_>AzLWCoiS*jwW$4eS5tjdU@TH_TH`3b;PWwHMA%}h77WzG6 z-ojr6p7FjO8{b9mJHWRSpJCAG`7n6aaBu64(H@@!k3YGub#}!6D)^E==xgy~>HSYW z=KL1+kO=>G;H$RQ`8@)D=#?%%mERLtxL9+br}ZZh{uuD$|Iyp}ok;Hm;5$xm`FITT zr6u6ouvc6d{;R+}|E;I>4)F8&w-tQr`+HjVg#U!_sfoXit}X{ZFzWU?<^L}5EaI=Q z@Q5Dp31I1Ws?#rmAG*8O#$$#5HhAuzzz>W^!ruq)p}oAmj;{U*yqNgE9Py9(FQiwr z=S=X01%5X8VcIYCpA*4r-q+VU$KubZmV%GRAGWgmR)CkW9y1nr4fwbsy^Y|NNamk0hR_^zTpZv}5A zzn@zBvDO5>@ljttQF`A2@4KY0^`40T0C>&kds?3f+=t+~rl9|5@csh-7w{nIpJd_D zMZlBbg@MliUkUzR;Emvi3;G7Y%Zl`d!B^kWYxYagw-3CZ_(ul)Zv)S#zn&cQ9RQDf zr>FI4I;g_m48DT$rT%jWdss{i}ICmikLnf(6|ypr)ZwTA@Dy)*h+ zr$+pzf*&CK%D^uGA0)j+hA9hp7V9@(4*!=bd{JK6Q)bh@lRS7i{&%0yXZBg;zYRQp zW}oeE5#9qH!Cr_OWAwiXytt76zXN^*eJ17ie((vD_u>eD5ZqIQKLoz@;?&=ct-b)h z_G`VZz?nD(HP9cy3X? zw}J0`-ch#Rs{Zo<@byJ{p90?n{dZuORvY{e@SMW`8{k{92QP{A?**^>bg%7?5&b^~ z&w77fYb^NfQSd&>X)8JeIg%HeLVwwANd_ud47w)w-))W0^fa6UzV2}!6SwL z%fT(icgVH+83sT2lit>~PjI{!eBlwSF9$uZ17C40{1g6f1@A*XN#7Oy?*rfS`rg(x zfo}%iO8YGc{5kO4BL6$UE$pG!hW|IgcNPBM1>aHd_fNnp>A!0t{G;G2;a}-*%KsP! zfxDjT_ABA%f#($MHy6CGz^8zZhrUGrYVfs1{+q#%%wc{Q>0buEy71o(ei-@q`XfC5 z-vr+SJ(`ax|KA2{zcmp2r0VV9R+0a8;M=$Mn*BlHZvc-J{+|R7vY%*Er1yF7{KEeW z;D>1c@gtNzZ4KUVapIR_tM7p~f4Rrjo0Yx{@B6X0&x!PAf%g>YJqtV^`^mEKUjXiT zOD)eG-t?yi{_{f_iKSmV(SNgL4wFi79@+P(amEc*V$7ILoeFyj^_$SHR4}(v@ z-{nhHeGYu^m-}r0mFWK(xcXMF?XMGl5PU!S)`p<>s1uMU=o?A?Jrlf`^fVq*71inB zLDpAJiSVnyY{JO$Vzc}y4`vK&zpdce-{>`cUHR<-U()W&`CSQ~!~UA255En(?_YXt zy-VTW13tdsmk)w(XTRUqBmGZ+ZzKIQo_q;>-Ss_YpHuv=f*(OYe^G@07Fhdld%)5M z9{^up;GctUEZYAm6nqeUP4hRU_dM`Q)kpBlLhv~H>yq$44}9$_>h!mPA1wOcB>2K2 zy{p0Z7XI%AZ!gMw1NauguZ{FS0lvHN|2+7Lg8%*uyczl?h@dw7Ciuapx_v?P-v>UO z_>gb%{qMnRiuC>weDLC${zt*bvH$R`k$*1@bqDe=$-Ae4A2_idpPvW5oB9^7D8CcI zgV4jUWb~W`uF$`e|0eLQ(7z97jW=7smlow20Z$U&^&ichkk5vjQFR6ubx1@9O?9&1)jtB zKR^601Yb#goF4su7`%`18@0vg-wVD9`H}kX>%g-=zK^ZG1D=n(hD|L0AA;{;d`a~7A}CKUOcYnZ=m ziSSFovy1kAG57@5N52vN>%q%j*V`Jg^3JGU3BJAPFFU~dsgHN}DSyfi9xUqrZQ$$i zKQ8L)1K^vU(${)bq<=H`jH<8ojA(!D2fLs0CHe4K{4b>be=Wk_0lw?@p4Pqy|4r~@ z5B7(am;d|Vb=2R=2>(;?gMU%u87ERd1^v$fU&Z|BvIx(ON!0=RN2e#*9=$HMc^w7eRnIkRn*TU_|BsKUk9FbpvTq^#UF14--|wx_~QV0vXCeL9X#^Q zdVcyj@O4XjTmQraPVv74eh7L_H2FnY!M9vox7YW|D)jR7|)YD znK_sIXrJK-|3dJ+v_C)8$FbGve5CU_vl&0m2KQXUIm77huK+*H`tq|P{#Nh|>Tf*o z<>2{6{plxL1!I!+U*Ur-_{6~aozndfcr@)h>|2@N;0|c*Oe|oatd>wpS zQQmvND~tO78}OAy`#dZR|EKZk2n6eX{P#tFn*~0^{A6q7|6K4m_K?d1p9H@4jlTa^ z^qv7eo%z98;lBxd3H>wmzkcxbr0?lf)fD(T^q&P0{>|W0p1uuyknl-fe-NC`za3M} zst$o~!~Y?RPhEqrLth5cUO#^HFTr==e?{=`KY$M*k1vS){uR9MX??l=dl@M2F6!@C z@FRsjbOQK3()03F)l%>cg}(n%@I&~!e5dT-9?rjQ3HmzV3(;@VeCD;_8;kh+6~4&t z{oqSk&)jF_IlB5JcoykBKhnDc{2=z4^9;|Zz6E}u;LpDW&%vIN`0t;<*WmB=(POJ8 zQSs}F@J|8XLjTww={*ztz#rG+_gpnp!B3}xA7uUA>6uZT1D;KKh#ixsTfmnV;dg-N zVE;NJ(w_uBRMhuxflr`(2h6{!-VR<2PV(k`;FaK;!vBxJS0I1Wc=sjnHRuOtM*80Z z&n)u)KKQ1hz8?n9Vm`kn?k9|xZi>)(=Rw}TJvWIuWM|223%`oiMC{{ZemfBjJ4o<-CL`betJr+^P2 zA5we%3V0BD5S!!&D}X1#gVDd%f!7uD(Kh&6{?3H{ z8^G72AJa{(e22hSlHcz}{(k{p$@;>p!~d(`{rD&O_y68G1-}%+PamHo>O7t=+V_-R8RK zo#P`zlf+wq&)`^l+sN1!E@HO(F53N5dvIN~roDROigQ-A&s=r(+H;AdeD%1-&b`&x zmdl0)Cg&}z?B0xU6m9Xz-Ma(4Y3uJmk=9v7-erDv%|_&BVOE{HlAMCr1e^><>o(4( zL|ca^xQCa5P7YOeC9i+l|Ly+Uc0U(lj}BIy?ZaCMXb-_w6GMYM_2F*%*ukC2LnG}i z+(4YZb=PnD9_Gc4j_#Kp8z3Lv#Q^e-XYIm8+7mnhKqc_HNdluoyX&B%mVd{tzIGCw zE+@THb^3V>7P6)WCb`N4%oW)dj$AsOu>p!2PY0{egF_QM9^3KKcjB7t@DF4ale}^S zB^y5WnG%|q8X3aD*`a@URN0Mj>HqM6J?NXitF0s4W8SvHR3l?!JNosolVZAum0*ba z?Tn4+bz2_Zj%2Jv33Nz(ikrO)|K!A5zI7^VpG9355Hl;i+VL zB~ot^Z=Ir7sDazM_MR<6B(rmz$5XhBd$Pl|FJn8~+qO>Q$lbN}CZ?kChVBSA$fTG# zIcwMciEYY=_nYB(f%vqyN^57kdYT&2LnR(8zCB#+;Q{S!2_DGyD{i=$e_MNO+<8PV zm6G8||A^j~8Rc%8u}-yaMYY=MT979i#(5KTye(iNW0+fHFCS{JuKEWDd1G{J#}?gb zJ~RmPCRA;i8Xg&>vbjRvcyV}iU}TDCg>$)AuV1%r{RNvct{Fjhp;M)`1C2>Tmsvw# z;cbnD109RJD8^3bzMWH@fe{2p{}$YI^^Xa-{)wTs`*hsVK^38QF6KFjNg9>QtVc%l zu&C-KKK+SOJ?ldNW#l<yQrPG`HC6|za7 z>0`_?orn5fo7=ay4Dle(G!b29{h|;ONWaM68>Nv2uUL(%HYdk+aIHIi#-Yi9j6wi$ z`Taz@-vv{uVBS;MhHF%}rJ^?=B>BZN$s=fodF)&z}{-_UOL@qM^8TRJwCC$!%zHwWO!7Llh*6`9os=Y$a{hQw~+rq zHo5tS^%IhChw*^kDtq_xQuDwL0wUp+1BG+;Rh}>ePSJafy7th-#Mp$T>!o+eWIVp7 z&CU7SCbzp2yge}#pH>pD#Bd=Q#slkDB6W&~`_xR~o5zf9oMeBhNh2{vO8-{v?d+e3 zh@f%3SFqJS5CUin^X&m(R0DU@gST7jS8d$9 zmbYQ5jn&$7SFXAc60IxjtvUn!qt2!Sa6+yM)$WjZqdm~(yFIQ?bsqg%t?EO?95<&S zi@kG*tIBXUJ%wM`L2#7o%=j7DF5dK77T1ffP`k66cM7(*(Wi&TtiHE$R~%23MDK?EhxWiNrXJGp8h*&y zT-_}pX@?bo=k47K1MS^wjWoswQq;tgmD734p4yNgMT>MEbh#>M!O&Pp%|Bf}`L}cv z1bg_{rFqCHJ-EcpXbk@j1-4>1|@l` zN2l*3jTs5DlMQT*fjrWk^pQLxn^(Bnfc&9F5I^pz$6Oe#yxl@M@lInEU|Jq(9C{Z_ zm6b*T+G}JlZ(t6>xX8navE9|!1fr}G`&mdiSt|C{eSB_{Yfh*E>^%#sGncPz`MMIX zl#I?KdChrXY-DQZC~B%pa2r|lzcjE`9n%Lx{ipZRb5XfW39NgNYPr3O85aY~$k=YZ za}l(TB68qDDSQ^ld1BYVHd^~tQ{1Fz5*jLa2|+g&s%z*XM7{8u9Xi|l$7?jwFV5^A z*`_zKw(rcL28RZQb>U)mz#n=|gUfECO4pt&7}CXv*}b1`v%B5Mbzoww(@`0v0q20b zhM7MlO4U_5lY1ragLX@&c9KX`AELBkGJaA`Pfk%a+p6J?WH_3?b#(u9K92x-dZ()2 z>r*-ZG_FOS54Ig!b*5@X(JwNSmr9aV^r1;ra@$+L{!fG?S(x6aOmwl4vB~)wZS~O+ z!}Cis&u3yCpYs-ZGb%c7V#E}nD?gvcSfU7x{=xC#an;Bky=Gx^$URiw;MBO>_!{+3 zf4~B_c*(-FgK8){$5$Ffyvrp=-c{`|j>7bXi@hwI9n?*1E}mV|c$A{#w?%UZn|>#6 z%`elpJvoz+o|?(Px?>7gJ~)#@$T0)G9Fsvj4wEr=kLK_6rb~9HA9Kl0@%(MZ3`pg- z9v&(2Xah8S>Dj3a{y0j8JjPOfH)81(lk90?Ate$I)kNd&s+(Ekg=A)G^&u=ZbkyzC z(U=sY(0RgpWNh1Gd09dpy1gJJS2#AE)R>W`hw&C|I6=TRG~A|}n!4d)JkoG+6{g{o z8n)qRP2X^_Dr>k{jW%40W^cGRYZwVdy`r^tQ#+;SWzqB+am6Ry4%V>Uj-!VKvsa0m zt}sX=UNBI@O(53!aa!`? zyWwZOD|t3MQ2o4fywyi*nzo|RdvdsV)Gs~er-@QL`Iww+#w?9AzxDVSulVIh`N*aD z18Scr^lD9UQYHIi3ijf7pyWN(L!*f^QM zDPm+#i}^fm`@AC{OU#9BBzmHY|I#~?$MjKqpzvr`L!RV|W*cPD~k1+=((U`u@IOFVfYtKBZy%5bd&ETT+69d~D-l^n`W{4?aEZ~?*LI+ZZuEto? zajW&#L4DU*EijwU;fABbr;b&u<5bLUu%Eitn^g24-Or!0#>`cjg5pirbrIte$`V`*hS5U(%#Y5XPfuHdE?yZsQI@FR2 z%YsCa+z)A=Wlj8&9d&^|l+(hId{v*WebXjqghEgCuZsu73Ev{QpnD?H9Q zJXp22j<>h(&YjF!I}DFTcEix`^Kq>x$v!hq?a-&TkOdltthR@B4a;Aq$novDg-z^O zD`Xq!8zP?deYAFX^+m#)9Ygrf;V0V-l9vm9oRk~;e4@O{`ss~;%*_aSX zeC5V3>=a=e+iDAaWqb*V0qlJplM;zCTd#q5<5Si*Fb8BI(6ld2jWWA$(3m@mEmh_b zTFc0^jXj8JBG{Mma%j!YWiuHZppcq&msBS1H7RE7$nvjDF19XXq({FoGpr@bayZr3 z9_k<1Uf9!M3oRMBYT-T0*0<~hVBTV`+=3N-4pO`-hp~mJtE$&WYDUXpi(!dzWd}{_ zOdHFm^pTD&R%xgy%jSgda+Zry)Wc>w52fX+mLcFe?RwEH314-}JjUde8LJUn-?1gc zibZvksn)mLLM8i*p2@9JN@j0{JFM}CCe@!u8eJ`x7AuILvtc!}PL{;kUNoe-25gB% zm4ooo;%W9#6}M%N9UWuk(N_}7>d6*ht8Z-vNONOrYPd?`71L}~oxQ%9y79K5(V+?X zMklnTQmc!JA^jAhg=DA!3@>h*Yz)7U$Hq)r*?j`iE5nRMwZA=TWFsLc#6 zqKtwNZ!{W97RJ_8Pq~nk`6re%_iQyWhxOH#G~6K7Y$P{2SWhfFt4!dfRuYY$>P`l6 zCowf@S21J*D>KqaNt60Y1Otm$*JU+Bax8 zf^P^z{6s^~i4@bM)Wv*A3UoadfX#9oOSMTSq(5|v;Ydi0(Q$o%-84i0hfy73d_f^` zy1!&=v#VywgCx^0Rl}t+vMY~1UT*oVT?@x^nWToN&o&W$c8eN#7v3jO$vn7K6J}QZA#%yy`67*pmjIT#Z|XX zo5mXSMQBtgbynkB+ePBS#Nv1d9E;AaF5=6dyQUeaErRh(H7XJrDOs&#$rs7}$OZx^0U|Iq z`}X^tQ&m0PWA7b;VY<71PM!K0%~>NAy+AAg5&6_aIZj$b1Vn*GnW@~Pzrp^n+f%C+ zXqIZPE2$b#mNgh7kr%<5-(N0Q+G>dL2=#qu&t_y8DO%es+4*=q>?N#v& zW)hG-)V1Q7d79i7p6HE7mZPQ``XeO#q;Gfa51CTUTyrXrRAV!Pl)$fOQ7zm;4AhYx zq`t0b7QMx29zv_tu6CL-x4b1RWE$`;w==R5)1KyLq$5@CO@XZ;JHZ0x%ve}UEBV+Z zD6_7Z3i{>V%oDxWXm98CBluvarmAA}mlxWERsHD2;|$Dhe|+Ymw{`zxAD_4zqD=zm z;~9nu+ZaFy{L1Ut2|PID7BgiT*FqNKR|=IxJ2i*wg_Y=-27{(r#2Sg@?v4T2H~!oh zeaWn0d*7~K$K1k}2&|q<=_(a83xMAJiMygf&n&phubAREa&kTyy4UGMII0X0@siHV zBAr1`r)`Tq#SgZ34#;e#`mHgG2hX{8=?Mv(ic+aWuP!?tbWu1ZBfnbd;;~v1I1_EXKXUQ#^PQJzvG!QC}92gI<)DAYK!F*0#&^CuO2+A!7S#-xKv z-h~|%o?Q`o1;pX5_rT69Qy#CoEH;wO@1JfIc<3!ll{Ts*^fsGmT9<66iK<)|{AT{G6_aEqRy!X^8gQewV^>;niUxH){Ca=xzRJ|-aDDSJ`UNC1 zB7PetmPXK>{(gA;^7&zU{Pykp*B{f5&tD$CGB>~AQ4S5|of^hj z?{8xzBqX1l$Y-hQB&7NgM`eH>tc%-XBxW8UdL> ze83fEMKqxcfqIXUp32c2O^ryb7y<9fV?UP#XOfp*tdb(wH+*F{9fO&oqzaW4^)XhD zgc|^W9pX`ci@TStVk|K4;q}$q)5S$v86oKs6xSev#z(QE<6&bQjD$>Mm8~Vh z$hwU#lq_?iWPMmGA)@FTj-ceA<45I8gzWc~&^JLyzvCG!U>GXN^RR`AnHrK(I{9z1 z5YO@%%_?R^VjSVA$(Ia#4zR+1oll1=geQuRT@h(-CDoyxfe8$%^1g?av0FdXBBFR2 zDiQg|%3AQ`##=+<;ml@?F;OUv>|o{HWivz}k5>*g^!q9=#uN1%9+sDfw-;j&;X{{fiE B-SPkc literal 0 HcmV?d00001 diff --git a/configure/compiler/src/bison.64 b/configure/compiler/src/bison.64 new file mode 100755 index 0000000000000000000000000000000000000000..2f18f78b1ef59d95fdda6e2e64c60c0f050d9bfe GIT binary patch literal 240848 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 z zEZrBFHNuj?lcx|*CSc+nRd}Pv09@MFo-me`Qhv@fQB1a&YhmX2gD@kG8wllD6O*v(s_2I&w5+3+emBGlEx4R} zG+1LbYPTlXr+=*0RCmBY$ijs<%k~6<^FvdC>p-={e9Sj4{8ZrMJn-Gu06rM-@Dd)y z{a@3OFb-J0msY`Y{})W(yD1h+uPJ~>juE^01OvOM5b^Q5u(sb56V2Ztk%AZ!vFj5& zyI`nx71+@$6WGmYbI(Q(A4U^q4Z~0}E|?T9nVkkLyeet5bxTUot7xqv6qA#_Ma{dh z9+iM?;TruuSpu>~upRXB_fSmwYFVmnX`F#501JIqXb=ea*86V1OD#^KpSP~(s@0*I z?95I2ee*ytH-Bvlv469rhiVy@VMFd8VSVvn5e`ZFjKzDmnT4>()Ylg zuAUCznj?BT%NZT9&WL(6-^U%EzEG1Pt&4oo0_e0VY{jJz)%-pn;wf-;&*ldl{{#H$ zkvd^F1It&r`Cq`AY`{b;t0$FnQ$gvHd%#?v5YzaKGp=Um&OzJsz*5@!*u@jeAh#&m zA=et2g64xILsQ`a=Si^tyqtgJV4_cr8`Osd2$W!D&(nV5teSQQ_QQkx< zsLHj@?`cN=u-5H_W#6lZ5 z0kbl`We}?^eK+37{Mj&n)U)g6YH>iZw9lE8--J!)xR0>b)w>oldV(Q#sfU-ZcAVWVsT?Hu{yUq;`ZX9YG!o zW2;B52%e(0ZO{*TnqS&4U|Y`olJd;L7F_fq7bzXPPzqzNgR$4HCdL`SP^+@^E$q8K z5mVhJsPk_Wbw+<;9|^03#w0wtgV|3XEL z{Bgk)C=NOW*8%8*n28_DDJ}a=6iS1P^+WE|jpwlsbhBHM@~ppLvld&RynqCWy)=m% z9mH{8szJiU+rJnpX*m99}hMjJ0 z=fq&<`q^A2Tm?+bVQVBnL+_7`nE~(;6_1S>s76C>kk+d*qvN3c^LwI4HQ(!$rwk)x zA>(H>7ip^Q5)V(vNne=*8LI;}a=eBz&YD{oJle|mE9iwYzt<~kAb=cwarYn&y?hR_ zuGa5+5}?uf_Goj*Xme+7?T!xN(yiw;r%_DV=FezPXMbu~9E4O?x*-;;hot`ORvi`- zYid8V?9w%IC^mOwW740LjS~b=YAFzVJ=s>5;IO!C%1p?R9z^ses#N-WoR#t8*lvMY zsU^k1qXWY$$0f(Yun=MMqij8AML1Ry&fKNX&q1{zEpWD?bzG>2KY{rc^bUut%ypb^ z?c@2P@;&+^b?G%wvqx$$^)i1fuPYi|zNhGD9G#lQ6Hao}Nsc*@X1((B!|=v1F8%Te zbREuaLmqr<7dO481v_ef?9L1fH8WVj98u)pxvkbbk|Vu_B}B&~kF=*MYLY7IerDWu zh@wuAY;0(0Z2U!kg7?N1d3BZw=XR3QFp3mpeo)*c`V5*Br$sV9n0W{EZXXO6dd2cQ zE6C05bd1v_!*Ez(L%K7wxeILAoxucmYgyr)={4BNetw-}Ku{a|aTq~_X1$#bdu4tm zXm&Xb$>QW^QG%En7GFs&v&!}q_NH3rnNgX!s@78WNOr&9T`MgKFHrQpRhOlT`r_1! zKr}oKMi^Br$XqveCI(xr5MwOrvY}*HLZC=z9oH4xmrugJYxoNEL9Gii;cNm%aofZZ zhHxAVu(lUg3MVTFTnpww`zJt<)?DKj8y=6%DYrDSQovdTEEF*FSm>9f{fq&zrRcvn zMO)gRF6xGHG^Ur)EedBY(;u$q(Y(a6&x;0^ga*L%!FcyL($M2i0f}sLTekVFeF5Z& zb4g<)b76AX=Xx1eq?t93a&yFjax=k&Q>8_)x~fV+0F{r*TJ1+w!S9JutL4#a&`EO2 zw?uD6=(h0;=%{@PT9m}G{*hjzN{DtnM z(n}YDPW1{Bi>^iuGWw$iLe5@^#o6dEpi`#K`u=i|1w!xexhI}o zj~Prw*Fz)hQn1+k5%gQm&$SF0`Jpqxp#A2%$c{re8HiNVE923~g#hY{L%jjZHE|el z)r|4LY0S2gpSqCVv!=6dwVM)0Rd&IO_#kewV-+B~Ly{ihiUf`vtl;+8xaA;s)Tqkt z@N4q$T-s1#m>1!2PBaBX@8og9mnj}jW$gYeG!lBr1;FRubqUWh&I5#J89M_3ESv}y zu%$hNP_q^muQuEK5C;fn=0FV9$f3HlmxV5k%|{y6aEy~(4U^k47}!=9ZO0KhZrq~I zfH0P;;j}(&%qy)+0eE%co644bSE;oyR%JdS>aLUF*o(sa*+$BWIs?SIi7M#pkJMi14*dYxy;JV zPH53J$YWST;l1@Gc4>W*eSb2012Yt@f{TRWFGZ=v*i1=I1deA>TlSk5Hh}`FcOCRm znH0BrmjI&V=jhu_EW+wY%Dt#}Xgpj#5PgJ#ohs;JU$_F;lk}`mCh|0|_U#|Zc*22X zm#o=MRRc<{`ICJyxPgFiV$B{&#wv>w;_MA*8SXse;3VK1R}p0g%UFv?!(7iX0PV>$ zwNv3Jaj5GkbTvT+^RhyciwY;|tgf0q0k?Qf;5!iAXcKjCts>K`5# zHg}IV*O4iEC(w+_8FBW#m=bU^)vRkiGJD7-9$t>s&y6=?b^4-&vYMjihIpi}ptAo# zo~}P&m_M~R1i9u~!+g)4{qMLyHIL>?d*uY|bA`WzTx=sr2eZ1N#}!^+VD++pP9Xe0 zI>Nb`wYO#FRSy4c$#m2)xAf;ktmQ($jd|wEAD_h;@H-r^2U?Ug+Dr_xrUz&_B>*mV z;J?Rj%Ysg7@PyDrdO41PL!m?4FP3;w*OJiZ809gdEP}TlF^|V;aP4vmNt;I$D^!ZW ze&quZpl0VV&C0l$Y1B>aZ6=?GF9n z(AF`)x+Qb-yc5?tNfS|DPu&M#3JEN_6=8aic%8#6oY(#IH~Ul z&T32}kdm9<5QdR7$1O{%be)sH)o13pAf=I)tOcxv{Wnd3+2f7gtIWPHxWL6lKe z;dg1M>9RC-fgj(OF0cvDaDj^6#1O?UrTn!jRLb5=;hJAUp6FF;u~G*@#fxFbP)70J z(YLdd@eN-Iha~hP#>eW}%=d2$(z*E`3yWG8Rn@g=(W@|G0`Fu1?0bO{{f>f{Hfe2) z0Wt**?Eo?RqxYBrQ$DaIIvL=sGe;es*|Yp9<%(@$&%t^Df#^74_wjMe!p(A)^5WK!q-kfnye&{ehXG2&H^ zkmxEqh&1WJ+GhYqS332;v%iX?hzaWm=VYh7{ar>{>R6a$e@+OPrQnfX7l*}h5VPwQ zJo>AsYp9HcS5VyNaE5B)T!*%RC2y3HNfF(uED1ul=OU|cVLcT zjRz_<%UU5;cZRfDYP!sYL)%7!L$d)omjb@Q$frmaeB1=M4moT?@G~|GVx#?66pm&40kJx?oNjHRa9%q@Ofh^OLN~thEWRR>pY67 z(SBS-*CMKF|AHq&-~(hhMq#|}WVk^^pKi%;Co;Ih+O!Xm!B%3K<7CK0hG-$wj)oi; ziGD&0(hZ?OhrLfdCWmXYHUC=(QDbojEp{rzgsDQ|^iT=(=8j=zO)R+l)wV{dz1yd+M48oG3)m|=Io%%|)uc!v?bK4`eJ5ks0i}mJC~#xfz;NhOvSX`YxBkX;``j=TuS9_7=KHtAy@piqLXFYqVz~ ziqakxsP+V*9BH{6-O`-7&@wdVUBg?NvjnQTG=M*B&a2s+8BeI@oC5~k<|I~|=A42= z`&Skv&AC}g|4+h-HWZ1`4;AQW1xh36Er1%eK6r$t#iB1Esw8{8lI-OTpvT3!ymkAc zB-z%1*B5I?A#XwE$awwlHCTJ{`G-jV9;He8KMs(dUQ;rAOrYpU;H`A=TspEpWw!d4 ztqV?iWI{X~SX@X*uc=-L$#bl_8ck+kGbS%{Qz7QT7=w4V^#-e-V;j|QRuCNoWaTdo zvF&=;`TFK=5;u25($G4w_v|Opw&kDC##Oc*ZRtdcfgn_70Y$l&;#|TaVebrA7n(cZ zq#>@%S)I#Q-nsinM<%R~*e^ASnxJmiork-LuwwNFbOZP7>J!yX2r}=UBdq{~Rs!yN zeL|}NenhD+pA_BSqNOh?^?R8z5FAXL>MoyD{hCxcnga^TUP7K~{=<0>)*eCbM@)r8 zHuN>*=0y*n!vm1jwJU;HM4qB1Q_&D~L{-@Fr%@kl5d6NB7r@n|_idCo7E8>$p#JB& zSZrvo0IGJ|c`Tmt(S9CD1Bv6QxLSBVYQ7S2V?lKp?|+y(xx(w#`+mt@i}dNZD94(+ zYh0f7t!=evy*jxVg6w-&V@VB*yQ}Ssk-52+%XV0R9op+gP?_1M3JVs$VrvpNU!t^lm`a#eSo3`ty)7GuG@|)N>yXU*q|?0Z)+9< z+KlETo3ODZ7iR@7kKTnAYE`)~6z&IfdX~T&Nx#WfM^AeS%E^W>%is)H+I{$2ZD4f` zD?$Z?BwvBQ;K)kdI}F;F7zArj6s#U>UYgpXx+_4`{#&GFHFon--ph}CNpLB^`r=+o zkR5kDhGys>IP+Ynb7wrDsc^q|tLSc%`9t;3$e~B(-hOQ!A%RNKfL%fw|gQ;WLK?c@VTRdvL6JJ=lX#xIcla*Mm>P znv~Mqt@=2XKucVoXup62x#hK$eYZLdiRiw_h)XSYrK;U4Bcyg$V>*lbE9>H#!kKmY z{Ir-76ep{#B253>{^T8qs*hJxfsY`n8h|0Hs}-^CAVyKm8j-%ze7Cx<%anZ#Ifa=( z7eRxnj+=ozb`9n$$lqJ#UyF&P9(gaWDYLdX0=4exwx&|=R)(Sm%5_HxrL$@;Aq|7x zT8#PyxU?#Z7h)e%R|3So&rV!Y+-*#tFolcY%ZtB8DQU6>gRQe}12K&{H!Mrm&}Tx1 zaPp4Tuk3DFd`jVy!Ka>fIh08a>t~>z^nau|LceEG2dIeEgPBlc9|vZYnFx~)E8{bu z*vqjY32sjTNLIU*aU{R8&lu`MTo|oWz*HwZ+d*h6o;QF&!u#7#Pk{%6&L7>@gekG6 zlD|Z<{j*}_b%k2E&b9%tZ*%dN0>9PgV0n6EPydWFGRd8`jJfjnpz9}2!-o2__{wQm zCuk_{7q09+&}^!;Pps^M^B3B~!29TDx#K%*OkwKGBeSvR1;m-3*mu4ii&fqlYhGcl zAcLO4TH0e|3c67q21!Q>SzK!+jeIducY{zHu#%FX0^r zSl2odh;vGyh6S0!;|mA#=+5ko*=AFH;SmiZ)3D38IHjt2DFYnhDEuy$XC2VTzE)e4 ze;xt@^GWlg$N=m>%Xs9jU}1=z^WDTWP#@Zh_73+z`(v`p&rG;K+6|6fqEQ;wWS@o3 z0{