From 479cf54adabf5afe1de98587f9d8dc1ea143725c Mon Sep 17 00:00:00 2001 From: konrad Date: Sun, 10 Jun 2018 11:11:41 +0200 Subject: [PATCH] initial commit --- .gitignore | 3 + LICENSE | 165 + Library | Bin 0 -> 9008416 bytes Makefile | 156 + config.ini.sample | 14 + main.go | 63 + models/config.go | 57 + models/config_test.go | 61 + models/error.go | 177 + models/fixtures/users.yml | 7 + models/main_test.go | 7 + models/message.go | 6 + models/models.go | 48 + models/models_test.go | 12 + models/test_fixtures.go | 19 + models/unit_tests.go | 48 + models/user.go | 93 + models/user_add_update.go | 125 + models/user_delete.go | 28 + models/user_test.go | 147 + models/users_list.go | 25 + routes/api/v1/token_check.go | 18 + routes/api/v1/user_add_update.go | 101 + routes/api/v1/user_delete.go | 57 + routes/api/v1/user_show.go | 43 + routes/api/v1/user_update_password.go | 76 + routes/cors.go | 16 + routes/login.go | 51 + routes/routes.go | 51 + vendor/github.com/davecgh/go-spew/LICENSE | 15 + .../github.com/davecgh/go-spew/spew/bypass.go | 152 + .../davecgh/go-spew/spew/bypasssafe.go | 38 + .../github.com/davecgh/go-spew/spew/common.go | 341 + .../github.com/davecgh/go-spew/spew/config.go | 306 + vendor/github.com/davecgh/go-spew/spew/doc.go | 211 + .../github.com/davecgh/go-spew/spew/dump.go | 509 + .../github.com/davecgh/go-spew/spew/format.go | 419 + .../github.com/davecgh/go-spew/spew/spew.go | 148 + vendor/github.com/dgrijalva/jwt-go/LICENSE | 8 + .../dgrijalva/jwt-go/MIGRATION_GUIDE.md | 97 + vendor/github.com/dgrijalva/jwt-go/README.md | 85 + .../dgrijalva/jwt-go/VERSION_HISTORY.md | 105 + vendor/github.com/dgrijalva/jwt-go/claims.go | 134 + vendor/github.com/dgrijalva/jwt-go/doc.go | 4 + vendor/github.com/dgrijalva/jwt-go/ecdsa.go | 147 + .../dgrijalva/jwt-go/ecdsa_utils.go | 67 + vendor/github.com/dgrijalva/jwt-go/errors.go | 59 + vendor/github.com/dgrijalva/jwt-go/hmac.go | 94 + .../github.com/dgrijalva/jwt-go/map_claims.go | 94 + vendor/github.com/dgrijalva/jwt-go/none.go | 52 + vendor/github.com/dgrijalva/jwt-go/parser.go | 131 + vendor/github.com/dgrijalva/jwt-go/rsa.go | 100 + vendor/github.com/dgrijalva/jwt-go/rsa_pss.go | 126 + .../github.com/dgrijalva/jwt-go/rsa_utils.go | 69 + .../dgrijalva/jwt-go/signing_method.go | 35 + vendor/github.com/dgrijalva/jwt-go/token.go | 108 + vendor/github.com/garyburd/redigo/LICENSE | 175 + .../garyburd/redigo/internal/commandinfo.go | 54 + .../github.com/garyburd/redigo/redis/conn.go | 651 + .../github.com/garyburd/redigo/redis/doc.go | 177 + .../github.com/garyburd/redigo/redis/go17.go | 33 + .../github.com/garyburd/redigo/redis/log.go | 117 + .../github.com/garyburd/redigo/redis/pool.go | 442 + .../garyburd/redigo/redis/pre_go17.go | 31 + .../garyburd/redigo/redis/pubsub.go | 144 + .../github.com/garyburd/redigo/redis/redis.go | 61 + .../github.com/garyburd/redigo/redis/reply.go | 479 + .../github.com/garyburd/redigo/redis/scan.go | 585 + .../garyburd/redigo/redis/script.go | 91 + vendor/github.com/go-ini/ini/LICENSE | 191 + vendor/github.com/go-ini/ini/Makefile | 12 + vendor/github.com/go-ini/ini/README.md | 746 + vendor/github.com/go-ini/ini/README_ZH.md | 733 + vendor/github.com/go-ini/ini/error.go | 32 + vendor/github.com/go-ini/ini/ini.go | 556 + vendor/github.com/go-ini/ini/key.go | 699 + vendor/github.com/go-ini/ini/parser.go | 361 + vendor/github.com/go-ini/ini/section.go | 248 + vendor/github.com/go-ini/ini/struct.go | 500 + vendor/github.com/go-sql-driver/mysql/AUTHORS | 74 + .../go-sql-driver/mysql/CHANGELOG.md | 119 + .../go-sql-driver/mysql/CONTRIBUTING.md | 23 + vendor/github.com/go-sql-driver/mysql/LICENSE | 373 + .../github.com/go-sql-driver/mysql/README.md | 467 + .../go-sql-driver/mysql/appengine.go | 19 + .../github.com/go-sql-driver/mysql/buffer.go | 147 + .../go-sql-driver/mysql/collations.go | 250 + .../go-sql-driver/mysql/connection.go | 460 + .../go-sql-driver/mysql/connection_go18.go | 197 + .../github.com/go-sql-driver/mysql/const.go | 163 + .../github.com/go-sql-driver/mysql/driver.go | 193 + vendor/github.com/go-sql-driver/mysql/dsn.go | 586 + .../github.com/go-sql-driver/mysql/errors.go | 65 + .../github.com/go-sql-driver/mysql/infile.go | 183 + .../github.com/go-sql-driver/mysql/packets.go | 1304 + .../github.com/go-sql-driver/mysql/result.go | 22 + vendor/github.com/go-sql-driver/mysql/rows.go | 184 + .../go-sql-driver/mysql/statement.go | 162 + .../go-sql-driver/mysql/transaction.go | 31 + .../github.com/go-sql-driver/mysql/utils.go | 822 + .../go-sql-driver/mysql/utils_go17.go | 40 + .../go-sql-driver/mysql/utils_go18.go | 49 + .../go-sql-driver/mysql/utils_legacy.go | 18 + vendor/github.com/go-xorm/builder/LICENSE | 27 + vendor/github.com/go-xorm/builder/README.md | 175 + vendor/github.com/go-xorm/builder/builder.go | 190 + .../go-xorm/builder/builder_delete.go | 22 + .../go-xorm/builder/builder_insert.go | 64 + .../go-xorm/builder/builder_select.go | 53 + .../go-xorm/builder/builder_update.go | 41 + vendor/github.com/go-xorm/builder/circle.yml | 12 + vendor/github.com/go-xorm/builder/cond.go | 87 + vendor/github.com/go-xorm/builder/cond_and.go | 59 + .../go-xorm/builder/cond_between.go | 40 + .../go-xorm/builder/cond_compare.go | 154 + vendor/github.com/go-xorm/builder/cond_eq.go | 96 + .../github.com/go-xorm/builder/cond_expr.go | 39 + vendor/github.com/go-xorm/builder/cond_in.go | 237 + .../github.com/go-xorm/builder/cond_like.go | 41 + vendor/github.com/go-xorm/builder/cond_neq.go | 78 + vendor/github.com/go-xorm/builder/cond_not.go | 53 + .../github.com/go-xorm/builder/cond_notin.go | 234 + .../github.com/go-xorm/builder/cond_null.go | 59 + vendor/github.com/go-xorm/builder/cond_or.go | 67 + vendor/github.com/go-xorm/builder/doc.go | 120 + vendor/github.com/go-xorm/builder/error.go | 16 + vendor/github.com/go-xorm/core/LICENSE | 27 + vendor/github.com/go-xorm/core/README.md | 116 + vendor/github.com/go-xorm/core/benchmark.sh | 1 + vendor/github.com/go-xorm/core/cache.go | 87 + vendor/github.com/go-xorm/core/circle.yml | 14 + vendor/github.com/go-xorm/core/column.go | 159 + vendor/github.com/go-xorm/core/converstion.go | 8 + vendor/github.com/go-xorm/core/db.go | 368 + vendor/github.com/go-xorm/core/dialect.go | 310 + vendor/github.com/go-xorm/core/driver.go | 27 + vendor/github.com/go-xorm/core/error.go | 8 + vendor/github.com/go-xorm/core/filter.go | 64 + vendor/github.com/go-xorm/core/ilogger.go | 31 + vendor/github.com/go-xorm/core/index.go | 61 + vendor/github.com/go-xorm/core/mapper.go | 254 + vendor/github.com/go-xorm/core/pk.go | 26 + vendor/github.com/go-xorm/core/rows.go | 392 + vendor/github.com/go-xorm/core/scan.go | 52 + vendor/github.com/go-xorm/core/table.go | 152 + vendor/github.com/go-xorm/core/type.go | 305 + .../go-xorm/xorm-redis-cache/LICENSE | 28 + .../go-xorm/xorm-redis-cache/README.md | 9 + .../go-xorm/xorm-redis-cache/redis_cacher.go | 302 + .../go-xorm/xorm-redis-cache/run_test.sh | 6 + .../github.com/go-xorm/xorm/CONTRIBUTING.md | 49 + vendor/github.com/go-xorm/xorm/LICENSE | 27 + vendor/github.com/go-xorm/xorm/README.md | 315 + vendor/github.com/go-xorm/xorm/README_CN.md | 321 + vendor/github.com/go-xorm/xorm/cache_lru.go | 284 + .../go-xorm/xorm/cache_memory_store.go | 51 + vendor/github.com/go-xorm/xorm/circle.yml | 38 + vendor/github.com/go-xorm/xorm/convert.go | 348 + .../github.com/go-xorm/xorm/dialect_mssql.go | 562 + .../github.com/go-xorm/xorm/dialect_mysql.go | 582 + .../github.com/go-xorm/xorm/dialect_oracle.go | 906 + .../go-xorm/xorm/dialect_postgres.go | 1209 + .../go-xorm/xorm/dialect_sqlite3.go | 456 + vendor/github.com/go-xorm/xorm/doc.go | 184 + vendor/github.com/go-xorm/xorm/engine.go | 1587 + vendor/github.com/go-xorm/xorm/engine_cond.go | 230 + .../github.com/go-xorm/xorm/engine_maxlife.go | 14 + vendor/github.com/go-xorm/xorm/error.go | 26 + .../github.com/go-xorm/xorm/gen_reserved.sh | 6 + vendor/github.com/go-xorm/xorm/helpers.go | 473 + .../github.com/go-xorm/xorm/helpler_time.go | 21 + vendor/github.com/go-xorm/xorm/logger.go | 187 + .../github.com/go-xorm/xorm/pg_reserved.txt | 746 + vendor/github.com/go-xorm/xorm/processors.go | 78 + vendor/github.com/go-xorm/xorm/rows.go | 134 + vendor/github.com/go-xorm/xorm/session.go | 839 + .../github.com/go-xorm/xorm/session_cols.go | 84 + .../github.com/go-xorm/xorm/session_cond.go | 70 + .../go-xorm/xorm/session_convert.go | 662 + .../github.com/go-xorm/xorm/session_delete.go | 240 + .../github.com/go-xorm/xorm/session_exist.go | 77 + .../github.com/go-xorm/xorm/session_find.go | 462 + vendor/github.com/go-xorm/xorm/session_get.go | 203 + .../github.com/go-xorm/xorm/session_insert.go | 554 + .../go-xorm/xorm/session_iterate.go | 96 + .../github.com/go-xorm/xorm/session_query.go | 177 + vendor/github.com/go-xorm/xorm/session_raw.go | 196 + .../github.com/go-xorm/xorm/session_schema.go | 436 + .../github.com/go-xorm/xorm/session_stats.go | 98 + vendor/github.com/go-xorm/xorm/session_tx.go | 81 + .../github.com/go-xorm/xorm/session_update.go | 391 + vendor/github.com/go-xorm/xorm/statement.go | 1255 + vendor/github.com/go-xorm/xorm/syslogger.go | 89 + vendor/github.com/go-xorm/xorm/tag.go | 290 + vendor/github.com/go-xorm/xorm/test_mssql.sh | 1 + .../go-xorm/xorm/test_mssql_cache.sh | 1 + .../github.com/go-xorm/xorm/test_mymysql.sh | 1 + .../go-xorm/xorm/test_mymysql_cache.sh | 1 + vendor/github.com/go-xorm/xorm/test_mysql.sh | 1 + .../go-xorm/xorm/test_mysql_cache.sh | 1 + .../github.com/go-xorm/xorm/test_postgres.sh | 1 + .../go-xorm/xorm/test_postgres_cache.sh | 1 + vendor/github.com/go-xorm/xorm/test_sqlite.sh | 1 + .../go-xorm/xorm/test_sqlite_cache.sh | 1 + vendor/github.com/go-xorm/xorm/types.go | 12 + vendor/github.com/go-xorm/xorm/xorm.go | 114 + vendor/github.com/gorilla/context/LICENSE | 27 + vendor/github.com/gorilla/context/README.md | 10 + vendor/github.com/gorilla/context/context.go | 143 + vendor/github.com/gorilla/context/doc.go | 88 + .../github.com/gorilla/securecookie/LICENSE | 27 + .../github.com/gorilla/securecookie/README.md | 80 + vendor/github.com/gorilla/securecookie/doc.go | 61 + .../github.com/gorilla/securecookie/fuzz.go | 25 + .../gorilla/securecookie/securecookie.go | 646 + vendor/github.com/gorilla/sessions/LICENSE | 27 + vendor/github.com/gorilla/sessions/README.md | 90 + vendor/github.com/gorilla/sessions/doc.go | 198 + vendor/github.com/gorilla/sessions/lex.go | 102 + .../github.com/gorilla/sessions/sessions.go | 241 + vendor/github.com/gorilla/sessions/store.go | 295 + .../github.com/labstack/echo-contrib/LICENSE | 21 + .../labstack/echo-contrib/session/session.go | 65 + vendor/github.com/labstack/echo/LICENSE | 21 + vendor/github.com/labstack/echo/README.md | 54 + vendor/github.com/labstack/echo/bind.go | 259 + vendor/github.com/labstack/echo/context.go | 560 + vendor/github.com/labstack/echo/echo.go | 678 + vendor/github.com/labstack/echo/echo_go1.8.go | 25 + vendor/github.com/labstack/echo/glide.lock | 92 + vendor/github.com/labstack/echo/glide.yaml | 30 + vendor/github.com/labstack/echo/group.go | 113 + vendor/github.com/labstack/echo/log.go | 40 + .../labstack/echo/middleware/basic_auth.go | 106 + .../labstack/echo/middleware/body_limit.go | 116 + .../labstack/echo/middleware/compress.go | 121 + .../labstack/echo/middleware/cors.go | 139 + .../labstack/echo/middleware/csrf.go | 210 + .../labstack/echo/middleware/jwt.go | 189 + .../labstack/echo/middleware/key_auth.go | 136 + .../labstack/echo/middleware/logger.go | 197 + .../echo/middleware/method_override.go | 88 + .../labstack/echo/middleware/middleware.go | 14 + .../labstack/echo/middleware/recover.go | 85 + .../labstack/echo/middleware/redirect.go | 215 + .../labstack/echo/middleware/request_id.go | 64 + .../labstack/echo/middleware/secure.go | 116 + .../labstack/echo/middleware/slash.go | 119 + .../labstack/echo/middleware/static.go | 141 + vendor/github.com/labstack/echo/response.go | 89 + vendor/github.com/labstack/echo/router.go | 437 + vendor/github.com/labstack/gommon/LICENSE | 22 + .../labstack/gommon/bytes/README.md | 29 + .../github.com/labstack/gommon/bytes/bytes.go | 106 + .../labstack/gommon/color/README.md | 86 + .../github.com/labstack/gommon/color/color.go | 407 + .../github.com/labstack/gommon/log/README.md | 5 + .../github.com/labstack/gommon/log/color.go | 13 + vendor/github.com/labstack/gommon/log/log.go | 405 + .../github.com/labstack/gommon/log/white.go | 12 + .../labstack/gommon/random/random.go | 48 + vendor/github.com/mattn/go-colorable/LICENSE | 21 + .../github.com/mattn/go-colorable/README.md | 48 + .../mattn/go-colorable/colorable_appengine.go | 29 + .../mattn/go-colorable/colorable_others.go | 30 + .../mattn/go-colorable/colorable_windows.go | 968 + .../mattn/go-colorable/noncolorable.go | 55 + vendor/github.com/mattn/go-isatty/LICENSE | 9 + vendor/github.com/mattn/go-isatty/README.md | 50 + vendor/github.com/mattn/go-isatty/doc.go | 2 + .../mattn/go-isatty/isatty_appengine.go | 15 + .../github.com/mattn/go-isatty/isatty_bsd.go | 18 + .../mattn/go-isatty/isatty_linux.go | 18 + .../mattn/go-isatty/isatty_linux_ppc64x.go | 19 + .../mattn/go-isatty/isatty_others.go | 10 + .../mattn/go-isatty/isatty_solaris.go | 16 + .../mattn/go-isatty/isatty_windows.go | 94 + vendor/github.com/mattn/go-sqlite3/LICENSE | 21 + vendor/github.com/mattn/go-sqlite3/README.md | 97 + vendor/github.com/mattn/go-sqlite3/backup.go | 85 + .../github.com/mattn/go-sqlite3/callback.go | 364 + vendor/github.com/mattn/go-sqlite3/doc.go | 112 + vendor/github.com/mattn/go-sqlite3/error.go | 135 + .../mattn/go-sqlite3/sqlite3-binding.c | 205357 +++++++++++++++ .../mattn/go-sqlite3/sqlite3-binding.h | 10732 + vendor/github.com/mattn/go-sqlite3/sqlite3.go | 1347 + .../mattn/go-sqlite3/sqlite3_context.go | 103 + .../mattn/go-sqlite3/sqlite3_fts5.go | 13 + .../mattn/go-sqlite3/sqlite3_go18.go | 69 + .../mattn/go-sqlite3/sqlite3_icu.go | 13 + .../mattn/go-sqlite3/sqlite3_json1.go | 12 + .../mattn/go-sqlite3/sqlite3_libsqlite3.go | 15 + .../go-sqlite3/sqlite3_load_extension.go | 69 + .../go-sqlite3/sqlite3_omit_load_extension.go | 23 + .../mattn/go-sqlite3/sqlite3_other.go | 14 + .../mattn/go-sqlite3/sqlite3_trace.go | 285 + .../mattn/go-sqlite3/sqlite3_type.go | 57 + .../mattn/go-sqlite3/sqlite3_vtable.go | 646 + .../mattn/go-sqlite3/sqlite3_windows.go | 14 + .../github.com/mattn/go-sqlite3/sqlite3ext.h | 583 + vendor/github.com/pmezard/go-difflib/LICENSE | 27 + .../pmezard/go-difflib/difflib/difflib.go | 772 + vendor/github.com/stretchr/testify/LICENSE | 22 + .../testify/assert/assertion_format.go | 349 + .../testify/assert/assertion_format.go.tmpl | 4 + .../testify/assert/assertion_forward.go | 686 + .../testify/assert/assertion_forward.go.tmpl | 4 + .../stretchr/testify/assert/assertions.go | 1256 + .../github.com/stretchr/testify/assert/doc.go | 45 + .../stretchr/testify/assert/errors.go | 10 + .../testify/assert/forward_assertions.go | 16 + .../testify/assert/http_assertions.go | 127 + .../github.com/valyala/bytebufferpool/LICENSE | 22 + .../valyala/bytebufferpool/README.md | 21 + .../valyala/bytebufferpool/bytebuffer.go | 111 + .../github.com/valyala/bytebufferpool/doc.go | 7 + .../github.com/valyala/bytebufferpool/pool.go | 151 + .../github.com/valyala/fasttemplate/LICENSE | 22 + .../github.com/valyala/fasttemplate/README.md | 85 + .../valyala/fasttemplate/template.go | 317 + .../github.com/valyala/fasttemplate/unsafe.go | 22 + .../valyala/fasttemplate/unsafe_gae.go | 11 + vendor/golang.org/x/crypto/LICENSE | 27 + vendor/golang.org/x/crypto/PATENTS | 22 + vendor/golang.org/x/crypto/acme/acme.go | 1054 + .../x/crypto/acme/autocert/autocert.go | 821 + .../x/crypto/acme/autocert/cache.go | 130 + .../x/crypto/acme/autocert/listener.go | 160 + .../x/crypto/acme/autocert/renewal.go | 124 + vendor/golang.org/x/crypto/acme/jws.go | 153 + vendor/golang.org/x/crypto/acme/types.go | 329 + vendor/golang.org/x/crypto/bcrypt/base64.go | 35 + vendor/golang.org/x/crypto/bcrypt/bcrypt.go | 295 + vendor/golang.org/x/crypto/blowfish/block.go | 159 + vendor/golang.org/x/crypto/blowfish/cipher.go | 91 + vendor/golang.org/x/crypto/blowfish/const.go | 199 + vendor/golang.org/x/net/LICENSE | 27 + vendor/golang.org/x/net/PATENTS | 22 + vendor/golang.org/x/net/context/context.go | 56 + vendor/golang.org/x/net/context/go17.go | 72 + vendor/golang.org/x/net/context/go19.go | 20 + vendor/golang.org/x/net/context/pre_go17.go | 300 + vendor/golang.org/x/net/context/pre_go19.go | 109 + vendor/golang.org/x/sys/LICENSE | 27 + vendor/golang.org/x/sys/PATENTS | 22 + vendor/golang.org/x/sys/unix/README.md | 173 + vendor/golang.org/x/sys/unix/asm_darwin_386.s | 29 + .../golang.org/x/sys/unix/asm_darwin_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_darwin_arm.s | 30 + .../golang.org/x/sys/unix/asm_darwin_arm64.s | 30 + .../x/sys/unix/asm_dragonfly_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_386.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_freebsd_arm.s | 29 + vendor/golang.org/x/sys/unix/asm_linux_386.s | 35 + .../golang.org/x/sys/unix/asm_linux_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_linux_arm.s | 29 + .../golang.org/x/sys/unix/asm_linux_arm64.s | 24 + .../golang.org/x/sys/unix/asm_linux_mips64x.s | 28 + .../golang.org/x/sys/unix/asm_linux_mipsx.s | 31 + .../golang.org/x/sys/unix/asm_linux_ppc64x.s | 28 + .../golang.org/x/sys/unix/asm_linux_s390x.s | 28 + vendor/golang.org/x/sys/unix/asm_netbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_netbsd_amd64.s | 29 + vendor/golang.org/x/sys/unix/asm_netbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_386.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_amd64.s | 29 + .../golang.org/x/sys/unix/asm_openbsd_arm.s | 29 + .../golang.org/x/sys/unix/asm_solaris_amd64.s | 17 + .../golang.org/x/sys/unix/bluetooth_linux.go | 35 + vendor/golang.org/x/sys/unix/cap_freebsd.go | 195 + vendor/golang.org/x/sys/unix/constants.go | 13 + vendor/golang.org/x/sys/unix/dev_darwin.go | 24 + vendor/golang.org/x/sys/unix/dev_dragonfly.go | 30 + vendor/golang.org/x/sys/unix/dev_freebsd.go | 30 + vendor/golang.org/x/sys/unix/dev_linux.go | 42 + vendor/golang.org/x/sys/unix/dev_netbsd.go | 29 + vendor/golang.org/x/sys/unix/dev_openbsd.go | 29 + vendor/golang.org/x/sys/unix/dirent.go | 102 + vendor/golang.org/x/sys/unix/endian_big.go | 9 + vendor/golang.org/x/sys/unix/endian_little.go | 9 + vendor/golang.org/x/sys/unix/env_unix.go | 27 + vendor/golang.org/x/sys/unix/env_unset.go | 14 + .../x/sys/unix/errors_freebsd_386.go | 227 + .../x/sys/unix/errors_freebsd_amd64.go | 227 + .../x/sys/unix/errors_freebsd_arm.go | 226 + vendor/golang.org/x/sys/unix/file_unix.go | 27 + vendor/golang.org/x/sys/unix/flock.go | 22 + .../x/sys/unix/flock_linux_32bit.go | 13 + vendor/golang.org/x/sys/unix/gccgo.go | 46 + vendor/golang.org/x/sys/unix/gccgo_c.c | 41 + .../x/sys/unix/gccgo_linux_amd64.go | 20 + vendor/golang.org/x/sys/unix/mkall.sh | 197 + vendor/golang.org/x/sys/unix/mkerrors.sh | 565 + vendor/golang.org/x/sys/unix/mkpost.go | 88 + vendor/golang.org/x/sys/unix/mksyscall.pl | 328 + .../x/sys/unix/mksyscall_solaris.pl | 289 + .../golang.org/x/sys/unix/mksysctl_openbsd.pl | 264 + .../golang.org/x/sys/unix/mksysnum_darwin.pl | 39 + .../x/sys/unix/mksysnum_dragonfly.pl | 50 + .../golang.org/x/sys/unix/mksysnum_freebsd.pl | 50 + .../golang.org/x/sys/unix/mksysnum_netbsd.pl | 58 + .../golang.org/x/sys/unix/mksysnum_openbsd.pl | 50 + .../golang.org/x/sys/unix/openbsd_pledge.go | 38 + vendor/golang.org/x/sys/unix/pagesize_unix.go | 15 + vendor/golang.org/x/sys/unix/race.go | 30 + vendor/golang.org/x/sys/unix/race0.go | 25 + .../golang.org/x/sys/unix/sockcmsg_linux.go | 36 + vendor/golang.org/x/sys/unix/sockcmsg_unix.go | 104 + vendor/golang.org/x/sys/unix/str.go | 26 + vendor/golang.org/x/sys/unix/syscall.go | 69 + vendor/golang.org/x/sys/unix/syscall_bsd.go | 635 + .../golang.org/x/sys/unix/syscall_darwin.go | 536 + .../x/sys/unix/syscall_darwin_386.go | 75 + .../x/sys/unix/syscall_darwin_amd64.go | 75 + .../x/sys/unix/syscall_darwin_arm.go | 69 + .../x/sys/unix/syscall_darwin_arm64.go | 75 + .../x/sys/unix/syscall_dragonfly.go | 415 + .../x/sys/unix/syscall_dragonfly_amd64.go | 59 + .../golang.org/x/sys/unix/syscall_freebsd.go | 708 + .../x/sys/unix/syscall_freebsd_386.go | 59 + .../x/sys/unix/syscall_freebsd_amd64.go | 59 + .../x/sys/unix/syscall_freebsd_arm.go | 59 + vendor/golang.org/x/sys/unix/syscall_linux.go | 1469 + .../x/sys/unix/syscall_linux_386.go | 397 + .../x/sys/unix/syscall_linux_amd64.go | 150 + .../x/sys/unix/syscall_linux_amd64_gc.go | 13 + .../x/sys/unix/syscall_linux_arm.go | 261 + .../x/sys/unix/syscall_linux_arm64.go | 188 + .../x/sys/unix/syscall_linux_mips64x.go | 207 + .../x/sys/unix/syscall_linux_mipsx.go | 237 + .../x/sys/unix/syscall_linux_ppc64x.go | 133 + .../x/sys/unix/syscall_linux_s390x.go | 326 + .../x/sys/unix/syscall_linux_sparc64.go | 149 + .../golang.org/x/sys/unix/syscall_netbsd.go | 472 + .../x/sys/unix/syscall_netbsd_386.go | 40 + .../x/sys/unix/syscall_netbsd_amd64.go | 40 + .../x/sys/unix/syscall_netbsd_arm.go | 40 + .../golang.org/x/sys/unix/syscall_no_getwd.go | 11 + .../golang.org/x/sys/unix/syscall_openbsd.go | 282 + .../x/sys/unix/syscall_openbsd_386.go | 40 + .../x/sys/unix/syscall_openbsd_amd64.go | 40 + .../x/sys/unix/syscall_openbsd_arm.go | 40 + .../golang.org/x/sys/unix/syscall_solaris.go | 719 + .../x/sys/unix/syscall_solaris_amd64.go | 35 + vendor/golang.org/x/sys/unix/syscall_unix.go | 293 + .../golang.org/x/sys/unix/syscall_unix_gc.go | 15 + vendor/golang.org/x/sys/unix/types_darwin.go | 254 + .../golang.org/x/sys/unix/types_dragonfly.go | 249 + vendor/golang.org/x/sys/unix/types_freebsd.go | 372 + vendor/golang.org/x/sys/unix/types_netbsd.go | 239 + vendor/golang.org/x/sys/unix/types_openbsd.go | 251 + vendor/golang.org/x/sys/unix/types_solaris.go | 265 + .../x/sys/unix/zerrors_darwin_386.go | 1673 + .../x/sys/unix/zerrors_darwin_amd64.go | 1673 + .../x/sys/unix/zerrors_darwin_arm.go | 1673 + .../x/sys/unix/zerrors_darwin_arm64.go | 1673 + .../x/sys/unix/zerrors_dragonfly_amd64.go | 1568 + .../x/sys/unix/zerrors_freebsd_386.go | 1706 + .../x/sys/unix/zerrors_freebsd_amd64.go | 1707 + .../x/sys/unix/zerrors_freebsd_arm.go | 1715 + .../x/sys/unix/zerrors_linux_386.go | 2231 + .../x/sys/unix/zerrors_linux_amd64.go | 2232 + .../x/sys/unix/zerrors_linux_arm.go | 2236 + .../x/sys/unix/zerrors_linux_arm64.go | 2222 + .../x/sys/unix/zerrors_linux_mips.go | 2241 + .../x/sys/unix/zerrors_linux_mips64.go | 2241 + .../x/sys/unix/zerrors_linux_mips64le.go | 2241 + .../x/sys/unix/zerrors_linux_mipsle.go | 2241 + .../x/sys/unix/zerrors_linux_ppc64.go | 2294 + .../x/sys/unix/zerrors_linux_ppc64le.go | 2294 + .../x/sys/unix/zerrors_linux_s390x.go | 2293 + .../x/sys/unix/zerrors_linux_sparc64.go | 2142 + .../x/sys/unix/zerrors_netbsd_386.go | 1712 + .../x/sys/unix/zerrors_netbsd_amd64.go | 1702 + .../x/sys/unix/zerrors_netbsd_arm.go | 1691 + .../x/sys/unix/zerrors_openbsd_386.go | 1584 + .../x/sys/unix/zerrors_openbsd_amd64.go | 1583 + .../x/sys/unix/zerrors_openbsd_arm.go | 1586 + .../x/sys/unix/zerrors_solaris_amd64.go | 1489 + .../x/sys/unix/zsyscall_darwin_386.go | 1609 + .../x/sys/unix/zsyscall_darwin_amd64.go | 1609 + .../x/sys/unix/zsyscall_darwin_arm.go | 1609 + .../x/sys/unix/zsyscall_darwin_arm64.go | 1609 + .../x/sys/unix/zsyscall_dragonfly_amd64.go | 1440 + .../x/sys/unix/zsyscall_freebsd_386.go | 1877 + .../x/sys/unix/zsyscall_freebsd_amd64.go | 1877 + .../x/sys/unix/zsyscall_freebsd_arm.go | 1877 + .../x/sys/unix/zsyscall_linux_386.go | 1953 + .../x/sys/unix/zsyscall_linux_amd64.go | 2146 + .../x/sys/unix/zsyscall_linux_arm.go | 2055 + .../x/sys/unix/zsyscall_linux_arm64.go | 2029 + .../x/sys/unix/zsyscall_linux_mips.go | 2111 + .../x/sys/unix/zsyscall_linux_mips64.go | 2105 + .../x/sys/unix/zsyscall_linux_mips64le.go | 2105 + .../x/sys/unix/zsyscall_linux_mipsle.go | 2111 + .../x/sys/unix/zsyscall_linux_ppc64.go | 2157 + .../x/sys/unix/zsyscall_linux_ppc64le.go | 2157 + .../x/sys/unix/zsyscall_linux_s390x.go | 1937 + .../x/sys/unix/zsyscall_linux_sparc64.go | 1833 + .../x/sys/unix/zsyscall_netbsd_386.go | 1346 + .../x/sys/unix/zsyscall_netbsd_amd64.go | 1346 + .../x/sys/unix/zsyscall_netbsd_arm.go | 1346 + .../x/sys/unix/zsyscall_openbsd_386.go | 1404 + .../x/sys/unix/zsyscall_openbsd_amd64.go | 1404 + .../x/sys/unix/zsyscall_openbsd_arm.go | 1404 + .../x/sys/unix/zsyscall_solaris_amd64.go | 1630 + .../golang.org/x/sys/unix/zsysctl_openbsd.go | 270 + .../x/sys/unix/zsysnum_darwin_386.go | 398 + .../x/sys/unix/zsysnum_darwin_amd64.go | 398 + .../x/sys/unix/zsysnum_darwin_arm.go | 426 + .../x/sys/unix/zsysnum_darwin_arm64.go | 426 + .../x/sys/unix/zsysnum_dragonfly_amd64.go | 315 + .../x/sys/unix/zsysnum_freebsd_386.go | 353 + .../x/sys/unix/zsysnum_freebsd_amd64.go | 353 + .../x/sys/unix/zsysnum_freebsd_arm.go | 353 + .../x/sys/unix/zsysnum_linux_386.go | 390 + .../x/sys/unix/zsysnum_linux_amd64.go | 342 + .../x/sys/unix/zsysnum_linux_arm.go | 362 + .../x/sys/unix/zsysnum_linux_arm64.go | 286 + .../x/sys/unix/zsysnum_linux_mips.go | 375 + .../x/sys/unix/zsysnum_linux_mips64.go | 335 + .../x/sys/unix/zsysnum_linux_mips64le.go | 335 + .../x/sys/unix/zsysnum_linux_mipsle.go | 375 + .../x/sys/unix/zsysnum_linux_ppc64.go | 370 + .../x/sys/unix/zsysnum_linux_ppc64le.go | 370 + .../x/sys/unix/zsysnum_linux_s390x.go | 333 + .../x/sys/unix/zsysnum_linux_sparc64.go | 348 + .../x/sys/unix/zsysnum_netbsd_386.go | 274 + .../x/sys/unix/zsysnum_netbsd_amd64.go | 274 + .../x/sys/unix/zsysnum_netbsd_arm.go | 274 + .../x/sys/unix/zsysnum_openbsd_386.go | 207 + .../x/sys/unix/zsysnum_openbsd_amd64.go | 207 + .../x/sys/unix/zsysnum_openbsd_arm.go | 213 + .../x/sys/unix/zsysnum_solaris_amd64.go | 13 + .../x/sys/unix/ztypes_darwin_386.go | 462 + .../x/sys/unix/ztypes_darwin_amd64.go | 472 + .../x/sys/unix/ztypes_darwin_arm.go | 463 + .../x/sys/unix/ztypes_darwin_arm64.go | 471 + .../x/sys/unix/ztypes_dragonfly_amd64.go | 448 + .../x/sys/unix/ztypes_freebsd_386.go | 521 + .../x/sys/unix/ztypes_freebsd_amd64.go | 524 + .../x/sys/unix/ztypes_freebsd_arm.go | 524 + .../golang.org/x/sys/unix/ztypes_linux_386.go | 793 + .../x/sys/unix/ztypes_linux_amd64.go | 811 + .../golang.org/x/sys/unix/ztypes_linux_arm.go | 782 + .../x/sys/unix/ztypes_linux_arm64.go | 790 + .../x/sys/unix/ztypes_linux_mips.go | 787 + .../x/sys/unix/ztypes_linux_mips64.go | 792 + .../x/sys/unix/ztypes_linux_mips64le.go | 792 + .../x/sys/unix/ztypes_linux_mipsle.go | 787 + .../x/sys/unix/ztypes_linux_ppc64.go | 800 + .../x/sys/unix/ztypes_linux_ppc64le.go | 800 + .../x/sys/unix/ztypes_linux_s390x.go | 817 + .../x/sys/unix/ztypes_linux_sparc64.go | 666 + .../x/sys/unix/ztypes_netbsd_386.go | 401 + .../x/sys/unix/ztypes_netbsd_amd64.go | 408 + .../x/sys/unix/ztypes_netbsd_arm.go | 406 + .../x/sys/unix/ztypes_openbsd_386.go | 446 + .../x/sys/unix/ztypes_openbsd_amd64.go | 453 + .../x/sys/unix/ztypes_openbsd_arm.go | 439 + .../x/sys/unix/ztypes_solaris_amd64.go | 440 + vendor/gopkg.in/testfixtures.v2/LICENSE | 21 + vendor/gopkg.in/testfixtures.v2/README.md | 368 + vendor/gopkg.in/testfixtures.v2/Taskfile.yml | 62 + vendor/gopkg.in/testfixtures.v2/deprecated.go | 75 + vendor/gopkg.in/testfixtures.v2/errors.go | 41 + vendor/gopkg.in/testfixtures.v2/generate.go | 110 + vendor/gopkg.in/testfixtures.v2/helper.go | 63 + vendor/gopkg.in/testfixtures.v2/json.go | 44 + vendor/gopkg.in/testfixtures.v2/mysql.go | 133 + vendor/gopkg.in/testfixtures.v2/options.go | 19 + vendor/gopkg.in/testfixtures.v2/oracle.go | 171 + vendor/gopkg.in/testfixtures.v2/postgresql.go | 291 + vendor/gopkg.in/testfixtures.v2/sqlite.go | 76 + vendor/gopkg.in/testfixtures.v2/sqlserver.go | 122 + .../gopkg.in/testfixtures.v2/testfixtures.go | 294 + vendor/gopkg.in/testfixtures.v2/time.go | 34 + vendor/gopkg.in/yaml.v2/LICENSE | 201 + vendor/gopkg.in/yaml.v2/LICENSE.libyaml | 31 + vendor/gopkg.in/yaml.v2/README.md | 135 + vendor/gopkg.in/yaml.v2/apic.go | 742 + vendor/gopkg.in/yaml.v2/decode.go | 685 + vendor/gopkg.in/yaml.v2/emitterc.go | 1684 + vendor/gopkg.in/yaml.v2/encode.go | 306 + vendor/gopkg.in/yaml.v2/parserc.go | 1095 + vendor/gopkg.in/yaml.v2/readerc.go | 394 + vendor/gopkg.in/yaml.v2/resolve.go | 208 + vendor/gopkg.in/yaml.v2/scannerc.go | 2711 + vendor/gopkg.in/yaml.v2/sorter.go | 104 + vendor/gopkg.in/yaml.v2/writerc.go | 89 + vendor/gopkg.in/yaml.v2/yaml.go | 357 + vendor/gopkg.in/yaml.v2/yamlh.go | 716 + vendor/gopkg.in/yaml.v2/yamlprivateh.go | 173 + vendor/vendor.json | 235 + 595 files changed, 427508 insertions(+) create mode 100644 .gitignore create mode 100644 LICENSE create mode 100755 Library create mode 100644 Makefile create mode 100644 config.ini.sample create mode 100644 main.go create mode 100644 models/config.go create mode 100644 models/config_test.go create mode 100644 models/error.go create mode 100644 models/fixtures/users.yml create mode 100644 models/main_test.go create mode 100644 models/message.go create mode 100644 models/models.go create mode 100644 models/models_test.go create mode 100644 models/test_fixtures.go create mode 100644 models/unit_tests.go create mode 100644 models/user.go create mode 100644 models/user_add_update.go create mode 100644 models/user_delete.go create mode 100644 models/user_test.go create mode 100644 models/users_list.go create mode 100644 routes/api/v1/token_check.go create mode 100644 routes/api/v1/user_add_update.go create mode 100644 routes/api/v1/user_delete.go create mode 100644 routes/api/v1/user_show.go create mode 100644 routes/api/v1/user_update_password.go create mode 100644 routes/cors.go create mode 100644 routes/login.go create mode 100644 routes/routes.go create mode 100644 vendor/github.com/davecgh/go-spew/LICENSE create mode 100644 vendor/github.com/davecgh/go-spew/spew/bypass.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/bypasssafe.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/common.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/config.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/doc.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/dump.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/format.go create mode 100644 vendor/github.com/davecgh/go-spew/spew/spew.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/LICENSE create mode 100644 vendor/github.com/dgrijalva/jwt-go/MIGRATION_GUIDE.md create mode 100644 vendor/github.com/dgrijalva/jwt-go/README.md create mode 100644 vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md create mode 100644 vendor/github.com/dgrijalva/jwt-go/claims.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/doc.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/ecdsa.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/errors.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/hmac.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/map_claims.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/none.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/parser.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/rsa.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/rsa_pss.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/rsa_utils.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/signing_method.go create mode 100644 vendor/github.com/dgrijalva/jwt-go/token.go create mode 100644 vendor/github.com/garyburd/redigo/LICENSE create mode 100644 vendor/github.com/garyburd/redigo/internal/commandinfo.go create mode 100644 vendor/github.com/garyburd/redigo/redis/conn.go create mode 100644 vendor/github.com/garyburd/redigo/redis/doc.go create mode 100644 vendor/github.com/garyburd/redigo/redis/go17.go create mode 100644 vendor/github.com/garyburd/redigo/redis/log.go create mode 100644 vendor/github.com/garyburd/redigo/redis/pool.go create mode 100644 vendor/github.com/garyburd/redigo/redis/pre_go17.go create mode 100644 vendor/github.com/garyburd/redigo/redis/pubsub.go create mode 100644 vendor/github.com/garyburd/redigo/redis/redis.go create mode 100644 vendor/github.com/garyburd/redigo/redis/reply.go create mode 100644 vendor/github.com/garyburd/redigo/redis/scan.go create mode 100644 vendor/github.com/garyburd/redigo/redis/script.go create mode 100644 vendor/github.com/go-ini/ini/LICENSE create mode 100644 vendor/github.com/go-ini/ini/Makefile create mode 100644 vendor/github.com/go-ini/ini/README.md create mode 100644 vendor/github.com/go-ini/ini/README_ZH.md create mode 100644 vendor/github.com/go-ini/ini/error.go create mode 100644 vendor/github.com/go-ini/ini/ini.go create mode 100644 vendor/github.com/go-ini/ini/key.go create mode 100644 vendor/github.com/go-ini/ini/parser.go create mode 100644 vendor/github.com/go-ini/ini/section.go create mode 100644 vendor/github.com/go-ini/ini/struct.go create mode 100644 vendor/github.com/go-sql-driver/mysql/AUTHORS create mode 100644 vendor/github.com/go-sql-driver/mysql/CHANGELOG.md create mode 100644 vendor/github.com/go-sql-driver/mysql/CONTRIBUTING.md create mode 100644 vendor/github.com/go-sql-driver/mysql/LICENSE create mode 100644 vendor/github.com/go-sql-driver/mysql/README.md create mode 100644 vendor/github.com/go-sql-driver/mysql/appengine.go create mode 100644 vendor/github.com/go-sql-driver/mysql/buffer.go create mode 100644 vendor/github.com/go-sql-driver/mysql/collations.go create mode 100644 vendor/github.com/go-sql-driver/mysql/connection.go create mode 100644 vendor/github.com/go-sql-driver/mysql/connection_go18.go create mode 100644 vendor/github.com/go-sql-driver/mysql/const.go create mode 100644 vendor/github.com/go-sql-driver/mysql/driver.go create mode 100644 vendor/github.com/go-sql-driver/mysql/dsn.go create mode 100644 vendor/github.com/go-sql-driver/mysql/errors.go create mode 100644 vendor/github.com/go-sql-driver/mysql/infile.go create mode 100644 vendor/github.com/go-sql-driver/mysql/packets.go create mode 100644 vendor/github.com/go-sql-driver/mysql/result.go create mode 100644 vendor/github.com/go-sql-driver/mysql/rows.go create mode 100644 vendor/github.com/go-sql-driver/mysql/statement.go create mode 100644 vendor/github.com/go-sql-driver/mysql/transaction.go create mode 100644 vendor/github.com/go-sql-driver/mysql/utils.go create mode 100644 vendor/github.com/go-sql-driver/mysql/utils_go17.go create mode 100644 vendor/github.com/go-sql-driver/mysql/utils_go18.go create mode 100644 vendor/github.com/go-sql-driver/mysql/utils_legacy.go create mode 100644 vendor/github.com/go-xorm/builder/LICENSE create mode 100644 vendor/github.com/go-xorm/builder/README.md create mode 100644 vendor/github.com/go-xorm/builder/builder.go create mode 100644 vendor/github.com/go-xorm/builder/builder_delete.go create mode 100644 vendor/github.com/go-xorm/builder/builder_insert.go create mode 100644 vendor/github.com/go-xorm/builder/builder_select.go create mode 100644 vendor/github.com/go-xorm/builder/builder_update.go create mode 100644 vendor/github.com/go-xorm/builder/circle.yml create mode 100644 vendor/github.com/go-xorm/builder/cond.go create mode 100644 vendor/github.com/go-xorm/builder/cond_and.go create mode 100644 vendor/github.com/go-xorm/builder/cond_between.go create mode 100644 vendor/github.com/go-xorm/builder/cond_compare.go create mode 100644 vendor/github.com/go-xorm/builder/cond_eq.go create mode 100644 vendor/github.com/go-xorm/builder/cond_expr.go create mode 100644 vendor/github.com/go-xorm/builder/cond_in.go create mode 100644 vendor/github.com/go-xorm/builder/cond_like.go create mode 100644 vendor/github.com/go-xorm/builder/cond_neq.go create mode 100644 vendor/github.com/go-xorm/builder/cond_not.go create mode 100644 vendor/github.com/go-xorm/builder/cond_notin.go create mode 100644 vendor/github.com/go-xorm/builder/cond_null.go create mode 100644 vendor/github.com/go-xorm/builder/cond_or.go create mode 100644 vendor/github.com/go-xorm/builder/doc.go create mode 100644 vendor/github.com/go-xorm/builder/error.go create mode 100644 vendor/github.com/go-xorm/core/LICENSE create mode 100644 vendor/github.com/go-xorm/core/README.md create mode 100755 vendor/github.com/go-xorm/core/benchmark.sh create mode 100644 vendor/github.com/go-xorm/core/cache.go create mode 100644 vendor/github.com/go-xorm/core/circle.yml create mode 100644 vendor/github.com/go-xorm/core/column.go create mode 100644 vendor/github.com/go-xorm/core/converstion.go create mode 100644 vendor/github.com/go-xorm/core/db.go create mode 100644 vendor/github.com/go-xorm/core/dialect.go create mode 100644 vendor/github.com/go-xorm/core/driver.go create mode 100644 vendor/github.com/go-xorm/core/error.go create mode 100644 vendor/github.com/go-xorm/core/filter.go create mode 100644 vendor/github.com/go-xorm/core/ilogger.go create mode 100644 vendor/github.com/go-xorm/core/index.go create mode 100644 vendor/github.com/go-xorm/core/mapper.go create mode 100644 vendor/github.com/go-xorm/core/pk.go create mode 100644 vendor/github.com/go-xorm/core/rows.go create mode 100644 vendor/github.com/go-xorm/core/scan.go create mode 100644 vendor/github.com/go-xorm/core/table.go create mode 100644 vendor/github.com/go-xorm/core/type.go create mode 100644 vendor/github.com/go-xorm/xorm-redis-cache/LICENSE create mode 100644 vendor/github.com/go-xorm/xorm-redis-cache/README.md create mode 100644 vendor/github.com/go-xorm/xorm-redis-cache/redis_cacher.go create mode 100755 vendor/github.com/go-xorm/xorm-redis-cache/run_test.sh create mode 100644 vendor/github.com/go-xorm/xorm/CONTRIBUTING.md create mode 100644 vendor/github.com/go-xorm/xorm/LICENSE create mode 100644 vendor/github.com/go-xorm/xorm/README.md create mode 100644 vendor/github.com/go-xorm/xorm/README_CN.md create mode 100644 vendor/github.com/go-xorm/xorm/cache_lru.go create mode 100644 vendor/github.com/go-xorm/xorm/cache_memory_store.go create mode 100644 vendor/github.com/go-xorm/xorm/circle.yml create mode 100644 vendor/github.com/go-xorm/xorm/convert.go create mode 100644 vendor/github.com/go-xorm/xorm/dialect_mssql.go create mode 100644 vendor/github.com/go-xorm/xorm/dialect_mysql.go create mode 100644 vendor/github.com/go-xorm/xorm/dialect_oracle.go create mode 100644 vendor/github.com/go-xorm/xorm/dialect_postgres.go create mode 100644 vendor/github.com/go-xorm/xorm/dialect_sqlite3.go create mode 100644 vendor/github.com/go-xorm/xorm/doc.go create mode 100644 vendor/github.com/go-xorm/xorm/engine.go create mode 100644 vendor/github.com/go-xorm/xorm/engine_cond.go create mode 100644 vendor/github.com/go-xorm/xorm/engine_maxlife.go create mode 100644 vendor/github.com/go-xorm/xorm/error.go create mode 100755 vendor/github.com/go-xorm/xorm/gen_reserved.sh create mode 100644 vendor/github.com/go-xorm/xorm/helpers.go create mode 100644 vendor/github.com/go-xorm/xorm/helpler_time.go create mode 100644 vendor/github.com/go-xorm/xorm/logger.go create mode 100644 vendor/github.com/go-xorm/xorm/pg_reserved.txt create mode 100644 vendor/github.com/go-xorm/xorm/processors.go create mode 100644 vendor/github.com/go-xorm/xorm/rows.go create mode 100644 vendor/github.com/go-xorm/xorm/session.go create mode 100644 vendor/github.com/go-xorm/xorm/session_cols.go create mode 100644 vendor/github.com/go-xorm/xorm/session_cond.go create mode 100644 vendor/github.com/go-xorm/xorm/session_convert.go create mode 100644 vendor/github.com/go-xorm/xorm/session_delete.go create mode 100644 vendor/github.com/go-xorm/xorm/session_exist.go create mode 100644 vendor/github.com/go-xorm/xorm/session_find.go create mode 100644 vendor/github.com/go-xorm/xorm/session_get.go create mode 100644 vendor/github.com/go-xorm/xorm/session_insert.go create mode 100644 vendor/github.com/go-xorm/xorm/session_iterate.go create mode 100644 vendor/github.com/go-xorm/xorm/session_query.go create mode 100644 vendor/github.com/go-xorm/xorm/session_raw.go create mode 100644 vendor/github.com/go-xorm/xorm/session_schema.go create mode 100644 vendor/github.com/go-xorm/xorm/session_stats.go create mode 100644 vendor/github.com/go-xorm/xorm/session_tx.go create mode 100644 vendor/github.com/go-xorm/xorm/session_update.go create mode 100644 vendor/github.com/go-xorm/xorm/statement.go create mode 100644 vendor/github.com/go-xorm/xorm/syslogger.go create mode 100644 vendor/github.com/go-xorm/xorm/tag.go create mode 100755 vendor/github.com/go-xorm/xorm/test_mssql.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_mssql_cache.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_mymysql.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_mymysql_cache.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_mysql.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_mysql_cache.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_postgres.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_postgres_cache.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_sqlite.sh create mode 100755 vendor/github.com/go-xorm/xorm/test_sqlite_cache.sh create mode 100644 vendor/github.com/go-xorm/xorm/types.go create mode 100644 vendor/github.com/go-xorm/xorm/xorm.go create mode 100644 vendor/github.com/gorilla/context/LICENSE create mode 100644 vendor/github.com/gorilla/context/README.md create mode 100644 vendor/github.com/gorilla/context/context.go create mode 100644 vendor/github.com/gorilla/context/doc.go create mode 100644 vendor/github.com/gorilla/securecookie/LICENSE create mode 100644 vendor/github.com/gorilla/securecookie/README.md create mode 100644 vendor/github.com/gorilla/securecookie/doc.go create mode 100644 vendor/github.com/gorilla/securecookie/fuzz.go create mode 100644 vendor/github.com/gorilla/securecookie/securecookie.go create mode 100644 vendor/github.com/gorilla/sessions/LICENSE create mode 100644 vendor/github.com/gorilla/sessions/README.md create mode 100644 vendor/github.com/gorilla/sessions/doc.go create mode 100644 vendor/github.com/gorilla/sessions/lex.go create mode 100644 vendor/github.com/gorilla/sessions/sessions.go create mode 100644 vendor/github.com/gorilla/sessions/store.go create mode 100644 vendor/github.com/labstack/echo-contrib/LICENSE create mode 100644 vendor/github.com/labstack/echo-contrib/session/session.go create mode 100644 vendor/github.com/labstack/echo/LICENSE create mode 100644 vendor/github.com/labstack/echo/README.md create mode 100644 vendor/github.com/labstack/echo/bind.go create mode 100644 vendor/github.com/labstack/echo/context.go create mode 100644 vendor/github.com/labstack/echo/echo.go create mode 100644 vendor/github.com/labstack/echo/echo_go1.8.go create mode 100644 vendor/github.com/labstack/echo/glide.lock create mode 100644 vendor/github.com/labstack/echo/glide.yaml create mode 100644 vendor/github.com/labstack/echo/group.go create mode 100644 vendor/github.com/labstack/echo/log.go create mode 100644 vendor/github.com/labstack/echo/middleware/basic_auth.go create mode 100644 vendor/github.com/labstack/echo/middleware/body_limit.go create mode 100644 vendor/github.com/labstack/echo/middleware/compress.go create mode 100644 vendor/github.com/labstack/echo/middleware/cors.go create mode 100644 vendor/github.com/labstack/echo/middleware/csrf.go create mode 100644 vendor/github.com/labstack/echo/middleware/jwt.go create mode 100644 vendor/github.com/labstack/echo/middleware/key_auth.go create mode 100644 vendor/github.com/labstack/echo/middleware/logger.go create mode 100644 vendor/github.com/labstack/echo/middleware/method_override.go create mode 100644 vendor/github.com/labstack/echo/middleware/middleware.go create mode 100644 vendor/github.com/labstack/echo/middleware/recover.go create mode 100644 vendor/github.com/labstack/echo/middleware/redirect.go create mode 100644 vendor/github.com/labstack/echo/middleware/request_id.go create mode 100644 vendor/github.com/labstack/echo/middleware/secure.go create mode 100644 vendor/github.com/labstack/echo/middleware/slash.go create mode 100644 vendor/github.com/labstack/echo/middleware/static.go create mode 100644 vendor/github.com/labstack/echo/response.go create mode 100644 vendor/github.com/labstack/echo/router.go create mode 100644 vendor/github.com/labstack/gommon/LICENSE create mode 100644 vendor/github.com/labstack/gommon/bytes/README.md create mode 100644 vendor/github.com/labstack/gommon/bytes/bytes.go create mode 100644 vendor/github.com/labstack/gommon/color/README.md create mode 100644 vendor/github.com/labstack/gommon/color/color.go create mode 100644 vendor/github.com/labstack/gommon/log/README.md create mode 100644 vendor/github.com/labstack/gommon/log/color.go create mode 100644 vendor/github.com/labstack/gommon/log/log.go create mode 100644 vendor/github.com/labstack/gommon/log/white.go create mode 100644 vendor/github.com/labstack/gommon/random/random.go create mode 100644 vendor/github.com/mattn/go-colorable/LICENSE create mode 100644 vendor/github.com/mattn/go-colorable/README.md create mode 100644 vendor/github.com/mattn/go-colorable/colorable_appengine.go create mode 100644 vendor/github.com/mattn/go-colorable/colorable_others.go create mode 100644 vendor/github.com/mattn/go-colorable/colorable_windows.go create mode 100644 vendor/github.com/mattn/go-colorable/noncolorable.go create mode 100644 vendor/github.com/mattn/go-isatty/LICENSE create mode 100644 vendor/github.com/mattn/go-isatty/README.md create mode 100644 vendor/github.com/mattn/go-isatty/doc.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_appengine.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_bsd.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_linux.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_linux_ppc64x.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_others.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_solaris.go create mode 100644 vendor/github.com/mattn/go-isatty/isatty_windows.go create mode 100644 vendor/github.com/mattn/go-sqlite3/LICENSE create mode 100644 vendor/github.com/mattn/go-sqlite3/README.md create mode 100644 vendor/github.com/mattn/go-sqlite3/backup.go create mode 100644 vendor/github.com/mattn/go-sqlite3/callback.go create mode 100644 vendor/github.com/mattn/go-sqlite3/doc.go create mode 100644 vendor/github.com/mattn/go-sqlite3/error.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3-binding.c create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3-binding.h create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_context.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_fts5.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_go18.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_icu.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_json1.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_libsqlite3.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_load_extension.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_omit_load_extension.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_other.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_trace.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_type.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_vtable.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3_windows.go create mode 100644 vendor/github.com/mattn/go-sqlite3/sqlite3ext.h create mode 100644 vendor/github.com/pmezard/go-difflib/LICENSE create mode 100644 vendor/github.com/pmezard/go-difflib/difflib/difflib.go create mode 100644 vendor/github.com/stretchr/testify/LICENSE create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_format.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_format.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_forward.go create mode 100644 vendor/github.com/stretchr/testify/assert/assertion_forward.go.tmpl create mode 100644 vendor/github.com/stretchr/testify/assert/assertions.go create mode 100644 vendor/github.com/stretchr/testify/assert/doc.go create mode 100644 vendor/github.com/stretchr/testify/assert/errors.go create mode 100644 vendor/github.com/stretchr/testify/assert/forward_assertions.go create mode 100644 vendor/github.com/stretchr/testify/assert/http_assertions.go create mode 100644 vendor/github.com/valyala/bytebufferpool/LICENSE create mode 100644 vendor/github.com/valyala/bytebufferpool/README.md create mode 100644 vendor/github.com/valyala/bytebufferpool/bytebuffer.go create mode 100644 vendor/github.com/valyala/bytebufferpool/doc.go create mode 100644 vendor/github.com/valyala/bytebufferpool/pool.go create mode 100644 vendor/github.com/valyala/fasttemplate/LICENSE create mode 100644 vendor/github.com/valyala/fasttemplate/README.md create mode 100644 vendor/github.com/valyala/fasttemplate/template.go create mode 100644 vendor/github.com/valyala/fasttemplate/unsafe.go create mode 100644 vendor/github.com/valyala/fasttemplate/unsafe_gae.go create mode 100644 vendor/golang.org/x/crypto/LICENSE create mode 100644 vendor/golang.org/x/crypto/PATENTS create mode 100644 vendor/golang.org/x/crypto/acme/acme.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/autocert.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/cache.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/listener.go create mode 100644 vendor/golang.org/x/crypto/acme/autocert/renewal.go create mode 100644 vendor/golang.org/x/crypto/acme/jws.go create mode 100644 vendor/golang.org/x/crypto/acme/types.go create mode 100644 vendor/golang.org/x/crypto/bcrypt/base64.go create mode 100644 vendor/golang.org/x/crypto/bcrypt/bcrypt.go create mode 100644 vendor/golang.org/x/crypto/blowfish/block.go create mode 100644 vendor/golang.org/x/crypto/blowfish/cipher.go create mode 100644 vendor/golang.org/x/crypto/blowfish/const.go create mode 100644 vendor/golang.org/x/net/LICENSE create mode 100644 vendor/golang.org/x/net/PATENTS create mode 100644 vendor/golang.org/x/net/context/context.go create mode 100644 vendor/golang.org/x/net/context/go17.go create mode 100644 vendor/golang.org/x/net/context/go19.go create mode 100644 vendor/golang.org/x/net/context/pre_go17.go create mode 100644 vendor/golang.org/x/net/context/pre_go19.go create mode 100644 vendor/golang.org/x/sys/LICENSE create mode 100644 vendor/golang.org/x/sys/PATENTS create mode 100644 vendor/golang.org/x/sys/unix/README.md create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_darwin_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_dragonfly_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_freebsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_arm64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mips64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_mipsx.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_ppc64x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_linux_s390x.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_netbsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_386.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/asm_openbsd_arm.s create mode 100644 vendor/golang.org/x/sys/unix/asm_solaris_amd64.s create mode 100644 vendor/golang.org/x/sys/unix/bluetooth_linux.go create mode 100644 vendor/golang.org/x/sys/unix/cap_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/constants.go create mode 100644 vendor/golang.org/x/sys/unix/dev_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/dev_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/dev_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_linux.go create mode 100644 vendor/golang.org/x/sys/unix/dev_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dev_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/dirent.go create mode 100644 vendor/golang.org/x/sys/unix/endian_big.go create mode 100644 vendor/golang.org/x/sys/unix/endian_little.go create mode 100644 vendor/golang.org/x/sys/unix/env_unix.go create mode 100644 vendor/golang.org/x/sys/unix/env_unset.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/errors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/file_unix.go create mode 100644 vendor/golang.org/x/sys/unix/flock.go create mode 100644 vendor/golang.org/x/sys/unix/flock_linux_32bit.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo.go create mode 100644 vendor/golang.org/x/sys/unix/gccgo_c.c create mode 100644 vendor/golang.org/x/sys/unix/gccgo_linux_amd64.go create mode 100755 vendor/golang.org/x/sys/unix/mkall.sh create mode 100755 vendor/golang.org/x/sys/unix/mkerrors.sh create mode 100644 vendor/golang.org/x/sys/unix/mkpost.go create mode 100755 vendor/golang.org/x/sys/unix/mksyscall.pl create mode 100755 vendor/golang.org/x/sys/unix/mksyscall_solaris.pl create mode 100755 vendor/golang.org/x/sys/unix/mksysctl_openbsd.pl create mode 100755 vendor/golang.org/x/sys/unix/mksysnum_darwin.pl create mode 100755 vendor/golang.org/x/sys/unix/mksysnum_dragonfly.pl create mode 100755 vendor/golang.org/x/sys/unix/mksysnum_freebsd.pl create mode 100755 vendor/golang.org/x/sys/unix/mksysnum_netbsd.pl create mode 100755 vendor/golang.org/x/sys/unix/mksysnum_openbsd.pl create mode 100644 vendor/golang.org/x/sys/unix/openbsd_pledge.go create mode 100644 vendor/golang.org/x/sys/unix/pagesize_unix.go create mode 100644 vendor/golang.org/x/sys/unix/race.go create mode 100644 vendor/golang.org/x/sys/unix/race0.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_linux.go create mode 100644 vendor/golang.org/x/sys/unix/sockcmsg_unix.go create mode 100644 vendor/golang.org/x/sys/unix/str.go create mode 100644 vendor/golang.org/x/sys/unix/syscall.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_bsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_amd64_gc.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mips64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_mipsx.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_ppc64x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_no_getwd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix.go create mode 100644 vendor/golang.org/x/sys/unix/syscall_unix_gc.go create mode 100644 vendor/golang.org/x/sys/unix/types_darwin.go create mode 100644 vendor/golang.org/x/sys/unix/types_dragonfly.go create mode 100644 vendor/golang.org/x/sys/unix/types_freebsd.go create mode 100644 vendor/golang.org/x/sys/unix/types_netbsd.go create mode 100644 vendor/golang.org/x/sys/unix/types_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/types_solaris.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zerrors_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsyscall_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysctl_openbsd.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/zsysnum_solaris_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_darwin_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_dragonfly_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_freebsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_arm64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mips64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_mipsle.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_ppc64le.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_s390x.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_linux_sparc64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_netbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_386.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_amd64.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_openbsd_arm.go create mode 100644 vendor/golang.org/x/sys/unix/ztypes_solaris_amd64.go create mode 100644 vendor/gopkg.in/testfixtures.v2/LICENSE create mode 100644 vendor/gopkg.in/testfixtures.v2/README.md create mode 100644 vendor/gopkg.in/testfixtures.v2/Taskfile.yml create mode 100644 vendor/gopkg.in/testfixtures.v2/deprecated.go create mode 100644 vendor/gopkg.in/testfixtures.v2/errors.go create mode 100644 vendor/gopkg.in/testfixtures.v2/generate.go create mode 100644 vendor/gopkg.in/testfixtures.v2/helper.go create mode 100644 vendor/gopkg.in/testfixtures.v2/json.go create mode 100644 vendor/gopkg.in/testfixtures.v2/mysql.go create mode 100644 vendor/gopkg.in/testfixtures.v2/options.go create mode 100644 vendor/gopkg.in/testfixtures.v2/oracle.go create mode 100644 vendor/gopkg.in/testfixtures.v2/postgresql.go create mode 100644 vendor/gopkg.in/testfixtures.v2/sqlite.go create mode 100644 vendor/gopkg.in/testfixtures.v2/sqlserver.go create mode 100644 vendor/gopkg.in/testfixtures.v2/testfixtures.go create mode 100644 vendor/gopkg.in/testfixtures.v2/time.go create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE create mode 100644 vendor/gopkg.in/yaml.v2/LICENSE.libyaml create mode 100644 vendor/gopkg.in/yaml.v2/README.md create mode 100644 vendor/gopkg.in/yaml.v2/apic.go create mode 100644 vendor/gopkg.in/yaml.v2/decode.go create mode 100644 vendor/gopkg.in/yaml.v2/emitterc.go create mode 100644 vendor/gopkg.in/yaml.v2/encode.go create mode 100644 vendor/gopkg.in/yaml.v2/parserc.go create mode 100644 vendor/gopkg.in/yaml.v2/readerc.go create mode 100644 vendor/gopkg.in/yaml.v2/resolve.go create mode 100644 vendor/gopkg.in/yaml.v2/scannerc.go create mode 100644 vendor/gopkg.in/yaml.v2/sorter.go create mode 100644 vendor/gopkg.in/yaml.v2/writerc.go create mode 100644 vendor/gopkg.in/yaml.v2/yaml.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlh.go create mode 100644 vendor/gopkg.in/yaml.v2/yamlprivateh.go create mode 100644 vendor/vendor.json diff --git a/.gitignore b/.gitignore new file mode 100644 index 000000000..72154a7df --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.idea/ +config.ini +*.db \ No newline at end of file diff --git a/LICENSE b/LICENSE new file mode 100644 index 000000000..65c5ca88a --- /dev/null +++ b/LICENSE @@ -0,0 +1,165 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + + This version of the GNU Lesser General Public License incorporates +the terms and conditions of version 3 of the GNU General Public +License, supplemented by the additional permissions listed below. + + 0. Additional Definitions. + + As used herein, "this License" refers to version 3 of the GNU Lesser +General Public License, and the "GNU GPL" refers to version 3 of the GNU +General Public License. + + "The Library" refers to a covered work governed by this License, +other than an Application or a Combined Work as defined below. + + An "Application" is any work that makes use of an interface provided +by the Library, but which is not otherwise based on the Library. +Defining a subclass of a class defined by the Library is deemed a mode +of using an interface provided by the Library. + + A "Combined Work" is a work produced by combining or linking an +Application with the Library. The particular version of the Library +with which the Combined Work was made is also called the "Linked +Version". + + The "Minimal Corresponding Source" for a Combined Work means the +Corresponding Source for the Combined Work, excluding any source code +for portions of the Combined Work that, considered in isolation, are +based on the Application, and not on the Linked Version. + + The "Corresponding Application Code" for a Combined Work means the +object code and/or source code for the Application, including any data +and utility programs needed for reproducing the Combined Work from the +Application, but excluding the System Libraries of the Combined Work. + + 1. Exception to Section 3 of the GNU GPL. + + You may convey a covered work under sections 3 and 4 of this License +without being bound by section 3 of the GNU GPL. + + 2. Conveying Modified Versions. + + If you modify a copy of the Library, and, in your modifications, a +facility refers to a function or data to be supplied by an Application +that uses the facility (other than as an argument passed when the +facility is invoked), then you may convey a copy of the modified +version: + + a) under this License, provided that you make a good faith effort to + ensure that, in the event an Application does not supply the + function or data, the facility still operates, and performs + whatever part of its purpose remains meaningful, or + + b) under the GNU GPL, with none of the additional permissions of + this License applicable to that copy. + + 3. Object Code Incorporating Material from Library Header Files. + + The object code form of an Application may incorporate material from +a header file that is part of the Library. You may convey such object +code under terms of your choice, provided that, if the incorporated +material is not limited to numerical parameters, data structure +layouts and accessors, or small macros, inline functions and templates +(ten or fewer lines in length), you do both of the following: + + a) Give prominent notice with each copy of the object code that the + Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the object code with a copy of the GNU GPL and this license + document. + + 4. Combined Works. + + You may convey a Combined Work under terms of your choice that, +taken together, effectively do not restrict modification of the +portions of the Library contained in the Combined Work and reverse +engineering for debugging such modifications, if you also do each of +the following: + + a) Give prominent notice with each copy of the Combined Work that + the Library is used in it and that the Library and its use are + covered by this License. + + b) Accompany the Combined Work with a copy of the GNU GPL and this license + document. + + c) For a Combined Work that displays copyright notices during + execution, include the copyright notice for the Library among + these notices, as well as a reference directing the user to the + copies of the GNU GPL and this license document. + + d) Do one of the following: + + 0) Convey the Minimal Corresponding Source under the terms of this + License, and the Corresponding Application Code in a form + suitable for, and under terms that permit, the user to + recombine or relink the Application with a modified version of + the Linked Version to produce a modified Combined Work, in the + manner specified by section 6 of the GNU GPL for conveying + Corresponding Source. + + 1) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (a) uses at run time + a copy of the Library already present on the user's computer + system, and (b) will operate properly with a modified version + of the Library that is interface-compatible with the Linked + Version. + + e) Provide Installation Information, but only if you would otherwise + be required to provide such information under section 6 of the + GNU GPL, and only to the extent that such information is + necessary to install and execute a modified version of the + Combined Work produced by recombining or relinking the + Application with a modified version of the Linked Version. (If + you use option 4d0, the Installation Information must accompany + the Minimal Corresponding Source and Corresponding Application + Code. If you use option 4d1, you must provide the Installation + Information in the manner specified by section 6 of the GNU GPL + for conveying Corresponding Source.) + + 5. Combined Libraries. + + You may place library facilities that are a work based on the +Library side by side in a single library together with other library +facilities that are not Applications and are not covered by this +License, and convey such a combined library under terms of your +choice, if you do both of the following: + + a) Accompany the combined library with a copy of the same work based + on the Library, uncombined with any other library facilities, + conveyed under the terms of this License. + + b) Give prominent notice with the combined library that part of it + is a work based on the Library, and explaining where to find the + accompanying uncombined form of the same work. + + 6. Revised Versions of the GNU Lesser General Public License. + + The Free Software Foundation may publish revised and/or new versions +of the GNU Lesser General Public License from time to time. Such new +versions will be similar in spirit to the present version, but may +differ in detail to address new problems or concerns. + + Each version is given a distinguishing version number. If the +Library as you received it specifies that a certain numbered version +of the GNU Lesser General Public License "or any later version" +applies to it, you have the option of following the terms and +conditions either of that published version or of any later version +published by the Free Software Foundation. If the Library as you +received it does not specify a version number of the GNU Lesser +General Public License, you may choose any version of the GNU Lesser +General Public License ever published by the Free Software Foundation. + + If the Library as you received it specifies that a proxy can decide +whether future versions of the GNU Lesser General Public License shall +apply, that proxy's public statement of acceptance of any version is +permanent authorization for you to choose that version for the +Library. diff --git a/Library b/Library new file mode 100755 index 0000000000000000000000000000000000000000..6f39f1a62e9da338e9ddfa6d586c1ebbe7386f68 GIT binary patch literal 9008416 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

PlQo1uyCEZUiL(p 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 V>cZ!Cx;_F`xap7=h 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≀QJm?mwfbRq6g?ivp$lrxw@B zL-(0P;#;_2SJC4rF%HLS*9%#L> zjjPxk+b;EWB#UGItMCZj3*{;y+ST<9PJ6Eml{o@J^cc#H>wqU$F(FA)wAiax!cZDh?}n z7WsqsfF;uq)y~(mvD(ito-@%{(3Vt4FVOY#Njp%K{Q`;hn^~m#8MIC=d?5Bs!yH{v zS84QW+yEP#1(i|zth(~mg;;L)IzF8O*6XCO_ZEvCmZ`&S>hO&^j64O#`7s)f?nFHH z8JzY#tD<}xY;i0~345`$2g+b)IYv}LM>0pf^Zj5Bbrm|wwtVn|D zBVKr4`#9DJS6Q$Q0lw!-YUdGi_V~DryYi}2tc^B@;nM3w1BWut11y~7oC9i;4_v== zbx>6=OJa1o3~(s3ObJvuzfpa9FJB}-lV#38`(c@HMwu~zVs=59M8zM@tKeFRV-s~f z;9$ATT=xnMHyXI>$8$v={QUKEC$1V^F6MC|mg4FT#w)K=~Gq^7PqJ} z2HV00`X@P}I5jxWf9#{^C!5+vD)uZpeH59hP`#9_kVcbx+@iX3n;4*J2ab3t&?W4v z}xFCfxo zB@Otl+oikW;+LZda+|?BTy6AHb!3*1LA~TP`H2WXI}~A#S8v=$dbtm_Bqh?NWUpLO z*N)jBr9!sgT=c6UusYqak&Z*GD8-7Dy18snr_1+tDt;(-FP_RoPP3#;iXsW5(3#X% zSP@-gSfxUORUE`r*HyqyZ0kf=LUYw&8TF67L$o59A6v@r6qRjDljXqY)76ebb=2O9 zlPH|y%0?3Yqc!B>cT;OZy{*^^ifrFwK!{Msw<`5|73`+lSRepGVe)uyh{A;XA9B2JeDEwnSgDrmP zh?{0;2chtjYBn40j(s2Z=xmYmcnblJcm^XKOH{Mf0$Jp2I3s7P+(5K~nd!N_Dbktu zW%FmW_ah_ttk-E+D#3iKK;oG%wwe_C=DYO9LwR#W(FyFVrn;sKqZ1X}Z64}9J9P(@ zC&?3BbYD>znBaxx+3^I+f5hl+aAfG_!~wx2BRcjk|K^zd z@&g@$6&B9Z0Md{?6g~+%RIgzJpPeobNJpAAY+%KtaO3Vq>?)uzrJ||`AMlu|rp1wz zdT|M!dXZ1+RkwyUg+v5q-|=2>$?%TI)+#^HsTlShs4djb0Rn*~UK~QDs{q7UA3gXh?kEeeIG}+?-&pkZ_G}5vbG6&F^LcQQI$w03Brh)3M z@+tPWcz%QB5ir@&tDQZbl)C#LObvL&7N`v@sR;U6sQxm%5&vg!JLZpM2=Prf_OUT-~)23Bn1 zGp~#?9b*Lx5}$H&7j}4YrlO{n54qsIRqRAELx?-E!;71o9p~coY8n>I>?I?b8Hbg+ zL*g2`UiUGB4DPC4q-()vWA#wU(`RF~%CoLgu#&q97R<`oqb{wNqaj4hX?ANtk-3DS zRA1j*F9X3q+{KQ4D|%_#(z0TE2=kbutzq+qfapEcDmwH@_~QaU(R4k$0FGJS|Ll-`ZffoKPWge zb$#omgz$%cOtn6`7Ps|{9;RBKYNY7u1>D&Hh~P+M2L|B}WwmW~>Ht1y5S@s3&|z#K z>6WL@gPvBnPt7vu1TFu>F+PvyK+!c;e?U7$*T}(_xV_j2z+UvZdhiQI6`Q5fiookB zg=dTVsJoE?TQvD*!82_YQM)$OYXy#jb+#^tM^Ib0LcDZf=uif|PVJ~r2|5mt)9x(B z8ADY4V30QtMMqI}>{Yfp4e~1XS@Ut8-B}#C2*Cl`*L|sKAEqzE%2HlYF*DmbPB-d8 zQD^f2!rmFKN%d~@a8*P`V(I;~Lt&36IYJZSvPdU`U+grl`#X-|Ef_wB!f%JzTOX=> z6I-nYU_d+wJ}eae$_oF&HZg<1;rHn6D&LxtMILy{8OG3^7mCg*!paYC1pI)kPX}au zTelR5c{3Crjp?utjh3O!9(5>HhwIW1-lpR@83;Ze5-7Mf8fduje-fW=rBmm4h$o)FTF3e;r~2(71LJAcsa%Ms&YlyNR#WNThK zOiv8vXcD1AZCwB0y;XTF*K*5v^j6Riiu6ZhlaI(|Rj_<9?hi#1E*%_cR~3~ zr;E()6nznOW~0GoaKsA3v6@at#EFhvUYA0;Ws7whtW!STD_BTJY({zWcpi51H$CtX zPNdUv>;QS$SK(E4t`nO_b8wv4dk9d`Q*Vth+F6hmSuT|=A$XmrchgWPsC z7lo6lKdJMw)ii-sxfPg~kl8BK_y(xUf2{E>a-3RgWPj#BojsD)NJ1uUzl!f;2K#J0 z^ooi^9lAk7CS{|vqN;%j!S-ZqGjzKN%soOi4}Yj@oOv@`pctE6py+6Ao< z&lKwkC>B;GTH3;+9&;6)Vu-Uc=HYoXI?931`A)PG=%VGy}H7h;=i0Rq8=ON%7X`@7ZXdALR>h&=&yk%sQ5afC#DB|4MnlFeAZ} zTdOrIaFnNJH8Xf&oG3#I?6F7T2CxWjr87}(1dlDM>DN`0Z^gXYRx2_k)5`g{xE}O9 z6z@L7Hn@$$Btv{$`*&+~0@)WK`zy-S1SqDm*i}Z`PvLdGK`IXg#4Hio$wF!jlN0vz z+y$O#AG#3JS<&P{ZP}+gvn$SQOU#XwAWhx7jES+36lbfLsszZ$5HWxnok!ZA{^Ptj zKHwv-h~-PG+E~$XFqMf&<2Id-^Bq4U?+IYgMbb!<^bw#JpD{>_v$I#IMhq@tc_-it zKuCz1QMrZtXRPag5=sT%7|4G5k~j?V&!Za^yC_JJY8#4E-bzF5rLy+y+wd27X)(N% zNT9fG9_W~uiM6a-94sr`KNFm`ier6;UR{-h`GNZdcV+RU!(*x& z!QY+wqe!Tg!&n1YR%As32mkFnCwS_s>N!EQDj_l&_{zQ3QD38es-3TKuN_z>?fkS< zwDV(JH|6@ESX+poO`#neX`z$8Zqt47ad@LmpH5l(IsKEfYLbmyGtBiqS-<}PJT~=N zTr~|=s2A$W=73l;)>v{<&=q3ol8{<8t9y#jmjtM3QhVX zSrxw$WjpIqRkmJ6+1O=C&9zxWPsfH?S!G30dwM^zr*r!Kh?wd->K)a0BPy0EdUTVk z`q{4PWBw(oU)dh2hhnNr6){7&rrcCyS`@?&cEv{8aCmPfFyDM3eVa`Xv@^@t#%6Sv0dKxa0@T(XX z`RLJk3t%e~Da!-` z0!(#$MBk{Ey_``T2q?nF4sK7_Ko1O0%3vHrXm~(bQ7M9lF74$8_C>OcVNrp3NEq9c z;qZ&1?R?E)2XHe82gih!8Wkc$hQ6I3ju)~DC^0mB!@UK-atl8{aW%~d)y1Of4I#Zn zSv>ng4OBH^%!Hn3W(xF2$XNh-By1N`D_c#=lK{?sXpy59)Ddg0Y%N?m_MkU;=x2sa zYIjfpcdLhf_c9dVd6sK0k0=y;ZU~E=&Bn3q>Br4Vg%xqp*a;&8+M}(=B=kPf zD^NwefWETCQV*Ijb#Q4(g1j(7wMjKt2}RDsV)@|QP|kb7a(SK(CCcTPRJF~b^uqp; zgdM77^+~snU1rpCF0;VS(T&0Ko^0oif%9o=W*!;YDgkimkt8&OMXE|L6(oJiR{gC& z^?;9#G0Y~qP*iqyGO5+WAev~Jt|&1AvqpI#Xf)9bNvNl{Falpj#-N4*(7WApzEqW4 zSofwhQ3)~`p%gKK;=sH1WVdpQK6EOU1^|v#Q7(6iLIRv7S@?%d@#*CfP!Nst`+I*+9ii>*0ym<|yaAn$A%T-0Mb>Z?s8n9y?r{G@k;jKxBHjbcgef zhf8l4UL^6s5Oo-+4(F)DNy!KrTHwLgCjGy}b83ralXq&cp5d-)^aFPP&>xItWK(=0 zE6IK92I>T_VHzRpRB&%WjG%H+v12j5DcA4Z5ch`jDe?ApHY`?+6ZPp-K$JMxez(SP z3dre|`q_ko4|3q_%aTx>Y>@1PHL-X`%5yu-(z|~W*^NWAc@EV^??%Uuf~DXyax(KW z7JjarnkA`K+I6>pKq}VJ0U(sHw*-&eZa=DX{@8H z$U`cr>}xqKy8iK6PLqb#~UdT3RaSX--QQhs=< z5D>v71q>#gRZ?tFtL#DK=!ga^nFfQ?no}y@kC#;M!>|LtItMF$R=lC!7yeVmqMvP~{dX zs3HtFvG+GP9WaUo4`I0 z@Y#9#juO_1WMY@6LFQV#VnNKJ z?qBS<412Wewc4=0Snh)3F-3con-0Z8?vf)-)KTN`xm!-|Fv<$fEg!DRgyLu4aT*bd zQRv1Ftev~vOVFY4f1vnpuJV6e$S?GV#2t$NheBSB#WaIreq3$Z(R4Y{5kJB`;bpTk zl-t4cg%c%`Dage>{akLetsKTnkpi`wT?f!uB*GYS1jdkRkx15vs?`{Bq1e^szp z5oY3LxM(J>lEkrScD~4q($)FpD!RqkxN<3`qGV$L_H4oe7+ZBsce^CKos!ob+li>% z>V(#4Q z)oGvTVc~8-IvlL$AhGxyJmC_l zx~da3xW?8X&*#ekG`!yiUmYC_W?z)kpD&~3DkeoRzsW%c5M*7gt^I-w0T~x5+Cxz% z7|~t_eB063NCC=}BiykZ0lWd*gNP=9woo-L@5^K!E%}xxx43>Z40z9-t^u#b2NN;s zDLuyG-RU&g#Z)~uz6L@njTf!W zH@efPnmD|D^<%v4ZI4F#D^vFNvt^zYRhM`7?A{aYrPC6OyBnXMP>{1!`MZCoHLuww z&ItV7M)DEgusW0UKQE`6008u=!I88(f`4i(O5H4j z_!o~EQ4|pirvonuT@R2) zb%Oy=_CERe>)ClJL->h=rWBPiA*Mk9R7@<2PUXk zkzGI~?m3Ifp z^h$&J@I8=J!cy=*Br0y5(k&SJHO)6GAd}W#y}nu9)Lo`;)|XziANtkroAsi)3;1Tu z(MaQx|y$$GAJ@Qv&m+#XSBNIqUQPP z){EN8x;_?4DWkwd2RMF6*TTGoH};UNScAtmVk!C(n6U7vGBF8q9GXFc5`(8O zg)_yvGI167+Nce98!dXi;Jvd{yMM(`M_I!b(=^y_;i?eJ}(`>!Nlo} z@7_F!E>I&YK^#k|7-i>LeVTB>=JM5~(vHf`=Z1SWMGu5g8We89364Bq^Mj-Rv!@`u zO1@4;5vHQR&ntlH{rsI)Js1=Cj52&lVlP$hyXUEL5^$FZIAUw+=thH}>}639f*b{c ztb-r8$c}*5U1yf0=tI|NCxJo>Uig;GQ_}gNuP*B0Z_ka>C4J#6P5-l8`h%Z}{=BhQ zZk8MfKQekCqyY-8c4SFxwY4>NGuTy((qQ|r%%*5|JkJt zFLt|4Wcvu+E%~{f09hl!b~*~!x(EQ^_R@9$fJVFpF+q`9(V-$nC_cx-qR4?okx^iF zuUiI?*&BUzYh=lftw15!Y>{;?n7xtAHd_WbV~0GH6hJHQCH~T%Xl!T&2uN>4pB|J!+CR&m!!z1&q zEC>%eiBk(PQ14cx52|TSsot|ko`ZBnSl)i@ll!3t7?Z55(f^>q;vC)@k9UAN)83AK z_2TRiJmscvn)AHE^_Dc$0NLyE1Q47*Hd96SL4LM`l_efT4u?U`N4Gp9SpfjstS>HI zzxC6uW>@7w%;0F9=Ey6ZgcpYA2SB|ll>9J`b<-nd#X^w!;WIdys+DaVG!s%4zsrFC z9Q&uCEughF+(^E~L!OxO)W<{^#SJNq$2q@tF*m1hR0__vfJq$L4p=Y}tdg z^*T;_$s|0)$eb}z>X2v|M?O!YaZX@y)W%(={qiW4lj9en@q3cFweRXLp;=kOJCbNf znEF&^{OS{KRr)(vn*o8DPJ?LbJKub$#G~IDQcE16^mU|my}X*IhjhA*07X%&Qh#|9 zYa$hkfmP+{iPVy+4z*SdX_H!ke-BgCnzGCcC8)B2y;>O^SKt!%LNW^Y%`Gj6K}eI` zBDjgElL!t81aR+WMM|4cce&1ahxegfJ?M&BT}h&Wyw(Ym{gzF;Nz(x5%>bHeHVR8f zEeM8514m-6i@FlCm?9!&X@j6sf(1A4a99EO;tOeM0vJk)o`&b&N{Y~s!h{W(^#gGV zfHA1=PqDxHn{oqlMbOkHL*bX6Swd&|-9|DpL56F5*up;%AYus>t*Qb&+3?kghnyRx(-S zG*#p?)6u4cBGlq&H&vwCbo4?(5so?0?MO?f(2C>5v=v$4v_|e>C?$mN!phO-M3t@% zoJ6o?bS4BPte9`sfw*&&U-v`>;|)RT;eU#hB&Ie5&-@p>!sNEf>@q$9XEOG!@<`imHg_^d*kA4Me>`aDnli*L6bFdPB z`eX2g`T8Q!PbxPU{lEe+sr>{!mD%L=)ZCHy{4 zWjpz%(yx<=AWzT_@l~EW!ly-_W zml!ME?D~atyecrCRo<7IY7rzu6$YwlISUnX|N4_!?(tr=Pd(-UuVc47?>etlyOcyl z9$^p0CBh@SwjFwsmMirDVQASM@@Dp7#FO&e1X50gq&ie2=Ypxbk_fp-M^S{3N)QwR z(W7MEZ2TmLkRLr^5LH{4HB($fNx-2Ck_o72MmYe1R6m-4Ty&&IT&);2)wB6j=qFz&>E4-Il%1o z(7KgrXC8;eVtgtJhe|EQgO`FR?|Y%-r0}OTpQ(evR_(zl|B{i|$V0e^38YNvHscxm zd~IDLw3gf2xRYo075K3-?I6sFV&_r_T!C)Ig=3FU;#`WUw?wL>U5G>p5e0Ab7Y7lJ zQNlGI-9wl0-A!^>*7f^0GbwErGu(@?iZUF?&EO~_Hx~gZSdpx%7sZNnKZ3C;1gvCk zWg11!)x~oYb+$WLVE7d;XIQ~87UBmiTY-hqABj6iBAj*=@5zPxATK>0-Di1;S#B_g zQ#8vn%=Dln1``o2G0b@X=Oeoi?Gs_CVETp0yA+a19Ezj_GMhmv8uO~?T38SS`=T3Z zNyye&IP(l_9SpWM-aKq&+7ZV&U&&Kl!XinR_5+^~51r@Xr)T6B1{tS74`kScgvXd) zWXxJX>d>@_v>VuI9=2;-?|+g7Ey90Y6)UQhePLY`U@nu10;CLp%mj8#{pE|3j+>%fu_FyLD3V$E^rQJ zdES0ZGqVw%D%$>MP%(y+9#j#(l0rcoW z5*kwp1zmvO+J{=qS5`*wO=ns^VA61OAU>#xtU@U5LlFLKJ+rTqg$t)?j8jL<0l<(} z8K>ZCj;7V4bD4F(66UqDVMgy@EAWd!0+I9?8$<0^E3HRG6|@fTxid4dy(G`(k&xxwlDR=q=8 za1lWDfNptuyrIGZP=TV4lwS?N%!HA;dqq*wPMe%p=yU4`1yRqm-+}i|VhK)u+D>IH zX6h+~W^c_3a$U~X&8NC)6Ki>{6Hnhwf>M^3vtKKt@*YlzFt^_Jtm-6wPgFf95Xm~~ zA8Jn&mnr0%@NMmhTHaknaTzcotmQ%{++g?vk%W%mr<%t4>lKr7S;#(kraO&gkC?_{ zqWSxY?uIC`F!I|QqOL*~2YU2V!c{}q5Ow+U4G>*!h(dH0t-BIFC{J&{k~3uRN-@4x zW~rL->sZ6`j3{>*-^fSA$&OA}Bx{55N33xef8M4z#uF?h$`ghqG5+|MS}}gZoc&_F zRxtZPrfT}d;Ah==7x_zZlDR)vU~heyttt{li#T{8e)S?d=eQunn4xi@?i}P4{cAl& ziBU092N^;;S8jA?kK?3G_E=gcTdAU3xjq70$$4GEe9k>zXpc(iQ=4QFW)nwAUx6QY z7`r<}kY4u;%L5tNx{7?^uD&Ji&X8J3+)LIMD=W}U?$F%yI`vM{hc1ityjCj&SM75L zwrR(1@QOGz&eBnY7oJuOg2J0+cn1_;?O7;IaCR*7`|215jAZUyhDlON<#EW#fi{mfzf5JZmG`DWk5NfbA*go`s*rkxDjiXmPl-bh|}XVbSGvFPOs9f-9XoV9my z=&MeJ;pXtJK`%l-QUw>X=q32fX`#=-joi;*yE@K4)4Ex()8!xaX~aZ^@2e z@3#uAbXa7a;^9hAp{!hKyJJ;}!^&0|l?2PGd7Fy(yCIzdmrkr2S^*2g@WNVr27Bh! z5a|dE>|5wN7~0Y)nEJhM$qo8zUpYX$J;yc<_`VnlXo=CYQ7y?ERK@ze^ z`%*TGC=y8N)+B)EHi65qVyH2-tTJTaRE1!hsY)R}wmEYQHQjV=d5&JGRM|dkkrvLC zfh-7`fo+XLJ$Nbdd^-S&bj26>FncccM!ND#;FIVWM7T;a7P~(1U?Hi|SrdBA|b zg&FvrFTXtpZ(tA(!y12DIGRtcr*@Rb&N6H!1`XMV2cAetG$itenoUBpH z9Jaifzo{P5vS-U|Wgdf;hDk=tmv2^dfC9VIaS;K!EnwE;pOIo@^E?Fs&9YtVR0Bg$ zyh!_kAo2Cf^dJk+qz(2%0*HX&N2YxMeEcAMf;_SlQUFgEo$;R@;1}ShkI9Y-hTjne z2EV3Kaw8xymel1HcY$MfAn(Ht(LU^=iH1(47*MN{;;-aX%N4m4iB%TFRgt2!ge(GP z*UJ^DIJi>f@0O}yBpDA#0&<<36O`+`oMK#=s!+n;T$JKfp9rI~HZ}uQdyWTS@ay3FC0^8)a`Js5^GoU8c|!ZB`OzJtr^;fR#Z_&0hRe%!|4>d5iJotyX{jvHs%(eU2uk!N(I{yJSM z@`Yc^2W-&~xGIslzP6+9g&omfv8&}}dHfmfIPRs8@Rle09y4vFgMhIS@&_x!DYM^> z+^NvZC3=uAtg#a(r4#36N3y_Zkq%Tf z)(Bb?MSNL2PJDZIcEwkUp?I+re?^_U1D`0VO4RFCk)lAQgjK+nDO&`Ed{;1vc580n|JwvvkZDr(UY0%;yP`nzzb2kfxsO~5f zF?*zE)NrttO)5FOv(EaKXX{Pw6ulql>;d~QWy5(F7`Ur=%yLt#Bhtr1i_o5SS#j*3 zxU48ccQt_j&w4g0i@)N1~nL%t$tBXd@r$|Oo8@nZ4E5#HUSL!*4Z30Wvm?b_2xlt-FN2>=b@G{QaP%AP-#Y%>|v8)ptLGgd(X! zE6SEL=1jbPG@MkiEf+5ui7Rj08(z(i2wpgAnic}ac>{x7W9iQcP8*OJ%Fll7?p~1= ztNTCWQZ~jq!=+;!Y}(+`-E;Pa&F=ZX&7}i~k>Qe=1wo_|xa6CiMIB?Ff{2yNDIUgx zt(R{bZjFHv6>fdiX;8vUsG#$jv+BEdjAZUv7B-Wv-VjcRPYJxls>~v5CkB20@iPIa?M{0S9 z8k&Q;0qE7#CDG*)Y#kTFmX(ga=`&e4wEIw;G$Fg`rs8+BfkpK8k7DF%AX^9>ajaQl)5w|9LkR|I z9RJYohl%&cof`84qYcq3V{WnW0erUJt&Wpo>`v8 zS*S-VL{tB^iL6f@#_xEd@2Y$!YSC@<3IB&2JL0CtwnVz;TE>^N2j)4SAi=9k>SMg zvmK|!b9!4ateqbZ14c4{Nw*X>2nykO?iux3O?NS$PqF`|K`bGNrF0jorB*VC_6cu; zoIFRuh*bhTCtnX*#>o_fH32@~^!cn5+LlLt=aS#KBzArtZ)9^+ zj&LU$8Qj^OTht+I5U8QB3!dwrpkK?NE9%>8j~2OI@g~q2*b1Gvc&Ye*r?ex#And`x zg{8o@avF)GB+Ncnj61uMWnu~PlFG=>yk27x`#ZHzV*<@2CdbBMQtV(-Y!BQCOjZre zL^qWE#gE4$(m^5ep-eB)B^V1$aop{nk!nM+RNA8^k~9p8vYxxXQ_7Vq6G?jGc4}jy z9!YK-#ntjG2^$Mw66WkbU8k&xj1p*;NCN`2>ZQF;fq;Ji(Y9a`c z!BPqTU_cSo1(lChRQA>Nri1X(X0I;vmtk$u}= z+a~+J{Q}mT+B<-rfC#QMeEW85upDz|dBWesgC)}N<3E$ZDkFo-Aq@*=xM1NS9fI@Q z0qY_K)&*-I4XKodBzqA81zL~c9Id^RinL4i{?^!2W)^0o(Jt8_h8GikjU1V>JLQg*ixoZ}J&!z$T&& z1L=i8rr6kvB9<3xY23jNKuoXprD!wubfURT#(y3WXmx%WOgtoueQ>SJzT5P{$M){& zakPN;wegV(FIPS!8pqKUWdbmn^zno)$~H}aEeP=tPRp~Q&LK>%8w_C{R+ImE%^=KB z*G?wT$2WbS;NQR~kYW(vKmE7i_v|11*)IIoUT@(4td}UnN2?OyCmh)nub_po!gqVh z@m=ponsQ0_FH`(0rSZZnm4DDdRWPji*Nyz!AmJzd*#5hw1~iA} z19JjVAzhE78$O?TpBjm?DFlA;FpQH8?&UfL5Z*uv+!LJ2jGz~uZ`;x|XZ}`2jA|5{(oc0mF{zPEE z@q7RE*7#YqIn5k9C7)vm7=>|YDZDA>b1df7(pNyX4!&@tbPC**OZ?*lkrzS?yMv%y*&qvH-3WI<$;M+kpr%5|>90vX8LjOvAh9GUe4zKUKBi1PxT9zH$gVVEDPU{wo+>jaEx#~#vS9>4ame>}v_JnyRgk5i6 zl#>IKIzdcVTIKxlRWh0935-G;T=7`S2QooT$7HPn^HWSxfg1;UK@u@z8~M!uPJA5w zWpNA^egZ&KO|TWtm{p@QX;PLx7CI|opjDm}m7#H_UfI#-&_%|fE$NING*FRN!#pL( z>;SDh3@Q{YriftQ$QbM!sS9u;A_(e`doA|xu)HJ&AC>f$LPT!SP&9F zb6hjI+#vPDJEl{8$K{F|d3ELl{ypjnU)+FJ{V;434G0PdY;;INyb7<8+@yN~A|1l`w}o8bhKt_B%%_ zi2dvgW^FXVMRjpvQ5Qg%x$``tc$^t4aU?D5*W}+feinAerzdq?FGM-=D1S--;T9a^t z_X7QRDxu83&u33sKDSG^T0T>xVlmK|r`EM7mjp`4s}@8+c6`qVwYgdKKDbiRxy;G1 zJf}~hEmdSzNMQ4^q8WQV=SJnnVbEZ2pejhG^H-TqIFzk`c^e22FuI$tSQ(#BWUJIK zP9Xpf(A88|%CD&|h5~QUJd{q%0>&i!b(yc}afgPCt;3Fl-eIzWe2xzKE;In?g;wL= z$H>?J{h&4eeQ!a;(`}C4)%p=rHPE;gr}ud;A{;JwACMt`TzbVazECkv)l#(df|R-x zbMg8T0<__1WT8_G0xk0n6jyJ7Kg>q4zy~_mPkm(c0YyutKh45w!9~u+n=30bB(gMy zy##f?A_@=;V;+0a0JTsm3I!h|Yu-)py|@y3lb2x4RGo1{%W~GigG_YeTT<8~yf(Du zNJO@9Uh7GCRhtsY_-BJjkuiGhIH z4ckdQm-56;wMT1rR7lYlP*K;dteTF547 zhG??EgeC(5FFl)a&Hm_4HNSLgJjRBVtapVmz&NC|qTE3lgo8ZK&8Y@qP@<N!bpLTrlJI<65poMHCR)y$}$%+y{!9?-)YP#8v`A zRrWRo@H`E$IwH_5RL#DvqEzSua>dpKdpDCNr9=VYKbR3Y0o_4gpLUKsAVJ^V1&4l{ z*_7LFiqI>uUxzqG?yQ~&x|yS>rh*s!e#I$J;5Ua+Hdt8GOc0B#^vTSoB4b8`3)W=9 z!uP$kA!UTsbIl0r@-^PG5y?B~oN(HjbHd}-c%$b)fD5@l|5N+)&v%=Ta{WPWS4B^t zcpIFw{3wKINW!JWL&hg@TC}6l2r#&m0vK@^^(Ww65x(m}FPlJ}6UOIY3L;ta!VM|s zSpAzuSQymLMqUAc>fUrtxTwh+T_Q_R>+A)e5u#6-@1_4gOFai!g7n; z>sdt23QjKMnCw!aEQ$&_T{W;DkWf&q8b64a<(XPVo19RP8gTxpKkvbwIP86i)!8jA z)LBQrqW3a3g>_q;Z14+mL4)Cz=r=OyEW!uCvBogTvtzlx@)V9Bi|S!bR#!rOXXS!?=klHWmHn3Z259?fyI_{`*II2S}v!l1_YUp)_t}z9VkW^7AZ!iFi(3!j( z_#U1zBqiE~Z_p1-sXbC^eahc7r}iNHjvg+vNj-c+(&&6d50HnhqS=!x9jChDFKj>@ zA!r29QbSmiZzfmC$sT!!G6AvyRJQZuYGaT|oR~z@aX3-(L%K4vFGhQ@b*8u29sDHI z#2?hBnXbl_Z<-12mhbsP&E}} z!+p!6Zs$|L12Q18xT%J5f^9{s(WCwS&pWvn^lQ0Dzn15OMQ-A7Z;Kg>l%`|Hx_eqV zhFP9t2AEus3&+Si%k%6cN}>qmj4~5tnU*e5mg%ai?^IW$peS2)i(F=^L?2o?kc)$b zW94Y2;7!QT3aV6*C6U`zHJnZ)95Sb(LP%NMf>*-l)~VH>6O0MwyF}Bz;9z$x8o-`F zsR@-7>ges_7#NhvhHVuh*XmCx!JO*f0V%Jh;)F8D-%c16cuBidM-1ngaJBFjZZU7{ z2W5YdxWd{gY?RWF0)f|4KG9Ind?6JL*@wx;@Wi*KYeM;;zS~E25z-$2A99hhq^RQ1 z)GLh}nu3gaTnCZRigvj{iaeHcX__z93{7RMgP-z>B)Ng6Z){DV>2a{QhNg-}$UhPq z84-rJtA87sSL@#!NFC6;p1%QIgIs6kEZ{Ycrp5BSZJG|3y;AWsT_^B^W4v0Pp4YiF zRj)|9l_hOQ$=~WMH2q+g(A0s!^Y&8u8U_Rtk5UNhSJvcsGE>ZjyvSm&J zz$xHb(nyBnsb;*79#&E*pM zlf`VNG*YlGO+-V3CY@X%oftQa6A-JQDVqigR!U;7IyL}BwAnG_U)e;BXUz(tua@qY zj@J+?17~1j0PJE4Pt(@4NI_RGfGCQL@5*!aK~x+dWK|0LDc$3hEemh#F|u1w z20#vl0HvHbVfE0Heyx#e6Ii!j9No4tX!2-1*)YM>@w|Dd(V~att^MRrNv2}{^ZNz; z$v4GA-<#0i^N^aoK%NEqnK{*XObMyy)$#-#cubxEO~nuADKxZ{h0QpzJ5A7Vjai5N zgRn=pcnF2QJ0DaKg8AB*%@GK7aMJQTdX1r&yY}F5_QO{8<1H#_&9=J*rYF^W9QH$CjEuzrgowC2FB-0+ zqLE-OAt`|Y@ym$Bn#@qcY`$9Vu{{VbS1ty?ho+Oir>NyO7%Kdb;FrvNF|OM3LmgA%~~*c+&h?5P8p_CcJR=wYJL8U z5*Z*QF5(JdHL+1e=w>$L5>3shnib?9=0iFJY>n^MLKytg0B6o598|hzSC<2}g)MGu zu{3%;LhUS3Ds;ETc(pgJgSFsDrnqKaA`CwG?U7O!6p`Z=?XB-Y;5Nxj61$&$FKyNH zq7zBfJ8zUI3m9U851pb<=~*YW)Sl1U^YDbF|BTWu3p!%f2xvM*r{T4IBMVMqRT4&s zYR-@R6hdiWrezuhDAN-@h{x(LFB2=a9Ky#m>`MsA4esK3 zGCaQN8-+L9fX@WzB485ksC=nVi?5;_EX%BvuJeBIWd^+Xga5n2EaPv1%5u;P`Gg0& z_|1>>&3>oY>8SEg+}rOW*)rCLNap>Bp3?Bg`=f8%YSkO= z8e8>7~HwM6b~wTzwE~) z*m)CS2L2rBK#4eXu`z!$7N!v}iZv#53KC9d8YI*EU1kogjc4XPYI1-3qrhf>Rx5|0 z3Hs%mo~!uTN}e5igwykHA+YEzSF)BP0kDsWllc5{Xf0n^-7mzGb+G@ZtP9p`X+V>{ zB{%j6eFb*z@+~LHOVcOLj8jBB|@*2mn@Vy@*t-%k;hUWy+)jkQ)?; zt;AnH$e`8b<&m1dqb9}imw6iz&+JM^UB385Svy+3jkvcTMy6&w&ANr+X?BI0wIhCa z8AkFjjECj9ZH#ewhRRzz@CYdSaw0{O=sA*ZOelH(iFi7p7EEpyk=_`is!2F@Lqm2b ze%OC{AF($uTYHyKlPc1=JoX2=95Pt)&>4MF%BdWnz>|P{ZwjZBP_MusS%}p;WczLR zS%ay*c@MWb>35mY0W^;h zwv7a)Ln}^H&;W`Of?doImvZp16oRhgBoiJG6O8r|Pe3G}Mp~qwz6|POAmke8AF+(< ztetK~Z8i=?VR7m{AVu*47N<=w5f2X=3fP37oq!U8a~m+o$CiP3^bwK}4rK$|N7!S5 zT=fbUq_GrZ0=BalhXVEsouLbvrzl9OG$e+f1V)0nD3nLc0Eb?;SG^#ZBE6_%*J$2! zFP5icsUvu~=NrL$3#mE?39fnwf_J+(6|THlSRx@MB_HN-^0{VPsj&M=y;P;Iz(C@3 zVF2xj+rQVNDmTsn9{!^r(}F8D&?SAY{YE4btB_Ky8|bE(N?*b_q($o=IFA!wD-OifRt#lY;@`qQYgEQb|YHe$6Yq z;}TwLR*>||Nl}*LKTy(#Er?P)shGW^0SxU+OOn9PT!)`R+?s9DcKAuX`%quehpoC0 z8j)tLx%N8pc@5VHT9Dia;#G1FuGz~pqhOR(gF!F~K8-$@%8k>$Czg|p;^YBsuy=B) znpc!p+%m^tIb6C=*Nf+p3yR^G=2E%9rMaZIGgF6v43}i~BkDvhg>;go=$XqUAsi)0 z+S7q$kiVF}YgUk;!X=jDKg}g6o>a^(egIs$aIg0MH8jyyKB#i$Gb*ltKX_2(p;QR^ zgDK*Y1*rImPT&{A^r$v?8WD%a1{DH34MMN?3iu3J8`L>oL(|a98L@x7@s)ob#4x3D0$HirQ!*k zuJ!0DyYhlIx_X!l$5@cM!L;7zMYbM{WOcrh`|f2B<7id0TJ%D^JBQy$ZGMk9(*^%N zsCiz0bt|5~KEdJnAmypX=*gT)H+3VDKM9#(YT*s>OuhF9G8JW?9qSAzoko}eWtw?A z*L}P3T=Vu4^LDcP_6g_hAbD$_J`dvZo|)k$$;%<+L>u|h)CWNupZS_H71ZreaS8r* zRI}T>pzl?XPKInpGc3=#p_)K{zABDDYGOP88izpLwkV~T2BbUT-d>9AQA~5G6guz$ z(RA7kwWL*?j=nt=z3}&d%D=T&Q0o7w6=??ufz+zYzB znP^Rt=DWV>vnWcf_Q>UN>XfZ^Rs=1$X}-A-xCxMe5O>2NzBfcuYCu^WrMS=$@!W8= zL#fyD)Ettc^c?Q(St}q)tDFrhd*ozX1NX@70{5`L1Mc&+d59aYI6prRu;$Y?{Ppt=!zH&i5-deC*dvD4`Fwlz40Ef?=C%KNs_O{O1_}O z6VMa-1ZP>Biv-zt$F$k9+SL{5W*f?-d?=Z~&q>eh57r1EE!Pp3?v>Z*DOh(M?}2^D zv>%pKPx>*Sy`<-(qMG^PK^iAvM5~;2tH_K1pvPw}0gh9!t@q)CUZ$;5-jbi*B3vdX zGVV5LWxR7Y1su^zdT*UI8o)rjaUr18Wz1|qo@y_j?SUV#iP5g~DlE?}1zJW9y)sTl zxM3mUxuDFEku4Iw?1(@FH4Y-4=dxX%?aOXYg2Ik5Won|BOW!(*b|?;wY}I7 z5j|N+egZ!y7bMEM491*#gNS+38Zqt;5bXl}iPT&Sq70;z zKMl2Xul$XQu>WTn`+s>HL)1+6^(!5QjQ&oUHCB)5V=^ zKOO}7`T^R(z8O!Ez7pP?sqPN09LTm|J(RhC-JrRkP}{4PD=CITAgC99tewy!&Sx8> zNqF|3;z+1Qh+D1@5;EA+;X@%|^l@Rb=f_Q;;vKJn5clwbKoJQD0L2t59dZh_WL5MR z!XAOY*_E?d681(ZetgNjJZ}@fua?E*cm0lb@I$kH&C4q$#`E%puZ5S3=K=*D*z9nt z)p(Lm|E;b4dUq4^Fi1}glSQPh^0`YLK9AtgYp?=totY4uJt$_vtYZ?&3RxK|J8@{C z9YTZtL)bcQ@^Hm?j7=bWxs$CMXu0&sSHE*fj=s8Q|f)SU$U|(9VvuaQQuwS@_;mq zDBaFwr6}dA@yhjxZgD?2Iw>RmB|2`Bo?~~tlrkwo&2a*_<0awe zN#YXcI8vN_iD;N3{$)hbE4Qdy3=b6@a*Ec>E2PueMk&4xQfBr0M!DjQsN`};b2^76 z0`o?eClI<%D#%2|K_*My716#vnRmf)PE4Zit zj2E>jqTiao6g3cCN*PMeLW?R$3X+0Y_;ibJ$#p#f^%XgP6sa|d&~&gAE$?_urIh`V zwhFY)4|YakzpUaZ3+Jml9If*3X-??DawT0_KFqLtc=-%^}vhv0&EO@ z(LOzPPFy}~346=si&C-{HcQDTW-N%#o6r#K*dX0QFsKt(r6wvFd1h=BDgH=gC0pWZ z4%IceLEKj>r+}c(GJS|*#aQ->R{4=nIp-K(rbCVv*fBg@u#s7klS>=$C9(cE3~KyF zl_gmiPTyDqPRkjMl86 z=*s5ya!Qx|)pp8)m>1|{bPZGhCm)vMV!!g9nBG%ogF@R8C`$4-iFlI%RfF@sPrxb<#)ZgI7K;Io}ConP?c4W{LFO$R3F%2x+ zwB@#J3YI46C#E9ZnWieqqZ_g|XeEiSqye%#vgnf4YBIcJFAj#~EyjJLSOylolg zyuH?WyIkJduUH`b3@}@dc}etthQw$!e?p2uW5pRn4m*{%be`0WV^cngLd}d9DXjRm zzhMPP9p_>K&cXdOK{iSLpI&8E?sJce9D=;q*_~o7!o7X`3kd|7cXd2LzTGO)^wmrt zbrSR~e*Cr&A)^XPeD^a7OU*V;acE*Qd4-9UD^$VH-;}Y7cmw6n!&Qk{juchj-GbRi zaCco?5cVOmi#eDgBQw_$}WiiXs?~hs%)=4s;mIO7~&bZK#gbBS}Nhrm=-TNO2 zl5l%jyd-?SStQ}(TOkQ8aYJr`d`}+GTDCz4s5iYhSw`ylijrUuN_n(#Qf%Lh)?#GcROFJ8db^u{?L4s(I80>CnN5=20*79r0W>*5Oh887_~e;@+P29EI7PLw$2) zJd*}~Don}`gGtMk4NBmTZ~A8R03P|NAFcBPGAf5b0tH`}cAl|^3hkQl+;f85pV&OP z7k?eAel-DqkPJhcAsO)JL3IZS{(#VV;oyIY!T*9d{0~?7mpJ%W9qZyh0r&PaB!ed4 ze?*Z0yQvMZH@PRCu_VYDUC!-53Y&zr_VP zZe@_8?wLfqf4V##@1Y+H-hmmwyNklxC{Yss-`XqwyMVuEO5xt|4>bb+4dAZ9fBn~_ z!rric>?Do#nUXr0V3BUTz`^?8JzZ|wxVL97PQ-f8pW?9|`H^5fY&x*cGFT_!tNk4q zAx@hSj{{#Rscw9Q^Z#zX86OE@S`M!4%L4hqFpL&%0u)&7RloC`GF|YXwS90V;@v7Q z=4dvtU%Qp(I+Zchchq5DF*3Rl%QI-&dDw*+jCk^KliUaPul3bL+%+mrbW|SBY3Dmc zyx=?K@!*6!&oJEE!=8pw{i7R>>B&Kx;h1#%JVOnCDrXU`d2Z35v&r$1KgniOdkWa zDfVD6j6*uc4+d(XpkS?JL5klm36wY$vtCbAV1WV>0JRSz#BIlmebZOM{KGy52yZ^& z#UD@ZX(TB?yLqIcJb;0@3+99C$nu`ZT9_xAL+rz2FoSsLyaxC{mq`BPi7XKIG4Bmv z<8~_jgYh{ykE{4?!Q&p6_jmP5=-VROAC5bA&|_HA>2QtmQ? z%!gtygS#v~vpR}i%Ul`zEvJKBRj-#wL7RNgCV=2D;aa8Q?UAg_qaantJru8`Q|y_( zjrK3h;0(90U@oRPcoLH*AH?nmhA|EMXE7-RxFQ)3vG(dp96-uQZ+H+u#ku4<=O~O@ zM7T-DsD}c{2JHvf7K>wni$@MO+m^KcD^5X1SJm=kT`;^;O}i}5Uj_~VF(D?%PdL^1 z>HRi{WS(>j_}t6&#FOI#;!oTnYQJso@>!;Jx0GGkzkgowp;$Tw2FdbCtUzVX>Ty@j zJIJR@R57kVdh=3jsx3zcEtAu00PCf+VM+FDsFFwYJOTYc9!pf~O7v2FA+Ly@$(jau z5e;k^1(GwZT>9J9(jWHD$W`w-2E!-^UP=TO{4y?in{sYqWK>NzMmG020<6_7Ky?Gn zObEaPvs9o!QeUy^YBF8LSUQt&Cp8#+u3~SQc9lMj35Hc^JV*->V&cW!00Ls3X&2n4 zg&PXpAV`oFAsjXnv{Xm2J0S%Z4R8da!^uV0Os01uQEtN@MXPpi-ABID2WPYPrl%FvK_C?B@63pS zW@ekoUtUJ?K|E#M!Xv!=1rZyO8Oiu%xKQw5ayg*MsMkpN#Lhs*Y3yqVR@xbkV6DzG zg7r2I{6_jy^EA-#XlidOdD zCLtXA)L?npvBv)k#$m~ojELv7a~v#x{8ssY#P}=R+ry9*8js~mCGl9MD=a<4lIeO0 z`tO^5fEs`Nw1@HY#V}N_MhmLKPk6!XiHUG4J5r-Qx zQhDlrr;+O!kDLnUjUDD7H~Axl+$dDJ8u#|K^C7=jrEN*8^tp{*8BUGO#6wRdcD0$F z!l_a0%ckplK&9nA26WMj_&iP!?iv$MqUhTq2wSfQi9U8MB}b1WeV+{6lg|$p3u&Lf zNcAAU#9oRmJLn1ZI2VI8l$#4r{nku5h~IN@O($@jeww45*Yq*kIa0wjjBpXNHsHCj zJ$PP!vQ2nydfbHv5GZ)2f|r1<-Q$0 z`O%L5@t|f+f_>}kn=ylA2(@(Dn~n3fvT-!Ekm&OK>?GTF@2Gg& z_YJ;*2@mJX3J|l2wl9HxlP_z}zFe^&*}gFTY#;F`A7iQq@6}UNAm|C45PflBm9r?4 zYu|>v&)C=Y)#y7`ugynN|5vrw{}+!X_fL1gzW)*R80gCcmWL(p9=vxj4pd-#HVI(V zB=+x{zEs&SfIk7`#C#!7>wvpou8zTeIPN%Ucmhi+>K6k9wNoX?Lu5*V_^#W`OnE;Q z699fUtpk7c`@lDQ7ljnM)W_#};F z1#tBw<1RcQJXKWdJh=Dy%MtMX(B6#9%h<9=#)7jz(bY=Y;l-jo^r~`ya_yH{=o<)b zk4o%1s-RnbL@;szh80LLX)Pc?6g+_xj0w>{*oop~L!`uIc> znV{dk=^}dV=T9+Vs_sxnzSZs_87y7-4v@>mBHw=%F7o>;ly9a!a@$R5VZRpN%=7R| zKBYK}g*b9h+WkO3x=agt%9(LYl|iaFPSC+m3cV}n7@R2RhXuf0SJ2U7f}jWYRnS$O zRs?)XnI>r7^awiVOg-lEO+t~a(@#&;N z7?NV0pBkoDz=EKV6w92o-Bv zo;ynTn(I7xorePfabDD=iKi4u+(#$RYTzu-<@c(3<*Zlb6C*{e3A_E;wV)TbfVWGp zeTs*-+^m z--4H%g@gzz+m4T>+CP1*v8mTSKSr7Wh#XvQkDIU;c<)y72+t;Qy@$C6Tfr_&X;E^&q9nkAK%Ul1p969g-$?Yk%DDuN(d3%eyy8g1w(fyKSNcLK$3XO z>@Vc(dWT%veS4VF=tjmLzZ^oWdY3a;(gcDaO0y69lDPKQFK(xO%d=EoaZ~~&;d&(Y zZ+Y^2XnXQ@ew;mFJU8M=Kf|#nx4h^MN0V`H`|pH3S>r1lPut5p zR+;gE-dN;m)jA*R<(2qO;ha~T2{^k{^v2(GU!BAs+9|x3$C0)=G)6x*B%VtHUK7K8 z+Esw~K^mf@@ti55t$k+6KRS}qq`s6ek+-?zER-Q`w*P5&O~c8j#nF(Sb;R>rz9U%w z`okMt zYPPAl_>*d`Z|SR<)?#KUdWY}D6a>RGq&jgJDh%B;8F-xBzIeJ`YQPd2+)~|8%?h@U z@yVoxItQn55=|9$4x^)a6P1_o4Q)%$?vZJYQX%QcG&6Fc_}%he()&ynGT_1)ho7EG z!ZL>wgO4B6gB05Naz4uC9jq!7kF2Z{^x&7zf&q2vOaVqI+ADkPg=(BDA&{lya+SMV z(sOu@;euYV^4iT^$Zh%=r~tPN)FajGb+3r9t-cbxxm=HWN%9ur945349ZUe6@DIx4 zqc~)O=#^oDVj-Du$~t8{G2GA88N1z6#rZ#&O#*0)hg^gLKdOaZil^-~m-VvKToEcE zhjG>rN)5+_Jl=qM_|{nSv}1!cyHh~0X`WzeBiuJEQZ}^=3^v(k;sDo$l^ zr|x1@;~d7&pTEG8c^ZG&U#^es5zjdehFp6tsfKnTB4zp%qo41{BlizrpuJ9+(9(!O$#B5=n?+HmZPmaKY^7wkx8*!Y~pc{t6;e4N|~F zsP+RO%X4XOBe|Z*-HiR{^ODHuF_%L|OX0~T$!EDT9o5n+bJroFRm4Z>AY=+qtFNY9 zcBjHrNf@QgMGm|)RfL^xEG--7Whz9$J#l^Eau8ean<9saC|J!EdCZc)>WZAQzI$Sq zLD+C;#VbM%9Eq?KhX(9KClx!@`3gJ+0o9}iAi*!MNP~UCXR0%-6$cS@r+~>9+@)vT zpLA7*L&B#OvL*y-DosOAv{S)$hyk8w+jCZ^#zby&2{ia5v+n0rtPls^-ZBbCId%*W zDp)E+G^v%ftrPw2rxyq_?!FAn;1Ndf16+PsPQHFG=pXEPgS4k}pkdF2C7`qFM@=vQ zECjNpYsEqM+rw9PX-8C*Z9Ic`7ls>l!(7F;b<&(utxOf`rYiLC)pk&K*}mFmp(}mg z#n%>UFU4K`=$xU_P+#590%-`IdE=3aJ|LGC1&A^TsEisv*)WuiJgV&r0Nst_lg^Z% zW*5h}%wPl``Hdh7#`En$d*pPgQnkAn`cRF|e6=sJ%g`Pmcn|L&7|pmAMLHElxSV-2 zqylD*CuG3VPNi6dQ`ikm#h!O427pRQY&Gkn9BPTmi@55U7HqAy`QSK32j#$au?BDr z>~fi&ipyzED%4!j8R|TdnSc$CbQm5P=Edimqkn>UP&pc_9AmD>*^1(*eg!dQ8d;5Zmfpim&Rf)47lF#!` zN_`vq8zTCka@pGDo>DG0;~G&&_(>9J94No&Bw)Q}rfh=X;mnd4VtEF1EE270S@x38MF@40UebKW+Xw=cMF zw{qN748Fdqt~h&3}?QM z!MD^6U)vt^8oMK5JQ8{Ol8x+-JZ1Un=IV~&h-YNrBSLU1E76zOO)|cSV?V^g&Rptj z>2hUA8E!xeJY7KrKOtM1v&BTRglj~^Kyg;6V0rEv>9X{;zJ{fD{i0cVX12q$=MFT4 z@BEC6${j8Q;eT-mujlCQ_$>6OSM*5YL9vPV;Z(JXqX{Q4qy*v)A}qrTlaK&y9^?>T zm{mnc4P64lOPhUy&iP4VT8VCiQyixeyLcQRz7PX~hLx8jc$*Zw*_0W~p!f&$$9xxS zvA5!#Z%NkIXWXAs`));5Fr4ufZX;RIGl$x2f_^#K2F6Ky8GV7*Rg^oiTVqK)e*rYI~DWO+Zi$Jdclr1&LNM-r*%(&A6BF zH<3SZt}CxwPBilR6+S;JCTLccBd^`OMqbB0CGt9|1Vs7fH{|tA_S}a4a^80b-&q+~ z-$xZ~ssv@VirPDmF}MOF&_E_A?IM1nmpQ0PRB@p?BrMD#&S8@sO^{e^!1nJ{KW)>MJ~;b@;80 zoVZOUh3+{2;Li7yT><*N7F= zDT?NcXJ#WQ&e7*6drUR|c5af5%J`!BJpExc4Jy8HffklSZJwdur241HhzlCneFiyj z_-Z9IfTG(80a<(}JAiX855Ptswnm>Qhl3zx@dCxgsD;^b{EQB0>QwXWSLgtVF)-0+ z+7JkImBEv?+Ac;WGs|%sY~{5S8+k9ChYyTo%sHk30(XNKLph|x#4XN(O)=Q%L;2zN z3xTjBnt7FKKuM&Esc&C{1kTt$-6n_zI|g)U*u*D_X!y+eWt`ikrBTG^3T2`TN~8Q>x-#7DX8l97&2Mjs{VL?o*9wcESoB0Xv2iT6$76&e zk1{Fe3epb{Dr{xE{$+KmP&|C|UkCawzv*Zw(s z-dC!k^-i@yaMw_0Az)a@#pL;QsokEAg0qUg;yt^>013=wNF2ZpDmI&|B}064GjB9g zMtn9!`eFd6W<@pbky@T{^_gT8NC{i+z3zBx^81 z3g6!yCxsBXb4cK^UrbX@O>r$76ZMxA7F534-1b9j72@W^ch(J+{n@1z+82 zDIom>d+0+?D`06UKc%$KtnyS`74vei7;odc^vO_-!uE^JR})20Lumkvot_Z^Pt5Iq z!R{~i(N1wcdsQSn8C$G12{`}|tktyEm?sWtO$fXXL-UhWHfq5iY_sfF zZ9N^Sb}LRGqRt|&7LLh*pcahD@Vg)sbukVEmgmj3TJk*I=F^33JPkEL+;*i-k&z>* z*EAd#WsL(=|M5)D!Dnny62~9SxK8!lv5nR&&ld%4(PmW}Pl;vp7-?(d_iTAeUION! zW%ATFBUSY`sf{*5yAVNa6hVulnb2n~<2qor9Xk*=V4ouqHp@E#L}9IPQ?2u(x9jjW zVB_w_u z`KfLINc1>PxiRpA52qe#W-yQ&3{zbpF&(B9QEn&W@=5s_#P5gfXNLi?6JP@N z=5PG{zr^qS?AG|DRSuBN6FA6JHj`lTvA+mHd=-E0?9m#2Z)K6`T){8D@|~?Q1|1onOWNjFX#&48BIRAN}I$<%4ac@ zU?5C9C2@)&w&F%e1;!#uxh{q#<*O!GCbLuiQGywD7+2;rtgdEwM>d&WY8I*60+ssfl)M)83`79~QU z$nK)giS|<|a@kTIi$LVe+}%v2Oa>eRBGvZjvw_OM1XhXyC-L)tgU^^v`;N~U@yQPR zj!$jDKH;-y@BEp8*ZaVq53sXD%pt6ccAS3*`ua2~gVh$7u4qvd*dH!Mr+_{76N7=+ zX%3^3__KcR_z>NFz^79i`1mq2%GY0jLvL_c%gEorZiZf?+;{AL@QrU$jlKvF`L7!G zHZ~7mXB|nb|8W+u&ct03z7hj!U%wcV-v@k;m2D(CG%NarBMJb{?{Rhw&R&J<+J>Ut zvfoGonF=Cf4+1hLD;6fWq*t;(BrmByLcebJ3axu8UbIreT)GKJsk9TQ_e?15smWS|4Wp|66K4|1j^ZQC@1OT{|4Vb zuWu9Iy!`(L-^c&08rxqM3%=J5*gL+T?w!9h&W=58Uw&Vh6bB*(0m(4cJ1LZu3xDaZ z%|0U0mSEh670&ma9Uu7f;w0IR(ZV$RKp_Er5sgEYP3v)fpp#fTq zll1rrL#};?CIPV5t|Q20;@WQ1{B9xyO)tiDr37nV(X&W`E6)H4Qb~d&{Qo!npE5Cy zJ%U~w5rj$(|0kUMU-AF@xDNK4|EK?-^MCDc@c+xa|9}4fp!)dl_}{M`{_FSWw4b$9PvXsp5rjYh79kiVnq>i=_GSb=zg@&= zJ6=HVTnBEi(|7xxQ$f2GpdBad3G|!X2Xl#R>N3`o<&S6P4`%~AfPwP?zqkOm0NNfC zk%hKmG!%PPrv1*J#P)_IwFf|v`_x$3U4e`{EakAHkor!`5pHjveQtV--YUIqJq5ir zB(^^R?R$gaJ^&B@Bjp!g&J_OOxRCXeh6W?2Y{Vhj8@bCj8=HG4of^rCq&1`ri=;K3 zYo#|K%L?hvX&Z-yPiYE9&_Za1ce#BJk~@()91L%_XW=&Xg+1j4fuQkZ5RQ($gKZN1 zeADMq81@F!lwi|mX~9TZ7i0!^K~``7E)Hs5^xym;*ba|ZN)GUkkZy~%_OAK^<1Y?nESmoDJvLB-wxBU4qnH0r%QXB zG;Bz+*Y=K#^qk`~cW@+qaX5WWxaVTGt%DNUVw-zy?`Yo(J&T&js z9tFiN2a)w2^bqH>dJp<`U+7*jC9N47#MP^F58xmLp^8JACEmpG>k38KQ_HEh7N zZyj?mYKu|OAmTT$$q(j1w6g4G9>A75QXpd#&PSa6AFe4jRbWJiJD{cr22!(|OVhPx1<4G)srPmfQ%Cb) zZz!*rA$e{*hQqouu0ei@Up6uI+kg4GMSM0;n2RYCiy|wK8nk-N?+eaq_`@?lT~d@#7uD zfw0+=e^!)2V;O6{At6a7vB#ZLkcPz_$N_zEC&7$@zEy{ zNuef8l>N<3gw~Lhr{nwarTEH?!SK3LfuXIT(20?NVj`np0;qWsH8yIo;dU}rUg+S_+O^pyC?XJV9)6!_d0YoFc z_MDNVnIpvW3BUsmrPPfJ5A6>&+$D~O#5oKIfH(L|$z@vI0k9(Wvn9$ViDH9GO#q32 z5G)o#(shb$Ifd{%;A*x#|2RnbE%2v+ua^f9!NrRl)^B5FZ{G{SG~Wy3(yqjhOq_~> z@faJ9=5ip$zJbQrPW=C)gGD0ze`#ADB_UhnaR~Sg&hj`xSSug~TMxKlne1g3#~CWa zoJ0WGSFt#jvrj^hubdD7wIU0&~&@U*rwoBlDXv0749Wx2FUn zef0F`@pFxoV~%h}6s0X)LiL@pY1gLoR!$m3ik6_ zB7c3;|E9)QSda;z3~WwN+Z#hW;UXX>{SLesu4NS`PMzVayOzJgM@O%~Ra4BRm-q|+ z=lE>fe|%mn5_~Q@X20>7Jg#m18%6?){y`$z)4#3IbC!d*lBj^kDR|z^fdbBP6!1yP z$76}|F}WE1`zafV{z8E5ioXEmf=sj}7xwKpuz$x}coSj3fQY z`cL}~gU+xhWD}h!Ju6}V+$2>2NZP~yA@r}31Y}VUOM6&a4#A3#U;Ac{+OgLMBl4m60Zo94$e`Swy{;Q3)H)GR?W;Yaz1}DP zp>6mG8q5IQhy1AuQUJ+O8jykqj*kQLSw{M4|KYCy+pRPEe45AgcxpDjJlhhz1B`f{O%2iHM4i0`<`%CIl5EbQ6+w8L?`SDq4Tq z`e?Paioq&s5Def00Tsa~K8iC26;UBTCI9dD+{6$r!=1Bbvbv!}$@e?g*4^xuHQ^8ZY^C;!d|eQg)yBn899UXb}aTn+eF z%KTscKj5nYkZ}ZuBwx3V5qxC>)}-=vME2sY-zlh?*o%Fm1%iiSgKo(_sP5&R>tlw6AmoJ!D+7qBGbZy1M z*Pw{1;@^3(SG6c)ck`x)OB_6Bn4Lr z;F9<{L6bS$y#(zpKTAi$cO>-MT@jyNua6QW-P9uqz2f+{eTfh8pFspTn(DLBS@I>W zQ*HP8I%%FG6!-Zpj&PkfLT`L=+CRx{A4k`sefv~8bmp|)A-Z)eVw_n2y4QNF{yY-@ z>?qJx@f)=J5K`0DPT`S)z%!0bDsPA7zyEjkwEaQ_3^nhv&Z^ntzp% zV7^(UAQig_k~TZv>#bni&{?8L^W)sq6{?!rb|Dz%a_;KI4 z0>Q&shro}&fIl?WhU<|0p>Ybm0$~Re&kkeCtNo3wV36 z@kuB(S|j+9h`c12@5odK-(i7i$ddaaxraXqxEP1Yfn6=8nz2J3Cn&JqI0mSiZM%*V zp}dPq&xmW!eih%oUPSoBz79|5>k3SqegQtS57z1lQvfje4eTAm1yzFqQ+=gtVE>N* zEmHt_`knKgtK-8XUw{;N@KN4o^d3wzp;?*$niK`i6I}pJl?%-ygyuoVCj1icWZV%S zJ2TG~>~uSHc#edhX90@1_Q@J1VBFO?IX{=h_kR#gvi+X%3F%|bTCA`jmdDoT$Q;S> z#W%5BH5D8*!{-VG6>vWt4X&PPbG5iai%7PrnEB74#1}K-$2ZgvoVlCKoT1O{`CN`U z@%O}@D{Rm4OwxAd-@pD1e*7|Aj-;wp_PReck;z$w&P?@ z!>=(Px8c_j)4~?d@Ib-e8G!$A=MVoIdM>>;N+InVAn-igAt^qO#Q*m3bMexs{%=eA89FL|h>#$l3Gd82--g82HQ${nm{{5#m^hU9$1f5eJxgHX`okf_M~5qj zcVL(1e=#38Ecs~0&rB>IX7E1JTIAzU*T;T+hEU-sj_EMx*N4I%3Fa5(tM@BN;ff`S zkG z@<{r>>%j#5?>kMf@Nny-{r@8RuKRKY*CFYOcGfQF?X4h!TErcN;YtJl~y_@gP*Xf*oO}Ludl#iqH?y3#0rWb5VP>_ z7Q~l-&?+8xUr|T#js+cx(dtZGZ$Yx%fs)JFLJ8Iw#-g9%Tz%*prK9izEL@DWJ_Sz*hWw7x$m5%;gd%?dQYye?;g+ zGFrrHU{v+x*k>lQO2Ot_zRG;tT&%UnyeiwE@%E{l8q3@A9Zdw&%@%Rq{`?>|uRW0l zyx)U6#yq0%J^KpG@0;K{oR&?#fOF0a#arKup*eWPPxB1Y{1}+&xHRvFzUw1Su%$`= zrSbZAB4j)zj^CGy4AX~xU(!dYM9hP0&jW4aV_q?Q_K$^{EDT&X=5M4>?xIlcGH*vhu^zc0#Xmf2Drzyz7HInZqlf609(Zh6<2vdj-0gpo_ez}dENgI` z+eDo5OzW%owD!(l9caAQa)&1y!P$!Wm)gL#Zlu2egY}hEjZ@O6JS4l zs(dmITx_nq``68sXQo&$M3qPDr&00rgXkwac%V{02T%vy1=C6BvM9?weQZ9_xUUhJ zQR=_w_D42tA8L>03=P4!K@&2yRNCkIxswm+Z+jv* zPH`0ez509H7yR|T@*PRaw>;r=5Wjw1lJc4(E%)?Ye0_2j(wCd)lT2u_1p1_HocEPJ zx&Jw5s6r6`cwKyV^>j|$^0o2HJ$z4l!Rf?bU+I$<+%f{-FL(QI{i0L-O}3duo8TMh zcAui{iM-_|i0QgAs(y}BKNmefQTywEj5OUQ_4h{C4>YTWFt0*t}0Fbj$_Am>sdIE;<>fpkGc> z;oE~cym&a(Na@dIO8+Q4IRih=z>hfl>q51FA8OthX)Au}dl|zsSTC2h>)(VMzYhP_ zn3wO{7jqtAeEz7xxBnCa`pa$lXIhgUc8a6u@9}4=N1PY@^}X^vZUgblcO-R1mS*sxcENlS@)f|5=-=p6S_XU4_ zuY8be5aX9GOj5ojZn>-P%RD>jZ(r&2?jO6viQykrzCTI%3!gMoANqdsr~dN8*7w)h z$0sGy_oSqG%!vu~eZL?7r~3XltiS&P`d-HHDi*9`_5E*tI5d4)BbS!8rKK zvcB?6YMgS!-+cBouD;*nzTmI#(RYk%P~(>`Nm9NeZn>-Pt2{gDZ(r&2lizoV6T?5M zyzSQJ%U^G<9Qyv+ZT|X)t?zHO4;D_O@3~pg?9(%Wz90VW|5V?fhBfnFK;O$4He(e$ zR^Q+D&7tZ0Eq`!u?5D4*U&@v^#ZmgfHDwU zGSPoNedD%2*t1D&vpIb~4q3!a5L571hnz|EeTR7UPjZ(lq<(icuBM*j=wdl|#$SbmPx_ji1CX!?G~Vh6{5`nmF7b*EDtMPHBq z2L0Z7!C&7i?~|nbn7f*<-zrJ@o+RxjE%)qQe0_flCQq?y#VUdsOrY<_#(7`q`w!iz zhzNxrUoO5Uxzmj(e7ohX-SAjcxrgsZ-531rD}BG;Eh7N_a<}~g&nB_W=Jfq#$m?x_ zm`Q(j$eC2%_l#G6@L!_plf4t^`;U>+8{5CD?@xc!ZO73-$;M;EZ?BvnSc^S7>$d09 zhc^DQtkynz*|a>r{t*Pu~< z$IJh~)ok{s0=^8TzpS=ryEiDcFVgai?7wVFZkP6`o3+H z!SR>7?N9PvAq|_;_ctJ`w+UjVKj@G%slM+QuYSRwqUr~zY!mqR-ynB4wtrXOpZk#8 zj;o)OjOT&)?UfS*>rb8?cH3*J&$FzqK6}};Jkwemzuc3TKCZ#^)5j~Hous@jN%=9Z zLG`z9(?82v;TA{npVH@(U-Ki?Utg7<s~S_$<1wQ=58`u>1B6-lh`%iQTk z6uw=0oRloSR_DIpr>D~Q-J=YSzuawqy7vlc*qpwfmmUW(Wo~#bslFc`ul}SzI_!`% zp7S#jY-0)I>ihBcx$U_6ImvjQir-#2v_y*a56=#}?KRcsS=LEDd)c%+(|SLCxhF4! zT!ZPSk5|4hN%@u}<$YX(>TloG_iNqaDE?FW{MuLiNcGoOwZzW(ea<8{ZZn;=H+hj-K)A5BBLt z)DKWN6ZnH4V-^(KzpEckch#f~4aS>9KN#`bD<=rnVoz^64aUJA=KntZ7EeE{h+ppU z=P|Bg^SAGnPfJo>lccXMFZ25oDC2kD=sPdCnHeddAbLE`>zvQnU z?GJLl`XS`bbq2A_t5O}G51T!(O@38YOd{XF_9^CY_obMm>WQ1-7~(wL=>B=WPE7xH zTAlR4L_zRZru2Wo_pUEkn&8~~P%U8MZWLyF%MWL#Q3`>}bXur?)m*a)o*vKFaTw3O z`swHK$1%4!IP{mh^1Z?>j-szuf7-3_>U-rECn+B@xB2>ml9cy3(sEC~$DiN-^*{XJ zQq2C2a@0!T@7)sTeX#q?6sujeGgP5STzpr#;gBeNyYv|BhBKndJ$!F*U+}lD^!dq# z9{_*3+kTn%3fpW>pBtEEG(k+&9c~w_-<&=l7q9+wcX=VHztl~1l|zP$U2X3C+@Ur1Q)jelCH(}ur)mw#K&c8a6m z^Xk{QFZkt9UiQ~l`snqiUFM77A65R>e>Pu! z?K91kLtnLh)?Xg&|0Ul)A~?u|aWOyNqc#>}tG4n#y^Y1@!n>VK$1!f_$7`F5N6L8= zG5#lZgJ3tGy>}e@L5kD~e3P+(d|TnL@vfCU-W$!)fJ@G!h{i{8v_IUxmSY`Ke=7GFX6g9c8Na2MtEX<&r3>!2 zZnv02$KGX9HcM};)k6)(&fUPx*#2FI@74hkI2ksoKW$+(FpEC1b&&_8W2AwbU7(&O1@ASjT@_H}sf=CXf# zUi;%?UP5rdkFi_g2$xW8ga6o;565sFGt zNq%{?7N32fx%rB9#koz&qwuFKyg;3o0Frv&-{sde@kOmWdb13iKUI%(ufSK1&J0FI zVHlTY;?sZl4%fE%W%*jo1sz9MY%ZDhJhxMg!=Cyo9;tvrt!fu3_iRh>3WZ(OSneS7XtdgQENcsxGWHz_mH;k0|?14|wB@L=*m5e|eZ zUd;~)j%Hry&gTPYvwkT)?U$X)4_@I^<@EaBjmGYK2$+#}iQ0OLf=u(8+xR6c9=D>z zH$X{&nA#tG%hMw_V=Qg-q5E$eM%mQWF$+Qho`x_$>;zFk4Db_kU~cLeG=s_|*}8QQ zMptP|cs)$fw+9uLkEr$;NyyOI!H+mcZ$Po#hw@Q9g$vHit)JQSh`HJp-ph zbbyA*A_XdU@-_7VyJDqw?onS4GkUZo&_y_g0!)QdCVnU@;b|3BC$oKgDGbAzi__wb zG)-`W4(^mLIsX+UH1Q|ebvZ_w-_i>g02>fL++;@5AG-@=s4c|@3*|c=tvSFs`hqp( zXhS|JH`83c69oB+5{}P?q)%I569K)V18N@tkwq8-=C*kxMF~%1;8!2eCI-WL5qmU1 zX^}OYCsMd@f}W8@YOH7tu-%jW5IR?|&$*g0Df&r#NZa7hwOZ9;G%PotqAJ-+Cxgu_G}5~1VFD6`Jbo~+ zD|V%D9Kiova7Z-ruKm3r51is4&pGRiZE%22*)=3Z}sC3RCj&L-}D|^fd(NV-YaLVQKT5;jpq> zV>t}tXu@IgCGIJ$L_jZ6m-E$S?JMZ*0uZE$J*@bJ<+bOb%IlvIt0HQI4_~n&y4E-(5#87jS497Xq)$&oubbVv zN3tPvV$pa+TVhLam?Ap%J0GTEMf8D12}Sgo9Wf$$<*m&y)w^Y6D$)O931l4cMf6`S zL`0uam%ph?_Db}2g@~v#HIr+UKQsH+@W%o)tm=D3^s;lYwYwiBCr3ENNMEqT`5q&t zit4Lxt!-VL1%D$T2F`i;tY!X})1mgv51=*cH<@?82rgI<>pzQq5AB>u7-rD8&tTUu z^LkE2D)_$*P1Laz`bZHDPu-uU-LVe|bGk9PjUGCXuPy#Ne!ZBFeqQDut!7U9yoyGx z;iS(#mqhx!6&@yrx$AwQN|h>sH=l~+BtU8COkdf}?C)9?x7VE7F^)R;Nz_@HrK zV_|r|9{NfP8a=PtUz9RJt2ukvxS^|Ny=kpRlYAj)bkXgSvrwXi9zlWAVtxA&b@^=? zbJ=)!n_jv3wvL6yC5^$Mt7q-7Zo-R&#svI&RSR8#AM)-gcyv%6jkX^hyhy7l?pQq~ zdvIM|NANHNw(k}_yjS1*iN5OKx%%;2^i=s?Yer$;jTCGcZe)#_wR_YFfA9r^*>kE# zbfmq+62+RC@Cn6blW!XGyQnbqL&9fgn{TyNpP0?4s4eZIP>;H>1~P#Yd&t*qOj<9~ z!hk@qwR)q@!LN6m-n#tEMtm<~nV`J#L(Py+Q?IQ9?i=;K-}B|FKX|?dTkX4{Fucnh z)CN5jgB*adt`mzd0|VGuW--3$%3kxNSAd3dz&2^2Jn0(H*5zlQYoqueKEkbqPQYV4 zIT)~qd8LHra9=~9v+{4y1L}3%kk>cU0se= zm-gyXsxAkAmU>^UNMzr4qF3k)o$?BD;15sxn!yv{MzaWT7t&cEw(hh*n~1VQ625ws;7B;;w~O`3!ilhEkvTBrpc*X0jx z?1zRs){TO4z|*StfdD9=>_IXo>$_18uhsW%)mJq@RczE#cd2P!U-=Zbtt$SoTd9gc zq*#%yD)OKz^wnC;h3(L3XSdUZXr7&(QXfWH2b6Vn%dWP|0@k(U^YDJ_DqJfz2g6@k z`MATFGfRgTh7M$E3oj&{IKt6d&1f7b_clZrk49Hxn0yZL#iKrW#E~Dw$gNbjvAvL3 z)$BL81IDd~a8)QB%7#Jq?uzWKJ+iOb+0vzZhW5LoSk)}n{ll<`4V3oGo?>>cqu}WchjsE;wwkaJEeox=~nZD|4u{vl)bf9O}iG|^}z^z)4O6>|( zG0Gaj8SUGR8@glG1}lh1r$D(p|Q92F+hSjGW*{6_gLP+XkQLTigM8=}>)p3Gd2M=RjpHq-@`KSGsyQg5ZB zOq59f&DIMjGC$fU8tGT+a=E%pQkNoiDO8t{>M~4S2B=Fvb?Kunz0@U3T{_7H!^oOx z55q`*>muhP^Iv3$SM|{|P=$MO29HhpDE~=YxE@jqeV9jm2#oL#%_AZcZKxB)21fD% zIGYk5_x+y6rx>Ii=IjQ+ z@^}BlV7o)+?7`v^HD39?8~|`)oosiA9)^DcEdm@!l458(ByK+)tj z6(4F9JH$jy#wnz$HDeopgg?U|e;A&d>|gEW*CcuU2YuC! z7P?V#9CRH-T0%#xAwty^QIf2}p}TJDh(}}FLWZ=8UC`LUNQ-fijB)tv=QxDDQ8pP( z0-Tjnwk*3ApehwP8=Z_ZuEIp_$?WIx6q>R$bKKB1+Tt#FcT`d9)>bb{*ZE6d{Kk8xV&#jvAdniMax(NMTfPuh&p3O&sS{sl$ zI=pv8?YC*Dy=UCePqfei6clJRB?D7Nz_}hb^iwVL8$5zjTWFMIw?NU{;b@``QB+VO z7``UEIKR3iyC5HCZ45+o;BS{brZmY##8|A^0Pe##l|-5h*r|5%m})GD`rtJTbEMo zD%Xz-ziUk<;OJ>80QuqiC_o$x2B8oF=CpW#6k%;4F$M(+4|7u;%vn#sOrd}4WBd9Z zuMApGN6;G4(hfJz!yI{i>Dj@sM#+IS>ZC((bO=rcVF2Q1qR$r42L4d_1cd3Cd=M$bLm z{_QR@TsXw@5IDSUMLj@e+W^er-4OHseNh1H{3`&s-LpY4_NNXC5-^|@&aAz7MVL5P zlwA%~+h%Z)SRQ2w*Y0H>NF1dl1ZeOGX#`*cDqms^V{%SKORZ*ByS$1$C6|hA2l6sd zlp^bK`F68H=772G-)cS#JO=4r*>iOah)#hxgc1{&h`IBVJJj%;FaX|YuIbCZR86B* zS-gpET6kI(E7`uFM}k0Pj=@{mk6@OAA%p+kjDVPY1g&I<|g&Pn}0@}eYH>Q>!=%-cAzyo^z##r$0JvMZc zJAf=b>9j3eA{CA+KX6KEduR>NORG4Qb)>l)rSx(%cN>~3)G8inm6B3^;C!v(KHS(^ zreYrMVaEt>=)hH4#T5Jw9VpN$&%%upv_n9(u{8ZfJi!>2D+d|_n~CvXh-ZiaWKT+Y zg($(CFlYp`FC5)}^N1H2jE%m+2@QX|IcZq86%!&<@$H= zYjjCF{QXr)y59IkJ?1rYv*+Yj=VwpQ`!<|!&`0{SI9Hq*_ua=Z(yDz3X6!@UbKKC6 z%4Xq@R`pvz8ssb~2;wb8%jX%LI|(PdVq`u5AAuB@>7bVDdynH?x`0p%4FHeb0y*V) z%6U3G8Pyz}I<5j+0ct6qnp=m5P*(qUb(BXX&IZDj%C+k}mCgo^zh|HdV&iE)scjS5 z={E{01rl96I3EfR5|FZ50S=C}7X8CPDAlZ1P%w3Atq^X017o4QAQj=m+pgD*IjM-I z-1dd;ki+P*`znG9k;D>Y24Br2+h(bSmtS4sMjpjHl4scll;;c&bqP3{P{h#m;(ANQY`>8iayJ1QMid#QLC5< zpIfWBsiXWDrhXuth?3Lr10ODc1Gz!F<9PXTCZ~c6hf4qAYH%7IRxN8aX9Xi;GJ=tg z!N|p#08hNRDcudBq>a#KQQCUtXn!3*1{V^4>QXi6JP$5$^#a)f- z9VSKCkqDD9q;68*LYzWhq2y>V(Qw{ek)_k{N^u*4;5Jej3wEFq zOrvnLF$yh!Zsyu|i8Xtf9rKXq*@mpDJGPiv37uxiTGX+8la1+NBqrEuaKW0bc!H%H zRb+N~6K>CEM3KM)CVPlAjP#XL9VQo551PqZ1DPmbo_-mbTtYlZW@2Lk2}mimfd**} zVgM#mL$@+Tn3iWhjrJL|ya1g{ayx<5mbgE42_%W>5U)>Bh8;rWxg;y4zRo0=E`4vr zI5(G`DC1LHgUK+bZV2qHD@5`YD$cNa!PJ}m-oQAwDccooWveaSqJK~5z;vzR zB{Tt#&wJJLjqNgYw%aDHi9 z+)DJNWJnxUWq$f0E826??HIoVuA^zj77)m+Eq$3Zf?S3V)<0XQYb9!$|VmWL3+G@uF;=QD^-GN8SAOzs1Gc{iR&$)n%f3I8I%*sE2Q>%Q|)W=Y#N2 zu15=g4<*Jw+YO-MPfn$Oh6yYGC>6^kYIwxD(E}!oo=^mC)*M9150w1|f3&K9vL@_g z9z_o;Drp@>F`)KL#dwgIO!KLYN}r;>FVhBfs1Qzl_%3X@-5d^~e$Gx+FTd}#RS@P#nd!et5YApzs4^)*E-Cgm03 zUvZ{x%z|nEWPW$d8ey!85i-HtyE+XqlnFop5hCWhid(Nad8WrhI zN}Yaiov2f=S8F}|I&)XU4fS`KKQO2ATk}oKm#qSj)@Je;dTxOffxlsFuV>T=f4~}Z zhL?kRwMECVP&s3O_L2;;5;*3@Og;Q*ee1fk?r`T;2aSR>#!x2*jZw&&+;tn0=41&m zz5ir~0HV3EV9MdZN?>Ab{`q2#39~Qa3!+m3&kNR^z1v-~5pZl?{SrxDV>lDd!(Aa% zXh>HJvwaUT7UQh6A9NO_;RI*Eoxq#u7d>W~ub$=1J#`)X!OAppI$!0B=xe4J z=oOxHx<;HA+lF&-m^w{O<`vODBVpEW84B_@15U8s2;vCqdM(q z(%G(Qr1!kU!HFy)3!Q-z<<#AIQCvC$Dw@sRzZN9X6TqpM>zK8aI1R*LXhM*$MFd{?sJ|c_PNSEa^2;a>CI3Ckc z8sJl0hwvKdvP6~U=*A_vc;gI-PmRFO^s`@9xWMgaeK2?c2sz+#$*Y}-9A`lNYt03( zLU)Bf#a$Wh>R-jpZ+NrRELe(>Fg?%SuYwtDu~vgmq_H7Pqq0`JG$OjeP5M-n7bYmr z#8mRc`NQ!yP|}z8r9Gt@CdonM*S3{un>33?it2yDL@mF=d+M#IiQ#ORlf6xPGDpIX&I(uOuvR_l`5&|j}_#%8RX zCN|?_4xmWnSi(!n?-nvUZh5qAT@JUXezRj+r(NWTt<1%uZR@rPNo~n#w5_W?67f81 z37FwMM=t++d^wrX4!)2bt?*R>?FOXL=diP*qkWE{a2tpYJ)Y08=vN8wRSu%q_)?RE zXna*5#ni*spotE?;^a#|QAB(};j@3}gnZ66qJ0s;*Y7_Re6{^UGx++BtP;gvW_Jmr za}H()7w3?QkSQ-P34P`TCbQhBEM5!n$5J+mA35e}*Wpe9n1}ZSNM#De3P#yAS~IBX z&e@F{StY>!F+^%3v;|~O7Ode_ms~&`wml9$iA8>n0AU0=j+pfH@OM?QB|zud%(&yEjc93(&IALdyy0rJsP=+q2N}OmOMmKd0c$v?=k-7;={wPL}>VLtQ19G z^DJ4M@r@tUPQcIRIXA139}4eYRhf);%k5<$43unyfq_xPVRa~MUUnx&HN;2NGCjwnUPS4phK}#?LCqCe1P$j*6@dNP7 zI*gu7!D%l_TVxFV+42hV!hazQkOImp4nMW!70Ojqix317&bTp@(j2l`o=mOGH}3#g zWgbCd=n;p%K9CQ(_~-!u67ko|a}J%qT7;7ESKudCkP`9N&qnk7#cW037$AH5-2`zM z4=@NE+4>NOvhh1d@N1s<6*hz8m4Gr?O3vTWL!b9T8h7WC6Fjx%m`*!{3|u?=*zzgq zG?JKffhNSE*a_y!KJwE+i3Me;`~kkI>?vNYf0#X^E^6Qg^=&B82qy$9zErS@@&bTU zvU9BKK~wYFML@?s+Z2la#NadZ@Tpjw#6PrU4+pb6qe@trHVX}8_1}YydfY!6G}^y1 zB2>E(i6OP;8E5N~VvK3wyphPyx#>p4r_x%CC~wG}bq4+pEjv{=R^*M;uwZqtyyCc& z*)PeGCYt7Y%MdUz#~(rGp*0zZsLjpJ&8w!bgMs*-V|tpKppMyhGyR_U_O2si^)c(& zb|9X~RA;nM{0IraD2pLU@Dhz%IVaT?|AW4`aT9_NGcz!GKbK+easWXC$9r+>AU?n! z=QksJDQzZQ;0-veybqI?$mI^fZO*>j8%${da+m)32F4FRXz^V#v{ zQXqt(mHK7ogNT{d|0pn+cj4YD1sAd?J$$qa9YRw z>R`t-L?$r4D-bW4$iA2eq;|I2*vHP+>)6Fk<@kcsAbxt5J0x#5CBZJHHbwF|B=aWLep2zdp{{l! z${c3=)4J7FJ&V6s5fWq|v#XaLDMM6uw^mh;g;Tj1gXZ$J73s#sMJdyO3h+I#PzEfV zUra1$mCx|qFqr)8Y%H=ogeJ-A=KP%$Dbr$!S`4BUZCSkBXc+dr>`6E#^1i zk?Sa{S%0B&;Ih`00y?ITWLfM$>kPK#A|zW9QQiM9C90@ykHp>|3X@G~9Xkm)fVAeb zMF0RxgLSMZY1J0L36%IGb~vzsk&X{|{SbH1l3BCyruk@Zw&ge=+;EQnq28#?hHjXD zqHdfAr0G;^ee23eLcDHMdchhJol3C+$Gnhyt{&EGGHs z>+{vHNHC>ssCR5_bGCGhz`woj$I43EI1C|i))FjB{S1wO6Bxp)tQA}}i;N#azN-`$ zsi|^6#`6+x59N^WR}OhK*f=ChiVhmUnBKmy+y>N=jZ3R*fqq^N~pF+B8ZC z^}!H~E!UP3nSKici>L%BD)dHjaK-r{r(l6>E!Xmlfsc+PS`+YQw{w&5=9~+K^Bvxt zM$hY>r##-Q#=Ui}SVCHNka7l%9_iUnI!<5-A3BE}BL<{WfI%IodRB%rLS;-d01A^g zabOU~@yQ5h91fysSitJEaln%VA8h)gV~|{nBD>8_r=!JPVE~M-ao7IOe0#T)j?=)=G7GPF?=4 zE+_pCosPs?G4a#cli=&2m+RrPV!o6K44oQkC@IChJ$SYi@C0k~^l(}>my~i4i_I|K zdW~$(_d{#4R)-p9m%K}WpjX>xQ$3g;VX|KTvH9Er4ESzX%xm;W``&ogsAIl8y9E8A z#p_{x(I0pXBwMZLxv& zLk$;|%)qab9vm*Hg($4JCIZ_jx zT7-p+Yq-UcH|IF=!BXfYnnxm(P=cdL<8zw=_(B~TUPlWUhQPZu!P}Xs=3CIG*56Pl zebhe~YM7%{hQ(Ya;0fuG!r>?3x|f>ZWfZ%efR@Z|w?Q0!v>nnr4nA3n`3S=77_0LL0-I2oS2&vTniMSl%NnbQvHi0q$Qr0wpAP_xmT%AOFW zXf&711qrZ|xJmv)H>HoJQb($IEWA=qoC(+Bk3k(nf027ztNuw!ff6&cnhEDsPs}cG zmWXjM57x}NRIV-V&6kWx@LeascO3@f;Y`Wj(O2z17dsZu)l)yvH|?i3g|8tNzkRl# zZl)qB32APzIdDc@9vorxig!U|a4XyzL&sbPGZD;pu$gT% z{%BQw0GzgBV2|@K%?S^HGlV&joMJTNJaOl`V1`4cE~qXzkIZAIrof1n{RP(LOXbr6 zKFs+BW}oF)Zn2;cCXNQS4aUj5cMvV8%)P~evWg4>&cO^hwHBiK`B1h1kyJK#E?a;N zrWY14FOn8wY`hl&KLg~?g}cV!x0L7(|2~F& zZ&o+3h%j9XZQ+S{1;$mY=#HEE&E^hl<;VW*D{cYXybi?L!JDS`EKGvOk>4A&#XP2m z7VJDIMrFo^xB&Et+ISbk-uwwk7x8w)$oz2w0F%=ZeIgg{O<=a~zmzso3PB9rb8n%# z5o)+et9U}-nq7K{bZhI_K7Q5Or1LU#E-UxVzBPfCppVEblxREL9Kyf=ZshqU;I;y| z)`vp3C>;}Tz~(k;T6|Hl(fr38(2JX{;?c{<&wg6P51xU6MEqbQl?CDl>v%QP6^z8` zHb|x|z89(8bVw=&$;~xdWm^Uw@XA)aq7bK5yw3<;M4fPwA>ywx$fkN3WLni!zQh&q zTy~8qMzNch>n4&_ND7=c6)>;FRu~Q#Ev=L;C7T5gP?;0+e-=OrFfsp@It;4daTyOH z5GsishhJzFCrBA1KxNQUW1ywBYKtEeFp;w!z5-gR|E<`~cnYWIB8kc_K4*un^LQYi z)1U(e`ZC!UgRt*Nr(jsE25HEZwYSySU11O9ctj(*;*hnnQF78+AD|I&mY$G(pG@();ozGC4%`i{4lalg?BZ1o;k3Ai65zKi@u{B;ew*WYUf{b9VJvIvr zT|K`CQcHod0-&tzJVqndap()ykc}9ZJW9afoJ_zGbxorzbD7Hiapz=YB+PEj2kt%t#RF-XBC z!LwBdfOskqL%LaKMh!@8piI6v>6?;EL~)T_&A?a%(?*v>)|EmXwW4l*f|O5=C4Xmy>=51DlPv-^amngl}L`~&r!&kIQT+oj~?nJ z8V(>2KA3I8@LRDQdQ36@+zrvAF_NF6*bR=mA%Pw6EfnK+!o|*9Er}oKYLUIC3hRm(kzD3@%NpQU0g86syao-@>~&6#)>>yNQYSXbWdB+8^3Ehw~YPG5H5LSt`U` zrH8inLbT^wEC8o!RbL~WmW9<)2v&psxl`^%6hVEnmu0Whf(;%*QE1;a^T&tw6_+AM z#+le4a75mv+mM1$bvE06ON6oK(3&}`L;J2O*^GK6Z?Ug(G(xr~qnXF=fKU2fXy45F z{X+YGTk<6CNDKZuU1Rn*A|atAyS(4@CYdG<8q>hZYR317Y|_=lGz?xWa)&7=z)R>FGs9brq2QtOO!IoWJm?SAS7u9_(W@~lhePGT z>1!#Dod_`3oM^r=;}i3(RozP?#p6}aLw8)-S~pBBZ9$hgcKaqav{|dXobS?hGoy7QJCg6Uw1^TI!!E%v|;Y{N0Azu$Zj z>6ut`fh+P)CTcP)sT>jUCyn$=rAJ%SvII)h^+q@`sQ4ftTMxVA1Re|gMJV=1*AZCwK#&DM0h&-wZ^!C;mWd)R91?`q% zw)q>>={M%(0iEcXYg03p}SUb&{pkA%+jKk zb}K$3avd#ZzW1~!Cpgml(6q=QS_mPW3-B!MNKFIXf=zO1vVHUM+(*B*K*wu{*cBAYHO|`kJECB)i2jqPgB9r$1}g;v(R0?$j~WU}qp$l! z!Ste(*rtelXpX`Z-w_jN2PiNdPG(n0SKx8nouv!hM9@WK;HMWt-$c?s#3ekSMSeKH zg&n|Rvch9SR99*;+O@8V=b#>`6p(F(v>Iv!X)lJc^-_e)LI>EXVOR7oM0zbNzd;h=sf9hrT8jqYomf5}quk z!ap*-@ZI50%j-aRA#@Dej$dDl^x~ufas&G=2Esj zMSe)zv;;=_NNJmjG0qy65O-3BbsGBr|nNf7122m)drxyQwP5@8BWqwMgDnsVYF2%H+ABw?idSUKBbE z4+!IYX#4SMP(!Hlb4Y58XQB^b(}92U^(RFYtd@(-U%(O=P1q~L?7LE4cv!u6>@*;E z2Xu~75}tlA^0OOMJSsw8X2DM7h&`EIj!`on#VbA?@(?bQaFi%iye)EU!;5M;$X5@r38PE?g%_YDpuoKAsXdKQ zsAEVOI15gubXX<4IS!v_efr0cs4Vk1*zP;cA@H|j2X?1Yl7)^c*z7VNS=VJ5um2SSrdpF^k-K8O;B?#IRUPlLQQcDYMe<}Y!{=*q2q^t6=2UNuu}zCqeI#C%%&#l!1HR32Kn~*ALz5E@{Jqs zG;e-39_&}geL61AQ**|ZP+1o$mF4Lx$=@H}22$1}U$vaF2lWE3ADb2Fnbn_r^KJ>? z6ynM@tbkaBQf@fDu z1`apWFtKzj5dfk|ERge~%G#1#B*`87Xq+UuInF|bx$^I{GuMMeA*7G?uSL9WQ>bC4 zR#8LaU%9^IH`w{J;NUywy!y0O^#oMvf`co&w=dGFc+~5Hg9qk6e45&#y5Qhzts0Nk zD%0tg7{kAO3jrLQms(j5__Uf~TE!cn5oFx{2Tkwm+Cu)x5%U+GitFakuh;no)cdKd$)U&8+F zwPW}}nR)89Eb|)pyAr?y39Jd?XLQcy`4AasrM)@uV-#PE$FHD5itO`HW3}Lb;*91` zZ#!*>R=FCu2^#6mI}#3=>MuBWn$dq@X*a-o#<4cM#F`#~#4-~aNdfnt zyF{xj=R;$-p~*|7H{gYmpsg1w3kbC_aOMYUK&N9YEwxH@u7-?7jX=#&189l(H#>a- z$WD+E)Yfk#_?#oFC;?vRY;OMmFQhu4*DqGx)h~{Em2Gu4pW~}rppw-n^JJ96&9NJ` zs@p`ST8wz=MXl-~^u6HV4HLURt5q(-Jw`O_9Z^)JNEyf+m4QF)O2#ZWD6d!k77b!t z#T_~54W%bV&eSR|9p1f0u758v5v0j$ZM0z`UEI&&Jy} z{lco#dR*^%f9y*_l3v|yk~~dVNs$9Gd;XA|r{^O>L+j=jen^R@ws2T`VAeqUbEUiO$s4eesSR)*IEz4iB~p6c&W zE!sp=lsJX22Ax-}LZQU+DUI84yuJW`RN3?IX_X5&B4hZ^T@^p!z~Nyf;}#s07c2Kd z_hSG7Dcrzl>P=8B!?emzSl}=U^_V*9pz2ffxfNwH3I!wfGW!@x!M1oS-a}%sJ&Ze4 zfAzR-D1UFKp#0SKHp-s_fZ7V6oZ`FS;6ojEe^-i--0+AE@eCA}F zjX)!ny2pV?1DZsg?q2Gz$4pFsYTNQjZzC@KIi~DEoctcH!$AR~kpUVEzm2Gfo^Z7b9RcsV(1PSytjBZaSyVnFFVLF-KhcI|n#R}8PBE;dH4s9f zG|tE3c|n+6s2R>?asfn$^Z7{mQW=T2u_@GmbN~M!6IpwSDb&zatH`&X5Lem@+i^bq z{nF+ld!XPlU{Vbf6G}CsYhUXCWON90fiws+3ab&`2Qr;N58&PEhj*j=kO}NPa%3is zYFa3OE>oEVK#4*y9S$tW5f&<7mz;DvBwArkU!j1&wAKzw2b4D8>w>o~$Py(^APBE;fxQVti?RhWoENv~MiDN%04SCM5R3 zR-e8CzrKGJ=gCC!caI*L1H zg-Vhz3YEwJvGMAik4ucfUSW#{YY!n#fmp`PI0zwu;50R&-pJt_0ltxCy+sL)q8yfj zr3c|hEN|LBaJ~pWA}f{Hi)zEdceJHCQRakV81FT(d0J_;F$z%gH2sUQ*llzR9+jrwE_)!0eoM6^V_K*)&*-~-b= zZhd@zKJ3(m=&^_kc>!xbk!Ymf)rryw;i2}RoIqGa+_)~0-qDduhq|D%trg`oo@-8! z0IcN6aBm&fB^o$t!d8E$S&9Tw=E*o9#U_R@JIIX^U)F?ijr1Qg9q1&Q>X;=08!)GL zNCI8m@d90Rc-SyMy;Z`)M*0%Bbx~AaSd*={N!I!df9u>-Xx#%3-dvzsk0NN4Fxh4X zSk5%RjM>tgaGg|Tz$Kk-XjEW2>M) znMABE-iP_zKNY`2l3eW)C3#WK3L4%80I8RnO5O*yBT);yFgp*Zk=umI(XR*0AWp}i z3J}4QdKA3Z*cJsZM+DCn4BxVHFw&ZdVZ&urx%fC)Rqk+0Pf6r!4?%O5eS7v2Muqim zZG8l}42EmXp*O?7LF^xHke%U#(@M9qN96x>P-0SS~en zq@l_d!bUpV;Q>%do>&s~GP+sGTHn-DTE~(aQvxj>eQADEhNiKF(693o%4AB77wW)? z{)(zrch1foL20`3g4{ps1DxAKR$hL}Q7bRs^V)Rf<#a;0z7)BC*aj41tFiu)M__k& zR0p7n>R)jh;i+m*UBL%1CubPsTOsI0edwBYSP7l!e5YURR1BuG8k3htCQO=@xdQMkD zZHTGE5MmO8hYDJrooD}mqFZjKe_`#-91Yf`nu33VSR6eS*z09JPo+71DSSd#()>F< zvqfRi*-NNal-}dQgYaVjFvr4Aco{3G`k|hr5WFK5=zW2ocJZaiOb|?gi<5(Ck7O7? z+#SCWv!U1$sWIb=!`rQ4rUMsxAJ7JUcR#&er*!8Bx_#NL^sW9g;+UG^C`P77>e)ESoA z9mACCG%3T8M{xi}3(Kk~-G|rHl4!xc02ZezxOtMR=s|o&ZFTNVPyqEf0XT?FBxm3U zJ{uw*@C(|OfTwA1Cwh(acUmhLc<3WK$60DTD)u zC}P=sWox-0IDpjRslDut2aA(OtP)zNh!&*WP+*L!a2EAP^N$(_z7E2s@mo6qYraC# z87_c85))_vAdsYv8~;noBuGlj5+t1?PDgxj9WdqVcB@>rwb|5?#piEs1V&$W)VKAe z=yFA0XG21W_-vB7OrP0j{w6~)0qK{watI&CE8Wy0$(VAx%9x_P(xql0Vf;1;2$xy! z^IRURpQbkh!uiQScU{qhcEW+UB}oGLJk=SJ~UW-V=&P zcCR1X1vgMh0vTLp@ot;$Vb6qLLbeh#I39qc7dlnxDo^eLl)_bh3d7*r(ijuK56S0P z^pxv!XqAr;�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 z z8m;cWukOq`vH1GX-14IChV-ZTwh`=8i^G@xP+8Svc$);~`ARSkLmuBR-$~Ek$|L$q z_54s_{UrqZKe7Ju4^AG@{~2J2O@S�dGZ=b6%upR>hSKgdyS<|5)SIvOc!xtNKkR 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

rOcGKQTxKKyLg1VjP$NFwmX~KpRF-s0AVu^#@ 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

Z8qE_zDd4jp#t%OPC*!ph1l~aN5 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�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

+YPGPWxpV;mlK15I~oO)-F- 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�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�^cV!nc5i^E~38x5@s=F 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

OH6hPzEMyF$5VW)Qj(~`Fo_bu;V59 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 {r{$ zgi)Hy-7YqsTJyWsx-fbnLy6>fu~4BQ)Om^&C4xg}6NSScAce!w#lJ0`GyIm&-ADo5 zZBI&7#)LA6VcBluyNS1;KIIJ_DkRhducGdi3~&ep@dWQ-_YHZ+hDab4E=`+OHeS!& z25mIK3&BWpx#2UB#>Q`FIQBjaHt&qj;5GV98J&1H9#lzQX;slV?)D?>BB5^F?cCUr z?4F>g8fEDrpntP;e1E08=7}3s+dF}j_Lg_yZ1k#i1c2v2858mjSs}L znc$V!Z^opu=!A+~z4#r~_4p9gr#7mP*~qKx-5!!E1s92b=-cghTv_y!v0^2qGWJrM zVfjg@Eg|zPR~z7vMbMe44f+pL0t=?9R1;xp*DO_eNoSG_^HJ{iqiU>lCRNrJroD08qZcR?8Ffq-7 z_p5TkK|BYY$TBNLM5 z|82QN8o$84DPuH$?55;YaTeU!q(Yws_1%dx)xOzK=3j}`m^it4Hid>m5rRo_^Xp<- z2Zn`bEqI@&?Wrt$De$`|yh+yZo9sDECZc->MmO}8=en~9SB4K=v@-{DKvX*Z%2zxG zmQ4vZzh9Y{7+Z3-6MpaPV66CDkb=FRXbZ^h7I8wbau3a%E1HYA-}!3g0j;@9b8dtK zo~c)-;@emE@UB;H3N&~6K~2t$i9L)WgTI5g0ua11{7-bAk#8=vtRq?rP&kH{ur{ms zI5UiW++B*!`xSSz=8# z-HC@oJvjHpmQZbEOh4$)9pUTf#a2y!JH800u-2LU=Y=5-zY#Nc;I^)2Yv^<$urPif zUAb1Uc6fgRCZw~EzhmX8aMd&QITTaW^9by+3wmQj}esrxl*V;7(HvU{*ds zpJji+UEof8MAKj4;3|X+chyyXu27A?yoiu|DgM;2AM#i3^^j+oCPV-@g{#yj#m1OE zn4yzFsG!*3jfrzp`2*NS1q^o}+KsNu9nkBK1w4B~0|LaY4H)B+Z=%e8PfDW7`~nsC zkq{AKHYa|S-alZ4iWJ6yI+OSmjPD!8UmiLY->L1WEFN1f)STVX{b>C?J}1OXucNh$ zO7Ri5*AHiJ^NcSni#^To5TkOl`RNnjGLlOuiN#WpXipkNrFDXfS!6*yyOw%@ zV%RTPT&}c%@hM7NC-!-)uY0`%Qr^!nM3pZ7t$d}-5-eG$&8Jh-RJzJ?XFL(a$Gj|S zEY^8fy>kr{fgyz|l6cAd^{;#R4*W42);$JL>6mn!VmZhhrKT}>q zLUqq`Pa@yZIvkF?{F?mQd~JQi{S*#b{fele+#f64A`xx0j^_N8`H$qkl)rXY5wF55 zYaM3(vHU{U)h>B0(mGmPPr7!w4ye~st)rq~a=}vtYYHT_OzU`~puFE*{rdE%@6UkyB>vEQF5 z|DDS7FGpIA{QSt@`SL>fQ!3AzBO8uvJ<{)M$@6!W=jE>__T1TX(NW2>M&)tb(tO(; zKe;C?c{Zp#ix%C|eCutu-7a~yt2}e=xO47ZKe^{#$+Ju4nI8&=7cRQ*9?7#;2~H4_O7~hvwXJ+dYdU&oPzfmLK1G z>us}dpCfrhq^Whxxnu5KcisJyd6GvoDBAja@1^Ml3l~bBQkAD=(S3753kk$Po-)3y zR}FW!mAiP6f09**Sw4xngkFTZ+R7y?mRc9xpW^dvN|IQmW6ZnyqW22!4`H{L*R*()|lJk5!!vFJ*}AM zclfI5A8E#&Wexf}kgQtwc&P$oA^2>;^O^bg8{R78zAEkkw%YT1x)&hR^Kmp`YK*b+ zC4OT9$(;ZyX$wClW)f-lN}AC35e85)+=mvq}2 zw_i$~aqecMM>Jz1A==A}ne&K}{G{dQ)nC~9b||`55t8THLUKqaPHf8}qd(H8Vicld z`YeR};et%YV|mr-rn{Xx2!x9(O>F_8*Pto=#?voIivDTxx+>+&y_v|u=)goO)ZqTx z(IBSe|Gf;g(_)Q{g)?cgv5ciD)VC!5E$BQ(@-pHKHJ2k3T@^H~Z8Fa7#{?4N>_5Qq6ey(`&RnpkTNCOvz;}^*~{_~9zb?D!1QI081E-L9k=iau8`@rc7-ePI^a5u@t9No)zbW+v%3D5a~x|$ zVj#rs+aRs%^MG^@>97evt;$6nEjsq4|7d1wl`Q}FW(OrgbFeGgNqAp9?`Cp`Ms9=UZYGuGIr{Oo8nboGjH6(2~7KNZOhRF(Y(~ZCh?^CBdQbm3ip8?lBu)JmcCOQ zFtJ4@yI_=v8}U-mb5B*c08?3ayU0ZYxGyNt6hV1kSppfpHPK)8g>!4bvt>yEf-5%v z7h$6Intn8*g(@OfVn}+wTIr$N#dV>^hrR(RK;`S`rodJ{&mJ9vz)*?H=brRhuo>R* zu=#Iv6ui~oJmjm~v#3M1@kPPrPnDIiBxJK|^}*NT&U!|=q-VslVHaSdS{5Y`l`P36%a3qn z|1Fi#z^DaQ{fQUsev?1(4DAQ?%0TnZnYaPe=|wkcPNwPA)O7~&)(2$`{n_+}$QQ36 zKq!8Gv1!S~X)4A}57TG(Hx%J*7`nt~%yYH(gg^ByuaVf23x{&S`&$Y=k&Sg8$a#J5 z(e1u6e^rs9lQv<3?CBi#dAPFzHV=>WIzDa zp~6{W03MMK$Rcxto>xONjlK-#ORPn|@Drrh7sWoqukW;iTz+N+x%5?Hx4To&Hgf%q z&NWg#dVGmQ6WY!`#+SI5K-@dSAE_W}xjwx(Le=3vX4BIm4qAJ*G>oz3b7Gj&3#A}X zz*xB)XTZs&+L~dGGRIKIV2qMmZ_1nPo-q9;QF#q?KO4Z-qE*9Kb>nP(U??XV@8=^k z>lXcHSTHsTWnK_(YO<2-es&vtNI~?tYyQ1G8*%!ST?aW<1XgjaoYbd>3sTwzEn@I| z6JWx5=-EmfgvS*mJa?v4s~1m@R6$mf+_}_@wEox;LTxl#&z;s=P~mQmP=wthK|2^` zupF*^QXhRsgE7U$#T`=$juDrvUm&{gSVQFw!c;X>ZsnQ&x$hVGA64Z&)cd{|q zHCZ3r&$Hv+1MwS4BVLfI%12e-!QK>n7oWgqthES#+v7zC-x7eH`7`61$^zUpHhqLID)g&1j59C8L>3*#!I++_YnSEJ70BTn51pOQ-47)iB@ zz6j*3zh&bkpKbP;7?{GRMh?g9om%taQe!UnFn?Nk!teRo=bn7PUrAsp!eU~I*!*VD zdBD7m2{xKao%{8s($P&t;fo;)E41eMmdTQlUwN3gXj;yE7la{EE{kc}fxftzIF`=Z zGGFBZu1RQJm7-mNm5Aivw-^4Aj-C*W0-``6GBkrbY0h9R@eCIKbnE<-2;(0{Ts!bj zCnjBh@D`f>zE+7SA)TobiC(0HzsSF64sMdNw`tzqR)jr#OxX$V0Jb zfRjHR-Fd-wq7tYqlr7vdnD| zOXoM6cAOA4xp_Wsl{f#!{Vqi}hk zc@rXXFa5|x9$|#mxF#6>H7+z1S)YB8WfwS%;2PI>NprV9BdZ@OFNGI}*gm*Zc=E5@ zMYoohisn{6@8%U!0PI)F6Itc^SMGm#nKy*xJiW>PUHretvmd{}(Tp+FNW`zsg%ec> zsKPL@Ek?e(aE#2WFP3|nqTC;^(}V2}&wlsM)m1(oO1U4B5b}bdQqZS-a}@kZIU)Ed zc0;=((Vg92>EvPeMXzE5a?y4kxFzVKUGaOUE3@B-J9p}O_L69SCkC)PINMoE{Xk{H zUd_^AYz)LbWSIFJ^;u$W9h=gmT2DowL4vW0n!eF|`+;>>9@JI8NIaJ29X_M*mx#h7 z2pqzvM^I`_B+9+kykl~6@ruK>M9_NEG27=J$q#|q2BNOwWZU5L#FyZgxM|r~p2BNt z4Fa-3a|wojoRh09v0K5Zl|R_LDe;neC*7}~LH&v6)%z(_(kk0kT6U@k9AYdxe#AXb zH?!xyuHGHgKe6H-q1h{qemgicUNgcR;s@DQ=7#olBGUg@YknO_x{k=cn~C8}B$JZF z@DzSxzY{ExkKq!EM86$^{*aBFvUg;QSY-_NDAe3&YS7*RaQ-#l`I*Ef7 z`FPXpvCjL$Lz$Y;S&`QM^H9u+mG(GuOPd;cE@6`(iflu8IX`WEh-KDob*-@%#h}5J z#q#PWV^^quqUoraV|jnN3-=TOCY~=>DJUIy9(lX<9pPl&`S$lRo*z44eFvxHone1R z*Ozzj>H<|y4IzaEXEY1A(#KGq!#rK}*xfdq6&9qZMZe7rzb%rBDPr@Nii|5(hK;Fh zhW;UdAJs&|KLYKPWhjl6p?SX?T5VK>@E0&za1cGye^v46;VRCs+ZCmJia#RCBz#BnAzpg4Zq9%or!FQzN#DgS}IR5x6I@=~YlB(cxnB&tzntiAS|sQhAWDmU?? zrD}VpA$pW24qH6V-K!@#p;P>^Yq!THa&HiK#)y3!!hS?$8*Akz7%MJ6Kmwue=KdFp zuOP=bgl**THXsQ0(<&?pE9@rYq}Ee z5f!-g33x}YZMlh5KXg}ow#s%FR-?D^WbR*v#4uyO$zJRjO5e?Y$bwp1Jxl)Wo8q%0 zpb5?Db(sAr9<9m6=1o7~*FQ^^ocEv24l%lE`8XX1J*&Lzb@T0|kgk9hc*G`z#bO0a zt&C5}^1Zlf<}<&+ZV)j^QKY5VxuDW~gLfZs-gQ$2Q(y)yxomhT)z(-uDEPa2cci7n z5q{0coA!{%y7u`HVw9@La1xnKWUFHF4=BkK8XiI0)f&w!o7PF)Qfqx_$#8 z;&Ds?%m{~_p0DcNv!i3m`?w$7q@)q%6Xea7XR*^gtxB0?;Y*RvfE<-JM)tnaYa@cL zN2HI|+_QC=2hMbk*!IT85ZU-uuB&m!MDmJE%NS8!`AV?)6VB_(L{Q(?;QZ9QhWQUV z_sYp5>D*yO{3qf{5z=4pF>j=8JSyCW9lO=!o1H(h6(7bS{As9etk^2 z`7Dzl$tkKJ>mEu^BBc4c>&vLX0rk~<0$~^=Lk^{O(2`Xt)@WIkDm-HT$71P+bO948 zcl$B{;!~Soz5UKlXyOww^_WSP#KWp|X1%~~U(sar^Rn+@6)20Vr3-fymYX?@56a!e z4PWOqUA+};JS>mad2*cQ+@U@9+R>(u{`l+7W!h1=f#dm_uv*(}qui{`EObek81|VD z(D^ie{eQH-o_wlZAz?(1RL>kU%o!9UoeBlpRf z?{zHi8aLkUcrNPO`1#~iGtK+@J^)4hb%rA68?N?mruaurHyEc=C%&sMbFFS6fK{~=CIp0($&a3N zw<^7h3?ZX;NlHJ`+ygy>V9IjGNM&%E=njj%h}YbxFb!N#}};ysEVXL1@20 zAW=$y)0LD~avu`OS*KM*u!y_;aT$*n#G=5U3?;ZWYG6%48*cExM1`RMgxXv*S(B2?-a|9+io}H0}UP z1EQW;X{tCA9`-Epdln#iX)V&+lU}b(m>PXyi2h9~qvgMD=8qAyf?VYjq(Sl>0guNVy5@f?UWuezG}Pc}~qfBN*JN;M#ExoF$aWN%?p zzYb)TdJr(<5;o}@u^vG%w5Or@sEC~Z)S^1rzC-~INe*|Lj1T#Wzw#vHP9>&)6Jy1f zMV1sL%ffTTKT+^w z&Buh4RPcDv8Cf#cLF7&SSbMVdAY|j|Oh~q}P{t{r{P-RFnctKgI9nc)lDgz;#z3uk zMwxL(86n*{Fj`8jrLdM@%fjAEke)Br7!l|oP3~>%ia$v<3lAwG5Pm=z)P9YnXnloZ zg{D=AzRn~1;!(t2)S9PhtaKwQ-Uvm!HFBO64m z{>VlG4iP4+ayvucZPYo2=ct@k`^=nKL_LYsG7A~}j9j(C5enD`qszEQHSc+|75V#{ zmG7JHEwBc<#Re`8O1^fT@-8uIdoVJqLJ5w5Jr{D z;Rt*No4?YGQEcq}6JsO($3>ooSouidLeC3JPr~_FVRGBhxxSnmMtqDommli$fieCvlr|>b_<5?A%@e2Je3l>@2-x0zO0lYeY z&P?>MRmr_F)9TV8vkPQI-$`HGXlDSxB#%YSXX+DDMMWbMQKcQJ9z^>RZ6FJjLfj3s zZQ1ld^UIp^9UfbQAbezUzRLGeP$y;an+RQxbtQ59_vT2fiKQ;R%dAyha6d}StB*s~ zkj=<1mmQ{JJC{r6$8O@&%=lmV1~g~ScdQ;l3?Mn4CeOc!*Gzs9?ra8tb_t--z5>^=v!%UjReQ;jvnZgA9&+~L zImGGH^dW z73joid2uO}D*Ic7rbdMCC7E=hKkLIaor|YHs+uvCgRYiq%7i8{yf`aI{vz49V*W?$ zC^F;|SDX0ev1`0sf~O*1E29+HH(7tgcZk-s)%^A&z@otP)Y8`x5U&t&hJ3&|tO z1*Vggd6!wkQs(}7(9(R=w`S}A1l32AeU>d$_Omsb`}|AmKLp!?Sp- z;6X~Pk^b0_BKTyckyjE?d%hrfel1U625!TJt=+l2I=#<6#vK3)ogGB0S(Tpy|)bQwk3qjaN}Y{3ROCl4o+4Q~eMcd@2|B z1&sJbOvhdrXFeV06 zu7i6))C~ccGL#xaXP@7C60P%`!U$sS8MAdOsddj z&bUA*;}rhVy6a|8&e2`hC_g@=Mm9`4jK%0T?Cx9J=C2ivay8XJ#TI4LkJ;rZ=<1o!rzp$?R9S`I0b8W$WAi265_{6`qMcR# z4=6n?lIQCt8J9-jLZqjmGa*-6F7{x;mNE(iIhtH0I6*q0=FjK;kFI+qy~Y~{Wu(U^DbNL(cgQ89LySGN?uh)TMycs) zcmm6KZ?Lp`Y8>)(|BRa}Ec%B1jCA>+y#rG7pjb6E{t-O=sT$#g~>(%6X^mfYHD0*<2QG?Afdk+2W#PlO2f)9jL0a+jE> z)R_OolQL_W^|R=k$K?R+Haq@X9i%hi1itoboC`!eQFmCjS_Y&$VSTo=j$|J<*4Ya>1gcFqAfg zNIGbKJRhX!BhYi1W7)LpQmOzmUs3}dXKv! z7kv?zu*yRCimF%VN19ztfp5MsJ>AGM8fpJxy-dKGA}>*rYWq3e+5xG#yS7k1!+E4` z%(YGu1+|&=13nVJ&Vnc2m29cGaS4&%vD^~|k(m3_uvnj9*4P3ELd7LRXIT3Z*K~6OS?Gk24Tm@eEc9=0 zjuic%%3Bs85bpE{LZO^_fh3+Or@u0Y$f;{#5sTD%czz?fTK7Pi&4?^@afIiD#|zX&?U5)%$8zfxyrqqH1T}$eL$9Pg$8knY{g}$@@<}TJv=3 z`oq4ofLO3SQe$HN2}MDKHxMOpf)#6nXQ`xF_A@FSv4*4@E9Ov?TT1cW9oh!o==0hOP=m1q5FX&URJhUP5+Blnr_IjHRpc8f%?P3%efzkO7Cz+h|c0y{`Eq35%r}zDh1^q(~{LO zJu3au^j}M-Nz#8Uby`(Pfi6`!AEe{*uUFlGRfiOmIWdnNVy`hV%YG666a=a;Vj6CY zy#Kl#(Gm*+<;r!zqy6UDd1f6dEaXJxygFiouy`lWGz3rUp-5#mE|WB>Ukl9S$^_!^&D2uU#RE#>iK|r{;7IC zsGjfPc@6(F*HCk5Lf73ctIcXigig|+@z`f&1UW|bL*PB(oxFSp=h5FXReoNP(OAk& zW9B+|p~T-PhwYwPCo#l0KGMD75tWZJv3m)Ky&VO>1S8iGJxP)T|B7zJYW9#`T&@{a zMC_4W^PtXmxlJ{%<=$bAI%CTATwehprKeY6r0&@+PVo}co_k!RKd16fvPWSuh6&n? zjlF^z+NZphi#QyOiGD`BfbXh*O0$Sv4YEnj2!FZDZ*V69f)9NP1{`*1cj!iaWB4zs zGl`!Pi9$Mabmy>*bVi9q6weYbqSCb@7m4?kCnnhu{|*>XH&v?8ENk=Ro5?rx^&3PL zO@oP5+4AEbK5t6RBSaLCb4DR?IZ4t74ycm;`3R@xWL1U>KX2VilV^5NNDcr!VLl^| zoI-E+K802(dUS=%l8AU7BvvYFeg%8bQcEk-O%?!VOVx5_jBMRjIz zm3gf^SkN{>9)Y$UR@+(h=c(tdQU9HU-$0iiyB0s$t(xcUQ2*IckE6@ihx2$eS$`WWoiMEy^8xlzW1K9-9ebXE8 zqe=;-Y)c9|1QK3dt-0oLQ^v9(1f{g8K|ki#35~E(86q4^P8A3lY)g8xRnM9Evf*VE z?FqavA=&v@53GDL@?Oi5CmUXrYk(!Rd!5DlzFCctw`#5>Q9rFiZV}`Z+_5OHuO2IhcWAExILH^6xx~il3XG&NK4-yfGtHGqI7N z2Py6A`FHVM`Vr6%K&&3Jzh}u4jj_MF37LNz0sc|qO}*Jx;strYJkVcxusyl#JjkBK zKUE4 zS*p|X?&e3S^`4P;W9$Ha%u@Q2-C5~Bu|#Ly$N(&xi>&@*-&FCD%(aD2%yT~DCMIrh z8wgZFH<-KkL0sKrp&ZTw{96Bh;~a-$*)Q1J9i*i?UP~WUuNRP)5yZz!nN`?DH+NwY z9UJAvOVu}p02a9lCj7>qB8(4+Y%#AC!c0co#TUw=QDbYw278s|3HNk-gac^M`4xU; zUcqRc`*O{Pr;0mixTVhX`I5Wif23dvu4YlyvbzWgY1Gwp2-l|94mLM`Y+;R?{dyHF zGl;akOuz#~a*okBLvJcG8fWQEdvNPnLenccYS=GoQwa%@pmbzr{(X`(>j2 zM^^~d=d{juY|c0i%?J^~rNjN%CaLr7XzeTq*9vmU1@j{GQpSHHD_3T}7^+?%{R*@( ziX-qGn%^(FVxF{?_}5i7PbJMj`xQl3+$9N`{#b-x&Z|i4EshXo_bGgC^JkJDN35*; zLbsDYx+0`%{zHln1mpCN3yj!!0Qh@qZwCGl-Y!H_B{WSDVcX{R)I_^VmHmb^L4*?! z5{gLlFYafX`eLj-TNIEPcm`j5Wj;pr-_wu&xao)VqwbC_9B17fw#~;8VDptGe7dye z-GNx)(3oG#kM2D-A$HfHIesT`K=J35%IOP;x^a%?-0j0~E(wn@YZkroVpVmRU#RDI zrIR4@vrqC+qYORpo}7nE<70I2g1r4Gl3mCsCW%h*Bn2fQad2Ry# zWOYAJXq;y*_l-mNB8xel8^Uc*SYO72 zxlJ~oWkGPck0Y^6pPQ@a1dMjow5Zy3)eE6$D;?pdgkUX~Dtul3@=9moG29nI|0b>A zJp_iaNE>Mj+ZFN8QCANsV*qF!1LwtPSHPT-Y4yBdY?e~%+wLxRTqisGGjq@_B0_I2 z^{*T*wcB?4K9o6G=S!2Qh6G&3aX*;(q)3!3#rOrHaWdvp>@}jQo5fTbxn>CJ>rTRG z^A#<*;Ki=m!9e%cl#GugfGMl~6jO7qF}<`ax5#1CbGcrqZ%_S@T;j{Y@z``|YCkAF zUv_yW2lo#w_Rzd4b`UVooz&COb zeQOr|mX7aXYtO%DZ7M{BB_`v+W>Sc~C%ZD@`B#F43xF9uFOcJIyNMS=n}X|RTa)_k z6=dpedyUy+mQfHUPEVcR-U^lUj3kXN4Ic>NtJ+{(9f)?wx#e)T4N^6PE5Jq zUzPYqQde`b?dLMvm;ZGb(H28zr_LWjBO+hk=p^Jbfri_N!^i<6ZfF<<0bu)ucq;NG zAG6LzTo9G(M-LbTMP*8fwUn+w7W@wlnY$;Yy+Y;@dt;CJuIQXBc)wSPR)ewT8q5i7 z@v4>*ufpUYUIhRvhzYf2}jwmxDa|nX@id_>JHB zTJ$q_!O8I}M>#Nvdx3c1JHCibxwy}c<6_sZLQGm%Xwxca^~9m9{UORa4&-mSIyH0- zj_@Mdn5{SA4JL@bDXp&(%60uQSa|a)yW7N*IUNDWbCt{$hrI|45?hFu*n9tG)4%3J zHtHUR0S~oTq>WfmI$WT6E?UY4B;1lLAP7g)#;ayWn=d_?FthlF+9K3j>GNE+v=SX+ z)lgx}xJMfcQFDezu@>vS0)s2i*GR3ArMJ-4?$AX_K4EjpvjrVl%?bSggqoiqwApCy zGf%q+#TFK5p7vGpuq;`!_eMx95h}!{*XU5)YoGqJ^-t5Mmx<_Pe~oQJqset2_qep9 zA6kMX+l>p!x#Gt8wV3qI{oGkre<@0xs^`k+ad-VF{?eJztVO1G&@1j|+l6XKMAPSa zkBSHTwHCYA$y^9eG9N|BkCnFi_A?+_E1ED26LrF zrRNqoFGmwL5X(wuDb4!m5NX+cqZU0RUVSU!pHRK*% zFYoAQ_)mrWLPg^x=8p79Nl9B zHW=8~uRb#}hPqasP6prsF$xckgfBJU##IWpT`z4zdE}bgnw2GgTRmUaYvh$XNlViG z4d1Qs1}X(;1+nccPN5xl`$lpzqso9wk)*R%sT!>NAS@i&B|{Y-VG;3oDIlsSZnvo7 ze}>9se=AW0H(eUPjx6jKaMdhhg)u289{F;3%3E=OO{ULHJ zmpMjy+MA;n3XanO3WNQJy!RFJLJHgPkUsw{RjRPPGGgKvte3-{U7jc!yk=f#ku5q|UQz*>#eF82o*1^3I*XQM735Y`Kf@G*tqW z&!0?lx87W8M%7j?X(Z5liZjf?d}S8b&TMk~5&xwXULI9hM9fkiXp zf2O8P`LrFvNAC$>jZSn)?=tCj{YV>)hh%^fsH`u+8F~njT{~l@#eXVUY)2!ANCZZM z>|<_Jx--j9_Cr}7I%oN(B4vr5>=zc8h4$GqGx4OgPZXNrJS8SWp*fwt;P6zK=mOs- zLvsb`Pm`OdR-b{b;Mx_#*!rD#BNq?iPp-3adw48?qdgWeG|<8i(1?U|4waMPOdOWa zAjFdRFBe!PwuU~i_KWIc7QJlgAs*dubeEMb=fz1|Ne-<5u@oCpLkE1u1g?Jl7^Xa| z+C!ETJqo;hN35HM?<87g=Vt)cGJue4#wE^4(4hb77G5G{jym02Gpc`hq=dO%PNM2Y zqMyinx&L)%Xr6mDPVLfRhMIP`-seNyQ0JLl(YlJHsgB5))8~h;B>P?Ke=2Je%RB5Q z7PXsw!N=*qv{RbmPGBeb2|^+U-Q09S(;@qEQd`mhyBTRWiI%!00ZX92m;5L}kR(pQFKA8TJet!$v$EMl-G_5h7X2pnR_~vw0EJ&zDp8YYy)>670LY^Y;?#vTJZOQhfD2$@MS!^zluD0mZF04 zkjr86huK#wZ_ChOj>vtdJHohl+`nBWJBoHi;>}wRsrpp;g_O6BL@L1s+>0=x@q*|+ zBDJX8r_K*1+vN&X?m^>=7S!xw_{biGq3ExOqdn$jU^Q`!5^gWMJaGjsKW`uashEQ2 zgfs9>wcN@HEAZErA1e`Q0vmw{Nsc;#KLbJsmQ>ZoiZ9W(?>L6kFcm}rdR+LWH_Qj% zIqCY@i?-K^^n(0LxA&4v;XAu|=8aNN1csuIi{<%f%XgCmlg;X%B1TrwFhJmLdyt3N zMByd?PAVx+B9Jb{Le{wMVf)cSep+cdrn}2k5{1 zQdwmTuZw@FIS(hf1>KKqwzGPtv@AP6Rx)7! znC!IbJx}Ug1&=3rF0ARKb3s)&LWdkRTdjBwY8A&b@cYOXj>}+EwsuO~XSESNJyDW6 zhq+%vZOz;X+rR1~nP+zp<`1yf6+LbHtxepQOJ#di*7h3E`pk2;=vYBKG+c z`&fnVRqs9iJT`ipEV;T0CQ)FwD{-ug^D)EG5Y$;!C4#Xf`N?R!Hu6pN!V46@X|L}M zw(kuM_eGE8SlfoDd@HVxT6fhJ@H-jv!esm;r$w;c4Aon?_R?dXa@}nrkLRf%{MvH` zJOV{Mu3-*y60#rm(sL@fOJa=#*@hUm`u`7A*P+mFDAzaq*mHfYa{rKWXHf1rfmV>_ z{p!N)=Y;B_+P_Nj(c|jSYQLE!drp}d{0mPK_&^OReimxE=eSIek|$TCi{JYiRzE2(w-Nj2O$jMQaPfpj!=ILF_k4X`DX-o|IyUi#bmVPx8t zi-GbOc2C-Y7xQ?l=Cl{HwN6COwnug#AFP5ksX~!vF}bza)ckh2#!X@|hr)vVmX2O0 z2bpg<>Xqa;Xs0EMF&c|q{v?HivAI>j*ya0|K(Y{G)9Mdw1Fld~bmKQ_Ee0XR;jj@j z?(50zJ0XN09pOH(4tt|FQnJd+ZNfwfbo_7l2_O2_1(%A}58iD-K|DCk!casH;5sk4 zVa~g9p)cpySG|D=6Q9=C9(16dbTdTJXY`Av?{i!T0i7@d&yZb z-?@bUEX6S~mUrQ`px@@5tYMM!kTrv`309nPbe*xhe3kwp=`QCn(zEyvp&jdtfp8s{ zb0vyPO#6t4tPd3O3=di28|rLPq8`d4xsZ7xq-zxG@d*8QboUiBWrZEaQL2xW6CX9K zL+wb;`kB(Ark|;bS^Tn!@yF6C+2{|i?v(OkbMkc1i-@)9cl$KvlvRLRxAd%;^G0^es~u(Z)m*zpa6>meb+>(?>YGv85W9_$&MER4b-A28 zKAoRq1q&+!2CNjV_Xnnm6&>g7B3zHCM>ew46)IAA(PvC`#0pRIY+dlObAuS#MUQ#c zcxldEZz9cj77g?uFDhcDN9^(r!oK91Bk74{ly_oWI?ZbGi_l6G7UqB#CC9;les@u_ zWKICNqka$}79^!fywN(j$QWfT%y^;Mr-nGUxISPYc68A&jBx8LwF3-Zb7nsw-v$1W zcFp5*Aa~mk#;@WofzpdbGsNLEDe2sP$A<*Wf4c$8ia)tm_t#=g+!X-!SxEaZjOVcK(3DsVZFD-fa#AJJ)tc2ieMiF%jLM4R zVm_G0mjY*S^XM|G1l;CndbN7&5vZC(AfpD><3-#q8MfF$j2`a_jgDRf)OMSDyP@i3 z0Zp}l?)G<8{|=hM z<|FbF{Vh6=Q{CTOK$}u6Ayk>#Wd0s%Ostc{3@I#fMLPerBFp~-9LQ?EcDXHd3NrnH z*n$>;qiy?SiIoR22wZFF^13)%QDP#K0w!O>8K#2&8@s$!eY(6ea?BU$2|`^Og_|*- zhLsSmhGX^gYzc?GKYd3LwIJ7Ugb_P^W)47w%`c2zEtB;F`PVO^uU6P6WpyC>QQ}`H zCcRD!2zT8|niL=omc+K2CXETx=Ifa-f{XTU z;2p>%=)iy+uGoD}qP;;>JN2VEh-UReNB1FFpSuxfO*2x>oJm z25vN@hSR)PjTscaybaeYu^CcFk>c|$d4ao4;#tz)Lc|Y5Y76SzIXJ3%e9fqW(EF(< zZO^Duz8>JR!xr?b)w*xEnWS6-{XaUa_cbf>>wCGZi=+_m6u9x!%W9Ka7H+z*m$LZ;P z0$+h2nqKaI$a6orLG`|Uyqs}N^8i(O_)l0JJHx*xgz0Zm!u$ByY+AJ>L&;nHMSKD8 zfUHE&i*IHd9-Ux8-8Q~de_=lQ0Xy&pvNmBYuD`DIFN*9_{?>vOVJUadE|}3rLt zQ?`D-mnQ{YHGY(R0)k3hK*RGcU6<6iEJu3-Db#!d(!0`pxkLJ8DGo$u$$VGDrn14< zUBrsrX)eA@w85j4ac*cTCr4pTop;h z!W>PQW~oFJnW^(eTuZp{%HjU)ro>j(S7(- zMv!Vj?c2>VcbLaC0>560$c$&&Yd43Mrg5|A1D%gsR}ZzrGHdlsFe9sK}b(VT0_ zQ8@GyPY3;wim49>193j_4aS5ODxq((%ecgDq6@hr$`DdqtHTi!*y8+jx6 z%eg-~FL~Jz78lrEt1^Rv`ngO8zGi-ZP4D&)DRp zbCkw<>`8e*-$g8h;Z}c+@I`Aj%_&l4<;CkRSFL=&SMwJ6#4?E5;KumF>xD>?E_6y_ zxg;8S>!f(};-wTr{W11GHT@4s4r-_BV^?M9 zFAIxg#?usOEvC_%%R<-}U{;O8IluI2u@RId#I;qL(dgysCAQ_nDo$~4w7yChFhwt7+h#F5O@8C{ z5ys>iB)&pdV;Si?o(FLN6F~qo4qXqPu96X(%y| zKF>J1>oge{zZNoAu(c_@4UGCxnlX}c4OmSZQ{iCtU{)}^ww$|t>s&Fvt6$}-mD}}j zA*7Reg@UNXjplEpX7Hi;h&-e>!vnlo_z&G_C7qNrIwH**^@C}nfTeDeS3vj7wXeMV z^2^3}m-Eo@`f}`9hL10dZs@0vFNziS;OVol{OE_B`*ZZ^74Z&gIt6}Dt&j28lRMXC zyLgx@DW>CYV2!x*`5)fm+SP_A9<%QGXp0r(mScH=) zy=-?>-Xy1GkNBL>6$vqtx7O2mV5POH?yVp;_f}m{#+mx~8)&QBJIirNDaJ5a_(JHj zBMJ!JtD8#vo_$M7BFFPWMb%%V@pnWTRA$@U_a{raC3-9`yjL@xH%Ul7yqCYseMjOI z_Ps^Ms3nnM6+@k^FOh7GjnQL;A%cE{A*NLHwOp~hB1FtU^5L7gm;-)hJot~^^yAd^ zxs+D50$1hAs8QL{dlzl?f4HAymBgR#ftL5nS(r*;7BJ_cmYx13)Z^S*Pw z>O3qMdOtRSwOH)T)0;x>L3LH!baM~k7Tkjxyz+?B-#ut5q36c+31OIvCzSZ7QD!Ew zFm7~6mRlwFZAJ2Um*l>?Ob}WYy(e9ypG4uC(_OEq!RQKEah96())(HzlGo2s*I#$n z&LRO1&4~Q)&n76lYwx020s_plenRq-f-fZ>U=w~V`*>a!Iq5H-BQ#@uRit%XA38v{ z#lu{Amp7G3un%{ojJ1+c%II2M<|=?iMpwn3X3Y8b@;kRt*%i4fZyGODkTHh-VkXZp)6P6YT~E3A;x#(-SrNd&QM`iu0u|4+JH zTV@p%e~f_K#^RG`qILRa3o`U?6X)CK39OtSqhthwiUU7eP(ukkwA|zzIvY@@rp2z% zu8fk&qM&9f@9OXC3#I=`1Eabw{sU|l90^r4#pLfIbj{j-%00-Vjtk5EU0_r2^_X4e zif3e^a2V>&-9-T)W0O<-h4$H}0W(4`q%H^enJ$8#S+rJ{nl+Bh1q`RF*2|8Okf<1a z*D7@DSNXk?AIG^)GPyhEkD1-x({hfCG)&;D#ja>qj`>RF~jL181Jg3l$AI9MtWMA8r2lFr)oas{EgNZJ0q=hwXX#SN?4h79;L?*9fmPY zWA$#eCK5F^B1>T}<+6*A1#)I%Hd0q6c2z=XeIyh?=za5X89Pf}y;Bzbt(8;nNO#cM z7nv{UOBX8WiZ`=lz=hT9^;vM0x(`Hw(6Y<^_jWP$7YFnD;_y!Mk9HTN1Fxi82Y#$k z|KNJJmYP4gB$__^-I${6K&<$K6cebudynG6Mr}#BtF*Af0^7!e4unibv zj-((?ei+L&4RSy0yP*Axmcr=XuR1^JQ((^4eHTRc7Iq#(Paf(Uom=b_J6&;}q*;NJ z$r!;h?*$3% zB4w{c&<(nSm=Tf#J~>P@Cua4n5uBi~MBm3}0sU%JkcvQglPx6xQd=CxCvuOuoTd{S zQtNBra`!Q&m5JBY3V`PuS=ch6RcSa^j+KCZhNv_Dkxjp~a}T72q1}%vX*a~2Yy(gf z7Ur(dNb_gkF~aCluOpm?05m*8^`(EhFQP}Q^QPG*d7;7Z0rH08m@`)=&0X6>7#P-& z+IkZkY&wboY@p^uXK#951uMs6mnsG%6h0;ZE(18f$LlN#ec9F5>1k{X#|aP+?yGsU zitqefNtwj>b~*@hn?CU>u1I!Ic!n*=RiZCqcL&8=Kpk#nuht!z_#hi8|& zVV6{*+AE|z+YnB*XZ6=+aiqW4AgTVM=h&oQUzYff-s@+{>ud{&VhNWC-zRel^@MQFpGStp18%q_y(YZb5J#6Om zWVBHUle(V^(4)sOyz%yr9`ECR%v%^ep3B<+K8CKM0ay5(F7LoTYhC14(V5A%AX@Nc zT&8vvNjYm}d#+a+>yILuyD%Omg#`K-MH>A%bHmrj3Ed0oL#REtPddu-d`hv5d!1+CNC3?agnuzqKG?x3rR2~uH%6702nYoF%S%Qwz4xV~puL}>_qPQuP*%iFc) z`dm+bE9aTjKC&BEOmpg!!I)z<#$Taiuk(WT&YbP8*l0G>rZ^wSl@Q>xOE%tje)vb) zbL5wQt#~16(c>o;7HN9E``Ny;&v#rM-HOwTkS*Em_kyM}_v(B48Pf}I&2}M?;4l)A z0>ep{9yedAP-ZOWo?`VO$}pSPQ}bvv2{EZk6;bMZs4oyCpbA5TqnHcra!%s;*{c|j zzuYBXB*I?~4kV#JLI5f_En*;v$IQx76(rr-Zz=nE=$xRq9c@@P4Q9_Do0Y8IZC#9$ ziaW$@1>ZVDBLQ;#o!9ra*EtY=SVTy`SkhM!T&F3xE;KLf$*fg^i_08rxyK2wZE6vb3zwr_?L-s{{Lm|UErgt z?#17kWD+J2+yMeaiaOe;iJ~ToHW8GWWJ319L?eixJVc|2#Rruc9!1E|Nrc_)DAq@9 zds^FLPwT0twJ!lJViF(&RxJ-jD^>7?dmMRb4G$~%e}8N5NhZ*9@BQ3+`>AC1+H0@p zZ~fNq{WI^+Q=Jc0ool@aUd7?m69KnQ!nl`NPbW}=+A$U5+&YbcigL)Cek%iSiM3l4 z*o{kx{oU$#XFpC@eBaUP&gLQIhp?RIK;#Nc+Uw_DR4C?BJ@Q0lv?vzga?C`KLcE}$ zxqNicyr-%U80ez5dSIK}=jK^;?yu*-)D5$xHT)Vydf;dw!J-i%jm2#IT?_*r5J^vf z(fS2;M!{5()v$eUZh5=jv@Mi-!(0{wgMrti1ugOD+Pe#m^_=M;0ZYb`(IN61jm z*o!Y#WlyWJ@r$Xau6C)HQ9zHSvJ{HGv_l%<`j`*LMe!jXV@q$L2&n<*VXVwvYyD5A zLeujZ{a9+KZd>IhKvcjfK4_iI?Q_zwTJN;qb6gHuZuP#;5L;);d$x!7iP4*-SxbyG zXeN8qtzwBO4hquDi-N^bp=ZsY^=jTrWJHM!qpewR3$u8Jw%C;xwFM!#T5{v3wM{Wv}tgY2CW~N{O;KOoE1qIzG#JDN%gL zk%#HVv@*mT1ZAARE$O$UFG(-*VV!YLnJgi2xO_}Na-W>qgmZ3Qh{;Di?dW~lQL>wm zxj{A%NoxBCxmIy8xhy7Q&*H4Y|N9lFB#zSfGFrxs$5`%Lm&4iylH*IC9{Bl1lsq7& z47w87@IrQ~g8EfbpIUzT%d;(lXJ>VUNFLiB?rc!Tv<%u(n(-jt%-bxmUX=QhOV4_5 z@X7jK`~3H6OgR5lA#)nWD;y9p7t)QwQV>D0<3)!I2@OW4f3W0Q6OR;aRf-`6sqVAU zU(nc$Q&k;#r{Yh^n=x2&X%DOTTL_&>1?o%Ew`K4V{xPL$vH|xd-~|mMh6Khtk}wK3 zuquGb@T%G!Au~T&YwxpBODw_Kw`CoyrvlyGZepx4)H%U1i;EUi2FKi1>RWKZn7c}g zn@jOwk#@8--va8EJTB&gCDy#R6sS|$mNrG+qCO^TpZpS~yT@M5OIgjTKC2m%KDm`K zK}YCiokK%GzVWdTdsW0Ot9g(tFRPw~UlsMD-Moqi;-Q;ve&lZ!yDt=EHK*e~&u++!7k-=$Cq zPR(eU7!86Y_gE9DB`-ddzRhTblzrlqiCY3?RXvr@bY3W|ZASf4S>!bY%#k((eyKmL zr~Uy7Bq@4$Zg)ZHL*HXz3ib4h9oZ0W*@ zNYUbS|J5Ocz75s?j9eQ6I@K(OkbVI^MKyZ>luolF0$stx| z$^o;#I|W{G`cM$7D5sMtCh6jCMq+%)KyD+ZnxwD%7xG@gt~i{XNakQRe$}t*5Kts8 z|2=;oQNzYvXbu=|m@HR5uvQ+}7~p^~P$wvC+=j}5mQmT_fok2z9@-)^S96OBLC*|`!9jo&IXafi;^hBHdVhJX=pG9G=NL@b8Uzh3HDWVwu#06@=;=<>)<==7ur9-)9(7=UQzrPn3KxJ z3|pRK41)l1!?}syWfs0Cm|O^h9|^~?8o&Wx1vu4s&4I`RV_eH~0|qE1!2X?52AVmg z3=DH}8M(WVm5>O{Y6NZ(*;MotjI#^;Jp~9$sS)Dflbjw)#BP|P&j@gHtj~7Ce8QF& zv7H`kMjxZ5{7ybJt6yd^5$hWuB+bTj+`l*dA%B; zO|wPM&t5NkT_ipzeZN6Pk674oI@4RNHZOLs|G%{VE7rYF`;SZevuR)G&E6XxVpEcM z=w?H<svVr8wMsnVAS}1w^&{JHuostL36)by z{_FgZ``z?8nfoBV(T{VD*75~gVt*|3Dz`el)>hSNFQ3p`4@KVATen1aYHOpT0M+=3 z?g+*#%c?}$XnKywf%t|F%K4+-ekd2(PbVAve~@TWzLD>1i{{8kg@zB{ z)QMGb!?3Q};_qoK3j`?5T+S_2HIXJ&&acI`RjsuUM7g1ukHP}#0%1@*Y|hBYU~tncg6R0#XF0IWL9eutUjSV^bOh#kiw0)Vj?dQ(z~*&m;TdU?qH5v$!8d-ZeQLn zSpNAOW6H3TXx+1bkiN98E8uQdgHK7mE9+PJN(2)Gs{3c|&u08D`z0FhiXC?^JUsS^ zs0SCnE8^BIV=ESY8~g8mU-@7a+w>;S_i&-@$pcl{hM8i8Ystv?f!fM8f9!-?dm>vN zp-w@Td_vW!0Y07kSADi(pYZEac#1xSYw@nY4Z+01?u-$bc)e8a?)A&tsM4}nL&iY) zZit)#HA%FUO;!^|*kc2c;i`;r1tNt)8;Crb?a%APCpMrf;m{Y+7c+dp#?@edRwZk_ z*JwBZ?W@N@NL@$X__3R#I@i(Ffpzx@;3bA8w)7cjg`Y&V-`V$k2S9uRjr33 z7bNcM*7Me@nHPV_A87K=g(gR4x*9nGan9mx#LikB{XAapwGEwJ@%lpfg}u+UXT^^7 zTQmW|I|ERoXDKfpvvwN|MXE$@A%<0n$9^b0YP!(b=j!=|lAo!qSOgWHBjj6Ef0ps* zhaUuyDY}E1EBnRx3G|E@8CLIVE;j2&m4A-iTB0!DxOS8cY39@__pU?@mNHf9JJ$a! zoLWmDa%qtRXSS?#8jaCE`rs-S-Kek1oFB9j-*l8X#!le_w%>_t zg@^>i1FK6cLVAn@v$-NY$(biftF;Y>6zP{Mwg%tzT7j#7#s;z zKUl|x9@)hP8pXd)z51=bi6<>KP#h)yBsv<(uRVJeh*qH$Ygcl>yPw(>a5 z&RLx(ep!|&aew1BZ9^_^dAIOW>-jV22D>Hw1f^qrQLnb47J(!-6tDZWr;>=h9!I~@ z?)JC575$&s?M;8t*5rm0x0QP62H%$V2=KA)uRfQR;8uZ44aFLoJffITdqUl3_C&v= z+3onpZglfJ)))B_e|B4z)kErPt;-msA~0>)>P`1Uj(cBh83(W~wD&X)GxM;0W)jhU1)UVjSzx^C;) z6YI12Ge`Szs%4#I(X!FqqmVM9pJ!2n9?8 z7MP;#m|;Cki}G$pAdXg}NC2dCLi&H~agCv0PH5C?>4FXqQc0qdLqarcCatuk>pzdEhhSHR5-O2*$)Kmvz=CBRrH3KV7Zm z2Qsf7d=MgaxAnudY5`kBDituVDMQA1bExSCf1MeA90=N0*Sd8Hp`RuPTlb@x?c_$v zLqbZ1>l9v+;~Q1lOE-oQ+yjzV@S9=rQc2dE!B*n8wJpI-t*xl~t>}k*6nW2<`Zg#s zevFK$busgSxSmgLJMlYdYZTo0#R&06w0(<5_m0;{Nsvp4EV9R1Jx+!l85oEyzt|Q1 zMo+^fv>M%&ZJ*LdCZt4GI8)E3Gc;LB2bbw}8NKRp^#0K{))Yv9xzrxtl>TFep3qIL zD=^9v>F3Z{3ck(fel9@Kx*y;FgBWK#sh-**K7C9hTHy4pz2n!b8@-W9V#UNU{~XOc za*quqQlHzk`PcN00D(ziFRhv}8>;ZyP6Tq|?YX+~xN6zB303^9MMh1r(NL8pgAD6# z`is?Ne6l~8+`a>{?nkz9e1%+^(DdBIp6~H*l_?-JxL}T?3MmPJo zO0IBtD7YsT!^r)vGQflV9TGs)SivDHitno`=(K+Mo-Cv-AKR@)=D_p6;TQ2+`7$B| z@OXcWY~Nao%rb}=Os+5-)p){H6-d$^`YAuve7QDai}Q%76vc(JbdNG$9ofd%VW|>p^RqKgk>mC0D){=Fs zX7K@z`${60Z~<0TZWUrWMh{??4w%II_C`+QwjdYhLFe8lrlXp-+NP}YYv+S3N);3B zUhqm{e33ZDpM%Hkk^?@pBc2tydyBAB&iI^EsF8(sdtEi;!#t~Zzq$2OTOO3QocfRg zppspwKM}`4-A8sR)yQ}$oJGydzB(yZpAq8WX)}k_G;*Rp##hB5Qk?d9))QIn^L!NJ z&EEcy$Kv;?=ot2C5_dJC{ltt;ORs)!;h^*-nf}r^3B9`r6NFm#*yGDMc4R@^a0oI* zkEh8$0vpQvg?qDTmqUii!w}5Ie_5oWzmJ>*17x^?*y3AUqzo{=>>6JflXzH2G_$T- zFEGUR`!i(P#?^>rmq7P%Z()TJGCqzqp93yb0#7tct#$mtDIWaAG)~t5e)jE#j2FvR`e%09GJJxC*f!HUadt1elq7HaO5KT1#c_cpckzw z1h%I+`)Xbxbm`)-Ijg8)OjAYlfNqWmk-UTRJpgMlhJCDuK8$XMbi71SavAuc+VulP z*H}1!$OrZO_10Gv7Daz;Q(xWD_XN8J2%Q=-YW-mhJh&@nVBy~JWaM8B*rH=g-LK1ksV91l#JKWi(z#)GC8-OntdJUhY!6=7)~Ia1 zLJ45E@VW82bu)*;jxrs231S1;Pp_S^Ih|eE9l2Ccc(q015_73fyG$!^E(hvSH!P&FCQ&A$ERY> zkrN4oO=V~x@dM5Xj`@yn+3+B;E|u{5Cq0K$!86`0)$cU_++KGl3LyJR1HT6@B`b1_ zzw-QZ{up=q#HGy7wY?*+ zb0Gfn`(ks4;S|^rtSMy%5UoW4Ey_!7p zEf8QE2ivzy?|3utJjIS@hN7S=a-WL+{w1_9%e@S!Bc6+}o_QffvYlRFzeC<78%aRHP<=dFgsz4$;A z>IIDV2?E$c1jh5Nadbr4?K2qjL0~~x|*1^L^eO;Tp zTFVy3@r*B$pUkBX5ab@^k1>6w{gJW}K(6Bnn&U@-tR4)Gspq5ZR3)Cc614~uE)qt; zYjE6{V661madM4zkw1Ov3{yyAHBzm05`#)j;U5S7Y2REZ&0jKR5v?yjx%FQ92KVF0 zN>60GG~E#;+U-Yzy+l`QpD)%*FpW&(X80#2k#hI;W0UKlogbyzL1y^tDDqvNC9;?O zloEA<^HU;8X72|szE8*rY2BflX9i%mwNQr`S81)n7m-DUtSZo*b0;J`Z^xRs{HF)2 zcPzUhfSfK+zGGtI`boLi7;Q@rb>7)%H9qP0NFzzVO2C?G=1uSUnv5o7RlwrhQRR|_p zxZ?d7-$%#GdPC*3POXSusW(k6BU0$4%-x3%w=KvbiO8CpPPf)wh>dlJf|S_tK;*R8 z@tUX>`%0wj2oP;Os60N^mOe;W*se{%$YOO73JZ!oE4VRQ-?hmfsTA$K99#Gax&iHJ z5~zb~aY~FGmzVqw$?s&Xk1+~yg-3dpd_T5)q$~0#-CXXo9%1IBr+`|w>!x==pPqtm zkoQPxS7C-1R*|Az*Q*a;3j7ftBg+tc5n=%=+w8z|#ypI~YDYZ!k=kJ526X*rloISN{^1^M z07mqa&~fKJO8pS$mhh0Pct-|;T0YFJ?u?8iP$*FbGfhM}U%mFqwa6ptpbpv_-0!my z=j%@ft{mx!zUqivkyjV?6C4nKe^21bu)90@#}KC!l0EO7{IgxtXEHyJOPVus)OnTo zFNd8JEy^mCwI&)|xane~eSHXO?1IBadO~8gybUctaF_M?La4*-B?pvTAr8~bus$US-EAbQ$>1Zki1wwC7xBqGSO8yF7!&M@X$M z_Xu!O+%IUfh1eb`j~+!Y>LHHO3qgxcCxc8jcD@+oiI$*zy)dxi{jcdf8kToCQXUB;8gs%;uY}ykXu(Zg8NhQ4 z0I4ZWgKy-t(tkKnI9$e{szg6c<_q@Dd_%lX!R)Mr`Xpjt<3sJ{8JTx zi9K;^D^tuxt!wrd@@nA$w(r*$ob8gH>FCeg4R%MVTiI^>N!{mbt>gKb%x|S%+9jCl zz$jmEhWLhalFNhw1hG%l=LU{A`R5pWQEkG5{<))p-KF(G-sq=+*zxlTHkz9mKWCid za$fA%`H{2jUeg2Y{g|C9M6`aH}08Ru)|XS>v@ zw|)TlC-a4v%X}2$H|uzFR*|3Q87Dp8bkg&*lb+?y%`_?B4?pR7Sf6Ls^8&4P4bmV9 zj;byV<~B6-ODW+z0jyhOJGs_}8r#%v#gAPOwE)RWq93qE$^4(uAZs8Hf?;>F`zo#V z0LHe-{LwtyimhJwPUc_k)KYJVT*g*rhRZpVb&4OoimV%~Z2aieTFWxEJ6A|sGBt-@ z?5QWOsTWxtKRQ-xX;PJ|dMXRNTmVbQ%0s*=}YDx zZfYYioZN!_Buml)ilMUH)vrW99)D%HpId9ajJ7GtNxvcW>F<86Wwh#V%D?F^nJ>me z4m7-cz5@*{5>#3p55l}T$G^){>4{2o%@`lJ;>TxdErrZZ2CQl_%n_*qDG~f6plR=u z)-s<#8r$N>W=2yl3XU>{^~%GXp6lpYwE{2_KCY4R+HjtI9_3y1fC|0VgD*4VpX!Ej zY$BST+7x@?fbae1A^I35a(rM0=wSI2=A?2Rh=*fWFh2TW{CHWkpblZq!#6V2`0*>F zWi_$;`?;@-`uHZDe1>J62MF=7QMGSlSJndgJKFy&`YD+|of&2T$Zx~X-aTWdMLDhY zISL`P{*Yc2#!db7xKQ}4m!SAi4>Ij90|OQQhYW|HVNKgI_7X(ibCyK#ZWy&ZRo$NG zCpJn<-KQG#yIvIZpZWpYXs@HtiS`X4qKZx~aF4Yb?-lMjj}U$4Yyu1XG%bn2Mf`ZVt-0cM#^LxYF}?jjzg3Oh(a(s5yh`s5mv7-spp(F1xLdimg^hl+C-i-H zmXLg|xL~1eAB;#Ib2hxA&`;rTgnhag>t>~rnx+KkQk@zz5L9!f;rlRd#x6PiZ3j;) ziMmj*ElnI(s9zsz)2vu%cjP{yUPWdM7Vz<|RNh^sDzyBGg(H3`6mps9e&tdXTSXGm zy`{VH60JpbtyFqs zkge1CT;%h9X_58kr!GGk_7dYz>JgS$nqeD6OO9!cY)@IIQyMY|&%}ZWgy=@D>QDu7 z&MKIe#nVia=Hi>?W=YZhUFV`NtB@%*szs{Y9mcW*!10R#M1}4~I86m>$3-&7`+=4x zrCx<}ufFhGYn@kq`xQ2z@(O!OU4Tg!I)ZRS!V{J0+BHX^S#{&6UjDYgJ8qR7ZrIDM zz`NCN)dYce0-YyrKH*<=A3#t1Hfcxl@UawnHH#OiSq2!1#fx>(rS_owcC8hxZ+CO_ z2f6~n==W1U0Y56d;Uv5Gx)K0*oqnC~_w($$`aoX&sb_(D_9hE1u9ZvZ$<$xjW2@<1 zTffiw`x_x4?IYNrv;ZoJ+_Zo>zp=rbOIDd}oIBgPSj_<$ayTO+~GbE$Q{>U z92Oq|AIn_G1t(`jJObCLQ{$=ea%bWGyX|Bw7`fUB=f(-ppl4dei3ePu1cl zt@r=2o;vJdfZvoG?dKNd-<$t)1 zz18Zv(20xY%2E|_CgFyE#UJlpIZ%`3SAlzObZ;S7Dw{%3` z66cN{IW+knQEp7veqz84auA_UK zIT0hM1#Ic3+L|%bgNZ;l?l12nra8MUbpasTdq19hKWQ6=SBfa*?D(g*(A#TY_~4m$ zXd67Jk=@G&K%U#gV$_LWqpm-wAjhAEdC0{Bho0dxl;u=8cD;CYK|pZZo(y^IXR5G~PY zP~~{eqI_EptS6Sbtt0mP{XFDYKjvXNSF{}=SICm)`C^MLrasH%R|omaM(E}PF*&}~ zE9Fn5$PO)-2)eo<#h}Z~{0qe?T`sl%XWy%^rl)?d#FGf-vIrGuuNWrg(Xom+`AX?J zFa@q&ToEl-F$t8uk)U5~>^X{00(?;WG+g(%Oy^hV)eFiZZwWFKqY#gBR?=EU6~oCW zQ3i{QKWx_eV#`XFgt1gHr;p}h_ApP()%<1TzKmeMe099zEKT3uempOzJ@<~>3Lcqn z7fQy{d(Q(&F1VfJ@5f@tWAR-7Rg4Zw7~ZY=r9GlK#bN8B+wGo5&8(qX#QApYeL)Iv-@O7TTpu*>>)eA(5`T zX-C26AJSp^*Mi>|9&Q*u`-L(35qa^@oYmaz;>oocA*23e`X|&g;1-PK zOBPK9J>2!Gk4PVD2r%jSqhs@*ky-Sde+h3_xlTvEuuY3Ymzxo;$1)g0a&h zJ}+(pu;<6dxgr77Pc#)o!efSGcz$kOb=L#^1MR7jRpAE)1o=nGcrKFP1<0!fnlb9$ zmds(vi4JG~?Hv#1BuH@1hscRbMvcGz=*ThMyru*h!*x0Qmm6sRz#DMyAY^`XG5^>q zsVsR1rb9PiIF24Fd2XGtJqRZXGbV??f`qZf3+BXUlRBfgw8w>9{8k4rT`_b~ zKbWq4o|GMr@IsJ2WSqL3N(-0r8{tnizxkD?wO-4wFSMeXQD0~?YRbOQZffIcQYlZ9 zd^n44rR0^*wHw+b%EA6ZE{;BGrqfv`BnQsop_#DXl4#CcV<6G_XXYxu|Dfr3H` z3bh9Qp&(Ox7q#WwXZ-ah>nlE6#Ri1UEBf5Fi!0ld8S;y~LknCYoL~{A76yD$O77mo zj8Z>PJ{u_a1LYq9<(sVAvGL%}ECkSO$t0OZ-ODe>-URz?Vb!{=8mb_DUvwS@!j$r} z`CLmf@o_U3!s^257D~L|*Kl<}g2M@Atl14SWtCa<3O$S*Ae8dEhJJ= z^WTKWW7T@`eGmT;|7`ZjONT^7EuAQnxE5sPa4vz1QY?pkUa@f{3C}|O1X;{I)@uw~ z#3NraIIe6^fLKoJL|7W~E#Pd;(sK#Va-P2h!>u1v1!#dAPl+9SAtJr)Rzo7ZsW?5R zcYI(@poADqg+b>hQ_(JIUvvefIoc(G!bPLtxDorcdqdURBlSVE=3i#OE1rA!xm35^ zKhO*mR_82#$G#`R#`|zB))a_DS#m}LuD4`?M#{QFL7r=^IwmjkW$ds~12Mfx4P_71 z$_ZaLqg134&Q=TsW6#d)!^YJLo27SK#jo4?PLXH5B_RX}VS?^n%=JLu$ zYq^Ql)z(a!5yBD?LE=+x7jzWSmXD)1%iI4`H!SAR^M1h}goqL$@MV{X@DLMut>&2w z)JYywFPj7>?G*{>ydHefV4jb?oSm;GT)j_g`3uXgH;wm(+?y~v_VNT#h%b)V?Teub zI&;NWC?hPdbw9Q+7(5)6dMY$2nT2*lS;Nb4;GpH`&-kDr@n141e1f_9lzl~=d={6y zaUVv|O%D;7>Oq11JyME^n#8cesEI{BXjRP;0Iy>+{6lOSw#T$^b=aKaO~Ep=`Y|fl-HvlgcqW1?F`^nYK2R-{~JhMhd+s zwUl#9swYHB2}!1WjB7jTA-hV;@DaaO4mE<9yY!Z!%SR`+4zHDbAi|T4i(wi!~*HxdNjai z*b8`F(Va|)`qu0j-Q9c?C093&m$qHKo`^O|^?%+cdya5~ljL}+`&oCr&ys_wP!b?? zBc2NN0iRbfLeoW+#rJr~XP<4+2gmTv2*S5Coi&|`~yATO(yZ<4iw%3Ra+Cwu6P zz?2uoFh7%k?n|4v>X#VlTJe><&}!ZRXkfnbZryPQr^HUzwuf|Wxt0r230^{^7(?tT zkxcW(J9QRzZxbuk8|4+Gn7sCb-^hs)PK1+qP;lnhBLeN10WKqqOG}P?5lVR85cPv` z9UH?LIm}6p?!lnJ+kj#I>((HotzqMKROd6ZX*TKTkaUuMSAKq+=`;P1oZ}3B51Zd2 z0|H_Zt)-G_Njz8a1^H@BeU%npNr|~&B>Q_>$h=37EgOn_{CljFZeqVA3AL9|Lm3I0 z4UCMqKgqfh-cvT&8_&TNc5mg5c&OvI)|IIb zle8$`*ZOs16#Pxos0E&&(KHJC`HU^Eq6cb6L$QykEnRT2Iq;I#?;zo@)^ab%h5)O% zwMAp{hEt|JJX1>Y#>jgBpExDm#Ki*4zW#}TSseoCDHV|2WWy*Ua&m>DlY2&Dk4`dT zRO=<=9i}b$b_L(2MDZ)@hzD?mGNuYtUsJTOw))z#g;xj7fj@oi4pg2D=^socXkJ?! z%)PcKIA-7q%C(1+s&L>hGnF2ov4G_HkTCyPQTLgubDt&_At-FFvYI&jDG}V;_m(+% zv|wm4slf8sE%^=dw*9RKA`$&r+n;2vP4hU%n{|mgmAB4$e@6GV^y$tymWt2xsn{U< zD+)Y4(E!p48+SAN1~1-t#i=uT`e&}!(OgR8UWyMM`r}twY=(3Kh04mG3mY|CI&1#n?yPy2S>Crd?A{SS=#Kt9fj&xmZhP4M=EOvJs0-Vuu={Xo zFnf?$x4cP=DfKf|0$wuxWJqWrf5^x{`S{}0S5R7tKG2T{Zs?y9wNmEvw07_|RVQn? z+Sso0yDZ|E)ce%|0jmv3H)i-Bd>Pa=HEzuOqUh&DB`%Yz6AoOj=t(CdA?lNU=NS1b zSQ}UT+bX?`U%2O(6o6X_jaO1%LytLhi%l<^dGEb)hsr`D)^o;}iLtT3_2izMLKK2{ zavJe=t#Zt4ZP&oa5_9NtRLA`9dj2qw0ZISd{xly>%$_C@5HE5?hlYr2Q4;73mR8?DqL2%R(hb@?hH>V>B?0 z=NDl?gQYp>fI>;4&hfuM(mz7};(odKOmi`FSJaxy?4{yrkbf+FD@HNh(I2QN{pp1D z@kZz73QSe9kbv>GMBy-@8|`fpvrl8=&JT^lJNGL3(Y)7RzL9AchRxf#Ot^QgN4B5n zt}~8`N<&fz76uURL~d4;02()f^~ySuCotlfGe92!7r9eDkE8=?nNs418i;QuGUW0iW4m&v z4?@dJ{vGmI3*xV)MhZeCt6F6jb?k|_sHi3)RhLRF%oT?47r4l3S1u-LcROd@Znst9 zoH63!)W`gwb}xT&q~6YJ*e}%qB0N=oBJwmg489Ml?>SnQd~%7Qm(L@j@?svXpF9nW z0`UuDi|4zdw{fr)P0rsUUc2~fU$jZT&w1{1@OfY5l>42(y7RZu`8&<|J6ryC`oDvp zxI_f9*IQ^$AsDU8SO+Ckw%=ypT@8{L<)iVlQ4ZJkF7?Pum0XGxO0OUmGE!5>(CN&W zD|cLo-n+kwV-sq-C*>j@SMvW*rmk-+g|Zt_IV14Vm@=nIK4f8A}&OgFx* zll`ml1zC2juHCrFv#O>*dWZcH8*}@7V|l><`L5yk~E& zs=l{k;X&*Bkll7^^iw(OeguD~tKig3Dv3m``&^CbI_FRHpCvB|NQ1rqQMp5j*u{=y z=#K67nw%?qNGU-aE4x&zK5OgCwqDeq{vQR;F+K*x&{O&+tGTx3$5#q2B&h|dfdEfw zoC7P|rwy{JE#z1-RZUD6aA{{Wmr z*lcPHnI8BMR;QdcIX2gPbqg45o7OS~8jS$o1+n7@3CoZ$i|(Oi51+@DdWp_UjwP*i z8;?kK=E0wQ(%tCIuplZ;>Dy}1xwJ7*H~*xb#JC2^aH*g3P-w-c+malZUq5w8RiZ9h z8O)#6w}0_5CSksjWrzt_tl961_|&)kpd4i!f;6MUjm@diytnsTinW#-7;z^8-_F|M zPPyvXSeH&uyVhQu@$go>PvMYB8Cg$rh@ZF?Tnb+ll;9Yv}EkV6bvwSHPGWM z8|OuPSwb7jg)Su3IG3cmS@}bIOGK}vN|{{hgqm;9{-}dOMz#3t(YT)YtK>9(E~nNj z^jJ}9nmt}Z49sS;|4wI>NEbO5J}Q>SmKIX_7fO+cou=+8wTq;{8!?`7_2ByqjHPxe ziq|DXAp6mh&&*TvR3B;`1t?qQ(MH&Ob_>IX%ZPjzKTtfvE}4uz)SXgA~Ix!;VOw zxU22xWW5QZme{Ub4%TH@Z8%i(#0iO@(_Mx+;(6fCt^iZp|Co5c!_2dx@OPu^_60iX6^}20HJvbSzWPOqR(Fvs9S$~0h zqrR^D>-&oQzd~LJ1Xg!wD?gCeD>_^kKboUNSL@DdO<$+KaPUVbu6*P9N|%ndP?QR_ zqtA9p3*tU{Q7NDnnUPn(o6ogb&fif=G10m;5y;g-?WCV6Z%_Pr(3g2G>Riw% z^;4JG_3giQedCoCA9OdnTzBsHEe58>w!o3S?VskA@3Oy{)&99Qs!c|hQDgADt$bJf z=)gqd7sjF@l$^#P?b;5a%o+8Cb_&r%i~F(tm^3QIELikln^unUuDl-BT~`>K(0Ue7hz#B-c zxD$@xs>K-HE*dC3o7Wa1NGOtc#s6-&K^VDXId;m~K;jQ~@p0fq*)FLr1HH3LE#INQ zkq?YriR;`i+&Fyg_B(f6_pHa&ejv}-c7$-VTiQPzD7?dwPx1OPwzVJchr+kKL#CSu z4$84tct+mzOO-k&Z;1S5f((DS)*`fX>YzHt_I<-J<}r-A#C3}6iMJ25#}N37j4OEO zR_Pmau_GVSbD;g$S;npxe{1fZd*o9F6qN1@gXOQdcLk25YlssTFm_OOG%vug0_7bw z*(2IoX^&`y{FM=px11+q5$x0U~P=r6AP$7NqfpPARxSz8XC zStU^4S$iQ+y+uEQnuZhyM{zbhe!7k!-km#KGtSG?%eTL{`A`4(2nz!k&dQshhB4}p zafp)Fk9=wzYCn2bqVUoeja92w0pIQI#|D(Q8xxD~+NS6NEoa{rsU%oCzD^h2UQM*mzTD(2yNUe8vX#{RzkM-6y zAf$gd^y>ns^-nAhZD#x;JF@iu8T!vre2|lB<$7t_Jd2<(1cEYORy{#PwF;e3pSbNJ z7fABAs*PEGzx5PuCBN)X?tFX%{LX>g#R#6Rx|E`TR4yQJXB^FW`I14rQ0!tjeNu z1LouFq?~I1dQnx2Wml`RKee2)k@m%eJ-zV#sS&)*q6e~<5I7Z!03q|CWwXe9SgZJn zrbvw#ZzKxWnk!zVZQ$%|A$!G)$x#7B=t@kOdfQK`s?>H#;x0dc1II;1uwS;FKwybk zg}qz=gaCfV%*nc4w$NV4ZwF;JmmzspRir8F0ltPb@~9j~*4#hJwQrvnHu8is1+VnQ z5}mHVK{E4A7WFNmR|)uNKkOh{pHbsY)|PJBn16#alq94$i>nqU^;xZ;Fve|6@upu# z-eLALwyV$y=ju%=b^>7PhpU>)Y_?gebWqj&qF#Fxyi?%TjMr0-u2Yf+@ez;oS5}NM z=>{4EIXkh$izksBdYcSO+pxfG-A46wzmjnzYm21f94CUWSe9h*w@BVjPx=6x?ug1H zZ|@#+70$WDx{8#-hST|-tZ$S*)~!&{3Q`hz$xa`t zX*%kaN9s*q+Ar;hmeXfSOv{948{s=>%g)rB-jsx{P{88O;ohbVQn_9UQmYNpi(rj0eIcHLFHk+JZ28qB;P73OC@pi8 zRU1Mkf;<~F9W?hE#&-$wQl}vvDQg}$@k6{@_mBYs;>&s+hsKR}r#LueuP57Y5 zJ7i=f!r&3Ikv<`1JkFBTq(9T`hdDkTel^X0xTk`L-_7O0TEjgYGG_U*JF($YMmmN- z9|DJ*HL(ObEpa2+6Wmes;8(h$=Mfo_g>{hNHlk>FVqxgebd_4^%snC!25}GBWsSfT zNPRQf`DPbr)}y-*#IC8!(T(wQZAfCMfwH0ymK{6$=gUwJcuxsgvRB`f$?+Q}8tX zB_Di&Yj+TwWZeL>FYtYfws!Jt?n*zS1(m^LWssso9We$v?W=v+IJq_Mrr$ZnOdKmtx!4D zNjpNpHu`|?+XP+}65|i*G4fj9rlbKhgm!bHvtFb6(-X_kGw-uzdfF>7~;Gw;67nEts<=wyj56= zK)Z^wf0{gD6Tr_KRElb}^ZcI0KWlFoCAl@K)Xu;CKkG?fg_5GH(?i^5!~`QnGSW4^ z+@rMyX+31#;8P6vw|FooO%nmpC@D{l_tB{~7`qi`RyK6dw-_)TWB!Tb1kJCQnhr?rI2e}rP zCTq)p2Ig_MH|+j6gnE5Czl%7e>HsKsiXA^EGQc_wAyXPRe7`F`(c@1aB)|IF@xD3L z^}gtN<`ZHq22nH0T&aGwMf$}aZl_^)DqmzMs-1PxQx<&_dq~wtV2zoJ*~0-;p|wT7cy z>OtdpcVm%2-$ptMnoFzd%8%4lf1)LJ@@&p4Vtu$LKU-ey-oGwJ(TcC-UoC7&VZof$ z?*05|KE`!!4Vok?OiV70mQd&hUmLYP=`Ga6vH3LY?h0{0%6|i*a$guUJ`R?DEy%Tc z9vZuYLG7BQNU4a2uA8}`COq0Yxw~~ys~NeZMk+rj)ye;vyVPfW{NL-lTlY7&Bd+v? zj5@%*=e+hIAnU1&(wMsC1La2H11qQop&_QW*pMKEZ zALJ^o^nY8|KO;1u-=#oP8E$dIsB{3$edG3(q1F&94+yBslyBJqt7_8;#At0Hw~SLL zT+t?G1iNc#pFvjHgWMQu0)xx`DSHoOW^vw^Z?D`PKjzgQ7QL8wt$EXzI`dV1;lc*W z6E`-5dvySEzrf>e z%0iXtW@Q+SEb*{!E1lhk89?UGwi9)UqY&>V^vA3d4X2~A`y?lXF214q9c|?Zh@jZ= z6CmercP}218o*=be8iS^yEH@KEo5vAC2FxQwj^E*lEN^%`Y-T3ntUeJP`=DXW0AYL zAiD`Fqs6z;p|+s`zM<{}VI)ST8l=EJcRE*+wn2AG(13YK~s%6A5h5>a>B?^UX-urWkliag(=)K*&S-L%QJJF2U|EG6B8 zp3#w3j#F!He-AldM|?W9XAKFm!m#^A4b{gN+->6zZXEIG9Lh99xa4ZjabM_7hr;e% zAvc!T!*Jb0dWw9>8IJ&pu^nd#TsXYjqldy+rZ!Z+weZZ?Vz(=zrGCmnDmafpJDwx6 z<8Ab?np>#+NYH@fxU2z`X!~`o4s2ks97U}agRE|8=?#0Z%G!=qTd-W)P-N^{u`fo; z1+PcXu;U`*=h|%?S@DS~eJkSgYa4cnI0nOu5WyPuis!BPx27anHuR#5GxadPF?Ojt zy(X)D$Tra!SgMH`tMyN`du*Uy3J)I=XMl(Jhh? zkKv{pU^n}6rm#;TcSl3(?yweo8;Du-&CVPG|FOAQ`?rbNuzxlw$M{qTxi5e?9Spbf z3*nNmZ!wEY^(RB_jRA=Y6rBehJ_wYEfaLFCV|p2K-`tkA2%)^VKla8XLZs12oEN{h zllX^{SkveTm%l?SDAsXdU2F+ERG7ZXzJID*(aU5r1u#Dk8$qg?h-eCqK=y>C zLAeusF#SN!{+`UoyCGKq%mtH+_2?M~iPj;@M;d0hLd zSw>L#4MnT2amSDSGwO-gl!y>K#&lhFoJQp6=@%6|rO&hHLB+^!<8_9Xs(c1~Z+|Y6 zu-D(Y|FHO;0!0SP#PSksexW$6M{7t(e-qqy^mL`6la7Q?Kl=0a-RA;pfYLselVNAjE$?%T7S*JB(O?c0*`2|Px2UR&f&!_ei_HGG0i>l zcY8g8iNZlR|A;72TT|0Lwj#1WoEW<1eIE^MBktE=;uncDB-FIM&e($Mvjp$}A7~re zBrJKz_$nY6m*D$Jcl+`D_y=x;9Ec>=Ozn>E)pU0|?6YbniXYBt0dX%4)s=4v#E%v= z`+@rmD=W)vJ@*t~$6^7303sF(N}4$nRSJun`p%jY#J^4EGaA%zRjx>z94V0$gAWL< zghNApPT&P8OI7iODrXCK3Nkzy30hyA!Fhnt)<9?isE`93ZsN!ivbGPbM+YlBnBfae zPigu+>s&^v+VAnl5P>gUC5C=?uMf=mSs51VrzCEMa_REqz_t7rgS6UywqBA0skk=; zo~wM`hn?ys^3Po&zgB!CvrZ4S_bG(OU?_gV8yQa+y5eu)Xc7I4U-w@QYRP-+&ps@8 zlo-IBv{GngK~t}ZO%yNx$jcg{Xc4S9;u-5+^gMy|unS|3a$nnI8poMH*(crBF~&&i zkt+5bj(8pr$Yq{i=#<7bcBZX+4p)9jUI@HVgHud5s zKPS>NF;X`D{J9UvR8;P6Fm^i6q8Bp@@G3k{ z;)B*z2f~qWhZ2v7R1yDy{v5pd!RngTky#ug02&A8yi1w|kG3f`66WjqGdON--IUECuH@1Y3eo`|@RX z`dn7k2w4$#^jVp-tcdqwSrPGhV>Kdop*-Uq8YWjT zO%sM>DO#e-PrHMb-#gt|YhiolVJ0z_ARoo(z4CE5-DK2_OnG@B^AD`&M|XM+G~D&2 z1@!dvZXd)uxI8%2<%tfIG0bKRDM{&vHu;Q4d5}>SFzBrmoO_%C{$3=1d*Nda?upzT zQi*QeIM}_xw6F95$DE~@Xdn!+W?YBP?yqnb?IDaIOVW&x+ zrdm1tl4h!VXkEvxSjI0NB=Jj;?e*U8)?c4o-)&-yniKg1=6zj%Fa8l(@`=v+k&>!` z!)wz6iZsjWujjs6@!2yhH2HY5K)a<>u3EO#*w;PuzBU;`6v-M9IRv%=h2w6#nzo}G z0S`W?D)*q^=$ZJqNs~&E;Ih7{#;Jw~i=O_Q^+yVz?^U)woPZFO#6PRZ>YTtHg4tv_ z?#F&Qn+wNXL2H%ZQUGH`Mp|HFPFBqL(&_}ShmnS09yXF4uPd(Vz%Kwuf*a9V#qeTm zj<)hBql0Z6i{aWC(pXd8egAzcoB{Xe9tpQ1sy^^`SH_e`aHVBpCn8LEoO{{K3-E#X znK>VvkS>UC_N2nA*3EX^7Kx8$o%2IB3f;rN$Ykx|jeH&d+JnCA>j9BkMip4k2wdy> zYhviGZz>rCJWRen6hU9D!0x-4v-@;8wwb*)^fT`QhrqNBcSYl%)BZ(r;FlJ zlq=ZB@kTY!cR>_svd7XHgb1D5WCR1Au;F*0)*|cOe0BUNP3K7;M+ayv|DulIjvAEH zlyQz_ouvELaUAH?9EjXNXI*h_s)ENkL@7L1Ye}k)?jiW0`hk<)^ZYPs$sjHZoSn~& zbzAmp)=iOF|I4}&O!aY;EVAp$_a-8=_oW(+I3q8s@yJennrp-TP?v!}9#lL2?SEwI+y;%L=>w9~?PF==N>wLyYYoI2x zEHyz&o~J~$8<^T)B!z!Ph%B0ve+rwj;$!SGTuKk^b@UG+jx@TAJ>5gUyPoZm{Mkz` zvR;4Gp1db|Cb7MYeF%`A1)iYDmb`BLftP`oSUB(_QGvh}q`|Q==t2o_*azE0Kb*MN zXLm1xYh!0mylx_tk1pRR#zUL&xD1%fOYra&aez>#*3~p#y|MY7EOm=>4@L?D@#Vge z>-qz((GRAt8^|usMB?t_uZo9^W=7y(O0TtZY$>s+!S>PV8<@STduSCi1?d+GjLGQ1 zq^qsnKVZs5%Ah`ed{E?*`0;^}51Re)`S-z;D7(B z1tW?0mdE-_la9%>pCFOvMt%}Meoy3y`0=91BMK3vH%UG#hM9F=*jTpr{!?fh2|#z` zDiK^8UqK8L#-P5aaz8O1I04oOM32&yEIsjx%yE_btzXf7Ya6+tHmCn#)0HoADF`~Z ztM#^T^CP6JPz1K^e2ZRc(eyqy1@q{vp9WwaaMvN4eCQh14`X%mY2X*&uB-ksau2t_ zO@Tx(&;6qS!rG>HknK$8zc_>=nbq#kn{5X3<}&!pL&|nLauMJp$%F*ySi{(75e@~C z^#Cz#CuO+U!9g^&%Ej8#TKxXavt3c6uKIx1@_qH9Zg!ZQ&Fm{G(z+`B#m(1zwn_f4 zm%~enJ(IA(9joeYLS?0+XQ}svjCwR8c3S&noi07e0?*KmW&ZA=mp*-~%c#RzUm^p( z+bQC-ZYvLK?UUHNDXeC;D7`^!H=3h;ollvnj`Zw#V)qUhoYX7rohF~e1A;bNKWOfmFh!QAlsn_a| zX#fxX)ljL{Bb|$K^((Ux8HchDQS*g$?cIULz#7RqwfGs9iB{3|bz_=yzG_mm5#5nT ztkf|A;w|{z;`}4$iyz%ye?Z>NkX${+rM*Qq{up92l%EMhwa%S;F&LcPGztd;` z`#psen-1%%pc+{Ugp;KH_!xU2ELV!ZFPcq+-NWI_MiL?%o0x=WwH&Tc`6jimOOM)c zakkj~W)9X%U$L!nqq~qpVCo_y8Ft}X&>}0-TyZk*>+{L@?&S7Pet+`w$@NcuhUoQLM>udS4gj)I@SW{6Ccy^2tn30HNT)(2 z3D1q#028L}$eC6t=K(n`Ps%9ph*c}#0Z}50pe(E=Q6si&y6kv~6x#9a^~B8C+~XkB zbd%ga)>1j_V#}{i(!2K4H2djq@{~Z~Di@v=Ai}*K|KzBiF_79gS1&)7*|d23-1b!N z7y7fhG4C0WEqO5ZE)SqC%-Ag+v3_nhE{8U{l0JRXOWel)VYAt59Xvx}GfBO2P#J|I zFIIRd#8gj4iJf)RT*Sd{U9xvC3u#v_)2Om zoE$(L<3*m-@&qrTK`M6~`2uwtR_Vr@4T;g8Vba7#wnbl2u_3IvNDz3`TGn#;7}5|b z`XalrMSrr_i&lsgsEF^%{q0t6{QZ7AKL~iQ_Y|eiQ1m521P_6}7u^EI7=ZjFP z%B{?L^r3?6_5#Q|ahiK!P>uKO%C7cLbHo^#Kl66nA1Hs5t_ZI9AkyhqgbJ4YkP>W> z4!*nash1D&sP1p;;u6v5;8W8U`JwnO6onGYyb=-tWR+I1W9({3JTD)J;xlBnlpa;T zTP^+oV|qDpI6L#C0+Z5>_Am7R5?KO)5l@JXg97hR(*8`gUNu^NoSQW9ef5=sK@qmS zP;hoj5wmF_)>bKEsjKwu7!W(g@q~sVPJ?yk2{@?DDQPtW5Als2NxnPDybNd}4(2D; zF%D9}=Jdxl{oO%8=liwbE@GO?ipVytrj-(p9N@XKP#YK@X@xI5y^UPy3=wvu!W}Rd zRq%nIXbYmjtD9}r{EIa)r&fd#$`TkzTx@K#9%StckcdYV{b38X@K^1*QIuxa8nz1B zLCw=xG^(?{I3HLTiY)OoSUlZWDN!gK`FX5)geyXDY^|!c^E2r^O{)btp z(6}4qA8S1JjEWFccT~21My8_VR3rk2wwI=(-?*wjGR{cxH|wt#OBT%Nrl;OOz-r$& z5FMDFN};?={YAZyamMIL`35k?BI}!P3QkU16A|Trn~{eGIj{-7MhM4GMuHRUYVfkn zCt9DsVSn)HUGjI2vDwZC=AgSw`@Qu$ocgcW^-<(o$m1P-jqoaJ|9j{?>j%`=)}rk+ zHgKLsBC9+l#6tnD>}`9SPkZl=-u@;z{rv`!i#08UntYc~q<+}&(W}zRh&4F)-~~5t!wCe) zVPmdW8KBKEYR3}tz>PKL#NZ40E-!bKB%S(GjFwl`j^joumeN2s)_iKL(R;cmL&zxp zz+&tJ*6(hdE$RL|owY$%*QO%*Q3tO0sSID3K0CW_WMI51XSo8V^93;aD727xMsH?2 z%Cblq1)rjo-eYy$%=Lo2)3#(H-i_)NkJ&m#K_^sslx0Xig1oH8ok9+kp_c>e<$$N6 zlvuv_dK_9XKtPN0vRYgGgYy}rO;yMEf!=kHYu#!5h|Y{P|2owz3Civ zUmsuxdScB((2vVC5}9URI}(4H>jFSMY{aUsDMX8;&oQ3;qxxASOvsK%LHx=b?csx} zC|hx88xOJ2eN4Bx?{xFg5>~=aEAW3DOdBhqNYf^&F zkO`cTiNqp>)*Bk7;1wYwSh)meBAiYKX&-$a`?P&(@Am7{+SV2?D1?g%V5@-jiWkJ& z8KQz(xhdrL{_JyRGQp?c-|vqfuNRqf_Sx69*Is+=wbowi=S}GmM6dj??fz)J%T>o5 zW72+SMW7A8BKe!KC@ZjQGS?rijvvul6ui!2cPEQXu@1ji4*iz)kccN{c!Vnf)`kK^9Q5MB9&JjwWYBl`*x!zR?Wa zcMBL+W9-Cb?s^Vh)Kq42v5w&rFbOfA?x2;lxh9|t5oEgAmq18wKg5;5xAZ-!Rt06x z9u%6^>uzsH;O3uRoWFbbEH!J8bD@n`ZO?z1do1|6r|}GwWFJtCCQ7?wB$KL=RB}uJ z|BQ3bM_N~toXpr0kvlM~JuK=|*WfwqB> z-*4TcbB9d!WRIx3$^Ok;=anZk07LxYWD{eNM*MhHh^r6aSmHWA=NvAb?Q}ooA~sou zn?$knqkwXm`7K_-=H0m%CN#$86F3Y0t26Jty>% zQCJ7z3^NbSNdCu-7UUp2q{a=Iv1EuEj}PAtaZ2iq0@d@=C#aC#toDE z#|2OJPFiWxC`{qd_KWUs!$k}9cjX9@+D_jyzN9#D9J{oUH67(%Lv~}9lewaZP;&z> zPj270jsl_J@!OJbzmr@yqUUb~{^;=wkLv~-gBItXh){w8o*w5vNP^3%%N% z5R>=Zr%98m>S%B`uBSK$KYw|l8?SI6_;kMn90C-)7v2|~(s$WfX#6)xF+>8Yzl^rH z-MSCikDWd~@_3+~2k@11Fz4hw03h95>})taP|W33ow|=77?)n)oz;i%5*1aGDQlEJ#qJ67pTvs{Py8=6@T7j@RtA$rtK)Sl z+w*jojQ|y0`@12lqn?T-yTxL?h~H);f)mPln2cC(Qiz8ukqus6>)kkL3}^pF4S9Ut z+f>cg`R%Og9TZcekYbj9eHQ}OlDB+dR% z)XFXb6tFRwJK(1170q-3SZF82=*FMy4KvU?0mr3rgEIB9xUp1sWElp}Nx=fur)kd~GI{yzMC zT#IwnN&GR_(up^u$vc*JO=W z;2rhWK0MCzs%9}9Mpks5gDQH3zAhYJ4kVWwNQ%Sb^7nPTWFOJ9cV6#5ADV_Q(fJ&A zY$oet%In@Q`};wzz95ITS&)7BvTBwf4(k09I z3%TKbt-0eRe>bF5=TaI&?!#WD+I&*A`=pmtmrts79WN=IPpWhOgQWaxSn~o8bYsiX zMwa8;sffHqWdrU+ujI6R)~Rj-NzLi+%mBM#*v6NUSJXhJSUe&gMc~+2#)Yu)gE?Fd zHnizwz6;?P$eQgXnOP8{J#Lcm=S~TdDJw(7Il@ECh0`KWsajmP`|~g%-8Mp=NCh2e zgnJ!Rq_k3#Ho=L0wcPDwu}w&i8bKx{V4uoLh>E04aEiZbZrEZr+cdhOYW^RQ23B#_ zoe^_hN5|AGQ9%YzL(CP@d89s+c6m*bQ%=Pp@z7$HKn(}XCuNsn5t zmkI}x-H4p8R8;xw4}g(R=XFEdX`F!+)xRcdOa^5~*Mu#}K{CdS!m=@>-K01fZV2{a zQv}rq_0B@rI?Gk;yZnqlMy8kDaS#B5hK(=tzTI7Mmfjn;Q>Du<+iP)Ev_51l`=e!z=SoWF5BC+=ZXNg2jl_R%Yw;XmjbP?DsJ9qjR`)hm zwBLCGJlz}Q*Kt}=>U2smk{f;MZq&X)4zVGKrT)5AGN_~kv$Q{rME%atubeY6gi<3} zFz&??9eqc1&yTs0(3EmLensP;im?9jF_a!+qdpMxk^ z(Y9ld2ON^jszr zOOrfU53fUpUKt5?xy6fgL5b@M{funW_qCJF&NQrz^!|hG4sUMGy2Obp&-irOFdu@1o3g?$u?t5rI z>RwxW(7c1l-n+gV!}_d6l7UX&e&Xl%zI%>wqR@oAeXsEM)Bp8&;-ED`Qgkdp;{u)g z_O1Tu%R%^z^A69fzJTyf^kyc7d(aZ5W^UBy7%zl!GoB{ty7qWRnfL)YxOpJ&ATPBqFeBAblJ&4r)7k-V)F4ziSC!iwK`+|y5X^VjlFw+ zIV2H|`kzFi&WsUV;b64qr5qiRiEjGno+sTcw(f_PN72Xh>pF_2w2|G2 zdTSq)5Gy@to`6nF9_hPq{Y$jSD+Yvn%E9kga!qY>{WDhTAu>0OzO;1ihp}{h)OpeU z^D-l#c*AomIH2w3czVLrSXyolJ^!fbw2@g^n-C(ioj<3IvRDE-Prnq+%q&h%sB3Qh zko$*-*Rr0f%7#`MlQ_ZYF^aY>Yn-zt96k7 z9e!Qs&HPSjb!=n+BCXzn$;mt8>0{b4<(k@l=kbBWH)3$4ac5(C*vX49Ozn=eP=-Q= z$xp7qh*%1Dq!+ithL7Cy_$eVx|0XUNMtZ+d&5BD42I?hn@Z^CqY6ctozPQ z9wwU|9U+Oic>5U_!m;cX*|9Ukz(e;WJ?Ek+*{8|j(J=+SgWX#XJA<(RwgG$EhWO{a zUG6HfkqY0j%e_{|;PjjpcUbVBBQ$WtW&PtUv z_c+?=JV$XjoR@geLhxK&=!&gKPH9ht;$QVdjETFLc@tB^PM=2~kmlR2Y2$7Zg zQLX+>(Kg35Z9VsR&vkmf$a@a!`FZbos-DgD4-Js#6TS2qd9ds}QaivqR!Txn&jn7t zQ|^b{*EGirOpT4M%E#6`z4o+Zeem!m+Z$hcT=DPBG5#xd`gSu9B}hRM^Xa;ogbC`; zGgQp6`gfA1wN>!R%;1swG>gXhv}b)g6Aql&!LbKf&*aO)5{6V0$>6Uqoye320+dvaWh4;S5eyD-J04-4K_#}e@`KKiJo5JstP^eGN*+barQzX~Eb~-+BxYx>l z2*?*+Gx9@!z6;@OtJ2)k7g*=Qp_AY(eI=Yh4t#Dk1vrlj*!54($8V5YNF0@CSbV-p zzDjaw*$)xsvYPwmH>Z!%^vlQ6)giQZxKBxsui)e|BQt~H(Z-s0kFbNU_Z+qS!H~Ah zbz!@{r>zOkCr3ZXO&-7V+z$i)B}Y+udE4`Z<*1f;e%N-v+NL2P-}Sid>bgGoAM4FE^6h{=!UneyoMa2gO-<;@Q&ng<}Ia z_{#kE%WMu%?L3@uoCV`@+@5evsV38)_aOCr3!$lS$JsR2C&E*)_*(Rwomnu$ebJ!9 zmEgy=wh=y^Z-gwVn^=~%xc9NvyjS;oRHLXUnv7RG+>qNAe+AscSFM18{^O?sRe+U_ zAXB`g^7KG36c{wFSbU3>9!uIc%kyc@-t3JmcxKSYW4Sh9JX^IUUUVnw*hUvm=!cT^ zq~__HzCd^K?`HnRk{JqsGsp^vd3rqD4F=@(omS=%h)IlND{=qu!*oOhcCi9yOf+Mq zu4av;CwSo$_pS*b+fLj%9n-EoPnRc7?D;p1lQR$)HI+VYYdfC2d}6kNG;=i-*5caCr`NV4e8J}Q`9 zl&2%|Hrl$I9)r_I$J6Hu4MP~6#OOar*4cK8+)OiAZnDa?(h=^_({VG6B!|eCPq#s@ znY6v`Q+qfzq;IMU34M=_)&D_axVeLPkQ8aI4JGOwHtTkn8D+BXZ%PY1Yg_}T%IrGu z#;41S{|G595~sl1;LnBZ3^#YUK!9?$L;yWc8Z6rDruM^Zy)b?GVMoi5+IdHp6r{w(x@K|?D+tABLZlx>P zk03N&J=ThyqBvlMv(sH7(#j_1?7SReqKrDZQI!1)xXcj(PB$oo0T7t^g3l3@y9>T; zG`@xlxy?McHJcH>@BU(+mWoKZ(f8<82*oS@Xm)8WYT%}VeZN(}J@z>eS z(gCj=xoVSsk|OwP*74aLPEH)T+s>;b!}CidTI&7?iX_>NXJSL|3(xyLH{a5ai?`9i zUpOLhnpj-BfW`H%owf)G{d19Vc&YoQ9ID>OkIBD5vh7KGq`~@dcJU~I68joWX;O$lf=tLI0l~#7~ zLm$so+$A1u;yEEn=cy%R)ezI2r>V78%@v9z-V#>0x3D!-sazx*Izt)fpz@ielsi%R z%p)6SDRaK7itTo2u6R2krRa{={%P%=%Is>vJKo0kp*NB0} ze-N68$TwMGCHbQhN07E-``gUa$&3L?zMN^~I0z}nZ3|M8jm;?boadNMcQ(fljG6?4 znhxg} z6khv?d%|u5hb(pXx?`ppC>OM^^=P(1!)1$^?E6!G`-e*CL{9$R>cow*9rU~m8Nk5HNq>q|pb zYR#v8J=FU~_*|c_ij2NFF#k!l&6$XA-jrv5OO6~rK__qY;Z1Bf@P@VDrY%N%ZFO(Poe$l8^npWA+gTWx(X(xdR~5+SvW|_3Z7c#7LLz{aJu@%l zeuTV5*J;B3{zk>)b3*78wQ3>w^^c+$#NkbMC;Jr7K;ljJ4W4O4sH@jo5m?aywLMYo zuBAD+gUQT&Cm#59zr)vl{+ZMe389_`bNeU0sKjq@%O62vb_Eq@R<-Ti*^k_E<}U=+$v(EtkKD*fWD5R_LK3F6euxmQgaZkFYA!{p(-tH{0sZs*R}421 zd(w4wa97bi|6rU*1lk67FVUm^VLujQz=QCs!Rw*r`T&p6a8n*;WC_K6CApXlP?0qLkK+$V@%k(|eTHA{&112V)N z0>LxioVw6eG0%z5(vQqAc)qfopBlXAVJ$LAbvgTxmy&Odmru(GbGAglD^T-d&9f2b zYew`jQZvbgI&F}DrPn6>m!Svkcg~cSfixg1A>}dD44O%!4db!gT;T)0MPl1$l?sW! zgO3eXFnoZqLyf2FV(BH7^o{f1Z~sWKrlQ{(Nn~>UEHAuG?~S_Z-Af$z?Y+ak!Hcm+ z6*pBL4Q`JV8QVrCJps8|So)*Ai>6^D!IjW8!TJf+);;s+z52;#me05AkazGIn;+DL z{&Zzi21Ucvd?QEzqs17iGzPRLLQ`m&miv~Dp zn3Af5w(@v!M7Gkj<*hgME7z2j`Y}*QPpUQ@;Ed_F-LZAiu~})_wT=Bx?TytTKJ*Sd?*?wor6&?NgH>EEpqNT=)*i6*Wd^!&Y8`c}cf zO2Kd7zejhl$Wm;WW-kl29{wQi87;)>gOi6%zhD3YU=C(xrm{Pzf%8f$pge*MtnK25 z(#x*^ViEi+7&QGJS-RVmq<@$r{6S^B{^GL8Eak*!ac2O=kyI|Z-w$5@jLid3P~kk!%I%A64g5QwF z>ltjM$5)eJh_c5D#$g^H)wS+O)2U3$tXSG2yq|6!S05sj4%5zR0j3N9PH6LRJ2LZ@$Xc;ZNP)t3q7Yy1(MVdbDXa z70ytF4+axe$?bcH$~e0}e~blnQoON$K1wzf2YX(0@0%<>H42`Lhw3bh88#8!n54#B z3kpLh*9GgZtX@cfsh7PaBFYx4YbVJZell zBLx1Q^5pe-$*wD9F-iF7DRZmX9{+Z6C=e!23>)O1%m$gqi`gR9i8J&1x^qRlah!Nj zwl1sf+M{0_7nS~s(l^5*=$*%>;dFdDVZJ|3qLDafk973~I&0E@uFM+_tB<4?-s@N1 zN+m=n_;3ZBSmAmpj8~jvT4!*G#v9_?{zt;8S~W;-ZiR0M<0w(_g^}IpPc7#l{f6Dl zcAcXnw9$roF2n&6%WW;i7_P;Bm>=837~aC^ca+__mLE9NcvV=wcf9D~Iv5iI*MkqP zipv#PrS%&q>Kc9+_LW#EU^7Mx6GBBXDkstY=``4MrVn;HS-* zqy#o*#MmJoV{m^wxE(Koi@v3){yV35>=!WV;qKlp_oEHkgJh-$_v%h#yNWp7VCPlZ zE5mjx2hZ#c!qYrHs9MunzT$Y-a9yhIKL6T&Rxaw$RZT$bt_steWtIE z&&y&^zJI6G@OAyREN-DNy%=tV(I_{xOYXu-h!riWbaw(xfvpZeJ6QfrsbtnFG?vp3 zp(u@KD%u@4xgm(7Gt6Hv$&BJQ;YsZnG~tN9IOy8J=bfk5d^kM#^p=A-!m*b98}-DV z`upF!e`2MO%HqWD4v!us@2m{8ofk=8Qo+(hoA7=#J)t5F^U4{kO81n)xD>Ihjtz8x zi>_93wI1kI+}RyVPh<$6$r0(AeZ?{B;isMAKhe3}@;TF5yg1i!bx^&dZ(9zweH}mS zl>v-u9E_j-?-gjU8t0aS8Yg%ATM^=8nGZ`^OpV)%?d1Fcl>uD0;eXi~s6(9>Rh~RD zwP^6Lq86;EE?A$Y18t?b?rAhx;$4akt4BTeyG@t)`>E#hxx5kw>8q#yFfofthv0{neax>WBGk-P0~=Qvnh=jKo0us^ zw1w}Q_hYhUD3UYTE`)UMX|HLmv`vYnF9Dx)DF=xI&HVT&EpCan)K)h&8)lJPMOOeO z=Scl(fp{IXI_9hG{--9hjsQkTWi{=R%zr9QUPL2SbZpG|W+^KurSu7CJ0h7W7`t6k zTK_`W`dJsqdhc4S-Ea~5qSYY|mVUNpr_v_0iF*l?@$x865P}XBOmoo(>61*pr2wB5a=%JxI(h>_`grS| ziZypDRAeel_cW1_ug8LWwZ?s2uL9XGm=;NX5p1i&iL$6TvVy!`EOK@BsslNG0y;2N z!=EpvvAb!SK*cbTIfz&COqgWpCejvn4k_!UWTgkMlT_y?UFaokqJO3j0+cA|I1UU3 zj6NEMnTE+zrE2iaLDg$@wr7J`wSDk|im)AYww+0kXhsMXJwRwr=+intkv#>Z@$kyG z!TlHZ(MCs|+lZ>ur+kT4ISWfWwk=$UL4pi4Pwi_z9^8w2AnBJG>bcl0wFe zu;dp55^uuK<<@Fu{=h%FM>5y+_k}!PRcH^&WfgS7LIDf57>3q<0eJ5Ks09A)Cs_Iiu=uVO|_beh_T? zs(R?Wyv7|KT({-(X#LyPGRb>rznthJRq2!N!Xo*uVzUMezb9Xf;bXF>*+q9E&Ko@s zxzEPDU8E1blRO7uERs(+8L?5>kk<6k`Gs=0z5C(sec~Y&3cJe{Q)DAi%enRBA%Q>< zPR?p!kSg8lNEa^q4xR#7?|(rMLj2(*KWIsxJm?C940v>9FT|Ul7(CDs22n2G?ZdGJ z?!;Wk*ZfSw%1kVWnIc2;^i-bgJ<(bs76K*A<6$IHgrq5cf_MPE+dX_u7ZYLr9Baux zOUMHmA|zm`gTOIeHXwP3^bXFvaEHujI`9PN`$aaU`~0;U*CJc(*f?*nUB7`y^BZtM zVLK(KU#|WSJC+~+{L74LhZtpc2wj`0qDCOl;`wP^J!r&$fcw!Ww6d;eYu|jV6n!f2 zkCp4Ek*?uPvOFDdO48rDHsITjQ zfJ)^VZ+AdcGFwlE{P%wpe21qAST!Zr&n)Q>C8swn73ac+Fda+><_b@d}ZetqxPe)?!;G%H`hhQsxYMgBiZYMKvun)b3~A}kKifRdQu>&Y=2=?3VPE4> zioNWwO|=F6t|+M2pBIPrbMun%p3S`cz_Katd7f9By-O0F{QjS-F-nd7 z=Fi6;x@2asqM${P_1C0l>qHT|O9oN1R%N!@d*46#THbiC9F_7Pf|-euwuwqs1C}_5z++ zSJUX~T|8zpH0JT!kEyHr&!IBQL*sKl8A6U4tt8ema=y?9m^GW5puhdvJEDJkatm45 z-lP5N&%S@yIIh;3_WNh*9m}pYI9mxDmcvH_kCMacRY1gk<#OX+!H0tJ4nM3ti}v7^ z2Ht#4V71&@pf3@BlD(IFq(7{5D3j7Zg+5oV;#&A2d!b>m~<_YS~PD87qS`@M^OC)X*v&b=zMr0 zR`=;4_fuha$@lmxylIm1se=bdLxway&GA23sSn9P$z;imN^+M`ft?=n9bVjPc}|yv zc|5Y@LjGDQRmazuzFw!CG}&NseU&7sok~vU0mgLMyI#HS7(V+0^5LBv^Vm1&gq7Ms zmT0YB6jjOI!KkF?aKB zZc^W)U5@pAvoi3nyW~dyiB8X_aPP3`{PkRZq)_W|%jRv*(rFjPmQkPn(fV8--Ma*M zbKQWskTCqeC;`7dEJim+c0PU_c}<+F?vfK}hqmd}OV~@>nK5U8`0fv$I@G($@G_Y( zlgZ(>D`B+qWyY*mj$27c5Brc#X-;pTitdtays56$gZbl*(LN_QBs4bM)r{D3sMq~1 z01-}Dsr6*)F8MKK^e=l=em$he+^%YSt$TV&E7+&cKk8D_G3}6l=+$beci3E#(nCIL z5h9h`pmLzhyDSAY-SL_poLws=lX7orMuPDzvr5`|7e3Tez^x!1AlBr1(rdDW8S42z zx}k4XypF~{dju`#$mrJ@(B6sATZGrWkE`_`(fsL@*t;Ki`5mA-r=*M* z<8ngh2v45qwn3U8GBeU8A6+7lx835Cm&>UW4{w11ne5Zqo#AY**|5&@TGY3{AV`z_bna|g>i(F$z|ha}>5^l- zp|$!$YvpI5!)3F~n2V?J)|`8LM{gJ9-WFcNo0P_g z{b;Vho(cF6sAgfM`v^T{!YVOT=skT!bMBntKIEO3T>-{}r+dGWwk^bf7+qrP=a*;S zN6hW-k6(gc?*62)+ch>UGotB5WgO!W19JAp$ZO%z2<}ZpwheauX6qi^t6_hmerwsi zJj=#3iv49p|L19BrAbk;PtVpZ|c#hLl_rA;*`5qA(v&po?Adn3{pWb$0#2j&YW z+pP#`euU_^ny_aPIX~YUsli<0C7j+iSrb1)GL!f-moN>-;+_bUGzsG**+u>>jga&M0BVDxyW#RpAo>KQHBgbp|mu`Xn)az9-~btmiE@tCUw$dSH4=*v{Z2 z11FW~iD5fE7YSTvG<^;l5@wuz9l1MF+e$#xvUtZLycS8@5#kGnn(-kWdBe(wQ~=!~ zhhkfA90Tye%Y(F$-Q)L}Zg-Ej&F^71aGWh%Cqj%I>AketS<5uuXkt|ECU30uX_=>S z59Y%d9wupcsct z{;Kn;xs}wmA?|!0MJRfi)V?ON<53<4yorw`j%7$W7DEE7S$(o^ z+ilYuCYmN?G~o3lT&daYn@eN@d45xbz{FbeO<+sio#NF%nA5$jznb`v7&lV~QBzoJ zMxfDGUP(qKX%w7c>?eJH;?Me&Cc;e(V`0k`v^WA*u+!>T0hl$&WM>64T&Bm&V?QC$ zy-BV6*Uk;Ul9|UH?r<^R5Y;bV%8%XM-mX{v=_*#uzRXgS?6}^2tf+HZbm@)7RI1zG zVlbdhl1)m0X{B`I(r&$}swJK-LozGz;!9nPB|+y#CILb5v+iSc@;->&WAJIBfZ*M< zTy^wZrSt7-HRX1RQ8m46o6dE!GK6y7ji!%cXfyg|3o0c%CDn&>UO1}$NS@n_xjSZclc9a~;tvcg(oa@((owA~Mm1mdpat$F z=Mi(!_gvAswp)A)ux&VEY-av|K^JF=2|S3nUpBzDKIx&wJTOda5bSw`q3$d~}yfRaM}qlY z!ARtfse2L=DFL2mh>oil+x_LTFAwk@(ggERGXd3)rXRXLw<%up3GZ>xcShV<CaFQV=6(mR-(HKq%wo8tg;iku=I*8XXr9hMQO>*&gEFJzl)N$@;vqw(hozm})N@3uBt{wq!?;%PiKOyWI)r z{crvly-UT?eJ%dretJ@{JX2Nb8hsYJ4`Web@q!io6v&DjvI>}h(%+lV2g~eqocu;McmbaLec+D0o^&3VnxGbH_13@{_G9ByhjUYghNzR! zJ<4SDJJI00qxdd+PCmTA4bh;Ju?)mj}o zh{T1Mac8T27HWXF^YU^&n~@}+HR~q4bQb5G)fvYWw~;+S0HvaGrZ#hgK@7;Eajar-s7HFi!vpX|;)Tr5mc;$G^u)dx141x@xT$ zkm@Xmf0|UBO$g%}K9sJ3zmU~uz6O<-24jZvsykcN)S7D8ufU$T8JxBT!-LYB+IY>@ z?6IO7d3dVpwZa!bAIMJAH?!YGYg}fJTQjlN%{WVoJNwWZa~R2)D0pMOSS{;AnDa5x3|o#$xx zcG{)?*#}jZ8NYX|Rv;I5&^g8#a*AFsp4|CEiliCo6KtoUs(^T~_=pI$t*zGRRWwmk zK}*k=LrR$#n?0;V0W;{IFVjbGputClBB!Nv{#!UExvz+LW;_znCQ%npOIvh%xz^BJ zrU@M|{M-&+@#?Je=%97hee0|h+j<<~kxV60FEOb$T$Y`@qdEX{O4>Q}4dXGUG6MBfm+J8TF?cQ_yi_lJheWAl_LU*Hv-x{%_!79lbI563RYC zBW6C*b?%mrQ9qgsJyz-1RrJcIU1bIyYE!3^>&$dA8{ZxX|Qg?a~r>OQv^oI{;GWtC`_I$7iT;<j*1XmV8->P&DpaWde9(LuXXn$ zWiwTb+~`9$2W&eH!A^$(%Sly4rFNRCv%kx&3)$VW`auDA25G8ZHrB}n0i5_HNnt)q zMau^z>p%tL436sX{SZPNP|IP30MfUB5kCFKvRU6qw>qYfOmTwQwp1tHji;xDBEUHW zch~U~KE;@$YE8fFuM9fqA*7U^M}7W7sA{O2?)Pfd@7BQrob@}+qWhEg<=%DKfAHj& zYhO?sz`35u>Qhm@@T8IcGYtXvxLtjidmiOLh!9S)=(Sy)4zn`ioHtn$ znv^M#WJ6Uj(PGw245pX8#+DN*?;K)Gf+ApTG3+!)Zrw8?mZe*aq^22kDrLsYR1f}L zsi*BZr-zjW1=oBs!AwdR1nA$c9N?tpGP9cfl#t@ft@qS4vjRf-R^1=Qy%q^&Oren! z5=?7^A0i;8`SiTv#0Jx4b&|Nj_*0u)ZFRiO$whaFLSoO?Yc2n4l*+CkGf3*uUuFd= z#f*z=E#MevlooyTTz*cg-QPT+B_;f6sm(UC81m(loW+oFz9nHqzh&qJrx0gSnx5SN zK$d<4K6?aCHlXQnH9=*TNkA+9EzCs=O&QWWe3ZE7f9O%H7PG^7M+;aUouxP@!57BG z)XTYc*iae*T2#BU7Dzsrf9+Ep@1`K!28cayG9btu5|JxwdmO&2Qh_Fv;O2opwKc z>=4E<;NjObsZXJu(&%3&HG2YUFM{2L4$25$H!7`yT<)!Bas}JjmHh!3e7e9H+71T^ZW3{_qX6(I&$`6wCFw#m4?$XicN#ty09gq62&Y1 z4eAY>4&bVww0$%}3wE=TCF1s+*2=imyeIb@U>Qt9~OqO%O?I1JdwkH0f%bnCE zmK`cUz1`zV=^}V3SH%UDCGb3#<9>ZULwS0fg7HtG|Kop+A@DcpgMT{`vncdPf8x#z z25Rs5R|PBEFAD0=Xf>_v-7G1(wPG|22?Js*YBBN4%;=4tdNAU+t{VgX03X|Yq;p{i z1k-w?Sva#L*z{fg7*DR|+i?&L?kOmn^xE}viszphWY*qvuLO~(>G+&k={ij+<|dk)9psjAgo+t zdDOW+lx!>xqAZM@+8t}QpAK6@8r`gpidyuxQ)4?flxiw* zp+B-S?yyVuA8>yE0tqm;)R<)%OE7Koy0NX;c5W***Vf*pZ4DJS80qgas@}HaM3j&bRaCjZ_^Z!W*y##(ke6(yxXR6t$Swa&3(J#@ zZ>uw@*t&-sb%5nfcUrecHO=)Gzn^jE=F05bWbofTg&~=>MQh`{mT$~mcD%_0XeQA- zpb>Hk7P)>(~mhUGBcWX!-2UzGdFY#`?;&hyG12W%Kk~AkSiTnEP%! z6G~0o;@tXQ-LBQ@eCqzabq)W){a(xYT%2iy05B{2kBg#ldyzG6F{ z*v_-c!!4Ah_?W>%#3!kZiI<-E3hhmIj+OQ!s-C{s^Fbj!n!H*ZmAMV+xl2MufsV#~ zo*NTt`YKN>yv`bmO-C484z_b}4e5E?c^DJU!zsoz+%R0JV}=nHOI+DE9;v=684dz) z-RTT;hs$X$(DU~kUQ((+&be;V>IeBOcz(n0z!(Ee$g2-e)_8aO1FD375(pzYsoB4H zjmmjKSKB#8qit7)!{HnGSL1#AU4Oii^ZElEs{x*^0YYVs3AuC=jUiRs-Dp_S+{ir= zf&Po}R-fvPSNDE%<0W=SyNU@)h2zarz%PuXSyxV;H}Ie2^~duYa5xB_K1?R=gJ3BQ zcp#8b?!rq6CIo?g-~G>!bdL*1;#jq!Dz$aqZIBz%q47P(`2Dh0OyM}u9pvkzuIRAR zpiO`!?tq-tZ(4CII^0`N$(_@Z2adP?bM4+&mtIyf$cSH(`xdqRJ!5ad4r%|O+es|5Nveetu7{;4402q4B|_Kii(NT8>>N7g z)^|>|Ef*)Bntj$p0d1{A1)Z5VxPHrmX1fStELR0a?*FkQS`n-aB>4Zx2>yE_$?c1x zOUD|qf7&iBDtF-HwssX0Ljzy89#7-*Gto>H)?D2YB%QTJKP?)0v5f*XGq2WA3WwH$ zFZE=+b+TFtVE68~Jlr`!xgZJG38ZB7NLuzPI6wpcp8N2mA8@DqftBKmxlFn-b~W@{ z_bFaN1>|)3SJ-nC%3Q)USp8%}&|}*{93%Hlb{Y&J()roRV33e+L~9jgKor2vT*i?! zF~;tW;P99C?ua36wlh;VfEQj7ufHSIHk}eiaj#-`Q;czcS4F*X>dtwmU4NvUcpPaE z(Hw0MMpYOYX(GYQ6*6Kz-Dx`tnzFVJKj>yPEyXg40W?HM-4pt{_+N2nX0_*M)m#X8 z-#y4)Ev{gW`VEH>cjkq1oIe#m=016%ydd}0k33EHQP3+yCN~okP=2N2PPZ5B=2NtR zz>(`71! z{Vw5na95^s_0Mx%=Ke&YPkh&xCw{I|$Pm<49%lW?&(Ao_4xGIfkhwoSK?d`M{?_{B zjh<>T4uco&2N1N0R5De-;P(pucbfkz)D|~prOM#4<@JLr;mFxE^jSLUaFn?qE~SOL zc`g=Z(W(Yb;P;^`gk`LbXCC?|kKB^*I7>=R)05FCT%ji;zB5WkBiOr6Y1NV+%+OQL zKd4b#8M&K*kU(55;a#nciL=ZxTfttrZ$oRqa9XtfW9$3!e;m!+7F6jOm|R(@e~^NB z;X1M|+n|w|%QOG(Qp(Oew2vRoC`eQ|aF0d*zr+187T&jkSA9Kd|t>RaK;Zua(-bg~Rrc?5s|=yv(O$&)drxlXD7H2?Dl(MQ;n- zJaf!kHc)dQ8U%(QcA*B1?+u8EzNAH)z8sKqt|+JrK%0ax^&}5mZ$&SwYCz`S(DVC< zNA1)O%>;UWf$Pra)M5L91iy9o!Pz>ux=cU3;C~+EkjJTqZJ^iB|^e zx6D5^nz`wO>lD7}kJ$BSZ-g@8Z~kVSdNrXhLn_(&ydCUD73n@pgGE=;zovl0PwTd> z;!3IB%>HE{gP3J5Z?Cxwj*oBKm=GzuObgK=6UoAb~$s(>{jpdajC7=Qu$4_R%|ll8<|&mu#1_kAeZn_ z*Mn@Ly_IDutkILItb5*4LeZVvBHp5_rA6ntw=zY{e>tVff}4vb5nkuca<0gPoJnPg zv*l%}^?)7RYpt+S==8FbcP7-D)`Dv>q0;5lF0$IroN6`PV@+RP|Kj{B`~bMj6HBCz zB3d2BU2T%sVSVR~`WF`{q-;X504x%({kH0e2IR8yWEPO9#s9w*>^rnTai z5u_Y>RO~sI@5s?AxQ~n?lUqLWKc}7v9=B3n6;Yo7OBNSMvWF#Xf;-)7hdX&D^oiCJ zA+p?wN@jfN^U@P)v!ztvo;0lg{$x&D-Q!098xCa$2v1(d|C74Mk5Y>5T;NP8ZND&( zu)4>WX|)?) zk7l9<>Cjh~zM-@qrLQ)WzDg|<{nf3i&(P%6^8UQSNi$_irN7o%^b-chchy0c5 zk{GO>6LROBOkGc({;o6m9Q>U-P}T>D zogRZ1fx-JYQq&B|#*VI;S~kXt=+SfTiV6_-CWOdEH$x60&dricw_$mA8GA+Rhq0os z8n=C$p?6)z&Y|1rYgPSi(%0q<9qgK{8t7m9RMpPz7YT})G+R-gFS0stekkft=!S>+ zjI|~LW^}u~ecO4}=!suRZemzH1DCeQzT&M#QVzpt0Fq#rT4-Dw66zV=d^i(GOn7|-Xcx->azl5}S}T>| zUAtWiC=LFkk6DUDtw#m6xt{IBebe3Kkjh=bfpHHj&y?CYZK9ATC*%9adf zpP2Na-ZzF%^Mp7dceFSB1~CbVlf;Za&OYP;B*8*Az%aq6@Y{gq2**@k?yn)7+{A}f zFvp_*xBi+sa-C*9YPSyo(}>Ta^Y(7e4tKmEBKXEU{1 zZ>_Lf$D@5bCmvKda1I(Q{doOnR`Tv*@pHPInHh8R#1Itt1M$D0R2=q^F@$6e$ME6h zy>$s9oKzLVb}hL0b6u;Qdxmkk>%LR(9ZY^hnyLCMs;0W0XT5TnWLWEr(gS1lA8|X4 z&%8yef=EwxbhaO8Z#yA-5s7*E3@nTPB{6i(+eaj~UnGBR!F3c*yp{ZX(d|{v%clo` z@R-2M_|rSqc{#cL&=|QqusU>c+-rB$K@#viWcXJ1La&#pZ}UCod>D67zFtQZae8$3 zcTpTRGqnu)CdCtfw^_jGO(&}3&H)VMGUL8LRZzcnekj=$c1P_t%#f8@L9t|0bvS<3 z0!lW8V!>{D^7*1gS7s)ymdI$yAm!)`Y5g9-oHp10(@Ney^+VoNk5@KJzrU# z`ED?d!_WHt^G}atD(bm4u<4Xgz}d28Kf8hT=%{5|4%B~o$1Bmy#e^8&zhE0KZGJ}v z(~Gfu|G`)yasQwQmp8#r>YukVI^>w70VCgt5TiW#Rxr|mv5yWhn+c3L$_H#=!y zv#@2bGWN%oVcE|Z;c`;Hj3|T}0#PWL*v?E?cZ<&}L>4Rcv`NV$OzN+^=OBMPW(1ln z9r`oL09-_J-^jVgB9ou!f4Rvl%67`Ida}*VyCAwWg2oXdWNv;HT9lp54zbeK*fneI zny0mHF*AU-Qk+H*1^I+AQ$nTJd=|&OD0cFs)H&xk3SzIX%KOm2GrveVA zivsVN0$uH6dN~3tiY9l4BTMHhu+ac&Jd_xQi+_}Kw`DVQXtEIWxV zdy=LHcRS5((;nbh@fna*`1(-ir^V?gjtAdMrSMzrJiB#G#{%x{HR;0>j0y+rOaJ948NEtG&j?Gj(8WTM@tlm0$*kgaBJ1M8!tww2;R}) z+~4s_2wY@DXHcs@=+u##pLIdsACAm{%Z2?o(HoAZ3FnP9?+tMG>=ga&GQ0%(H9R>D z?>WuvqfWQ3FC29LaV|I_814ZC&GiR87;3S{GYf)a3<#e;yOWQ0=Hw~1Xhm_6@}+)F znzbSkboM6S?+my1YGe5UX?ZwakpBW8w;uu4iU0+7QyO})Z_({HI$ew3)6TN^kl9); z$87q&LyHe-Z)v;4;beW#S?8YX_b_!81MZ^}F}DU_0K>3)V_;~851u%+dO`@fWBx*6QiKFk!iyXnqZMD{OOp*Zf_%On)R3%xyJ4)Y`MoGsHWd zR|Ee%{~)6;GjGxi8aJP8DjX&aZ^H`u!8KAJHHV;MP=i%WIK-Y>1?`&^`Q zFW?c#agaO-iRWqHV}HqNls>MSc}?r=nQb#$W2kXs=W)4ZHPgKvmKYurj4_YpR!lC-FoBox3tc7(AHugBa_g_Jg&wT$hH2oZ6h7aTp(>L|;7XFhV@qxGL# zKQj(^Qk$%f8<~0S8lr<)Y&w0uNia49@-TXgzW8=8lSlt`F$0mZr1H*-lh(Xf>esIX`erkoM*FgxFE$beSC#Xo}X(X*AdE9&XYNXQs;0&(Z5C&c(X%@?yTec9rs2v zSE6d_B<}ImrfAv}?Ri7p>i`3xad3-2Ze|7bO3$??P zM>2CNoVjc{4anHK#e*XuxPtYt)>qgrjHe}LC*4STqnv07O&ShGGIw&ZusQh8o+Frl zB>VKHY*bU`w$)9UOGA&CI|4HoP1Udo{>VlwO3Ec~-6?oE-ZxML$#a-*Tp`aRaNNkAZ4vj=ajAskIb>gQH37@oPEJCab^xz%ok z)VIDdt!{S_h&2>zJ*1fP2kqdS$$dkuCEIlfAfY$1au}FOpx(!h<+q1G&4J{akUS!` zER7eph=j-L*Wqvq!A9$Dd+)2(iuiHIW-eXbe&G1qU&vhgGk&cla$lUwZpu<7A$#BN zP$}Eyh;zHfo)~DKKdNPpPJlL7yh*n+S0EVA3_0dZI-D6c^I6I6&c8-KaJX*kAOasgZs6{PnMXZ!8MJ&|TBdO*~f_Hhm)!F}b{0t!n*d1wasA9HvixX2H zGA+P>PUslIV7_TOvDI#^z-#rU-W{mdf{$NsMmucb-!-(|b)~rQfow{8XRR14B*A+RVLFO1JyU_{XfX= z4)Zf9sx^RF;bq#tD_2ukHSNawEQeH0frgn@>N`hZn15-*O(@fNYM7Jw3We|R3P1m9 zuJDa2{77M8gM%!AEi3_g{M)_#aj@ZfBL8HD)Or<_Q5@W+t0k)F1}Xxj9wCF}Wtf?7 zY3DO!h5C>DVz?7KKewHHGELT*jpGEqRAGzt z!s$Fk-f8=F;d_yjCjWR!fxreYi?vbg@ z%XCV9?lx{D(;xgyCwZABdYSe!e6L^cE0aSeui1M!fKperm+hk+xorQfY}e+q-Rxxx zdf86R_iMJYjm~Eq=Vg2KR0E9G_j0v0C|iZ!Gj7qT$-jD;&ft^Rvs0C6*SB*$(~+2L z%e-uL`2oB|Uii4L=5t<*vqWyLL#6h^K5i2jQHUCrV&)G8|p1*2{E26EuV+(3S#fxP-H z4{u*pc7Mxh3ZPCk_1~QM6@wT6t@w&Rwy#r5_N&zBWk^`58zDNpEGWuM$+RB`T1#&6 z+AH_k`(D1ibJgArwAb?=USVkQSihzL4cAyH`FCL`_tV+uu@wR5oAZTtc2oFlud^NE z2FUaWFH?0s(=*Cc>St0X$>eyMit?GxQKq-2781kkO6FR8q&JZr7x1ca-(q!OOKgT( zl-&L~eeBSxCLT4$pl`ZgrD}nCF=^(WjfPcBjP0!0d{du+;!Rcu=%QlyLVVNRJKXH5 z7i+e9%rlO6G^Onef@Iyoqc@psHQ9Cfxo)*ODhg`(lV1`~_?53e zg&;Gnj{o5ij0N~_x=r37Q|49$$0PBjO+~`ByZi#TS{-i`6sYhEY$C1a@9hV^n}BJ` zgL}+c1MZn^LwiPg`_jLLbDAmBaR$ckv+OE!^YXc+msMRP%2?|*oXA)9{9453RTn{X zOX@BSwtWMoYhRvyhvmT-*-AZ_uc_8Olg_Gqt=95Ae28V5XcKbF=HGjLb~Z_wvG+C{ zb^H18%uKKWs9Gy74Q5;U;6DD@%0Bt5CjVu&M=cR8!|Zpt#IkB}7{s-H*=60;$^z?o zq7T1hZ^u>Cy*knn7ZVAn^LL{wkEhRwrvI}OWbCKet{v4i^G6Dg zWd}({Wge*;YIS_fb3dIqCw90sqc5Ld(i^F3I6i^p%Q{RK(Urd!k%y0$(Pz}`A)hpN z#*cff^+nlAZT8O?A^5Y@<<7~UVl7>`rN?0^5aa>#2=4)}$mnTGmU zYj3Owy`(#lnP|*3To6gZ=+P#3qaveksv2P}yB;`7)K#0g;_Lw0o_AjmQpuFZN)6&$ z1e_ibW5#P^lnP-_hc?*l{pU&?%IoG)XZA1NIx|LF8gC@?T~>N=l{@$`nVc1SexzyF zN@g!!LmmRpPLF3h(+Lw8_?61|1=I*wsb#g=f4s!(PK`$Fy;U{H*E zZ{{2mYWubkLzwVcF`eygXRy>8s1Lb^!bKdF9{U=?oLVh}G|a!9*IJ0(3J zoAa5^Z#oTC0+svrivD0~yH6kzfGQoLa|0q{{9gbgfeGII%OEn~375N_qOTInWGh%z zUVC8i$Zf_bE;|)Op)Zgv?5B>3) za<553d7bSNSoPT#$&h_2qwz{7-rU-VTlUw`U$Ml-^}_zOndp2l%_1JwU3_Y zBG!3!{iCKw!+0<~DzhG4VmeX3dCrh5nog!GrRkzuxp=Bg zw@+a;_YQk6h{HI!wR%S}$h?5TR4W^@No8*B$14?@w{*|?Vj0Cws%(Gf?de$lpzw1h zm796MUhB^C-buB}*7KU^W&K?Sf)7}a-X#dKMm+vpOSDVEa-1c3ed7vB_HqN-DC>W3 zW9hW2M70sJs}b&X7`eS!VE!GC+|-j_(>o0fsN9($rOw+I5RT_@8py9l6lBJly%NYZ zGFPL&8CujzfGQLQaKYjTm_2qLH@++@w^bbQ1=ofbU*Dhh*5pM&h0XW4r_p&CrzgJ_pllw5i z^+0YL*vX=xfm#lK6<5POb2!Fm`$`h8`JW2l=eKvg>Y=qk#-N%2RRjI|N)VxqpIGIB z|K*?9*1v7~#JXxt_E=`Z8;@Te$qWh5E9xlD<NXn~M{C!m~l!@$RTo4)uOwO)ctbJU;jd!9@YTt~@MvKYw0b z+0|*Sm~{N$NtNnjr!p!NQWjlLBLGB*#jtR+{W#s!zeRS<7W`{3tm$g34E8)CJjTrR zMBC^q=wG{?nT3@;c|KkQmJ9!an^|C`JxdNBk3nFg9C=DxgKtk-n!ccDZW;DYm+W?r zhYTao8E&^8W4GQ}HgXSQ*rGej-Ju_@>`fOk`~TSdVHDZl*su! zGi!kRH~2*=tJZ>5G!k=3BKI5}8VpQdJfSo&;P87f`Smf$dUQPK_W6THx1F(PeK>Ir z&hD7A!C)-c6B^6g*v*KK2#jcDh?aT#JG(q0pgIGt)T#b$73j+vB^Iv70)2=vtc4_T z<5B*WBiQz*Cvv&qpUw;NS@u+5(|?WD)rjI~dglD56xpO7i9AMLMVVN78xOH0q}ce! zP*>pVPdae0clznms$%d}sa+79>Ea}(^I!&IbzIIPrC>r^%a8BG30dv*(*woRO9I7_ zL7mQxWdx9JELCeA3JBZPI2e0|Nd1S__sxAyv-Arbe$gFKCA#C>#=v=_Q+Nfmmafx~ zQ1Vtq21l!ctJLYlN!j1?YcNEgM)7GBQi?9Qcp1p8{QA!pyl+O-p`*7MXvEnSe7XtE z?DyAFL-JtAtPiXCv(d!fz2|FGC-OW!*;+cpcJAa_42;)%QEe+xw9*TERvN3h(!znI zkoxvUm(CeXs7Y(tDe87RP7YFH0z{bb%OcwzPZ3q z^v%#>(TvEIIXyesOzUov-C1UHrCA(D_0eBbOs+FKp1U`M&HmTj7Li(;rQ|E@un1 zj*Zv<-0bv2c+fs&ElJaW83E$^-eE5sxCW=cjDlS;D{d0>qhAJKMwmb@9i+IA>B8%p zk4A)w)-BT%T>LIDT_p60yWYf3&evfGL-r(wYUCVTTOY==`{PB26iVcW|aby=o)^6Z{RskA3PJ2)yqvC>EY4zck0^MKT9fhPp8g< z?Ty!RYrPY5;>~t?WsC5HTgco)`m0KqiF<;P^v1e7_2YgBxuWzNyD04yYrpYY6nw4t zNbop2fBp+K)vms|lNPe6u2{}ESIKJCZM;`3khy$tqE9fV zR!?`hLhmHi&#bsc?8&>$o2tm_tl2fbCg^w8^uBw16`5Id7iCA%clKLtE#DYEx_g&{IP0MRqcG!ub^air>Y*{SN}{zZWD~# z#Nl=`wZ=lT^6W?0Op^P?T6aGr7(cd|SJN*}E+O*(2~c3AYSogr;iWawj9o9m#p?p@ z@6Q(ev68o+cy8~cw}1WP^&u`I+H3Y-WbfT+Ki2slSG@l$P_Wk=7--jQN)K7Q_Zqgk zwMH{4yL|cmTCIiJJ8TD^;JRtTed*JK2uv{aa!-DjJ#5(f`>v74=nmPnG0j%$Ssrjb zFUS2eSd8!UJBy)!w) zqnZH(f+aTr2!?i(u2IeF0xXUBpnFI2`EB8M9>16I+s5xy_ou`j?-t2p zhIODm3;P#4{TDNLDE&qmrJwOvr+GFA=kYljc7W~~>_%1d?|+uGYM1*Yi>JFtGs1PZ zzfNBc?^814>QDd{gv0VD)(8+{7YvD*5_(sgMfS=<=YrKcS?=RP58hc>Xz!Kd|0I%P z!Gs9-QXW`%d^=%Z68{fv?;amjbv1s^Boi1Qcmf89ElR9G69grQN+ik*nISV01m)TS zij7Ta)k~EyA~_ug`PEvj_F^AfYj00|)B>W0BtSy&0%%1dA{Q^5!w5mt1W?HP zUHhDwNz~`}dEY!p$9=Q%=yQtZ{*6=%DY>xJ+ql8jZ@#PRp3 z{J{K94z=rlhB@Y%=c*m=uNjR)agz378>|n-rWT=d}wMx5u+cI>$ za`ltEgWsb!@z)q{)WOm-xVr}i$XufS7a{I$$QS6`V;6^?rN*<=NY_81>Q`yAvjV^; z{eJtsw437R?e}WzbAj_j20!1N1q)@ZL-+kEc-d{gu0r6rwj!qK%L=5Fx5MjphA`3< zr;Mz>{%e?H)mdn#gOj+^_<~C#QFGG-ixEpqTV`vP&`ydT!rlPg^!Tjn*)>K@E3wmM z?f@EC1hn9B!vjg;c*s%I~(z7B^vS)>ymd47v)XIe} zWTMthRB%|VljTMCdpz&0%j-)|P=&qXPP{7TlQsVdgjzBNFwW@7fuXO@cdj`^%{C(7 z398uQAd`KcwoNnCEjo6M_;ruKq?|L!O`t8~0)Bhr^9oSwv`0U{No1?>_kl8pz45X8 z=Fl7zUhMQLJB;bD9kN3vAs?DU6qIRd#Lb9^@&obQ$C2lL8m0s}!#7IB78wi&{{jw^ zh1p5w#GId8m$_88869&Q5{~3}8NWgjWj@HhmH8X%gVOT;;#O;m$pZgJHI#(UHO31A zC=wrZv>)_TN}{Nri@A1eY?G>E{;6AeWA%t{v{%#Zdw_lFYQa~t#rWst-zfP5N_N9H zL3g~XPdh`mt-L0Bn&@(3Y#2SA84d+1AAOA9V&)XceDq2A$$?398l%_U!juU1gYOYO zK+f@xogE;$v?tKgNEdRr8pohmJ39KZ6_zYE1}F@DMz%&7`ILif`1tyuXz<{P?C=DHxZj9YVy z@yfDPrwobmGA|~@H9k2h)xIH$qtxgq7n@y3vHWx~;{*gWRl*Tlh6K08nE&!l);p7z~Y&s@vl%aZBTY&ie&(=33K7KCqbntJbFI zz0mq$kEPu#oXWey9WVX2Vsk3VSF%aLN~<|QeQcPD-^390zIYijz+>K5USX`>mnni$ zVqS|oalSRqzec)-Il|T6x?bdT6T@sAOuh_xgZPcMZU(^Dc6H@AmbUrvtJ4qGYqT8w zSd(Jjx*I6ooEbfq@2{JLUHH;7)C@P<`+}IbfubYH^+95;t|-Xh=6V&onz}40PcXf) z(d_kC$4Q2AUG(5EWh3335j8znvD496FFlyIFm?uQ!AIH8Thuvu>oLduTK2y9)E%7A z*q)6u-Gpdk1RpwD!Fvtcl9~y$(P#{e9-ct68I0c*HFBaY5o-#QzVg%;dF0tUM7Ah?Rb>m-F)z4q^ zVQ7|El+<5L59_A)<-q-H(5(b+#mWoK2>VG~ek03~3yZ_SJ~{u07>Nd?-IAAK^yn>l zuewc0kVTwrIjWMo8CA5KY5@yHqU`S_*M}fe(R_#A2WMUs>=8#Jl@KTRoNU`c51b(G7mqXkbz$yxYEXwvD&(GwRL6aT$f}t9&$UIu!S$gpGdqHmOdRljhDp= zI-$+F0pbNI{l2De^GT!wtdX0Y2qf0eD{xnJZboF;N7P>;+rh-~u<@TIa9OK9I6oqK zs6v0;9R*w(U(LvvA~v2?qTX@KPmv(Yt@+vHt@&B&);u5J5qh+1(4P{wBFUj)Spi`f zl2~f5m+=IV@#Lx*g{ny0!t5Y|(46RDU=2Xu36z{(f^RBHxW!Io=GK&fPu^MLe+Nq5 zS!Sw%rIEmvI)Fdgx+NLR83E^Jmwue5uEqmyyp?yZI@CZ!`6n&8CjV20xbvI+>znKqx zc{Rb;r>*XWGcw)#2hf&&Jc+9T%zm4DIn029sI2e$h?0Xmsa|+wPifI5f_3pM_Yi@t zK-K%AKo}aI;;$84;f|X#e03`U?2#ppE1*sXsOTm)TTpFFLNy!YeKk<>wk493&8D|R zQ*If3>CawY!Y`-30N8`Qz#TEIaIz?GI8VT z1JbTlSSbihCo_TgDuF4VqK7jf*A~2@?Fyzq4x|;}d6*Cj9zBrh?X#DFCNRqa-nvO= zy6N+L`Yylzs`maCYzayXMYA?H9?RzZ z!@2s5zFUaaF-5dKRz#~g!uzwS^GeofIY+smsJ0Fl+%iSGPQ;%R+J)hd5U)Qf;w8O7 zxdb9|zQUCzg*#v=pq5v#jVT*Qvp zE@E{z+8$y@da=bBGZFA1v~@S0HNOwUnPd&U%Prm90eh2rRy$<9Kx^F=(8Zhq8$_Ae zz*DU;@mu(WiG7Rm-`C%PiXT=~yd?sk#N@Qq186X6cyM)x1BQiZ%z&($BX~>k-BKL* zrHgZ#cg1HlSj7bv88XV})rvVh+PV(&YH-EI!+RkEIM2IxX)GzA?u$~r$2vBJHfgUJz1fZi1O_{%DMxSts)PS?T=>|u~q zYa<_i1}hwSEk|?~#yN-OFbctE>^Gj{?n{=ZbXkReNqvQA)usn3-}l9D=PqnBp~eL+ zxBwj)f82*fMSSd54|DJ#Ke$qckG7xjYc)_*k#_Z!u)Xnld&ULz77S>$0RcB}Z^{Yi zl4=p}g@uKr6IywF+;x-+NM6a2a3=FM}2VJrgtC z(emp0XlWs*gYTGeQ6>tpGGt1ZkE<9zvLM_{K)~-Q?$K~R$f&u`<1L&%pUvm)vE(;4 z%PJ9!|VS@guDp<7M{a$$aTQdSW)SKauY%q5lDyXz5xvm5`H@*97J7%KPK(|L&jN&1Ih0eZfZp++7x*5o8VTbHKwM$|O99#Ou;u6NN;_`vTuuCCvsRV*-_r z$PnUqB*b%X;wG_ES7Xxg6Q#HCL!mDCsl6oH#}7Kur?gz2w)XGpwIh8AD8 z(2~lL9vgAL5WE3%yI)47o*&*zH;Hs*oAFqCJptBC&5Nzxz)Za*-qMvGA9mF~{ULc# zQMrxnv~X%XJ9vG(bcd(z>f(+n9i`N47n(VrUQW8F@*D~}n#-LIoBvl99^Lk*cSgPF zE3CU%>~c9RUPRbrlm5lT<6DGv7qWd2p(T<>QT5YK9BA9;DOCU{=%|B2!7?J{1JO-S%D7`GOW1F*h1J z23h}Wx?riXK<5IJr{ecve{*~z$~iXbVdIhSzz>eU)3IWcV6n9W)IQ`7+;N)UB|!7* zYPIRmm>`Ek?A*vb9NvS~6+Rmg{`7^Q>h|V|&NKQ?#h8WWy5qa}`Td76%`ASi{#J%1 zmw7|dZ;)Dmj;&KS5tU{Z#!#dC#GKE!}vu`qxD)Ba(JwMG+vWj0*m;P=hRJxIFkCeh67= zLi@kq2rxnTojmPicckYh@(n8vFJ@k9h&N+MwKw!*>21e$v3K0+RchY}p^LDi3SY*y zA})VD3#krWKxnmXehU99=YidqwUX8*tp6e7V=A&8?t$a9+R&R5uMibQ+q80$81%Zu z#uWKi>+IBixmBXoaA;OVS59)QT*AmDz+B@&PJ|oWSlph+?ybws)HcnUBo1UHP1XAe ztHH#HMoid;?Nw`=fg8FS0>&E7$T)8ZDgVud<}e0tpFf>`n-q&Zl8hdUU3)@n5vVt3 zIufsS+ut+QEZ#0|ovxp#*VU>hUch*YI{|)15*&wrWoZs#mrxPw=Z)Q1h%wI8Sab`; zeesE1#jRG9zFulRyY#bfecb1`u098%r<|eh2K4Pv-mGBejU0P7xg+;*?DgvN{5I(> zextLZq%lm`DTU}NG#J`r|umnaTKEm`!i8p+i{#N3gW8EL3UphmhICT&|Mpg{!@&+CY4M_}5$s93I7$<(L9`R%Cc{@O<6Np=SXCmt73B-gKkw8uP@(WWCtW&faaj1kY zyd(tJ7ynsT;sy&J@Pey-mUl5>f-BBPCw;lLTHs4~jRtoh6WI>@acrPWu1vMwZal-9 z>xlA@=@BDkXcyKm^YNW~fi_h2C%<03B6f{xob4c{JLh%KTJf9Fk3Whw-)j7T){05L zhB&z$P(3mH>y3w>qPP$A6Urkys*oDOXGy3!m!;7y2R-H_mlUtz)Ow12EYKiNw}3?@ zt5p>DYwv#m7Lz0Q*TyH!J?&-TKg)AeLP*QhFE8BaPLf%=~gydhzlIyFaC!0MLWopbrU@bDNG&s#i(5Wi8GF!!( zuw0`lZm!@%4|qU*x4~uVyJqSqFmt?~LJAnM>KtP#g}bvb=FMN7`P%s``y;6Dmf*5* zNK^DJYTH}TB!5gbtU46bYq31RSalxQYdng!9m2X06mUt5GAoZ#rpT+c+P|?Sys@iz z|ImI014`po)=#TR@UV1YX|`7L71oHOj;+PF9BG0@+`sfI5|LCg1XIg zSqLIblVrQ77S|0B)g8;hmadG8_i_rTl-%-p0iP42?0wi*t94lIyJ%AZTpE5&u>f`x z;a61Zq1d!JV*5LgmR;VM;^jJb1|HM1?+4izSVNd#58*4OZoa{Tji;1wN#8SQH#ybX zL5vqP4Y^Kc5r-Psp1`oLA7{8<^ zA5#P|AsT$vn<-$tdZ9oDyLk&x4`Sb^07Z*FR7$7~>P2uMV{)+kDrHDN#^cj5l-+N< zya^AWFBz;oeux~UgP7t_-G90gIOXxn7wQgtdjPLE?PHzSnP$EtQtFkjDA{8kl#@wqvw)}%~+0f zChJM#g4D(vpQX^4#ZhkQd@|PCuNjI$fsj=Ndme5|mFjjO%owSXU`<_~7ll(-+?XCX z!h(kS*^Al!ii)d}BSMu+7(6#Ombi_#cIr5fV3v%8US+2U#WzY+?3dB%e7KUHhGAL6MRxY+=T;jh|=S%9m4(jkA5Vj=q3%gc6Oc-F9gEAIB1uOlkBv5 ze0i0Ay+Zbj#reS6>L>8jk=-8Frc`1aJu`)-a>}ay19Q9`5ACB0j)Lz zoKJS9xaU5=O(xvEacdM0vMbogwbmzdDns$dmK9p`RE~4uzW#=31LAUTN3(~3oj}st z+3cWXILEu{V@Ez$?V*GvW_br;n{QQJVOPD2stjyGZ1PaDWJ&A72iEtuKTqSc1!4gq ziQg?Ko)!=SNr56WQBbS~>f2@3ieIrOUMt&MrfTI@wAOZjH#TWpkHy6_&l_1ek(l1U ze~jT<=eu~Wx+Qp6UZPC!Q?kFwA)8N8zeDWjC+2l{JoysnAEKgIhnh~Nz#%$mqL*+X z@WXQ?(%G6IZ$XHWVB+h{423%enUeA8WQWI}qt%`g{Eop`PAvSZM*#P5$CmuidR~o7 zJQ$k}np!LZz}|Jl7=H{(KNzZJ;W5!t`J9B<1$>N^Q z?DHB_ZPfzJ0f?kNV}~2*6I7c2S}>nA{{{6+-){sF*dgyj=_GVSWO=1S(|7XZ*VZq) zK%LG_Ji+_rR85SQF1kp2XdpmjYngxJ{aSs{V)#V-g%eLHe$XD8*qZ)J(6uZ_ZL!={ z*f@`45j~=TkCl1Ir?&QUX?~51@gyhY2jk|+MJD0XzaXc8wr=^Y796~>8(cEgZBTip zhPR@pri<{$Ol_=(204hv9@l5NS)QeC)VxoJhIwORBM115!=K0uGNp~!!?MMsT`sC* zW6}cK7`(Kl$<10dBu9&D8?XvS(VHE0hVK_m0Ec>ha$lL(Gk0sg(?`n!onxc)ee`4& zb~|5UlU-Q1`-?fX!a2T}2Y*KrQdDi{2z-uWR)Y$22@Svtu$P3m$n?oSpsyAuOnDNq zPaw_wm>oAI@k74mF#@hBvg=Sre8fMFilPI8gRvRCD`XFUoM2c!SueHm@i^l)pCmzR ze#wKi0^~OaX#}3KKy{y+KT*dk=WguY{Mf$*bQNq>cIu=qE!g6for)a`<{`JeT;&Me zLzw*dUb?BUw*od~!J=(N97K&i(pDkaaA7W@q0`ESa91ovTVA>?k&m1pa%xDpUu?2l z54f!RnkCmJ-8{|tN<6OcQEi<&a%w?nROHmX;hhw1cHB?t#M`QTu(E+p8M%KUFlaCr zLmI4oJ+`2tGT`o*9G3Wa4Y^*N`FgT(goXpb}(x5h(D^Ndrb5Nvjt-?Gpd%Bl)WS}NO500egL zZ1y9*fgVQke}jV7|uX6Z1xlvTs19*BU<8{BR?d&E%d%e#Y+J%@ZE( zmC=tg*=`x(kNM)Bq^-{mnva7t#jWOh{DVCh0vkyV0zW}iGLgaA*EZ2xaem`tH`E8; zCaF=vZle@9pl_4oI}n>A(nPIh4n$KJdZ+lTFYup-qOH~2`F8YBhBx{V;SP=HHfNtE zpMIQd^K~-{ayhLM-?!J1)t-DaLMf74D>lj}P(@xN-Bdmx2<=r1FZ}G3*d)czig1w( z;0=~=F*dglNs>#_K#1V53XT=zF*x%Aj?nqum}*35z!=#bdS^V4VJt;EOF0;cO27Vz z#MR7h7lO^F@Lvyyhg~HDmvHK(SL)g?&VfS*Zqv`w*dFwM~IZ#$HsY41q@imXVj0 z@2bt>y^-Y?Aa>T)kvIkPTCm|lK1E-35`opXM=mA$9=citrykv=urUuj9$MR~o0@+Q zA&Iw<|F2$d3OpKNdQr_vqoI4!mxgnbmj*H&gNIF3`W%tp_Pp6aZ&c;jqH*z`IrR`Z z6Bdp$F9A5%gO4qcO~&P{!x+XYdX;dL0ZUNh3qIklAUYF(Si?}Hov{TQ5zfhF&gg`g!=^I=8gtnwoNR0y$=Q_eBnmO)t}&?i4;Rh2x3bHx&SSQ|%JC0X`r3Rp)@ zaVvbzL|!At`H8%R?N-i!690gFIjG~jGyRC3xk7xdd_PknBJ@^96=Bh==x(9jK~aeM zxvYMQJkf6bO(T~^m6RE`-2L2mFt)yNpw*Aif570gOMOyJaS#5KY3@o{G|6p+3Pq*3ux;ZV#&l<#hakG5`6Ox)gX- zxP*2wW1_bS#v??1k(=W{oFQDKK$@NP*=6E%F#tT?z^#V?b45qKdbnQJ$@n)*rcfj; z5)^;!v`W%Am!3FR6o47hndwBAknJwE_lSx7@u6dU<8LXgUKy-xs)+ah)n~}wyU|B4 z!SOi8d=I0WYNQ=Z`RWE}^-G-k&s|#my&3x5ZkUFZ{kzADE~mTe8L|n9=$w1 zG*@{TV1q%9zaHx+nkocgqN!3&x0b4k?BmE=;<;PZO%R3dM-9LSjTL^S=c2{c`&H;8 zcVa!VQz_L1p9CWtE_qTRxQ1c)Mvy!=|$d&RYD14W&%j<%&N-#@na4{RPh@RqsA zP>n@cWsDKqk3gO_pkhoOzor#x17?gVP&d~uH_Pg^_{0F_l{dW3Wkgg7bRNXu&a2OInOC!Y zZN9#nD$%mp5#c+&!_NbV*g1+w8Ha^ahFC`K69Mk0^2P6n&*>uhZ0Lqy^g4_t>~vkP zSAubsZ{bsm>?05#YOm{CfyNI25CIj-@{GSq8I;Z4L6f3qxTaW@jr*loJa?a3k)n5P z5K9teKpJS7C|gZ!V%r2l=o0$s<@_<8{(*F{RiOBrZfOML4oGsMwbVB8o!I}KAL*ucrgY_Px0KNGBYu;7Zjxrj+=BV_zST9Xus^# zapcX373psgji}bpYM-Pgkr3`+OUr3L;AM-ZEzytYZN**Mzupo%5S$xZgb0b#WM4&X z$>7SaJxFl;?asHNADoPS>0UgLe=$(s9c_XNl@^!0yZE!Yl9pz^H|i>ITB>8UKje(* zplPQN665zTsV>8D^mxbTdt3aNdBSoi|7nUtneneM@8DhPJY*Rx<>cF_ImC{jXQmc8 z2LbK^vYTvF#5z71lG`rX++0SxEE+j-090lzi9;=zNn*2#I1=~ca0Njf#u(ce7&3R- zsBawPHK~@i_Eo(!Zk(MXcqmv9Uc+J1ihjpRr?K^K%EE7h@yXwN>c6@jEy5Zw)cXRJ z+@n9^x?H<6D<^-IL%H9usuGq*qIrG%cAj?G#%U~VJX?`I-V<1x$ z^BroFbF*}#wW#F*Qa)O3+YKlFEO=jEDD#*lDs%Ag`=Y7jswO=slLf+s+$(z_#m`9| z-9ZpIK|*d7ZsSs{v=pbHW^TXiNWL^h5vcYT3bdLjJan(yKEbY=)+2J#iHB0`U+PeU zHKV_aBb)vML3D)A*Ve67S9Y0QrsRRUiJ~{TJ0@Q2WK;lijCBsSU97#c(z>Yz@ZkE(ur@}fW-vydbg3MFfvZyr32eAnhLRX$6l zGPBu)FL8Aiu0sr{Vl@Tgd@P!?y!u7Ftcd-o;JADgh{PEuv2OqD)1JXBG)xsSRAw=dvS`M=WX`5mw9zhc5y?{4&~0jc|e-D=DLS` zKLEa7I+sgtP+yooMPE)-3C|pPkuybKG6#|w(GS1R?+6T>k0kUqRk=A zGKE!Evoaod0~tN++5xqeXM~*XSjXVmMq=M538B=+jpy#v24rXhCUQ1S%%=`$P^&6| zc&YYO82`j?*T$yi#%AY<06=_&<+h~8)=_@Gi)8k(ayLP=A$wTrJtiSmpw1=RtA8q@ zN_}Pysf#3C%d^x30ES0~gT0Hi_8RXx{O7w60?j1Wk5>DX3`CA2$9g!*LyL5k!WhrRe35s0|fne4cWhEH5_=jeYa?PJZTQ+_xR70L=Z9T6 zl+Ynu^#l5;L}5x!bqZNrZAbNxo^&Er60MJWt)o>uMXSKe7v2^NLi{$3&s} zl8{lxVVnmM(zjBwpSq%02hY97|DR3d9ti}`!%S>+QCSpTZ4nQd?<1acTRNaN~1zeG$L>uRV7p7Jc4J3sNq zwIshj+QYs;*$0UIj0z?gs5EU@GF*;Gzql?f2W`9(Jmn#g^M#iNoJf$+AzhnTj05F) zYW&u1IDX|vyb_3yWgW?%%GrE2pl!-!6?R5XpT%@3e&q*CB|S-3NDIbh;wEIA5}kN^(*Fr%GAs1hW7shkmXz0Q+%`{KKwhY8Oad%_vAR{+v5;_ z1@%s#ukXjC$@q;_Eje2KAE{qG7y#KvzwKQWv9TRKb-$`Ae)o^obTo#V|)Za^itRy4x z`;Ia{^7i9~ZCNkP&XK6s83d3R!!CiEC(aRio+l8ImkzDokIqD^`6tpH9Exy8D*G*~ zd2+Z`TiFZIRs9sMRr8%fk^aatb&4ss7j*}sUD3s~+WRiww4`lyoCKKe3w9>iZ!;eO>fWuK+W0XaSHQkxw_=CKEc^-T#RNj-DApd~yb;)%W6> z+^b|;*o2{`jwaDkv};wsxlP6rp>c=zrIGwK z!*pxm`K9t$#iOe^siyK*VWYoO+I)8llzxx;F>#3IT6z zgw((y1Ij$ zc`{kD`Hmbr=+-S4*6dsSkfGR*y^cPdWwk{`FuK%64u%biJqp(e*y+EcjLaK z@0N^VBS(|*LR;ODYnO{QaTaaUhg4MNe@(FjiO5p7gM1OlibVYigse$oFm0tI2q&BN%{r zCA*7#b`I*5tqLFGcl`5vL{o<3bZZ!>7ykJCE@eYkOzhLm&cr}K5yQ+86VCWpa@ak-6Ho-61WUN#kI{{|}0iq~SjYiqH-ISn8s8 z(`x>UVxUnkMMQ#{uSMZ6OGA{meUJ&XCl=s;`vei{M1548GMukw%}nG($u3`4L`S+T zcU}80K&P!PkX|_ja?~kM?%Ib*4^7wngr;R<{Gp-k*#1wo)l+z`n^91}P%??+&ZZS> zsy6-=+>lsI?+walDd4X(6C0S{B1kd)>_=U_tSlC+Uju@ zoFJxxu-#j4%PL|3ZK~YjKJWE^iebTbTQh0l4D-Q39(UIH3a*Hr`bvB77i>@;Sy~=i z#Sd@M>vEkU?>J7xT5y-;MOgW!c>%qsbJ$+aS*YqQY!mnf^6XRgByj7ts<1%1+Z;jJ zxOXRsnuh4t^a;jH@YvxbU{ig00 ziQ+D^f?Z(q3#)|ViD)%f2~*wqp2hE&VydjhDZ8ipei@4LCcT^9=Lt;S@k>bSDu@P3u_%uq*cAGb`4)6?WjA5@mKE<94P7W&|IeYC^ zE9`M4uul3~)8-4GTf^Yq7{b^fwFDOUZ$nh2rUWa>SD^?w)&ihCu+{*^N0Af4$n0c5 z#n_}5H}FF?@L}zdhN2d4$r+zk(GD#r&>oWbFe&Q1(J$adR)V0bG=~c>`$*Gj&XY3n zLA~Fx`Cv52B#WKq($*2)HJe3oq0*31w}6u+;_ThtQld?)DKk;H%MH9K(wJQYTJbHrb>SE~&(3P~255A`O# zOgYDPyOWGt- zKGqlN&@kaxK(N#Jik!Zpir?}*dxpgdYdA+6 z6xI~TNfGER`)raD{I@RL+$G4yTU9?&mEzxM5c0m<~fA}yz|8_`4c4Aj~9s}UZg@3f%@{qp>3W|%Ew{8gWU`gC{ z%&Y@qZ3oz-1*6QrLl+c}>3sz{;4tGn3uk1$Ld%LZ{fr;p$OM=U(Gh#&Gp+K%@+AhR z=cD={vtgG5)JMZr(iHwgo&PezZ_tq6eJd&3XHypFewq}SpW;tow~)R+nQz)HsJ)^{ zf3a~=PE*B$2(skcIHFkX+DB*`TG6*6e&x@8CR8Hpyjvj(n*X?(QLCw9G}^jC^JaTgpi8-{q_?)_304w(D3E+b`f25#e!UAeti|5UGvuTq zJB4x6<}((miwKcSD-+My4KTCM4rfB1Bd$zZ=t~zzIP}Scz z?EO@GxT&TIi7+HkbZ`cMyQ5&nUhGi$ch+7GAax2w8%DoxLX-FO|4YAoM@7kg&LND|2>QNp z!)Rv8CtijV5T=ZMdnU(M&QRC?#&s!%{sJTT5Ayc zgqO?d^|~xLq=o|cJ9L$f4t-jBS-4q6`~HbbDvp-E6E7s`FV;?G3&bW+c@lYSf!Z3f zQ;LnIp`y*SQj&a!s*XyLV^XhEWPi zh=VFup097)IIK2tBLy=%4@s1%toXFiw>R8YH#?)Kk&kl52I4C-tdE&|jJqPvhPuJ> zm8Gbg1W}dKxbn-ktigTr>2k$5XJQgaY%M94elrSYk(YP7LxPvj__lRbsF;uCCo8+B z)mJx-NJu9`xoxe2RxIpuZLQvovbKp2_O&Tw97&fIB=u`{TxR|e!jB`qws%DVL2N<= z6U0(<9N-@-2l90mc`EyE8vIXy*%stg$JZs{KUT~}$H~G>*n3BT$9xf%-9i$%Z+~+; zrmihNrl3&KXVm@mw0VH%eedqu)0XA#!zHO{4?9{&K$MPa8p3(<&Af+)wLNxxU+YQs zlMsr&-$p3HuUifO-QB(63$2ES?R&Sa)f9uJBtHJ%+ILF(ivFaiQB4!=x4nO2U)J8< zwBOK{HCg&;-T(PgD0CgpWVw_m)%?3rAwMt9xrZ%(I;ldyIQIr7;! z3jHJ$nYu7ZBo_0}5EWy`FGL*+HBR$CXqUvOV>EgRm#voo0>urrT`R8^|Nq^X)97Nb zuOAkgJyiS|2u^BwF$y?y0kgx%!af$zNopG zKe9&_l-=CTMVyPs)e<0Tn#3PpAo0fu%Kh7d2qm?mKdGSH5~TY{_54D?v+CcM3mW*h z$3$%J@&mjN=m)>yV9xMeLUj~($M)W}cfWC|vunc>?v<;!5>gU+9gu7w@sFoZHozSzSeIaqDp2-N6%k^j?N-<-^3v8DLYn--g zH5j70stRZ;Wm2EsK8!FY#kw#* ztoYKnh-a?pw38W|o~`ec2v5LOTR+>~(UcMDXrFiHs)1`iy++3FT(?-n_QB zA$rIe?jxFmH(m%1`WvWZ4rhrpBvO++xCG-2b-NMzt94(lMjLQ2TfnZ&)8Y zYl~_}kwtTOcD}^##!`k{m61Q`M?N0Djf!jEvBEuw4CR%%+^%GS1=# z8*WT9d{DG9*7MiLZ(T!HVtX^&%@stSDtC`2^KAu9#;4lpMz5r6a>E2<_Xw5@!A@UL z1aCt?4KvTm)04xPMz%nmVCQ;WI4+$t^_aTbfY+Q5) zzP~sthJJ)=MIpfp^2n%8bPqVOvCk#4ljkw_OIOs%Rf^m^yThN3FLU3Qk7peJP0kBE zR<$7r9 zr`PZPx9s(oT`D2Hwi@kcECj&7Q<;+hPqB=UNOIU`#I7;^o3fIDNecg$oEND4NqdGR zZOGv?ru`Rhfa(&I3M-fTv8cxl22OO&=3%5XztNeRf?}lGZRb%(>H=NfFYLj3AAz*IaCX3)pJrWlt$m!8nzv z2J;T+O^Ka7*GKZ3y=7UgU1NMgrjY1Km*ivG!aB8YWXU9A+?CIhBzC^}%5Mc7X%7P? zm2VEi&z1j?hv(IFagZG?$!09rH-1dWRHBLNL^ozc;diB6I*5o?`?1219?mBU9)ROD zQngaq_y@F&Twf`94x`I4guPW~p!E4S{q}jBJVuTCcUt)WIBXL$Rrrqup@kPI{I~Wu zF;<0SZlWcotkt{>;J}3Vteuh5$kbbSL_aBZ4FRXO^Ih;TdTcbtznlDVS6^aNBWuG} z6cKIdEPTd@mMQg??hWWf>(SQriJZz05A$++;XZGVo6rg(dSZ=py7(MwSL*r5sZpUR zQz{z}`sU*6SmD67D!zCp9B`jySVRfDj?nMei0TcSqqu7^VU)V;GD{Bzw11)6!bw8~ z7h;@VVMbe8m{?chX`X|6V=>%fgSmh=@_n`#$yo*}LA?FNK&4L51}0C8Q(P$~a5;3R z$f*^1bNDY`OxPD9Y=UY?no~4~i~mQ^ocw2olTD?q7K=k;6fa54k@e@(bcLv{$a%sm zc}4OUiziI~rC$=uio6}#>ailYB9@M}M%-_0b?24m+#}y*-bA}T>M$hnu=*tw*ePNh zF~}@L&;si=RtTaBrh8=-`DlgIM2$;JE40@p}VTb%I zAl-pJme`8iF?+}x^D64aZQ2tuFu3;o+P%w%%1Zy~RC1*^GOzUhmbsZb0CZ9x5x;U# zg*BvI@KsE(_HGw|V2(xH6Yu0V&1GfL9GLWdFp11HSyx%DXI*!a*MeW;7C$Y$UTpWe z^fB`6jcgFe0V$TYP?lC~&CR*0Z^uRykphptcIUYmib?15*e2diDs(x>+L0X z9aYLKQ%Hy6&Px>Phq5>#)Otxrg?2}ETZrbt^JQSkNRb_= zvBL-R5B9%T4yIRGw^epeIyhio1g9bP^}vhVqx?dlCM}V1PiZyph{hePPlGMW>N zm$^Rj2;6Lk1y9VJLj@y(PQq%jnD#o#l-6?P78RtL$#~9`Zgy4yq>O4O!J|7%uOTiu zeTvj^GXDnRlP!fLqkrO+VUD659j;yk!oQqvcKg~oXFOMf^nzsPlwLzX1L&`m3gKpy z#8+l5R+2f!;0Mnj+vOL-syW4qvjtVJ=L`7aS6)RYs`5EOnvsw46c#rttAW~kU$PqD z81Pz#o8I`uGtra1wbc@~23r#DMeQ_0WuLPvQktD?)zEK z;@c_33$Y-Xll3@H7R(@T>PUU)p9rYU?F<|KJbvZX_I!SRg*BgZWDh8~SVWQI!}P0e zeS$40SO*Q>2na-@D`+Z$7*B^QgPYC_td@A17SR0ockC96R=5L_ni;pfCnSSMAp}EC zE3<-y&@YTyjcvrh3T#~c-W6xU&)iP3K6SX(Io`bE4D6!hdE;;6$q6KRJ5Rg>f70am zQ`>12fErl1%lmmtb7}#;sO> zU> z|Ks?@i@haHPvcpY#80g%(NA{=HV(J^D1-7hCMx>z zKz!DzfHt)WK`!U#yn+#dqRoMyYNVk^p@FMF98{S~8)Y zipyF7CaTpL=VdXm&lh#zkRHAl`g8)q!e2wmpkAa;hYmZ_Ak@^a-0y7MS7s9ZLcA=Y1+De`gZGv9BQ{(mMA=cN0U>^hkCHH>^;3O>3wufUBam?k4G$EM;i$plj>ny{%hp;a0H6pWyN41-k1HMh|F9&;=JuvO=Pu}UkNdZNO@VDI`k9# z%cjaUR-h&qL}wvb4z0FYm`fV``Z>yC5)bn!Yr$*Jqf}y#nlFLGoUdy-b|<9UFrdZh7BSh>`NXrRH&f4?u~}p|#k1SwwrZusT1Rwb5;}r?=IfNj zM^vZ}l8~v2FW}Tp6sSDTHWxV`Gc|4(y2$nJ z1`+ZV`MLR8LcVjK=R|WM-#f)I)=va_p1M*D?e13LjByxO^1Hc;o5Y~ES;TjDakSWY zla$}}lsBGb3`u$87&V@wp*z)hl-yCqvo~&yXO@g-tTMz9In1Ew|JdW%fehtZ?sD7E z(e;fU%9?i`5>R1Qu|?ODRJt=Gk0(34!O5ID7v&j zswTE9D6Lv8jETK<4jW<^WI*<3U(w8_{8{f z>hZ)oj3T`sYVuzkoTjlyM#7vJjQMC zz4V7S_>hDL^)3hYf*jWq%8MZoVc&rgP~QoyelCFc58x>3aca}j!&oUDY>1qSg!gr$ z(;3OP$VaVwL(*4|c=!@;Dv2*j?>J5{M)1`*PF5v_8J9pW6=wXNi6n(w1CuXXiE;y` z5E)#n>91abWX2Lz)W?NR*776PQjtQfrh_6(CdZzqO%FrY1$sz)4<~8idFsr97TV{_ z*XbcJz|Oy$pS-Hxsf2_?6p!&GkAy>aP*&@{?n1`mJneb8)94lgoa$n$ zarq%$DXNsxU(|DXcbH34?OE`F$_aGPifxJXIL1VXziy&?TzTK{wXqwr(X!^mmStB+ z;v=jEx~AvBQgbO1;fNJnK;NU)o)OfGeiG>hS)>8wg-UlD)ITCwMioqVz`nVj-RMAu zu7Y~p#wC^87G#ubiu_ralz#H>0-ALgb6=Ec9<%ElHYW2-lvn@JszhO0v~h z%cJPSDg{w)mH{J%XS9TXJR&@(8h$e2*JTJF@^R6=SY8B3^CU9y1+tUA3qa*o@N*}3 zt8;je6_D;0@FKC(T9@Lz5`5=5Z*#BSiGLVR|2XN_t*s}OjJAG~n>?0%#IkVKGufdL zJY3lDj4S;8XWXGXx&CSV*Nf|Uqqe$zhqoJ&(qmrMx3u=25^oBVrjV;va*u~S68`Qs%)sq zcm@(jJ$2B&p)MNT_k(v<{Wt-KedGxvTM-*!{Aig)E^d)+E&RdfzgA~o=$5MJy>3T{ z^J6As@v}MGyAPuxw&H~R~n-B8}5 zuU7Mhd`ldXbpdZS&>n;Yd84$MtYZEjt{=&K!9lX$GKHDb)sby6dB!5@iH|*ZDfGm_ z%1J;j4KX#;^X+Nf$Z5Uur@naQ+2W%waT;O|za@iM`{Xm&3R&OJEPw?0oz;DSU}szo zI^QjB(t-)OaRy7?3k|0L@%JB5a8mh4dS243`QeB?C0^Pdj9sk+9V|_^Qs!k$sVBYS zPC0Sqca#-|E1dg`JA4%wo~I+AB!=sN!T!*h&_e#u^< z9%7Kps^O072fr*9$$$l&V%WSC4TDKerzr zRTccOida@`=04k`h_V-}T2<-(U{g1H5*m##K!^Dj+HLS9S=B&Uq{jCQRN%+#JgYNh zyF&Gp{88B$z>!xghUw8KX-d4etpIC*A_QW0G;QnfyGf7;-z~Uj!Mh@MiP|_q==Nwb zB^4`cuiF1)n1UJ$vZ{d_BqZavf_J@_9*m0_T(Y?&Jxo6LTz~8SV#S0K$&R|Z{P;a# z)aZ8|rLM%G`lEW7%Jqzww>NNHr-tz_nDImjO{>ay2UXclKia~WK!LZ-lx{YOKN5SAtTXx- zSe_Uy>=Uy1-(?>laL!a#)Hg#q2nHks1mFA* z=W>M}WUa5VM`%VQ-AcjGPb%U;t|~M7ImwqkoV>h8hDT1{q^+JLr{y{%DY=gZoTs}E zL4TsnZVG46g|A;m;w7HPbbJ0g&zaqxpAZ>Cx91pcS(VxY%`%|MX)6LH7)`$*`UtKE z@IKceU=$nrcuhe>ioikSD1Y8dT*?DGpfn2Y#?rqChPNAM|0>J_UdLL^y|hxHpAm%^ z@uQDU(Z2$@g8Kf%g^G@lv(j1TM{KZra(v{-pnk-zhP^6*)MsJSJ9G$+%X`3%jLC7= z)rx_qOw; z{0xq5xc$w!oJFstrYNAbONWoC7 z4n$NB$^nU+X>>BQ#1sur1kd~t7u5^3;s zwg(!!CIr5T?xz&4D4gG^0yloEGHBPvhl#&g^oD-C^9Tk~*<%{d4r8Lvj2PxBT}W7s{+X}SCw#55EgBWe%%mw9EMOaJfY(@V`Kd?Q+(OKlRG zDOfBcXArqE8mt&k_yp?&hsH8~2BZdW%wdFTKs|G3MAUWwP04J!AJo^s$R+JUB;UjX)%t{q1(-KH0eqrYm|- z4AEccI0>Y+j2gV3_zJSI80_e*mg&%j1e$Hww8! z)B2YyWO3S!iL{=0R={Aeb#3SRPHnAMSs?4Dua z^ShG-#oo3Xy`(?MN4gf99r4ikudjDwJoOsj-Llq_7wxC0$ZwSkl_ioI3y6&RS+YTU z+`sY15S{I+Pb8#f4+<%as!+%e0w{^{Q$9c(jBH5!U8?vsROG2SZ&ETTS2d12C#$p_wynN;nfJlZx5lE&hLj$I^1qn=#0#u0u(Kk`_b4f1s^`>CtXvL)VG?D)SCE~g@PWxx4V zN;<+CRql_JBERj;+xvbXNozXMD(SBiH`#dmhk|`smr)qa%^py?FM{PgL477HFaqYI zAy+`p#m%hK*iKQ))5Q*i9HD2&Cf8&xu{S8f*Bw97lEzO8yJ3eqKEysKN01r^F_1!< zQRpB)j4NmgSrAdVU@#emG8V$=K?1J=v7yTDSeX+Pa<&=;Gc3&HNG&A!K-d4?m(gYe zo~tN3hPJY;wg||(rEs(H?sPbS)cso8(@*_h+e_L@A|gdTPJ5+2+WSS1_LBAvRv3FL zpW_!Ip0Mu5q`bcVRt)zc*)KJK(43$~+t1I4^vO$xlR$KNjw3X8(XQ!k8_&FY z7L}kVl!$|`AE?kxm7R3Iq2U~;dT7IY>yL_`5Yuq$8e#1(^HSESo4no@yEB_PV(rB} zwi=LhGZTkxFn+v1u#Mm*-`FCuS#l85i%(W`j{pF+YOY#)!gv=Sjop+}H*Khz)I=H~ z5P8ovypCzk>8=mkbj=AswGN{l1)8n;?b8(BWL&}3F|ls#rZMvU*Xn!XePiE^f=1os z?Xv$K+o<**af)RBt;tXAzn}7x={yEMyFtFP|D^mvt9(DJ{9Wnt*I4BjN_qK8dHsZ< z^3jhw8&78z?W~*aZak1tSKgP+c;UT3NiScHD4knyR>&76&CKP38vP%*2eWy7c80co zT46wcC_-C2p2On^{v|etXLwzCKYXFqZW?@?eObjKS?6Liq4tn^qy6sxbJ}k%$Ny5F zx}3+1yQMqT7VV6*+q>**?NRVN3Q~`|i7K4f^|g4U;{Rd^Gi|iy?!T;0MeN7ZDq?p9 zh>%b6!m-{C|Hau_?e7@5kNkgiC8X;E7m+rXHTy93FKh8BD_0mG=XniCt>brOk%-hk zR$I5Ftj;$!OMc6bUS4gze{7LarI+O@|0MZPrQbeKTYnU#Q*&81y2Aqj{q_ZjVCRU( zU(mUQGNYR_k!Dmb#M*_bU?qPgmZ-bi76B8;-8mNSsF@hI#T`XW#>i=?e(*xESW=I& zU+PND7yZ1p?iPEl%K}s!J5<4kNs>cx!>ZU z>)cVpjXB!vJah=ViLVi?JX7I3T;V)4m7ExSST-=ISI?QE-?AX6&t6C)D~4wBcLt&_ z%p8VhH6C{Nd1vF_|Ms`P)m0Rnqu%xEJfy8}r*8FN-f4|TGD_aoR=>vH($;sxT|bla z*c&ZHAxpKZ<-=kfTW%#z)Uw~0<<9=%BLqWdM`r%%k`B`8^vzi^G2%O4kFUY&XE9cIqVRobgp!oYxQ5k!J|DSc^G7f+CzWk*W~ye zxtU@6GJa=X? zvF+!5|9ShVTMpe^9iMO<#6;?-+IHx(s%_dco6LT{o^^xc(89_<{Fb~}XFhB^YfUb#gf0bv z_DHd41mNz}3Q5*Zy)T%BONj+7BO6a$eCkugD^4W2W%F!_sajc3*gjZHg9FV#p;OyL z84_#QT}UaSuyfYB7M3etP|ogZb#_xrE9wPtvQ}H>XrFf-QqaK~epFl}x{{k$STAup zcNEA?6rSql->t_d$tltTGKf7|TpJ|@%C1Zy?xg=Ae!gYNX^Q#r$VZXsX20Lgyunem zjq*=`Kqa<9b&Y=&Y8WbsA9F4^owUJ+ZY-;g2Xi2&J<~~9-q_lF^rV3;-q#~rykA9L z_K&^2tX6wqDJ@rR#`Yt8mj|yH?U7D&GS1D`<55VzvWKpXPQb?0U=Gwa8-vA6r2Gnm z4HU);4ld1jX>DRw0Ya4-a+!`pRn353-J;V|RdtyAG^qGZ(HCGMo|P!6QW?N0sz!nJ zGE59Bw+Tu86eQi5V0Zw^QL43F#ieS^IG2G$Dx?{hkBHg>ViYCv5LwB*XCC{bz^a>f zOx%tmK`* z#=hC{Af;DkBu+Z4HkpkNS<SmEb{} z=UJC9<~06s;7td`+v}$5+M2aUPU}TKr5mvosz0c84$|+Ae*arY@8}pKot$NN!bqZj zPLcxJ=NNmZD{>mB;szJVyf^Q;8);7qtP2}=>M#@y#+|PAi36?ofRzZ?!ZL=;;o?Nd z>Z}r|TMvKlSPI+ut$HrMO;#Nk$0N1FmQ3Ra^j`$E`$0Kz6CRDg?k#XKw0nIXee#(aozGn$GZ-a1fZ)dGvM|ipyI5lQxO( zmw$W5H>G9Cbe8XHtzB(EbD8uK9U~;UnB?3m8^{Fxd^`6X>~8PYh_7Qc6P}T{kvv{% zT)9{vxH9+-A%httAsG#oK4UpJf3rcZ=Qngo7LYm|Csx+w zNyzw*WLBWE+xjVI3Xq3BE68`%P3M4Z$ZMbS9aS1=1zcR8_DkR~OP) zW_|d$cYO=pd_F^aHSqvcD6KcT+!^I~>Y3o z;IR|NNDGVEvSg?u($9MMjN_?#;#BY(BeSu|N2Hq|%YSPPJs9&FR%3&505CM%3M1fl zF#_IJ*j49rwAba~np7wu73@b(FMfIFHALMly3@nxJ!}MV_lsgBm9zpOV^$&Xl)xGW zK%SA?%Zi-%pzIkEEd%x^gL z+NvIjVSltM`Fzs~4lG6P%b2{7`)_r=!f!6Bv?ij?M^h9s+GGqWeF)RkTF28(x>`~w zrk`pE3`qyS?!7Ukh1!+i!es6MlZ|ofdR{FeONZT$Tn5z7qVp zz9B%woeC9P)ycg;z7rlK9~T?-ct;WG_P?!dp{>M0nAC*l9UuC~tLc zk52@w*VMNM5wPUDK>Lm7l7jbKs)7XCBj@Hf1)affGsyNj(AH)qcQ6pYJ3pw(+A?Tv zto0L=By%C2fmy*aukC!_J#Z6gMb%1f?KO(PELl?rC zA0!8M#asT09#Y`h_ZSCb@G}SooeZcIyQ@&Z1-IlU$8hU!7<|VosL}hPOJefDES||) zyd#5b6aBj^4~LC+)1pgh=Ljnhk;6_*tNDKKh9xKay)SDIZWib`cQUr1 z@nXfR!HQS?#uw5E>aF|%+R76GHB40M*faL_6B77)r}2$ZDm-{6X$pM~GRyWrex59} zzcay#h4b<9vVz9H+RqBKS0qkUUpmmO6d;o_<2Ue$c+5{$YPB5@O^5IXi)iyF9lv7M ziGIENYoq-B%6WA)QYgM4msVo0^67&YhSG>YeX-yR`TxOdX>=RkXw%nG);UD6rh0$obNX#bi?N z+?>2ooll$=b>WJgqDw1Bu9T8O9t2g<-Qvkjbz4=}By5zHS@Sp>q!1BwN*=<%7D=ou zWz9>=Lf%jBx|alUz>b2qdr@fSg}iS?&__ALX4w<<-cRmI)_cF4zc*wGTGtYEi=_RL z?){2-DL~8bd{Z(|zL)z{bu&$$C*+|o8@^wd&TqdV>!+>SLP<}|`v(FQN9`hVAs^Dv%DNFU z2JxF3E*Gw*SX~jk%D?riyx`KL^jh%h%7(D9T^5oMYCNG`LUIC5rythIKX9!8(41Qx zh|fA^*Rc;Z9-<)4)~=R1nn5u(|2TSEzL5&^|+$UOSI>O(KFf5`-_ zcuOuO)cB+URqwQ1>RtFJwrhd6zHwVqol!8eVXpF>K*H+#8#y{O^7JkksN-nCkM6R%N6JYcLRiL`_8C!Fv7qNlAEwQNapD)<~Wc0;lBb7j|g zH)#)UkZ&qp#ui_1>_L50NG3Y$VON;dtF4C1p2w48U8rJT*w`|$ed;(TVY_ZtpKzR5 zcb<1_!?-dJ`;~& zYdc()Y3~}vz81ruLe|PodnD^ta~krim7Eh8Rq>Q z4|~qHT0!5bwRv*B`3Js^UoTsixz)t)`GyZ`<&bfS$i&hS9ij%a9^I)x; z(`ao#vN$|+7wlcY+pRr#3l|WDQ2h4MdE(B5_((}t*MzidQx8XptRIVy^*-5X?_<63 z2*|ii&&OmDHg-z;mZSE00jVqO#aTsb^-BjRR~0NPMV)25C<|Y%1`=|1GnU-}Zy96R zE9bNKMzjnMzQd&ezp%dX6DE(@XxHR;DNDi1&Mb4MrZh8M7ikihh_SVz(_6sz56Jh< z-D3$AmCAak-Q>g<7ODM8QaTTiWZ!KeR#;8|SHSze)_N_!grEsh_yi-=A%KwpRi(Fo z*!+uF&t;GI6Cvv$#^8!|p?K}ZQi;p?s#U}~qfL6771G&0cuj(R} zD_jJ%*~@ahs@S4mB?yVO{8{z|4FrnBwjL0j;kGo% zQrvnY?bO8!IMMcn8w<)pjb8*R-eyfu3(6D=86|q(E912V0hZ3KmdDAEwNFARC#)E?+hgT}v-C;8(Am5`P8bK1v~*I^xp9uGfeFxslTCh!NA&hPzd$qv7_ zXYnpxzA)h2qFzpJRrBt6L5PhqqGYy6qMWd$%=zE3is#9lS^gr__^Q997A83AgHgP-657cN=$@^U0&n9gYug+dqph6aY+b9h{~AccWSr$!0(Srk zTw|b$Dqb29=TC6XxdHdKnxv{fA}^9+Q)_?F#aHsK9aJ6k?$z#poO`-iP=?cf0Nn6| z<3%`Y1j=fu{tj5=5SE|5dXgg;ugGr%`olq^n>d$%f&F4t(5*YkQFqDH1apd2#E0pM z*J`P8LdGp_$N{s21BMb5yeauW;5%H!`Po?XSJKs{_GoKJsK3x@ zUa5>3pQ9J1miQhI&ulvBo#xOUI*$*v2QL*skWWI7pV~G*UCK`+HUI!S9pF@{S>R!i zzQO<{Du)YD0>(>%adLKew3uiK{awD{9Fl8%!xC_s4s(R|BG{dLoWL3i$&G00>~weT zfeY9?Q0^!0;}bQ+E0xhk-J2^%12+@b%Y`{Y*IrCal}lU=e0uy|r}Y5w-K@kJ{I?c_ z@%fSU)MCUAFVP;jjLjXh3btAaKUem7`Lx^CZ;3oo$lBCWOl4tMvYb`PF$pvw5(0ed zoJOUHt`*6oPyyJ(8@tFK?SC)mAieUkubJ0dnd*CBTvz;_qZ%isCL`Qm&G>$E` z=QtvHQZI+Oog#CZQ%C8!eQwK8nAVr-}#zyw91|*;xxsR z=%K`B-fLR%G#Sdoz@z3P%u;qfa>B}dw6cQ`1u3+$y+#?_$J9gq{d>d~#oM`5qpgF4`cW!L4w?d8EWqO>3 zleb#Gs*<@yRWd1=7l%=HUQ=mEHb;%9FK_K(Z*XeY$mS5T6uSlKv*VcxKJ2&V^{DRLrjxwrxquXlRnH|{6w9`>?j(z`* z-usd%$vSqyxBNSZUpqqTmMs3IO?7^i>JTX%vx<2=;hdz_jBNnZ-)1|2STm|NE6yYF zPd-+93+$ou2TrF?+>Jzn<{bRc?*PRDj z7CQ$nJV{$QS&IMt5a;wzV?le^*_nD@(OJfM6GW7Us(S9=hsC-k&r6oObjl5;uXD(T6ZVbRkE`r8Vyf1ci zz~XZP6(HPl3TIG>mY^U`fwxqj($I{8|6Sd2yaM~;8Lv0?44;C zr8fqRH)u9`mR)8Pxisi~O8z0Y70JWLqgoYU}O-H2S zmo&IL4+b$YBD*f3_+3!;C-oxlZ&$P|Vl2kv5DbMSiTAkb%m1<+CI798 zXQZmK9RP~15Rj0cJ6u-4`f2=ihn!pLok#jGSge?=uy9rDnKTpyeqrVHPO46|-!C_y zTLDZS9@&Saxqa2|eb28=emy?^3lur~Mmg6J14E(jm7~!-nAgA!-ct@jT#5pye5MrDDo5@QvxPuxs#iOOqNL*6;VT`XPIZO#^oQz~a`I%fK9aRh9@hNr3y zgGX>1c&;x**2h`1+Z8sBSXY&ha|@3;@Yj)CZw)(FG#P6D7{}}cA}Z?pKR9D#IN4=3 z%w4g=gBM>z?D8;hF;G^VZ0N-|ZRH|IeEOGLzlO8ycJ2sxttGdIm@*Zvw9XO2w@M)_Dwq1sD*h_yQ~TbxZ!NS}YRgUJTDR^rLqI`CM0vfUuzvbO-T8PV4Oh zil1^RC$<$GTcPaMV>^W02g*2zB?ZGmqOE&TBXW)Klur*kh6hq2Hq}a+wg?GN$nkga<7ER(|5f;ukXBvYI7UA-16; z<9@n6$DR#&ID)LScrY$W4wz875b;Y&mh^$Vn;Sq-l8}9B9r_s!64Oso&vmZ&($w+e z#}92iZPS@8{4bI)Iy)1EziVlMPz4a5uE=9JTa7NC1NYgt^QkY2k3KoG8@IL87F`gz zIPQn-nC9e=93px{$RWu&FW|gy+yv$xXsIo`AmZwBm7NbtIUUJCHr{l(3UJSn1lz=S z!-*K{jC{e2yFDH4t$0jqcs-SRR<0z*G(M)iXQTr*MWU;8^QUDpn=DHol@J)2u=p|0 zJo~@sA5{#=e?>{m6k7XVz%tz%odXEN=1nABoIGm|E8u-MTJdklqqS)Y$J4<{S?md$ z(YXP0QHf~WT7@1EtUo>E{W3BnT(Ngjy!NbA@mp8kU}sxVr_5dywpD9W#qV&JD0MyV zW33M#TeyI#?!W$Oq;dfYg{XEKxi4(oF;~`b)^z@BNQjuW0vyFdI92>wJeKb_6|J3T3i{{rXL@YO92~QRraBg1Ar#`}9IpV_ zyCriSoVTJ>+^2h|G%PxS8K$WjCkXw{pQ}4R4H?yCvAVD`2{+dwZDr~mm=nX~66nyo zyBKQyzhE?%*9@EC9Fj1<5J)ljtDA8&C^g^7^ z8@~#5?#(B)fyWUYnY>K#yN&Zp15T`aU#5yTv3A&XJYH)t5pZ?oSD3XPvyLO|?zgOW z|ABi6&+K>xQt7*bIu?_(cw_@mr-w0Ml zhFewKkzr=El#1^Z25}hg0iEVSd|j9-exKo%*>TF z2e|X6r;5K5=Kb!vx$+u+8`6KL%ik7~hp#jt%L|dRjP~~<8|otPct&Ch zD+j(OCh<3iz6<=rjeDzlgb(B>tT#SlN(aQimqXv-AMm5!a{BWr>lFS`gf%{H{$~)) zen-!4a#+(42#ob$)X;Q(Me9eWsdF(p%s$+WU8&+7A(?aYhjLw}uA`p5oCbVgR6+#O z-pKgxtQr0gkVsiiv3ru+kT+2pydZfvt-LchO8{g72)Spim!f7Us|hJ(XBsTevG5U4SoEOUZ|(C78@CU!_q~j z<-+3vq9@cWt=m)w(aQlwSrumpB_RZ_?Oqb+DJ&1r@QIoJtx&d$rRv=lY1jH6=o>mELoS+8S5Swphl2JLyXD()G_qk*9>racH8%FtjdVv) z4hz$4-dmF@erlq^w}z%z5h%s&0O~rbE7FRx?pjB!6H%N~?;Fvh9U!{6g44 zz41!DZS&%xXn9D{h{NoU^+ROqeP##z1_!zIP0a+vS5$J?~u9&dlfOFAEQS|lbgY8#*6?^Wdt**qL-j7j{`h0hdKY0f5U zEnCeELdM4*4-@O`K>#fgmlcH@g$ZS-vG)%FSz7A_>;pgL9?7D8qxO)KUk1v1&TdqU zg2t)huO{5!FeO17=SjE`vG$MhiSU%_l-1gb_+8iKa#6SPBdxU^L`3*)ZQ*ZPk_#Ij zsPhikdYHP=x%7Q-@bZ?i7of=JHIbwxb14u!kSd-Ppg*}IY}5|ghM(P5 zQr3=(Go=+0o#`krU|kvyb>&^)JOZoY_r9tv7qv7_@NniIrbhDZTNQ_mZZK}q58+LU z%EX!O|5T&YrjXr~Dn5gm8l4>D)7XVIXF3i#9OE2Ma+k!@nnuF5Mu@(nk_^Sid?&=zU&faYt-9XmBHG&z_Ylm{73x)}-RE zCx0P+GDat<_31IPoKz)0P`uBDY`XN0PyChfWbvu1zoTP{G*MeX=M-F9Xb*)4$0Gv zMA-6FIWKI`+BWh~xhW>zrX{uB!m(W=bjjEi01YXmC!QvJdNP2JPsQG#7EvsdrCRGS zdAad0Ri;|*8=JZSXRF9?>X{uBM!pAl>akCeY%aPW`bi*OP#9nxg5Fn`+}!aKnSC*% z4L8c<74QdekVR;x;GHA>Od|os@f?LmLi>nnVe@ z|Hh&qSB$>_jbSQsbL<0W6o!m}W%U@63-8AY(!yYH(gHu5BpU~+-bob~@+}+WMMXpF zn4oYp(R!Pb&i5%w`lmG~G94I_6Gc<;ixt)%N}f+WKWGGcN|67dX9uXs?&}yteQ=R0 zt&t9EI$n&%`ox_~bH%emGcWX0FZkt!OVkU=$E@QtCfJq3zo>jf;l@vG<%i6B=_eMG zU~LLyZTe8h9Xt?WuRk*}Hue!1kQYP`1dGl7c>^2>o0U?^%DU$)7~^>0JTjXf!}xcN zM|%d(*A3ovT3kd>zqz=?Z_F-56gWqKh@oJpt=Yd6L6c^>KA3}?|H>9o9Onkf_metfcDI>P-Azv@$2|3 zvXC4n2aiA`2um*Ia@v#fdds5IQ8TaFoYo#4KWSUN_ROnQso0)8usBt`hQ&fXD&?(^ zs~8WxF7jZ1DaZJ2yrnyjghZ`TbR56lS5-bd1P2i#C@-XYw?;qnI}?1el^pf;9?FT{ z*HVubsgV(?-BY!e%+}u5@4H&r0*%4`mc^$#B7?Dksj@uiodvS8amJmQrldbDleNj} z6z~TJ7En@I${b3%0<9?WS;4;KQ}#X*cdI7|I8g9=o|%v-PFVbIYy1e|Q#x%Ahpham zGHF>&d?9(4WUapxlASJ1+9c&4hEmTFXOMdKMq$1AeUE5L$;#9dxwPK6#2=eb>8!_e z=(C3MlERSbWpXj0Mt+3Iv{r8{uCW@`O%N&}mDlP~4Iu7<9)7k9`hus%fq}4lf+zPe z0_GvEJRa-oV$O-R{W;cnJQ|q$C@CStv&8xf``ykTtF^Yts3D;x_GG6GM`0Xa;FAsQ z5v|pNLi!oa`FGw&a{h6?T1!nR`j`vOhC>D;3;o>_l(?!aYHdAXW1c5u^v6Yrmi;Yv z7h|$2U`I+Or#l(LbS76Wmedj|$FL==n{o2<8xxQb zwRW8sd1nsq%w$y_{6JuZs?*kiw6MGiWvpLOZ4+v8qUjj6l`a9o8WsPmH-uTk_VtwOgF}(^Kh8-Y& zcM1~}`}4RT;jmw76m7$H4qXvi+NH9E;+NYhc3`#qD817=6a8uN$p=SD_J~?Q;jnIB za-3W$&PaC%ppjf)%t`%6Ii9_$9Rskjw`0(Wyix&l?V@{2)+nt?hNdD<4lxfBcMmd=!m~-S%1XF#|*#O&Bzuc6Z9Qvo#0xpeGWXq_~j6wYVF#{0*Ed)oTubo z>|U}VoTtbCt}6W6g3o;QQH1oAQ$#=ZCZkEK->rks%fwsDq&q03%TCj9H&jwaB;i6n z`l&->=0ovgYx|?Ck}uo$RdWrQ=B!`Q82XTOH=fLWcw{R7rtnuu%h~oY#^gM|h36`a z(YkYJT1x6Yk2CU~+uFw76ymhYa&vrJf2%~%V%`P}_D5>WAcQZ1s6VZe0awQQZ5S@f z1ET>QRj@Ln^XaZrY6MO;1aKo*f&z)we$Ud95cNmW9@3I{9p~DQd7~UspqoL6A!;%D zIfaI6>>t}C56E~(>H#b7mxS;ASvQKWqVME~>G@_uUB&Q+!~N#=enlW+m7s($U+HzMw`E${n%f7Tp{|asefF?*iS)KV$8FmW7hixB}r*>|R{!RVPnNP>>E+R}d@e!TdBpuM-`hCMtO>??o+f-twIgg?Xi-ZMwk`!H0;fBun`z z7)Y@S#Vxnc9`UT8J?B_=$IWzX9b27BjdO8^kwVQ1F14pZ*`mORh>-KyDo7Z}6 z891xTHAa7F-rGQz%ibR8SejDbuCQJ|S0chTCLiEI9%K2pez|`QAE@%ax%O-|+j#Nm zNEWiRXPei~QxeJ2qq3-x(MylYB1haykIKTr|HX^{^4>_O8Hm<=HAXFt5r?&4RTfv$ z`^5ScM3H&^E15tl?A`y04X3cXdz#+(>6AFR%Nl#EH%|~&OeJWg3Qak|EC7vtOEOnE z<_=T)BR=L*dLx%2rw;rV{UzTOxTl0jgWy$ zLu``gS4vZC5*yw^pSCNYNQIu+4+y0gE6KMn`XaNMV(H6VR6LS;fMMEUn=oyujvK3- zN}>?=ZIA>5gV|hS?LO&PYU#aYzZ&xSd0Ly~c`zqc!{ZoFb16ybmlNvY&^k~tdN*hf z?cs+%_6cz)ujS_0G=KCY4~Udl*W^DGbdyM&G$qr>EG~KS4_Koq3j>7I97soje`c&h z5Z2K>v4MZd#sstWTjYN;R={mJGk?x)bHzLsD|W@*~!1o zzp;_3YPV*um9R!|BoOskg9NrpfZ%4vp}RuYdTw8D7|fm zQkt|!=?18Z8xHL1V^8v@-Z(5;vwZ_B-LmXiXtg#z}fxfI|35k=2ae@@s$&&`0 zF>xxjMozT;hd5uOSKrR7lETP(ZG@V3NhU}~{FY_EgyIv~SlB!Fz&iO;Zzd`Jn+p#N zmI;gbX7-Q1^au#KWWfcYw4rptkk#-_4%%wr4+{cyr6N{pi@Kdgd*oBvA%kJct{$3r zR5b~{r`uaNDu7#D%Mq9VS%@Y4Y(Rn~HzlM{lA`n3?oP;bm!_Zpp}$=EXSbI)Gt-WJ zsyFT=Z8FPAayo?2c6dU7oQ}n{&lTN_KPl6R7rnEBh6pPt-g6SGqp9ofSK5Y$PPm2B_PrrCGEiOzn=4`KX#vdWL$% z4pJMVJ70$rQt_D|jC6#xz|rTNLW0S|Ys@1{0{maR_@oGDofaVIs;0{~7)E3+ikKjP zX68c}lFU3{?9R~&2wjD(6jOfc_2jNT>kl=3t_q15A>a@1I3FHy-cBa0W0CY&yErBva$w5JZY-qseD);y7} zX0YFBCtcr4Zlj}9c_nk7{*@DV1wL_m({ERS(<{tLxGYUU9V&O(GLr^{y4SMaDFIL7 zd{)E80}z<-?QBn9fq)7>`g}hl{jGeOuikKE65+f)MWwC5mdh&Ke4;>uT#*yWXl>0u zLlL9e7laO+apzP;Z*Jrj8$Ip)#JOys!`f?!$j-OMM)lDEMZKb%tq&Km=yF?qeb%?W z?!|BWU|gzdc<0DqBr2|2Ycd?H9!SlkoE7(Or1JwTBT9OXCJ8$!5eM(l$dsN5j8$Yy zfwgtX4Z?gKuy*|o1`o9fo@0#Gwx`V)F9Qo;l0bzZe(VLd*dS5Nwz!{3~uQ$5wEpY7c(@hGr#7o*x^B1+fTU=Y3Y*}RPsHom53FH zvtl-R{nz$m^0;tDVOS`U-|^P6gZu?7*))&rM}Q@epnkntIn{!&k|*KkJ95~ul&zK# zl#|S$4~~%K#q5+7Y_ztxG`@6$z(VnSa>B@|*>*c0VROX|${tr_qcX-=*D~njvkE`g z)X2w7XkpbYaH=Hk4M|Kaw0As5V{x7@no8>M$AkX)t4g zt_Ir25@Veg(gL5@8^O2@V_ltFRvB7coL)+p292H^Qxu2 zljlwzigqP>Fma5Ipy%mx|9SNbJOHUnL?Tcw+(Pf+8;s77kpQs%Yhs&GKI~M!9?VMV zGCe9kB}4WAnPu5zEq#ZHs|3b();Caq15)5(Jue9;;fRmQ09-u8BuJ) zD90L%8zP*%3VoK5$84^>V)YaSg_EQTe@oIZYk0uq#3v(F7M*dxx-|ctg%% zD+`OgM)t3;>#zK=ccI_no-EiL87~P0#i(0vpxMXi@iShQHJp-)l+Bg@;7vzc2cY>f zZVqrWpJ`u+AptgXl7HzpDnsXZzd37a;It3$`zf*RS7X2{QVDYQa;{$i8BL+>1uQb0 z^B=}`B5g$enWm3&_b@tScvUvIPpw0CT(@E_k&*Qo)OEdsN(jM7^EG4#{Up?=NAs-VF6(fGGy?wY1Dv64JFqjtP<5O1H zN`&Z{HtCL>dd6)WndlR$=!W;RT%BUk<&#YdRDM&%nag=B{LEKsgu>asJ@}Z^hE`-) z)qoUxw)My+8e<7ZRqada_>P_3XiH!(WoPpf(n0-ijnR#C@_;*{zISw{pXJ z3wBB7A?+9&qv<328R_MGMkWm-KhN)Nw-5hyZG8MUnIH&&R{r$Y*z@TMUgaqCQY8*w zCV3C>OsqFvtv5CzpBtpOKcZs04-Hbpm(&DPN-T0o&0k(2%_y+AngxnsKz3Gr!7(HR~dTI*ge(&x;p!Wdj5 zT?_4bfd}cXIT^R?P&c3EX6ysR<+&yPfxD{S2^(_?1MSU-$}cEUSxhV4!3N$U@1Uqe z4_MKaYOTxrY#y~A#N&|>U;FI|wx|heZ9@GL^Y|yd4}_-f5gk`AO>O^;kiay4cZfWd z_yu^c&co-02qs&z@Bl)E%0!mlp91Sw_4o_o;j0@GJ;xbn4L?~t{uL7>miq=+EPM-N z`&t0sJh!i=k_sBJwdJ~ZU37oqIr_?Je;z5AdLpA0`vvz1m_!o}8G|Od%2IC#Uu8!U zD3<^s{uy&z^7ktgr37MCYo8Y)DfH8i0^rdepdiFOcmIa|%l=*M#%D`g`8vCmy{gg! ztF1T(GOaepIkpUahDt!J_TsPk~wZ^&z?4ye`p|!3IpOW6hKxcP6kVU(oyOC&p7Y&@c&zlCki5Cf0)CSGx?apTav7?_VYKQ6FshUqJuE}b_|F780(lLXX*Vo9Avbq3+!H! zKU<+VJ7{@^761P?jXIvWahr)&84_i~*!=SWciM`$mjFk!uL@Up}~B-TQtO$ z=yRm2G*jO~caEidg`tgjh%;9Q3U5C%SgYyAPe*8W&)l`LF9Lu5V+y(&YVFFs{(IfWJkG1XJo z4;gO0hZ`kYYqh*hb3@W({(v=1C?2#(&&qh{sO{KWP<*;gU)O6L6RO8fbVu)}Qdg5P zfjmVrh_-v_z{b;{+gmqUYr9KEfbO+Y@*K6x`G$SCpPnyOHs=w#*xy)J`*4Kbp)@I-HzIys9`UueK>NFl#@aQDO4%~Wu7iq*^eQp zqvc1T{8K5$et@u-Eb?TZI$-T<7Ow&FR$_32*z;$geRe8dAnL09F>X20 z@TzP%!o1|elBoX|9~_nzQ>1M`8Oq+_?tP;1Y-0FcEJHT25@l}OVc+m&Z_KoBApd`C$7|qYBb&$w)>wry z8dYF5SWa4o_;qgPQXkiWf{WlRfKx$XtlchLIrEx9-SS?9mF7@dfYjq$k)b@BlkHJN zE+#uKjLYJSBx|8?o_U9k9H+JU_#(q6h{`V@{BI6(2I}Wzi>Q$ew~dsn#uq&khIpa_ z^w{F*j>vgIiUlGwM@Qc839_|+MnKl~a`fB+s88{aE+e7>Vv0qdC%@x~{6y&`Ed8Y)Dy2;s zqR>sW=8tV~CeO*PC!oPEM@+QqEXPA~T-0F-o&h}YPej9xE`5;%LT#3~td6Kqx)bRp zY>Y;TCizN)q$&JU!2T2ZO*`U=a}BJ0PhEjK`lKvNru`?EtM<#2KewiR{+vw@1P{Zc zm4Z=n)IJvNC;aBc<~6RRdxTEbJ|4NIc46dniM)yw*#y&^0D>!O>3uQk6C4F6F)H}f zZ8yp9-zEL@5ohE>zd6qpiZ^(yWpL=qLX&=*b(Qx`cam~vW4tvS++QBfeWe$_r%j>U zqObzyfR@$&kQqiVY3X>4#dJi^51T8V;HsX%VR}ENo2#GXXV{F31HC`B%~&t4Dz)M! znTigP&V`?4xIP%QF;91j=aF!3(wcP_Bj^s=htg}k>k}XI{mgsTmG&z*3p$d2P2(q0 z*;hKQ&+1f2SDCon`n8y)gdrC_mw5lfQ;3x13pEnLRorvN9Fj&_Yqn=wFiC?fa7G$oLqV+Jm%YU30qZF=;{W z&UjXABC`-7(P|`qFgdqAvb>c!I%K~EBq+xmfU91lIxEHj{|xZY(T$9eD z+TZu;=e3nBe^;}qTF>^3kGXCwhUpQ9SX_ocbzg28V!)ijeVNNQFv|9$f2jG|^?C@ZD66UwIk| zwSXxoIzJ!1DBy`R?Q z+{*M&wckp5NM>Sg;B%+yNa}dx*z0oewxDInND{8~_$r+dcP2hfVEmlOJOY!Bk*boa zOc9V_`oz zKxApZQ^*koHGU^Di-2)-q|Z_1lU+aBj>`(0r|@I2zh<;MdQt1<$jx^1h1v6sd=cDk zAjrH(qVNmQ$Ze&DK!JN=O+jH~H?*sq#-poHP$&d=U=6(3W~+#icGaDlhS7-Z{$ft{ zxQ*F!v-8ZcSEy7e%hbdMv^1maSu7_4Wg~?Vvx5Z{zPQa{V^_5D-jbWb=4ByH*tTtp zFDDK$-99`-DXdOpRL~p{@UC5Qvu+NiBm`oOs>niZj04t__(u5CM{#iM`S+1XzBjr| zX*(oeG$Ur8Fjlg)#mBr$^(^ZWVeNTW!76ir+4f66p|4@%eMM(@{S|rL{a;^4&$z0q zZ4;Tl<3p~0VWi|=@kB`HKIVt~fIWQ`hTPuo8Mwvv62;x`1|IXtW%5T0V!s+Aclh9E ze9#9U6`hKG;`{fL6uxN}@FOGL&6T2Ef~;|7l3$FRP0CX#cZ*Q#Pk;?5d=B&KN)HGu}6s`xZh>z zfq$yvGDvK(W(5t1s3nIgMC$_CqH#E6krZmoDVPD~h#QEspD~lNZb~tI&toq@YB zI?#pI3)m9N4hS~%z9RE6UKG>(qE=xM*C#3cAjDMoZ_=L$3$D@>h>$_%ZCg2GjuMRd znib(oLkt!C#{b(AF$OpHHDmZ*_Kw&wHd=cGwE*OaJ%Xf>0=#%e$8=;mqk*KJL<0xP zbQ;jjO6yQe)?}vq&KJ6xLsId#+Lu8#q*R#GaWJVT2}M$vwX4=RWO%HCI-bGN;Cvwc*6u`J&F%mgwGy8CIehQ zq^iQ*+R8RzdPO-2nH@4&T>7{!jIDLC*UNe2AWa8xP9jD@T3;dWKlw1r$|TBdEl-J= zP<)eYI%~dph13R$=)`}?bVU?Vf<~QOJ0g^bqmp!lXy=&wA;@=U^(joFs4bsBkhEDCb5}xGX9S zfwXO@=)3Be%e!(#Wx9eY0h$!m=!j$ zx_|n-tv3h5Uk(ghT75!vOe|BUr??VJFV;Q2J0|Ox*ZX?3E}D0 zlUS}+AaSXBDfbpiwcrHi-;9SSL;D%fFoy!vQc(-F?c%4v({?G0&$%j*P_j5Xd6orxvxLj*nFO)=$O=~5MhUE0C7FdH>V6gCC6etSk z6Q+~&$zGnn=ed-^Cuk?>t^0@Lb73?Ov#K2Bw5yh;-oT%{-ubE3_Q7+gsxV>SS5~_C z4Biv+>bAL>+w)~lM1N26PX7x`26aR7AA)%hP5RZy5n3tX*`wKkq@YH7r_^xh-GlS= zcyohQf`A?N?$%lrse;506znUJ^EqtX(54 zZeWs7tx}n6V!haJ8A0J8-yHZPht~F-tRFJ&mIsfe63Af0Cu5WW%YG|$jBPb3<3e9- zjkB1RI6h_YU(u1j(5@}WDm}3~d2W`!u?EvAT-P}0u&95nmzXoZf#wXB;ho5oma)qs zRc4**cO(sUL<79X`XA`o;Et}hX45e6U9UDw-}6ayNLd|8q=W`gO{z8`|CBfFFz*#Y zCKMwu^{)u#i^)7}Z@&LabFM<6XDFsv$yc^c5vCXcu!YY5J71iy<{^BsK=s>vad!Ty zn_T%==GU8O!x7-T)_4S>&Wlh`3+e=U`Zkyev?LSevSOb zM^Ao-`K`7~nf<($-`KzpSdx;F=cD;OM}2SqE=}v+B4?*-CV!&tYpoH!7ci>XDIJo1 z-e*DE3qP$@0$_3!muYn`jDvY6>EpEJhnNif6d7W|_?4eV*1D<>latkaLsV6R+jsMZ zL%1KND{(@i(PoFV38%t6UG8xjsCzOHKUzgmss_C`QQ`V=xr3pW39jL7bqxPTGUibz z1L|8l++S0Bf)elN*sDJ@yFNnHTen4Y-s(?k?tTp7D4!IZ;IApTEb@NHyb^WdwVsf1 zkSIP81IK)qqre*TQ6KPR+-KGk4>>?LYpjiTvX#)3C>UlEwkVMrxb?Ni+sr1OB^kF8 z^rJoxWlu1|E^!A>UcdTM!=U(_TL9`@VcuY?0ti{rp5{Gt_jS$b9eu+a|agT%8+q5blR4%w>$b) zQ=48C-Oh8Mtv-nUD}$%%kbVvGdFP&d>!$afQwNb-7fH%-{x6pOl9V=Kxkj~KtFQj^ z_&cVG?>D~!86R6bP7OAHGldQ}%wdA%-9g3iaXCjfrcD<s zV7bhD3$5lmgn0|_th)|AkF&{FDaiOXXs-PD7xOW}r8R!!RpJcar>Dczpwry=yW6V( zT4Bgr7X@qNP+`TU!GPck$x$+4q?qpKtpPhyex-{=?j20QZQ1|k;8?=hyhLvt@0LO^ z%kNXdM%_jfyJL#Q4? z&gFitrXM~fp~A*|h@ElvJ2CX7^5L8oEX*K)aFv_zPi!5V-21gHv8W5F7M z9g&F;VDhrMaHcQB?KSA*pCN&1@Cn;^_f%C@^O|9jo_2njJUYT7m8>=QFErZ~Oo#fy&CXn%Ok!~$H{0;Vks7Dn3a(6hDP|J;VEgv3ed9|=7*x)3x8NrMv z<<WB7>IgyxzY!7GbjHeYkzA4KEiIwn)nD-O#k zT>_|KLjwa8$C^GMOW#*}z9vmKvxFggUdD?r`^`v)ib2v^?}4Oo@Gd(fV$Qk*!{K0U zQGKW(nKg$drVr`w^2|EF4YD$wtEwK9T}U@ltbNFiDGFen^R>@)ZS-Ml?xAl|i8s{4 znVssEu05B!Jh?Z~_O1vKx$y)!WIOgrvu+|;-w9#CkYg*PnPwk(PL!4=?tLLeeZcF9 zRH&WDh7$PoIVhmP7s%;0>shLx2R?H7TpUI~Zmc8$^prZ)tk^pJsctVL^3E%b zvb!59qeHb-%|%N;PN74OrAUSH9yD~VPxp34-w8DmxZyJNcy-$xIuiEb+JHGW*p^z1 zKw0N*sd+d$A!s%P0%IFSM{D)?z2)e?Mo9Z%Q}efYAC8_)c1uri>{X+qr$YJt(72E4 z8xKi3vaqu!sYO0d!yn;BxKUPtxlvC;gsMvDu6WCMte#dlK%RL-M^_2`5itcZszz%) z>SAE=<~a;B6hts#u*-swXNp41DhfIAHWGvaB=D+b9=Zt$?GEvSd;#xh%PYWnlG0Ue zw&{W2Yz}yvDPQT7y$yV{HaShvT23$WA6lQ{ht~QLcfxe<2{n=>pmqs$DV__EuhzH{ zW7!DyJ4(hqsZr##gn@6p1?nl6KCN}Kx;(VL1-@SF_WsxhwSo3)aeF1}15K9Hn={~R zXO>kWo1Efr`TDWwAStLJKWALbZ>;1`(gs%xqqEf$zVOtWrv%Zf$G&zh4%rkAr6#%f z{M$bW4%`_#QrHyG>iI3BARqTf=>fT-r*utpd6LD*xs3RzgS_pJu0#HrC}Z-2FoH86 z!`S*F?LpD6u=0_M#A}TLWgCTuAm3|d|4fa!wT`PRjUvwVsWDIc)c!7;DtAUz3J4@M zz`Tu->BG8xxR)?zETvlXra88_Mo^*lepnku}`2lufp#a6{R?l+^%=86ACVv zuTzPdsC*#`a4*NLv$309@1L%U$P%+GfCX7<F6W}Hh$(S< zs+zpbw;DT_fSt|=7`Gr)4mRScg`OW z^1c(&#$)zeTOix~T|M?S;h^6YNR5RX&>mSQe=AAC<6akiOj$=IUvCc!f@7yHuGe~a z;OE$kWdW?;VPf;opg<-w4tp<-j+A;EH!3X-bDd7JoZ_Thomw`PojsNLwqC|CSuH>? zH82qH*MnQqkJ8PiyOH*4R9~tavBzCbPuG2i4-+KhhOlyeBl|au5Oht1A=6DOK+cI$@0wBoL%5$-QhFM~!HZur~ZX@%F8k53x0q%d8 zb%?>tzFx8f-N@7>$w}*}OeL{KzGZqiBaZp>m%>uncxbub=IIDt0T}K?HQieqw`J_{ z$X}GBI4CB6q0_pdH=sZzE6P&6KzI?DKV7)Kz4$!1qPSKJFk3{!?_IapMW)LE8GU7Z z%#o8t^^o|m6BI%*6~yCme^aonS>G-hT}Jio($?MWZolWzP!(Y zr^ENN-FXbSvqynX9eCoY|2>@RuBAm4_zb+0rzkwI?P?qI{jp;MwAKe0FzgR!-!*Qy z!adqbv{pm{I(I7nW2W~nb+(NgLQ9lOk)t$(UUNX6e_(f*VixX5|9Z2!EEy+BZ*2Ez zvBRfD#`t@>ebEc}*Aszoal0gT*d3XXS%UEj9Co%ct8E9G2A`q>qU>VPJ@yj}qFa%S z=F~sx(cg4o4+iEv>{<(v9`W7M$C1?V0Q% za{`+zGDbHi%n=5I*$z+id(GxVgw5v;X3%4Y_+yvi8&q$b8ER^i$WBZ9(p6|U&G=$BNtOe6_01FRf@F>1+EM=ex-Nr%@g{& z|6bwjT#}eeYn`IdnIA@e5{a{8LI4YG^LHiTOO1+OIU+46eai$lf?gG#69vOi1e;>8 z#!0PoP)+HD(JIjwzRIh%EK881n5ebZ=efmuwen9j@e@b*;KG{HOCvk=bgD8L9YlPd zWY4i(HH65cXaCJmR$R`6tbAB+E+`lDzK2vM6J~Q3M)$)#f7cP&8;UK~9noE)(5gZD z_@UkFghnD%YV)Gqx>>+%H%H1j4kBk@4ki!IL?1LC*O;jz8caMW)?#YtbQ$0OMkFNG zn*%g#h-bz0K9aJ6Wy|Vybl}ihHz?p$r&a#~W`XZ4e1_%2Z?oI#EczRtkOxR{s^!32 z)eLRN&p{!wPxAY?VMNUtyn&2HnsnB7CgDIrhm_RDTKJ7mQA{H{=hvI#0UYb7)E)Q_ zDKIk<1oZ-mDjw>qsU8|V7j=Ri>_cwn6>4#|k++hCky>rl!1*W(Q&m&yjqH&F)g2^L zU)zHa&%|f^lg86}b5MQ!dR@wVX)B$4;Iz;GdQ++p7S@ywMW3-P;XWu|-EX=E7_L8v-nMl*@CwG8oH|wC zJyZcw;1ePuo&#EkYp!@y8ZR?+HJijb2z@X8UGrU54Mfs=UyQoIF9%|9U*kc^J7F51Oz9(O@i; zyzZH;sN#KfQ&EPW6BWk|_l^2_W5&=2}IXjU9?Im*lXI*3~ZwWtMuwE04>8CeG|Q%ZoZ)N0?^_6*E#xAkIDyFdqqvTXr}D%7nG4da$7q1 z@PM^I%xku@(wS-p5Ke_X3P|t8Xl%1>%C%oCw#LrmsWtG^w7JXrXB{icXemN9ZFaWr zPP$J$D!s@%PdBAwH2=j%;CR6ff$?&hY|C7aSjR(}`lQBXPNP%2v3q zcM_dyEBlxp@f`1|A1$;7Jbqg^#D_o^gFVci zb*uC%Y#+PmdR|sX$(ENfYGvUqfiDtn6Rn~Kma`tgMY&!gq@g6I4CbF@6v-}|t}&i5 zpm%y7e4*Wm?LD7AdLimAkBm_pI;k+>P-7a27zuSGr}{r^`j?pqmPBN z*8k83&-o0Cgce0VL`d4Q!`He$S|ISoZYS|TQUtY+|DC*$l$(6^C3!({4kr3~or<1F zTnQ=3p4$@(lfU?OK63NgN+jV0b71FH1$pJyO4X9fdnPoJ4~taHtRGbotbQjbr)%+s zxSoKZ__)1pw9vwPX4{wiMAbXMA@6ZJ)rJ!&Vc2=s1N6v_TvQ@y+Dh7s2(ny{=3wWN zmoU7b7>pD`E~PG>-*A;hE)#cL=0joAoPCq!w;AnhtUDE-TX$hgM{S_e*7wp&G5XGZ z6`^glP4BV4UtehT7kWfbxFYU)4#fz_-!&uAQhYpRXPN5#Ug>k}`V)9$P^vR+XTY~h z9AB3R#frMEGhy^exL38AbW;ANZa`r2|dFZ!`L3CWQR0I8tFH-2vYjTCsvsTy0Emz`^4RG*g4bqxz6Fmh-UQyhGJ3xG>Zh z6wl+yc;zi3UCuh2*$aAL-`c(l9Q@{jn)qxGX?Bf@j+XN|vtJZ{4gHq$u-=ZW`exb` zitDnnaP*gpfCA&ZU>Bt()VB*Eu8DF(PGijFIxk4IA!>7Ab(9Ok)Ii0!>x&fhJM+2H>PN(;i!9c@g=EgkIKw6UY&f!jy4jh;F+^&R@56nF1KO z&R8D_5TjBz4^{d$8C1s?$5XOmf)~W#h$b%xcEGx)7S{&2DnUPK)1f+Z>OaJVn_@F- zE>ykkqR^t#xerO*dXptq$gqUUovoG* zg^@Mvi1DMufv1T9DA++v+x=|PwPx#5*`th)3UKI4rQymobL|1p6ejb@)2(aiU!fIB zA?ro-9Wp7n?MKi~q_CLKtPDsDFnU1bI6tW*ork5Mv5(OPjhB1r365ptNn)mJCfU7+ zsgYyVMF~}>wI7HDy&p$+NM-_`fT&WeBDz4hJmhtiMF$3{l-PD9UCINX&ZxycVciAe zBZ`(qNy|v;#e#Qu*)j>ia~I8 z4d!IyytHl(CnX zrfj7{Tl6Q4g8QXUP1WLq1Jzq`kcL!UH^djcZC3)v^MsAwnmJK3`{M@ zYzD#zMJ@aJnxXasE5uFekMu6dV0#FycYuGgWY8!Mobm?1Kt^&v^vn+Do_K& zY>>iHq%v8Es%-+qA?Z#&l)FC?m|-|Kw#2WX!e<`YOIsFGyQEFxl@UR)Mb9N&sixyh z;i8Cl7fGl0Pl^Zbz(U~aBD;>%Zf?C=@q%gyJyyX#dzVgY^YbY2WB%#IPqnO!#OPde zL3%9H8B3xL0wd>}V7}JoR&A=K$*hL11-jG%d;(Xcz;4c~iBFaU8MTI9llUnO*thkX zK>Yi1AJg-^8s){(ve*OA4@Rb`HxlLckdQl!;&q)jF`a&Y<4=M>eAR~93TP8)Qno|u zXF~mep{&)mEDWDK$hhC&k^fm2Q^C{D=F+?Ut7#{-=0rA;^$x44ib9$(fi_z~wyloa znTY6&kkr5IW$_jgLjc(WU_2dpqRprz6^OAPQ~)mH&44(Ju!4Mt!WzT z4@CL}DctNN5Nb^|y{Pk^(S;gq*Ibb!6rsAj_cSpGe=6d(!BcC4_Q?P@Zb_a&w()>qC0 zye9nD1mp7t*bx9sXR)N1a%{nrd(0_{2Qy;?;g;U2PnX zUx`x~yPs<^!x4yJB?&%|UPbyoV4W%efG*<%0B`tNe+s=)Ms_{9v^ne`{3L|tL!G?A zvXu9UT1a~|Ptb61 ztS00SHkmF*V+7T`x0jVf29Vk4PDk`3abNwO=>a;t7xlc&B3F9v8Nbq(bMk8U`jR5hH5f~BEUFT=2``=p>VE&ych8s?+Tw; zKV2Q3-Ys&FPSwKe0AvC7@fzzyT;Y|9;*ix&5QSs{E)+8J_L@4igaA4%oLYk&8I;uT=C)$en6%+1h^9`$Dylsu=1LN(Wv0GLuk_O{>-1M9O4{`4vA60er|Ia{x0i!2K zz@Vt1jx|)&#DXRUb%xB42}}Sb3RR@kV8n`wIs>U71ZPG$9S5-LqrJCJZ}i@NYXPZ+ za1BapQ6DXe6{HGhj9j!D5P|&OpM7SMVEg?3`o4ZYUYeOXXPgL0{n?}Y*K zz-a>8ILfjlheW?*RxL;48I$uI;jcYb1d}kLA`{b!Nda3~v8zs7bCzF~u0+Dh+WSJU z(e9wS4QOM**Nocf+>Z}`4gtDxQi(!u;tgh1?4$PU>t^OA8q!rTUaY~f98EtI$`q71 zU*OKO;0f4Hupk&ob{*%oA>xTRGD5ch>2B;qZq32o*ghE?nB%Vn`UyV0XC2!G` zYI|s4jKQ#3Io#AKK*+|&Vp}VnKV}X3&NWN~Z#8G2^L?)7R)cp>H%x>VCPGlRR(junM;*3r^aZ_+n5#To-zWKG9ci_q zRiDOx#PXMjP8x9&Mp)M298;-Om~(^aj4&<7RT?6RGR;{T!TLFqb6@LByP424ba6$Q z8VMrB*=nMB^Y%$Y9TR&n`-?zZsRlwjB`QSuWWvoreKI(=ZWiy+YQFA_XN2Irp&mor ztIic%V~u9(>dWiK<=Sp?&eQcd{)O6cJZ*NI*=|AGalG6#JMP{`@;mODV(qwv`5h-H z=eOJ^K*@QL*n9wMX9cqSo_m&yxh()60ZOsy8+WX8w_Ne{=*nJdvhRCOD@BAJyDdUW z%fXFnZu4l&s4rs=9JnQ{urH@O!@onk^6B>amhPa#^jpOerA1 zd@%=tFEWbk!`w9bQj^>&($?x(bJj^@&;}!eM(9#S0e3NpO$xh zu}d-W#9j}kBh5I6C9NP_w6yhA#hHdeGngY$(RBj|o#mm;x$#jC@jCh{OO!*$R z$bA5_gYfj1orVXEy46ZvOd}~^U6t#c9Xqoe`_MAfrMsDL2d)SDwuUF>u zfl~MT9JHcFuh`#JGvS%)LPxrHBGnEVCbR|U1J2j7d-!>ZzOAf24LaXh1fQZ{dXOZ1 z#TZ`0d-!S~ zot?n9Zh6yMXbE&nCX~EgU`e~n^rboKun*x7z$wFT)o^?fJ!$12l zMARB3#!g`hVf654==Ro@Au^P{!hR)l9kS%L=we2^<$M>X9+&Tr-6GT!T4v_-!I$@~ zMbRU#1ifz&Ti|D$buug%g96IQQjAeYWmtf#h*tee$sNGzxDGVuPSjZicLPQ3 zn`Otj8T&$R;-~tPn*`Y+;!cI0G^w4er2N>79c#C9w%cLsF7&fe5z5TzKcg@v$RyQt z1?Y|)drU?Ai-6xljRFH6G)l9E3IYy)ECY_<#Nf9&nie>n*AXSy7q@D z?*(mgUiq~=;Q2<;H}X=uRrNB(zQjfxLC~opsDaooJGnxVubm5!}u8} z+2yx9IJqu8(r*|pJ@R*pciM*(t6G>n-nq19s9ZaKBJ;#BGwd&#$SP)stq$$wMJ$Sj zMJ~0g`6~Ds>VuDU?fC51d(sEOSIzXC`(>#mx0A^U>Ad@^oPU>;7DkJWZRT#miwj$T zUNn7?6nbz&SJ!23!3RSwpGj_@EySsSxQ<}eU7kgp68D#4dFT}*ZO9bl=a=Ib^tiux zj}9w$`*+2o%BX_Jj&{sP)aou3y`4l#JStJuSz7)RL1a>Eew_rzrgL$j9dIAxWH$(_7rUxBXzzHRj!oX!byT*eN~IvX3kL34zUW^|1cgmR33SB?MvlC}1E?=wirB^e;2QE9 zaN@vkE7yxTcAXAbC}XHu;i?cbqc<%O&wj*tZnmib%K0&P?8CbB0n*OTxygQDCU^ZF zPOie>xQl=J=M%Z-7rM`vF}~;MO4=i%CmhE>6ByUYAmiG0C#ELmu7$Lv&#v4KgtUAxiFwJeK z%#eO3JKI-k{gn^W#M1{G>M3=ut;TGqrZgRLi|B;~0{!qhdedrM^9jJr)dHtf$lK}L;q8FF!y=k zYb<p3IzZRXx#Q&5!GGF3t_Cb;j5VxLWS}~XkhPB#f$?$I@9kP0>WXc z>z9mSq8aT!duOD-6Mx!RlAU?Rs)|_B8pF;kN@t};0iE`5ySqU8TAwplBvX(>vd>NE zC8UJ{c!SeRvqNZ)zeApWlHRLFE->O6@O_MUVxLDI3P|gSNt#ej!hnaSnP*?UxN>OQpgQ zFSVa(;F_MiEs}7=ZF|X^ffRF~{Tsjo5^roq^_)XuV>VCG@gRs;$r4_z!&taQ-e!g5 z3vBz9-Ikyc4pY**;#h4OD_$D!l+$qE@)w~H6d9&NYhb-D6V1h$ErmQ@D>oEz<>pc@ zl(-jeDdj?Axi#>%a=zRdum;{0;LH7!t%32$d|5El8u;K$POVbMe>0RGZeQtOH#*~R zG1yw;n-6tO*A(IxQ>G4E-Z`0%SHlcMv6HrNrLOZCa6fAz`m}i@9ggtWz%?OZM>&*4w>iKKQlEpd=Gf!$fItw39r^LKja&uj@r z*~$}Zqw__!rr1(Y+7IK1Kbu@Sdk@j}Ob^H@{p~2R)os$5qI9~^r?Bi$)v?9DaPwC8 zlLR(DHp}dtL(bb()UR_bm=9CENc;9wXEQ@TqyREPrOsWZkg8{2h;fEH@T7edzpP>c zh|9|rVBY>@p1))>Kc$2Lg)Sb4dUKS`EFr$5J*|F?XTKQz%;-PG4GFmQm!e+m>O)Q~ zBg=lp>^}oWea+n(sax0aJNF(llC;mnx|{Ld7)GPmB`Q_C?8+kPYn=~|7yx1xj9(Q@ zoa~H`62Tc-r{rFy=DdV%*KyQo`bfKFXP$=jsAmLXdGfi**2{Q;yjzGzv77B=2F0tL zZ~g)}{HW_Z$sZ+nSH0#A#yI+&AF=h^ZZR4@=iRAdbherur${3+?V~_Ej8|yL-brZE zq8J1aC}VA+kYP+Aadh=5$5ZYYolQFs=AE+>BWN-`dx`WZ@phJ9>5L;3~9+q(4; zXf~!Ve@0=gGeNgk^3b)hHzmF5omK6Ne?Y$mA9rUamy0!?{`-?|!rOU}L%CJwa%=n zYNoz;qA5FW{OgKe;p{?;f6b6W??${JBKA#S<1h#v3L5*Sl1STFLokd}bI-ozC}xbL zUGjr8_aB0U4fh+C#CdZiCR4iVhJm&GX{bRKqrEr>R`6q^qFeI*PBS>!uaPaVp&`Zm z-!5noN&mrEC4n5C4Ass-DmN-wpS_oJF_%I&lKFoxQ}M>PC59$UKP(TjT)x7dN_J=x zsN$Swevpd?`2S{JjCqd%-`@Nz03YWtWCfzyRc@om8K%*r!_cq`jfhEp8F$#5oX+p( zq@3>kkUOvQI@HTrl(7H4j&M0j+7`VrMTyZq3mziO!~P%9A1kC7VS@wP2>x(BWu1+Q z_8pz)gs;9W?6}up2aF1wx8ab|6IhT6@pYzz)eRL|m|!^bwPGz{bnt~+}uE}FMKQ*(n=!)I2p6`5K#?NqjCF$U;y z)1s&p0udEAatDeef#ay`CJ`h~cCb_dphAFIO><{uCKT-aAA5s4L0Z(=Da|tR3GqE0 zd=V{{A8IGx5&0yq5h}neOy;4sK#_VP)0MfG9u%>Q*bUQyZM7vlAPzBkCyg23Ou{0K zmZG+d%EdFSW&fl>7n_46`hp(xR}_zkI@C-ItgNp0IA2Eq#X&AyqSESQkc4^^&V5Znp_1c5`TdE20A?iNX zckI^C)t#(zmj_RKS001{e=d;`$J4fPTy~v6z0$qQK0G|gyAJa#asph29?y0bD(CIn9+%|K`ZL~cBE2j z8NcYfyi3Dh(2%&jUNlAC!Mjze336?t@MO!*u8dUOJ=aR6g?jdf)~eMT`G!ZY7_}G0 zH@Zye-O4F4UaGnf2*7g~y9cV9eR=WSDam-jbZY^O8sHxxlz=pS`Qe0L5GO8K*ormVkH#$6C? z)RJQ=9T|IP$+7SAX(i1O-ncU_!oJ~rxgN+sN`=ONr*L*RNcykBGi!)%N(Msl}d#^gzSCOw+1ACcaLPz+G()jPn!pQD#BI?A=6fTG=w{!~_qtxjOI zIC3NJ52jyH7NqPPcS5K(L*n?1^yCd!L@x&HGDeeAt5K1ArA9f2DV=xbg!$1&d94^b zfZ$wg-X0T=&kWj}Uyjfo;CTZhcV^ORv*x>U2t4^obqZFak#N3Wq&|hpTb;-GZiop3a{6vl-%x1r;Ir|HV6z7Q%$e-9D>ME(Y2uQ1uSM|kHs|aQ^f9e@My^=Nm#3v8NF75%fb%I(CCcPf0mGyv{=E*?^GzvJmve6Om<$-bf?FJZE;c&+$ zdmKju0}eBC{F(oNrtC+~U!FKMK9~aoweE>2MyKJ!_B}SFScdeO3XL6W7@OW?56FzZ zb{<%tCdAKq{a^A8<=hr;Yri3>*%T?gIk*P84W4bdCHs?Y@=(_Klo{R9WXAR1<}p%b zx3~4Q=QU7ZX+ABq8dOufrzmkU9vjZZJGhuQIWIOiaWclwI)1{rkKrRq%3++_`E}?X z4XT>RtgyK~I`x)rn}F%dd0+bRJ)%lT=g+VE8Tf_fROjH&wh*{uWd1|lsmil&V{D*4 z3Z&2M(!TWAH7H=>yp7`ff9deX|JdOQI&}5@UCB(1{?*Ow0=vpVX(f9xLXzmrl?SHb zrO)9)6iW5jH+dXohPCP$zs_88uCOS)~+7Ix!v_GW`A9%m3BbXf^2 zg)5{{M|C&bwAOgYd>;G?t}|cXr44i=M;~+b%3f6xToXe5qaBpbVnk6&^^ zwvCvzxoApUV{w%YEsgq5bI!X) ztd48%x)sjCRYy^&r66iImxVZz{in$`BNsu400f=TFmWJ_HB@RixRUN|$o*%fsPQ#*sL28`)Rru0p!|B_~o`i~q(rA)tATz4G*DLI0wn}VJ3si z@_SH)W#4npfxbVMZi-1}nJs7&fNGd^wjHKACK;c`TAuM0){@(uS?qc=YGJsrdM9wD zdPd)@RUfa!TDFq!)~eb8ysv7jmBb3v>FisZ>mO(L?DN82b#Lr_I7=`%9{!7lDeb!b zo-+>px)~4ck=~|}mKA?3_4J)TGvco0KvY*67LrW$YqF;H`R#!7`96>&bn8B%m$_fa z^^(1jM-2pxtzMd0%rib|Javh&FggWcIyE~!aiSXhMvPy&1oTzunv8{d;BwXQDa2l z_Gp~NJi+e;KB}j`-X;*-FIDENyun)KPzKD-Is=h>kO}~q0T(G;I_-ll62C^^gKl+U z^$lFe*3iOiPHi5r2WSv7;O-mei_hf%Z5(GKvViGdi;~<`eMtSbBb;n!Wwj_32h2g5 zCD59I4bJw%fOw(jn#4A`I!l`*dnc`&dowwEfnhGF@4|^@$k4yhAkpd{v95@y*tPkh zXmEV-h*$65a?K-FQbKbmy`UhJzO4YyopAp>!6U66_I7Mic=&NL)|>BxNLN}_1CGev zki%DFzYx>etuV7vWB=236^-I85Ieb#1uM5$N#%P3;b&OMF#B!H4CTAMp~!d%8ZP~O zHU}PJi@)Vc4^JEZ|60fwdLHdqiY5l>)2vAsVmV(r2H4=(iTpc7*56;A zeyEU_CQhDjE%)-y%*0OXm)mS}u`a#tF!vNe;d9<8lTSR~Kr@bTD`}K6cAI;5AB$=3 zVyL!~K@khNf+%);zuRII2|4pS&Z#Yv46xt1mQU;f?yyp67I6iFu=411@&A#kb}RKW zAwg^QCwxHuL@^$Vq2^e?U^-)DR*mD^c4CEhZ(Q&x-&!e zIj^&i!6IuJH6PjC#QSMovl)Ihtx$YdOZHQJclk%rLg&9ef1OHFHLB-gA*OGJJS8C`^Fn_ zu(^lwq>(h|ae4~Qh&82^wWV?VPEO#EQkF|tf$cFsreqv$#$wIEQ4Xbv%nye7HhwF0 zNPDq9zRGBy()bw_;NaWN6R5JlC~Uu7Ib!98M=)}C2@!NWuAJY)e)ZXWxGsNcgrUUy z5u+?IX%9}JS!hfQsoDU(Q0gH)03Sc-TQu{4FYN)<{l-rWu|;VH{~Lfvdpk-h8mK~j z`buLIRVGdHLl)HAA9rjniVti5g61tH6R9$dI5iYgeF67kML+jI;Nt%zZX1d9KzzSs zBC-qC#w89f%oI$o z>Vf3If%uv)+ zx)+mLb}a+W(Rb=ORdgCIMV2(_ozo4yd`=3<3r3=U5a%W{Up*|TJXH0C#oMzd!FKTi zh{M{O)9KIbh^&GqoHY+iHg?a09{8~2{i6crI1C&FJcAJKbRzbneuofAcGiU33ZBA1_&$HiGzDdxoRiPWy$O9*G;j)y!Sb67HIh%qh5!;P>PvEt1!!l~P?tjr2@L+O#5c@&7(fqGKZ&rfEIdDsW_qx9G*z zs&RuU5Zr&q(s6^0t^yr#smPbL{8h%Pz)+jKJ%F@cCDP(KAx1j3X5gig>qm1i}T%=s$P1Fn}fRbo{xIOHv^Gp%i*kHFPm~ZMJLCq`B3NJmu^huCH1W@x!}i_g&fQ(<#0JXzR7E zcpts^t_XIRN~)g{>iB2cQgSl8iqi~Ls1Kd66gj_uR54;|=8-wzfSo%>bA01-W@|&b z#^gxXY0~p7*(^%XLmKC`0W)|z!oXecn=Cpv$SR})i@HGam9N8H;T(tWg6ab1C-S6w z7C%k_rpkX?Mj7zl<6T-~Bf$s@U};=GXafQ-NS4@hvMGm2I+#+cd4vtvzKx~~jJ1Oy znB5?T;Gi?q&_*lyJ08r+;m)jUu2CJ0Ji7J^zVi6_4XMkF^NDK6 zp}&q8n2umUulPkcYsn1(Cz2tcONfCJT!I&tm6S-v0(Fcn=oNd>#Nw8mRY9{KS?evqTx*n-Rp3S3QnduKsL#9Uyh%y+9B$JYrrCX zAM|C2TW}1X)PPc-y9E37n?etjt^*(nb*?oxzUqP;Y!sU78bH`w*K_DMbdv9+VjN z0RB_sO;fEZjUgH&+av5N)z%*}&*cV$7n)@m%Q+{M_G&b5@DeJrS<7GIi!@r5Xvw6T zVQqSrxnkR{;i~>Q56e}Bhm)^@9K&O^ki zsi~onoXPQF!It`=UP3*5Oi#c~Usu#})r=UdRFJ5GJimK$Q5JnO+;?^CdI3WNkf&a* z+lzbQc1q~-R}dOE#v-akNg^5SGy9z)y^$vv=<*Bn4t|sf<`4qHeX=VI5}D0$zt4H- zKEvS9I{sq&_q1s$1u9dh$0+HjrUFa|W3vX5WO`sN=b3o5iYO;fD?K(rZujuX+r<<7 zj<5N13(@_?+sN#F8&35EvMz1#N1P8IW9N|*BO*gdAl0gzsMCT=Z@i5NFZp&P;Uy{2(Kbh8#~mi?L|s^63mS2tmC<%nXv9q0bT z@b3195?6Jq*V*sYyY+2&KixC0Iob6FAa_Ac55x)?mC9wMlq^={AKD5w3u7k0Ym0bx zgok_MrP*hYXS?`8_L(+WN9gq7=!u@>7Tb>9wm&OsB@9zkl-iri-43#_^Y@)$S zC!OaR6OWzG*QCDAixrQF@uP_!ocLeT2cF)BGA!I?sI?PH=848s-tiwMRPl1Q3=o8I zq%ebr{?QLPU?~U))!)3y?dNy`B52Wt>HQ!jr-eEDxayLmPau}&*3G#WZ|}PG7Pp*7 z7oKWA=(4966*u~FljiF7vS7NvFW70?gxuh(nxiiqjKQj5{zdb!-*$1b2eoeG1t{>b zl+K!iuA1SMdQ!B?|F_e5cPr@3nFsxY6kYwziLl#0yu!FX{Q5H@kXtx0|2|U>g18sF z?^_s(2eQ(~7ayu;jE?$9_o6 zYfAfOLIfg-liqnldf4M$Iw&6vt`c8CNV3b5MMi8y^fi1bsW{Rzqp+TA*Vzo^KrBvR z=44OoHifEsVl!Bc9{nkA0kWvKYUiR5``g!)7&Gl;JWK3U$li-!Wj0iA7!Ky=bh2L{ z7u$2eMPd8%!M1VIJaoDtV2WRK6D`EkZYWalmf(z2;-g5WN&U3pC{PHB?1)98>||z~ zIvnc*hy$Li{IATp;9LD2I0)n-NYCCekHud|2S-v+VSTXN9$R2I2_6f9W4St+ zIeP$Miq}6!P?c-u!xWIdr%c7&QQUrxv_^88eVV-Dq1tKT^qfaVMjHP?;2Curru$2S z7z3?&h}*b9DTFpqqICKt!Stk&RgsZ#I$1qwT2ob|+)65Fi-FbKxBG(jJ!Asi40GG% zAR!;hE`MgaQamIsRw1#xpkR?x357FyDV=DwZeQJ#Tz(E$y69UyVf4h=$R9QJ8cV}e zYCjjes&=@Q*vW{&#d?B?mezjGXvehvX6Rkdn^W_T3n)xJx8TTDPm!j#WS_+QSj@;r z$~LTVJl3;K{7vR=rC#BM2!?+n0N+YVT+7_cz^9FjW+wJB$3uHjwDC16qj>A8KCqH! z(;{3oeRWwpOK9ul@}_WA!~7fLZ)T<0%k6*O=?1;kL7+$-B&fi$aB^YajR7EjOY>Y? zN&=Acod=(hmYC~;SIL-Q?CddPt<)2&Qbj9=@cCmg?`ZU|0#fSS(h~=V`UKMRiky?1 za*!77!ooMTh%iukznuRmTC$Okg1*7Z0wPGsGU>|X#F}2(y?(S9ql~j%KDt+^Fpia) zr56JIB;~J#XW3RR+utOE=1=*}dfHb;WKP0Oj!ApA)|MiL*0PKeB1w8I`d*jDLfrVgwSE)< z5Q&o~V^`IuuPbQ^R^JzjElzbbkH@Txu3}%Gy59G(1LqA5ES+Ckm%cX;Nf*8tu_qO^ zmv!Td{i56QUP#V7mSa9)v)wJxwv%g^bq?9J{nk&==aZ%ntZpp>k$3B0c*ck${;q$Zg^gh$E~drIM<)b~}oJ}f*G z0FanahG*2pKjY=P*{qwF1{19)QpkT(m%cJ&x9Y|Nx-l}bXH&=6#sY#8Lb{JBGi>gj z$K6_X#Og`72ZCmq=lm@UTH2o?Jw43c(8MT4@qg5rD-Lw%A7wMjo9%GNOtU z{v8s7%IZ#&oHzVfoqbl&B#_v_+Dea@c)lQLzYw%1m6@3S)Ka5r7+Z?lfaqFbq_GlP zU#dSZTEU_E>a4$h(b$WS8A;vKmMCXKB44R zZ?Cofurr8Lj;bpXEjT+f_hW533K?=fy^@NhtJx{U*1!UuWag1^nNi-5_i)(zFO9C) zyvrGThfJU{mOKcLe9ZYA@I*7K4YINq1ysVb{KIH@`;e7Iaf^!5xD8jaQV)$sCe+#t z!?L6li0TsLmKo#AxI-BKM@|gcuS{;XH}u6?4Szw+l@lH?W+`|Mf^&r6-UeGYfE0ZlW7QbZ9Lv+0DPZ)Z{qiD|>{O4u+bNF@RA1nKimE31QuQwnt zYi$!R0JMVgusyXbag@V$Fq07begb`I6KaSnP#k{1cjl?&Q}9nDYKU4Xa_Ew(R=Ixv z$=xN-dp%xF1{81+#$ZCS!;G;-8;tBhTqm2{bJStKS^JQ!3BA93|Hd6t& zXb9grMvXWOc#1ULMPoAsL)8cr3Rx3(8WvCt_uwWmQ;W_B*}J=M@Ae)Zv5`Id>3}sj z9%1Z^?hIS&cLl3n30afK&E(=)_GjJW!%m~RQY4QU>uVunGG3QVG5cM^LBMBXR|9J3 zX2 zXzE7raxZEqLn}h0l{te22fP8x=qZI&2pbbrG{e(td}h?}ro=TPtYy;1o3%ECK=LQF zU!BY@{^n^BCA4`e6EquIBxr-R`ii=?f>!$Xkjx`A{G|6ob+IsLFNQrmq=m4j z4#`A)_{zUAf|TqX*81n2i;*hLb}{?JOi|wq$$P-O1elO86mn?vYw7QpV~z83Shqil zqJcR>brPN;vIQ9CkuBO&!?-2L`>1}!9>9a=A#JAT$w07B28un5NfeHK6Ls*r?9{8z z4t9k6gJ910(N@qIS%+aOz_&@|IyO*|?GU(MSafz5s27k_6=Y7yZ=Z&>Bg2qD5{y)4 zBHp?T`R(X<(nvO3QN$j#(V(w(onALAo8}=GZxY*jWe)%v!+f$?;FIKO=NyNGWWNh5 zk>hWgkOZxV@8mgabw_Z`r2s!O@g!E4ZN415$|Yw}*k_1waR`xx621|YmGa$8L=ljC z-}59`fDRinpS_~%Iv2BL{K}t)Y;l;s9!*a(H$6e`CbMm`A-FK;k<<8fglW4q+phKH z_Y{67oZ&jnE3-3EwdUV@rda`|$0BsCz~E=uRsha`CB)|H*jO5`?s2%tc}vD0C7)s`-Oa6ie2C>U?9N8&oGfvj4^KoGb4Xo7bZE2dCQG@;>Q5-t2DIqM$~<UWfd(z*@~Lll~TNN;SKbPyK5j6|H91T8ZEF=LTCAvtf{=4v+d< zxN9Z9Z!RmmlI1nE^7<28Vj99O`Y^97B=;w*VI=L^W||VunK^MGfDBi#En<^O_*;DQ zQ^u`hD~8USO>-ippT~#jJZlx{`ZEQ8<#mL?Z&TOPjQRy<*>oVvdnrl{|2YvzXwjR) zndyG?k+aBSd!XKa(-efFRRmp(yH7FP)>XYvJ|gvKZ>h6>bcoU?_w7eo_2NNexqN)@6eF@E?u~loY2(RU`1c@wMO8H;<4?jum2)Z;881W> z9wLj=G=tgF_L91eVNqmbcI3!Q&Oh*Z)mTf7j6M}vN}`Q4xMiRUlyNm+$*C<)Yf3CA z_gHo_mkeDan``8iJ$3!tBDu+>E}#PeRap~D3}o?q83EtevJV=4oG-e|B9uk|j%=j( zM?u>=0*x%e3cjgQM@#dqdV~5)$;kfMvJY&*>EL z#?EDW5pUJe#n=AvM!R6xpRXE3*RB+dr>AlnY5 z0Wq+tG0rO*b`=`5D+GA2C=5bzB{NHk`$qk@UtK~=KQFCCakjZ0dumTB7V~`D&nQW3b{_r1UVlt8?wpJnXadz zY3#&DoI(PR$&H zh#<`G`2L>bWe=y`U@Hgvsfqy?Pj88WV@kOf# z#4eyLm%mrndg=atSOw;bVsj%gpaWC|2`WJvr+5rQA9&&Ip6oC>gTyJ_DI>(` z2M(3Pc;e$2>u62>1a7dU`CQ^m-EErM4F*`Nl7=HOdC|M&*UuuUK`N+xq>oMqku;P@Id2($ z6t$DHv(Hmc9q(j%?=S&2dD8gMaCt75^>YW;;Vv9L^bat{ZWB`qhyIq+em$uNo-@yS z;uBZM`WUYI$XfOQjCj5EBYYY^z7Geo!@`wvJ>?S7^mH#$`&-U)_v9?cib4_xCmtqp zvtw(KmHaCZ(_%-`F5RuunbV52d2-&mJx&8OKQ(XA^6`svz7`-~MR*xSkWlVCRxo~}Dq`DX7 zIMsb(qgx59@P+m>^dnL=_NbM-K)0%1h#$y~=ZS8_E6gKaunY0XF$!Wa@=|a1O`+Jf z><$SF$>HF_8o<$+ZRNL9HPZyMy7Z{ao|sc^u4MAqnWbiyWZE>%xzSq1e{W<$EhGk<{_Q?IP$KS6FF@IKV-dv; zF{z&(Y5amc$6uOhxWv<5$g-5`KFY@fkc=OjzO~lPlIRMo-yYtuufY3Sq_M+UcpB@? zqP5W6P_r+<0pe367q*Ex7cv=)#Ujq8#F#JQ{Xh);G;3hri2Z^!a9k0*SxF{#1>GEx zX+!Gph!;M1GFi-8OQT*@B8wl6G`6X(YN?C>1be7AFKjCeubkUb3k)xX@7Eg!h4XzL~NcPZQlrp2_(ouC=K`;cZf#nlwL?)k8Gxs%Ty3 z)r50-6L1X= zrl={o`dZkLsCSPZNBVD36Fmfq&z8;JO5RI1T%c0X!Ni^dn)%xY<@va~0;b6Xnox)< z~ zhP(%*KwNtPx)f_YS?AFxI=|u{1jcx{aK-yY^HTH4GOmWB=j;6j7Agw|?s$jT_z zUz8$HXRX^o+NtZT)fG)*o}@;m*JHdPWFsFsQ|MR=JS=3tMBk=Th5XBdnHw?xAJy3) zRxj#3rkar+p$6p~t>m}$hN_bI!I0e+xV(8t^Se!x?skCJwqz31gU(&8bsaCd%Zh{%$1=|F=4FW>eJ%i{Faxqs?TLwN#>oo!!y?lFM%z0~~N8 zvz0>pgfiA=^^L8a1NRA|30r2R?uM+%<8CsJ!2CrgI@4Nqy;gvqXx`XR#2jb6G|N37Lf2Qa z_~%Wb>IVPi*76&;6F;q~I_e*9Wg_YgHasdeJnB7~ozgvyNcxP34TPureR2?Ac*ar0 z{{crMxM1@;vHvJ(8@w+?M!dEm+xuUUpJ*wvb9r3cOSA{Lv;X8!1|wz{SItCc#) zTQMsaTgw$Akln;Z)}QzQU}zs1(ROFstZyDU8EHJ~tZ0@o6yC^Mz0luet$xOAc>_T2 z){e2kfPFM}T2s{nSo0=6P=Q-6Zie_*O__b< z;{0X2z;u_1_1)dRHBUaWmoX+OQjw|I^gq{DQRUZ*@NGFMlyY708qNwJ9iE9Ae$tsy zYZ6<;Y>7CTy%&=vU0T=7vhN@Pz%8T;T-uu0Fb(gk_sQBOasE|Nn5Eb4$R)N@HV+B& z!IeSkDs2ai#|4@$Z1FZ-jYct!sR^>&Dd(5>N>C&y=xblqR7q5lQEqR&|`9?ix4K@wFe94^EEd>arACsSkx&OE&9F z?4jnQE^IB5&Rh=Eu9M74Drc4v>M{9naJ-ML;}~aG(*L+SZZuj)a2NK0LheEOYzsFg z2a$u=s^llc8-??*BzQB#>*gx#Ir2)wJ*Ku-wh!NO_-t61KWX2xS|$3-{u&km5bNkv z$leRnl$bSt5*c3q)KdsiR`<<8WY_{L1g%^e9Fo0F3bv)=YA9GrO#8%X5ZC3u7E*(R zGZ{(^Y&JZ;yxPqy>1DQ=Q!pJYLkP7}i@9~7e0;CgA2cWY7BHUma4Z86#nI$}qVqvK zuKwkL(hZNs_w|x_MZsynBlxANzN&?tBkxB5^Z0hV zS=XX3F^w5o)_K~3-7^W9nPg{jRrC}O8aX0S{xz5R>J@>{8T`D&JaPuC8q{*^;@D6; z4~~72%9)8C*^XKaAk$OuhsYW?uKmt$KpafqXv?P{SLLrhZLV5LJ)j;8IP$h|;)BLq z5}P*W@>l~>mf3B?a{gDvM)wuNlHvMau@mF((6wGDueQ0{^fo*+@c1$5ITU-cNnJ7UM6>}3YMyZKSU;DliCk>bG(0EmKVxoRXbY4SE3lS3d(Qp)UP{ntW}z1*qP7$tf!Si-N{xP~ z0+y5`I}#x*QoiYUwZdV2g1P>;@S8Y+B_1rz*)b^_$)!-~$9bX>SUSf)6~P3mndk4O zM8fGwAu;PiWh7zI|K?0IkilL9l{a^B6A;V3x*XdElE^?$kRC_!ZWek$Bjh&Z$Nm6& zsq3!96@;IKc_{E>@QV3|)Jc*GbhM#=oJp_B0v=6ICM*fUqbhUZ^x0_o@o~47{fusP z=2z;_h2G9mZICx%bKpA&P&ei8>g`v}ib!JQlm|QdpwL z%kLJJ7e6W5JlNF+z3zja$E@TXG*MB>$wYNnsR=;V6;k7##oxqHRBSypJ+VFp+?psL zB-Z6=?2KjK<52-3T(OHOmQq8Vrv-|#0C(WXG_RDbUjhnDvLvBR~=_m!Ctw3p9NYPOjZ$O6NQO(f@bpICO@EoYdsd|)G^f*;>`w|RY=%2w%SAtr&PIlF=wvdl< zo|D!xIhYxa-*undi)g_S1s`nuC*i02`J9cf8rlaM^jwnklxf|o0!}TfW*SWdjSv@cfqJkIK|M%k34SSW~k_Jeh-okXP-^ zRNA)-JEjFQcNgLP5=zfs$nci^lzABA$1JjU+Q-cXt*p0SG=ArG_CM_H+QsDxicqHU zP$v9-u%ov4p&(96+FJG&)gWECsKyi)e~+&pJRaT+ zi&uHKxZ9E^7jI>-?)jp{hg7s{m#UVs(Rj-JUHFBB`LTq|+QIAxchZ~1vqLY;M%v4d z#C|A~LTbes;004N-CAEaz6lL^My$M(yeUC=BI0U z45jbGc=_Rm_bd(t`NsrH@uHFn&h0MSm-gM~RTtf%bai@Kk$Zlmb`dhTCHoxgp>prc zMMeLt0*B41Lj1?SBEQrdOC#t)??&v|OXTIcs-sro0DLvx zFZ~rsS8i|Dk%%?>UCPwzWcFo$qp=e44uRb7Jadb2LonGYT&mC(E~Np495iXN!$|7k z%C_)GwhA=2ROseQv=&4XUn^mn;WOR(KVa_H`T_ththtz$*7{G^>5~gXoZp?~Z!JH*RP$qH{o^bIH83adV}lql{0fu+K`?KqNqmiq>}O zk-aZDw_LSHD)F()euSp6BN*sqrS76tZluFBCKJi(9G%e39|xyO)25uw`5aG6-j`od zeYy!ANBT1IJJ_%b7@vHnC=*xG3P!!LwpbviY|x&*k>0hX)(BUdtWRMn^1Qz8;j8%V z!+h$WG_fxGL_J6l@01Mb;Gwj^1^)V~L-TG$`1Gd(A=Ye+&{4!nOj3z{w5lturhaV8 z{lHLixZXZUI3>{}_>ToU#trTj8%V0kvPgP`Qe4)hruyPzpf7>?s*mUImQMuIqh{14 zJ>qO&rG^*K{gTZB$SFr%fbq{RjWh=EL9^~D^y@F2pkSb{(*-t6ArY@*jd;TU1IA^I zaKleE*oZaaQP)EOfas?Fb%g{~ZLt#bc%fz#V6F^K$~`u%%+6etzL2ENJgeSY~%V;X)C+G49I^<~aMO`r!~}0d=+fTezP0*0=D{YNf4=~ZA><$p!e~L?Ha)N~*6LTZHOrfFflsI#3L+VdLEj(0 zwlgu|H&eXs9?Cjr$dUHQ(I>?_t*6Jq= z(&_w}CQva;*Uh9ZvzXKIRZZ4eRks#{P7@Tel_B9s0wbyvmQvVifGu3b$|~kRl+)Iu zztRd%2DY)8INinkr~ucaTSe-TOoRx5QHvBHXND-ZV1%AcMb0f};GMZ1uY8;zTAfM! z!t8xi&}Vn8-)61f5$S)>>9_niWWe1zAq?Noil$7C4a%=)U1D=l`@@DWjilYtQOMZn z__I?Da|6O1Rveg7dZRM{A9WHpL(MBq${5w%rd*ADwW4-8Sz^mPrOZ5N&p$J`wH7%- zL2*Kp)HeXD^e(Ny06uX(KO-48LJn`tbMo>X!&M97EQ+ceYuRKSrK@X-q-!lj5kWYI zQV*c{<{h=g+(MCMoCIrFg?`SD$?63^u|_Ucr93O%{69~@99DXjkz)<*XOFm(sU4{a zo;snaJtma>B8%#*9M?@xCGomxEr_5YzK*J=sLCDrXDQG$e(u)Zj}c^SG`DsQnL)4= z)C71tM?_7zq*2vpS5oh!E_&qK@z!pbCcX>lslJL`!F3D*;CPy$L@xTO5lvEa+9lwhUfd~aEAq;$u+39@UBS^&?6xkF^$Pr`DqAzh5i4>JL z&I}Y9o7Plaa8tY@h;&BuPW%@bN4Yy$sWm>3SVk$chzWYSo-wh}KaT(m^dIUG)RgCg zs2GEc9?6BWImcIbcHVqTs#O6|XdZ$y&^>JGneVPgep11;B!X8q2~2t%MNogy?-9}T zS4vureIque<=Ep^@|S?2Ql zRZ~mj_%CCNsnsjt~^*BcKkJ3A_e3=`4h^Wi1(XR<3t0zWDe|QL?px^{^ z@Yl9_z)T96C3B^mJ$E3{o6rEL7CY!#OsfR@vC^b{S5f@yp`Zs z?2@X8FMb#wnHu~=0)_E+yT-P)_v20Wl*>(mpFBRwyL)XZZ&w|FGNmypa4P?cINAok z>VWu5sVKKD+PD$9WMrKLb}vg)69|(>s?LTTs=+liKn358;3b>a4#TkoipAKJ1ls~d z0&AT;&Gls3$!pS;kxaxu;RSxd?hJP27FqEU8%l|SPX3-7f8hd_7jT9gJEvKuqX^hCU9y2q!Xdy_b>;$k+Kno!Cyp>B>4tcI%pgA_`E1NwDIz zZy3cB#o1$$)0lA~F0MgTAB85Z2%&)rw(rdD;gzTNW`AS&P(lTo{Qcv1SPH7 ziM5?e>4^;t@;(ajeiuxj)VgGWHTNmkS{TO!YU_D-nmV00Fb=hnl6_h}30uiacs9Zk zil`LiyqLbEYh6SoSC;`?KoPla0S`Je>9_rP7k?=eRvNpHw-g02t3o0MW&cq_J~W&^ z%8VVnh~BJKa~l);dIwrg_KNSbRySh_iCrQB+f;pC>`HU)whwjtlS3zH9~wt&rOO9z zsQTODEXNLXs<3XuiYYAGTlrS@P z`r41VD-ivW>{9{}UPvWFOL&Djx{-YYI`JMK-YQgg`pM-_17(Eqo(kadlZtYL&~L)^oL_W(@SA9+LS&_|L`9eh2UkIjeSeR%>0@(_e?6Yx$ zK!Z|5q4@?so<`y$?A=ZLKqevndzRm)snBz`Pm%;PO|Vo~`7G0?gF=$?W)|WN`8R%w z1(OUc)&x0NQMn$4=vL>to7oHsH+E{rXx=S)&b3Fl$(a9z!+VK{4niLSuq$XX{lc8X z&!c|1!-F46G}WMT@4UTIy`+N+6VGZxFfYQ)y4+p3KY13HS&|06Pg7e>Zu+8IsCpdD zplFL`E}V77c^>%?ex19dfoea^*nz@ai-C7rykiE$53fanWuNbp^4T#50*Q3V^KmFL z;tl8TTu>rA9=M9+NA0A+4EcRciRMyI{0>8fjz|E;baP4dT6Ann_5y`#&FkGxoG0l4 zSIp_27|Osy&W(R1hdZA$-jl`Moi{7(0>VmdRBuZ*3sybEcxk&TwH{n16+LqkDxy}v z@~zDDWAqc9W(&7Hly!(LBjveU`!V40Zi#efs#hK@GgtDFQh8^|LjRaYcqaaatw|$8 zYHWL-0HYcYM7-@rp1y`DwNzj0rthJ?lGj>(IRgO@WxTesuJOf)cRK{AJ81zcRVIPh zm&;y|e(VRlB$|nB+=ljZoNpzHvp;i1X~uL=tt84!Q&tkzgZvhdIeKT$2q;Hu>Ktx` z(-R9x&QpY0$+DJT3O1AG&{$uSh01gRDn|VyoxjV6lEh{*Mvs&;@$zXrY`RJQQ`Gth z?o>1VaSL@o3vYr`PHyMAQQGrHW|oykVtLTmhFzdd*52J9nUW)s#)1m$lkE zSbu+CY~Jtu>Tx!KtkSCfkQx2dFmst*UBj5NP39$dh(t0Ayv~m6k4tq>Y4VhGYz|mS zsUyin#DmYDmVa=79=wDHKMYz$eYw@y*W6melswM+Xj8M4A9cqrF%Y^LuvYz*DDH9^ zpvdWGji@c+|5BoJfgT^6$vLER@ zd66XO(o>+n>>*y7mDCaldN2w^Hm(zmY5;`+0t9>Z>X^1IGE}~ ziK7-len%?~aBf^=C?!fSJT*rDeSmp@oQ-8HFMHJKO`pN4LyO-sq9{$?cKdX$%5{gL zz*^Ra<12)mks1Af+k+WT8_L%#TMd22y@%Im5IEks`FpK(#qeeumh5fi>XKtE{3Rc# zdJ!&*Yp>cGe0R zuM(v!7ga>;#|iNNc7-ZfYnZ(eryg-uO6v}V(g55c=H)GTmqbk|{7Yk{4OgCVHK?LY zP<+Ufz7?fwCd0xN@h|{0=P2(8BaXmIcEpO(6Go+{pcGXZ%|evoZaFM5VT)MnmIVz^ zgF7KdZ8d)Ff$W$0o_~KHJDwRR1lsQmBfPWyC(a*7=T71&#_YyhF07hga$g;ZhdH&r1 z>A>@FFFpLQpVFwQSnChyp?#gppSOh#Y}q4hk^aFrU&#(DVHen>lY&;dxCPR^-2(4|AMuAAUCxwcQcvW3^<(EwAaaZZ^&6N z@qRDsuLP)AsbzFu(aHdxY(;HkE&mR`!j%t&EhvR`qN@957swF`7gA*WnIf_r7qMv6Q`8jaMzF6mxj!B zopqVJeE2XwNnXuS{`RxU2WjsUq!L>S9OciARFCw>E@r@Fq9%33aP*#kiS5Eull9?j zRa*y^zq32PlBx(?9P<}4b~9P)uh}1h@A>_gd(?$lrx|hYY|u1lp-YdPf_9rjQ7g1hu|nJ zk%!fA8{0dr)Y(2m7u9PI&W-m0f*3|K7fGTNa795wCt{p668TS*JCELsumJMCuMNeBbjMoNZ)-mf*7PaP=>U<3 z=BmjC{Bt63JZb{-zOOexN>7_?t!nNs)kT@ImqBx4)qNm5)qSZMX)KYtQjpjP24SiR zZrJAw_J1*mtsfrlMIMVKHhA5qqt(4PyzT4%fxQ(i3Bgk%Hij}I`vcd7AtZ|Cp!e1K z#sf5MsPq0Kki-qQ6gD(Hy_)3Oi-&ux?N(}jAC1sm1CwMAUvXw@c$FF!k<+4*!HeA= zDIhikg%K+DiGh*XL35IK@(HYqBbn#?KQJ@>j_H7B6>G*`QWjcFtf-u*xd>(`>-C_tPPg~qP2Qggp5+g59fZ47 zfUh8spFA)B9Y1B*k&l1Xj(KAMMe&FoN;Mos+zXX|dgNo>HbY2<22m7ZTg%q~acTzr z*&9MIMWEAu=Q8mexyiIN`)F{BnI0y;^f{siS`>x- z`Qpu2nl>)@ns1Zir&a7t!H@saG%*6V2hWfwg?B*;G7_ytY=$TAu(*$Q0Mkp|nPCDDd z8lNY7)Xb$t--R>ZYt1UtyMYf=`jRKV6m6)%vKR6o`hV>hA)KKCq#faymgv*+fRu zCTAcuY2ESUUI~HuqP6ON=HqVNuw@eY3jZiePbq+;?^w%=_31v zf;Nx9Ph;3z93K)#z4NAo(l-&&7#jXd^e)rT3(4n0F$gYzn7pqaiTjfq!4e&xlB-T{&f~-%D4&%58Mkul zL$Re3=W1INnf-0H&06TO$Egzb+yRR?r9%m4`29jk)Kg&4SlK1J>OBh;#L_x%Cl z*Yi6r+nd?w{j@ki3)6>=p1ICem3F$p0~eZlhPMHXxikc3KEcc|2sypUzwLMSde3d1 zZ8duiN1W`#Y?~F`?NM}S??!B5MO;F3%5zP;*SU0rn2d$P@}j}tWfA;(#v^E!Gqm5n-v570*jDHE(N%JYm&U{McG`6R0gIKHU!<4h`IX z>V-(2(!&LalX0XXamXnqI3MH1Kg{Sx>}0hHqFyJGXeI-OiEc!?i}2j@$9c|3&$kje z{+TE0(hYquw!UmQqX+Z`)3TD5f*RD-trwPmOkUol5%+B%PM#4Q<644XHJ7v8H#w!~A?xH0C({k&v~?fvwN~SnBkOXh zyrNR0=v!Hk%F3d z12na2I_<5Lo_&#gnb|ZvQ`h+e@u+P~?CCuQZ^We#c&1A%N9?=6`wH}~SvPbr&;_SI z95Hah>4}4Qj{j2Umk(;6&Qf)RkJ?ABAm)QPe1%pf3;iMH7S$tG^spRi+q}*f-sO0% z`gGB4hE$N)w$BIWdXyFfW@ty^*vZ&1uATq!xh69l{zT|ojA6R>SW%jgeN@FBo;GJP zZ~EI|GoBEFO|f%6W6=b%^Vl3NJ+H^aflOVJ{UVdoeo;(kX7no@7%q~0`yEbn(xK#2)V-n;CV$Y;8ii?aSCEq)TC$ z@1@XQ8CKtlju9Ji&fP3OfDL2#1jYSrHRXzj(P)mDq3atTNh zu*$`Huf@CP5K+|1Rmu1L*=Ht~w$JbP{pZU|Gv~6;zO230+H0@9F865#kGGze7e(9F zikfF?=!rm_Ey;)Q#-64*iG76%!!)h({B+4q@8&FDA{9h@>ZClLxkQ<2F;62%+nwxJ z32h<+v+a#;mH1#rdgctn`v-KuM$3ggrj8Ye=~qJ|*Z_zR zr>88)+!-i_o|o?2ftJ3&T(|EmvQO2m-R>3vkaE1Bf1t20*M7J}w4cG}9G#@NJCYwN za9y!0VWnC6ZqKpe4#*Y_E$=$6^Fm|r9pdDfl)`3Eiau`A3YWU;4M42aJq$-%v#Rqm zMPIcZ4=QwF@((mAifq&@oSB3kay!<>k_+ygrqKCSg0Mp@74)rL>vxnyN4Tv zUni|=owjM*W*$Zv~WzEB*O{``Bn-K0qQf zM1v0chW?^}!3)+ycq$WtWnX%AnV>73goFgGtN9%Aj`GoFfq;=O1ETcZPx0Cq)UH># zbV}dh26m}pQ9E5r-wYfI1lW6>D0|nTUEz$)*-EIiv1MJoa#$wXtJu0;u+`8`F%hPM z^6!Ze4ym^AQ|ku1blf^?L`FE4-ADGfjEgCIE~waNf7sV0ED12h;s|rS$(1S6ES@-w zB`fx0wG#a~;QiC`+17mOPpSUy``u;7DDYNgcVB&By!hUcjfTCnvy_2Nb2nomAzpDZ z=f7vOkKKUUCu+O*iy1mk({&8^cl6w?RZqg&<+VEEojzCm=!n_NJ140Yz;tnlC)ly| zrfW~~nCUy^yw7{OpX*(Zq+>4|Kt2E@Jw+-3GgT6t3-zHcARVZ99R$kkK=nC`gvCIq z?D7qnM+`x6(t!5ypuO}%QI#<*)9hkC^kI?v6x$TTZ1B@Lg(HauXI(wtg`iaff9vsL z!XXx5T0(FEW$)y8jQBO8y_QY#3SQWjUq5DFealw&PouDaxe@l{p2Jnn9sv8$tX0@& zOHI6Rw6LZl9F5R{|1?}Q3?gXO^M4z)-}~Iq-9zjVp>II2_!Lazj9v*(ax3|30MpR& zS$+F^c@4q6=^@%Zi>j{OV0Z}PQ1OXAfg*AgU1~i(Vm9-28kTBTIy<|qKKX|;hv-y} z1+%5QD1CwTc=c@3?7q`52;2-iqh~vummy{KQYzLm*a>J3IL`A!=I8bYYiGR1q|Ya( zDE;p4Vm~QRCOY%c(E0tfGs^{j{Qp^v+$+8!Z)?Py+%S^WKv?JSWd{i)maWr5qr zryM`VxpmwgpZNcC)N9{Z!rAHmm=iYx!b|)}t}>l7=K$aPr%^R0e+bUC_IfDA%mQE+g8D0(0Pjm*x7O zZTquNeKq$YN~z+G+7LqT$&f%6ua>sjrEi@Yi2h>jf9(LEpP};yo;3rQCXYL8Wpq3sGGq!GjfO6=g5S90CjX14U#IbTZ8#1-c<2JQTn~t=1MdE$L zBpL-9t9Aky*zV$U@y)eh>s;+I0O{X{4>vC4?eC$as37q;?DXJ$v zTl*Rqj(qH1)p1B>?Ew2UAJBqX%*sOTPOwW4!ki3?LwcCjQCwd{oT;?CgO1K}|Grzr zYAf-pB-nXpsF|Vx$7tOl`=_kZvS(VdRhdZ6h+PSc!p?G;+o7x2VR zr{jEtTzkvaqXTPYWWr8qemnB(*Lm$OJQ|rMGo=(jRAAad?q;qk-I4ocF1wy}z)$dM zv!c;cluf0p%2Xev%8<>&?LEb0wW(ZZOs()1jyTUmhVFx5jiQvmBCW=05oc_<_Y4ov z@L64{bv&yf$(|~LUT~>+?FnHVUiL~2G@VnryEfE2T@eB0it;M=(usl!B_r^iDv9e= z(v+g|RvGskUXxqY+8ibvd9#)JiCUUo;@{7*Qfb}OWV#W4|2`j%a@L!}*DALGjw*!v znTlX!fc5DK6de_&p=KEaUr`6X%?i`w8B$4{hF3$R{8BR4i<4D0WX2K&4VRfEC)ZQ1 z7>C_ateGFuLu`YzBtwu9S!UJ~TxE`xRC*9XVuqbpBI&W^_|m2Usd1u|!tW*7_mn#M zI^M+op^JwmyrI^^o38u#t1{N$%%^ECN5x55LmAAJgX=D~W?2#J9aKau zTbYv|&8pscO$)4-qQPhmcLKmZx(K&@_dETU3^^~)*%%!vIJpme0Iz3OT4^rq?4ofibtyfi zLa#;DR%#_zYIzNP4Y->>%uQ`l>Mkl= zS-?2iOt>B#Y=7qtTm9 zM%O~Zmow{VZ#wPq!t!5~@uGqkv^l-Pyg<6ab_0*78c$XgKE!U|O2acJZ#jH38gZ1U z5C4+J3HX3^0EPfy6)MCzNnFM5s~ zW(Y0!X=ePhW^F)|v34{{OKnZ;mb*=rPD)i~&JQ|%6V9lukg5!=bN!M3M=mq`JN`Sb zf^6Hl_c{K^7U%`-MK~>&6Lb1p_lWPC#;oKv)A>cLP8-~bj&$jZ3Za^EcQ-e_VuifD z6p9P&Wq+j-?h$@b{0TbT4qfw&?@AE&ixj&bp@D<{BlplIud9eNY`5%|e{Z4tU)V(A ztZSBF85-f*6&drH)%M?9gSu4;8riaq1as0rlwxgynIa1~i&7>mn}{0u?gdQzucx6~ z!alYY4T)60YyIH2!i$#A?cffiJ*)2A#z5?42|uNHi$vOr%H1KwB>uKm6qUoK)|k$@ z$&glH9Zm-6oY5`dZoAOd45F~O;|)!B3$LV#Jo=a{=ysZx2)>nFuu+od6YICL-g(JA zUX2WzRbC@8tuA;djIUdxvqe43TnQ)h`3dx1-*RXS;I@Ms7&gY>Uo->}S*|ajJ#4hp#7>%{zCB4`<!2QQpRLiL!aZS{Z1>dqK9CON1T&E}gO^=*oUf{?2IX0+@rTU9?$8B{AHtWNU zeCRI6eM8!HqBW@dg|>rzW!8?~>0F9dzGsPh3ISL9UM{EVn^i$lE%$xX%Wv(@jeOSA z{cx7Qrh3G*1D3tdZt2N7bA|e!_n9z5=o3Utb7$H86mxSBJimZ1%48MQ0J?HyNSkOP z4(9cknz7MG3bt2HRs-f#1>u~LX1!rL+4Ad+1j)sf`4e?|{8IXh7uL;6G2=>Nq^R4R1qg0652l`q2rs~oC+vj zAu)aOjAXIoETkmXbv99|$H-Y!eEUBrc#dD^(YZRk@6xBN{KU4EY>K(^6E9Nvqp8?b z+Wp9Y^Jm5L^8JMddf+Ba=mqIhr+^R_YO{KkP z>T80Gs)Kor9~f^X)|%!{CHXHG)@{Euw;as<#$1ex-Jz4Zg2L$S!hJeT%z{-X@s4w| z{jVQ`(sgcSdPap?I7;#h+do-TTYeHkv+mr0!I1g1dPW7owg754fsU_icEYX<8D_OS zeqe%?T#L{UKX6kN?$R z+Lb2g*5TMg!+6>*L9Y1r5J(LRfka%^>s#~ueGePc{ zP1@jGfrA3_sf_eD-ai2_L<`8<^K^xk`Z<;EdAiU_PFI5p>WV~lJrCudVRP0txe~9M zHJL3mVK;OrHqa(lkzZ4mWJW$8RX`U&N zLp?ae`G```-^(-E!2VJ%`KPE5jDug_ibwC-%p3YXg(}m&)naP<;<4(!GJ($yA68eH z=u&*AI&cIO7UBh0YF0fwq9k{ulO~JY9ma7xyM%au6APz zJ~yB3y;3$@!v&~EHfi8cx+hdwW+i`#L4di%W!3~jL>ul;@o5|qh7GNl_h?ZTU}fav zo9}ymm%%NnLZ!qTBn7mC1~&z_2>dNGgHXPN1lR>}YgD*>a{BNEBbcKRC{kfW?W1+1 z{y8|mY?w>m=1d4$8D;op$5+viZh@(+iw+~_F&pJA%$&Md6(9i-WkXWp%#A(icRNac z4U%oi^nbQtmW+ky{)p5ZvM(G?jQ)j0_g{u7aP$m=1IFGCoTC)#ixuMs+s=N9=EC{= z_HJx|g2_#>m((8dV%ODW<`U3!ZKQm%(6!LEA{@y0uND){5Fw(@*U#`R7?;P0_l<`H$2>e-#j&5|e@*TaO zQnheoAo?=B!I!8kQvGu5*8sHFZ%n5SsavUNPi;+p>=huvY;2FtBa9F`yz8-F!a|z3 zV)%SC4C6S4_^1Z{4e31Efm?5)nTFwXZ%gdV_^??a&=)MIlo>>%dcu;28k|q-eEWoEI}C@P1z$+lp=m@0bSA@XB^FH% z?WrTF#hU9WvPyqgtJlAPsnb_{IEoiwdCliHGC?2v=q?<$ zR#XWG{X`ZxLldt?^l4m0_M*6~S4=sWjz(GLy^8&Sd9T>t-VY5EjMJKCP#r)_^jXSU zAE>d%sVMg6^k8v>-%?#>2FHHHf#OiK#Lyw}A8bV(Nb^#$5D1X4UV-fy^x-h4p6Kh0 zTthxgcvm328y+COIy7^d!BxM%q8y7-MTZTfoY>EOOkNjzofBGrBnE*R2D5wiSz<6Y zVox|9L!9q`idnieG6d&&fLBt%BE~I&;4j=u7ra1o!ctf87gmJ^=S_DMp~+-vlK(p# zKv^uuGt;WyPJ}ARC`Cg^5hx$cGqcI}`z`Kjid3(Ued>Lk61nHF1NXiC{!y6ns|l5` z(+ZL1o;x#=Rie1Cw3CV`MBWH3t-**Gl;P{d`6g_TJjF*&hrYPc=G+ze^BI z1vvR#yuzG)Yp$l=Rr&))j(r}CB=lt{AbgAiqyHa#1j(<*C0B$=#n}NTrn5}Wq_e#T z%yk?bV5I&hh327rfBc~X2e8ZuIrc&LIPJVh=5@Vo6^?!)n#@~NaK zGQtn`0N`4ozqa1O+d94-YiIr>^BK}|PY5^oMSVU4>#sgwB`;F7iH^CE>dDKov%nlJ zGyVlWz#QO3w)G}bT{=3Vf^eNu)M#ZI%_kTySZxhzm*_P1AoSbVOQ+8^z;oK&$3H?K zAX`f66WL2>;yjltU;gUdSst%uG9$0wl9jLjG#vJFy8%bYhX)K-StZ#KJprEq8dYx5 zMs`Ik`A0%ThL$pC1?#b!{Bv#*1=-^(jlRN4nTNgQj-?^*`)29#>#yi!4(SBC__+uz zS59tJ{xhx2DEF2<2+KE176wi%n}b+nW))DD&|yc{ojYq}AT}PcZl;-EiFHYV4Y>~S zaeLH8yd1(;MI7MaS1(B`T-9(^Ai5(A!@E*$f z)bjTp%u_`zX2a$0*9B)<33zv!)grEI@g|_Sm_A6Q+z$gSjf8`86 zA%Gc=P(W;DjDM&O!ty(7%O$v6;jWg zb;Doby$>JqfmP`JQsaC4f(S5waKkYHrBrHrNGNTs-R6;IiW+FgPCqIE(IbEh4**1! zcMEg{f_i^u+W0vEL4uz%DG&yZX3Oba%tQCcy{mlCn7*tkqaGSt_e_@f#t)Mcg~c*n zg@WcwV1<+<@Vsv@(>fYcUdvmc4$l8gEOEoHQt%{XRA^4Q6mRHlQbaVjcOs=LPyR{` z@{!G6bTEM+aiqbBC82hAT@i$Ek znJWgD={zC*HRv*OZpnz)Ska$PmP40k>5%~DD~g8jCx1|bvw1Sxn&9NBnxWA*w7IIU z{xr6>cP}3@ow>pwW{7$xm-?^77rZ(iX8}Vz^?w_Kde1BgW`3l2p%udy*bHas1BwBd z_ZcYeuTCR2|I6x>`WDmXEoUbCpI`Kzmr1`rBa%MDoR`U2TBlIj=T(Fg?}Q}xlqpt2 zmEqaXF(##haz1st|G5h5AuLx>K4li=af*PRG+LGTB7gD3r4wdfd;QhEVTk)*FQUw8 z*_AtBlYxdYX=0CtKjdetdb-P{PboNiaI=on*SJ^lLDtTB9v`N5#kMFkVB)>CwH^6m z1GOCyxUGWOvzK4U$--;yN7!X+>8-GFYJ#bsFZjs|yT}28W&~v@if0h)AZyr$I@4dj zq(Th1AHI-lGIrOKh<}0Zt-1ZRk%co8*KIl`8&Kh5S42a6Y}*;!Ctola3^3ig6o*Dj zwBs zINeHq1L=Ze@Pbu{P5~JjtwY~qlq}sL2H~$42)f8+%b+(YPf|0vs38c>W&DN>4#P59 zUJtkBv53?KoNW!HC(q#C*z)3qnUYb?XN{ThC7iP-#m8$-z{{WC%tgV5mID`L#!jd? zG4^xTtr%9A!*3lwIuL2&1hIBc{y0>8Iva!#q7#DI2eONZSZk1IB2HKPzQKt%g5gX_ zdvGg35fbfS%BI8{Rzu59$`l=jzY1>FxE8kWADnnISeGf<6bWuhylDm7oi4anYO+xaGBPuk_E(w@O#QLq%#^%vM_!;2$?0BZ zCSNyTSh!jy(1 zn42grFp6aNM2a{YmcA`2#`0wlIa(QjY+w-bg*(tQ`ZGOS`nB)eFzaf9K5+w06~VN| z-_A8&9}ged95_+ea0`Uqf|EOR>H?2$OrM0uos|?=8d|zdP`xDAtO^9S$-Vt0_hJV3 z?#_;kKx;eT5x%n@{<-eg=q9{@pkb2>q3;`=_3^ispf#!_a}~XmOYHdY-WMY$z!V}w zchhvy1)1nXA3CYsfL6jz$a_XIr=h=wmV@1Yhwsd0T=QpJ$)C~(Lno;S z15Yzzg!O=X0SMDO;vj{4DfCHRi<%zgcT#-egdXtxH(X~fg7CNZ(Wg9{ooy<4GoOp@ zzNa>!%J{+~51ka-;a$Z&Y;TC2nKq>6^ymTlMTe#NnXDiE}iQ#y9bcD0TT2Yy~ z5KY{=AbQ%Em)KuSZjhDN-_UZ^^>c2RXIIw_iH0&a9gvhc@wZ4uCcKV&8v)RI$5D+4 zoI-*2^h=$F1*Qx+Q!5nG1wO z6dIzvv$&#)9B`su!Pfnug9ky<6C?|i(V&#>R&uhoM&SSAU0KQi9ZL(e+2CT7Zze*N zqRJEHv!Jvq$yxA}`c8FOv0jqzaw~i;Gf0fnj&f75rAbx`W)J3C#14F~rxxlM~dNBCe%r#v(`SQ*lNU!`UU zxP|u64*UnH!i?z*n6Jk4`wzsO)`ge8VVF;5!RQEeBS*N+&ne{~*Qs@c3?#|1K3zHQ zd)HqZz52|Va?GfgQ~Um&=$V`(hciuw;;76|2ft!Rdw0?Y$#EFK#}|$ag4;`Z63I*o zlEUvmPwYLm=gd`uv&Hy+BSJs2>KMcc!N@5pN7N~G@A$nunQ%rG zrK>*Zkwk5%vspnreoobi{ij*UySczqWF;C>t&vxrI+{e+(E{R2jlB3Y{0Pm90rvU( zPm7MTR&1{)kSsce{1GH)b2f#wEdZ&8wGF`l&b+hMkoA;YAG8v*CBEg%a`Bs{*mJPPpz8toTaZukSzDLoiv%O}%IN z90?0!5(6Ujh;MMP=)T;7&A`U)^}3gkaX)*7)yz$x`@!WH6&p->OaO4U2u<9og|e8? z`7Y)ln$OJ0f>UM&dbS#4@}%Mrk-<(nio*?>vWJzAAepW?I0py!RZAcC50NOZ6n*@? zR>dO(!TgbRFYV=z6mNgx7(erd`!L^7+$#dJa&jDWRV>2ccU1Pbl)eVM)o{ky%hm9= ziI*lEaIKwLa(P;+n(M*Rj#Geu>4dkN$&=ij_$xqQf;gTcjSop)2f1ZG z!W7py8se|3ZG4MgDE;VG%3_r?N%~**A^5Z3!W8?j8=U*~TJf0gRGp2^_@_OSok#m} zpK?6JV_M}NbHR-i0$1L5-yobWTT*@9{p;*}joam2K-0bRyLL2h-N~38!4k~KzpS41 zas}`Ysx}I3F$a^5T6kKYSybqu>*;a7;jZeZ4}>)<@H2@8Or$zv=EUyw+yQ*K5Wf8U zRWeW_M99;w{UrvAd5ro^CbhiiB+k`Q>TqZty+M%$j0vFvq1Elf`-A=Fv=!eXaGG@N8C>iUw*!czmm1H>u2 zeGE9_TxY_c9mOTv7Z#7R*j6HNb{2LYZ{{yOjp!_gaUxcjxiRR>1OM{3HKN8%$}^!p zeU3QnNA5|lF*v}mt+TdF42aSD(b)fO9~Ru{e5A(zhf-Q`e!y?_b)~-FxjJ}lYS-eK z>;tp-F*RNEf#P6S+9Wxe`CgV@8^B^ozN1O8MZ3|qsp;__7>DLg_ZC2exUU%8=_Bho z-=nPQc+vVu^{yp)@bkQ8#$SkWm@|(YB~Z?L zpPF{9q&N?@U+LNsAI#&p?|zaQ;$tgymhSHL=|D!{7Ref5U=?SX*ghY>B1@$*;0Q+4 z7XC+=Eze=C3Dnm=RUYUzZk;jX@KgZ?uooR=Vsyxbwm&WssFx;k_=urxobr4y!QDMl zCm18hJZF7GSnbo>Zyd*g#>kszj>fs}^sVzx_{5q~@DO*O*c@aimM0e{uQQ)?H~aE6 z1-q=!PZCjJKgY(#9=VuU%9lq1y%r_=q(JDQ&N%t;EIC3nK&KL5{yJm2AV z$IP(`s|a|thLy!T6)5)d2Pu`@Yv{NP&XY$7{DSOfn}KY40uGOfeWRD$0%o;+z!bU@ zb0vvkr~>ZiCD}2{Cf+1V@ldMu)vtq`xmR+KbDMNwfMfXYx%aGBsar z=J?;@f%f@ZWBHev_%53vx{neCVOZ*>fjG=KSf~xBb>DoE@rWlVzJx5P z#c^CV;M_)c^CWt%m3gBAK$X{Hu-<{)gyE`(qsVltDQ*l@cd$meuMN(U>SlxW%9(|1 zZQ7A`+te{NQ*=5x;KsdUvs~jcS`frXrh5NP7j$1i#4nbv%=p(Si@om#txN6ZYbE(= zaK=`c8eoFNFf2qnOi$d~&!CIyT%+?>33r@a*Obr4@d|%Ldhf4nu?Iw_r4pF{4RG&i zDpZs`(m|_VqG8EwEb0u6_wTz~Z)8YKGYqK7kG0V~=X=^1?TUU`g&Um@+>?0F;9MOr zpfUWvbC6jVO?HcSy8q!mw!^3NoPJjEALY_u0wgeN{p_$AsCJ9RbU5Jtv{(~M8V;zj z?CTO2biL8Ngdnex%z|LzU|zIUeZi82P;%@7_qs0+%94O39&FOaN!%5w4b~Hgj1cDS z%wmsm>(jJf@&(@rKl=ez0s|;i(GP`?U#JSjN#B0teYa43#9I_&ZvL(LfISnmY$(0R z45D)h_IT)Sn7x?{pwRshS(0Q_XW|+Vufj?_py|=8Rt+pS6bv~H4{_^O(mjm3i1sp3 z-Bv@;z%_r=xzhXY*?WnjQqHsGxi^a+^WTipn-h4GTL*KH_3eU7DF#|!3Ib4%|1ma| z0Q>Ddv)D zez_>Z#E~x(gg8N{Q1r-UTg{AJTF9of$0#3RRUtUk_lxb!r2KK4mdC3?R^&PKAw@QZ zV;_&(GwwC^rDwm7{X~uE8)_S!#(3?Pe8jW!Lh&B#K98nSu0no3j{54|B+@`6LMc;} zIQUiTjxKu8(DEWj@&!m!Md}JLoMG4y6~BVQfGkjA(i00%7qM(&a|zr#eeR>kB(3 zeNJ@4ZLwYFXG*a88-6kUV=x*;XZ~LObWF;}cB(OCch=du_iSqR{XW0ORp(?g@^P&$!NQ){MY(Pmj8wyw~)w0VvU?!H-S1K zg)9uN$HIWY7*7GMl$k5an-J4g4%hIf%0v0SK8AfL`zsytIj<1V*?mpRHFMTv%;ecO zm#jI4XflA)o!g|)MEjuW#Jc><4|@(BI<$A&ahsRE73W{nb+)y8#e3Js<5V2kM(m6{ zG_~!{w!k(!@$w*|s>h!)-3~+-Vf3?FRkELI*=-OgGxEP5IVRwIG^Vp5c*sa9pH8yA z5qY%GJ#eAlYNcuQN2b*mkNc#z)fd}8>}~Z$((b9%4z+5n@WG_km0Fb^M5;eok}-@c z3E&L7Jph88Lep@O;^)Lga39&|j=WCG{w^)aRbd>bpe-PK@gTxI2DgT*pSFG=o{@8c z0(_;0u~4J?{e9xZ{uK8zU#&} z*}CjPVTVp`Cvy>>xPHehX?z}_xV2*Vt&j~xq zMuIQUpSIyssWQ}dYArwRH|d;!r*ZWH4@X^k1prHV>H}~ChVFpso!L&oVfrrhV^l!S zTWh4YV(lV|l2N&Q{Eu0XruacyJ}z6>+8V_cevg@g7kI}=pXG-y8;Fv@w+)%l7p6Ss zlh_)YPtbh_4+TH=$JM}S+7?z0inO8a#J2CHj)FF72zoDo4-BWH;AU6_4CCqH6f%2OseEu$q?%*uI&zRv}7kHCJ)SHU}=mEPtXVx z6I=DbN=`I=o;aI31>h*F&)iViJ&bv&Pai8K023T7(^5%DnUVG(@Pc?2@a?J-1G}Z= z3lUl^QeXX1YzymZ(XcO3XKufFm$A=h5`1}-kBY3+yZ%II#TkIfz8ke^<>W|`~r59Q*U$}sr-o{=dEQ}Bn7!CG-Pw+QV~xT8+n(@i?lL85^% zA#IZd5@vMI{~$EGQ;BvGUxdd}0kMx_kE!dxA>b)_Os@Z#iQiP&&;Q2eA~CUHzu@N- zOyt)}ZDy|e%GIdc-&D>iIFa|>L%eo3ypZMZy=>i&hd5xSeoL#`)f1xmdDt0d47<0( z#rD)YRQ9~xlK&?=*wym}^FjE)#FAoy=KIoHdP!B!$d#YZ^nIr#+1=0g&XEe)l*PX( zqntdjApO&FwZc4%%6S1vKKl=`4C53d23DCq>y5XbUPAcH<7JQii4aGkW0@WJb<$8`6c>M(e%_$5} zi-z?utl|0sggZ*zVVbDzY0TVIW;^-i-PZE@;4Z~)D6~*Vfd|#y4b}x?F+W{Ge7oJg zQXw-W;KczYft*J2Doo( zoSr3?G*M_uv$gDa-KLk!(ca{=`t(gRdPc^X0)nG^zf^cfx3sC9 z9Y6x^(&N4kZh9`ya`Jn>@$!Y0l724n)%5%s}jVw?j3GTt$l_FnnJ~uub08=rztQF6$UQozEzjLHF*_4e_ zGLYDeOQ~s{1n0=piOu=h`!me_?Dn0Yr{cvN>6Ph8`%Vh@_r=@`Gw6n!oaS3df0Kc` z_iS6m{9IPG>avt@_^faJib%tOwZm9X$$?ttPWc@j-Y#YG@a=|b`}8&J*Q9U7q0!k) z%+W%VU6d!6B;GHc?mVk?)p<_70xYg9mD=|9-_5ZS@s#XWU0^#Z&B}F&_wy2OcYF{R8d357{%w8H6FdPrOq6A~_9Y1Uoqhi>JPYjepmDDLQAX?%c z#SL459;e{*7g^1Q>|^3Gi%}wcOpr%E!k?XZe_ws)YdlZPYGAd!d^+&k>pGi%Tigl+fG-aDtzw1EZ_f5YofAGGdSH;Qdj%r6iOFMU7GYs>h3R)j+55`@A1Nuz_!cmprhRy5^&yPy#DRqby&PES*l&|` zk3honf$Ly6u_dHY(d54k%j|G_*PT(JKGQ8eBi`&&P=6wCIE|@y<|cZI|`eY5nLy zZm!*m^|$ah6+2Pe+Q#01qKdoxRm0BbJ+EY=0v!l2WVn;`v#;>{#0kUG9X#XZ z<&pntfyTId>lY zSX;~spMczX53@c%Dar2xC6KZb+VcJgkMa4S@y6?+%Fv#TAuII#Zqr-dwgosx351M?@@0i+jK>UPSN=x^}r8D}bss~!SNpspl< z4-;CMI5oN*8P;}&xz~Rn0i0)%beUHGC&}WcdxBnQZo=ushz}(+4RlhUGjNq}*1IOv z)}-4xy28q!pqz>|KXwl9$xfEOfOsiHMWJ<~u$-6(l?DMY8j@4j44WBnz3zh;xB8Um zp_nt{&(3pf?OL1OyD$79J3D)5f3|f4`&BzV^6_mF_fbc5h71B*BSOXeUuKOc?4%J5 z+i9xeZHP;{wLO||JCj1leT(?gyNTg8WPVy60C~gcvKr*ChFPvV1#4|*y@vY{#xKI& zO7H#yW_`>}dU$1=`g7!BD8*0=RMJZ`?h;It^>vjY70X#h9ikjVG-?WFio^wdRk`EtgLg)91SEgg zATTsn*A}Rc8excWl(LVD1LrW7B*2CzmEPM(L53b0GJeDcU@Ugh*z%5X(-Bj-_8CNR zVcMh)zYMe1*)#I{{Tscef1?JZg5&?v=y{AhCohGaomob8Xw`vH?yUE z!F~M~{tOXT3}$Av-6wet3T0x=!Jn+~#|V(mvqXz7-Gg1LdY;gNghjA3xeRiH)%A?L zYd5Q7NjaE*;+miMgy~koE#1SsKI|4vO4x+|h)j3817A(#mEE~s>p2|T`x0YbZphu6 z!zs48>b}GM@}_?|KbOXUtP;PGbvof3(vNFDnZ75^--h(V#Y{z{`aOb(y@zl0*_h*y zVSE9{{udi(kPIv_bIFLR9J~~3DmDbqlV%Pz*bY}JY|u`8d7DMmBW#&$vn4oWcFNYn z9r4z~Xq2~3?HufI)P;1x-XWOUbk-GWB(egqGxNr;g{`vwzc+4|TZ)l%x^{eh=F)dC z3m7$SkJW{TcM*xE%|&tA_%)d8l5|4DGS}Dx0sAapseVYKoIeMB8Ju8hGpa0h6p`S& zCQ4jsLvUU*{e303Sog*+ink7BL6||u_|i6ooA*480coB3+F3`Xk_+mP1 z0h!+Wo&ROeQ_LA)g`J++Uzmg>FfVQ`L8bdMYSV$~YOsNZL)sP8MAD6z=04}%`#u_) zb+NIL2~*4F69=;-pIr6hqh*Luia8WlSM>246D1kNP7xleMEXv>N_6GVcIw6}2FzmE z`$z7W8D9{+ud;gDs2h(nCsar>Ic=<>v-KSj5Z~IFHmdto@G)JB6I^Voop{pVebnlx zEg9t1_l_U90l(@%659TosrYR zwn)0*_b<(q)&wybo0XUO%I=)hq_2&%Jj0ikCHopvh?ViT!;!92V|ZZvxBaeaPw)3nUCrvL$L!DbHqoB#>Z-xuoUw>AMpYH+`Qxx7?-lJN zvykz%)FrQ!79nQK{o z_P%=D3mCVMOy;&(%$(CT#$}ERnbtx^wd@ArO9s6(Fg9B$j6lrcZhkqT_xyfDsyz(Q zvXoM+Fsa|V%j^(SIwwvS%z0sE;J&?2s%6xCM9q&jD$Aa@u~B~ADUBkYJxt#$@&}cY zgq@8_sBIqSwf%$USSe$kkr;4l20a*+G_HkVl)(zz8ksOlN{x2fldfcA)GtBuu65nN$-- zJ)!Y_1WGGH;t^IwI^-w?$=Ot7>i4cN9S8+7HDp` z{JMW%ze*`wi*Qm<5A)t7K^SKt1@*r~dM)ipploB$l-p}$V|G1e~m z=2!2E{oVTsHRQ&VzN~^l=SPo9PpPb)H0s8~)3?R}7R+V5&Uw?5#AiNB->R9bzSS`C zBkjyh;OI-&Avt(785LyVkN}^b{Npg%i6m*n0)*c+H(+ASK=iwnfU%=^igWEo?B{zQA1yo39V< zXdpvep|$KVDhMSxQqALnsDkPt`xwq!jLo2qZXk~kPzq?lB}!8#hEnN*8@7v8;mS2` z``(YMJEMOP+M|jA&s|29ZbE&=5~gvN$X>bFpNfm5v4lhfMBrWs1P0j%zWdY$ z#+`aufzN2M$>z7keYSlS2fv^tnxpr(A(k;bje2euaXIbx*w_`zHoSy zH-u)uIDh;|Q!GH^jWQDwjD3~$r+*as?EcF6sQY>F!wlXd@^6nTGs5LL)4)E%IVns9 z*UJIxYtgS`b)9KCNP2_$Ize@@Rh$2|O`KIF#oh6&_Asq*_<0o=h58OS&QAAn@CGs7o9A#hdf(0f>#2%faMpiG_ZemGKC-{ViycMwyHA z3X{y@z)~Xn>^llziqC_etSRgSHJ)&FW93al>NC^JU}uV9)8L%U!By=21}M`G2b1Od zs3DwKR0-vN#7d*Hm2#^-{Zk{Tvfd!fOl<=3h<=(Z7j-$}0wsuUm1N0ehP3};8|FuD zRXAj1yfbkHJd+5nirhMmT8a9QSsX;oMU1D`nt-ogOox!Atke&A4@bt6yp~+$$m=L! zhWX)CXa5*WCgU~9v}4&&%h`64E~v+yL8IRB)iM!hzq{(U@+R(yz5_!6-2bNUK8bbk zf7N$K(ycRa`@`)?j5L`s+tF4Xag-38M$TOe8pX4&*WL+Y1q2Hd>q->`5^8N$bP@<1 zYS!%)vb_@3@_8|QfR%$N#Uf}RFb6u;v?9-JEE6rx)p&AtrvSRbTf&1Z->Xk7E(^pC zgL6~_2$dyelc-WV{T+OJg}!yIpP8-G6{P01ZkNg%6Z-VDh2%B(tDo24#(Z@1gPhuh zz!}xo{6gwr28nxIsu|b~`~p;CZLzcxP95PY}68DE~QFZPIzhlO(N>VTAxbrStdPhBX7-0i6#!=s zXJ@|0iDG-1UHyrjc{EN zf#(s(nz5ER*UfMa5J#A5dTqv?eZWjs@osKq?G_6m13LIpOqnt#Qc zp351C&}ud{)u*Qu+9p=%$}uJzRVsRE;f*pgB=KJ98L64d8Hs39$ zM5btPaI4+Ev&_ysRvza;uq(JZxE=?(O{Al}mj}2W>GG#s5@Ng+_S{5m9%sm3)Ld^2fFx%F`q#f5ojEtMk?Ka$ogq{^a1V{=!M- z!bu2kYgdSqq!j7^yif}P?@@003>uUUH`i5G{~k?NmmgezhHqVSaA~d(@Xcd(q6iIsVD! z8T7?F7D6-lnIjWn@wi<`3la~&TLqF0r!PbNLD#y+9sV|D9P+IQDxb-bw`c}Z0?&H3u0rQetdL_D7bCI;IRWO6 zbz!^R(ggz?-v9Iu24_pMIiC+?HI6VO4m#dISoxvQh?*ElA;Ux)(&emOXr_slrS%IU zt27a{h!7cZJflzF>vNk@AXFdxNT!+-ps|I|i@{JiRZ>BrS@Pu@ZsN9=c_!mxZ53Rb zESE41cfmsGPCLxr$M`pOq7F&dE?ia0)av}OIAaqNSNz4#5W}j{TAVeNBb*WJlS9y> z(ya?2zG)~lFU{|)T_`Nm{j6|xk9F%-?!-g7`1Pv-00<3x>Kx+Y>7-rm*03QvHO zHTu2Rz^}@0Ona~7MCQV~-833!s6J*r&O;-M{*enfs-}iP%u+1xe>SAYm-pefx&;7z ze0|UT=8w^o?u?9iD-t|__{H+I1SjHm)q_HB4z=Mpz+`C&nuEl$#~m9MUDXEEvDhe| z8q_bMdG~nAFRVx2-?;-kg*mG6Ndn7?-&5JD0Q*%BT}Y36_zEe6LjCnICSQzim2GS_ zi#f(c0PVLiC}d$mMPVhI#C@k%r0Yg;rhBWgKh_~kD~}`Tmdfs%;R}0e#}~(9c1ubU zRT!g5WMPvaD4h5lN$gpkVv~mKHIH>x>ono1Bh^=z&&!WESC{i@ZXzYgE$9adD^Z9 zMRg!Cz?UV?Bc8REF~pzgvc;raQa9HW=-zr5yYjbeC!hY&MG2TZ(|@85}Dn3 zKM>k2!kXZ^Y|bVMgL@3|)39|zod%jsgybD&HlcCq4y5mp=NU!OWQ^Oh^vxwp3Rwa> z6Prf&G_gaKuS-&S^1Mp(jRAC|`YkIllzZTJlKs`kTYOzhWRd+*^G-F#{#?!7{WUl<&_30t$J2kDMC|Fy@ z&bP^@0j2t7ekb&JR0WhJqjYlSk_T}-+}=2dpngZ!2~&=RRi+DGe_E=DL&)u6j3Sas z85Nmu`6%o5IaFZy)et?>;lf_F2Sx6^35cHybtFO=kt2@?WE- zUrh!208P7WRX$~vr>rwg|Q;? zdexO$Ba8%PN|@T;eEy)oSZLN!J+6Q>YRo><>FV{W8E8AvDQJ#GA{S`r9fa&E?qmPzIq5rys5%RZ2q>y&2P+_|(!oO&iOL-~gbd zC5yL|e&J)h)QvuT0fajO_?oH&WRC+%$w^MTr+OKTq*Yj=wSvSjYajhH*W{i~p01HP zck0%dahnRf!Tu-6J4SF3+NB&AxOcS(-F`$|JX_yo<2Lnbc*2e%GABM5$iK13CPXSR zB_f%c5s?XNYO#Y@Ok<7*v-_Ze=hyEF{k()m~1wgZ|OzL7P2^SZjxV5$eMhFr@XDcJRlNUM+vQY zrA9#>Hm>o?cvI@uke)4Pc62HgIw(n@srtkkwL^PXHgk+L3NTJC4!2D{%1R!u);cFQ z^H%z8Vk%}71VsDQ%EruWq*EqGcVl&xi$B^M_6#}URT_@W1cEvRB6BuQl%*@txuZ{r<=&+bDMY~Cc!u~ z;`(k@6Z&STf0BBt^65LY-Kn<6qE}!*M(NraF5_7seY@ESg~yItS3PBhb(@e|-n*sF zlo^;um191|PlYpOmV4R{Sr5|JjPm}QG6uiRIsBDijfP-Xf4cZW+0H6yypKP2^*5IoEZz~2)dkyYOiR=Cm@xdsCt<;yZbwsdM8+&6HRati!{LhZu_{06*k32P)`syak zuCfw}yJBX`%v3iK62N=^)f&ChBAylCH<>=}l~Cm#k?ULZd2z#*^Tp8{`q|Q>Jo60? zSnuuJ!B#FFIC$Qqv%BcGfl&1L|4(#HU8J2vdUBbtZ``gNvWfFZqSm=)A3};0?vP^E z=U?ht7w5*XU@*!rO(xD-y5l_2UVz)z>w7bD5tOKglF|WJ#JA-76neR3?q??hvSZCjn zB~gPFdAoZEd`6q)e)u4V8-ow-fA7uWLiBm>OId(0B46Sf0D^dHC=i=p zpT14nae~$n4O3#AANMqkfq}!`myoB*&*)x`N23|YdGr;TE_Rf67FRj^G_WY=L3%E` zlo@4o$L-3Po(Oi5^1K4Q4wZTTpzFwEmFeq%&R`b7fbzj9$t5Q{Q)h6|RFb@mAPxs>f@N3b;(ziZ8k8Tet=}4bJYX;XYrA3{1ce2q$SIn0;lHDgd zL9K-|$#O~9eMwYV4j-}8N0EBc&LnSDon$P3j68Q+?t_<-l;a9@xORrjtX||&`{yVv zc$>I!zy13G=ha#NL!Y(df|&SVK|}iVS$01GeGZ;uw;OCqFKGfPZOuKu4S*lYik8m+ ztC~QVo+gtIFM6(Gfwa{grG}?2MWf@2$maA)%7{S-zL3p=eq@t{Q+iNC`cWN{v)(qP zo7nd3!2sMXKRuh5@BtIq#{_bM8f7|}{F_R{fRXwMt)U3Snd=N&#-t@u9?6||8uAxk zW(&d!D(74J_artJqJs%k!sAH#QE_2{XvB{71ubFrjLi9k&=Db;q?g~%a3fB8Wayjp zvDr$-1%~Rq2+~~8g$T;6nd~q8PykPOpG*1PeWc+#I-^0A65-GxGXGq;<_n19wi}su zhx;=uU5r#7eKE0*phCM0uhyuD1I%98tI5*08LA2SpMzWN96Pw%uHJ`(U-jPD4ghXz ze61z^rvJ!%`UZ@g+EFHH%fAked?$T_Gd{$a-m$-GU;?nK5BE&RYR2Cy5O%-V+1NJi zC=;I6Zy%NC-Rr~0{Y||#@lH&k>&pvG!M^=!T@vx>9mt!+eJ}gqDqQ;&mO5$Q&$?zY z28XLI!kV;QML?~lCm687;NwqJl#MKANyAEHU}^zf9vXly9|~PQ8w6 z{eJR&2{seNC%=7xTHRv|*#T6@y1QfCcDKg$@ytqHOuOc#m6TmOd-(=hO-|st0XOCJ zl>AH$d$}IhJ3Gr^R#RbP%T4)aRzu)~{Dna`<`$JexaYEpUY72sjg*I)Oie^DCE@sfoOUI`@SxOiwmGzGsu6O7_#f&BY6vESvZgK5 z{%ND&pzXDgnTAk>_&&fauFaSy59gIWF4KE@b4mFnk+xaor%Rz!*$~`qVz$(4TZWWs zl=K_APd4~0e!1`0xv(H~w?5d>;Ow@?xC+kPY-N69&|4G-Zv~SChbrHg>*usedzY{U z`5sb|0b8MVE7@WdezBWW3_l>ul7-M;K7|=tud^b)8%c+1c#1Eu-N`(gk~K2_4)c`) zxCWvl4gBACFM5!eUd9ybMBbUb!Pl5fBLRCdH$kthF(W4uDjdDLP626SIAf&#tR1i+ zReu;TJAu8_y+#;dAjh!|UmPLviD~aKpUFVbpC9*Y6!eHajj^$Ya_pikvL&P7viAlr zL`Unw$2}b(&im3s+Phk*KWW|RPYcooxDFuD z(YPKH4#&OcEV_9y4}6H|coCR*7BDgejA5d)(Hn(+$o=vI1J)DSK3OZSDGA3v9~`}z zBhdKg!TBwO-8J$x_E1*xUQN>tV>wN`Hhp`X8?dwOetr$D`&smoic`B{-qA22bZ^en z?)~q;MpN&g;IryJ2w5vOCiV@FOkhon&QiCC(-e|Xc?>OD`@AG+qZu`BdLdHk1Zd!-Ji;Q9>iOZ z4KLAJiXj|n4Ls+ym9n8v7PFTd-L0Ppzp{&*NIV=NWrZ0 zCajB;HhsspcKUXSQMfLi${B4a@z$W8k-vG2Gi`Bulh-zFEFuKx_3p02$O_=RXM+1L zsK73l_&#-k=rCepvU`>x2?*SFJHP3I>5pQ9mzLac-`@Rj29(*!@9>75vW>V}VZ`H^ z)z^)>@f+&pTfCa^&^n4+x6e1l3U>Ui7Yfzam05`$dYnC!%Cs)vTb~d<1P+4Aor;+lZUacJ zi$gslf52eE6DF5g%MO@l^RWuq6aC8a*@?wx2V%qaOvbJxd7sUaxp+{ve6H3b(qVzO#-xusM1P z|Le8Gb@f6HKmEOP_uq2&g2oeYr2v}8kxTyU<4Nje*jKJnKMvjf+5QT9OL^P<<6M9L z$;T!b&A6pmf!|7opa`RsS&l>%!uIAbN8%Pf0<5oh<`;XfagnW0c#Ja%%17tfY^)cf zRvu_;f|?QebQCQGq?))*w&(FBCBbNDPkUZ$f;kWQ#QBFdPp`q|jO{`Ha9@bl|50J3 z_(Q9Gg+x#ESfjflJzv*iQ-#*p*J+W3U=$+ykBuI>4gasC?nXtM0g?1*k^!s?WqK@bXPP8Kc4pX@T6b2!%u1L zqN{#Cg^$@)(EF>Ik`Uy$TJ!=GZhSo#sUynn0TsMIbP1{&ZC@3Q&S_popFh6(5mnC; zj%917?f&vqEu*^22Dtkk<0mt-js55NvOo}a!{D6nRCvBg9~FBaQ;~bm&wA}p(Phr8 za4%geRartkBd{_!UU+#nt}Xa@xpzD3Rt`VSHaAKrf$TE9V6KTrlv_t+%Zp|kh3G*B z(NT8-c!b@fomi=P4KAK(Pgu0TkHgSWTO7kS_?%@qEZ$t?^;F;vH0&BGFQ(9nsd8{`}EV0xdx3ASu=a0 zKV_{VN6fLY?!=NpEco-wqwl(Z2Zr@&T>oD6%i~kOfR+QZmtK9+c_f>qZnKV|S)V)b zoniP@x%VBRB9wGQe*u#}^^Wtq6!Gg>($iU21!xHyZimn@Ah84-vU zxYLP;hQVlF^g=NN1&58djtIm?=;-I^QlDp;b4wyaA)Y(6C9!uXiTqmR{*G^tVr$~S z@MuBez_8d6G7I_0G*$!SQDflDSS@O?lhjcn>oU^Bb&#ST1F5+ePIWwko)XuM3f89= z&A@lIJm{WX#VmBz%@E{0B7gVIXD>bxa^&jxq7k6~!G`oT#o8-=Wm(it}|e)D~W#1x0KG| zv#%G4{(+$5I1s)X;{=%;Pw1bWrc!qc;iIx`JlOqXA5Z921-;7Fvb@(D*GzAvoi=ja z0CfS(*XSO%F?hJJu_$H#CI9Fmw+Pz?RtoV@Q-2s$TUMmr8zJAz*rbFlnIpY>7~jUG z*em5Nr2p+yZEq0* zN%968jAV*I2p{Nu{DhoP-^hxb6KjVe*0K;mV!mwrZQMGuA#|Z%)zXkYlYl-V;D&UW z0m9Mv)jmr-}N-H(bT#m1tD9ad*Cbqa_plO^rNtP1FuWbAeZD5wz2Hn#nj*IDaN*ha_ianPsT4 zm$Oqh;@_rDJ%}}FKgha@>haME2BU35XHQd=dLR1=``tqDCiTAQ=Fo!J(2m-nKK|Kh zV_+|YO*bn%FzOw)GbM$;D{aszi7Sp>`bmyS^F;?V4-n~d~rYS3RH80aOh0t(0+??(MXdlJ3NN zk=NPv2+V@j!Owa-bp{d`dI){|78M$V6m~N7CIb5u`C}QkDQmXqTU&rkJ|ZQh9*{v= zk!G0i6|$kedmV>x3^@5s8uqX?lKGQiMA=zuKru*u)Av{96(S%JWt6jUp~^I4i!HEc zi7kcQQIA>w{C!^05!!Wo8>x5gd(R>|P30g?GspK@cQsK*P_fzh=a-wQ;BCa&<&^D$J3>*w7s;!U#< zumW!H4hGjdVgJiqMNjqt^^6(^CB+}5WoUc} z`|S16!psGS5^sJHn^oNrZO#cCh1v+?`!F(6t7^|Qya!`GMEA?d+F zlo6~!!PqNivJ0Y5qcK?b@6C0$^Q;#K{4S8wF!o>{Lm_Y=mHsW&+?X?CLVq`cYA)bZo?bkv?5XsbPk=f}@>=7lt-_ny6a-<|NvB_s*2)-Gm+=BRi|G5TaPDdOmDEN^1#+}Cy=&lKu#0j3~FXSL;8A0OaJxMNCj z9y4^?68ax*+k!T4#M?b13mep4GTs!;=u+ln#xux~j3APu@x^2GQOB`KxeT zW>cxj^eSCjqjWV*_*qOE)qN%U6B5RaR2xSD*qQ=Dc=OA2Sj%3ZQ6hjF>CQyc-ZopJ za1lOM9U4mVF$&;cR~{gI(}z}S2i1Gq_>+U{XbhwXkeYrZ32Y`j9;Z)>hsBo+W4z0F zB0H@|`_@@vw>IStlVZOcw@J~Ng#2P6N3Y7xEcq80Xc@IOq??)|>6xSI(&uy5yh&jx zlFif_PM?o?{Q0GIR^2mtxa=Vw+G}pO@jF*V%gzkcpLt`U{lv738VEsOHoN}JBkZ9s z#!d;xZ#g1we!=X-)RUNzTaL`TiNHxS86H_BZW)O`cycv2*`^oF4X^$(9Sg6~Uv~l- zfO5p{5w18ZH#DRVt4n{6qig2;Wq<-K;tQI|+HzO;OX2v#y1 zMU$At=jec6@d<1t3&-urN<2m7?q9NB>5!PD0g|WC^kCpS-DbxbV(Zz+g4ExqledhEHe)}AKEb=|w&?m2=Z8hRkaPq56U3g6a1NA1;;VeH9 z!w6i*v4IWPk)PcJM;!vcOto!ibFO~k_;`nm`X$M1gSE~p-U9~K{=H~4hy<59m4_X* zNtDr#ucHd9i}kO`T=M53amV1?dj zq&{kt8I1A@&Wv(84AQGsy|u0P_Hpg&_N9Q2nglRGtrWFdDz)JI90P({0p*eZ_qWeX z9=3l!AIZ#_efDGRwbxpEJ>A-&acN(JqN1)nW;fKvvJI6{yRO|GO#|=z6B%0-&fddG zD0*}SY4XBZ+&1mH(w^5xhqHg=@fi5Ss&(cK%fF8tvja~9h(jOo8<>&xeqUcaqtP&(HaZsi;B*bfd0j~0nW{ePXsTiTtExUnET zN|~q^xy^Obt6f(q#o4LR*SB1Q%U>^`Du`dIkz!no^bU)=M>q>q5z}&FP^*4vTP4-@`qM({b3FlC1P4q zGNLG(e6@5r^`!!PW2U{?nM&>{E+!{U$9*Ko)X-g%RmOTcY!^=mCl8H@pDhUv1!hiL zHkU)l)=AhMN~k|{ej+QcKdt|{q3?NpU0$R^eHsvLOzzwvmRKhBd1M3Ciy?~64oadj zmoua@YRp{ITwi_F@rlv(U%hHv{J5M5yT^IVG>T7XOSYc5!xN!R&|dET2NoHWYJJM| z^|$(!R~^s)nwi~^P>jS$FM$kHUc9Vi~v z_C+$$pqN-_i*>t^qwK?mp*4tfbsiAc*vMamlpk=kVwvUbIwj?im6xMdduEe&0zWhz z@mQ%lqolt=7vh@eKkS<{G`4X$=kscHn0&J_dyBQXk-&^{QX1E@9n*tTy3K8N9mm~> z36ad_!`5>I=~{Q(#j|XSPZ1j!%B!v0-(_-L|BIr_DaS!cG+@4DJq~HK-aZgk6kO)Q z=FA+w^(FfhjrT) zMBMrmBB3;Mk*Sk|@nfvy3O;i`oK%>&HG%`OpTtFb!_rA%HJ5^ixievJ`h1H>FA#9f z-{^r~dV}cRrIMTcI z5s`&d0Qf0dTS6aMx6NYm{7hQkQh=Hmhx6s_3Hmd0x6;?BYp4Zl&~%A3#my3ka^ld! zY8CbuoO{R;qAmL_#3*|{Cz$r3*A^Y0trCWz+QC;NQ}uWX2j@ zX+5nXQ!VTEpJ+6;Ab@|7%@vR+=2x6`UlpxEp`kb`h0?Y=K?XFBl+W9^LZBJz@Bs7B zFO z5Zu~-{;zQJAY`M_Mj)1hhBn-w-*j3Faw6?R^wj8f{=qb3_Mgm&XktUXQsTk^mn=>& zf?9JXE2lh7o&gzUU#`aGX)GPB>AFD_;LIs}ze(RIX&4Dr1+6}d)U+caX_5C&T6>E!o{|NY)-4Zd4*k$^R&t9~dLy#xk_Dmj2#b^@@ z!R5J$4I~z@%`7J(d^GRWf{*h9Ve3x>Tv@mMfm1yQn72U!oPsBAV4UXO6cGN#aX$bGB|k_d8DQb;0KBT>$L7p4SWE(#_Fq z2g*=0qjr?@y~WPt+Y~ghwB0%Ve-A1}yN2@8#t$C6Zw;HlH<=rPd^0NnApM`G-V(aO zKkJ;@e{yxE2Jh?8aJAG7&Fu0JbN>R(fw`uDdCs5TeGG7U{8o7jAa+8bq{UNhZ2xIP z`1+~c3WwgelJ77nxo3w%uO@a_oAo|25Yb*+_#rnR<;j`fY+MWPma^4tFgxUd(=cOi zp3P;(-DPlo`pGPIewiBrk_MYezQ%E8LCso%vpI*>HzIKjZQK|BsBhr@2u}9IPt7UR zK2N84X4H-~pQb<|E=+yQE_;D!ko$ySGZY`12P3rI-8B@4*R_dr$TR2rXLA%E(+@d7 zxSJWr3r>y%Yn-V}K%oYjXicO2nz?&)O~P8Ox4)scrL*(22gl|cyDqcndRu4xt7`If zn&cN}rOr3sJXXE^Cmxyk3eTMXTV`s*xz}n9|0*wyjI|0-8!=NL$owx*wLfe^HHVtv zUB1A=?B@{fk?t0K*$`l;@6}b=8HW1K6!m?7$_oS*Wk%h3=e&abH&;foHx?#)icC;d zFBLuC$E3rNvtK7lR@%ii@@&#rNxF|ze3*@V{~%viuHtJHg9wQ|8Z$QsnzA(~*H=$U zR1@FrsbyqTh%giTMbSIrDJ%3Pg`J&RLI(iq|t%;;8zS zlaQwD>rO^AVhBY0?*8B9;6juB-?y#l`pYh0{PJ01pgei7Ylpt~=D+tjbC(j;HiQpK zBk>o)6;b^e3uoDt!!>{8k7CIKCYP7BjvNPwZY4K;R+9$y`AJV^(q+aIplyv>O~{<@ zZ?boKb@ecfWa6U^SzDYi=eB>7^U9JD{&U8^#mlE65tuN*8~pz=hfG7X^E{*yU`1h8 zKnxa}>_}m2-HZus06w*przjKU7=+<fy7MjHX@`9sje3JSUMHhUEy-jTbKINa1Ckf_(F07p~R+br3N4Tc@OuR5)I;Ud{ zF9ZF*a}Kg~tb05Yd&oTo3gXC#wlZ}M=H+SJj^DUF#$?UF(RNCV?n&JK=5lqhcdGyJmS0WS)F$kSZ- zQS}h%)t=?cLjgJNy~8!=WEf$tfLn4WdA@Twklt=1?xM=M?@@X7;Bx|6J;+Zo9#?Fga=Xtt=K&OpnHiP12(mziEp@)nBQ5q~{;F|&JX!{{t^>{r^UHwq z@sIK(Jaq^CM8GYNnIp+52;Yl}Q$$?+!pPKxW!CM>HHmzlbS`Iu*A>MXJ|`J*WJ(+K zFJus7OfvR3M=`7^6l?ZDXja*loK+QYe)oL|#C&zGW=346I8;Fd{8pymmIlH-V=+ydXxevlQnl0WiG0fA zn?r@j;GELG(92k*tki>iGEKiO zy02xSe)i1iL1)FR{q6!YXr7(}7#urvtb-)bmzg>`TzQ8=!Z)V?{SKBPsif5>MF05I1=ryBDRLHqWlLzxM=iKG=?Dv!d=_GmK^x$NcX zl?E!$Bbp?elXXXT-U3N;FiI;JYG{3&bc1Y=ua|Vp1XpJtu~Ta9?nc-)`z;Zh+~k|R znm<2aL~jO#{aN$7_pP2hM_Vj2!Q6QQ^rI47AuzM53&gX+K)#>&6J4A3!97=EiB$qB zW)9(j@8WJhgEhJr@K3HE4x7y#z3EI6;Ywdg-~_wuy~B*nJIB+U_|*_|?)s5BKG$^I z|I@DD>)WZ`w|kxSiQ)0680YLQIknZ4eI~O2ss8_6P%1g7zBo*{sry&q=J&T7;bu^_ zK~#*qPvl|h5dfAMbr(M)3MDG#y}Zpz{m480rQttbWj=9Fs5NVQO<#>$CzrERJjc@i zD3{D(tf3qDSvKrbL_%HzK`v4&ba%2_7mP-33$X*v>*XGZ-kt(k|{>u#;9cn3~uopf7}T{sZhAOEHVzbna& zrYm>dVO_aBp^v%)*%ou<-eE!^;U#%a6gshgee^K zK>rtp&Wj0c?ar+Z&3Gh=*AQ+=!)(KgXf)U zP{7^5@6HD|A*KxZ&n0)2$$b7VqFo=$)kcv)&ANTH;A`L*`n{a=Lyq*daz_ex@_!F5~u1YEeDV=e}CMCTvWm_JT6+IbbgC)pY5m z^gc0G)+KAShqI%2#1sEW$g=Hz-D`f5fub4duA@0~ zQKfU_#zzq{SX$}~c2Ts^k1q;+;;t^6;1-O|8dj?;qJ=w)e>^#W9WMbtO|$)QNe__N zp@a@vs=Js^Yr1~Q&Ca=o&_DpFd z|7%$1TMgpSD4Lm$Mx)(N8r~iU{qze4?ce!fzcEDL=X0 za4!#jKj+h$u2%%V85nKU!2L7NfJrYQD=eu0=O$hsn_Z1_*8oUkgwFV}ULxC;{@a~j z-++3hug*Budfw^oO>E0Bd0F-q)$q)voDpZJ9C66--pF6z7LL!-v54ffwW91<*VTA z8WWpT8D#>WQK22DE~Z`{tg-Hp*N5^qO_b+XS^t&XPv_$M;(YmYs!Zs){l_Or0uZ2& z0Yt^lD|eftf=6=VR+O<5WxLvzQGyLcg7V`urJQ7VMcpfvg6CX zMB08u?lV#)^d|@T4<#>@Eri@C?>N6bP1l&XscWu-T0V4zyPQKh+`*Or0KM_#uXPl9 zbs89sxiiS){mc4(j=taR^j$y9pP%v;m-(Xv zdFU2r_d1WEgtCkB{`|V{$)fg=E=PZ2(_hM6+_@ACbJ-zBMdxxn2{R7|JAp~!Xlq@= z`0Rzg(1s<~ll_83+MN8>=gEQYT=Q*E%zlbkvjkVcx?+lLt-Kgl%Ih|klS%QqI*L|e zuNl1UTj^IkniU;(qaB8iQtVw-(Emt|F0hJrgra`4gm5-4+(Rjqv45=(9avUoLf93Hjha5X;#S`F zLEB~24|nM^9^Hk7kVJ!r*;-E~=DfN0!jt(u{46@PAOC1*!>z1`PyAb^oA z5MJr4Us=@T+seeo10Ev~6Gg;Puh^V)@U^NN?|hZb0$7cpZ%KT#r^wV|8nRcO&25;c zN-kg2IzLkJt{m6N>io9v1znjR)HWj)1?pEW31R}LX?P{-QdZoStefDAA$B z^eEgJDJ+6|)kQlyMBznj!cuE-vk238uaAmH4?MM@J4a16*zpIF~yZ$-6&dupJ-{l~EWtaT*r z2^T{0mDj#ZwK_^Gde@6X8dxNc__h7kti8^0=NclYDW;WorIEhTRp>2&f^UJ`b{Bcu z-4{;o@o^7AIos!R3EAO1VIzX_DutrPE7y2s5sn`>Z2Hhp&WV$e!TDf%8Y_|Yhx>l+Y}IixPOttd21-wUtmvk-@?)gWq1TGda*9!PsB&76uW-Jvo0LIo$Bzc* zM*DhRN5RA84`b50ZmNW7B>15I$^I(1mGKp`0NtFgJjB%*QWMj;*d8HBeQHf&o1H}# zHaagcWYqT*Z@1VF2R)wcqe)pb>#bJpD;s5@JEWx z0$Sg6*451d2YCU7F22`h+KtYE%qp{a>8BGX>W)a}H0t1(Nb`Y;jRb)$<7kq_qR$kXVJqMdy zAa18-hZQ?D9yMn2x?qb>`&h(oyX(EHcSO_T@-t;0c~W;vo}wbvhGaKZs;U!0n{WCM zqTQihqM0WQ>WX`ha+(i#axX?(C7sT;AfRzgoP1EymnR1wUL`4KTQt-k=UR{GyU|p{ zdBb~_*u_jbXgrOBO0FZyaR7wu#oSLG2p-VBXD7edPr|KQ?@iC3>Gk~Me9x~Y-pJ&T zF!O*pkAvzm!bB#}$%;)n$ivtd`kn|T4WxTcA3RSvd=H0{n~F%*9ZtS^s4hGHC$ZMQ zXKT=W4mjWXP;2ncEGx582Y?WXnYLkIP^!jKbC8}eXG-m4Dd6W8{NscOVEPkYGG!2o zFNYg#Ql_t+SJbl;29q*X5ZN@STeF&%c;`l%*J$P&&DOfa1n@n96KV~X@#*l(f@)IX zF6PXW3JV1F2K0RpZGAW>62qyAa>lYX?fAAmcNG_grC^1ri%VOzP@hPG$NTn0TlYnM zFQfX6h4wFOi6-CkMY2&}^u9(~ibOS59ErgepMMWE(CEVG{%uX!@eSra0a8XTI?~qD z9f+K|*HD;kF*~yL0Eg5}f+Q8lmx*oRtbYpB9!1Lo!Df1#Zu@_krk3a3WGy7o^s=$_ zDb$QF8{E3vfUuG0wN^@pTl-TzGjp92h+(dC9q=DmTyj!`V`@g>C~BH*s_gXjSZhyx zcFsT;v8O2;DbjR-MJ!vxj9GK!vXRpT*e?&CZj8bsf2;RBFL2GuE}2&tLED*+c~@(BvkLy3ym-2Eukh#@iGon%^Fthy{4CPT$Rx%~>EhIQg0E zzgX*@FnAeR`Ec-Y78SGqoT-HgKVZtQgU?U!FdM1(S?7G z&Z9LvYSg7(ScCNgt|Rx9a7C}8@rqI1eK9`i{7ifor0pGTwIWtJz^eLed^ER3WGMXn zzDU)D<$nuj{J#+yQlF3$zs*-+OgyF)RAZ`ih_-#o*MFD6Q$~$afJWgb-lYncd8{H4 zAG8f#=)Q~D(cU&adwJ0jPGF1sGrrRgneaH+yc8AxHX2!zGDDe4o8jM`Jk@_F&Km7s znWXEiQl}T4$=^p>Hvw(E6yD(hwRKz|@39`O0r8_d!Tg1{c^Ef-5y(=wL zm&cecBivP1)06kIug)K~C!;~W4&m?4X^4B2*1&tL$$mR#|6QIdC6Umt3|y8iY-(ks z1CY*=dV5ckuN$RPBdKprF?`6QXH36*_*h4r)4Z`{nq&I~VCL-W1x^h37q&@KW7w8H zY?@K}$c0zAc2^lp&v?5OwqMbCdXU#e%3Ebj$vj}NDUx|OB|H{l04e+t8neMnp)=_igJuZ?d23#Df9!_UP^2-Yn~MkB9B}<(AfH(y%Bb^;!xZ4WX&}N ziHQOq;sGFWn#9HOy|nTKk2>3(`hb~WwDna&kD4m}7WHlSbpT$(oZ2 zynSV2`<%5IQ#d64J2}rTAor-$DBfC`dx`Ci=-$^yuF`3~ijTvgXO`R*ws(ay*B>H} zv1(KRTSE{8oQPeOM8HfQO3F3yMS+@0#Bf$6r-dT192{rcM0NVAun#~(FwbytW&c=h>;E--%tZm5y zMb;fFjY~;wL2u+M126%PZ{Zt@GYu`hHQ+uT%@#+kbw0>Ro9)w^i?+B;yowgO-aZU1 zD&gJ|4js0#Uu3#DS|SAg@EA5QGvg4n(aI`6EHn|2Zt_!++@FMc`0(yw`a)gurQMl8 zRYAq={OVP%%sUP4Tk>OC(=|;nzy0VTm5|(+3vAy zS_H5`J-x$%T)X3+U;LBBL+;gYlj&qZAH!f*N8dCRE<=iB~wr`zLyleon&r_c^7`wTxpyoh@gSrg&6 zRx4;;T~_D2s?RQkJphlH8NWNT&o55~)0uR=VvHKs3EeMjq*b~*H|h9&%75PBX7S%2 z)T?lLMuBR)1x%mvxrFGj@J!6_{N?Wgy?1*tof(JVCT7(C2g%R%nRDF5AXL{p?eEWs z_RWpumNST8ptT#WrycsOzA$sdPO1QyUl>1zB%ggEI6+Wq_On;*CgetGei1Cxj6dG1 zFG#di!!YKUZ^x*FnNhmq+IG`;Cd?vA8L@`KsjJL;@kx#L)_xU$^G^-LPon5?;zON~ zraQD8GnS(kV%fcjxdyH`xw^a(v1LL#<{UrUoD*7* z`-cW^Aof8Mx&2_Ham#>2Sa#bmv3v* zBc%m8g67p|Yi*Ua`ez!X6_8qMpD;2aw;@>MgBp`v(b)F0=uApfE-4z#dX&$86)}g6 zLkaOj?qrjxJxcY6PF`>y;-5TyhjxWlr79W5N~w5JIJ9TkIG~bA8ADO14iow#h`DV{ za6RwQYy?{>P0^Yf~3xMFN(#74Qa4e{|_%}AYDEpXhg)~BKG?iWP*DmA*^avx`r)83T3{` z+ghzs$@y)>1i|h9reZ2>Ac1oK2dvZ0-OsCtY9yTVb0?j>T3`-29zuJ!<v6;Bb~=OH3+U?UxpZX}EPFORVyOj&&Z=5=Zf3wpELU-plhYH(7?~}0A5h;4W zD--}VEBckee*v&LzrPT9?@*vJ#&wGOaO;F{#h%8@LKS0*qDd}p$WA^F6~^gJt-BkG zuALvrjz{e2UwWPTDG}Rfp@f3{k4VKUvfPPs8#qNvBDr%Y*|gpH=6G?)#q;SZn5|;R zUSKH;jLP7Mv+2@DrF31OIk!jHRP`YS)XCp)1%AuVSa-gq#d3Lzq8A@MDwb^=JzC&c zV67cvt;HlEI*=RE_@hZAUDqAUqQ1;?M-@N2O{GO5p;xU{tG&Tf=D&CemvRn*(L^87IS|5Chm9;Eav|C!ELWG# zBNL7c%nP?j8SM>XrGFu;*SyzaZGkj|-nH&*0ULF%M1M(*7KHl0)@6%>7uDMzlh?wG z!Q3=VeZ_0cu|Df33HJ`?GJ5~|6(UW#nTk9t;6Bw`hn{EcCX6_XF|joU+ruj((~2-{ zOwb3IZ%)ps*c+Ao!-$^(p(fqQ-^Pl)D}6cnj;}ly=B`7te%2~;G3rejltx57e>}gH z!7*{askBy09nHR$xgSC)bIjAEh@`hX12vA{JGouEpTWyReN)(Or*(%4ghY!xhM@$? zxBVv%+(~*0+uO?e+-J>~2Mm`IsS!^gZa_v8gZ{#IKqhqO6bR+>Ct*f*e3^SA5;KP_ z+PXRO#45cTdSX>Gf2=I&fCjR4K4a;Qa8ucSmsve@g;J`&4`EGDD9Gzzv$dH9ipyqsJxm^ zY6KB>%#ylf!q`?GW8BKcc8AR8lvFBHZp#G)mS#|HNt zXB=)GbHa0l&0gm?ql=CfU5O6)Is+{zOT>P`5EoqMBNflkp~%Pr%3PE<6ELKkt7N!h zlZzXj@}Vq&TrhuK6;?9e_-6s)(g_8Lak?|^Wq%Mr>c_TCtsB3nLFi&cmiW^>fs zTY7b@b%zWZf=lRu965awk#>;3r*w*SE9&2o+=3!^htmOJ8w6$I(fsQk6mSMM_lNxZ ziTh|Vta2J3JGczZaD zXN~ml&gXZKerOJ|Mzf@T zj#y7#jm^vOLg9*8BR@=g{#|{BDMA>y9ALGEvwQLynh3ETRgXxE(h|J~7Ez-kbFI7u zqCCRz#e4eT%vc4TU?gGkt!%aMtU1*ybvi9QG?zdK7N^e++DYA24Q|945 zO&kgMx`xY%Xm58O%oum78WC2lg&F&uvzQE++0a4=FuULnue_`!YCZWvEOYl?^*(8G z?0W@hQ>&GH2Sub0g=cZ&Xl6l3S0$N_O6Q*^lkSyniYPy!%074ZSnDtspamvlx(WeC zw>=iKm0ofbk@bGwuF)bR4$fK4H!?r?4ekxh(S zdJYqUT13q5;q96xj8EBIiW{@jPa?jU|BJ~q9aJi<@# zLmufRSsSC-nPAt#^5lWQ!t1dMjiTL3pZV3^v2r@r4jDiylW*^L-Z*Fy*&*;;j6vvp zWvGZ8XYMw*_22Oz1F~+jp-(VPWaN#Q$69>hzJ@t`<;OeBCPiQl#=ewUTpqP=EhmX+ zCNd3yP^2?^Yo)38T=B7QbF^X$m2B*u52HVIujRlF-pg^Au&1A7Z|2;OJ`l5)6zILv z^j@suK*ZP6SkY^0L;uvBz-z)|cd8k*Q}fV`J7CJGc<0DKHnj_y%Fc+Uloh}|>9^X#Q@=fddYbyEWA;D7o=hwE1UA#NRZ15k zua*S_n%YmXt4BJkx!!Fz%Eh1}GwqtBR5e>*`%_h(RgqS(d?T*3RRBPSaTbp`6@me%HJ2ye^;vjs% zFtj4VIB(UQ)NTk;t=qvqdHWX27@TwOV9mlO+*~h#&#lRfwh3jY&tngvtq&X$F1xC% zXFrX6dh8JdgGk_rd3un}x~BS3Z;Ux$l5m|Q&Wgwx0Tm!iizY-XkOd&7M$@&w+1asu zV4!7=Yt#iiuMKA|@Uy8ASyAln9O6JooVCwrPuU^H3{C^(YTH5$;#=s>lee)utUY}z ze{-jNgY%bX4X)O@SMt=E5Hlet5y+$Gk0k$yf8&xo^=6#F#x6>d=|11e#-L@TNZpE{XVQq3sWLs|o0ka1 z;i52of;@dz|AI!)1qJ&|>`;hHhp*?2z}Ss#r_TXrwnvNRG+d0V%!tBuWLGQXIpg*!b_?mVX}qu6f?u;9~@0fzSOm`_2lCl5fyijC4HeGx;eu zVUNCc6{EXwzP#`7K>yRi3r!_H6Ja>+5BvN<(?7nw@$1wt+KRiP=#a-dZ~e{Nu+sk9 zJpAf9PW`<1kq#bH)x6y+S%CCAx?)+ZiRGDqA}x{iU1;_**H|aJiuUrKe!whd1DPlX z`_j*H3?@uy34Ia72qdejlUo9{s-m}u`MZ0C3B?Wa@*UEb5A#op*@rHPw!SOGAhE&C zpqJr05zSRfpuh;xgPaD=k8UD{l!aG<-Q>APk6ncoG5epO z!l9z##q{p5bx+@vr%mj!vS;Wexd)d;vI`E;4^fIJP}t%gYYXJ7F^sy*2j>|_R|Msu z&3^%oKWd<2b9nzpc2AfajDP8uvLyeLywm!Dl%CO^w+o%ZJu>@yQ9*lnS)>kbR~A#l zun~WhXFE!$tkX6FIl8lvfjEARV7%O!zt2m^xp<^zQCFzEVd(|gnlzhJa3ahWmlXZb znB2*A6G7N0lfAwVOBYwxKM}k2^vvvPe?`AMgjTRxhHd0%CHwr-?W*cf|H2)3z@CM! zGvqA7M1Y;+-G*%N^IV0)6|a)tUlZ1mfw$#i7)=CC>Js{rtd>$T63lUpsG%sn_?Ec1 z%_A*CYj}%xA`={t+OqyT@bAt>&Mr{-!XMKLd9IW{I-@4gn@KliCs*?Fc)i?dUS8bp zTy`5LipZVB6w#M}iMQM1yjK4xmtR5M2M?UG9kNvFZESiHsOI6lFtmlE<~ijn{^@%4 zn%p!pVM9UJu?LYWw|t-wq5fxv@Dl?{#a5pqq`^NA@KT!jT@%RR^>1&(v`-+Za3NEC zr($-~?)Zg`2vD&VIcNY>pb=|*39*Vs)y|(IMyY}kn@*-|Z&GpxiEQ8jFLH#c(PaJN zTM!{Wy2>!RM)2{vK=W}qePp~o#;cF&en}-cfWPOo^OFI%E05~j8T!80f7kyAeyiU% zOH$y}qsGLuluu4+o!nJDdIsJ15+6ISix}2bNA0>=kjtsts^jvMu@prS&_A2GxK^Z} z=vh}{BgNftwoO2%u8p#NL<8pX)_Qq~{eLl}RcT%H6Px3WcX8)=9FK$XhQ5Z`LbcAt zU*~M^h);6k(l>6+d#zW&FD(=QVb z>xIMim$a=3UE3VT@n$Z$*tWCtp*P|m;9%@pYY{nipr0Ze;Y8;ShRU@`{C#Bp;rw_{ zI|K^p$f|M2aY((UDKG_vLJ`4J67w5Lg_ zbIHXfkq+?pa_Q{k7Jw~-)O@!C8KUyJQD038u{RUdk*m;1@d?B z5aW19b*7$VV)1GCi0Ej0so?DT8k1}1=)ok_@#eYc#Y|CpVim-{_SK(R65r5QUqeT1 z#2)8a&sV?yk^FgGT4Jg+DEuI7lD?<@gOB|`&Hc_!t!LiD`=wd`?KycGe!>k1muEa6 z^YN{jhT6u=B!JH$DHaVcXDO>6V**pQqs;c?0yH2!J4eM3Eg^Ud@G{#SKLG^-#=e2V z__t~b<4se#VSWVR?A0wj975f^oVyp=2k12Sg8Eu5NxXQW-k}gRUxkj?%18K)b*ddS zwb&DUfq|TH`~Szxqoy!%ulbEm4SeK`3*M(R7dHVUJU9#v+}BX6{$iO_a3_?_O!p#* zno$1S5R%dT=bLn6W@hO&y2-(dlnE^{lo@LnkI(b<`940oQqTY#_p7EYH|p;A>4Otf zkH4qj8>WBe_IM0shXyZ5WO$|jm&5UojUX_0sGx?)cur)Gk~z&IeX4jbJB}_xQZ2nr zR+*6a30#;1T;;}ju|-6lyz7*lN_H>XRbx%ycPOq#=5|_61GYCu1WZ;Xp9R@w$ zYe&ct#`E3eV1It1l80RzAjKP(ij;1rK*WTCOaSN}J?Wh9>ruqcobxs|Ex~uiuGYdip{A4-HEP6OhmPLmt{z%9zU6tx@z!xgf8Ml1S7aIM0xq zMbH)be3HYgAJNYS3E!I?JVBe*vPVg58-pjPS@uGz+7jBfk?j$GhgQW;GvRG3c$pCW zcE|aqw>$0)JjtD7?z+JfDiasEFO_G$u<24j4} zXa_H3OxVocA@&u~mNX1b;)ne^*J#xHOl3wWp_Ni7GxUiPUwgQ(4pQ}@^8-CH)mcX5 zw`+tSk045X@~3F$X~rl-ka+3!S;^5ntEuoy+<#(yl(z*$$CedPB7=e&Esr(B*?R%oU$ z2yyR;K3MnjQS!I0cnjnQ_H^(Pgem5dTVi}P{}yfmn#BM4X`v1 zt!3K@Iw zOP@Ns6t#?k_U=up*UIcypF^W5+tGA;ekf-AoE*@A7(ntOXv_pEn&8a)I#-mi6?rfD z0re|{`bG+vSHApDPs;v)1=;!0a}p^>H4mGN8UCpJ*zxw|M5{gSpSLdo+eo&mgzF~q@;3gi?u1=%fL?hn^!<`?h%iNo^Rx{8eE?%dp$ZJ*(bf(MX8(Mu_*$RIy7v1JB& ziYh#GiQ%%(a)mE#vu_NLsBG$uWy^1hW@4pL`+RAMB~KdmT}UEZkOZUG`6c$dz5e40 z9xY*N7zYFPwZmDs!N0csb%FUo9JVelgG;>znm~q%oo{e!5L=O)<$-0ej?JH)+6I-b zOgyX+`codgXw1y23`_JY!1UJuS{gMj;Am;A*i70`E4l%D_k?hWj~8@@LmO`XoV{;- z2{W@VEN=8|X|ux|&ZvE3NlxBA2waBCJ4U~i6FzML0!v60QQ9yVl)^#f%PG#;Pw;CY z;zKvx?}>kAq|U(|r6X|6q86&7y-!_LaW3%NAMC9iC*{4fiuAoas}!-30y=qsOb+*A z)|O5wI;c|uCODCF`FWn))G~xH#0%FjN)(~}vOs4Dt?5MpEB#k9d~xu}0q~K1BOA^! zADYpj9s4$*{kVlaPriPll{Pw~>@i2w|2BS(qALJm zU~9U&W2u$uW4?IChC{oScZ9POCqI9X^f>dg{?96Ysj3itR-u=$XIQcxoCcIh8oHE$kbZ^c zfUZ)_`;04~dm%sM?-QT;U9EK7%|3Q^j4Mbio6^mf`e`l>NN7$mEMlgIQYcanFPO-f z!AQLsGI3<8Mw3(UJFK*89Qg~KLpwZ3^{>|?q?76YKkc+X=sZuQJBAV>_EU^)#5^?* zmjsRjU0+ZyYjeH0Hwc(IqXzx$za`EK+kbbDFtzpkGT^?=CsCp@)5!L@(|9V>|L5i2 zewW8W_2pLj|Cpc~qyLx(7$o`L~-IqIXC$Msx6F}4d!k7iLbqYQO^ir^^!0rD?3HQ5L7 z#WSwJ#&BPO`-qZ?m=ZiP@@G0q$S=xzV7mDd3F5|Z1PbQ5ALE}gcs{yWmJ}TIt1GnPNoP-R2mh#3h&s<0rcR34Eom zLXMk1SJ54HbNC@~bLZlgf`r>!RIvUkS`5y&#_#bl=R=MR?cPS9$Htz?wc`BTG(SpU zs=eckBXB3;J#*oy#CvXTJAFEg3V=o4%;{d)08q> z&Am+4{&km*e^Ra;K#tgXA9tTBnJ~8QfBX4&L(daFA#T&T{Ob~Ht@Mxh=1hOrFfEml zlX;UtWKV;UrVc>(pf1JiEAg}qzA`KQCEkc7%^?Kb`)Oc2B356M?<0=fH(X$`(w9ky z87Zs?kGLdre>YRF{bT;^1c7Uj;AB~SW=NXckGV$P4kr_g0g7vm59S!OD0|p?^0F4| zNnjWAY)Z*@$!uV)-Xn@l1?l_Ho*8ck5@Y)nn~(i^KDy!NY~%45lb?pv9*fL!tRc0} zw4Hu2l$IdL4RSZf)tvm!bQCc<8T)0hNzz`4v3oCWZ_50-lPR=uC{K1)Q@c=1zQiP= z#a~~GNPhr|AdSuro(vtphy7i@{T}s=SeBxQO2gQn!?T?)JZbb5HAK))nDh1Idp>dU zb$V4DV!LBtT&SFr(2;mBz>|ibCC;Du_dMjRbc$!P_)QFdwV}mYHJ7Q2DhS(8;d8im z3=wn6l89yNDC@TEOdfp3??K|7h=0Qzb#KfEKzy~1w+$U=2Iob%G zD;rw+%i7jtqp%Tuoki}L7i2m>{Wd1w5XT^(bhp9HYPM|2)|_*Yrg7mbL*S9;jQb0A zK|hoibD!%SQ)Jd8<+<~{ioE@Oh`yhJly=8b=B6WT{1yzIKX!=DFQ;CM=y#rmD!8a_ z4tDlH+tle3ZmLN=oj8@6E}onQy>G{30XFFovvv?@;hdX1y8qh0(EZfY@oA#9HU4GJ7)Mbmtv#18yHcs)@HQhY-#Xs9uR|dS{F}-z##HQq`XLagX?k7D2 zEV6BR{3cT`=G&Y5xxZKDvnfww6-(|aL1Jje5;QV>53fsH@H;oXZ-6=uEFhm#;>_N< zqQOxhy(paW62u9NS|YXwJ?|Pg1HA7=f7kyvXWk^KUwAqMzr6p3?)pk`A#uv&+k#S! zRIGOZ>hq+io^7SxmP;KiTUWn*2oBEdM zKuMg0Df6Bl*j8Davgu7Qe*4^3wA9%c1Mrum^GfGcYy$M(Y;RPWixcQBw{K1O{dxzH z(Q%x+fy-8>AdhgW8DT{3gW(l2O}e#GSNfSrOE9ybT&fZuHBtP*lWhA6*WR$@C- zUVvC#&Kz(oXsU{kVFVk0bnv2;z2(sU{WG#v$JdA6ueTaMi1_wpXZYnmUxZelIY-0< zFW2lV^=ZEL0W}Nv?4kXNgb1$tXT-YTtw`t%E9)>AkXii*{5hJb;`-MYZG90L-nr|{ zM-i2~BNcDq%d`4b+QnKoMJnEi;$>1_@irmhdW8wk=O+w>@!;jgP=cszrI(rR#Ho2+ z?P>I#3xA+{C$9^Jd@NC$+jO-be9$x`Y6B7Rl3RL))#C23yX68aE4hQi@Wo5^CKObywv7$ zkd^Qu4fd*;h|TffY!=$A5n+Yb1yz4NEgue((f{dhf@2$*Nwb#n2O24Brlc}LFs!wc zJ&7z#_RR3ur`qaCpUHmjZX$ms2&M>>1)zcCn)zHNM6VY-40(b5FH)b}MKdRCB(VIh#ZifXuw%A z3SJ`@89XstfRF?m@3Q(T8^{wOQ4$=gk|b7UU9{+hVVD$ z>vpRRTTW>^IIewcC~to8bhDrC`R2!h%&5^-O6iEPT6Q+OFG40K_y9!~rWgxbxykit zY-}?INaz?b86Cs>-w!LNqcO8Z5aqD5Js%$(I+7S|KV!e#-wpk`+&$Hd(W&ts?nQg8ni+?79Q_IfIET^aNp2DdmIAa|}JMg*EUZ?^j&ZSwrfQ|p<7M$iG0mKMT^=BS-Y zN_=pz1%(#)Y^5cAxiX;W{*|AU>)EQ!YgFAr*%S@6pm4mK#?J_jZSIt|3hj{BI?IecKMFmcyZZ+mGyU%cMU*j!I=H(Bz=6?~367Qhq zH{!8BSOC7)qC;BGCTim3H{@`V53Ud+6{c_5)|hfepK+^5&>b>A8e-`0);e4`?K?Lm`7MMtO`Cj}xCtaF3OKfUo+A%!a2H#4WadRtdjEtkt*amsSW- zEF1YuK`hkJvhcXB%kj%}e*GMZjE%X{s&FBxcD`OlQ2VcV#X0wse~}kZCvf@vy8JPo zQ&FeC40!?s5R*!sgJdHEAQL=s$k^-$@85}c^%S~?s>TFSKzcmd7dwrup2YEi;i$p$GD+Dv0aG8(1IUf!AbXUcNGx zt@6wblSiloPzTA=c8bnX(o`0QB_705>e;(G7av_0TU;n&L7BR)~nt9 z(fuDcW*7Jxt>3sPobaip^flY`m=@yIvW9h?Wq!(xx}QFya+9>u-QMqN$`W9LU+VbM z=L!azOC=mAdvLC1v1Wt5tPy{~74H7ZxL7`WM(6iM+azv{AHJ&TSrT;XAHPanXBLh@p?C$@L zR;2hrEA?Zhlb>5!khRt>JQm-d`(rGnx?MiS9(*_hjYPaKW&fAH0aWw{x#!Y zGE^0!lssgmsTblGCSNZ~)a{#56-az-5Mldfl+n5%-l!|m2N3ZM)mjUzQvu~OfHpl2?g$kdHfm2$%FyG*12SAO=+bDR3f*OZ~>O)GsCts65x z)^G$Bl0*dQ^;~u`w;#?~j`V8ghr|aa`L~fr{z!hr0#p0|HxZbusA40*-tp6$WT|3>@c`}aStbYQ0V0qqRS$>%o5&;_3wxJV2l z{S;Fbk(2v6&M>4~;BCWh%+Ei||J>S(L~go^`TD3QCtoWBU|P~XM}2R}HP#KKIF_B| zH|^CdOc5_;rslb}P5F+qvjQHA%YJFoB`~$Y76PJX7S7JVcCK6aeNkWCeA7U-!Sqq4 z0ZL`kO_eT1%Lmic+hzK3H?WtV^A6|8enZ;R+j)W}Z6pr-`}6z# z0dF^E{@`utG~>cD$RC}#Z)-pGH1T2P{E1V~r*>K`FPM~9Uq-UbWwH42Zb+Kve_J+8 z-Xu=bEg$w>_gH-0^5oL1MIuSIG}>2N#J;HxS(@{ub!+dOt=zydwrQ?9W_CD2YVL`T56eizWto4w@6)!UZy7;g`qM}?86 z?u3STGEtgO+Kk4`2~CQTP|{p#s{61Q_=8f6p3LNptOAaUe&W3)>u{K)V;B_14`8d> zfd9YJN_5o*L+`q`n9)IyX;&L@d zjmNC&j^Yk>HuZ0nz`ZduH8Hz$@#zJLX$mGVO8ED=1+inso6Yi^+3;nvO#P$(FC9i7 zUQ=(+n%KYIqq7h>9PA8{>(uUz@OSN8d|E-mR{C*V!|=;oRFy9u(Ml2F`hTq-aZ`}` z5eq9v){h8>K8i2MjJlNHC?2t}5=ezZPsJ~3#A_bkAV3&HdZls%lwgD5-zQ8HF80vM zx@{`Bdb6_k7fTT+sSsGW?*mouo&=M+?|t~hQHF*UboF!jcJ_6vPVFW`@Kh|l|JfmW zy4d)eGfu#{lPjMT7y;D}-juikdDHm6Z^;o->?`~j#$&~~`+?z2+2{I@yU-6dY=I+Q zW!=3Yupu50ZGkzE6Az@jgb7L8^U3vGbLH`kuRw7@d{^?oRf%^7&xe2zBUadq7 z9=U|hwZrtggZk{8|KSrbKcv(W9N;HU+09k1*rQZc38ArZzed8|;rNl5K{8_x=Z2J{ zXDTl#XTrqG>ZAY3f0dtFYzX3&(P1WU%$_(|mT|2rb+()=VzsP1H<@#p3_(eT%PH*F zwD|>X>NCqK!`X&|$pgMcV@agAooL*#2&=v&$Tj|3 zFl3~#0xR`0FCmzWM`chc>{<@4Wp1o|jGZIg#c97&9`Ak017qT6sPAy*+v9Z|TZT$l zn#}^|AIo$E`^1Hh@KA$mQ2sJ-JO7W)Tv$n^Ad>fvjkbQPhJk_rpbG4(#x?&cD;;OZ zrc7Iaep6ATJi^mT3~@!lK)|Z=_uKO$q+>MoC^>{-(__@h#tUZ@g&P8e6Y~r=e>py+6GFklm{ow)^)VA)3wZ&d)D1s;7(tyQq?pP=+C3vK8o^V%BeV zv5qL2&%I>N3y?09nh7`NT4KebIJ)KXFV>S|?zT70%w_}-tyz6$)V1pMMz7aT(3|kH z+#X&r87lS++#|%c+*%S--12v zDLO7yK(boXN*)=7URHgDKDJW7;Dg>!Xx6U;(JtLm!=Z1NTDNET?$JG+vPztM;uU7o z$fdfr7Nk#Ds2UeQScQdH<4ZUJV|er>sw#w63><}+Zz7fe)q#3@S*3@aMvGnQR8Aa* zy;i1SJcd5}kgU`@9(+6;KZ;glUy(Xi{(BRRb0F70rpAF9?z<=cGaS=LDc9x?^H`q8 zaG~-rEVt61=Md`9_BrP*F$*E3YhU>28BC-P)YoxI{f-YFw%!~N$eAFW=(vn_W5fA( zB->G_Jx(evMVz*L%0BNd&-_cB>;EZ&bsY)UWe8xL%&2dlJg*?^dy4ETvCv1{{G-;a zEm%aTc<7judTS9wVI5h0BOjEA2h|+`#$@0z8B_afa(YtvipkLLf(Zy`?VPI72xyuE zBKSZe+UR>r($r~m6I0Ht6V)+R7BFpxB;;Dwgzh4?{}4)1DxG<<3cT*e`97?a{1yx= zNPWTFxdQz^&+|owakj*~MQcD)ej?z^%{5f^P~otmu-&hCAd5f}j^^&^%8@?b59cY5 z)Zs2RxxhujhIyqlJq1pd$|Ll3KG$cy4aI-gl*2Y2H#%g(&LLsFTB!EGA^u zd#?XWMn1_jm1-)H?2SIsb(YqL4lO?#W3|XzCw+!P@7=suV3J)Q|7_?}J16w%iG~@Q zlTY&2&ny(m*VmQ1}M2xNyZO83r9I#R-uquG9%l zF`z7UmERDQXtLka1d3TT#J1FS!uGeTE4E4upqiedbq{jj>N8isytXG!@zAmsRAe^I z?J@gO@Swdt+&7~}SjzTS56__i}(lrG70A|PjCBZ5c41LP3o9INb%+lUqe~RWh!T6XL#E*xvY)3rcM?q)-zv+Hb z8Sc8u%z~`>vTw7SZ2sY_D@jliMck_?4 zDPRm2hETZ+v9k*VI#+qh<<{}glQ%qN&ErNnxnh??izpg>RbGffZj_0Jdp=efJ*_lP z6_V zfT5Cxl{;gQ{$<@G4LhyO6_n&6VITG}yn%R~S`bP8ko=QW_79t0o#S^?I^YTOnRh{V z#d8}Z)LS3ZoT!EtI~DBaBac$YLH|(dH(Y9OIHLeB&YssxR=iH91!FgmV`~$w$RAh6 z>a5fibk%j$n~eV>hL@*IM^HReRL0%&h8DNVCg$UAhhQ ztWQ(bL?fGUEkhZv#1W@5v&zhsW1Fd+Z;zo_3+J-U+QZH1xQ3|yY0*Cm`fGV^!j!}` zOyJajr#5%qdp!rJl&GUwER(}uULuayKcyCaiFLEqob3VUfj6Xy1MUe-EF*w^JipYY zb{o~1pj|)#H>Gye{=s)^4Bxf4S?RAG&C*tE5}u6E(R4Be>^}{)KKJrLdagmZ$tSA| ztvmM)Zpd~kbpuV@V>t#M-4{ei5N$R`l#G3nDjm>}fYZADr!azW_V$7j&;e?C_700V z^f<*d)5^0gIH?hz>Zew1$#~yxrTF5abHh6-Cp64|;z{5_biCpANMz2jqsc2k9do+v z(m(b${4s0Bk*IIL`J#E317oCV#q-NApdEkaXqHe?2IVv@;1AxX*OzD%#jNPJz52`d zhjQPY-1i4_-@!0`k6`GcF*s$uKw4741G$#J<*%w5tl@7?&&1A?^dUD0TWdPcc)9Pi zOKQqtZFde*iN>6r)YIxsIQr;G^o3s$pF5Q5ax-5)jQ*00g980;`390}+8~X$<)8pN z{H_{n)Awz}j3Ihuk`+$bJtW@~Gr>J-0*X0O8mj0HyNRy>=~7EHbeZ!w`Le7Z_uuq# z6l_pmAcv63c2J`$6`na3_T7G6BJ5RuVV_)G(vm++pWb|vhl_8%%63GvqMAje-qVW8 zqS=YQ{&6`xJ zB`0$X+t5Y;(=Qf^FrMx$23vw%sJi-OM z*rj|j!0*)0VrS|3oWv;P*1RC_k{R4o;lkdPeb`{VLb=GVai$O?zgr+=*jT6^H9z)j z&ofK;o6xaA7eT_UWk8P)<>#L($_3Q(y*&z1;mqb)@4|d<>9=@32=3_oi2d76p0Ka; z5r{|yTA18f1icY{lTV(1;fW=vqu;ml^ZAGOkjQ!%Gq?oqdD4)EbZ%iJS4mTZk3-bb z{VV`mGo1e9XbbNcf-Pd8|I90pBbStTMyXchEfU+e(9?{WLnbTzWrRl~7zkvZvG?Ow z82@CR8_{Ar6Uk$R>Dl@Do&3HU&Abl2a4ursvOw5QT4cz#`vAiN4U+$?GE$Yc%$#e9 z1{ghbU7IgDt_gc40Z;gI%}}}LA&(d=CD4=CvL3B_QfO&jK|}o$!=fV4Z!SD9fJhxA zyvIW$xKrGA0S96et&`m{KJcL3oVTXd>r~=nVvt)`3@haMq=0QKx-PgtO-is=44AYR z71Z#WoQ~RGY`OF$j$dMOF2T)Ig*7inc>netP1dR=Sgfll^4!m%a!YHNDQQDryx^$`mR%!-o=1hO? zb~CQvm-?a}ZFDEm`QXakF+9Xxy*^Lh2JN#`b}O;hNL4Ss$|zE-)IS9l`(Ts3sYxA| zn~hnH3)Dvnmbd@xC0x)#tG$BJ=Dj3af%uoKPW~rlzl7xanXlGA(A*3!@*}1w-$34+y z1xWh7Q?5Z)7z=P9EYeueWJNY*GP38ASkp4ma>lUje8~AhyomNC%NR)iIo(t?SF)E} zN`jor5&>@56E@+N;Q54DsrzV*UkG+PKIq4Hu%$3@r(hW9uWeRkJhMkkkv)p`)oT>C zoP<&T{wL{Bwm+kN$eCI@Y6m{^?oq~!=lmY_#dd(BIoB*teqs2QG!ZLH04euY#s6bh;sn*^bWGD2ma`O?XNb{hd@};kz-NBNBg4uhD3mxq z@FQ`K`fRSS2Y3Rlf%`yktg@$7>~u@EYgy45de9 z&U~Qm#ihQShKzzbg8xP4T^9UU3mwBks?Ei_gwM79SRXff33Dx0)7IpMG0E2tB;PJX zGA~CAsIgLC!@bn(%R|61+*uRkFjbf>x-uAj%w{LijY_nvRX6-K`Z4}C>$`r?p!&gR zLiM0b512-IvU^Olh^UU_&I8$+FSC7 zXf*^x0$3HW-f9)RvbGWNR!~%OKHs(XBtiW>|MPqPhvy-)FKe&sdw<{cu2r`Gl{A;k zwW;EU+#_@N5%Y~UxYw20Yev@KUX7Qsi1nXHrPQbJ2sR$bwd7tsm1};Q?aw2cT?_q> zs~co>6g$*WG8H=Ql5Ju7_7iFs&amHOxnwV-BMJzf&S5qiyhrrXc7qS>$L6n;w51y5 zYZ+1V;mEL`18q%7x5Rm9#CLf*BRILDrosEEYRPbllbMmP%r0!x zK>IY_wbxOz&z*^dsHniCm?7I-0L#n>=L`HnQcr_R$RZ&3AxqbGJhlQf=;4*ChIbjZ;2hOP_4wffEZ3Ta57$qi!tGYB%ag|2<8APN*M96y}2;a@F$pbC%97iRO~ z6Hd07VwNs8lH4BSaqA<{1Z>k(Z*GDp+Iqvzo(d>S!M7XbWCtY2#bZRovRr}`rl?gP zR%F*Dow`--dTfJHlCAKA`3bAd^7EMh3WDzwMkbf*Y9ap{-6>Vct_d+N3l>fpy=KBu z2$~bho#A_#?QGIk4}c8O9w+T%N@viGS`9w5q=LQ}`NSnsty0t--J?4sapY;$YUS-d1 zE_2#PvdZx_Bk*a(1E%bxteeG0!>rOe5LtA{snSu zn62HCligJ$CPPO7hf`|Er|MqHxz_bjc{05@$)x+h7CviqA29qRJxBK5eUrH*dfI`N zvY_Wwq}9QV?iENy^(8!D8tTjR+csz4g4AGk4xD^Mp|kAf@;071%Wf>cmfw}HM^?U8 zGGu-3Ck4pZad&d%wV%pJ&He}0D0gB{cB7Nsi%VzOgH{N&)eJxbyPK~eeo^;7*>$Al ztUoj~L1o$2d`tadg7${om6h^$I+t39z39Sz3=>~^CDw}Rf}Bx!o$AL1>B4@)y*J|R zLYNCYw4135nZ_vt#9W^62Cdh-&eVu8Jv}3i(_VC@iB$0ggKP|d# zbjOu*MX6SEByVh(1Xk{Z`Y@>?yJ`N>oV^@n7qX0V$y{7A>F^5aTSj6#kPoWKPcZ-P(JE!k#r4waKsxT*!)5vNNuj>1j%3i)e`oge->D-1QDoe4S!WW zA^u2GG09rUbrh>K$!(!**OZ%E#8#gZSYY-wrAPT!vI>D6NlIumUk(s0B-BzRopvR^ z(c1y}x74y%AyJ{}CoRqHel9<+n#!adG8es58PgLU>>;Uezo&rWpUHee$r`+ifcQE~ z7qKFfwPz3EzY)-bzmzb4dTF+Gh$ATN%?oDZJn6DFK2jkauYV}UwbMMpV*%M;^edE0 zcBw}N{zCxb5<;vZBE#MT;#tcJVz{n;?wwpQ@Z|EY`jN8n={O*7evB;=?wXzvGj~rb z@PEjcAzYBvFutNt#Awa<;e`mAWmX%XQRiM=>OZ8<-P&ldtWzueC}0rU?YinMOj==2 za2&{bvaCt--9`oVhx&5lhUG0@_(y^BzMYrU78C+@wTfE0zS5=s@$N{Nvs<(I)7higpPM100;lc%gll}Ws$#;D{R$D zz#_SPDyv~L?L43=Y>Ru-qCE!2{~l8%fU-E`?=PzccO{f8@VC%h&c@{j2;J8thI5veI+oe4UcM?w@8Rn|-Sg3k70FFjSqsXpI9K5W*+tBA#G z|9-810Fo}qpk0B{g48xUDZz6y9x`PQ16tmT9sz2^Iq89lgl`4@&6-`NvchcIkq5ho zzWj|v-xthhD*~A>8uzYS&KDfi(&}7a#AiP!j6%~3_~Xfi>*xUdbRq#dcJo$A()(Zilzj2-PAFBBv}qLusc&nMWcw)% zxzrXXdmGhYaVQasB8IX})wZqBIkznIXX&Sup*cyev4;+G~=II1d;2Ga1 zw4KBWon|q~=E##-Mk;`bTV>LV709+hV&yR3Qqp~%gaq5MaJ15;exq$K*JfaQg0&Qp2#b> z6ap@PlbDLljlerYr>+!~noTRXIk%hZ=Kus)DUP4_c~AEeYsV(Cz?$25&CKOS+_4UA z=HS3cp+8snj zDr;oZB-wQ5-qmGh;Ku^jYs$>7k9PGmRR7y)zlp&FGF4Yv=oh4^lGDE=4YlPtLIR!}sNggoV3!+_h7CE}YtlCJbmx^{@s8GOkQ)Yab{B~t#saghi z%FL}?okeV1KDB8-`6)Nz*KEnN;}c)eEPjG?(fwG!SD1o(^X~&7`4?}2fic@m+m)a7 z;0v?-rmMDDf?0?DXdn}zoxV1j*|+`L3(h^U?jZLAB$T9+=z8{bZ_eE83+bUlcDc=S zIc+r+$>RgG$-mvQ({^fxjk2foWA}NRchb9aDNjfbOC6idT{PzUR^&)TTB6Tx8B#kZ z#H@buVvrwt(&>%f_fZcjvYqqiVYeglKAHRGh9kZSnr*W^=G1J(rrQ+Z^}=C};b?#v zr=}&nD)P*fmOIPHO}~Mw{i;fbrH>*|wAMD>U2NrgL?kxERg!w5sE909Y(-hc&#>`T z#RF5X>sa8r>PssY+@2Rt`^LLnFU>z$c9n1z%dg#U|5e|4D%ZZd7E+N!%-I7G)rm2k z-VIy$h3b`gHz+)p2wyjNbenF4IR}s=UC2$O+_?qmAqj5^{CHDpoE?SreNnI0gr`$?eenol))Ov-q;DDx%9aF7>-4 z{9VfLY{I6lh=n-4)ohvr6>BNpjqDp!3$n437HYeBm;>RGx!`a@YgS;C70{NLGd!@Y z%J(Lo&0gqAJ(KuE8Jm%LCR8REF>Y9{Jx-tU&WdKXL?|%}6&%|GVuTf)m7Z1oZ>t(Y z=)XJ^ccNRGad5t=+mO#TMw_8#t$G-cw(758AGFK6@ z^bJ&`^!@-i7FH_XkrjCy$`NGTG+O51TM@RRN0W3 zHx+^E44S7Wy3~0mI6Tj#Q#Ug0agt}o+m4M~$-!4Tl5By%9N1(H8#^7@nWPy?H5y9-FKtXlI6Nw^VD9h zMYOW=tf;kk{f_4e?-+Z0a`xx8(Bw$lu|K1;+%ysh$eQK`o$)R9Am>JWYx&56?jhQ2 zqm1WDIaaf;u!m!vYO2Op)fA-Oz>t+2(euzq!rZ?6(#ck-f#B=(=D3Z7l;LZu5@=SK zqE<`;7Se47ONFmz&pk^0t;0>d8-j_z1#~&L)J4}6+!TDYn7qHZnutN>O}rTZzld&= z3SG=R*~r;HP0N_|Gva54#@(zpnktpOW2@Ph$kZ82EHa4(OHmcH$KA(-nF4b;ms}Dv zuDu*1c2T)X*eR5?P)ALMukQ_B`xo+P2^~@2BIalNeu0q8m1w9y7ULXBVfUg?AFveN zm$AjtGhk;rQ1T2#0QnuOS+>Wywxt@pNl|a8Tn7*EDDKTGj_u&Uq^wQ| zS8grZk@!I(>a_3r7EN%zD}|2agN#pOhp95}w2I8t6M0<99jzp#D^@Xsfd97+FDOtG zpE5JHf7$JJ+RTnv@eusS+z>*Xgg1h3fJfV$ND8B%eVmL!y))GX3!e4aO2H(x3*AU! zXXoknJYt^6?zq{`Ag-@hg7m3m4|>%+Us$L>WCCjKV){?_>S6K&V17ZjX>hx(gYaSy zDmY7C%Y-7OBS>U_vxlJ|P14T7_Ht2z%$6Z-ciXE%cD6X}@9!%>!HRR|aN&#O7MC3y zAq-T;y?x9b95sWDX{=;qrCVmlWrr-sx$%VreaiYn3=(exQs5DLH8|H;i2mXPCqtDy zj9v|-?P7Z!{@&bipCbW27(|+B6aoD!CMsHeK`kf|_{Ho_oCo#}KrqH|DlJsS(!=5_ zVl0jhl^vS!t|$?~I~Q!hJ}2UBKQ;$U5n(vJMDQE4fxc}(ShD42+b%U_H_aJsM?_-c zpKQj)=6%0yK1`~ZD1_5UgVoCK`Za}@v<0Vx7YYb|h3-c*&fgfaY|FF6!Ndgws?%lN z*4CXVT#$P2B#8b%@RuI7JsM2-fn?6P_O*hTQu6KGFynBJ_!zR%Sy4NbWIpRyQ4rqz z@Gn&3J~8!7)z!}76QtLuo6d21L+5iieeKY&E|P1I0c?V{j zXsUIVrIYTB)`%5b_+a@56t9NHuIIH^S7inJVD6epe}v;h`*8SE)d&k*O=06-uU>68 zE5E@euOCjO6KZmx(|!R}B*{;rSpZvB!YqJ;7r8;|U-Flcm^dN7S8>4}jrZeik4g1l zgVb+Fs>i@;lb0^>Fg4EC`C%1&`!3&d88d$yMqZ*IFfZxdZ(HCw(^Q09R2BGsQh0s-h(e2MsGPcI0Y}s%$mCH}rszn<45{G=gex&GLj#g~JM9;936ZZmL=Mj@zsYmu z%&R-ZS=Jf%+Os#(QNA9@I#;lUX2uJI9>Kpc3>_Ja5K|EeD|Q4yHlWhC!64*;Dnem! zbjf8o9mJ?oN-3_ZcqBZbV{g(i8IWUqz%(mtlzlCx<1(JhT=b1%M$Wzro<}<%T2jpP ze4w6RQ5w|UiruA{5;(GUnlqqWVNKDFtAc721J3zPnnf$T%*5D1>GEbBjK7&|# zI=E3KeST_#`!0c(n2zZ2Q^eO4m6JqJIac>dxSwk8N1bcje|1a`J9ssf#t|VKGOMGB z>TT(#M3TrV%J+7%Yld|8!G zl=0tOzJ*&w``-?{64t**rLiwn8c+pqLT{mcslU=&yhp>{q)Hv$v&p%$({DrBNB)9- zH@TlflO?KYTR}2c7vZQtCb$`zDe#;wp|TRl(hcsBc6;zVU&$7QSO_&FhJtrfyN`j% z2K<6-YRO#DbBv%M$su&anC?gnsw1J?=|upoB34(=sy?T{S@Z@ruLkB;V%rNeq9fZZ zBM<{mJ*Pb=mDC+&UGI}H0)LoWUP%a?dZd3Q{txCqxQ`cR|IK41;;M-vn=+xKe<%UL z)xVhPE@^P>1C;RWV#T0xYE(!pM9@0ZNQo?PjLeNw^X57n4w}1$%&wDFm(lTo5*R}Y9{w=Ia znsK3p4t7{qVbhs)#CS!XyrFaimn`aTO%n{bjJwq12D^lilHFSQh;ou-x@q+Mz~DOY?Yr(&;n$45Ai0 z*G$|M;)OVa1~fH4?*(CZ%{n4R=!Wj&qwKuvvsgI4cB5^deyg3zB|4)p(g6Yi<=bIl zpZpoy!)b4lTXb+<9@E_0gM&J1ZLuDX4kB9_+UwNm9rZszIy{z3o@!&5@?SJ)@w8RP3|SI{{2mxS zCHQH6iTQ{qNYTN8_Gx{^n4X6b6eLeo1fc89sxTcBcH2TSOLLfLLV4m6EFh@gaS_kV zHWIc&$LnL7Rs4(=IO{8%hhjrXzByF073EEo(_IyPG$ve1)|SMXzN_|$dn*JQneByQLR3pt)l{W=)5DeXDk+gd zl?L!pvnRzuX$;EvE$dtnxl{R#B3htEYZ@0Lqw}T8p19hUS zJxdG1(}4tWx{v8OLAT!)+FvJ+{+~pw;e$7S6D61eo1poFZ$8kNQ`!GFB!$ zwpbM&Ef;-#1i$a0y*}TG`&)l6Mguu`k&kEXPF8P7Z}%oat?E?v@V>GmC>!t>B7ej3 z%|ZDYnQMlQpFb@A@OW09YEBv&iil4m0|w%CB)QwFhB4vqy;$V5EP>pfH&|Ht{r$o( z@E&dNv|>0~)htk5VihRSZf|6v5!JR#CGL!x5N+t1P)Q-4w3jD&BQmBl&-TCW6DVeTpR9#^J%gu|T`TC2u#wVdYl zprycp!6(?_p-yz#Pj@26-gQZ^IVwWU8i3wt042JI{Y3fIKXq5MTwho4YaZrc4QXXT zql_QkKd8v#z!Ul&1?IxOx0eT154t@f^KDpjZqU!e+cGNKqn$^C`p=+#TQ^MPcFG{} z+`|tQ+`$i0%A$+u7J%VA)LuTFM?wZ9$B&xaSHb5;tx+JeHZp@R?CV?+aifnDkzGV~ z9eT+m&x)FT34Y1f5H^w7vNQit^}iN8D7Cb?$^A%+7T7|lv7H8;>?E8D7J!cgTzEg$ z8Zj(9%|Xsrw`Di zU7jX@Vtw>MM?D1@N?qamanunrJoqF9MQ+s;h!kt2pVAkZG6;Z_-RQthsgx9u?dT3W zC2Y?WCx!VWatmWfZ89YdxVvx8&X{IZ#1-4*CrzU!#%i@~u)PlDDX(Ng=5M)sB)aB~ z+G1c~&`sQ62=AxIje*v&7+O3*S?7T?z#1*#9#W(2L_stPd-WQJR|a+?Mp|9v{8Fjz zqw&HQlGQ8I?^?>c-4r4R!OJHdE)>DGT~8$qx$Js|4e$JEL+-{~BnJfbw2@6~q)H#s zwrj81`*JW;d|~_KlCDI*5?XHq!Pat zM3T`2D-@?(>$HJ@W$7(yj0{?IuoNo4R!KZ*aw88}|)d3_t>htg18cvCti|xUv zC+xzM+@Ddamn_!*Ge+&7hL()o&HtIuajKHDan1a&5*C}|vJs_;a4=Fz&6i30Y96&!{nW``&V~ALp^8JImjWrAp%>W^ zABgShbe`^r6`{j5aK#Q<{8U5+NIa?<0YsHOZLMFNwQq46T3UV#_VJym2V6=EqO0W>^04|(m%`MO#QhJgsH@#nQUJfLE zN=xu4wO^CBphAIO@AT=vJ7O(G>4Thyn$MmQKW_4g^BhKx&#e7Ib~FU~jhsuJ=@S~vNTCMlzQf0fxcBFaZ8P`WkSJX zQ|9R&(`C=w4#=qcPRIHBj-}PCddU(qmHknDRF(p>C}76(w3m>z4~Fn*E|XRWv?mqP z!~SH9NILUJ4B7E1;##l9r&!Z0aFSUM#n^66yS$(PJ}zobeyg(3Qs%UuO$KVZp4`)B z<=638K-QBN=b_TI7(<{1=KCDoZt1!rtJgT$dwOO1+@n_Xw#BSWKavF{)~MuR77%db zYbFfq>kAxg`q6!P!9Gv_G@CIAYDuO>5>sA)2g7?6fGjAQHN4r#d7LyG$o4d#&!-uK3`%<0ziR*VLT2+{SAPXydeIqQG0u@O0`o`RZ zT<#yqL)9{psY)^be9&Uxo0h$NsjcZFkSVZm{{TGbvvAjW4_XU1 zorO6GjNSL?kDVg(zyH$*ya=VxI|Ad|N2N=u?`t*4FMzX&;L$+uIOmx_V(Whc^I#q##aAh#b&UF)=gcqz3i3yE5klmR#eN*N?LH84ZM8G#q;&_;odY5ZZy zZs$jO%oy5M5{8AreJF97iw=<#N`AZ!lo4`PSp%CkyRo}?3bx7(=93Qrf~LNzw$p<) z%9_g%A(CKx3E(4dx|9)~TTU$x)(U;d9&=txjq9l7rJnyjc)o|GrRR(F{1z=|lJ?m9 zk{d4*@F#(wFsS))1chM@EnULSc~1+qtvc_DZ@oie=WYdJK= zn}_s1n4*4m&0q6W_HPV=l2}rlC=(BvNFb=>yCNml&RyL5lO~5|a!msiRW$8uD^BuM z2ojTM+#7|EYpycW7@%cnWPpX8*An6qFN`;B1p z`@sm}XPuKD#J;qPt{(Vrf?@P7QOO80Afa4atO%S062Q#uRO9~!iB;?P*>|9;C%+*o z&Uy*y+81q>DKj0Dgp_^d->5Bfc@pZ0&WdhZN8*Kf|vLrvd@cfVV1)K>Ag8 zLIVh##F7_Kk}7MfX*5_G6{m4725WFBd%5S&_R*a~Zbga)9Q`&b;{?@MAA zZzOrW%BY13>q4PRAFStDuiTYgNH;ORuDM+bh=#u(#6oU~-ItZbtGDTtezi$MIeqNvc~ zpEC*y!Z?MiG}a&{Y5u89#)aI=K7|4@7`cOyDxyX(py*C8P^ zrHmmjA^Jm^@uWAhTwSi9GZLasR^iie4}NOQyO6UhxU^EpF7g)BynGIKyasOmjXyT7 z$7w%_)eL)f#7p+Pm!MmAf}IuPIRI<#w{BG2g0t`xOz!>({4w`FvfKiytbC+Etnyd0 z+Jf8!KD9c0YJR=89C`Z+V-=L08+X_pIOJ9yC|I(py3;N_-@h9bT$A_vBX%?W=>oq4 zb=ay$sS<>T2`ywk;S|00v+xQvvF$3i_u)5f`{!0Et*q4?7u2`@?vuAHptC5D$wJbRx1kjt)$Y9vR zYd?ao&%uvmZtnVmAzuPO@{OevBK$GZ0Z0!^hNZEcQMrN-8@*bzIwXJPFX1(5o~?hV zb~?xSTCaPP`wy#rbblx5w&GaYmSVd?9X^7o{I5;sgET)aQfTBQNhKbb*B1*41w-kw zd;Rl!qry{fDKnK$pqSK7*RO^;U4xry7RQBfb2Zj$6t=*|7CV-yNs`p-MI~7dQX0^7 zp2VE&d60{wdvVgn%d)Y^2c&ejxkf`~8^oZBpd7;l(3+Vk_zcHd zVT9#HKiI;QFRAw)`!oijmEw222doT z`w$Q(UWNp ztn>$Rdv^J9-OfiW_RT+b|jQP)>);W|}rbUpuluIHA2f?0+RVIxW_L$OIj0w|c@>0p-i{K3U{HOoz=dFDH|1Ev|CGp=&ACplfr=ICwZ~1P}1ubfY`N0qy zQ4N!Y8=Z=S?8~y%=iu?Q9|n?DdLOwYv-dM@|3Uur%2>Be%#UW#gYbI)Hi>tNo!2zI zy8%Mv{cI^K4rVksiD#4EPbvjyZgNi2y-t^Y6~Pivt%}aa-tX~OW39;>3obzd>L(H9 z*|Gn3jJ>j7=JOjV*^AxlbM3nU1-h&RR4s+Nv&pMByL~|IASSXu{Td+1)Dq^i0;sYL z7Db)*Yv@kf-)-b2B1Tbp`ihz{2o~RT@#f_Q=_lcFDiqy!5^GU$liqPWA8KEZxHG3x z<086qk{d8Hy~|Ew?`IN=ExWg}F@kUd$wAM3qgOV5Cy zo>?B{ti+nxSb^!Ady;j`1wK)I#(9q-_yOi~F`bFl;d;#jO%J*e{BNrID9UQSTQB@Q z4yiOZ;`R5>Dd><;WXuKHt@WPrGQsLM$FIGhxJNrJAt?lAS|NN)Z9iq9|~jKZeG-^$++d6 zK9+(JMPb*DjRP5@B@#O7yVRe+SB0ec)N4$T08x_&ovmqt$gu|`Q9g+1uFELjz=>zP zh$N~joc8ymurd<}+1o6+cv~cm&6r7dm9@{XKxWdZUIyn*7`oFfH#^_dEfpv)Ukynrhis>3g z;i^O~Q79_bJk&j%C^z0tWe8`R&0A<(Ays|zN&5+GwKK!!AEN{SW7z@wuQVg(DjhY! zRYe$!-=;=bg8F0p1@tD+>+xTR*e1LRzm10hWA~0TGf9Og(*#b3b*Y0q`K<^yE_4gi zdnesz%u(=t>px~f{SEXChk^tV5_ss~7SYL}@9gS%Bu{AaB99QF#wjT@ zR6s)T_Wmb|hv#DwK@iwnYlD}cWDOO|wru^v(+}}(^la!drV^!ZI)&xTm;noG71!*w zXTq@NGWr`)thA1xje7%{au-Ed%tf74Mc-wyAPwMv3QbBhnPZ-HRq4;8lQfSJ-ySY> zF3ut;aAnqe!aBLDtO*$xf|;}#T0nJBkBQ}{=-nD~)3DEjG>t+2cXR5SyMP@)7xS}L znO)4GBSw~Wvx=osy3@wvAQ+lO()a`Bq3G=5?Ag|UR+_<|v3J$36a9(EQ&ws@GfZ4d^uk?1 ztfKnWZvqtc4}8)04&3+n*w=X3NIz2Aq772oX5!c2w8p(G zeQ;MN)U}=Fye+%Hm)9A94J#oY)th)g#N4;@i=LC*#9Jh3Nt72hR=<`0hhz(^m{cRd zJnDak#`5uQf-=#hO&!T#`ZVgO`R%`fSFueP$sewV+gXU+90}ZjQU7_yVwV1a)Xq1#ln1=6isM(+8 zw70BI4dIOvb7P|4$<)aK@lMq%N*0nt7Vv#+nBxQDIaUYh>^=x!4*MtDKxR#}j>Dtc zr>cl|yqUsO0wiw$f1>u01iSK7NA^lF8lDvGSPgqn9+-Qggl?jm1+7_MYqo^@Up)r~RJ6>I=GoIqgrM_1sP?tpG-=g*e%)un#^i78bg#gGb*6bgeRj8pxFKc@=is zMPlccJF0(;&Wae+g zbO`}jH@&i}XNC;Q3$?Y=o?!sxZ7f{nbo}_hxQ-_2GEYGxosQ0oiL+sA_FYtKS=Vxr zR%)MnmuQvfc7t~*L8(ZAf8_=ZsLB=*PF1=uC7<0wvJFcqr{`*c@o(0>Gg9C*vwL*N zr`c#Ut$OW(lIr#Ik8YcHUP1b((4OsG0&AmQ1+O>{O`1L|R&P(8j~kj2;oJ0^ z;8LntLOmP7pa+v3>(7`mcYYBPBBwu`*|Y^iy3GU;9np@NCb+0={ zGV#N_s+mo45h{#!scPE~okM?zRl$+SM}`?79?-g6yIQolpEw>$!Pzvuw6Y4lVKfE) zCAQlr%p}@n4d&m+ekf}w$JjbFpU=kK;1*pUq_xKw(0zk2Aja1P{=K^_8*U6nVKaei zhs9_oTSdk8+*jy9)GO%zje3M;Ri|~ONX);4Z>=2Ck>E{yh5q^ajuB)9u? zC))x?(!9wpsEG`M#syGfmd`yWIhW9Hkv=rI+{bKccAr3jJ940$511x*+OOo>Aakd= zTOZf}2{Pn)^s)_2?QZn$$SXbJ7Eacj^E;0EotCX3Qyrzjh7%t z+88W46V7WerR~L_QRXu?BQh*5irDFklmsDFy>z>5?iuUh0YjAQ(`vEBBl|LLU?=%v=mkDeeRYy8FXKCFQK^{*d-i7wQQ zdAXaz5g}?#qvOtsNtM}kSMB4~;yTgBo`t6o)GSvj6u0RZs|Rd0Ly)iH?&IAzTe^}P z_ruF2k12o5DffJ#KIl2q$0qT>xZ3(l8-|h+zdu{Ji;O#wXZ|VNg!npUU6Xf#6l;tT zx26Ykktnxx51CjS$Q|bLljrj%`*TUNn=tO(JCAx z8GMjg7d_SW4Llb)H(8z;#Ug!r$Xe%J68>(a5)rDNKX-%G6@3aW3-!VPx@%}WdY8LS}KY!FC zVdoh>wH1;#UYpipL>#Y75Xt4AOW`HXipiD19CS2Tn%nS)=GMw0aSs< zd6keVbaAW7#*3DVe|DDuuLBcfisIFXFITC(mJP|=*jsp4a9qtz={J(O)J>5tY9O@} zD~wtKesEH(x(qTia+Kbn<*={?hG?*fF z^uRi&{bT@h#u8Oo!oc$Ke3J7`$b~|HFMh&9D5CY;`pYoE9t-3?w{qJdh0ksLqQN@> z50>dZg??FN#wVVnVfrG1|JP?iYn`R~%EkTxO0b$EQo0YGNIKQF;9C%gNz>Tt1CEfJ zdr-{Dj^$E56D#W}&Kg-|V8V+wc})>)5w=BiHR8~pmP;yPzSSz_kt<3zxT{jbP!^)B z$C)V6jT}Ro8~0o)kLN$S+v2%@fSt=WI*m>ZF)~k+^+jDIF;E^ZGAr)Ud(IAFGBDbZ zY2(s}oTy^FHAS5A%rD)sXIend##319_1C8Xc>*g5Jkj7k-W3e~ZmTQCSidVvWQDt) zqx0xtO}o=xnWqrR+=Jz9RDkK zGcR);z$1pcCwkdSIo)vmg!_7sZr_w2Y*&qC-;59ObmTgE=Z>EO-80yy=IZcIjuCRR?{Ud8{^ng{bt-ESw|i5cJ=5YpjBjs?5L&=9@usMT^YAQ4znY9BjcsLzS;>^@ zMT1`S@1OY4-MCH!6{C46ewy&6jrI?*HyR;Bob6=)B)K^-e0n9;OZ!Wngm%4gg`kFPfmGw)#AVTZD6C)@jW+^b6qx*aihG!9c0hDU=^Mm$6$jcYk>sH+dEX z6gZ=TutDBWDse{LZ2h*}oD+3M-BG@j!rWX?>5RJDo}L6U#H7J=^1}R%xyxq=*2acw z@3siqgOi0K_fsU93pR{6qxycg@Or@Bpp`jSA z&3$Vn$s<17=s2P0Dg=3R^C&?V`v(J@HAO)>2>~rcZg0L6Y&^}(^NG3j8M$IvmC(If zT8F3-2(-S3v0$7TIh6a2%@HN>vil$EQ_jbgq-*<^ueu^nvjJ2`ON^t8;D2hh5yiM2E3Ea ziX1qLBKY6LvP;fNo^yvbp`~7iBI>RZ{e_)5%T7I} zZ5ImZub>BQyTBT?XI~Kp$b#?d?Q7FpeUHZu&h@hRV^s_cd67mg&3y6w6dA!A%P)K6 z7@oF$TJ6+rjJwY%eei4`tc-^+w~H7qcTwF*T0MsQcrJ!XHObC~x#iQxY@>gbGS=gR z#PTBeZlkbnl6pK>SFt?U>!ukY_z8aDbBXdxseKOR)yiD`BJ0Ap(fmm6(Vgs_KdCI! zfv{sKVlHEDI4Y+#O%AO@`DLmL*tBw=fPje5FV`vwph_pQ!FX9d?tn=GCCqC0k&XD_ zQ52?35o@|Z*nthLHh1$rKBdmxqWj76x-GGtT&eO&FW8l1UVVdImVrYqe)iP7evsrC zE*hDezpvt+XdhK==Kf<>4-SS(4vPkB!5-?Xh_`()E_Dfi$2!?zf_@EJEM7;Sj7i{;e5~=q}jlLg;ABnk2R1Q0;3lWFT&wx5@98inhiK>a@VksmYE5a zpcRCabRRln$&R`K(bN!|RrxY_Wdl1PnyPnm1TEDPCd=NEhD^^PvtQJy5%RMUkriP% z2CeN~4r_-CSLxL*`Lw>WI@0D#1(apxY|gdGuT$zeYm#(dA~z+S^Jf8=cERvHz6WRk zn}K9>svTpG`P1XUBK(Ohnfb*r7rhQ(Jr9A7@ZMQmMISiCgun3} z<5`H>CTVxC(ib~+=+-I0&{b7Q5G(hGRWfHmMIHvpq{?Z_>w5DB=L*Z&TH;+p57LOgW>kXoSWBNyXM!_XfCjo@Zw=uQNEH*=2tqLIM_Ff9kH~*I|U07TVu^54=h7o^nfFE)Hr9l2VmTb*f zS^V=TV9z2Uo~IYI%%f!Hkh%E^h(s?_^7i#F1RsH5%U(2#sbMH~MQyl%m^`t$V0Ltx zGLAjlm+fZ334sn5MS=5w!E}jfnjxKVNUJ$O{OzYY1Kj*rY78~cCj^z{j)Q8utyqw| zkZcR*7bY#Au=EnS|HF=>gO!n+#O%M)$}M?ohdE*mF})Hiyz~~zn*FI;lheWThU$0I z5AQ)7)>?4RZ(is}8@j@frHE)1-&=lf+<%K|GGY)p>i>=f41@@ofr1i0>Q@4O703Yo zOiJ3}27|YQZc;!mV)b+U%FE$y?gzP1j_9(0D!7W~>4(UNPgF!umxW1Yy~58jzvie# z%URrY0p6wmEB{S?X%!KpG+8$+-J;o!hmeZd8%e{y1>K-mm${Ky_7d z<#*3DZit|7p!#o04M|oX8VNbdQA9!-thsXSCusvBVHN^NF+QJJ2h<`4Gk;Z1ffBR}zG5 zi%2KqC<09_hLpd8f1EyhMU?5+Qt%koL(4f^h?N3So3t$v*@s>YI@z09K*?>rB?BH? zZA(6Z&#ciaXW?*~Hn4)`P#fDq$b#-{l4p8vhUqEuQ0X^7nOLt$QENx51iVOoS(R*A z*;b$9K4wK6wR{XuV0XJD&*wa7i_vZdMfgN}Tw~%<4Jri~VfA zdz84760nKV?iYLIBf*-b#g71EtkkRKku7wDiH>Tb>1YK!rlKf4j3BIhU*egbLa&xE z1>p0*9oBx4dAkS|nqg(u9BQ^cDm!IU)wN9()@=sOe;2rp7yg6A;Jk)(4E8~~u?woO z5uB7O#eQCet8svN_2-&&6i3-zUJ@#_P!L~3Lu0OZ3GPlH_<1My9z9bZngCz-W5Gf5 zfrxnuJYTtWV3YgQ&JB4;$#f1{2zauDrHN7R177qowue7{H6g!UfXwU8qMN8!AakNu zRF$kQOTW%%F%7?Pd~P(TZSjdgN1*_0xxvZ6ih9L2 zEAARiCNpQ|d;{A$mN;ZrDYbZI>yQx{H5n8m-M_W?p>NfJz=7btWNPVv|0o{?_@f45 zWMh(80cLSF8ptI{V!F0PDT1RFe=2w#;Izef8;YD7ZKHFK*dsc3;?P8|onMgwGu$LW zx~qa9-AcPtzFssU4`ynesf!^I*Oq9qz*@pc$#ZX^lDEVXGXtW=(~~Z5YszP2PCgrg z^Qsy0sxXJ*&O>McEQD1Hr_OLsK3k8IBJq4g{rI>n0J@h$2y85o=u?%Maxge4*BEH0 zBVU7w1&{UeSYFx_HiLQ0uQ8K}+Ix-G@{@;yRrcAx)~7$fmFy1ftCt7Jz^at^pIQs5 z=v7yprDXnL_8VwEYe^R>xvCR1e=QMgc}Vm}Qs(svl3W|CJ4h zVA6rmtqA+LnbTEgSr5!P{$0!)^o|#2o%47vz4GcII~+f}k+K~pF&9Wab10d&r`cAl zLH^yTkd-3qan{(AV>)FxPt_vbfBR7zt2Wm1E4)dA2J^s95CgT#qHeSMNP!_7BX6#s zZG+XuD%z|#%{hv%VoEnruv62O#Q7F9l>R3Do!Y;@VbR~#l5yr)^IkSMWuec082A%| zGdtbqY=kkVsFHNy@I88uKE@8_@fl8(%H6PDAV3D5WbVe>UgcW+x{drh2XQ2)O}{go z^gFSIS1A3C`{2*|vhS=-zqqFMa7f%df^kU4Aj=v`K_hv46S?UmkZ2K6F0m&jDv$ub zN_mmFkfTwc$M)O?Xg8ZXtRO7F6-7Z+d)>y{$*0$$xVd6**x)VcFYiTraft}@SpcVTtAdaL`Ds?+9vRrj;7I+urH;Vf*?BDQ>DPQQ!jpLliMP-jsyk2vzJZfN}4rs9Ga ziv009#errI=4nvLideRx_M?448PDg3XDA zx@RH4)82Kg7thbEZtW+*1oLk5z~RD)GBXYCQ_gUac^6jf3?E;{f4c`}pLko0Z-%tAOm`!k*;_P%;}ChhfL2x3d3cHHkJ4}FL70<1 z;P;%bOh_0Ox%=4Y!0Pt6FIo1*DJ{flhv&5TfBdsWWm~?Uh@|k`p8n^VfR(}FJYT>p z@H>B%%`xQki0&i9b@Wisyr~%dUQU&HwFHuuq)P5BC@3l*9uIKldD^tigE0 z9AyPjI*@-eN2p0b3hsn=zs&{$WQY9hKmXP!jnjTN<%k)zY>L=rZ7-Df4>-8H7 zfYC5TOM!IA3L{RyRO9d!(7(8QwfyrWw0kfJj6?5zm9Xcrpa`lsFIx3N;!B=8n;n;h z{Fwb8;AOt;N4Tb>WzI*FL&rKuf_bQON0%pD6CU^zQ>t}gY{I>y%GWu^=JfgD`91;N z`x40H0+1P=UsOK@hz09!;Ra8;wc2d%f`H*RIDU5O5^qA#1opNGRhX6L!}vZz2qLps zA3Qg-tf|dS99O`k=!6YxkQt~Y!(vm3!M3jY?exoM(ewOKKKpq1XPkr5!Hffh^K4yw<_nym6j0#aC)f2D( z+{xO|U2Hk;$iR`U<|E;Ww$PUia@zmQC_%nT;t`99zvFFi7}Tft;mQxpX>9G2>ttsLbLmR zh7OD2#%Aw@6%{cARJDXRCREVqzds9`ZdB(}A+SOcbJtGSc!$fbv7+TazHTcxB7`v|fx4*(I^+J-f;!Y>l;9Hp2!8^hO7*#$5; zt0OjgJ$0~(mZ4lC^LDbYpMW{7fEK zPs*I^1t?&$O_lfyDZNBA(r)L0M%w*6Qcao0#Gf>co29v}Tdiot$!x1JXpGZ?Hh?<& zq7O*h#Z`UhzDa{G(Tt1R=N-~p%@1fsqnuAlY&%Oqs+s+C(>qgvCx?$YK7nB{QGl-& z2tYNT{eeLQ^VhH5w}PiJ4sWoton5C`wT6uiUU9kNG~MTkR#|#Y5Us+sQgUlMco0>} zzM!!M>|3A}@%vVRBwGyW6tVA}5+K)@%utJ}dWZoHj@5;_sTUXV!hghu@g#zU%d-s@ zu*4^m9F$J=Dv8)P(-N9U5@z!>s5x$` z0va(6Ow8}I`vup%$QR-s!$39KD)ZY!+H*IWbLbM?25{#U?A$<2(t8(4^jFRD!=JCJ z5e}SN7{9W0Q>e_pkcb@Wz%C86c1DX`nu{$MeYjBHd1VOvIoRvFB4e9d>3mm=o!y z6?yFV=t8j_g@}(vapc#G;z!T+A4Q-b+s=nbTNHDa4UvxFu3y+#eoAJ238UJiQH2e~ z3cS(fie2$&r9Y){+Dm|!Jf)F6HK`1oL_XT3-;-D^`5is~9j`3cbJ~ln4_lg+nZ%h{ z4EdIo)k0tXgJ_3tq%&jvS8)r~v5LX+%Ne>@>6rbrW+xzsp;1=DA59yYlRaDBpQm5X zM(mLSu#rHUyL1*AISg%mum8lershsFh-z+L+j64hp54CEV!uf$+C8{M``# zZn3}Mn5rXu3+tZ#kU62fd@1krPuC*A`X>utvo476if~P2ryAf?H@eKTW-7Yb#$|Cc zl?v}57|FhwPQ`cI{0T7Nm{r&X!nn|-q$j-rEM*B6Jtb-*Q7Ck=f+y3frBKe1@Kh`> z*(@R>G?wot$t%*yg(_IfuW7>ds=zXJghKkcm3O20h4U2gLjc(^{ItEfo#%RBty@ie zoN#4U3iR-J&+{N)F`Cm6Nj^+cu2=p{|A0_>Elytilsqh;YrB;5FgFD2npul35mpv9 zWHvm5VtSAH^m4oS0e$bce*imQqxYl!n+Jefb`BJk(>cZc6zSK7F5JLH(*2K=*#$`S z$72LhOcF+#wjQ?f>wFpK2JOJ%el+KOKpSVz<9a_%R^lC3M>^SSxl$OdnFHj9-dlW0 zINlWcV}jf_o6W9!$g4TFJWq@M_a!!1rw9_0)qZv{-2RrgMYM$mP?nz@E1SpEQC|N!Gd;A@HMWZ^IbYC|m1dM=(cAa)B zOn0lv-31AlM*s8nF1}bCnE&8gM1lTW!(Aa_7Vl`&tPw{0C0%YKMNt1Qpb3rp4|u03 zg`zpJyod*iZo1Vzn}pPuE(vS_D+zUikm`dWQtvt7jpivp62xlk^lLe0>9kCZf z@m*T>TN%IqBZ@DHuMoQp*4By={q$k%CATthX5pn$<^TWS+o!Y<;2Vb_at#D=7MI1k z7u=PZ4+=rT50pfs3Fvojkn6q%ymN$i=^C)^w}LTn?kRqQslDP?`Kk5$rgn{CmqI^W zgdpwGT+{>M{iimyZ{M^&&lyLo-UBLk@^5$bbdMGO)ByXQ`!M_!4g5q=GnPXkL!3REkPZuwpAzyM;Ot9` zynAuDPBmbw)UUV|o8phPaUI&xzKo~$Y7S?oI4#fO=>QunvL~LtM_30Q^Z-vML0jDb zPX)c^+`n5q-IuxS>#ts{W$S~#za=6TUx7EHBf|Wx7Kha(p7+@U*>s{hEItZ;BP{{` zE~Q*B)_(Zg{YyagSH1YFc~Si-fH#jq^uf}!U1plafX(Lm-|Qk!A0I8zZv5<>R2)Ff z5AIMb4=@oRz9Nm4D!o5!un~d}`{3ibrj~8M$2~sj?(o0S-{t28_!i+oAHMyiJH)qb z07!^$fyZX6IYNVY$>N*UN`rOsr%*w-j>y)->4^Uzh4OYV@J}fZOyuHz_?P!0#KkT1$HRw=Xgg??H9ey z4&mF3C4KM^pVHv=^qQ>d+|||@Qz3J$%vN%PPe&>#C2%cuLNYTy2|aq!Y0nA8ym@8j zj$eq@UYS&!+CV8t@yrAwZFPv(goL-B`J4%fcTGsJq6%|VSXX^Zgi}(fKrt&a4wWE! z5Z={e7SA9l12HFP`FkISeFOSJF>E$eTr%e6+$@$4vl4kSZ0wL^{O72b)WD<{#-h+Y zeo2Ejo6za`GKUnKQz}RfWb@^6+|UTje#HFrY9DQL%&944$y)Ymk1TiEucIb5A`uhE z&d?W=Esr}Zit*=cOW{SB6mcFJd*+PH?%kuobnT1#G| zQ)m3&*y8k0`l^&(+Jf3_4{~oGVi&i*jIB{+XnmK{L3VLr@iR|EKO-uwg9j`LN5rl& zwQC?Mr*JQ9=xZ-NCCR45$+Cwwg}{|W)WwN5twiFmpsXAKE4Ih(A^z8d9&4fzbUYTy zsM7U2?H_4*Y$W;$HFn zpvT*d)t{wa6W}Fsqra0N5IvgO#L#UJthRQ&YELtj(u_?6*PU4)-OpV!^~@c$!iibT zp87N0znH6FUCH35QD>{enH6)Y>J!a5ZeVq?A2663XUOZ*Z$85Py2{_B00fNKRS9pw z*hcS4!0<|PG490*l=aiQFfuVwxd{W521JT=Q;|@t%lsNKPZ5>32bS|@qJTQSVUcEg zqgOPb!7D8{=RoJNP>oVID|)->WWPZjbhWBqS3|fBGF{j`Jb`b-RNo>=;T*YU*pCVG zrLHmnf%D9-8lq$bO0F~#up?B>6#r5g{n9;lL*9z{O$^?7?|0skUR~E@@dRD zL6$HcdvKGfzb$X7z{SA#n=w^f$6;LTv_>1yK@xVWwV20~Gys#6n}3%zkcxv2=6jt? z5IT#LudCNt)OTEK@kIf9#DMwsMY5OJPGdPAYqGFgJ)mDo|62?DR zWV^ZQe5I;6xzMuOUDo!fqSvXY^>lI)2T~&j#(u{^CVr${;D|~|T%h^mAZ1&s%gruy z$44*&Ev(So(g|#?3V6NHuH|Mkii!g}PT%BQz+qdDD5+4g*SQJ`Uy&!KYpex_Ikq!p zkBLNlC% zSQ|DLl)c+?GpjWPX zK*Mn#mo+!b*`GZ=ff{*v1Am?1n!&i_rIs@#z#k6z8mQR{!iP6nTVw)^E-~j(e}ZPk z3T0Ibh6g${mQU-LLnlP?A-fy380JmdCW6x*BQLQ3xElB28J0V=QC41!k+g%{){*5_ z11Qw6z6w6?{OqgXa|9&odh{O5 z0zYOvv!&3vxiiywk|N9qH$5OdF!RonXU?M6S<$-oH`6aRVZo%xfK)RM@gLn{Sjz-=_Oh>czn@T0WcMRT}*Uu#dBioMC2gbcyB~d9jtz{D%^YP`_ zLz+HpJN6`}{TIA)mZi!M0DYto?$rF7)k_rr`kAx%VCt1naklmNjtrv)6zj$6^!NA% zaJgr1OKoq>gpnZYT9%pp)T~jyHQHi8$MVQVhO@)J$28Ke|I2=OeRZ+-|)x~}*ADN@3*(iap$`^qV*9sTYaP}-HSu>c`v9j)^m8?oR z1CmXzM8BN7?JOPySomkaf-K(Gc^8PNAn6+SO!!?WG@%IDuasG0{kqir4Ly>L0+AiD0Z}I_dk&|J$RAjY>UuM` zQa>set57=f2o`gQVUIcCKH2^4F>|2b2pX{rPbBm(%>7;BFNzU{ib_S-Cgk{k?a(frMY4AgSEzZ*W>$^-asNVVZsrV)U=di z{wGG0t1>S(nwcyI_4dYCAMloPqPKvSa(gd<>HV-I0ijbsOvGKYb3;N9Sm(`-WZouT7bAd@DDK6L#}Q5c5%qB2 zj}v5C7%%(+22`3DIJ0~fkBd3=Ks2O%8S-0v)F+rN;-gmMV~-QXa!r|&fVf+I(h~ho zT?s93IbnipOGI-GO3XpU2rJVG6JgLgIB|c-lr|;Df2lZc6W?uQ_UE zowN8H5UFm|e`<3@N94&2B2k!Vl-8oA`zO{^?JRl^2t;aQ$059=oKxQ-g==l?+*TmO zahM&I#l0y(tYycgKoNjr{y+uPR8r?nh-mf|x;rg=w}^KL1Oy^pH6)PdP&<;|e%Lop zKMQtrHSA~~6f^=vIFz8Zk@yf%m*8X}m>oyL_67peVvM?&1t&gruwv** zixDH8&{bvTPg9p$q%R9|?QZUX2tgUwn@P)puzGAQ%qdwqw)1&Igg^1YqgJvP!h8fF z5|`z)dq!o?PHJ#ttiLB-87E7eR*1GXnB^>x*3F!<5CT3)`IqgJ63gBkz>G=u!vjIaD3#@+=ys_NYT&p?2n!5uJYRIEddHCVJkQIkS- z24-N7PBhjFX}vTRj2w#(^Lze0k7o95UEcMs_x`@?YidJvi)mwAZ@hPEG@{`#Xk}vx zN1_a=lKKYO_4E9BtRI6y`^vO^X6F^@mo>x82BJ`o+DV1#=sM45AIe&B+k^pl$ z@Xk&49e-Hy1q)WE>n%OVA8G)zODYqR(UUF3;?!Cn0P{~%g|5Kh;@PzW5)oetO{}N~ zX@oob5cqN^IiJ+CDq+x-1Rdss+-a*M>f z-Tb*TDbHkmZ-wfwGPvj4yc>1~e=!3QMbPxRTWw$9MzzjyNr<9(d;H(gpvkl>@e|48 zL>*q7;>33wDc=&$$IJ8gh37`JOSuDEiM7_bYWLEv+0tBNX#0jrj5V5F4PH!)Eu4e3 zP08epH@8L9(^(pmS{XHUr&Ni?%?~#Td8^HD_7r1`QrFdREok79Rr#6hvoGkx8A&WM z%;mpq3-Wr< zk4d3ZvF_p#jo>K!h9rPdSV`<7z%H1wt>?Y?Vl#k!*X4Pd`^iQJBZ$Bdy$wo$rc(jv` zs1;{SXTovN+sU0w!*UT+aEc#5(^9$v2b*Z<+yCR!K9KG!1njQYcsUudAwf7UWd?2* zh7pccBu#!B11b6&Kw6^%?1y;T>}V&)F?Y(gk1~WZQ`L;gPw$Y67%iCJFC;L$HVq5s5l@ z>4Wt|a#?tq7EGhGA=}DXdAGXf_oeY!T-$;fs#DDX-&+^3gDqBd{iZ~(?MRxdRHBbu z3xUT~r+k5UacTDiz79jmh9Df>}i2TDwWvV*vG_4=a7LSf{? z{d+a@XWR-phPvjPEBy8!0UKrPhjMCZS4@Ij9@rJh{NpB5M%~sBH+o>{7#OF4SNTuR z6}T`^;&b89LjTa;Xn{lUJ$t)3)40S<_LUGW!8$8-Aa^|D1u+EdG8f8P1oq*EK$SSM z;n5|I9b|B2l!p9MV0d82@nUih{s@5@(sH9+TJ4Wf4A(L?uFP=>g79GO9-!$*rbEX= zT!#pYsIP|8w(LYY%KZc!u&D9XsX*{{~=tj0Q z&6s2Zya&9xxYzErEU68%st_~;QyYd0eEbhQ&59%nxaW5b}@Cjnk`!I zZ@x{yaLo0_rTe4UbF-&Xzl42v4elegdCou(HMJ=D#U$RE!N&wX?3g^SKPl;pJhpVygk6>p`&%qw@P_uXk>5)8_Y2(xe}90LPGf9Fl&)Y= zM)fniTQ)jwCFi!fUOAo!qvXp5UZwmY`?#M2_UzArGz-?M#r{6n#c2Z135>vKgRC() z6)}lF(Ny7%#n8G`{&FzQI9FM=8>{?9m#|r#rN^tE`h@p3IbQ^UwZf?Qb*j_#6QTcx zWIcb#@HcJfr_AdFx4z+@$M@JI<9YK4`E*DdImRQ(s(L4v!y4t+>!eWNRiX$aIh+sntyp7 zXOX?lzEb@VGaP^Q#TrYpK9J43BwvVRG-%A@2vVj%%!XtQk4-vswPxG?xmf3?jn179 zGALJ;jIy%mTLWF^7rv9#K+*pw*Biqvw6Q&ko~C@m8k2A6s|B*P&1l5suuum?>mzJuP;N`oi`l9W`%us zpzSGLSW>HSesMHZ8&HW*&a_8WLPR1JkBa$2{$vmGiOIr?u-JYs2&8Wy8Kd~Q*#4|D zz&B9%{PHper$ui+a(Sm7XFoZ)y)uq-`)O0O_{A-W(R-9cE~uTH3D=pxCg^~wIOZnv zJ;v+Oh$y1Sp!_*c+r-#fHJ?w8(uiUdBfeTvjL9Gck4!7#0Nqa_stUdVB7}U*Rb{yO{jYB%F6FPJxFK;Vw2m01^87jF zZ6}mPyyw~$>?n)0HEy7OoI@WTg+P~5)ZWX~bbfUDO_kZ5XJp?SkX?Po!iyDtEeJMw zZUgm)F{vE@B!S*qNcT`s4VzfK0c+<+;Ff`EcHgP()dr~9eJ8gck_}D|AsUaYO^)8) zmh@&dg^tg)Z-p<{(=#13BzTSx8PUz(aw9 zvCb`Y)Z<<~Zv=pQN5@FI-t(M6SjX(qnLDHOV1AC-H*V#ERb^aqdL(B)a#mrKb$j%S zde3Yn1}E~NKhQmf!v3so@-C;I8Ohz$Ag(rdy_d4PBF@4uj?`N-YAc$&H%jo3)`BFq zgExHAruwp<_SvIY$YOfm+Cj%LZnZ@L_9&*6w6`UmeTVkm!JU-auu|JyBDb5=`KRET zmI}DcRu#UMp70zJES+;|N5pzJR5-bs!7>~%H z+WX=vLY4NeCckK<)+pAk2n;`XM{wOBn0CF>zbRPV=ruhLSvn_j1_iyW+3b(5qnI1C zENV(ob@icBpa)0|BZHF%&|7~2m9~SU4Fbf%!$CL~q|m{Z06$VgDHQ*d`}|I*rE~jX zycSS`v9EK&VyEjDMv^8ASIc~lxtLg+uVXw`tm1HEOb{Mn^Hh`aH&-Ht>CJEOrn9VL zKpVH4vpdQO9Wviu7|nheDDfU*#ECWeD+#Nk=3b01?lNb3EX>u)hmZVe z!v2#V@ee`Y5mn z+ln`SJpZKyto@yIHfeqN;4;(-5KnbNnmK?6X^2V9hC*N`v1Q@j@&BUGq{6W1?W0is z*Y=W(g75kdfYZ&FSbv5hq;o4QJ1r-`0S}u_2rUfS$yXl6p&T8e^EpdbO(vWnlHC^F z`@-m_CNapeg-0rpsbXQ}scM7cnIdjvud~$2ZKQezV6HL(+hiS;sQO<{ZUWR#^mqT+ zVWIaFNt?`fz{HrcFv^@HiA6xNo|7G~p?{7!h`^{9Qe*h!9~?P~)df?>nF)l`R8Zj_ zf{etrO|3A_XM4_Gs=RI^jVj9Ucbq+KaBUhN=Px9XU_A!Mq0QyavJ1x(gf#xqfiMpF zZnI?A3W%_r{qA(1!+U;)@MgeDU#1j6C;eee;WC{cuU@qX$IvSQ6x|X6xK^hPw$t|E zboeiNV+`tWM86Kx)3-=@_!2#qsIo-h`gCFJ06YloXF?R3suCW>oAswBfMK{vMbpj=Tu>eI|3bMY89dOT@HIyG<~s?`yQLD(EJQmSLcqQ z%$^YQT!g=+s(Kmf4BZH)I)XfSRe`v~76`t0C~j5?1m{j+dl1au^%(xIc>da`th)ch zZ!{FX8o=o`T|YIK=SJP^EiTT1?{cX_Z-%f6h9ubX?h&IlBkYH8l5sPIOpn@4MiSEOyTxYKJWZt`9HpZSYp+{oX0k!rd9V7;O@ z4^?I3?>f2B2o0oO#gYQw=K#&b)55Z=NEWlOvMpIDE*pfk<^g%Zy+zZo@y0-fjL__I_F;Jc8gHve7f9XPl*OXM_HMe(a zd8EBO>y}eY6t-gW>_aSj@MQ}`jxTZVRiKB?k{--KDV!q?CA$nmfIG@r(Nyn7UX3lB zeI!hNl;_qx64Pisx7t~DPL(&iMrhVK>4->b;5VX(tPO41b4O6^;7!hqZGa)B2-oq} zi7m#n`>A1~WC6@iW;E)A)5;}wba|-NU}5lG)LN^*G{KOog0sL*dmX;m%8Q1y6;8MT z3w_*f=)z2xz_n0=u%sZ7OSYuo_HHdB#XG5nhB!Lh0?!o5B%hpzf*pGS>k-)`tNnYv zYQgufb|@3Ku!Ap0{8=yQ_P50rfbFX5PTxQR&DY1F{YS zGRWy4zdEYSK(2AEll$>thy*jhVmiLo#BZDqq=E$hqgD25xQo~5!CD^h{lpRcZ#)9pKK|6l8pb!Y|5flvWj}#U zuV%C8$g{#%KAnZew`yB?I$wSyU$FhFt9q93OT{cFAp!KlF=Jm5^CIIM!h_fo`zEX( z0YucZ@G?bkMWcdgNEH1L*NE)?J0#L-s+W@4W=O%kR%!=@(-=u%HKUM}QP3pCMmA~t zv-6wH#xLm+?uat@um&^>(*$Us+0r<&W3Yw4-l=`P+8x;#rDOZ)R*O!8h5SNzdym)LzI*_ zP%UVY#`m~NQ3hi$da{#K-fP;-9oo#Z(X)&&%vX#4#B>TXDRfPo3(~I%bcaKwBX8?? zvJtWNFQ)*#4CJMa8M9)_dcXcL(Wb-L#Oz5o-{>EQc}NNHSsPPz+&{{$Z}znL z)c=qmBDSdZU8|x6-s_gH+FymvZg~Af>2o}snZLQ*dk^gddA!8-r;UgCroEZeSQPiy zhYO!Su*Wgutn+_uQiek9NEFd6OdQ}&UuQ@s?4{Y@+B8cT!M3SlGe}wS$I37e$(D!W z0kR3xg6}{kIMo7_8avk$S8H|hKD>hEW$qxLDdxDzt6l8*56kV&#v!q zM|G9j59y5$LY}*oYZXwXaz28{4*&D#GkvTT<_akK!@1!sg)8YX{KNlg)Bj2JVE-Z2 z6X(5oQ-6T?_mWALX#Bv*eV1J;(V(ZG>AJnKQ#+lm)1@@$$3k9LNMHfYTHO2-duY*n zRwA9hk8_`lEW&bRk_=adKEBOg_#?#T?|*HWIy7?ssKbX{}Y*ul8u|G^v{oY;f7-MoAr^N zV@mq0;+K;X?h5T&D&a2s*80qjaVrI+t_VPKM+0VZ|3^Qa-Nr#fxA0PG^va-JMAmyL z*o+IWWY#jahM(TBG6B|l!**OoDtLw}BT6mXPnV?rAEKI9Q73QPr z<8WABCN#1p1PH$Zl~%fA_CeOuwIia|c#zsK)tDAi8}2Nc7OXu1Iv_M|v60zmO4Fi` zj%Bs^z*rPg-jIG~24ahR2U$O!zpff3z2iiLyAF?2Tfs8vk<>J!vchhHk^PxFu_Jtp z9RXqq#WWiNwwLmzR+tJ&xos?h2!ty&p6AV+RxZMt+R!BpU;o;?nbiU5US^0^pCYWg zs81<@U1H>apZXbns;D%%gGQAF>kZ{WXhiJU>E94)Oa0ZOMX8Wvo<)QIPxWZVpAL`& zs~+7>Mde@*T^JRLlMa^hd)!8AaD8!0Pym~yCdTqNTqO1FIm0`5D)Kb#y-iKF;0f+v zBM3f*+*-~AQL$`w-JJgH$x!u|fr@3@7uPH}uUz)T;5X#6mJ}xGN|cFJxo*GY$xu^t)=R<}lwhV{eqItZF< zlDZO}kFqn;aZw_l8P%4(YQ%~}V{iMH^I1U#n{s_(!XHGeoSY97F(6r-Kq%=sO!O%+ z;bHS?`{zZQHe`Af)S6uv%YM|CdC+VGBWnc9;c!KCa=XBd_LtMs$+p^)Z>l4%Ig*kp z9NDGg2uWqg(HHwh!%<`DMkxOz0F6EPl`<{o0RIqo;gJvoxZp@_vD!okLkn=%i!Aw$M`@|IFwL_^+3 z!LLC)0xxNNKA9NKqT>O!&Wt2fJ8llu6mF$JzEosi59i6wua31JkJ!erpKJe?n;)V> zdKz!u?sl75MYqdku>QuELvKg^W^y3rJy&veJOM$$p&r6{b>u)iupqp;{g(oJ(e07x zNs~bE;+E9V)jfBmM>8SJkj8cxTn_@0hZ^`MPaMhJT0p-97=;?zH_dK#Bl-zwl=2Fq zRwh_yZY-TiO@ILHS9QV=FX=??* zDx=bHcIS9bF@4^9@5R3*8lTSWiY+`yWB-W6SOHpwC{)#BDE%zh3t*~o6g+PTj5{;Y zczyLe#QOK$ReytqeJvV@^vJ+HTbf#MyLqp*#jmhqdh9SeY5YPQKct>!Qxl=Ad51dJplpD`?8nNsn#IhYMk`c>{ zVLR@bCukMSS(aCGdS&}O>0uafP07pwLLT&TJWva#9!CsO{;oSs?PczHPZ>iAd){bS zOFb)KxF|$FI%T@D5M!x)m5E;_{IgTu0PD#5*24~M!}3{*HLEyz8yTv|9B~=-!9U(R|LTdJ0pH+#Ml-i=*Z5? zR1ip&oa`+6n9dd~6fpSL8FT@vqR|$;SL|kk;%3&?DnwV;4*p~w=uXHCQ>5m z%_TC}(qAap5X1Bv{1l#HggMnc=-f7-{Yi;y##%k@HTbD9BTipWl*Sd8UyhuB_TQAB z&f(-+%Aw$K%emN`Ea<#kk*xO2gfZHQ~i=Ll+AOK@QgL*Ppb!kKq&mhKV!_Mu<8{-f6QFnQN?s<+b^a zhQj#~#u>w$6ntXd%3z9nEBFoAk92i_p2erB9#kn|;3c`epQJ}frb`1g$|1rNMW~Th ztr=bHuG*h7lNoM)RG2A#U#;lmxYrcz>hjWTm42#M8xrYs5#vICRm4b++2Ps7m~l9{ zPMY{~6Y0YL(3ZFMA@tb~G_l#evCFV4;HPU#I0@S`R)*pr_;ObE!!3PHV9cj}06t9_Wq6fl_1A5^3%6A4Si zGS(SiKjmuZc{xY64WB|q`RaA8dVz}z{afpntEhnsYfKg9;XCA@rN`*M%n0Lh5te*? z0P@1I{O{8G4U_A513*lfqu2vAw!!E;y4&R4G?VGi*6);ehbEV%5SCqH1Rl+!!L0Xv zrgD{kCjJry3w1q<3r^NW!uykD@r6?+x9zoyREF_q0edf=zhVv|e#Z%t`&~i1!P?Kf zSB*J$hmrr^2<3l+5|F!Zvc2l565Mr;A$d8|yE63)_tna2pDvuR7FEhEocz1XNC(Tu zsxk1*pAr0qk%xX~EsQf}pfhGNwZkSy@r&j75J~#}+L>l557y4sUrE|6W?A0!%WBA8 zeB8Xq{;<8GQ1O&7LF)5$RL?uN$@|dog@LhXD%;Tj?AB$r8idN%lXb9=h}i~lqZ%6= z!*~AXW!lBIIb%R8S5x!Mul#ea+PWZK1v;p-Iz^6cq`s58fV>La(|Ru8_&;A z5D4B7pYVj0ZLb7ZI7X->bM+iy;y8?;^>~*)A>RmVs*%8?e`}BxSblGwnD90whVFUb z5Mw=dl9v(w*MWIErMfn-(Fssng_pR4j7OWBR zai_mVNMCDkvur5DsVILi*a3wu#X~S!0x>k;=2ujYGL6+`DF2g`|%cENUFBB8yFh``24i5BDlMPo69eXIqWLRi$f z{6%)ofQ+)VVhWKWQ1=zgE6Dqn-K!S#)gM{Z#rVTUV9RH8qNHnwl;+&P#6k`VBG?IN zV5k@Q$#=kvVW!9dtojFxk5%8JRgdTAKr;y2;pJ1sfdjeu^+k*~=pTn0gtHK%rEr@G`H5fUxE$+{S)qb!TXB$!0o zR{4Xndm?1*L)ANZN7>U_w}$^$`j2vp7^|_gq%dPPKeubzkNNDh zdJ~ZZTjl9v!6P(Hk+~tC6P?Wv5&MIgtQ6|i5j{s0{Zl(z^52nMLLl5AWc|#pa|+cV zoG8JL3o3$<^@e1ucRf3?Yb4~CQ)y%Qi|bM^{+$5g>{jJfMtj#|_uYFG`*(e$eQ59M zK~C2NUtn#?fvoIgE4pUM@^`JepRT-3Ck$Yvq%bZ15^Q&#bbY;s0?@&upm)Ae|;6@McQjmiF~X=r4sYZk5YQHKg-^(fHvq-^b>TgY==ZQW zRhrLw{p;}^D&m}gy(!P|6F^AhXj7h8ZX!#D5N8rRqdfUDPn40HI~V`C;f&m%^rE?M z!lYRP`gqg-`uU&qnX)KIB-T?!eL>x;;ROojedc2o`nk(geoY_~3ASovBp;AxD+Lw3 z@?>>M^!D^86I4^*qjyXmV&zlo$y82w*AujmthNEw8sx(3>VejQY{hY}kr9ywDEc&k zFr`tu9^{!>>UbG}PNHCiX6?NW?|tEo%)=w)uYDf^S1{kmgBD$bVzRur_~V% zq8fEsd!=MYHNC#PCJynAG~Q*iA#o>nZ1G{N zb3d1dahYb-EqI>uZ>zS&1$)J<`py3C0le6@m_@a7w1Cv&3chX3@fH4-aT-quNT=%+ zA|a9cKy!G$F2djr}!oU*l17lRXu?`lPvw-8paVvW#SJ$bE zs4c#&MS6()GG-0$jhRQb1+y1<`lOy}Wng{x8`1*I3~rH023@OYqwJ@`ouzRu;JESL2y1CXet*|{6)2egPJ(nH z`IOg2?4SVZV6GFj2CT=NYQZWBU5oD*dTfn)$d~FSnR8q zonq$?>AWooZ@q*|BL<3qG*gXY0gZ+0(Uku}3c(xM^iBWT6qB_D1AopNDTeY>{xbTM zlUSRd-654ht7`^e4kpddMt)v#(-ds6F6GiVKhQsOE$oL0U#azJm69;US$2M_hhcwT zSg`$~39MTZ&Le3N)*Y!f) z6^Qh%3Ay-?YyE%isTqy?`uC&O&fk@{T$@;BnNR{q1c^{+*`~afzgW@o$Xq%Ls z*t$QHBrr@N$4cdl(geaRh4>SLD%5Y4Zh(!jwY~ndAwrxR!Na}&$M!e!Y6RXdS z2-E50srCDSWw~D+$_Ow7v~ri*1NeXNJ?>d~)5_DhF{j{bV_vDkR9qD=xQ**>!b%0@ zCc=hdSxxwXF2i6W)4&+>O>#n)g!4>w&zzz?AUPpt>;diPNchIz<&t#W_|nbYW;;vb{Ss+Z$gP~q-p7(5B zEWB-y!U;f$-!B_@p%hQPswncl>Z zWO@6|O)^J_u3VeUABONU@2Vz(L9j#bGVQY&GE=i!YD-9M5Oo9Zfdt=88 zXdlsYndU=W<^(jC=mP^X={S2K-uP~&2PF&uoL+Mk7J3g;vVYhypN4UQ!nX!&2^EB- zt)0yzD;hal?i4_vZ66IT#Dk@FsXrS8S~!1ykP2_CG3Oyf$9= zw+L1x7jNp!7%^pIRk_n5>|mluR<<7%wgfqoWx2|~;U4HKpMte4!75|nHv0HUQvNVA z8pS3|@5Y-`Bz|8hU&jlaUpw#8;0gH^Z_EnZ?t zof-);_~}Buh!KDwO_`8u3^DV06Qdxd}Wsmbb(ZmI(z;NQAgf6;|RE%;Zl`kmnnUyVKXC3**Ubqd@t&DYCR3v>$Lwe|^X>aT+ zsp+rV?T;-HM=JqZH{G1do>i7PnzQ3a49FbbM14MFKBbmDJ{bB*KdMJjFFhaA+iw4q z&#U3~6{+b>b+(Q|Y6bJvzs}T)TeJIOO-_0r1?bQ-XdunQm|P+`Xh(TS^9= zmD+HJe(J)9J84g9R)g&7WA(opHs1%_m2tf;K1mB@i~|fW(yG}vlSnbe9sSaBtU^eO zeP_2Jic7e0&fDOu*n{3Axec$;yd%d!K+qn1_eGzLhE^Y0)A(%W9g29|Qt7O)?7MK; zKolKTy>KIR?k>Yd#=U^0P2lZ#LfV$XT0}?34$@$i0#q3G1^<{bZ1O}|@&dRs8?0e# zrt?27^3Z6yaf@@uqR~j4*t<{vpJr|ChYkPN#syCvv~s8SX(#|`r`HQ9Rx$z1Gh{Rf zC!$<23#*Luj4bIJENxTc-<>;tVIC8egE5hKYw8cD3+a;yPiTJ~z1^m!^#lBiTUb2T zX(FwLwlm93oiz4{v2)b9L%FG`!1^v>PMo(uLQ2~tud>45c`5t7F!Js5E->HNrcuU|%j~9i&=3z-ZxL62OEPD>ZojO1ff`43t=} z#pI^^k@+|j`IeZos4XgeaEV#lG~Wx#EE9NZ953U|$3zai)KsV>x1w^$jU&OP;Tly_ zAzeQp?H$F*Y(pwA8O0l4$UId-z7X4lWvmK^jc-9hnKQVx%vpFym4-o8f%tM!8u>t~ zy1!+{W_1q8sA|vVFDBBGxWh={+=#4%Nqk8cSNI>FEn&DFNU|*7o?;DU71^Xq<=v$h zj|E6G&nb+3iT3D)q@OV_k?~OOhKZ)V$t3jlBG5fI36os@a%Er}0za7#B-H)~?Nh6- z!Fv_bhB;j~!PPqdb{?1`sJPD*%*)^Ap7?FEw?^}5C5DyQ`!lq3wi^=*;(tX$1{aJE zL~^%+L|^y`O5lR?>aYf~X0)NNi0HJ=?fXMZehsE7>)lS|?>FvkGkk(=IA(VvgTF>P z(>2Vsy>_NLsq_E+=Mw2*%RJ>7uU44s-#BdKiL*2m>{wTP!}OW|u26<*{iY?Hgf`^qT}Xdw~D($@1L1`k^~hna|9 z)=e&qKNALj3#kc!r{r`Oa5Y>7EAKySIx}%p(jhZkrxTIvR~d8jQ)fcIp7drz31H6N z^OklNJ0^B6^z}pt>II0&{1iT-94W-+wPQjh1!#Di;p7T3@c+n?#5>!PR4t`|L;el} z1QlW}`_v&5MfVc+GKNWxrl%hI*J8DhJc!4OR`#%1im+ zDXcB3J#VxX?9AK!^+qTK1N_R#GCH9>gerah`=;xSg-IOO2FbMLEO2@bdT$sd^k|vi z0)fdff6{Aa=O$2PAQEs>J6%n)_NSU=$x!{jpNG`T{2bgtn4OWU#XnbV9kfEyIF$2e z+m0!72a*_^uOj9#Kh*#I!z6}(2akFv*NIpahRuo*R!d}J;c=@9V6Ct!z_3X?$;Z;6 zCy^Q%cNql$7A~E@U-R)tCFda_H#qre#t4$yZU{sE^#u(XLpB#ms#x$VuEB=ZU;}T5 za%ldViHZEAhSFZ_vywLPi0@6n1f?}4lg{qPKK~8wNtz!fU9iOY(_WAKu_g@t&3=BT ziu|-WZvH<-^b{uh?f|Ue*U%;hqRfC?6CtK#DPp%dfE*`B&)0!tI)6N%uTXG0IWu2j zb420xs=cS51D!7UwB<7CI+`DBYm3{(o$tT?BP1`9UoguLLAHyz69}JaKaq5@5xuJi zXa26_m{iyK&F%MSPhgB+6I(xZO2oXD*_`zLA?swOI}7?xdQV0FnSMeDvYnTa<-!F2RmJV0vO0fB#`#5zTL?^ z!DZ)mY*-KLK4%|}vY}5>vwx;rc7`}pp+>mc8M7N-p5;j@KdRRM@9#mMf!D0w*obmU z&~e}|5V15yJK5}e9df0^ty&p$>2NFQlBL6~q>yr954T#(1vCg&h^}pZleEKcec{i= zIs{}7=)0-xTKM@t@FR=Y6rrWz>%jFk&Tqhl0n*ijA&@pe4!dnZF^EN|N6&_eal+Xw zr)wGh=4XzWNO7L2 zsD|r{20<`Z4K3B&OhSrG)o_Srb48Fp;BRFlaZ_|Vn8!`!lkGDI^o+*8o8ckc*vuX? zwxW&2)PZ4Bjq-165C?&PJ4>5YR&|P@W(L`+zvmXhqNjJ6+NzlCIvd~}qyQe*`O%P@ zhZk;*#1_swF5fZOd;A^~tCd|@?Q+8EE2hbDyVl1}U~v)oke^_P_X?pEl2f0bJqN^J zbO|FA51_82N<8o;fn+mkD*&ps7xzvcF_`?ruE`CVQEvV;13iq_vIczfhvC-Knrm~j zw}jGj<~-H!ylf0dqR7mi;$oOl(p>m=oC$3lPMpTKagM4&hQsRQIp zZ>j_fJ9!;7u~l)0+6GV)8MQT!M4^?KNBo&e^X{p$cwh|FDn&q&#a{oco3#MA!bIX3 zVq?#|GjQ@ZBny>DHsgI+Ja+U>sg7ib`yOm;K?#Mr?KQ*-%aT7QM-D;HeD0AwXZxk7 z0JAYGh<=#}^#f+-|IZnaOIzvRd$sfeGI1xv^}oy0&bgx^&>65?XxW@R>aBD>6Ya*# z0Z+HHjc5O~&%cUyku@+4@+NY|FRwJ^h@00Z$v(CCgp>@tnMvhuZq)T?o z57X0M%=%wHuQ1+7Y^0o?99s26!3lzQa=&MvhF!UZheIx8#dZ=^Ly)Hm+QwG*AWR{y zGpW}E^?VxAdlBqvD0T5jwH6amaA_7L4l^9mIktirLWcgkol-X_GlzsDf$3A;mJQZA zIIQLdSB8U0D3O3rzKQx8e8S9~r4+u3Rr;5Z)M99x5iL&_G^Za;aD%tfs65}{Mk-%U zL@8_q)@H*qmV{NUisD=mMhPfZ0 z&s6q(1kzgCzlIKgt_W&YBBw)ZAJ4m{(q17IA;>T8HI?~$PJ>uNq2(SioDZu0=~hdh zi5naRsa|Zno;MHGlr^skV-LZzNzw^7Ra+;j+SXm|zy*5&#}1KObgY5)!$A9(qiT+B z%8%p3Atdv`)<0kmwNKz8l7HYd>ckkRyM-kovqi=7*Desq`4t+sy>%*MyJ#3tqM@vR zhD`hqm#YtLEUFpFU)AT2Vorv@dG8qekElXj1Co}-eD?n!zvEL`!?6+kr4HvCUcxdGKa7AS<>b9kS27}jA~3e#= zpQ)wR=f5?MK!RfFbZ60YXmwM5n$(6^{ILs#@ zNnRu=$fdNGCVIAV`=_}-$WXlnZr>Gq-C^<(49 z|INIGazT|Wl5+qhwkF7|383+BJ2O;~O_+>{sZfMYW@KA-?v%6VAEt;NHc_3EI~}yw zREWa4pbl%USx7>UK7LKY=J^Jez;l)2BI>0Y23vVjl+!O}cO}t9UshqO(C!fq;gyqZ zE%#^`sdGVH@N4sBLLIWMZP|HK&UO}U$L1I>OeI>y?&n8ki(;S1&WzdNqS$_C#d%W@ zV&h66OK+gS1&3`sHRo>_D=<(%x+^yXKQo3)z-L3BFm6a9FGWBl6afWsZCulStR&M? zJtU4pm3YjpK|IW$7$Sw3Gito%dg7CUOBr(8V$_|tv@GLZ3+{VE_7`5OA^tc~xLN_o zplEAD@HJz6@6>z!J-k~^6VjzuHa>D_{;0^=UxOw>w1+-Y?MjVlIQqI5=lOj#w9Tm zsa=q*J!RZRv$LQc@#VMEuHwv;l3&DQ|8I8~Q6768gim={4e=+$j?5boBI;akfFZ85 z2S}EW<{6fpSp-{}#5#d9Zb+I1Ag~w$^}2X6%t6B6Zx5Gj4yThfdo8VgAv6o zoT~`-L2jXaVBLZJP5_nFceNmM`j+*<$cX@IKViYPva<3rC-+5$1;#}APj-AKH?8zi z<~5}>=7xh`xZk2KR?vrZ6a{C*IJwuDMuO>MvX~`uXMMyyXj`2?hFF&Qb>_X_@*Y9i zSC+N^onYAcSJ36#JRkR(4l}6e8C8^Dh%>lC&VWSWsz~E2&LW*Dp^fG?ahl+AhCm9T zyJ3~cBP7xLD`6b|mq-d{%$e1|Gp4|(biR@U#^&9UE|ec5Gj5Dkds0v#Ze|eEBk<+i z{lMT73Z3i$44KhAXBF|T9|%s=I~GpISvY0h)UGoAqF7b%Kav{kJb@7P;fzD3scimt z6)tfFCU>XnW62V5wR;)4bxIuZXV#N!yoyQAvWWxQ8awJU>k|`ZkF~{%U~GhA$#oJH zb*u8XC2ag3v2WaCnxd33CwC_dnbddq**KEiFPmuV8Q_)B;W`b~XF6Ti0;Al@_A?E- zmf*W|;sCxGA4wOEJ&})G?;~BF7H=3ofuLtT5w*#^ka-DUR-EIk06A7{LQFiJv@^mV zd7=M#jfn{}saNr~bgXO#g_^uq`57F}TNa+oljK3rao{8(CW*D|IvRikuN%lg?~Du} znMG$~*f17i$HDD-B!a@XBB=2#aqrs*LILMLk~6lZab5digjyb=svvv)i#|YR0P&zN z1P8qm9!uYcEb!<_p@d;JqdfV0{qBvgK|IIYulC^jH(vmpnh?i}+Ed`TZlX0!W* zurJz;A|kGqLi#jSC5$X`8q_H5J=x@K#lRjs!EN(C2h5V=k>}EWk0dX8+3EqCs7c3v^m&#?e zbLRh2#c{Od%r^T(Q3o_oMa?L5q_J=(zoHT{&)jXta8mMWDZEpRzCEF=Jo_YC4(5}W z$T_$dlSEM#HqIB}_`Qr-|7b->Q*@X0+zObqWD++3H4pm2pdJ4P7Pj-YDK?V8NuXUq zn_JyHap4Lj8Z)3Bw`z=0!&L5J8QclB8z;9=SN%FwAkB>N$nS*2BpMm|qF?a_YJ5T= z2ihqh2Pull=!BM0?NF(a8gtlS56jINS!$lQu{OO!!rj>@^#l{YAI1SfRpVD3C82QCQN-@Z(PY5?&u0>#v}W zD7uBcz0ViOrQE`(Y#&mIXYWg}67ix zP*<}@_w+k`@Rkp*w5Jckqd3a(!0Cg*Fun@unvwAzjWIS+cxOAD zZCD)GBs7%>`A@-yIL=IOEbm+T5Ns^@Uie-o#}a@{_tX~Kleds>wagZSO| z(QZ)*k|r2M1u}w@2(5A|$hW&_aN7Uv=hYXN=G#ZeyEI2_z3OkH?0^P=snsaGdie%%~`9G3RU1+LR*B}5-offYf)mfj&n%m-6 zuzbPy4TdNv5rPoL#1=*#``(ph*7F%${Q~QX{$joM^e^PHYj*;_L=+u5|7siQd95|H|W7^}AjS_w~PgPbA9! zvfldx3m~)*6*M8KxnE#&D&7eX*vuRmi~)7cJ}(~VnH#M;rSvO;KX8UP%g()mk!Vn} zXpo#slUHSfmWlou@2~qD_B1Q&fB6K?0pPT&=3>lpS^~4web!dBYsFwJ5>@bxykf2|IS4L@u7X2;9 z0@-6;(pY3=Bq{tl*<@OgOTq#tMzAOsSj#1D)GC3iJj32d~) zNxiXM@nkt;f4kZuZ|MjbSh#q zaT+hQj|{0#Jb$;Qv3HYuuUC1y5nDPt$XF!iArzY>MrqTTVSRrNASU!f5!53MOs#?x z+OtE`{u90ZP5a;9BA|5I=~?8~;eHs^Gu6T1cVG*PoAN2x0h-X>U4|XRLvFAGBKtLv zcn2i|65bmL)CbW+|L@y%zU5|?M!Y++%2eB($IoJ_h`d~O0d1y3+S?WPo^kp9L-W?t zGQEgt!zxT1#Dx_`^z!y79>Lq8dP2^M>XY!G4e%HJmXz7X4>Ft8s?Ybu{0U*VX%E>> zjTxS3s#I+$*VTh&cts)393>#qaF>|`NA3EFW8fnkSuo!W3Pxcc@n;ivm^Ay~Nq+fH zvwR^lpf63DLHbF+5Y)0aB{vI~^e=GW)@DC>?}7oLzW^ceCi&ZHjY{J`eKZ8yTIFRR zX$2wS{7HOIsfI!|`mmKdiLI*boEXu$x}<5G22&WiiB~yCaEdunFf>Hgo1NaS1TLFP z;pWe)AQZjw0@r(rWnHL4Yq*DPW7{C;u$h26@PdlYTWhRa88>)rp}ikS0v995mjxf} zvs0-E+SXv8B*l82xILjMMO`KM{9p98t@&!$#@*l90a3Y$|CwqWC2rF6ET;_}5C{?F zf(y8%)S&1Ao-+^n#9Q|RNEWm#xLqRI(pSECnesB(1O$iTQCQ3Qy6XgNcg%WX^@(Cz z-{GIgp{okM0V_Lslrjng1?0rrFpjsz3yE5+*huF}d6`n~soL%{yh$rEw~>^dh*S{K zQ11-CNq;-4oZ<6o_%S=mojTp&(YyxTiE+o(oo4Q|=uRtlW)hc*fmSmrbST=$Su_Yi z(=A-mQMi$C9jjrd3Wc2M)dYJs6>P=s(VIu>qGpQ$;hr*sYi_LhE00J$Zp-DM~v*6Jt>MB{WQ24u~kF{Is`&s6r5>z z{5jG5(BQ7!b|qQ&@$dz$9zSFJG;74~ubbOY{8Zt;buxs4{YJm9(5Z(_bq%Al^-`RL z`$Khq=o%ydV-vXJuGLzGO-=bLDioHWBa$nLOsGC5m0$9*lvC0?2{x-VHVAjjyF^8m z;~qYgY|>ma--?5wZ_mp51JaPj25onxC>e6@EZxYOCQb^~mBM&0QMeeeS6&|~ogW7}a!NIAv0z@ul`JxcMJ0l-!!#-Qp}ghiM#yS4?AIq9SuUc8Xa+ z4rB0Q8oBAQp56Trz2D9Vwi3;)Me6vM+0L)8V0-oQKhZT&B6uwsw&F5HYIW@q2Pvh; zN-4GZW&fm?cIb$%D5Au|V?VY{it>eYutYJJn2!9Bv|FT+bXOceNG`+P4Kek9bmT#v zzm*@!^JfAEKYJoeKv+D*NVgg|hXEY%j992^5nXv<;0Ftif9aO)zx)!jT9gOGL5rmy#+#IEZ9glSI+vZO5jgx;j{K zX4Tg99C<*$E6I87pk3!}xCM5(+1uQ*%yv?hu4tpM<;|~irtfs``Rvw;&V7;OQM=;V zw>#qt)=8Km>CDN!&X-AVx9X{W&~toAtMCI{5k9(2Whr2A-Ccn8iXMpY--J@L&>ye&WEl zW~6aOY8_RkX?{{2ENG#n1Jh$>O6{lvrd?<8L^6RU(7yml(1}u7bk&CbS)5}>;JA9B zy#k!zz=O<(;wK%1l|F(H+Skp0h&0m3jUVIIvq>hDifxqb;8yJ2GMWDjYVM!1bs4}4 zK7bmUp#-z}_P_{P04x_;f0KQ%e zfVjBm$NVLh0`4O0Kvf$p@KJ@YpgbG;29Nu;KZS{ZLf>B7Ch1lR@i668F#8 zi%~+6_w=^fpE*a>xz{Heud17O{v!gPYU~V^%0CGVYK0t#l*pCLVBhpxX4^ng+86)P z`epbCF(nx@5M*Qr!g`uHESw##276vQQGq5)P6Ui$Ib&q#+%VNl z*cn3wZ$3k4MvL}Gy^r{IZaqbx<|?V_P&*61s~sU99TH2;=^AHU{+{J#$cKGK&i`a< zKRF-SNM3j3{E`mQ?}(+Ji!Ux%tF`P`iKWO-uz&&!FbQI1!^7)k$$ZcM=wYM9N)QlU zDv8Gg&UaoDvYP{!*7ywczi8UP^6%5*DOh<|ScB7TNc97jDv=dPq zP7M^WK#8ixtf*MSfWRUX8ao4DF#FoYq>iyef{;AR$%-PrfNMe-P-teH3U8yoEo(fO zC^&&|Yc;s20g8msW_`}z7X2mgnc0r_=Y9|DHENw&0-WQ~h-cT6xf1g_$N}TblWj%B z_FFk0NIjAhf-{i-L~#4ATP&_3CgHlqXn#ec@7#R}u-3kg$?)%LP&EJ>$EG%jUqd_K z6`#|Pe-16krgJes4`*ifh!IfV^v}Ka|NpGyH1~h=T|1>Cq%Ks2)N1C~HZv_Z7S3sW zIF`G>_ux9=381mSFKwh?GWY#!USHN1jNP)#uD{M}?^F4;l=p!-U)XyQdL-X}I)9$q z=3F=6AS(1B-B5Yhx$YdWvf~rHMCD09b$9 z31A=n-^95W236~ilYA0uR`2hRp-l`{btfBZwEy8Yt&7#)ZKf4P#Mp7x^~R2yXsBYs z+v0RlC|{dS1Mau!4)AY=*g|!T;&4WW!;!3MhV#AOnc;Nlj~&ie{%}lLFbhb9`{O#K z1uXQxf>G~7qBX&u$Vq&|KJG+A3 z0LFZ{+{7C>@P)sWD%IJYppi^Ormjw9t1;N!aLY1rm=&^4BP<*|j_Yrm=01n>jawbnIynjo zLQTb_YkHu|I&KhHnKX2PzpcdwoEB_`tNdk+o_A~f`{3nb^f5-kheU5QL7&Pgin%O) zNL#!ydC0s$NFzyVdu1@+gbB`53~3S@=BNNnOf805@T1kw57h|g)@btnJT8dyQ2cOR zS8v8SFmit&1uEz_Dgwu(jSMX9>9>dQ2`4C+lA4>@!B|`gw>b_iCz)SjY_9qw;XSXf zZe<>PCGjQZ&*oD}E-_>C-A(ItT-6(6I3wVI@lF0G0MNdJKy)bKVIo<}C`1VGqhSEN zAluA!eKVieqziUm``04^;sk~=Hn+5VO#;<$UaHF%mNSUZjHRK`ub7w#htiBT8;IEN zieE)P`&GSJcwX6!y`9^J-yXKZ!x|_Q_-!S`twZfOt6g4j({Ey}2P zC?zu{YCUOI(_i;CK4fMHH_XLB*&=a7EaGPsAA_CcwfY(-#_n_WH+vi;}Ai+_83kji08A zn;%B8gwM6N@)iECD?aICQ;F6bracnihc110t!s!ZU~5913uJsUq>^>T@1GMr*$EPDnp*JwR{aCXp$dwRhk+pJ~ zmMPm*85JXO^X0VwHO4czfh{kid@96K(lU@6V$J3e9n9aepAK}c$#v8zbGpuEm07*| zaHxi6sr|i!%x&xjz{sVwd;&Y|yDXV)QHbcD)JQ-`D!SUuiww>Lyl(n zF-2fr$zsa5WvH2`(&4&@W67XWIBQe89lyUdwOf4YLfpZ{QY72zCq*=Tq;I!1@elt6##DCqw5^MhQ;#Jxt z(ixE&;wtz~wfMNUNh^O_LzV}`s{H?bXTS7vv)@Xbx47S&t`T@)lKBg0k7hzjk>rF+ zaE9`wod0lWwjh~$sqnW`W?2Z-$`b^`O`wLptKiJTWaUpdR%QHjQ_?KeaEFk(hIdPe7A0z0R&%`&9Cn=ng^5* z3cSEAC;pZ}pUv_k-4R$_;h#nP3N=<;p)Z7IL~8na`EO)fAY6FHpxVW8Obea2kv@zk zi*WP_QD;#c>c#o0nj;kpciG(Y!c7s8G9u-*C&M~C&)sIzYGgAIU38sX&bVdynefnU zd*_`TFHB(%wWF04D!UjUs)YCeAh~E|E%s*bqQN)`R+hVst1>$+=9)g>{JwL%LRRUJ zSy3Z{9y*$siV|_wviC&#MEl#}7a>iY8Y8sS3;`lahLUZtxLpvgzyC9Y^9`1S`sZ&I zj+EEB*$$n`a0jkp@_(wjUdSBI3PkP4{ywUz>bB`BQ=zSPGjG!A46`Dkidz&w;nBd! zUqej{Zj~fm5tZ=K13VHtEAH)(X$|9e%EIgc{kc@Z9SCS}$QgO~BXOsM-6U|H8k24x zmmw9RN%qp?CSD6xfj+$(1}6-o?T7d?Os$G?>YskEG{5ZcE#Ytfxjq3^M=h$@NGG=e zehU$rMKTroWeZ_#EvrMc_lD;f~?~d`Eq`?KIwPcO#(w*E}A5*!aCY1%;5HtMU zPQ~u^r^3Dd#ZB7l6ywuAKi8D)GkZOpx1uF>)7OE?`$y3a$(`8bMD`90dLGyAr6>*1_Y4MAAx797U73o5(avB#c(->14@9JXOOcOM_P@SGJ#E82cd{m$H zZw%MU&903S-l0MRGZkVq+qvVT3WI1f`KXMjp!VT$&{Z0TM_vEiX<#}{RPk;!>t|$8 zQ+UXo8-^fCu`zCPx?YF;2*t6K9HcHW;}-fs6|sSeTCh!@nxrI&`rc-fBhFn|1p6-L z|3MF}=72blNNv{m$J|BFCwN|H2qmQ38Ik;tg=)?nqZqx`iUvtVDz@m)44X3SnJ#RJ zfv@WBMzEx{};6C%4e;;kKdL3Sph>+NRH`)F0}*vGPU^6-3Olt z%MaFf8V=HTXvicYUdUL~&@%JIMYV2NENnLf=zY#NNP2s^udwfc!Y&t48G`pxHYaurxIE-B-F1$4vic{)-VGtf4_^P&<0< z`IL1=sqrtkLi2LQim@tm%w;JLxq`Cm!TE9y}BGH<t$RxRx2Z6%CRO-$G@d_`(r_sX zN`Pd)e)>u(#ljQ`AbHs$8r4LRITGGA6=p?^iuPtaTV6}KnGNOs+tgBwZG)JjHT1bxI=p}jZac&rrJoQMpX50FDT^kvzDIAE)$ZYFBSpE_eevc-`47b z2$O7ea_fx?eQu4P->VOd{inj8$3+s>!7%G!OU3{ciqHN44Or*DDmx7_Y%mbO?DzyefNKxcPG?CG{^de6uK-DB(XCv?3vmV68R=L% z52{RB@0y-r2j~fb3EJgK<~3G`PpXynop?QJG&M@rqS;NRQsZAUFBw79NTtECG;Za7 zhV)N-tb(y}U#2?&6qGBmo?X2xIMn?G@uMOWdxe|-s-2a(Z`(M)4?&d*|5x@4nbG<& z!^OJGVgRgab01qW3u~W*_2@`%bu_f=w7Kl-`!0iO&Q` zkYOTmye^mxQemh1Kg{BY@u-wCi|6U5zgc{!U8nx`YT2rTvFOhK$K+g^2-Y$tD|i7> zBrhv%O)JV)R??b=z@Wfw30eMD*gf=6d`yy*38H=i`+0wnsp~;*$R@FNBNTTfXvBi) z0Pms^>3Hni!hAECkjhpBzuP5b{#Po{pT3O_R zgSKOT{UwOMFM81&lRv63>~BksfxPtj_x~Bc(KmRcE!ur9b3|KEJqNT9ZBkho=&_}1 zCHvP&%J}T<6Fz+WzCrF8U`mS+NuTQe-?$&RGgGNH!x;%DVn6DDKT~@b<~nWVw`{ZJ`gZmB`OT>A7K;Dc0P{2{i~oNNFyFu9|2Dup%_I*t zz+AOdMK-O)CHJ6UVA-*(7eD4QxRw7&PExq1u}TNGQs^p#l+gkvg!6vtUFN-j;4@)b zqR`CYA=4UyI-&+cBsiQ@ICds6lT*hVBoH9` znKJ)_Yn5m)wdxvHOqsL}YJrwUawkHtj(hpS@g`xZH(YnREU6MxOc{ zN1+P^aaQr=uA#Q87Yx^&#i z%j1`=A^(LN4gW!@I0LK8Se^W!2cI#(=|arz>lq)yU(os@k6|SZG z4q)r8txs#KZSCDYwum-2Tv&vwQf$L)1;LIJIo zF$J|6RXd!?Q5MTwf@X>V-H0kK<=9y6VH~Y7u%0y5s#yKs5?PTLf}uW8Cv|j^Z+r!f zhXlEUOyfUYXNLTKym`>?N86x~OtSIez^IHyDGIIy7?V0XT%-n%m1Ur>vBH4JpU7XP zsE^7@&EzTiP!y5(y9}>I-bN6_JY;;J|5k4b1JSbeMLTP5J^7E6rDV-=&rUGU zP~tA=+d04sCmrALBVnO8oZrc3+8HOAm@{aG%@Uazxiov-S!R$6HJfj6-T$tUa)-tT zJ*(X^6|At*ukkfBtpd`fU0v?2?-d1@T_t)4($t#ByJ7+MOQufgqk5j27+~OTV^yl7 zJm@wy@bpCeGzr#H_gg#d`d1R8va4ub`&V%r#42w{d`duhm{-G80ueHc6ndA;#guvt z4u*-TJy*uh6}nz8@7|X9xfB;zbfcy-(QC)hFgUXPIQLf6a`Kq?^xSYD5;w(!nVUT- zJPtUX_UUSa$253&-(<6x6njps(BcLX5B2}bryDvMJ2&H%gY70B@z&f6@P5qrsgItW z49Uphn}M8;J&#NSlwzd>OcG1yPVPKy$$_^_;n?%j?)zEwgB*#Geks1+X~S=w$f0Px zbV@(v-gRqt4s2`eKu}I`D>?gW7{K?rf+)g!7v0O)$o1$yXpnwWZIIo3P1W4F&A2E` zK?umD%B%wTck_{P2ll_78($8m<9#Z@Qs$mX5urH#l{06V_w9-0iL&exI?U@^wzETJ zPz3ii_QWHpYm}MOToF<>VkhH*cP5C=f{!6*x1L+??X1Sps-2OSYiGk|=IX8)Z4go}&_V@z9 zdYG;<2mfir*ns!j-^<|v+z(zO)Lj!=rl&p;2R+dLRE_AdP3Ge_SBRnxd{=DJblTl+ zcm(zP$mhsjWcY*E|I^Rp`s+Sk&uDQ)&)14_EoRS|#n~RY{3eE3_KNWmc3%Pd^fel0 zqDg%ZTcWt~Li_qrfDW9DifN<;WLEx$o+_XIojj6N0pqOm(nV=yC%vgfNCW&T(Wrs6*A za2uyPIqxj{&53rpjhB!aWhk9vM&LHKI#H@Fik?lbqyDZFZEzc}btcEX$0v(yHQI1} zwdXdT4-jmBxMq|?<3m1oUPS0{UW-hNQcnpH{WHd#`UhQI)`>&$5cVQfvhT+nyVkT& zy~@sveI?fRS~R_-xecB9EGskqc|FQ>EBxGQ@?vO1n(0~YgdPF!6xPRgWTNTA%F&y= z_dpR}fkzMF{OVj-jdZHB`bv7#Ui~!{)}7Ke2+`+o>bB7S&CZmvvz^i&gzL2J4PwD59*;!k+k%$=R0$;=_|&Wr6ruVlCDd zD|gu_l3sQhL=`4|n=L!F z#T`>g8Hy;b=cNbw<&6$Gvu@1rL_H_Pre$VdCLs48VBm>Mn&L&2xZ)Ot(o2i@v}qVp z`*V{xt7rJ6x{}fHw1znDaixgOWX-F^A4YTwcU0ZH{5nRs25l@Y%aWug#Mr2cR5VbSzJ{O|b_ zKd4gz-wsLQ{g&b{4lqhtD2^N2>{5S&${*nUHY17JFjn@Z%tXnq%0T=)|Fig)qy$P9 zilC*BNnpv}?Cpo%wG1aH{jaGi*lBx>?`J%hndjx~1!gaV;RpP0S%tT%&2jB6Hp&$$#N<-yq9%mP;4apNZ{SgWK+4%6jAfq4|r6)cj(ihP6GY2!x)UIM{ z!FRZj?8xDkF=tx~J_T}coL9XmPwgC7K8lA*4;dawa(u{aHX3d<(uCPieW@CxPyO>+ zA>qzir;%8=#ArM9lo4(HE$n*`&$&wC6Mns0Z{IVjlm+|N(bt^s9|OoIqxw?Q1$F)z z8R=h7?i`rmcsW%fw;xR&!A9?xtFZ+2GF?X*Mx5ux#^0JIw8V&9YQ?9Gr#+&gKi>$% z@6GdXNPx{rVb0qA`H~-uaS^=xivd_TP`~rG2AKb=ki<`X?mz6-KU@wH_QZ?O@DRja*c4e(PTQcX|P7#h6jsbNjr?hxY&Yc&mFNW^YLZ&hF$KMmwT! za-9smw)@l${XrU@fDjBJ<#alqK1!K0Hxi$EKgU*Y_oeiz{`I94?yr9=g7~hHFgAJ> zdd;2Pspj@`Z>l0Zs{1n*4_P|E2M_=&?H|D%<~$9|IFg}5Etz;_XA~#y6}FSod$=fG zHH|y3`Da!aQ=(_?c=UvpOhZWy&Qsj@)=t@Oq%e5Hk=CLdKy$^s%~S%doF!Z;<^NEK z?Or{l-(p~KjE?NQG@kZhL*MpWa!d$hcGMtfi|`JNCC0 zyaIrpNPd-RTMw7!e=F2Z@oXcZh*{p4XO_@E=Kb z_P73@c9>TuNBvMKRmMjo*pi(^f&p!loD2nX?J#=$n58OvNW}vKMlpy zSLd%^IH7?88=LtxIH!2$UUND&PoMU&FYQq&<$`$?Sd=tHO(!>(?3Wo&`;ydemeEZx z`IN>R=sGa3i{SL6eT`1{3zt05~y2b9J3mK5Y)bHS3cM4Il@!9@K zjNW}$eU8o*zm}Ddh5CK~nA~-cm0rxnAcW4t`aLxD_%VL_`@rYz`v1T1*_IMS$`Tj& zSnFFWH+sKb0=70zfD$g0`7w{-3n%9pM+%ld?NK3r4+@7 z`=W9F8^|q7|B@VB3_bOcA)7W|CH>dx4ifFkoZLMxM}B(^{uFt44cjx2m2FUTwuy5h zP?sx|;ITP)ps`zwB8)P<;7Y0VwWW_tUpse3!}O zXN4C_I&F5%p0YEpz65^Yve{((G6{T&aUtO4Gjf?@ZF&1g{d#NBgS-)QOaIcuaRSX8 z0xarxM$8>eNsBJ=<&&U-11~8^GZf2QfVj1hx@q3WoWUaabT0>CD8;GQ zKLPy(eYyBIvIIqQ4-e#_e^AMuf!yLhp?9o>&y)a%DRn-m|8VUfsIyA|K#Q{(r#uln zbWeaxvtuS(i~2%&lGlmYp=L2fh>XRD(4qRBbC37=kd%}lWqmpkAju!)RQWP!#dYii zow`KYAmaJXd8ACgZ6a@AJzqv;Hhe_P4D+Vg*1&o&xI4qPlC-BG{R4J5k`B2H%; z%{9A^uIEj9vC<#tH>~4_4?jNe3;4hpR$4hJk<=cFGd=4+Y{ncc*G!m?0$!Xq$tDFz zyKfVo5?9wpr26y4q^aDFZ*AZVauQ*$R{HAQYTxq3G@UMc2#s27LcFj9)tNrf2CGb05}-KDT1VF?jWkE zjLCH1)46_(a{L;2vO+Iq|2arE%!>!>MYUpN|4F!w4&XJ^vD~Vsb|PIT`DTzD-NcX7 zQ)0L}ej;S05$L30dT+T9H11@N<3{@u@DJ&nG7ZAKruq-(9-F75Efpr2htuMXemNW^ zttif!F+CvMhx0b_VgDiROQgERYcTAlhKpt=PT#9FYtfC2lc3nW+TvU=TIt{D+q1l@ z7wJnYEl4{nvo-u-w=_9fvt4pKC3`5hmkS-dLy6Bf@N?G24PbIWkv_zEpGjjY^u=_% zgG~DE7Uw+$?u=JLJOMrg&zYuUZm~SNe6|sTz1|3!+EhP+Iz^oqIn_<4o*B68oO=xM zy3B$t=iXLiATml2vC_ju%M4U@&g0Z4TxZ_olXm43ugF>73Jwx0CJHQM_hLL%UrGaM z)BxRKH~(T#1O~3DIaPtVUmLXlYQJ`w9?J~0M;V)+ci=F5cE(zKUDZ5LepvlbBg>Nj zN)-RPQ@~XvTk~)GfPEAOtiEoMUH#)ygjoNw|G-F@!xvK;%}S3VvYP*@Ne6wLB|0fO!i;f5e-qF~|C{d@qC@E6$zj}o=FeCt# zk6CjFIAb-09`|yK^H&o)33W8#lv+V0BJ5Qk0|;O)w-z02mb%bnZlw8*Y|o;^8#!-9 zv-`*fW-D(Mr*3Zbmj6gpOCcPDG#mqr&LAE@uH(=^EBOuz4)(s!JLXYK=C%<*!!5O~ zR4O$rvDysZkO^k$J>dGtyn_8_kijhZDYbG|7#=)@OSAuM_~#P`0skz{odItu-2fl| zErXU`1+N;cY;vB>Lf8hLFhMH!%bqMeGw1erA6Dny(jJP^t$OtFa7E3oz1Af+gmv6D zLs(0U65B)Y4w=2-GbnA4{%3qTP-su}7Grzyg&`*m2&i(y$$5gEGj z<{#~{3nYP~qu51L3;9z2kR4^f&FM3~@DYqZK{GNFAn_c0(d~wlVEcN>=Iotb@ssb# zz;8s3{zal6B59$eIOH>u{I|H?vhFMBx)o0p#l=i^>jdHXIYhw-tsTW;Sa zkvERnY@_$hezpu_Gv>Y}y0Zh+LZ8L877p;etcS4Kgs)G^F#c`hq`UoB@;N;9s75~z zRdb`an2se!Cr&-hsN*LA0S6P}R(+>8RgdF!LObfs|)R&d4FTPb}wJ!6~6>H z^2|I1FxhX+7a8nyy6}CGdOqmJ+jqP``w*P+VK_~4_Aqn!;Osi@E`Jm=vK(X=vvP@gEf8`Qk#x=&fAw0o?fVy~8?OSXn z?HGYt{^EuWvKD$r@?rhV(7X@jlkk2#o&}J%_kJ$=qW;SCMg7nEqUGjuf71-D=f3_A z`o|&!f!)h6Lb;N`{%6#$`5Q2||WH=nLFyC)g( zf_MONZJjHmzyD3+AfbqKAj(->t+&0#cgkgL7p7pAWrz%pGSfqNE@m7P_|3K|K#OgF@aI@*`878RW7TWM|)j$^11 zKUAVAH&*biJS!M1gJdLyAE7bbe7^|%G zuW7HL+Dbn_KM2Pa5%=t|K!8F!)*@+*NT&xH{(yWCslR@#wdgtSDygE`9q)fN+Ld(S&y$Zx~C&|)WoW{H)fiS4T?)v*lio= zuPRc#MsC&MCxU;uq=Q8Z=x7kW*3#lk>xSg6pf&#n?rREH@i&4kZeSS~u)*G7{}Bc6 zk13XKCUe#X0DANO$z5OJbV-bn^&chPi?}z#r&;GF#lF5-yTyC{QzFBhwUVmtQez-h z4}V$s2l=CacIHk~(=dOOi~{OtqMTPA_TS)@yUptg>HjtNnrY<`{_=|c=pUDQqJIOe zRgyH0hTug-Y({aB+Hs}T9pu6^o$qR(wW6t*?UO%)xrqQ?K!nOY8{3h}W(hlG7VVC* ztj%paZmPbGJdhyBnyp2aSwi+nkdxu8?y3CB_Cgf%`}uUU4D5p{jmjv$T8aEJEG9S$ z?Rp^F$KMrUURg*z3O)4}Qau9#2Ci|3tqvAY-WIjAc^v&(OIIq!uB0*3d|DvllvE-C zBMbV2#f?FHoC4qjR(c7@&SfQ|`>8Z*|91CIZtHp$gYq{Za+&V21Lun(ouUtvtds72j=MR{U|fF{(et(;U1M44>7hkon)qc_k-U z-6XnG)nxfC!!j4FPwpCNEx3>yD~8iu?!8P&G6KtQnzWwRCY)h|c1@W{>z$7y$sHqa zekWVY`?Xulj`jJXv&$BMGfia%zA^W7?M{{^$mxxMr$cV{PGKZ-TV`ekY*>maul!$w zoA!^w3t(Wj9oqv2`MzGVb@LIv(vPryJe>PcrymdM2WvB(zviM<7tXIu6o3lcCi$sP zYxH&xKVWQT+_uXI6rXKF=s3Wh!9B=h{nMz!{8mr;Co4)Fzcmc~Q|NaMzw?A(Xq#72 zOBbFy)pV#1FwyB?l%)B}Kf(%PKzlWX(4a0a7A1@@>%|=SuGNP72`#d(0d6zi#!Sh> zLd#aluJ-W6+mFg=5?4fnGj{FSml-G`Gr7t3Jn!e?OkjHkL z51QOD7PqyCWsdm)Pt8*CRDY3tFlCvA-3E`j6gM&<93?+c)TZ)=I3Vl~YXxBqZhCg6 z!Q3W)KAn7UoL_*q|KS{-YEhvZY)h8ElJ5f9<-lr?f3QZC63o&iv|$KR+#+W-L25Q1 zrZCROZIWyRWMd^Wp=b2xo>*UFEgr3f0C+kO9`1+#F&95F%Y3db0XeS_Yep z(+m5TpEv!vY)yWD(8iC!Xfj z>I2mtq9QMVNkUbldIdfh0J?!$ZVhav9|>g-V0uIH3^a>iV;yhp z^Qj#EWR~^Nhc{aN=8*S1I_V3*Hy{9Ew)iu8!*-&|gsj0x!!N6USP5H}qY(v(M0 z=bi_7=zV?3;}{D3y4TVA&DNc#({|Lo-Z0yAhjO$Av2h}GCoz~MZ#!t|wMf{Rqe!>Z3Dq44-J_1;{-6xw{7b z1&*728_E2kuZJhzc~oJ9(;BcJO&_(}p42|HGaX^6SgRLd|3Huv(oW|TxspnOCdL*a zRmo2iHPy~Vr*qlnnQPZhj~^}0KOM_GG95~#H*WFcMmL>$q*P13c4xNYpB+^zatd*J#yLuLftpa9Fh21!sn`+nAWYu7=)d z1Bblq5qW&g!z4>_rrdkY#6OM$MI))}Yl6si)i7G&VFBOuWd$mrGaOE(MVv_gLn9-B zSx7*mX45&r>?H>FNp6BDXXeMn7QAw>zdRa5o-t^DtqJ2}fA7UKp+`m-@To8Po0#0L zt*p#$#=4iIGgv-BhvTg7Khktxw^m>1AOmO;?Du(;pP!$qRW5NQy@X}}UzX7> zk$&9qFGRNoxrwfmN26Du15MRvG+9bOK`eY}M02I(fHNZdU%YP+$aB8T;hw~0Y+*U_ za+qQBH!wMU`6yp_#dM<2&9qPAV=s6oSsm%`(!5cAWYx+ZL+I9C_K>`qoDajBP8n2m zuacbZ1t+fU!LVgV+!HdHp)vRb1wDMP0<*U?U?h|Cg)Ev4rb0=`x;tk zoY&}*M0KJ%S&wG7gY<%MNZnv3wbCCl&3w`^z8AyI%Dpv!Rf5^Ej7!VJsjB)yr22ZZ z-OPP#$NlG+`NjOcLA++?a(3KR{NET*QH5iyo9Qnf2B`LoA>#qHl3E#x)xTh+U!wh( zgMH!v5#`_7PQ8w;37bJar9rwaW=k-ibrY)-sDI%7Uhp7E8-RX`vTXd7pX&%dvz@c? zDqb0CasH7VU{-nk;zHsHCzod~g=CNnCi5H+jrC0~(>(cGuD^EQnYoes5EEyt^M208 zFd~taUZa;ZAMbJ{wQ*JFO;^I&PTpa?R15={U%{a`6u@-ekma``Vk#qOIhc^p;j89b zuJk&&XuN~@s@ZuJm+#y|jGl`H37t9Q?IxoyR=*{ok^&TMjejXmuPzIDXB;Lgif-#X zQ*<5gc>)rQZ!d~DFJ?)WG(ZSLUjGaQ^rzM>qqt3^?w#F_F8m4l6L#LC5i{-VDKx{xsmP;56X)ONh5S>onXnmG z_p|d(>7NQcX{1^XSssLuI@1Xt)&DohO#rr2_bzYIB<(u2D%4W{Vf;wFj&!<}xGeN} zvx?Mi$f0=u1_KC*5oO+yhx(KpeCW#_WoAlV?%<%zc;PYTTu1LG3uHg|GY zj|~H*cE?9Elq!u}rqeJuFt5s6Q7#J~rpwoq@rQF+&-Z?B&^|5A!R^3X^~?s4)O*vFpa6UyF!0u8|?5N^faG|m_|e1-MX&tPi$4j*?K|XjxUL! zL+$k=k^3Qq%*%=@-~{h;n&?_WQn>&tcRY@Ct3hye|*r#m@}WJfuK z_%K4}m=EjYT{W~ehRn(`1tWA`m#uPJWEy3@{B?4km%9TbysUz;Qg87)JBgVXuonKE z9$^j(#f^}?Z2ZT;^|7`wm7HNwXG}pS-eG^OS2Yq5-Dy~1@WqL-t;)`07|_E z>M@dyi~;|B=0N>VL-G2e z6ZBk>{VdSDxI8dSV^wo- z69_l&&79u`4Ci~rm4a(G&)Q3lBW5H_RQ6>wgdb@-dB!8?92bo$-%ROL;EC1O*rkCr zXQp)34zxCBQb~T{veX~_^X9&}YhZe`_T`JE2Zja>Uro;X#3|5#vKgzNl-*l{7W^X) z+Eap~DQC|j`Z1{%{=6PMyWcKuoCOQ(?0?*war@%~h4hhn*xR)YUy#c{QmF}+B{qGp z*$^U4q+4h54Ekcn`0@RAYHm0{8Fcz#dSwV>l-MP&%bnCE8o-g)3|e!h$VCTA8&igt z-ZHBtb52)lOJ;!?;19@eonG5>F>%$hah5_FNZjsZ(m8qR5*-YXlXRIlMSggN$rlEn z53OI!y=+!X+YKGHFVj<9`;t**i5hu|C&$_@oDeI%u!{A&@l;iSxDh_;0}REHIr(3V zDvPhDCI+?=#%?Wz>90$@o785@@vBTH&*V?R4|^~tRCd}9hYL6#$HraQN%_5qb4YWr z->(1U=JCm{U?6cJnqE;szMX9C$*zF_{%Z{5hWc>Ydlvbw6EGqUy__A%N)GNvGc@iB zCfTiK6A5eqv+kP4xcoHYl!SUY`)6KJtb>uXVM80e=Uxy7#Dc3^oXa}#I}qQ`Dj48P zQ$#>F*V*qFPN5sc=0^Vq-U;(^Rnv#yo7Z0q1M6sVug8~%nGWyy|NKn+9}Bl=Dyi@V zIt}ZaTp{Bb+V`-t^qv)6rOB6>fWiOPg1RJPY$HD$r0Nt>=^hBvtQasm^E-WQJ48Ql zuhqxFA2n4T4!@+_H*z3yHYUKI2{s-TW{s|(SRl}fycOdEA#E3IG_7~?qf72XbNOW=KCtY?+_~kEi5FDN{aR)MfdCT2otrBF=2-8( z%cPB|+<_mntHxEDW-O;WQ!J7i2`_k$%|#p}`8(pyH6bCb-2=BCm+N)0QuH~yPDvN3 zuFgRGbO4)ui3MJw*SiP0ZX1M~;WXagiO1<*34QdR-@2*b>jW9L*urdaS>vc8LD%dh+HxD=hnZNJota9Bz{Ya#64oA)OORO9 zFpRz+>x6gF{1E-Wy-%pr?5y%uz78UCY=mTccn5+$zfgc0LpiBUax~xdmQ)5+E5Ohr zAOHQs1C&#kJ3Ii7(*7^|XigPO1&2cA&#Y>3i-qoT6i;KW1F19VH2l zllYu4(soL0V7fi@t<-xI&*`TqGZnvJr6vwCIj<&=pz{0Vs@OO!h4nif8Eh?FN^@4a zbA)gVUE8EYZS^+rJNqj=I+7kRkSw4p67PvZn^B?g`EFx(B{HDNZKGVXuQ%k=~c)pW)^COO?RM~Rb!Pt<-p0B$iiq%_8ywZ z@r6qPSbJG=b}io?V#YWGf!7!k9$XBYN>i>%_arVfX9h($+3?xKl;mu{85P`H4&4?> zeNYrj{S&IbUMxOl{Z4VCb1Ntpk{iiFwdRg6O~GG>>+?8%8`Histx6-aU4OON7bQ8P zOtawfg`*nsc6EQfKG#gEc#*PNTIBf1+`8Y>qgMSNT6dC}*hMk3bDULn^>g6Bn<&<| z5~0g?WO?hc(^8eaQS4(--^fGMTa9@$yMdQ{JTAnSM|dQ0*MQoemH~DZEs>27gt=cx z4==Gm@;TgA+4+P7E{mP4^S83z*_0t0R&wHZ|! z_7LNQC9{t1)K-IKend8QAq=6lTe@GKcS`nL`dgwL!0MM+loyGtwk`WZIZ-cECy7wELQ#Lp3P{M-N~ zpohUc;&>L1#5(c5>4q|PPeI~lQ7`;4cY(VK_31HLuRlh?dor4$Y*6rYdlJ444maQPw1lkWxUT;e9o@^ z5D>hMfMr|fWc@K&=XlNwn##${ySA{qW_9;$;>-5R&BNG)4P69;*wr2_h^2I;RTAfY zz$Yk1>R+|)JcES}r?(N`f&m+JPSj-201BEfB8>>{%6FN@AI3;gRKepWLT4_YDEqph zL+J^{h~JH^Bn=~RAp0S4s+55Hhms^;cq6)SY)vJJZ*}Iz0qkIlJ}rU-)0c_ArXJfi zg#6MRhV-XI#ZSKqne4jaziVTsFr>v%_dK)pJ{H!wp zrN%tZq0K_K>1w&dtDt&~_>l}6yw_ns&}&jot34X$%`lD6dno4g%h}&#PQQuNW4LS6 zfDxvy8$syT(s<>CfQxfZU^dxx+Eau0V#th7Hy|Khi}{YaLmz0PpTVzvsE%lfO4cMM z`+GfcM%4Y13V3(RfdEZ11V2ZVtn_cVNxRmln~6UWNzDlaW1>pE(HgvA z)JCQd$+eZ#ZJ9#?(W$0*X4D-m3^_j6=P|LiX;8{JRm4^QDq#Zab8Tm6JL(P>_P#=y zmI~wkE~Cj<3PI9J593k`Nh#ntI(w`8Q@m3ejMe=iSIRo0VPZ09`CM8CG8D5DEKZ_j zjtU_oC;nn~xqMnaUH6Iq!92}MZjkyQsW3C83^l3dJTZBA_m$6!zsM%nST+6PEXs85 zdtqVW>Sa0yvZvBcUVb-=hqGXRmd@YzH+9i?6#@jTzmMi?ymEX6$PiTlBO9>|t+c1@ zpmopw&1?*?SJqLT;QFyA0~UXCAiJ1fSpooQz6mmrTZusSO~#l+U>Qd#S04M10aR8SOx~AM)Sc#?pZIcLr;_7zNS7a&?#}R8K7+?@z^GhRS^X z-Rt2JgiXAc7jYo+VeglE0YjKv2UhQhKzr(p06cwO5u1bifISP$z8u%Ku)X-2fV2?+rI*SWyb2Ig}XV!1Samuz|X8ya^9#wVwA}$RV!E| ziEkaj)858WL0K2E-xk_0&GXG_j3wGy^u_pB;{8mppAkk=|L8K#6-lD7VW=YF=vX6< z$YkB2b8XR|)bXH0RTs0&9eF6mK*=Szp=Q*`w6XGoVO}{7$J=)gaCERQxucnghcD9| z>+IF-jv`Vj^cA1f$s2Pktq3Qq?iczHhcGo~j=w#2_+EU_LA~0kaIH$8 zXT|F%MK@W^jxm0dhX9N)<%kL_c<9Z@63q;|S;KD5;6AmT5=t#?OEhF(<`#IxV49Ht z2(#zArc4;cqKW33y0Y zUas3#vR?@qRnA8YbTbczH=G)=n$~AIC2ka%K_evfMxFP6h zg`MJ}BBzVh-&Q&1wyPwOwR%%au@M@O-vzK_u3^0g4JTIjI|5;9O_wls(A*fNKib1u z-R!V-tGt#|*c=nNMWs2@lloLQbH1m@IMYGe1|9pI?a^7JoCgvllWp~WieIPyc{PR- z)l^py|0{;O>_!MzYst3WviLE#zZ(dY09e;dHVoR37p9lKJNQ!KEetQoUEk)69`yS# zadY|=|I~Rc^}!xaB)ThsJ&b~$n42!(P{nW!pD%nz?Mdh;*13)~naCjabgzQaB5sc% zY&{hf9(iMD!a5zOy1+cTS(t#cqFWs1z`k7pbn&_2oj6~^Sv zxegv{@S$;Vcpovt{@>>0)W|g1k|@fRYh55$$ie=AHuAL=bH&sFzmccwK-Iw6^X(gSONkmqAA=?tbE&|^p; zdQiKC`ec4l0ol*<_9@?ziFwylx;fIFdwzjp4wj;oPqi~=QWH^p;3ABhvoxoJv$Gkg z_>y0!#Y$hJeM6C{e>zib#C=gf*&|C0QEhTOtNUuCI!5xJ?U8)do|-c$FmJWxCrP@A za#Q5e&j$DYiolf5R21n_r27O=t^$xk#7n&yzt}nO1gnkjhrFiE?M}-i+jZ|}RH@V~ z{u{(ztY7+PJ5*9V%wQwuYVkFp(=|lm*^c=@VWtxdJylAeg6s1O#KcVerEyb?S8;$E z6E{2Gyf@rhF>TVsvcy5L%-M|V7Z-EL+{RS%38$rRO{P3IFD5+oh<8z~( z?J4`lqHK>D8P?Lw$vhviUIn4Jn4#&DY>-!%Xiv6r_`@U}wy*^(o`iM|c1A-~ zE4pwJc3dMfWZxfb7pnvf?`h6W*c(NA3X~{|vVDmB-qC&TMM>MVyv0{M_+xoY(Q)5 zwvyZJ;JSfLC^;pX1Iv*scu~EcQdfPPF&%oO!s>qMGRV>|W>Ll^7{{Z=FriX6iIoBW zSX&gf!ss**LRnUOBGDl?nV<2r+nGNhKlKlo*;?~I1O((umS-37_A?D7% zpX+9~VSOZdMvx=?YEUquk~21Yw^eYGNlB#`;?r&H@dnO^O<&Ln$a*Ii6Q(w~f=>(O zeW%|Zr(vz!U3~Rhzxw4be`&_m;?7^fd&w@zU=K1C;~9O7rE|%YaVFInS=~w>&z)m- z^JZ$tD69Jy*p1C9d(((%%(aodmCqSBlzb3uSW!9w-KzHOjUfT-x7Sjj1rz~b*AVS; zT^Y(}AZqe{*3YI*7})CeTv{Wh(%UMJjX2SgNOAxL_4FC)6pu>%q}!}JUqpTSkDZm! zS=e+|1gIiUnckWdjzQgGYw0C4`D78!uvjKh&cPp?SnRZ-l};;JIDM4UT1uOxGTi*n zSwfD|R~ak4UIH>ylk7*erN>)}ul{5$dSKgqA_1W9}l48{}W~(B45$AC7;XddQMWuZJ_hB)(fsFLER=PYKFy(Zu9{h(pYL=c3tiJOhb?z|2hGEq6oJ8l!7Y; zUK7PAS)AK0$05fI>9hX{-rK{zNj8BS!|{FVFxCFi0Ru;F2!pd|sP?v)`OIR=85^lZDBuu-H!+nG=qPVTwd zO5e;jO1)b~!3{1TI?-Umc4|iQ18e5X4SNzLrnNwUTxE<``B$>%2j44`#3$mukt*lIK zDqeUdm3v5T@r->2%Cpf}A(BiA6!hfn!(9XsTrN7HfA-29#Tb%%Nz}sP^cyXKyL<<) zn=p;*_-%?32@H|cZ$m5=rlt9Mfza88;G`~RQrz45TPEUO+JWUMR3bIAoWsxV7oBvQ zR_kaM9(L+RQ<&UqZ88--u}G%5t9T+{1RRE4bda3XHmY3X7L{+BB1TcND^m{Hr)wKlj2I zwq)?E5<=uA+~kg_H0HziG&QlGH?b>ejz;Flx73`;rD^!QNL5P5u1B!1!>9rV`lDtn zcz3r_bN)a^W5}|GR>qHlDM(r?A-f$pFm0yjtvl}X91rWB$tZMQSr6Zvaxwq7l8LKy|n!n=%)7)Dj(No}B*Grp3!oNtbi>>k0JO&HO|FSRn=H?q;-fZ1OX<@_I@ z#Uc-K;D3Vm5o4u*KXw@o9CNl@)zVo=f%;T4Q3`1p3Dj52ed=VQ20( zH+?t*KTOOv#tAR4 z16q#`L`XJ%6M~w6v~2V?{s>&S=9@vVQbYboBh`dAf2s*bVJ9GQEOW0!K_ud1s%8A} z=@2J(N-bIYDAt4AmImsv;>nDQ{!o0H;nEt2cPn}x#|okOSn0zSiIwbNEJS<+h)Bnv zAL(82M>+`RCkj^v24iw7PPq%XoHv1?`om1WcDfK8j~A2DEPnCNoddloH37F_z|Bs- zx0Yf_`^dG3!XrR%=Ew{CJj=e%7S}E`4R{M4%6HcNSAjw>d4))P)1?4|4TO7u(KzUc zjuNhwlY|%YrW`FZ#zxF8UTa|YKx)ePVD>(~)o12=#R&m^gQJ7rRd@&KJ1`VfB7?&{ ztBl+ZD}CN|ObQ#y@#OX>^eAy;_QqQa<#*oXK5t&iZF%}k{*S<*5&V#1W`>YxxG9^V zlnxGsSN5HT*)p0&otOTKrr|Hz2FhqahHC8k#wsg4`lh|X|NY&l>YC;6d5vuXHIu5t zc2aG9=!jiF?6r*${FPGXi_nn9u&M^a0z~$zZ0f7{3){pIF#NxXb9IcMG6b>dG=Ghu zhiLmD1}1vxlg2Nb`e{)^9v%dP?B$Tm}eQrcY6+%>*vQ6y}U(?WVsk|88(+Yyu^KgWcI9!=*=)d8?jrH|x+I~mCxJK>j zvL~gDd-JYim+2iz_s0sywoMKZrSfy~L@*DGs_&(~8`s{wX^xG#i!0%W))(3_s0`Xj za@(Sz5-a_Pue{|6E#!(r*?n^6%NMhiǞOQM2a&WGOjILCyl$~mFHDXD~mOeq3z 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�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 (+Fw5a_0Mi+vjutruf&(<1{jQPsh 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%0A*YwJu)8sgzKh3QfHTYWs%{I=-#k}RG` z{crGUy??fYq=#LHMc(S}`^%RLYxTK@t{*-09OJP)=^N-#p5L}U?fasp&sBY2^xlT+ z8)&?Rc0QkW-9zO=o9FN8^%E)IS=Z;Sys`3UDQ~(m9Y*hX{Tp9a|ADSoTRc`Ta~i%E zny7#KerfqTKR@WSK1YnMuV>Te*oN!1k@~;AAwQiL~Co&^p5`zs$e z@VhF%UPC`N+ANl0U6#ee)un zr?&kUfrhf@>4HsWr%b4P<9CX3%2)OIGOOo9lpnlaLwln9HM`eecbh)3b#(jwQl$Rv zdB9*>U#`6Jjo)R8mEZrQ`uI!AfBw1NFLWNitbDfNc|f~9_FioJeI@FDw!W{x%3D?b zvjgkP`?d0o--B|hht}^n9p~rS?RT;92R@&{qY5^Z2pO*I%T3 zX`!zN`(9H~`DbihU+W=O-uj((4*uS5*S7kf%b)iJi$XtsU-1;5;epC%dF}a_lXOF}`n0cZPAN~UW;Kv8OJ?Pn!{lGol=9hc_mF~m^o;c0h-B4B)z`?iid*gjR z4Tm0#ixw&ME=sr$csxB_@VZ-B{k>JN0hUER+mJea?)w@1hKq%YXhef@A6+!eC8 zgS=ko?Do_T_(tQe>_d8>aDoq?3?Y6n{d^xjyCeR=thc;96Hq?j9#MDdA`5O%_ewY7 z10y3JpZCRM-5f`NPfjJG3qR_Wz^CH^i@N%6nXD^?S)~ettOnb=C=P z#lOrK$J6?x*e#@gdlAp);U*Y{Jv^W1L$2$SqD=JBRm>OTCKxpU`>o99Vip{Qe~GVz zS?~k%{bH|R7Q9abB=J`<3%ZtBB( z#{0Me^Zn&V*K%3>3f_|S0ls$=pG|qd$6`N^^_F6v6nCCZG?(&wy##l#7t_cEzQ3F! ztibiA{JXQ>b0+D5D(R)`0cT(a>oH_V&SSmpls+l4_%943{8@ccJVAUR`-}6Z_emk2 zZI$n7=ZRZzJRQc6@)t1+7H>y~httzs6Kel!1|{($K>i&5_^=UbQW)TVw14AJ{f_|xrg z{-4wrF#VQy=<5Wn`o*mXTJ?*$1X}frxdK}Ci@6F~_4^&=0j>JQoCT)e^3J3OzN+~4 zCWo8A^qa>lF#Sfy_H_c&ZxJ_v>9>SgVEU~N?CS)k-@+k%oxt>)9MG5Nf%~@Vw?bHf z>DOiZ(rF?NYk#SmDlq+)y7zSg({Eun;s>VR-1dE)!1P-sZh`4HyAxr7={NH|^#x47 zWx@(t^-J0@F#TrnD=_`$Fbhn-dCUUSZ)K~#PGI^?h)ZDlE#g;T`mNw5F#U$)C55)X zxg9AVF#VPYD_GTGy0!D=%kJvgR{LA+;q@Es_0#&Tkd~lTzh_ck!1P55wpPbTf!_b{T9YkUSRsI z5|_aATfwiu^qb%&F#Q%Oi@@67s?-fI{Zo<7Z?;9=f ze%0Fk@7&YqKRrx;Yz6NR1ywGK^ncu1TckMlKKipivY%+pEmFKg|0_I{=iOfJmSPY3 zLxp*Sf06LuR~z!a)Enr(zQp@K!LB^t=5C}@^hmc9A^VTY`>-FS!uwdkFx(}+BJl}M zdX@a#ww9|r!}~$O#MOCr{x06X@B;5I1xHJKJVae4KEbV|mymw>S?pjr`ArTXf3J`~ zF!2`p-`Mk*1@eCKi1Z8Jc1y89-tWPFr2MP6gBhe3?921?OL$i*n1?;?OaJ+`ZYh@U zN`5-9pXqJ#2ST>3#pEyd74JUys=ZebE0m-hZ+TI~ehf zkH1P;1gknsw|3rbmv6plOTU9);zd76l z*8V16(ccGUiCe~RxCyNNEn*f}`&+^+u=cltSzzsN6|=zF-wbgJto_ZbpuGat{)U_L z+XvSEW^of(`I<6TPzi%@bB&?QgKWj}x@Ezmhj# z?Qiyd`o01kzeV5Ep9a?cmZ(dCwZBE;7FhdR!Yn9Cd(U_;w}SpTu=couo50%Rph|v# zwZ|pQ0&9<}_!U@toS`o#u=Y5MSzzsP?gP>T)*dIsC9w9midkUoaRsx$+T)nA39LQN zf6Mq1SbLl!ErA`TTRR{4d8f_W((iza{qG|>;OaD}?0>1%Z)e(D*}qoaW8D;>Z5|2z}9ag zaRat~Tf{7|_1h|D!QUbuzDihut>0$Io50p@L;MPC{Wgo6z}9bbm<6_eTfwiu)^7{c zmB7|-Bg_I@zYXv!Xk5Sj+{?ja)Vd$Whz({Dst0@H5+H-YIlAgsXj8{;N0{Z>g^VEQfNCNTZx zevY1i>9>GcVERok3rxQWVFjjNN8SXc-z=E@eNh`MJ@f-)T#~&v*3tjsJ^&<6&G+VEWAur+$Fxw}6|#^jqDJ z>kUl5CHx9ZzeUUf({FZv@-JXMSN3n`Fbhn-W#Sf?ev7yXOurS(0@H7R@C2sc9BBzm zzj@pQrr!)<1*YF3ZUX+&{o4s?3rxQy90aD{kg^I)zj@38({BZ{!1P-otibeJ#Vj!W z2KW`2elz49>qoVEWA*%=HGQ-;lHfrr!uRf$7%~R$%%q;3hy)seUV@EinDYxCu`gKQA7r^wJB`tyJ zH;0?R^jjsb0@H6EH-YK5Oxgm|ZxJ_v={F#(!1SBLEVx(nFY9HP1*YE;VFlLyRxk@p zzYf0w({B|wf$29xSp=rvB7Oy?-;lftOuqqUf$2BFEcjp1uOlxhRKTWNJ5PN2+BV-m zyV?f6|45gjrzvb;pu_VEPR( z3rxR7;ue^GBisb0-x#yN^jpO&F#QIkB{2Pl$B}9;IqVEV0+mcaCz;3hErI?5t2{T7H@VEWAxR$%(g zU>2BuE0_iUEBdV-MR|c8rdvC2a!`0qTkY>v+WrPd{j`3gh_V9HZ*~mz15CdmZUWP9 zsfp_iOuu>j3QWH_%mUMI6~6-0Z)Ozr4NSiU;ue^GbGQjizeUUf({F-VVEWCFmcaCz z9Zg!m^jjfqf$2Ago51uNleWP0o5xLH`gMdAn0~XE1*YF3W`XIqNLYdCw}e?>`b|hn zVEV1#CNTY0F$+w;dEyqBegnb^Our7Z!1PmUJ*YL~Q{gF#` ze`Lb@hoWs)zF(v8+I49ZT{I#)+y2P0I$g1oem@|1z^{8)x~<fs;wweCgZ)^43wi&2k|%z!nCJ23D3U+H)jS_9-@8r5;SN^h z@P7*LV;D^OVD3K5|C8U+fjv^l_i@Eu971@&t8)DNCQsPfIk4egK78(E@&is?OnJ^- z+qn~Q2Z0EL{cLX29w|o(`*R==Vrvj{Z$@j3z%ZLkne=GHiJ@fI_DTc7#mD)2s zTn5~;&si6PX0ijr~LJb&LVvrir^FcbL7|Ukz(maUZ_FG9!`)Gcj_lzhw$JUdEYtq>gt3C zdD2hqe)Pir+CHCi2>DreW&0ew?RCDHhPSh|&vW&6bfC5m@fp5d zwRBf#yK28v`grcmiqkUlwUEWo{yBb?>V_|wf>dApuhKT@53r6zrlr` zxBHa-%=xyfuOIt9Q>^~yj?ntQQSZx^uGU}U$={_}?@)*1#|}AL`X|{-HGX~m?V~+b zbJ5!CJA1!U@J`$MpU=9V9H##c^Hf(?%Lagz#|I63MxFBZex`N&I%1%F#-0agcpp+{ z>sKfrs{h%Geg2)kPbjB+_Gel@>OWHczSlIL%IB5uu$}jB?-MF0zqx*gDH-c^UR3@q zeJ`N#vGRY?_ZZoGo=VD}r{B?xoBjQFf%4Dj@6Pyz%5SRqF}|#P($(j)yra+0lgi(% z?Sr*5Pb+WVXNpJpbQdZAslI11(t3DK`5pAVc*eh=d}%|UuJJD_KVALD8c#*}9!F^X zAMMjkl)p~D?`8h0%4eUfzb;Po{NrIh9(!+-{oY^E_huE&@>eAIFZ#EBjhzqMW!mrB z>fgL^tj|#SeXo0moi0mj|Hi&|pxJi3%DL{y(4VM1HsRJ^dyK?g=3nhtL4PEY{(v62 ztiPX{omWrS9e2G^XLYk0+&?_A-u;}8_4bhdOYO0TJ+P=`X1n@|9M<6fgAHm!J2yO2 zZ$GWUe%riy_oExugO5F>-uDTJ7tH^Pz0Ks$2W(Vt zzsLlk^!xkNyMHmU-X8v{-oEQm_4b(!@y%|qKi*)!y&*p%_N|XEY4AVuOx_<_^M3A= ze}?~>{ZRX^d^EH!qRwiw==R_Ks(onxH%$h7oVtA3#a}4Ve__N1E;`2lZhuPu#Z9}^ z=|5@i;%fDuJ*kWPf2058x-PCx|C@AiwffI&*~QiBzj%L_di@XY;%fC@J-Caj)qifk zE{ru+R!jEOF0M}hGs%CA{>$ffakcu-KitLD>c3Lz@{{_HCUkMN`Y&wV#ntLR*}03W z)qjQZ)#|^vPZw9K|A_ji)Bm_Gu2%omSGu@b{b!%$`qbz@JF$za)qmmEF7BuFUuf#$ zYW1JLp8BiNe}(+~l>Upyb#b-&FQ3rG)#|^vR~J{S|LP50T&@0d=&4r!@n&6It^Nbz zuhoB!>rt!!>?t;z!gxZPwMfs0oH3~G{k%E-{>%?0+UFnFbBnwA`%dt&zYlD#va$1A zf4g!eZI22!=>4nV{m^^sdjXQc{`VAUJh>(xzk9lvGFjz2+k25e_x;95`G4E9r9 zJg@xs`rLc@P0tsUU!witg8KKVI5%vn?`H;|c>l5b@2AgoN3;F-qNMyFeJ^_B`^i_= z=Z)?8@T&U1sHfhqxAf(;`}H(^AA!Yh_v^K_KWzP$tX`iJw0;WT`kaT#UpY_nul;|! zu6t?!+2XP1OOIU3`ww68`C&V0di1yYc~QqN%HO$-&%gD%66J4d;6GG;WBX2yUdO8P z`#w{j&p>rj`jd}83VeRD%3q@66nhVMsQm7K@&2v>n9oFb-$GHbU&z!r_;wa%4{M`9_f@q=63@5Ug5)?QrP@X zcxopn*p&I5@^Nds@)Mm>d^&*ngP8dP>;jqpNq9c5a9gJoGXGOx{--prQwo{?k@<#7 zzEg^m*$*w>!zxbfltSi%3TMy>x`Fh8%m)R0FVJ0w9i;O?+cTe3B0V7UK>_hsf8QxZ zu}SP}^NlXtfs_5)Tdw1RhdQNr^A^TKkCFaqqz{U?%k!UcOQ#g`)b4N-RJNx-NBMGR zcS`XA?~jxt+eBW#`LBDs{kQq3=uy%KBXi!RT&BLjz8$?idlBKmGQNi>`6*5#FQBhJ z4_r8h`UAc7dELsn2&l2R(06#!p=7w zH)eiYzmIPR`TQjZ`EhG@xBB157U(&+mj3;1R6N*mAo{*=9lj;nF~tTiqvwm*Z~uD7 z6c^*a!1D^(7doa`wm<%lVZT1#KojhN{{r^p^NuM>y?EZ>GTi@;JD5C={9rGC*)c`s zee{7nSk^Jc)IMA)`F^OxU;di#VC3oKpZvss#y|KP|Lz^; z2Vd@(V!>*}hduil`30B$+NIC;mR{`W1Z(pAtNWbsOoj4;i^*RZd*x%w3to}%*n>|= z9~?mW$_ue0R6)y3@<;mRkH`m_Sw z#CE=baY`?^k;=cO-K|5MDFJ||lG0NNfO9BmWEeV9*@_fm!+wuLecCG{W zr=$nZyIjThth%>z?PM^|pgm%sR#~f^n=8*_aDU2QivOAGxCi(>r-Pcy+PTu&?OZ|p z59RkpM>g1~o!gz?YlJ;>IW5Kd?cDpMCweLs+wp!d;+LBx@yCQu)@kSN;`cAlzgI3H z{H5!-C;5HJ{Cf5V>^l*j_#}KH9p#_3bMp_7ww33(uV}~jI@_h|zsVnXKl3%j-@Bb# zYY^=R&ohOy_})|pzBh&bW_~lO+(*O-DDg&-j{^W--LZgJ10vGQl9+Pgr_{) zuTT2Ck0H61^eNA{(cWIXj`CBU;}0S|$shF#0X+UAsFNv+``e3p-EjyR5JLK1yd^mU{Y! z{yyH5@%70oCs7Jt`yV{5VtUwF-ruwhOz3InbiK8_)cf~$A?F@^VW#)-&YbjYzYpt| z6|U{=O2GPMx$AnnJg|OQf;n@2Z)g3o7;_m|zbt!0Zz5^% zUEI61A6CFz0@m+}ZYD3l`dNi}z3JcecGl0z--5e9`&CuUnOl21>u2RL7lHM&s+cpk z^>&}!WEJJl6ZO3z#vXf~nf!VA!g~9|W9#kVN4}qB?0qj=jeBOhf7ILGZ3sU!wvhh( z>@w~X=+KUdyZL^W*)z;rnGS_Z_BSPXAKQ?h+GANmd0%KKPq}6uL&Ck?;J(E}_3@2u zsGp?`{wodf^=}COKIN19@~RH|<=FY<9ah}aR{tu0oR1;e->+-rx~}H7gEC#G-$!rH zdhYAA2f%b)dYJYaoJ4yo7R;c%mhTZ3A0#cX-nz73m+=0Sg|tt=(f-Nz6EjZ`9$c}9w}&s%UW3JR zN$)w@w|9vT+ESaKilWO%C!;L_aMv9kzeov_k)CXx%`U9aQsVs<=&wz zU^?x8yb1MHp}xRu8ISEleg2*J!4{#9Ke>~CmIR!ru=9wcFX&=Q8RwvhT??^smv z&!)ck4p0LhDqnoKKAxQN{q22tnx9DdcbC-r&nsW9*7F7B!-jZ@%5S9eDVEPz`4#&9 zJmX8s->CCh#+Q{pSl^Rpd`0To_^WT?_1c=uUYfqdjE^Y*4sxm^!r|D==Xh3Kd1J1wITdAajmO!8`Dp$ z?f1=W==b$)==Zq;R-U$=A4njbH;{RP+TUO8_+G~Nwc~pk6$NLdu=-TnVjQMNF`w8J|$NMtouO08pnE!bCYc}4OF@NoNU&j1(<9){Hwc~vm z^Y0`tUY7lT{pjC<{I=d6?Lysvg4(OQ(O(3$^8+$RP&+?R;`-Lk56B!r?fihu5!B8P zh%7&+|CliUA2N3&sGTnm_uBaav0uuKL*_5+ScW~Qv7gBgqRxFE^Xbo>kMijm8(pIP zM^HJ;~dvtZ|~Pk*Vm%um?*{{mhA9QF?F)fF}SAJ@1(jjFpwXlL91xQ+HN zZ6A89`_U}@qJD?e_M6*%v~j3iJ+^?!kWCogh-9w=0PmkB<8>u*{AZ}`{BALaW=k@_z_ z<QnhQly`sh>)wg-FMR0zyT^;E|Elr@ zo!7Sgwt?#ZQ=Pvy9cGnJ1M|=BdvTq zeY@m_FvWA+A0ye6c1f6GF?QE$9X4iS2frBLTri#f*u`OrHR(@Ayl*u-BTO--1NN&~ z51ALH$n?WM`{6U#1qIyY{Wr-qqzAq_p7hURz4W3m#ohcY;;Ywk!G&Q8`(A44g3t+i z(DaqRq`yphf~SeEJdX8|nPG~-C(xffiT7n)hC3L+{C9F2>mj6_Vs~HO!j0qwY_lEd zG5;N%P5NM0=3^p>Zx-=^e``19b4tIY{9wd=-kv*; z`Ul^TUwOXO;aBho{v~|oeCiuKg8$%mxKnq6wH|dd_se&%{y^CTO@xoR{yE|j?7XLszkpdV7-@ye$ltHX zADDI)@!!LGIC>H+XMQSP$a?s^Fh!a9o#=k%+bO$XEb~WVk14z0=n>?H_3MDL3wA^1 zG4VOl5`04XW%6G|y8`J?h+eW>TR}XU^wE0}y$kLqe{%ifIkeJf$W1{!R8}CC8AFk25KRWDieHw6U zjmXY6|1xq7@33Oi%Thz@_te$@dD{LIKJ)ENR{5f~KV{wj5-C6VKp#)6<9Q#7`IjeW zrap|1)qlQ$FDbv5wO1NX+5A6VA5TU3cA9^SKT-an9qRK_Reqk{H_gA(`VAZ6&nSPa zKHp~k1Lfaqh$pN3tbf(#GgN-eM)mp0DgSjt{E_lc>wVVJ%`4yeiTd~p$|u^NG5xM%kzoynNHq+`2o+{eQJg7qjz6;KGgfs@w;ew zwLg$oesg{9t?;?`UsQha&h`Gw%HO2-U-O?RKSKAFM_MkMPkcf5zZXXN`(~gzKTP-C z8y_lv^5?!j1KZc8{QmY_qwVKX-kv8YO!fIMDDT!-*k?-1Y{*%r(jmZYb?ArghspBTL3>XxgK5FWThvu6mP6=A$ z8$W6EDXjq~Ol@hNHYhl8a&z-aP67-cH>G7zFly?Qm5EF+J~(?&a6%v{?7S0x&S+_# za$wWsQ<}%5+^+ox1rxANo;0atMDw(kR*y#RKWWsIR&ru~@}$wNwiZe^xg{WGiDlyH zP2*MupEzdH#O79?P2cB`0)lUkYw1!J4X=bI<*J-KPz#Gz?9M@^bEo{07xKXuC3 zpEr#j+k6PQnj#6n?%mYVRBIo4=%KY%DQ=xzYQBcB^6V}7@(HEcKeTy5Q)@oOlX$2j zN1b#a^dZenV^-F#FMxMRW3>96Flo%nYje`*1F;SYrcP;|yzivRqp5SBa?7Nartu;X ztGsa&$F+=W8b7SLDL;JNX};p5Qk$ks;nE&FwRvjuPitZ<*=yCrNs^m<%j7{pOVhZO zax_{LG3E5;=KPUdvF6GDMQv@yEK!U;WAymumD-rna=NG^y@9~%l7}@< zo?wM;k$SDO)Vc06af~_Uo2bGOht^pStrZ`c%xBZfD77ZG9qVj6)!BYAscF0t0XO4S z980(I4uy^Ux#u4j45+>TmV3-g9p0Wzf8^tp_uuk{{{GuTeOb!q*5Dpvn<^?9AbmpTuw{G73RfBC!T?LO5{ zpJNW}{zX4kjsYio|HhY;zwzHbT`N~v`Fk7qMarLci`Mf)KHZA)Z|HY?A}w!aGoNmt z_up`mFKMFu*ZN&~yIxi0|2ja+wLoiTb05zw_B_@_KHaSHd+KwU_TBfa3TL5S7aOOC z%0H{T-S>0KZ?i=2r&@23@>l8eYT+sV{+L(($Z_gl^;T5AG-_6wVcX{vD}T_N-oMpP zN%+Gz_xEUH><9iEy zZg{2h_dfr2y#jUUr_Tl2IDH%COOI-~bUr6k{s`5%jo)+1KWhDCZ3ptoNBaD(rAx8W zV@vG^+ViXhKD}Yy(Y? z&tBJf^nC`_AAY;xyHpkR|A6{0%=CI=J92t#tNY@O|4jKs7Qg1x`p=JCSf8Kl>OP)+ z+WyBkGZ5tnm49CaXnd?XeEdiKy*%UFVYil#r>N~!qSLJlb8XzL{&ULr*u>Yj`Hz%ur}L)9k5&G` zPyF?aHJ-fkPW@Z^T2Ow5^47obze4A_>;1(1$Ljx=`aG@i^Od*zbL)LWdAmOwUsnFN zdf&GESCoIx=An=AdQX(^s_mBDpR3B3_5NnOQ@y<3Q2!a_@7&DSr#;_m?NICe{A^zX zS@l0t+ePyqDsTNAr~R6o@+)+{p*+RMW9?I<<5a7+lKMYg`wLbN3zTm%{#aiRW#t3w z$7y?9QGRXZBlVvszlA=}9PR6WXI16h6ZN`s+74A8S6<_>_H2fZ?=7E!`tPInZPS~z zbDgz4Fy7iZy=?z6KmD5r=B?k>{PguBHN)Hb-?eEz|MOd~--$2wI3Q z{4>{sxCQ5q_VrslnDT;tGT+Me3dx&bB-JMAhg@I5V_qh%Jcjf^U)@g;^vgQIu!G4D zN2NRY2ZMS3NaoMu9jQOT8>G+tcx9ioAl%; zok4nFfch^^p?<)jk{|q+kD>hF^1Zx&`~S$HX7cB`4emcY;`zc==o9Qe4?QsdojsBK z0+(gKrF`E+k43||yQm(Z0RSs6(jp z!R9|uem(6UMdNfnGVm!hzKf!fd2{!*-b zqR)le{<@O#f7kU`i>IvoIS2duj`0=cx9L>RC(5@p$eB*!g_29Ph<-NJ0{UXh0 zRt1z@=;M!-50&q;e?6a5{($Z3`AGTA8~o>$@2~H3vG@zhudm|<>yHKkDxW>s^B>r}g7RhM-86q4EuP#d-hV$GZyBE` z-}s)C{CMwwp#DzFXL;Qgl=rSH|F=`4ozLtz>iD+q|7G@v$dMf8fA_KvWDo56Gjw~O zM*C0ulRIl*iede{y@Xw`U?A-m>yaU5LA4j{$tA2WP9K;eXAf4VsW|sB`+cPS&;N2@ zicfi-QSQIliwC9{^Pu+_JTcG-mNa{N>0HtSnSEG)k5}K_3Et*@CP%c| z?kN)Dll&KF3``N1y*+a+af7=f%8PsH8uAaGRC^vb!Q{u%=v?9Xfhpe5^pXcDAGm}4 zcybi)C4S&`^!Ds4lovd}{XvfS&4DQj8ej2I{DZ@qynFP)KqvUe?cN?dPW^(n2%mho zmJ6Q24jzcO9^YYq4m&te!@H+R8|9?a@u=r!2e)LD`3k2-n zl*JrQ>K?Kc$)X;$x*qH z@`1;GOL@sp`BwacJn!2Rdvp=`0Rukq{JTxPw(4MXk0O zdd_9G7*g9mDCzpRj1S^VH*iUN-!4WvPUx)>+gZj9a!CJQj;Y`H_B5J!jVJW~-p_eH zm~ef{SUc0M?0K8t2-N=ty06{%tn!!W{6e(6s^ zB7D1;GX6gr>aFd&&O4RW|2F!3g2j_4f3Lm|!+59l`a_rccmn0C+P^6;V*?OJsQiw* zd;fOd$|=8%?$@{YBjuls>fp!^3U1x7#e@1{L+T_M=8JXtNL`uDF3NmFRQl`l|R~^ z)6n?GD*sn~KE(2wSN>lOyzr!ovr*Oy6#}<&QU&i%=@?N8!Lam_QQ-XDSxc) zZ%kHrJ(QInJ6zLMzM}jVx^JYQe4@PVZ;ZzJes)#)W!kT@-;u5Rt9<|CG;-5=>b{e1 z-<0;@n(75UKlc36Y~}~cHT!1@+xg$MwF`E(@q@JwRsFqNf7DX@?r<%y_7^kiu#?Sa zDjz6+yUxd1JXz&S4ScBl3Y`Zu|2gG9+p#{~Ncq#g)AmZ!%_~24<9h!E<-cu+r>J~Y z*C{OBSoxO5^*H4>&ez9ZR{jDVhgduninkhRppE0>*II&dp}$ElbHXE z@`FtO{||fb9^cqi-u;?ODKQE0OQD_6!`qz@XY7n+%a?H`p7D%jNwyX17D=8NXFQQ* zY1>vtmK0q)b_ji42+1S_a4tXs0Srk@^V_&rIenQcIb^1 zD1E=rx;SH(bN)Ji)*nCGYb|Z9z4qE`J;&FXJ< z{nD5JQD4{USIg%7dtWf)!SIt6Q~p2yYG=7!zw~=XubBJ~Ek9Sy`Cq?ir(QRJ-A4Z2 zWb_ByZ*f!pr)E6Z_DI~H{C&y0tA9*+ZTI*zJ|3* z+KIz|`t$UQZ%d=b$8U*GHTt|HBHG33&zm5F;*l*hRD0-!b`mo=W zU%y9DlgTfW7fOV6dmDb4`XRf1V{MM>L$~q0gMQP*{R=&Sy>OHMSRpO+91;d8K*wzmA}CEVeFNMXfJdV=PzZj z=gv?cq~b;C&y^O=hyIqwxb!>d2bb?rbQ=$I;J2~2@}1B-Jnb9zDEjgg_5TU| z>rfx`GSuiz+P}Pq{($09e*YKPvtGMLQI5Rx@6=CT=tI=E^f-;YiuOa_B3`wDc;)y6 zzlFX_e)1=bALjS!>*@(B0Ih;*06~NobYt)%X~AJ?~F^{r376FXKrl&ZVS( z&yUf6(0_3L$^+Ox%X<`EcbNJg;(pt>Um>$TWu-{}K)-e=zi0oN}m3PMZdqU^Q->XHwf+fC7pK$xfaw#Ugpngg1&*SHQzTx>2GM*KCzLh$ zrV+*`GSdsbn zL7oq!{14-#7dN?T3V43`~&!Px8>8pX6Evp66pc59rInU%tUZ{~q5% zzsvbDew?T2A4uLWGKsyn{C?&KG_a5H$^7n=h{Nw7Jf&22cD$u&_ASgewnmTf%?}*+5hIRs2|#1U-sI|*k9$c zZT?h#&1DTjcX7V-Z}~U5KWOp2I`7?}KcEM~=KH_odr0_|oF9LLxdpv>QuqJ)M`<4< z{7ati(g&DJkZj!|`PH8=9wFr);rC7dO#2|G1$z#QxXNFlJ&^D-sekfu#v=6aA@cO^ z#>bft&;avy6aKbwjy&{w9<`jm@-gNcn^Z@W06iXdfi}YoLetb^2aN_}3cq z-+7SwA|G$xr{YLj1hZ3ALjay@GFP$?EM+f0}_5E`;a(X zOK5w2-RmxEn1n3j(q&v zv=6fU>ik8FA1G${Q~4>b4cWiPHQQ=fFa=9Dw@<#5^=sujG@iNP^&e5+jNE!D@6LGn zwtr&d+J{s*({RV}PV09t`(m4~8{)=aJZZ`;?zqLoU)#7R$Nb=xW}nc8?`wXvV#;^h zjV+G;tg%a5+|*$1Yp=oA7FSvvy=PbX9&>)nE_~{k@|PKVul4g;~Re94?YV)P7KzHG|>bJzJR zru=G)yG@+bswuz7>LsQbJ^{$f5Pg)#vgRvoc{$A z2fAY7?;2jJ`)zcWJ*LT&@Akhtru-Y{_4u{p!E4G7SpS6?R|BRzZgKr{T3;`l^00|J zv-h=Z${(L0aISK`@fs=6;tl9{s>dPYRVVBdbhekJFeDD`FE_{$eh1n%75jN zo#$_w@)jGfYR*4z$^-j#KiK*kkc0B)HE~t8f2F zL&Ji3uCwO&$khi@EUY zjs0T9>dB_OWmmb^l>giFx?czK%c^9+l>fk#ug&W6xGCR`C$8%9NmIUJ-W$@8(Rx$AOZqCe0!&ly7%5O38cJ}<+ zO!@b$UTx05-IV`MWM@5ROnJ)c?dJTuO!<$^JlHhzgY7WY-yi+&o%Oual&1|pu>G@a z%15l7(e(d{DgUOu?t%MMy{o4DBj&wYHg0aslz;0%J>Kkd*)Zk7m+AJ{IK@p^E-9z2=Mi@6+|)z;v+5iS&4(*Jtf#?Q0=wquW# zzk&ay^_GFk%NvHsH>py2zX|py*{|d=Vo;!efgcXM6MO6DunR%&ypiwU$Ntx!zf_U< zcLwn93_N|Qq7C`}@A&;6@q6f}Qtw^Z1HXK!qKh#=Iruv^zCs>aZ6nWq6XoBzRMB%{ zKRv}D|0;%js7~0=+I{$=ewTBhzx+e668lfAevLfz>wNFrkAH)6g+7VB)p_qL8XUe8 z6919Be{+rY35mUS=|0-~4DE%U8r$6u~V(O&Y)e@uPQeUr53GuRWqz&o9w zv)|x;pXU6toDcoIEFgOVd*TE73{YXkGJ|9?T0=l z^;4gh{t?Riuz69}`U70Q1^YL7p)>s$c%=y31`Osfa@q6O8 zCeL&K&|k10$;z9t=l|c_KlG75=6b)5J@?Of-q6DPsE>RTX`zPC@%+d;Tl5d~HTJt* zJHS5Xe|f1Q2Y=2I?{{6=WxO)}nvULE6k^81x<(jLg6z9sVK89PF&+>ea^W$G6Ctkh5Y&i@(TLoeJ) z|BxRbE%b};*X>#T4!?zdQp4UZ;FGk_Pw8K|Ui^R4KIpZaFV|c7HrE%*l4n2Urd9eI zIzW3Q9>3`mP3+H~-qWZvN7r$G@I9 zsIR{^u5r@?!wn7mZ}YDQ;a8K~zw;X2hYkt<5`WAZX(8)R8u%sB&`*TFJxhPSmiN6w zZSy)`ejV>uhZaKm_nVw6^pXvoKmUL6K6dCouhIDdek=4%^d9kN4g4~BNcJ-of882s zp)XS3ruc_`h3}yslb`$^5&u=0dl4FeKd(ss4dkJw zy^P2A!$kilj1k)7(f7MTTIjpNuel%R*XVC(l+!jp@$!Zx(n6E`RQh9+w9w2X`M(kW zG2cNG@XHnaecsEtSLodb_5E&;7J34HEBAN)3i=27JNZ5Jt-kS9ik=hxO1{i@Lf^Ro zesC6kdL{Ki=V|}IR~dh#g$ADDd9WY(WHZ-?en$PyPpO}@&|rl8Z_)m%Xg@S|G3|MP z`LdTAgKn4n8u0<7g_OUF`~ZSOs0;qI@;UC8w9v!w&q?x=ty~X!6aFlD|B=&1e?iY9 zh9{q z6B$qTZ^Um?`ZxhUy3il~w&9)mreizL-})ar^WS^v&inxr4`55{udyk8d|7E{-sYax zY^mXKbA0;d{J@3!-`A}DoB02g`{0c~xLf^nU`+F|4pWgm+WjFH%&ouL#N!P-ywm>u z2DARU;W`8Ze-_8>UhnUyZySi0*4N#9o%VkWnDV~A*5%Gq+MX0QIPSrhFy*4wbU|Os<&n7mVF^<@H*RSvBSRE`Fy*{5!ks-z%nk&g>^(?L&6G{|jb63S0h&IseuFqOWW1Osl3m_=~1L zjlXTpl&?H%&Nt;>Gv$x$I)B5Ie{NT~m@VY*&=ouD-!$d()_-a0|Gp`=`)WEb(fx4V zl)v(Kbv={DPTyeWq20&QmcP=JFPz`m{w7my_p!A0<2|N)&!|4%`I)wNI;Q+qGp=lZ zdQJK9D|LHpd6y}_{fDL=<7enGnTe+uk2mbTk+qeV&mA~J(1OIvNYuthV z8s6Qw1OLU})3^iwtv%4V1OF|*kNa&yUR(V4P~#5#=X{`X2mXtHsBs7W8~AYJ4*a+D zaN`dAw@Lm&{MYno;|~1iC4V9Q8z4V3i99#>Z}X##JMiDY#~OFwzxXE`ci_L3Pc`nu zf2)lR7vjH--)!80|C&DCxC8&iKSO^!1zs}vFaAX14*VB?lKzM=J`DaFc&c#+{#*NO z;|}~c`Ap*u{8xUqaR>fedaiK?{@WyfA^saU+qeV&t$eX@2mV|6QsWN%x3t!{1OKi5 zHsk98{I^Mc7vjGaHjBLw|2bc6+=2flztXq^|E=)-h4^pj_ZoNLzm?x-yhdNde;a?$ zxC8$!oon2I|GdvP?!A0jXyYF?jjH}VgWIy zeBH>W&4XI5teW!gntgT}UZLevgOTfT!^c-%%8l~ZWXkU`@iI$4)mJQ=^7otd==Qox zrhK7E%O@Leux!eoy~niQ_}^Dd`FXp}WS3vw?oVg^$ZO{Oi+Alqvti1AvMb)l;+_Q? zUt`v%ZJP5(%ylhZu{h>yCLY6W}lV{y#x{YWg1X*K?ITaU#t|7_v`ES_jF zIN&1&uiJ8#`>Ma!nRqK(-e$@VT(A4tmbaVoTh0C`o2H!>CzWk{kik6`Cl&u)KNpL` zEbe)gDWCkR#^nR1{)>BdUN>&auQYKflV*G-O!=Ri@#C2CNmKr>=DuwISlm-K>)>sB z7R>oEvyOc2COr<9O!;q^_(U7Owrt7|oBrJ1|HhQtco-Y+v1-b9?=!e&${#TCA$B}( znDSQ`eQCwKUwhM(f5PZjlke00wrTXhkL)U+H2mRlGp_9YTE6l0>vTWca!dv4@5{T& zF|nw>Z<%>v@2dgRfc!;|ntDwCH<|K3HE}XF-or8F1Ll1D9KEJ|)#6$cZ!lobH|2I5 z#!dO|{U48;@^2dbYQ>HRQ@&`%n|)qoQ+}K6e|aGse@mvkZ2H00vuVn2-Bo_xl>f-A zU$xJ%!T8NTY2P1U>TfdT^AG5GG2qpF@@7-68gaqLZu{r0`=VF;Jp1Rym74J^-K24{ ztOLfxv#s~5_qTkFhxwy6MNQz{CHCuCdZA5`>?gEIkod}sN0G$y58RAD=9EX#)8rlY zqgnk)nXY^6&I28aeu3NC{C(_ezto}VEmHrdx&D7}eQ1TeTz~ne zZHmtDd%6DP`8Gw%N{x`v&MAA=y7k@+-6SC-fgA8c17`!Pv>HT^q%16>Ip7%1|*?r2vO7}fpj(0(D= zpGoyM>1F5#RJZvp`g4x{gnnf58wH*>^i#=mzsr0lB>Ocq8Gp z{q%SIlkJKwep2_(+V^NLbZ9~6S1;jNL1)eShdAR$sO=lN{qYkW4MGP^eqg+V_e6Iz z{Da(26@OAwha%Y@YT#Y?ix^8n7l-LD?2j8c+7BJ~a6Q>CioOy0;G}*YYm6Ns*)K}Q zqnGc5UI~nm{yd-eDEd9>lf0L@g_gvgEZ;LO2EMt;>x ze?sy;1IPP|yo;Fe4i%;=4N( zeNFTQ@*D4AK0=$^pL*$l%lL<6|124w4t*^o`(sJ}JB&Rcm-<)mSFV1D`-j?My1%{5 zHKF5Fqxu{E6^HJBGw0*q@=h`TpjYP@FUv6REGI&rDBZH^eL0q zr40?&aK89Y>|axx=1P#-UY2J@q6A+xBQ>Xcc}QRKL0$t zN9bw3m)|?b_$|aM;uZfX2N)mF(z~!n!_Uj#ZBz8JOKA!GXZ29KqVLmn!f#g2a4*nf zv$~}#FM;1dLtmtR_~YdF+ZA25K>NviaV!Wq9a>&FlUyHq-M97cH%~Gapes$jd;{%) z!fWRHa69XW+8d$|>wNrO^f$Ef2-jmioFC-=pocO>9(HjrP+^W|$9&!Fqkd@N4t~%1 zO+7qo=>CxQ50sf}LKA0n{mU1@|DeBqROcsO?!k89Y54oIT<@Ro4`tyO(90gv->+Wm zVXcs-VX$oS@P<|Bdq$A2y^H4q{f=3Wqt9w+_$T&1k-vfOGv6Tlw_E;yBJrc%pC|vF z=glvgUzGnc1e;8;mH+X7*w-Lr<^Sf7_B9Au`9JVa`x=C-ykGwJeGNj7e46or|Hg}; z6|(Z*`N2N?=KC6~ykE=1uOKV$y?@8~kd^mK|G2L~=vsk2ykum#m+=X`e1P#*V|?_$ z>mY>(?f{=W$Np^4@;=5h<8kuIeTpm|So`6=2BB9VUmN}rCN$fo$jbk7s*MokU^9KN*<@J4veq5oy$v2(ld&uGs?=bxj?V(Eq zf2_ojpOD2LOV=X{p>4boYXeWUH9UmBc?o_UZ$KVH7Jqnu%JYXT{#YX|^aGkN{C)NB zxqs+y8@V3*XtM>p2R*>`m#_ymTulP9_+)@{g??ntFLSQYiaCF&mG(ge@JK`b6%9)_ zkcaA+g9nID@s4wUki|DE|3ZI57T>J>EA4|Uo@ok$Zy<|b8X{Z>vUp|VD()Y$cx7cT zZGkLaDJN(j)Nk?1Pk5e?#V1QIFdrcGexygiua7X_pui&X4EYoP4Cg}@zpOAf6~Q7L z=7*QDBlHjNr9T<38>EFSzFB&P`XP&N9MVF+7uM%5f12w-+xUj`dC1}$FMT0o@r^@Y z32hjBv+~ch2eNpk>Bo#G=#>}i`MUNb{Rvt85+7lFKo-AjTu1*w7QZZqn4i!Arp@t~+JQg!FM0!{vrGR)Qx*+A9S_E-|)Scz7bmfE9MXWdoOcS$l|3<=DyJ5C|@g_ zzsj=|dXl`<-$dO)%UnVh0pFm1Xm~UniN@l|)c6f2u9#@NRssC-|g-0?C$FB?(XT{-`(4NO^>&y zv!|=4yQimTe@}1EHT$~{c(3*LIejM&ItLpMU4F=O=+L3VhmQ2WvA?hXio?#4wj+m+ z9PxGgdVCRI(w7<>_ecF%|Fpm4uLcGKv7zMf;BYJy2n~gzp?D}6%8d?&qv1k$E?f%N z!u7~tBpY!f#YjD}5RFB1(L%Hotw!syq1b3F8cW2+V#WAid^8@3XXClJ8=sEnBYQfe?2OC3+$kaAO{vCz@Zqg_Y4kM2L(do*&a<9L2Ne?#Gh@(tA!C$Dg> zI6UD@?49sU3{C_lf)mM!v58|7S4>PyWG1F2aud@N#fi#9b)q&=pO~LGJ+UxxOQX{` zc}e5hm9xM3t0zwOoot+RGIKNTOl`I+-_}XCFKJ_}P!0{rK5Woc-k4Po4d(v#V!6efBeF zpE&#E*{9Ba_Uz}*K7IC?v!6fv?Ahnee&OsF&wgorY5h0W-?IMJ_1o6pwtoBi9qVV- z?_9rY{q5^_ufJpco$K#fUtYgw{oeKa*6&|`_xgL*-@E?6`h)B5TYvxhL+c+{|KR$E z)>qa)y#A5(hu0rje{}t$>yNEJzW%ZGkFS4X{gdmzx&Ep3-&$W?|MdE2)}L5^a{a0G z&#r%N{ps~*)<3`g?D})-Us(U*`j@_P?^o{o%F0(h{FSGF=iaa1{`H6c;9ckLId|{5 z`_A2e?%n6!bMC$89ys^lx%ZuW|G9_Gec;>&&wc3J%DE4pd-&WV=N>)x(Q}WTd;HwT z&VBmaXU;uw?#Xjco%`&$&z*bv+%xAsf9~0H&z<|ixi6mk((_Bt|HkugdH$`>-}e05 zp1=M1JDxxD{GHF=^ZdQfzlV|TIKz$;aTw`Ww>TchIpjF~j&s;?PW3x;{g-<@S2pLG z-#FjgwZFN~*?Yy_mLq+wZ7r>RPV2$OHfL|!MAhT;>A~L~3bfx;W%SF?@8`eMdr6~r zp}o_~9NgdK^>%rCy1c#J-ku(>mnqQ0Z18$}yY}}vlYJc>eSMur+MFYd^TDLgKk5tk ze1U*39QH*6zUa6w9`YrEzNFuGbl6v}`06u*q10e3;*XE{lSzN_sDCye@QnuseSx4q z5IP!&gagrJAn6OZ*MN(wCSmB?o(w{%A6oN``&O>%+<9NHQ5tjzyB0 zTGA~i>qYJ?6;7sN@l-0D%G6V{^;E5ps=KL$+Sp*%*r0DL6c|f{#uDMNWN<9yKbpxO z&1a6ex#OY0@ksc1EO9)U91kYP-Rc$XS6tEGcf}P~Of0-tGRmFE#}-> z#;wh|3+3rrc_!=3l%0I0mM>28hAducl`r??%f0z(wNSdHP??*{l#7{Saca8go-XDK zyp^jobyI12x}5DV&n%Q@^X2?}xtixySQU4sGFz$?=BjS3I=fiS&sD3l)%sMmK3A=m zYngg2Tdo!0=;eB@T%Rk{EBX0+W?`Mf^lI{Q@h+;i2frTey)?%!H^U~B2Y zt)=&EEj_fg^ntCV4{j~3Y%P6wYw06fOCQ}@THRXu%+}HqTT9PuEq#7#>5E&xaog5g zKDl+$a!1ZeQNI{hqDc@7=onzOCEu-@5&&tvi;t?zm^`j(fN6 zxNqx@`?t<4ZJl|`)|t0%oq5~VnLD=5oY^{a=hm6GZ=HG9)|q>@&fL3o=Dk~I-nVt; z16yZ4xOHY_>&#5<>&~}r-Far~&Xuh@KfHD4BU^Vq zx^>rEw(ffC)?K%4-F5rcU3YBV_3o{^-n(_zqg!u(+t%G@w(h=j>+ZX@?tc5$-5=Y! z`{P^hy=&{im8}OK-g@xStp`8)k6-$Nb2$^fwar1~bwWqr0uUVFP=7zX;E3Z(I!-L% zIG0@1=v>rz3GXm-oJ`Gerpx`jz{_#+%L@k1>~@_jA&9AdTKX@&RfV?OR@=al>V;6;6X9o|DQJfHl9lQG|HY0g(G<$a7E7{K6Q zEHFM8i-iYcsgc34@aP~TdoW+C`r%Q2Uor@#{J~JzKjKUHIo}_PkNabZgg-|4*kI7l zOY{7*nYn;31#e3Q1A~5lAQ&AF1d}kV`Q@c|V>juc8b3{3F3| zG8l}GMS{nJ{^0RY3NAJiq+LV4PeRleW{UnC^{TRn#6e?@kGoYFI8&s ziaVX~MMse=0Vte^h56C3WMYig`i=&Z!SE1#*Ad>E9N~-54MA=!o{Xg8$yg+qj3rXZ z>mhh=vc}u+f{}QNHl{{=QJ6AfC74WwBEb|FNhLy&RAMZc8jlB4vzdIVQg_Fq$cF2K zY1ndNEH!jsOc*uoJsJugJLXG7k5R|5P-^5@EHQd~zxUeX$;8lj(3cqJoEy0R8yJHp zPBvF3>RxZ-MRWa^GwCr(bDIO$}{rD~>H?9A|+sZ7$W*CEEJ%QfA4r8LcJ3#ao1ce)5OFIDEI8JEa|>U6!Bow+4no~6E7 z>YHWk&6etw*;=if&(4+ejI;a;N1P0=Rx^JqMil?}j0>3XHiVDwb5vK3^>iMibVm&_rGij0xsRJB~>jhH}4npdAHa_^;V{y-@=#Vxr&${bD0&6TLP zoT+4>S~*jj<&~D@a;e;1X1wqM#2i$UA#b?aOc+14xXhO8I!3-VIRI&GiNR2CPC9?t^(yh#2Q9>guDi#MJB&^w-T z98YuAK~ZUR`h=Z>tsG}0o$BW!BOf#UPGk^Sa7?m@cgM*VYyHlwWM}2u*)-XFZUJ?5wr<%W|pVw1P@lirB)a4g-e!=ycZ*Hz$4UDX|BMYjOG|$7&o98|9(cV0N z)f>Be4)SsB!K(lj2!>L&|0;xce+zJ{wFMy1x=%PhABY6u?`?7qZAhTLw!O{sdp+_k z9|#A<{gDEN4!4%==-dyyyygI$zV84m9~OUYZ=VdVK6$c-sQK^_x!MuAns1QV>w`d@>V!xk6^nS18YBK%;raU%ogq7#t2o2Za|S zFZ`o}aFo%(@l?<^n3=234f4LzQ-k%{e9kW%-7n`MD?(ApjQU5$qN9HJWzrAB6af+q z@_|^14aUO$*jO~>PsI3kobUYw-XrRlK^@>q#{z>9AEIP%Y&Z~%r$z!nASB?o&k3M8 zWq`v;pYWw|_)%g!m`K1}lU@6JgURj#J;CJu&aU85zT$&#<=%!6e?joFe*}Hf7aj^F zkT9@o`2afuB1gc`{@@U;3JhfmRd=XVFXo1Y$ql1S#)mT?xnbUFdul{3G$I!okqe1@ z>5z|PNJK#hV17IljRq5;C>S{u1rvv)1tL!dM>FMeW^{JWt%QApL1al{I2iVE19XrQ zD@TK28XXRYBB2ygB?wX%VH`WgDS|P>`MIfjxCDcX__&!!kP3LZW64Mi?i`UmjUa53 zVEOE8gelZ^5P+j?y9x@asWVSjs0K!Rx`eZo(G|c=7M^XvtaS?E$TZ94$xkf^+k&tU7;9@TC#4XGv+*)NZ0Y}NAY;iU?Mk>O{K;HzD zai5=$a0r>_6Tt_PNu~m!C?b$=5prTy;b-#d*W`E-feZuBqNsD+UzY;yo3q(Qu~7}+SVly(s;^X>w# z2%eT{HJzy!YSVCFB|Q5?f>x&srA$p^Xy0@tQ!R)DZ9x~C%gkhH_)KZ4&k-qF6)soJ zOZ9noAiF}m1FWnd~|p5(c5!MCS4)JtroIwp4U7}DqpNG6snRE zAvKo)56tC&sB`%&f}C%wbERT!78UH~!rUSs#mp4qSWYRHkQPV@EH~1YlJvM#=$2%X zh}?BbW!?{sE}73Fa;vV$+G<%C3XFA*9&sy+6?%*AV~AFyX>?h>KxH|%BJHb`c%T(& zAMc~)y~U7eq2-a%7HtjhupDEPc(-mH_?6gD%TN|Agw}R+HG$1ksbE7Cl5pB*i2=Z;+U97cYYJ%{J`thn={Ol6Aw z4ssoZYF<<_KDlNKGO)F=<;Yy$m96r5BcIj2c2v2&&DFhaigBSdA)!4;eSwDjHMS$~ zGKKb1F<&Zn6iPGsVu!lH?rW7PMh%-o9szuZIx>gb8?nYPRegSDJ!Y8{^U)VL3ZLt{*gc|f~*Fv!^i@e8AhTgWuc*9R9GAQScGOG5k4v`(-#j0 zkNXkEh&PO=*quUDcRVFxR`pU)^-pjC#9ZSuUvY^*~I$wA==HmejW4w)Np_?2o)iA(}_>RIKMY#(mFm27$3nLjub#cUQFwWf@}vm9kZNs6wRV)Zi_hjqXG=Go$|DP9wp{ zpnM_~0wS7GpkkP@$N5ABi!cXk1&nOmbyOZl03puRih4(9rUMS{uBxv<~WgK>KAl+?l-3HH&z8^&Bjzc zSnara+?Swh;$npiBaT9`Ks@0aX0S3SLjHIq1JAiWE8t87@K`(%9Ols{7$RVgV4UHI zh(v|tb1Y0cHI|4b1b2}>ibzB{Bj^NEj71XeO+39sMWlPu7m3TT8VLp*`K0dvgTRtN zn%TfyO!!9xDMkY*tlY0id^H@YT1o9das+TOn&gpF56V8XS&3wk-yuH&oZClu2k9n6 zI5nVkQs;OQgDRgqmSi?lDHW40^Qge*yj#KW$a6_9Qj#^5jmUkcuwR4{sZ2f{c2hC} zYbhkFTT8hGcmS$zrigS835=0vG0G>SW(*jZOpSrgg7lmiNXFE&7*o&UsLww(7E!W3 zsf4|AOeW(oQI12=V>O^x6wfMwIk=G|g6FNCjpPru1HHyXiqDiqc zO=i@Y8O5(M*&2d3qpk&XL@;FLk?Iu`Wz?yu%KQ{*>ZO5Quj4_Ip=}(}_JhFZku85p>3kA%gs{XvHIbRg{nlJAwBHa+5)!Hcpxho0_ zv$6nyz;24Daf_r*)yo2ZL)bxUOtZ`?$-;Fi?fLG06$d?I5}qk(oJ>gS5(oBJ^8A>5|(3+4J00$NG=K2f1z zR_w8qiw<5r2sxpsBZk=K>b@iD;1Mh#t!X*p(Kx~*5TYgSi-!FDts2y{ zDSXo3=5V<_r_DK?Db}3!j@(pxZmJ_w&Uegrc3!(*?5SPt``dfkyY<23dUfs^eK?>G z*Is)~ujuADeL6b34)p19*QXzApMF9Ioj5?PALt>P8bTvH4y%*H4T|H1js|^2g{*yG zK>)UIo@bXS4hB=lu$C$v94l)q!eE;h%Pl_^ojid3)&=7i@*oPC8CY)p;x+ zE)o<}fm{o4NTmHJSNx?SW45NDNSB|ffN9OY2nH_IXj=$@#{nf6F*xKyd~lEk z>I3?ysK(?JVnO!PI|0nf0!}#ieThIItoUbO9B~x#2beL;G0vC92Ql^{6f|@}Dd&Cz z02a_wiUT?-ms0QrEF*ebDk!$ZOfd*RE|iKI!c@fsjq)jg4v4`)?4BGjWd?>Z-eOJ} zM(kp!P_}|#VAw5!=nKQ(liF+s9EYVip|ML6@KP_9N}-4|#sm|Xa-2I+2Q)xLb_mo0 zp#-9Q@>l_o$Xn!`5~ZOS<1}AG8%*%TLd9y$SE$J$S}Nn?!+N$jimM5RBTtl;F+8YZ zI2;S3nd&PWYF;kq&RH8oQKJW!`M`ck)E7sj;Oxc#ATowV(L5xBi#M~3bPtU`__8?{l z!7K7R9F1cA#wmcnj%pPXh$CoBBb}sJ!4Zmrau_`t>?C725wWHq@8!nCNY22)HCckE z$CN@>j8*3{#l;Mo{wP2V&?B7;>Jh~|?oSCKj1acUCf&*e>)&MH7l(O(s z6Zen|4$HLAa0>H3_b!EU(+N;ihqs$EaFY4rENXYMv{;&(DkbYmtR_#RjJp+DKF-+2#o!~fX(p8y8-FpCugunKnUpX&Y5@oU*T(b|$JhvD#d9B9%ohjcs^r;7*Cy`-nI4(YIx`k$P>Q#VgJ>@t#AkBCok#yZc~MTDj&qUV-l}tvQn~xn zwFMDHWQ;JE~z(UeN3S8k=!*{Kg*`p~TpJ^HX;9S+E+ zQ@K_jG7BmL}<^awBCr%}=e_qu;sOnt3h-qo2 zN(1>Fq6W304@4$|9Rm?2l~);MCL>u%6oUe4DG*GdmqW!eFUfnk!A02J0A#$Q!5>@W+&CSkR8*lY)8#dB_nC3?_;q zi8THJJ4jw|kUFB~2mRn{>}}XwiqpV(i7#5TaknFg^IQKESxhP&*0T5VNYIEY6<afO1C$H70Kq2zIsALj^a1>#e^ zvgQct5xb38g=7vh$CcKUfNK;9rNpx%f~haTxW>?t!&*c@SPF$|I4$!^@B?F896gMU zVS*ieodRc*BV*Wxj>&_-7{~;U`r-_>lprpmP5q!B)xQ#!rd>gT7O7wigK;pBBt)%F zl)$0{MhMQ9XD*dGBPu>2JG~SWeH#ez!B&!2uFHVj$=wCA_y)mJVcJdN5*jZAV;)IiE=gA z(y<{kOu9IRP!Ifqc*GiaG$#Fzy9ul=zy}P&kU%+#gq4p@FpZ2eY<+@z!xF3^0W~L3 zcu)52?>^CYnplIrlP8XxY?(N{uk{2ScoM#ULg9du&IuzbjnTeQtoI@(E;4dO;05er zuecb15V#j|h_GsHDnGMdzMB&N2`8wiJU4qvfRJ)i89u9|Tg%n0IXA1I3ZP4TO?|n# za2JV?z?OqZo6dU0YkrNmo`g@%;A<&6Q;W0to0Q-ah|>YT$>&;HB~UCs?NRO_j>=u5 zT}(A>843f50YlXf3Mx-g1LD+^MeUWq49;l57?vqwMG~V}rGk^D0Inhgm!eO$d1cfgk$-njT*;XWxAn%uVZgC5>jeoYl|spm5@HX zjEm9w zccSMF*y`_NHW1~Lbq_iLWqs{GlyPYNbpI7cYzxJzln_ad#RBHalvhz6X|ix&@qZvj zQm~;xK~bP3l>U%k{0cE~i{P)~B-B3~RMkxSXl8bhkgikJ`l-A~9x;#*!=Y?O*pQUf zhzbQQg;MBiz##%jREcmDbSQxzX+b4^fM!x$mVU%+UL3uGc?1I`C83zLBvdd0<{k-t z2y!P#4CL0h1vX9q0|PQ3J{|}Y_Y3G531B2vOb$kmUM`NUXdpd=I&Pd*v`1Th=oXbo zB4K#ML6|2Hg}WedAUdpmAt=&sYMfjJONwKz;^e4dx%kjwSxEd7l3e@G=nM>5v#x92L}tZHi_Hd{wq91h=>#k+0eu z6h<}GXa-n=Nl4_J!Zipzz=Go3v1q6W1Vs(W38c|jheSeb%*bcAGL3RaI5=<`E7|C5 zJ(oF+^#CixC_o}6W|pzz>8|!(K{j9z99cAU44jgRgfO)Ul8T_wFG6!*esOwdiYmxN zA}H{eX_JyT;zV(#M0{F^MhrX3b?XqLl2&raf|aglW(u5zUK?cw2PI5E5-RvcY&}Zy z2r|K+CT=PQvBD%c*nGI?h%F&{RJu+QtP&Bp5;}?$!^lHGB+?Q43K1ZSI5J#?R0dI_ zRbmVl7_XGFo|FzYVeo^Is0QzqiNYZtknArJ=p|2?rs2o~?Y6Y!e$4QLKb7d$IJcaS4r5X0D zP^oBDDuIE6m`-r2!ZuoU?Q_PWgAy4fXhTm=ZBh|DAij;D78HFl3784PpM-Wclb~5Nn}oJ)oj`WA} z2tJj-$&z*DtGXDk`c7t~UXg{Fniwxil>-@^EJV9h`y{wV!Cwtu2%ee3uf%EsfDB5r zLIBF^mc}vwgeeG^CB_s_iU{s(sZda8!WedXdyv^mjpVEHqJm1<@`3$cxw<5jNG8$S zt4pr!)+NMaNEEy`*Ir!EiDI=)!2+C0D8@DCkapMAD}=LVPgUgS({5IvQKwg(*oJ#d zVsY?vR$D+Ot}+s-sGE){0$3&drh^D|oggG#Foj|=Dp6t00t+G9iSfv^ON6UO!e397 z@(0wlBvF@(3Vtfg0)A9Ngc+f(Sy#T2c-Q7CUe7sz9A?fcpz5?o#V?U4;chEs#j>P& zl_#N|0f36Q8?mAAb*)5?Is&PbH3bYMez-md$tk`y5~mmRzd@(nT{h8e6FoMu-zIu( z;u@PcU=!DxM32`dI&H$%++%C*u{HPDntN=`J+|f^TXT=CdB3fBzpZ({t$Dw#dB3fB zzpZ({t$Dw#dB3fBzpc5~*4%4r?zJ`d+M0WN6kZf(t30Z-pg@Zda{zP(028T>>6Z{@ zHwPH(R3npw9+~1mE_Glp)`_`t&zlA0D9h45))#sm6d1=CVVu2=ioSFP$CYbQOkAKn zrOK)@oZNM7^_r^J9L&%_$r-U@sTkifBebd(c4*hDOGFa5@MZ#gfq{}D?pOd}yTmfJ zw35Q;B}P6{nDS&0NeYxWC%#JMRGlHdYdavAhb^q^QYtzNM3huaI;b2+CD5wswCJcNnHU{8cfO-qLwQjVz*1E0P_bPp zuzLqcu~O~m%jdl9y|^m9*Rnc|Kacv?YejomEZPa;yhbe%0eSX%yqz9zS8u1cd%ub( z#_)v)@OXeoT%KdM9~++Q4x2y;@%I;?HtZWK(R%B;qUg-xv9=yqaj zgQs~yIkBGUs2fS?2$I0Itx((0lmpSiOzdiSLDERPQEgd6FoHeR$`IEy~q(NHnKS7t;<}<<&&{kG$1se(hg5oMV57k*LSUL)6lpp|) zuYh@E6m7XwoyCSH3s^J=6HAuD@$|(gT_B-7Tva`yR8oUKv1sU&NNsx7ek)9NR)AYX z+xzKze0#=L8kN>-pck`tE_{7F!Gtt8CU8e=P1^`D5G^_8AqwmhdoFQJDwaw5O6fJA ziqyEN1Najwn6|DRQGs5S)3~sKl_OELhqmrEFRFBl$*RqGW_w`&E!t zP{(AI5`9f7tz)@}KR2U<@f8oI6^stBLTLm=4A2N*W&kA}tX7OTZMX6f*=$mTH>=e3 zIHeQ<743kfrKmfkPzfXiiWsOs@TjO_%664RsR<`Dm_rx`l}ysDd9-U@HCIJJtCVUB zqm&1SmJ-+oj5loKL&2Ysw9+oe2yaw;!1&l?lmG-P!Xk<_g9MoZ<`MARh-tf|~# zGDHXpG{oE^kc(BNc|;$cFP$PLDQ{9`B8Sztrx9TaA39feGz)Abo=4m*1`iTg0wA2u z&#)*2;A#0^wv401U_w%z8Viy#sF0Mh`OHjp5z`{yBC{lbi1<+4eLzu+)i{nMo>IOQ z8<@6EX>fNF?bE5#?i3<2=Pt;)M9fmk28LS;$4A-2WSn;ezZO*sR7zbI;D!Eh;sWZE0;3RHWQ!EMrpEF~ER`X%B#;SkuUdo+L~fdzGLO z{E{s%B8gyy*cl9FC^_goj*cC4wzW+lj>5MJYs{3DS*wl}3s-G9EssE!GZhe0r7WeG z#qO{5N=Fs#CL;o zKr*6%3%C(wU&mxQCvxsoeFh_N)j6Rsx=x~KlukOT^mL|Dl%%Yl((XZy#!NVW)wVVy zfm+0|(cCI4^BrFiBvz?5T3|%oHpx)NJ8j2jw|9T%HDL z6jOZ>&IqW0i=xpJ27@CJ1A>^rO#GB!0i9IKD8(WXOXwO@U}n2Skzqq3Vn#7~Ya!!j zlGGMHEH+rll)6m#vLwZ8BayoZr*xbZPl8lTWRiv;N@8n&ow^$9YsCg3hK&&=F+*ar z6X&GCSSqPOmVlF_Mkm%Yhrru5b}0*%g^3|l0L7K_*-#Pvzg$@Kq)KA7@@L9;S8yk3 zyOpoFsEkoMQXNbo!bU7FBsnO{VHB37B6I7mG9ZFu2x*B$FH%85Sf30$sEQN^pr%F$ zof#eh7ASKYcNCY1m$VAv0uD%oj{}4fWWbZWAel}M`{J2;+Mh3`M>2KBJ0`@?Fg6)U z(zjadYj_}5A!?SxoQI%5Go%I+#+u{seQOh5jMe$A}46`oM+q#`e8tETILR&#< zokC1^Ej2?$&_X&rpR1PA!qTxVR^~K6(gG39ET0u)it!6c(nw=T%5R8D#>m1_7eW@w zaGdI*Geu~$TM<_ge9pl}fXP!BJ$@cM3@S8Qvep&?7sd#36Wgzd^b^^@-NV|d;({ya zbu=n+rn`$J_%?`UXR>=Hi!92r4x@5vhG^khZaZSeqdwWFk(4!a^OX3Dr$ zlt|Rp43=`#h}aNEkq#tPRv0mMAoaynW8Fn;Ga}{%A`-qWk%^xvw!31?q7|V{EV|BQMwfH3%j}0BfX($!|wt|_-O2BdsPoR>7 zGuker;$c#iyexl_*cU7Y9Rk1_Wu=ms$XMPjB2Y;{WjDZ&B*E24@@*lg{Y$_>C5y$P zuqf-tl>I=)kBXR#=OfP#|F^oLa$~#uXv%2~=_&;u~fo2&JVf-a{I0I;L11+t;Mg zgVM69$;vaV!P~M;{5G~6vA10=dWJ0*Cgzv1&p>1{vZhJv_hPEoI!n7UlLT0}?xbYU zIah3J;Go{^G#b-(8l4GX#i(nhXPc{`y>m{62zfRWsD(OWggK$!Q4`xqsJLDvv&4`f z(}6Ro7$2fz5g&>8q(GMVXg7|el^;etFe)Zj`ChIgY|8d6UM57Nj+emerrc~uCW*J* z_JEPrmq4>b^OJRxZ@~!#Qp!~$E}%7!TD$0;iZCTTM`cX_u_a<3^(2+1K-lfJ zWrmQ=ZI_++Rq#bh>`qS7vH=BHHm6n+8LSdZ3=<`PgL;k#NJOQG`>+j)RaTMBi;^HxIbDlxv#87C^ zgPRW@g?+#;in}+?pOip612?toBcdAPCF=>Dxjga7${nDWqMGQ>VyRXvsB~pcTn!^BELmdf%&0B_V$>0r2Gv0Kmumi+Nh8dF$bSktA50Z zo}XUSD}Y2$9_kROg2Lhvm%2(X)Y?g@6fM2YN ztO=fB9jwGeh@Lhpl8vsA*aXotyOfg9-+4j0OO`MY_Y3HE*$YGIm}B~vSv98lei>s;9F5{`kuR7(qu9Njj;+wfUYGo|_MMbTwZKXpc%<(uc* zkI_AT>TnBJiDqv)rytRZlvFM2XaBXC3+1dd$^^8cNM0`*9J9aLs3oleLzvz(Su{m6 zz?98h0GzD3e$jLeg6%%g+0%RNHC<-e4~y}p`@DT#*^mQJ3t;a~)LGtslj|G+KEjy9cA%w zBq+goDvEf_#$Ae-wV{Cw1XgrOl)i950-YN5($loIG$FxWblQ;F4)I8y7!n)G2y+eN zTv{|OrL-}x)38~VtQOO#Gga~5mTNj(PGtz^BZ3C7Vcp{lW!9!%IIcyM!Mn@K93~l+ zmVhnEC|oXfGNln&ZAXbD#;D@sYRd@=TD5Om{LsL9)<@uu)9T8HcR5(ik6VW|YRHj1(p+dd-atVCiRlIMWU z2vf6SUkeLP;?0K?OrpwLGg9Is}kaJ4CW}V0Z73P04hQ zb;r{k?!pC{rEDtLd9C-F?w$j^-D*_^i(`AQ>FMt5RgsH*JaHa2SVy)2IdtKZI(%5H zIcT#QQ6AaRYLR*PyiC-a5qf^T!f89iP-~=G?M!Rk!3w9aiUb$!Qkb4zBdFJln$h<1f+x%ISr$j4aD?`=u=K^ zF`y}35CgD|$`=hVDEri5rV3@3vKpWEibt8px;JE2 zi$_${L>(7z&62Q4y*du}Q#dLBJpVh+kYzn842Wn^K6nG(^qBB&`C%#Zrb?fg|{!rB&vQLPF%i)Z~ z6D>PoSdGx=er$HabEj9tkBThx4JMFM+??xt%o zei5dO_)8H~0kxV~Nzp5IOvj1#eODi8X}$Ht$v3_E#w(3@LMY(pMH(=j#ebu;6A?D5 zL>Z7IhmbK*29gtPtCDlrolJ6qV3jJSgp^{?T7JpC3fLJu%{lSn87L*8UbR_?Sw~^g zLDdA7iXRHm2V!OMp8)7>y!;}^5X38s^w8NPm=B&ggF#cwS?ZeTR}!v*cZyM3$jMqg zE(O;X?y7>Z#EPjnsufH6dN!wdqRp{AAI}}+p1}df4cCw#i1iEfSIH^2)oC`+n9*XZ zi+d<=D^`fOS3vkW;E9j8lYXqd5E2>OYR` zC*{bh2p$zKY?eK?%E&V7B9$#qU<|NB!8(Tsz=Nvy1@o}Y!&L%hT+#LVnMFix9XdSF zcCc^aijET}kMy%uR41hN8e>0iCG6%1WK@IXw9fL=b`ik4gkNt5Tj_SF)hg}cHTL#; zS(Vti-`jHofm3Yn?R5s3^G5mVxu*9(_cfjS4|J)RDmK5;HW$@8rw{Wa8ynT!aAwLa zRJYxX6xZFuM|R!FtnlBL;(Jy^6_(Wt$WLg>pzb+p+9AyX|Jv?#gYoYY?b% zI=Fzp!#Bk&Pz&*2nKD3;C|E3dKES;MVSk8~84 z?CvN&vVhVHwT?O2T%9ydRLAJ+BW&REe>i)$^f<00Tl2a3eKm(DWg!JBh5MD1C>;<4 zDOB>-04Qaak_CYP2qFmrAOhf}>Quk>AbK4Ao%b_<9z>6%|Fz8a_U(ZHm8Ub6DTKR+ zhhO$KTefVO?R7(h$4b|f?4hnx3Du%*hoV$xMB7lm1SO{)AHSjn-RD78&dS3!3E3w* z+bTdHL`Gb;wM{g+!VpD;Pv8`%RofSw%c<8gOzxZTHs&hTr8 z@$rS!!TJdOtsVj-bd^urX+BC$_8dn|>2QfFpATg=FQ}Y*bAl|g6A%sLYa{88iw$5< z+-N>$%Gp}bl0&mRSn`A|d0&O&fdFcl7-2GMt9ZhpUoUCFl!Xj5lV^j*i-oG`?;> z5^%L23Eu3jb+XqwL%3wz>pn3NxZD031vTDBOqf18KEYPu&Rk{Ixz`lbq`e$Q_am7p z2bL}|gTgonTORu9w>$w@$9)yJpdp|!JS~|{4sVkuQbUjuVHGEv>CEymtNY7Gy85VA zO@8(bHBy<1O+ih$s?cyKpLw8&1QOW-&OCGZ7)it*-%*x*1TXqYfS>+4_+>fxR^NF)&m^02ZIjUgZbDVyvoz?pw>kSAT$q0ADf3`Fws36qlxa}_+$5Q{IPpD z`q(@iee52NX>xdhY;zGBEe_jI6HIP)(**1Fv8T2(KE0Gjr%mDty8}rGD$5 zZvAO0m)VhYdiro9=-A@f{lg<#z0|QngSB`Z zILgSxS6`owq>HXIqDJF^f^@gky~%AyxENWv5^)z)Qa%@0Qa{^2!%SPK0u1yE}{7I!`-{@>+Dd`kCOzxUzr3A_)9!~NZLse`a4O+)C zh~9ki*RAVU%ls(G>dcbd`}W#Xf(!ydh(Uc0w?Q(R$j)ehq^5wF+U@)EXBrjBOM&+! zyqFh2O%nsGqbFcS+}7isT(P{CGEi%jL88x%bV&g{<#Rzj^)u#1PtczUD+_CxfTJ4S zDDvv=Cu+TVpDFq3KC3gMlmKGc6p0<2(S#7D7mw=gM^KqWiyz_T&04@1yrIsGkd@LK zoPN}Ib?1AdENv5P>N9BJ) zZoYhGSkPzi4-{v{_lM^&BoHQ1H`ZNWl#g|v4UOiyC^op3j!TJ}vhH}`2sjNGLux_Y z6zQyt$7UiX^hk+WoB)oapea8uQWIh_zENHPsg*i2GOZlTYPlGw0CDsxIXxn!?)Rbr zundyHUNFkiUSu}ADh=q##LSkRrjqaEa5A&n62h1#s#t4q1kZ4EuYNw_OY{`4pHmua z#vCd~rRxK9caaUpA-Y!qb?oXI@OM_ANd8LjOceNJsIYDm0lgbeoxQeH4g+dLrvIb) zmk}CM5i*`x{Oj!0otNLZ{HbB2jHF2X^RPP@#@A^I-F-IU(R>zt2l6tg8@av_?8Q`w zvpR6bXbXu#D2LLjaNCVGE^6XSD>g@n*rFvRB`8sc*YhXTU&t_RT8!)1K# zU5_wci_8S_T4<)v?e*w$dp&&aT@Rmo*FzSjc^^V=?fcN@_I>Dc`#$*m4!K~%Sow3| ztO5;n9HinC;?EkQeZ>DLzgYYavbxJ@s3X>S7ql`0l+E(w*mz zaq&_qM0H?ML`<-T;{GI|bQ=N(e(G4J*(LK#G#;Iw zy)(ahXK88H>wGNTS)OG{#l;mCRg8}2j(X&*GnW-4P=g*ibe93UxE%;})z1aK0^gBA zR%KmDsbqphw1Be}p}%`536a_)QS7Evf64nR-M{ga22rG(|0+Q^a=#~W9GQ7Fal_Jo z?y@KnlyJo%H{UfEFZJvC7wjOK~ znS)?5l(T<&c5(Se;O-UkTN}2qw%rB>!Ug&;>+vL-go8nr6j0jsuJSAZBW|AxCE7Et z@8A&1f0OA#-FGDj{pU{)yH!Ll`uiid{5%`UpmU&Gu6wKS z!-8Wnn>)v+pSPhwywJ+4GdkA~MlMfK{9TYy<1S1o{)ept_^D9WNo%%{VBL3`5g;i+(Aq~pn17bpVE zbBKmJk8aAZ@w=Zs?!7&v&yVoQy)1+3=pKq_lw#48qG%r9uJj0i;B5#{$qr_1RCoLG z{h(=JK%`QL#%dma3OnkhCM;ru>?Kmw7n)M@U76>O)Kvd26c%Xm*;ap;b78vyE zI7qCDtD-1*u=zj~5obC&HB`YCB@*hcbaVrKthrOYIXSC2V))($dBfb$ng6n(+JA45 zgDE_KH!L+C!5i9_J-Pu#K`nmN{AsFI`WrTpP(_D<&?!$7r00ga1N25-0IF^f9cejY@LSVzy89mq(mIgE z0DATs!D3;+bW^)Dd8`|f$Lo$z(yI3r(FWR}7$(u<>45bRXC<;^;F88wr6?S^-niDd)ri?B9%|(HcC_-tx-e2RW^VpiNk1= zTQ-Qya&t&+FtTG}Q8d;g*7RDqV=DI&`_-zjE0q1%CFO=$7lu$F&|e?!0MGh(hYfwe z!-hWM!4~$B_aRy0RRd-&xPsy0ebNx{KkU<831z{_)!NbVM7Vax`;R(AeG;e1ZazHS!ROPCZH)4E6fEwsx_5hU%=OE&I_7ep99d%+U= zQPN7%zqyMVhaNmsfv8YUO(01HK8*fV-4=RsnpLV>TyVEb?yZ6}&`T%>o;wU}iJ+~A z+u&$e36eBnO}3~lmH;27O}(s1%SYCb8pC?c4P@F?-P+F^JFxYr{mB)S-^vEi=sit+ z?M@uL=qB!tNYjZAKTFpsW3#*M%+T2d(yKo6^zv703|}H!qK~IK``&HIrcYDS33d=m ziJOA4){_JZN>*+R2aCjCrQzZd2~ds^8iq#PYQ!!;cPvZ3sM&&pV1k5v1mXRC2E3XT zs!I@lV6s$w0`P7dS`FZcvHyT+HDmlU1pqi&v74${cb+9%d(D@=qe5~JKG60B3lDO=Fk=Cx2M*D& z30Sn>;UU@Jc77e7BEgtp3;&8cDTt_RcTu(=0CLVrcst0W4%OBzl@O_0)G>`g(S55> zoD=WCRxZu!?kizWW2F<-bY_}Lj!(O|4%w*PB$rg4^9Idwwuw4Cu*zVU$^4PY`#_8);*u?qe&ZZwUe!0SX5iS51PN0Z zJuxf&$O)l~+JL!_U)H&y{+0~}QGW}u%m^;hr0XA}rfa$7?%?0xDUF1NhesNaVeF#x zFlpOPCTo@#k6}p`z;;sA* zV+IiUn=6~*f)PH@i`CA3Bo&v;;3z>fu~T4zaLnL8m?+Yv3fHCnQL`<8!ia|k2aLFA zwv6~_VTHbvo?E7{vKyH}0F9g(bTD#ewv3!v2%>*x5_r9*A%xI>8VLY;zivp-Bb>a2 z`B4(3`7Opo$(0r$(b7%gmJ|9hF0IbOA>9GmSi1Y8jnmr6$wLO@&?2hR`+SlbR2sS8{&x0u(pb5W zkBd6i$>C_Vvt7hQh`FU_#^WWy4C^5c&p+KNPVm7o+;3=Y%BJv(cL%fobgNe?B1zc9 zkn+9V`<(RR^X@YnsIvaEGT0LW%S~-Xy}79+Ds3St1RHi zJ~)H7yRFjQXsdd7uOb*0@PNk>^;I_osPU$h!!~v9&m~mAzM7~A)~iE0Jew%hDHM`K z-Cjy@;scBjPzGm8Y=cOoWa1#t)=50lVbN`%lu}@p4k$@1W_{aeRv|Ax6hiKu$J<5s z6w&S3#}UAz+kVjr<%8~`BQqSAJ8?|ud&F@R<3|NP^$@aNXRpDzyRi7Xgo1~s9}3?{ zdmG2W9}ag@&5!($c|(?m#YGFQpnyM$6+80)SEB+tI2x>?Oz^%FaK;}*)bwzr&Kguf zj!yZI5TFWuXp_=&ctnM^ppy661Qa3pEl5?RJsAoA&;Rj`8F}H;hYOX&vC zC=CNRqjFXLP6JtJOO00!zAa4#pmo{jQYa29BRaV*78|dTW^THAOVL9n9n_l^Y$5-R zA96}0)UC!+dwLRdma7_DZw-Ob@$fAQR)p8Y$1JZ#$u5ES;2nW7aTCX#PGOr$%YueK zlXjMs2Y`o_G6D99u^341pUNmd_hS6QJM}h|-Um|Vo?$SB{Jbq-U1Yq{twDQTb(610 zd>x}s)~n_L6to4K$#q+CRW?B?4I&2_%1P6>)77;5<{-XNWs9p zt7V|wC`=9-+JZi*L4jz~1#;m?Eg5#bbEXLxC5;nGZ7@vXl)irXwFaVcp|xkxjEJTw z5lS^R)Jb$X%fYKC)&XIu?~fLaJv7(kOE%r)J^_Otno>uH^!uu|)Qk_Emsz2*$scaT zrlN5&5cDQ-N6z$5>T>&=5Zh`K5?ZcTqUFRh9RjTOt7E;Y8S10ChniL+o76U~ziCs< z%E+eSQ&zj}F=TEK9gQk_W0i&Sl0e7Z1k9_X7XyqzJ)lQp-E{7yixo_Dn|R$+WWeiH zaX2Pa+T6p}m&3QztXm{u?}ElE;04ESR?4I<^A=G1!VB^>h*Rnnxt%z%A~D1W z@o>s-rAkc3y=-bMK;3k#B^Z0OR{$E$d5~yz6bu4IN6{b{a`Y%RjULs>xAGnn{x#85 z!FF9ZWr3M8fqmYqMTugp!`AnR@J~y#ce-b9;xco5J$IFf2Hp$zY$u?E_x}A8@k{Fa z$JjYh4Og)hgTJ4>k`VHg9wB@QcS5iy!D-ZkL{jh@Wd&VUiUYY#d2(C8V9aHBNRHv+ za7Mv`nqti?tgztVomsf3Me41hEBswt=j%%)H&mO*|I@*WlHzOU>l06@>UzA14q0s* z=%6&1_{2ZAHjb2F0mc19EPi%$!t%L8>)s{~rYC57AL}dr(=EX<`l9sl7+~Tx#Es~t z!8R_NNNck|EgphKoBk&qcBcBYXhqaJWlxK?-$bXX3YC>8j;gF`uJ7qtsfyzjrJ{;$ zm`PAlHTx6qYZk8&fp3{A_5#wHs_q|Ggwi0&!4C8BF&qZaZ0+$DD=RiFhy>RtdfEniA}6 zK$2X34hrhg;pIz}4Kl7Ep_*;LG+@Bq>D^z;Wr*p(A;TrSOelw2-+xPdXh3Jg|CCGk zKwc^MhG9!;y$0b-?bDaAQD1u-w|8yZB`diPPv-#9t`iEg6Am;7s7fV$F-CNpJE~{o zDfdEoH4>=nxD1wG(Tw_#N>i)3``g}W@nv#o>Np|Zz;!6Mjb9XImn|q#av}?PMZy9o z*=*xNqNjheO_usV+*2kgd-jZ63e}Cy8sR;IzY|hrVR{zZf?RO(kHZ7^h?2{8IwpRb zA7f25rUrd0i^{!XhVKjxSVU|1)zN+d)tD6Eo+_4(&dQBR7({NCY!j>I0$SpEmp&k( zB)c&gSSb;c#7Ooz6xwKgUCw-0d~Egd!gTYBh=fHG)CJCyCNaJW-O2Lw(UXHkIj$x~0bga?1*!t#2y>s^Ha~bftFkS} zjO)Lc?|Xj2d48(9n7Rsi%-!9iM4-F~ zK?--+APs4#!?fj+_k5>)m=)xIf7|xq<+X&R;n+es?j4zM%F_0?FRy43nyu4G80sSR zyerlst&t5&yKN~&RFbG3SMbOAKI0}U_5ze`Y29l-S@<17g4#1jHgK>-6(7;2%nM}0 zK@XP&OME*ZS9#8{#-O9^yM=L)*b8rC;Q50^r5bJq9-DX?0CC#=({ZW~>f5u9O z^baa3y{1ZCHau_^a|w$mrCoJqK?{x`Kv(Qt+h*W1Li2fB8xIv2HA3|TXlls5Mm42Z z=^-1!dh96(vSgJZx2B_g8YbxY!1(2sOp_l3ks7z0S|q6tkIzt-7!^4by=P3(;7Tlq z)(4DWzn5)@jNjY6UeXUOOKAx@h#GGo#vdbgf2e$jMuo5Gj}FVW1@1*C$HuwU<@x2s zC0Mojh1okx(F6U?!W_xIr4?}2(&EZ$G(rDy+&O<7cg|Q@XQbS0P3u8uO_UZ|^S(e{5_}R3ul94~BP5bum|aWY=#K^bvwP zn$*NSIYyxJ^~A4|r7N-q-`PSNdjus>P4UgcVb4+}Ws ziAKZajmwML810FYLK5f@v6D%~nm@9GbSFv`hPi6W>x2>0oWY8Koix>J_Y7bT3D%DJ(mW@jDi28T$S^53+zq((xAV$NkSipOHWqk<#}@Iq>}q_&p^1Oh9)syqyoTXOb zLEXseEFK8zym@^i0c_pq8uDnASrMe_1oe>IVTVaMa7r{F(X6KAoSw_!;3-l9^OiCB z*?6HvWYCngWq_qBkOyD%yBvuUUyoQkKJQYmSXcr;U+z)IK)14ay45wA)F}*3^M)C5 z#G*5xqrJBQ{@Flp`B04q7F-vP{HZp0GbtUobb_T*>Wqv{Ur!9b23k4jS1ul++ba#v zjoUb19DXlqDI0q{%m?}zAW87Fs*QT0Dcm;7j_oDQj!$R`)w~T+m0&>7xIAmo8GGq&Ws`Q|SfoRN0H$k39Bh{8OQ>Vn z&fe53T>Z)6G<>YnYBCI!I+-Q{iiDdcl{i1ipoXpdSB@45+H~##>1B(P!WErvB zfB5idW9Qp}!YTg$1^*Xbebf)5U!-7=Nc`+O1Dk720$O}R^#f(vc2=?hmUuhDcgUGwMW7r zHe`E;Zw zt7#KgPfW#2PS9?3NM}s`7k8}#@p&<~sb^LY5C1Zyw=)$X&(t#>;{^;nf}hE6X}9#v z+T}q8p$)MnHn3Q`5f5%>w)o&%*P-3Bl z0cyJy$O{ANswfABH99A}W6?Hjx4k#;Sh*5crjcz9d&HDfV0XatKj63sV6ePl0ck$q zkgO1rU~={TDuG%Fd1GE*^YN>K82znR#r0p{qgXaeJPk)=%9rI+MOlrARA6UV+Lo=p z6tYz|etu05m?=uiq(f|#CzHD_HA(%gMpKZeRlYRiTGtdYrA=b8rqA|RQ-;TBhu&7m zFeNiz9b&P#EdEr5N1r>1M}MX2VVIIMc`Sm?Vsq~&hHvDa&6VhS9d?UV2?iy~3u`QX zd~n)`iqPiJ+KqfxvM5R{m+&1PCAUVj>Q<*_R~S8XIF@8hLUc7P*e4t6rgr2jlus)4 ze%k7_*YtjPSHftrAPMSw_^P)Gb3$%_kSr1-IT+7?FX$r1pTb2&{` zYw9%bc%3F^8bGA2d2O@=Aoj8X3&?+q3}*hWc*W~m zPiajgkliyYETPUH9%25;29M2;0EA3Xvh5UZqLk;==OM!s_y!W$M?| zguXUD>W%0hLW0!REcpU|9Dm((l#f^EM)*|`(W6E_)HS6apB{Md~T5Yp(@#8fu z&KuZ@@~>wY;Th@LKQe%coN<@}SASLA7|t}KX0G>So5nY)2UozCc}l@RE0*C4*G`5c z!Lp$Ea9A}wpi8DAvx`|<=#3V}M4re#IyQ%Q^@gq$PXlGN#v+4iUFv6rD_z1Ul0KGn zD7yEF;x>qD+sV$A99U{Mec$VFkUuL7b;5!MW-#1=9axMq49Dem`i7 z2&w)!gf^`7rZTm3#ocT0C8)qpfo0beseD^`Q9x4pUfG;{%4nvCWu+qQ-ejC=!KuLe zCHaG!R_D61*+w`B8ojgt7}p@Ga^99O_0#T3L};wUuyeX!MDGa3D8F3bgtbIG$@H9c zbJ9ROZPA-$vtJ=c;}+qp-m_UL4lFSq{51o5+V;E(fKS#lwg?1Sr;T9I{}qW^hgf8+ zYCPKCTyaPb$z&P{!jfB7qe*fa-3ugm(UXYIzTrtzW5(uBpYIMvd4!(rSE+O$)&AzE zSMU0{smLe%EY4~ji&Q|$$n0r0$EXW;SvT{9@q^KQt70V({IrZ*tP(?Ack`)-b?5@@ zo(4UM6%}zzL*Ar{Fuu7R+{wi7I<66T85-Cqa~zGJ3$Gt$fpU(IbodVfSv*RcQs+*Y z-EPHt9oraaUf&F?QIzxPa%O)>+eEoG2()`JK~t;VOxLv0&5YLW<<m1pf^p#;v2`2(ieN?AhHwr0inOA9%)fmivn)p@_(Z~Y#(p+xXCO-;ji-%$o9C4Qk$AOOy>QT!VE|krCFXt?BUv%8 zfAD}nRXKiS+iI2h@^+&ulK8x8i%^s=&Mhs>&#lfc-=UH7++wT^qz;xV%gZbqys$`1 z=h>C{SkNF`_jN$B`BZHgYo{fz8K;Gd$=?kA6)(O!UnS}TY1FHtng!A}AO5v=e7eq3 z#o*uC`?$?})aYXQH@hsD;FFVN_){ShvK{FXQf2*3O00*OE1b*D!5dF$=oEeNS$g&H z)%!ez{SFc zYf_{$????LGz;8Y8VulOLr-flkAjjjTYB^{z^C*Gj+FaL9=BR>aLYr>b&M3ujQ|kC4 zmL~XcdN56!UDkevotV~=u?2@!4iYoAd3ss5pAQeO4k#lH0<2SD7Yun9pY#SMt1v@- zyDGJ!7BQIj*pf(=Rne`9a0)F6u67)PYW{rq+4?3?D_B?Sq^Biv4+mk^5bGRqbAC4_ zkJ=vvN*`MA17KtNfw)Sr_h`KjGvHFx^5|Lu3|^T|%4--M9^ZTNK6}`7{aJki9|U%2 znUsR;?CXKstRhS+{F!oxPq^^BFH}*LGTSG*6aCPGFQ535B`bs*nV-jbDf!u2T8k{F?fy)FSICdhcCPk#+dB^M|hZA(>rp`RGW3&jLY$gXx}-~rP)wK z*I+9Kf)EKyEizU?ja=*Ln%|Y1zp?>QV9d6X2 z|N2stkW3fT6lPeZ5LhEgEV%^NHK*%)sD3#t(`e!Xv@`J`ca)bAzDX}CceJ2Cg87nB zNtnXv98cgDJEe(M0y{aGetqynZAr?>yKgY@&|)+6BeIke9Zn@bByU!B5MwG}a1`Mj zOxY0@oJG`hCUPgl8gVKI$^)svN6MUNMRYsQ?zAx*%w_WV97`{lCHa7hgOhI zIcpiOghvdKRBHmxV18fe z4UiIybdw_tEuw&W$97NerutnQVGQlLXFtD~0=1#^1o}lQc#Jr59~P9t#wmvGDK(fE z#7?S2Wp-Mi)3y~V-MWfZilv&*p>REK{m6EJ~i+O27}3!Bn`4f@eg5dN6u&|@W|Zck0pB&xUp zhdg}vos})m(6DHzeaq8zcq|=5i$ntB#si=D@QbyI6`dega7q=DJoeNv)9ks9QVJTm zra;w>(3MzRdT+E$+q; zQ)9>+C0Z%FG7(}m>ZM-h_`+Ohgdo_zgX4kLw;YQ~%v9u_EVQuu$e2633u26<{y*nx zs8KnVwdhKwRewigMY=`P#}B;f#(-xtt_O9DuMumE5qkn%Ko5kB*?ZtgBwX@jGL$LK zjis&P+iLwJU@dv7BuCl@~}hY z>V8?-Sm!xTFI2gh!ollPWyQA@4IZJoA#1EN@}$_JJ;D8WULQ=qKFx-OM`y2Wta(^| z1h3s*fLA)W4ywSQ=t(9BvuTP!Q2G76K~p!bP142a3Pfubw-Nkr|M>~q<1dQZ*1k1s@LU-MseTpH}TCj{0TR-^|67%o` zdObN3M%KX))TS<9!iBMWY%PVC^i;dN8pFYB4`OK7w>LG-GDL2HQ4!XFO1K->A=2i853_CM6!oTV=pCQa%Z8`}g}R`gyz%~RfJhE7f5y(iKDf)Z{}wCQlM9MBv=6aGUIi^ z^toMHWz^QzdZf+-vbK?IV(aO{AEalZnwp-u`~AHi ze*AC0zWn#y|NQU&^?wXPpE6Q-dM_5|su=_fj{bXlP*MqFy5vl28~<5YURb%avbs9E zLcU^UZvM{F9H|ShkP(`avA?Ayv)04yfFiYGT83}&y3h3lFZkHC)6WLEWndf3$u_L|dlLtO*C zz`}9l(qi6fVK83I?*_2D|=(ZU&m+{0iQL$y5XOYfXp;UQ9wAom&iaV9lq2 zqf9|So$~UP5G?P1dOX%Kr1`4Dg0)LgaA99*StwqL;D=s{gNZ3%iTVl|2oX`;qhoLI z#%1`%t_CfK{pSjY%rLL0Ve1ZgEE-d$SUDDVsmXAh>2Nnt@A=*_9RyQ~ThlD38krl9 zHnyBm!Ai;t;&mZCvWyhH%F)>iL;=aEXmasRLc1d}1~yQ=?Op*Y+JI=^-4+yQrgL3mzq?6FUaF{i!2z0-xd*y>8+ai6ZSP$cLN4r9azzp!e18N|jlWH3pw9 z3`3%atA)NwgTmCN>Wet%oKELQp?+0AD4kIC&Uj5P8-+Q`$99*+3v&5M0y;g2GR76C z9PKN^ZFefd>%8|gQchDJl}W}gp2Mr z)5&fj(~D$Qqt_O|V5P{K-flf|fDM^+#8es-+YGb%sfxFvHXMj2hg#IPuGG=?WU z!}6{2^kiPQ-=LAAKVn|9q>K>iQ5(t9+|9QRvadRBso0zHEljuxl&GHf+bp|mzI|!+ zmgNwXYpFIJ1-Txm%SB148f(&=3W*^OQAS9uQabI8F-1GDwd;nr-0b4_djp`uQRP}g z^FeZ{+l9rUwpmrr6ush0!As&8|FZFP^Dm>N-8_Y(oihvg4lh{n9sZ(>`SGYEWwqFl zi%V*Mu9+3khhBY8WN`7(bVCIu4P%OlI2fQ~FPWldS1cUeftG6d%|RO7mTz(IVsV7Q zM^j8eV$09e`zmxzTxpN6VS?L7C0pIBZj&X?(G;WK;wg0+RT7$_NoMm~b_I0m#W6-> zR=I3t8@)lgj)h2MdFGlZrynrw{6!l$1rJ*WBvd>Ydd)i?a($i%Y9Z%Zn>Zq_kqGiaWD+7Vj*s%+9T>%(H~WJYbFW zQ)AVNu^=qW<8bW02r7mF!!X=qFxtc8PlpHFL3Brbpa+-Mk(u92gIYkj9#M%DpYXfq zyALzYe(ZP$6|F+-K@W<(E09r2bg_0<}f`%i-QuC%k zV?Vusbb#{qUj@+Wyn69#&(N zNs}g9uc5T7`jvBcq20Gr21*>w#vlm<)kvdsi}Jj5Eb41fz(&BcDEU1+$eu60AD=UP ztcfKdrOKk5MiDV2wL>xsftxwbigdM)M}Z(L1q9dNSy!P*>{Gq5(&N}>0YMO$UK0Cc zOBkw9_AXP#ktS-(eKe(u1|NOiNd>){dPG~bxHrI$W&jN)#@etJf)xb`k2E=^F8`H5 z9=<9f-LX30u&}r6uRB^pF`|LL+^rl5Uc@1o9$jb{&G}F=9mzsliZJa6aJ3Dz<#oWv zTU0Yd`Ec?{OH5)U?0p^aWynxGfcF&^Iy^s;JD?GACqP$&AD6(z|=IL0&z z!Rf|KgGr3r?apD_%{;$2d&O5iQ~Zb;`|zVY3;m(^3pA9R!Xu@>diz}C?Yx6;i3xoJ z+clUxi_DAy#!3+}M_9W{#qm)+s2)mP3NxewGS-^yYuiszL`3gw-#k@&Tx4W=N}wxT zd5JIKoCPgD0oQJe43wn$jEBkZ?v#lcw(bGYC6(${~1P!FOGc9N_86 z0TZx;g-i*Db~N53@bts2Xj1;G;=a3@xaP%me+4(Y3NnWzo=5ia?%@CVzq#;9a?sy@ zKYVli`ttV7d{0>6F{`sg#5yiid#biUZnxHdsuFZKfaoZ#dHW4={~HZ+}3_ z5KodePyu`R4~6wfa|K~_z4pcBNgbCln%5$^)$OcAM<%`4xk!(h#g&Dn+11r$mhzed zK`pKDkd_uyif-!ThTj}PMjI%chKEx>*~SewpZ27V%+ew#a{u?Flw}aVvt9f->^==1`p6uMb^T~GEIfV{*s{c)PK4qq4=P^by zsSRcjFB!g)w}}bCGHbWA5(()=eTgUE3X`su2*sQ<#aEk;o^L+iP)iYbV7FggLaN<{o}kmj!GTx5VDd7?i}y%V-NG*mH-}T|!WX<%yq|F6{nyp~rF*(6wu@GPOt-XSKoT#oQ-pwOV6Kq)ux zyx3p-!p`X4iV=XBD)PJ`NCQy}tkbz+!33X}@1Swrg{!|D*k|1~ z01Cv!qiuaCh_FT4AV1aE`75^ zODQ?4bLGj@NIY@M7Jyy$*P?7n?qO720kvntlKH{Bp%-quYgb8P89D| zE92hkgZ;X*yiT_%$kK~QB&NKeVUU_E;}Jt!A3+&B6uE)yXT-3!Tk{LaLH#IV^I!{v zOFD9)n(^_VE%{=juLoH6Ul3F4-`EG)61Oz<&hidjttjj}3~c6|8NQS<+iH*GLacgn zGDRV)lbJyec^<1Jg=Jj*F2yisp<7~|o;nb7-6x9ba%amzq$=g|a}U@h0a6*cuoHVu zYjIu&(YXBI^v7=j`x4(NE?@}-Dp?)pB_{0cWVSw44sYVUl}~A*p56aft^B$9fY!;I z4>xHDWJ_=p$2LE|vaqtSyt1^oxIh&=OKs3k5Sddf+!0-n=~Fc}Sr|N&@{#*OWW23d z{qR&v*bISMtivEEWfF~cd16G?Y~$_#AAiIPx}(>=IelKy~(Kbu@qxkaWlbNwMoI`tsHE(&s> zRY$C6$iJehO8c=zs=!qHcy<-gnFv%`4x9^grJypQ z*FlSsGHSxJw44*>IhJk^M5wIO%`tyPLgQf4Oe(mzA)%z0%cR9}(WGk{BYM*bhQz|C z!4#D?K7b7`K!xja2$p~+5{w4}cgiR|bpBMt+Bcw@fINDp>M?Zo_BcAUnE(VRWQUyO zNO{)us?ZxV%)sjvaOtpnbXhS*NA06?Oz|D{z#xUtA{V<@>$h40=vLXAsDt+iNU*p{ zS6cQKPAE%&ly=4}radW^U%ok>jEmF8>~#V&O4m;G1mq&Q&g+8afG{0lSK*5>Z)JSC zwJE-1DO79(An4vrypA8_ZH?6m60qEzmRm14)kW(f^OW>xAPL&HYUeXT?<0=77x@`C z=JBGt3zcxeBWt39$;o(v)QGh5Dvy;y4AKR5nKfs08a#E#y#pY|`D=3*_Pz(*v&PlO zyP&m09+F5k5cBQU{FpOInf~8NR_eH*D}RnbSETXwi>H+EiJDuE+CU$ zU7lU#zjKS~srnmOu@y@QRm#K7qvipcugwHn%`2!)Zm5ZAdoAgAV zT(9h6X5jW>@I1|emK*4pR99a=b<}!2-`aep9ym8(9+5imFN5H)1`pL#a@dt~=Wbrn zmg3IPfA^2^$O#WiYEPay;a0B1S z%WAcpJvu?19)ytT0Z#Ms@Flid{|3Y3<2AGI?ww%!$<0a^$Iy84>;d)cgY{>RUp&$J zWi13za$p35$b?`>MAaQ64?Unr|O|dH2Pacl+dmle!Y;tQ$XU)lQ!T0$hVZGQ?BiRC&kE zjTi4MCZp`Wj(G^;4?p!2Unz4d4{G9lm*27__d=K|CQG8%9ZI%H2vAf-xe%JY1VX>Q z#GitWd#DzBgpztpGHXUDKr>UcIccy>QD$p#JW1QATB37zvTD~U8gXEHitqu)8h<IXv2LgK=;Jq7)vV zE-v0#K~}Ad6sZuWO-uAxG7jYtvH=8@6z3ASZYTq@4Wh8=f21fL8f*K%D=4zN=aG-XSZOwPF&Kb(`v#}0% zv9oEJUufOHgZtREFYVuAVC8=4yljJ@aKN8(QS1SVSE7T=vw9D9b}Q^@?nlfdb&Y5b z`Fi5H7dz`a{0Yg=Kl8K55I@f?%q~S{L~M81>VD2hOLNPl#0AKO=l;WeQyV?dKAyaA zwAWerI&(5v9HZmg#5NP}iv-3$i~T9lUy(Q+QH9K#bsv4P@+v5zz~$}Lxtl^xrr$5m zzn8X9SfBfIZaFH~`%f{YWW3e$yOyEn+xL3T`}+RA@4vpkk1Ve5AL{&JDeV6k=I#@% zS1s22WbZuaf%+698yHElAzIou{R~L)o|Ypz@uLw#y{Rka)mR3=i|z_}*a^d$2iqkq zYEm*&7O@6GFgzdMz{!e2zuJ&HQ78BC)5P7X^CxIQz+O|ao_}~fFCm-! zrTv($&SQ`HK2!dK6d(R+y@S#N*UV2;G^tk*WzLFyuuW~t@4+5RKgS?|8daWLPF*d6 za{vS+GX}!h^CI>AL<}M?gBLZ;@Z!3*dh3@bYQ+#VM8!Y9P&M<2%T)J7un7K4o_REn z5h6yD!QS7^ipT^o5I@MzV#Xrnkz6!AU9+pIuFvDMx8DH9{chkH5dL4jd3TKnsdzi= zFD9Bte9oPJ&(j&IO}Ep8Od_WQ8*E^%Zc2fwl7AMsn_1Vu&umPA;T>9MmcK#ChZv>B5}xp=+5IzRuE2}iah_7^L}b#YsyACruw^PN}T zEc=@WpZ+8Em#M!kgs2C+R-SL!-w~0hm|F=C4=3}#yfOuoegURs{Q~E}H?ymVZYWQm zMToMnGPklgKfk!Tv=A#jeL<}g)-E(?2<$PN%!WKoR5YmMuE`DtToL(D>~b~Oh~S^w!V)jT0wW5!Cq zEPf5|3^#IM9JBefhhuCzZD#;79PpQi+y91(kSTT?GExiH<4aIN5GeE*la|!@H1+Z0 zM-(X+@1|%Ml6nI{C?x{v5|K6z__{}B_$e{Jl$h54W+UKfrZFsRo!OqxaX=i*QdRBh znz2e=DVu7g7oo5eRDQJnB>TYoY+VNF^e&!*%j93YqIQuZKO=%ei?uyjT0|3bXe^|u z6~9bvb#3cR{~yrEd^y?})$|^P2C6H0P~t_7GMs{G8c4(ZsDM<#q}q-UIV*}3vr&D# zm3?2rHJ%qE2SkB;N>DMWwVzI<_86|*r2|G4O-7qxTA)eAyNQBly;3I(O22>oM5hPR zTa|-NQ+A(KE8>92Q7|YYrxwj_qG&<>MB+|tb->NUeU{`r*x0J@hj?n^%Sx8+wd8TEnh4aS&AjC=%Gp2WQqd(ZQYCxN6=k>9h@&yl6(&QR>HSx z8@J7o;Ey*xh2!kuyDsAnPAveh$X;9q>V-}sD@-07<3SA??@y{lv9Qcxbv~lIVCYW0 zFAg|W4`aVwffU(rt|H7?TPE8oUIMA{_`w0#9S{Vs_vDJ4l9qbmu@$T}@qSWxIQ0c6 zKO~NOeSEc@Riw zVQFc8gM-J@i2O_?lvh&TnfjwF+Q& z-6@xuzmqlS!O034DX6Z6;jkqXSURg%Cn8dsi(>@1C_7}KFrUdV)+4aT@Afi{6Xt&O zh{I2eY{Kyg<^!HuaZ;!z?Va&>?jCEIuV726mt3X}TFj0+Hd@o_`1)K$G72!|lV=OU zdU$rR&14m@#!s|9GZB=-U_IPS)RBTQTjtP!0Kcf4IBN#X( z>m*3;Wv1U8{~aVml=+dR!H>6Yt|3jUHnfi{vgY*b6tAh$FPM0bnJ@^z{}^ zjc#&zF^~iE*Hsx98(tG{=x?01oXH*m)llA(L^Faf+6iUW-jo6L{R3R!XF0u zm5^Irkv5YsU-qf8Iz#ejw)tBZ4_xn@anq19bj0KhCQEG#ar#F_`|&yf5+eG$2&@sizhJ>uI1 zdNrH098mG{CVEt2-4%dyWk4&uIO9~UR}+xDJ0Ry&9)^h)kzc`J9el>pV2R#D%D%WMrOR?5i43sJsEIoK&ba8F^1k2kdSE|*N&ZN+$LEl>a6fdI z*Y&38l+H;Is9*+OYp5ME=ly06I7ZV}B9lN!)467%?v2ZXN?%^ImG==CVXMsKPB+31ZR61qs1Z)k7kKBsxs^m~8 z5L52;-SGhdyOR-uS{O!h-rTP)36L6@tXF48Y5`d4mWajN?`dL!8Nm8YZM%@IhwH3L zvbd7X1`eihK?fKw>%W*sj%~w&F>paVI4W^b3T_nR6{Rm`5^7EsT{TB8xh_2Y0a9ae z{|&&im*)v`x9);$_Df8G#*CaG;{parPDbQMEaAl4^HyjkPs68&A9vIvlQz^dPD;?R z?&%q@p4^mQk$`@Jj0A?f7~cW)G#VsjzM4Ee*9&1V-W@zQr>q|iaXKS9gtE=emOnF! ztIT|&nNFA@KyCuZ&qnT1rz2W<)1eUGPSsibcJP}H@ggr`u}q}Oeu+^ZY7qBwVjfPs zhm#XEPZ)fhQG0%Oapf#JQkH{fUle3Uz-3P7+D%9RcbRX@+G+8^e!>b@4rn$CHqhYG ze5^c|FF0~L3@I&*z#&8PiH8?sIcpw}EZUWNu@ewG5L1zfNu!`Ob*+=Lw>6A^o%ryQ z6aVSM;J*)skyX>CTRvp&_Yax>{X-Uh|B%JsKV<3m4_W^5Ap#k$87e(buTG`uXSPU_ zczJm8`C4{O)OzVKA1}d&nAQYCduS#gEt5|Ao3SuzVh8(9A2Q^>Jsia=MH>`wj)}hw zXyb)s(NNR!qcpwq81s63Zrh`{mB}`YVno?7MxY3;!BX6M;+g*msC4N74Rz~XBr*5TK-e@>X?<%avxM2DaU+AL^& ziPbxMul9+4kBBMXp1eCfJAV%~boJrmr_cYfxVSjGO2zt}Rrs9cdDO>q%b>CO<>i%m zIxKog3iAJD&co?Zge_wfViI;mX7MKmb{E@@M;DuGOWe6;R6Y^S045x+q8e<<#UCEN zqONc4oVHz`|MlwhU$0Kqu8y`3&!6pIK0W*J;BfzDP}Pt~+n@wwRA_S#-}!IlNdhBa z;~h=xFzcqPXs;A~mrIJ78O4XXW|{CFE^vlGl?saz zM9Io-;=r-&gi5n{9*_hDVCAulK(OwZr8&St@2CP<`#>T(&E+W2%tHMbEn>LYv%yHz zz!_^~5m2IuFQulFP1nhkc7}TPF*7q{C#OFyXjR}DRu7q(yK`rCMhJ=sll5(L(3Spr zk-W*wPM6e)!J_AePdA4{eg>C@kq#dUBoJO>AhhjU1QDbqQ6e8+l1N*%8{&|NWocB; zwIck34z2qFmJod3m-1ZI$w?8#G;(~F7f{+Ea2c*sG@*>7RzLdLE7d5qQC%``GS%>S z9=aIvgvGXTs}<_Hq9_9KJr2?ugFroLa;~W+ROb=7qefS=IrOr$2f*-j_j>L9Yz^9* z-_7XgTaWiXC&4Dz(4D6^bBSVjAHbZ)>Y8d+l2%*)D3@$B6NhRPFnji6IRGGe#!1Rk6fg zyqt=Ixn9Db)8ltn@A#>#&Kyk6&lA5aF3&FBflpaLo=JI-_=|-FmXlg#kw>k&?In+5 z*6ikJ+LgK3bq|arYeu4(;_egTC!QE#2cGPmaw!+nP!B4K)x8qej2zS>3apFOFLJ_8 zZbmGHzHE;)IcSXT<`{G$t+)T&>P@<}5XY3#1WG2T0h@?oyVlA!oaX(q05wk`nW>h} zPi{^mnBuvfhtH*GPCoNm`KOh`x&@MxsFialj<<+ZgbYB0#de2XO~>hMN|HhFnjt~x z&eZh#9e0oiNPDJs823~uaS#jgssI5)T@+WngSY@fHH;I*lzT_&J`cE4ze)hQo~lt3 zWxojSJ_=4fd!Y~?l4rWpJb=kVUsvW&`dwwJ4A~%;~zDYOMy2JL5Dj0R#1+CdoSypKI-Jk#jd-pKq%l$88!>9pAh|R?zygtv*&}tw5%zKl{0b5)_F2AOcPPcF zZS_uVOxpt<@6M-wK+SM@p8UXXN!jQ`%g zJvTQuJ3qfLJHLqcV?BT+3R@J*vOK`*?44QGI96c`|KUJ_7JXP*onM)qrx)8C4Qx4l zX>l%A65#c60iUe-HBVeTVn_HfhTE?9$8dx3#%Q%iO#Lm^gi(YvX2dhL4lu zl4DIm1FYBYV=z*Gy7qX7-XyjBbg=W+=TeVqE_f<2_KSVc2u8ewr?f_F?$Q11YJs5( zxEx~r5Sntk**H;?L8C9b@$7+rSbql9SE01Cz++{$$?8ZL9hjdqef zp7B7sy08v_H(8Fj+%5o}Us~>r{Qp9j$~-Rl1U0i@0(60XK#L0X5cpm01v6?#p>e9* z9N(|QG+aW|y2@0P9!#=IdVtG|w%UvmdLM+lvjj}Xg6K7q=zr_hAevPAozX~aG)9i@ zrAPbskDk9>HySR?V4x{#_r&*61ta*5AZa`)3k9Ml z)A#at(xPIp7lhFgw{{+GUfl~piN0Y43E#n3PU%>a*QjAFg|Iy2c!F}Wo@N~Hp?2Zkd7W>g6sqYPFXXgji! zCoIm)%9AkYiWu<>TJgs2F2fYk2#t>BL@XAp)P*hpv ztw*wVu!)m%eAJ>>*{#br%o*veI*jD?#0S56qn1vcICvQlqd1>BHyBm6b=bZKOmGL2 z-9(b9RYm7d8;z$*yrQ9=xf2TlhlyS2l%t}Pa@6*yq_B5XxvVcAmFclaN$|$o z2jNboJ-tC(ww=XDF^aCM{cefqWk@`WCnt7phtp0=&1}~a^~6n0MptGnj%sWj)0=mz zuv|LC%=^bt-D3rmqmtTKS2;>4u_;9$X6Q8EWjb;?{$-l_5ShHG;{!v04eRlC+_VzQ zR337qp?wRlSY}R40Xi)qXT>F4nhAET$w-s2?X{=FFG>jp2nARYna)}BD=Pqjm8E5^ z8?<_7j+zj z>+IB>m*4ztI{x_6ee!2|8eLE%TDX-G{0_$B1% z0oMxvs8zkgmNNof%t>7y6i13X{ayRhMzH0L$Ldz0bK#*X5Ee0HK}k*jRyJs&Q3Anx z^-4Y?BPu#ftJab=K0Dz}-m;6!`*46t+(*{5Ae9mg;S<_Qi%09w9hh=Q-uQNy3WJhx za^z4;Da2hyHGBrsi}FIye3VX>yR%)jY0tXbKsLqPVl^C0aYR(IB&Vm24XJk6rx7ZL zjZapGreyo`a7`CjY*6Lu3tWWa*;!SnY zV8NSeQ}AT({1?K^o3uM;L79*p-L>eAS`8pxJ7tW2Dzz~S|qJ&_fEibrK4LutkRpc5%e$i~^mxgycH z)u-NkSa>WDp{TDotk}}N+biw@h@ybn`hC52#(b=2C=tIrR(H2^3#%(g;#OGGZgp-^ zsapj1bOyh};wtorTAJriQM$`_7FJj9@HhXgXwhAyb&D&@cUItm`4VZ|Xea*AohBn< z6L@EM#hBFWVl`tv_z?0l>N>mqd&$`wd{eTvcIQw^`jaXxaVtUv)W^ z=NE^+NVF^bg3XkQsg8KfVLdtHUrA(eqbzF=r#jH5X{R-%+0NrS@1=3AW(JQa?4>vd zNO`csrt~+3r-f*e6066yJ89bYOFE{szfgF|6($}ex9+SN`mlp(j0PlGv`9>pLs;iS z4p~;~@|nacmtJiZ>kxS-qhI1B=pHTDlX2A!*;y}fU9rX(0<}rH_Di@hD<0;6mOP)H zhDf!&qHAToy39CFOX8^?gGB_T39kVo?}&ARLux!lLpUkn31BlfHYuI;drA3(;}yaH z1^h2(TT=KNBKC=csED>>3He-^?Govk;+*|7F+2YWXQB2MxCfhNKQ#}E;1!9)fu~$< z@jVW3r`H*sa%u5R-9<6`IAs>|QMU{Vj(*dUthM5f#WMAI^g`6IfK4ewyy zKp!(m!k#-CO0i+4CNL?9lAA!rQA0RXKxr+I!r(ew_?mSoFTkr`oAS6R-5)z`lMFft zCihroSM%WB#KE_NbN@e15cBD6A8t2oE!CaOp>|0$Cc8k(z#=KS$r;t0Vlt>V9v7=? z@LX>8T6%t+}!n^(X@be4BxsJ%{&wl*_OD@1dn2*J!6@<*6_2y*JVrfKAPKg|` z<*+(NKQydQ-c(@`E%Oz>7v{z%MaA6S@694nU7|U8Co?eIxtBb35mgiSi7gpyM z@OOl4OY15>ej3up^l#(EN53Pp?n1ENJJ2vrR!2kjx_qb&zcXNb(Fig;agyTF-@OWZ zd%%B0Nkwvw6pPE%0zE*gnu>%Ekmn3jO;}%6esAr%UZUgloxP*A(}Tyh!djxW%n=F* zNq`3U=B)8oX~{#!ICA64895FpYHbN(#cUFl%Zos4`aPCnf8W^-ZP1Hl_l5{=;=nD4 zAd<;nIxwOV8}b^ZsVrX3scf*xSFBg<9ZoFI84#+d6nRGf_uDhU9+)<<2Cihk(O$7zSvu}nU-AYc~)aBafxjOyq z+bW4&-33cUonDrvilNL6E2;5jCjo~T4FiK^)Qi*w!db%@oOl@^F;AW%dQ!zro9kdy z^9T!-uvRBP!IHrne>*6ZY&>{Xsbyz->`dQ@uK`hI!NxSB9q&z3vsH&x>rO|B+8aeY zy0vlsRQ_1|ct`7{eJ3}pAm(`3ZV`{b)CWMeYhucIYm21jxTdpn0X$bR-sTlxA=GaV zh)&n0L3CB#WLc7j?!(AmE^Q1Sy`@X|9VcyPUO0tubgK;`=M@_{N)4vhZk+Vs5C7nS z$goJ z@q&rP1!*2VTl;10uK|T}Fl&}0YWVO`QOpMNqU}hxrc>g4GRofTnCl{(aE2_wo0b&{ zicyFbS~q*^2yp-5ptZ8L|M}Ja#fN@V!Hso#3Vtfv)Mk*%lmF@*yM$GG@~ZCFGv|JK zo_%fwkBr>ds~vbv_C?mVx--AHh_AjgN7%Zu5Z#Pd`D>ZO)!x`EhpuR$gk@Ut%;N6} zTo;z_L}TNJwXaS*p03$}R=wqdn7@(w8tF5fJud>$$wsOj_D9UqVClKMmVyjkkBm=Z z!7)nY?f?C;3J;1AN)cL?G|nj*HZN@#4U9eB(~1=paT6E0?P;iYM*`^4$Bn(B^rX*JhEwQSRR?e1BdK#$&)taxyUzh~sgwAdru^Lrb-#j?QLNX2}8PY;x z->LXRf80*Lh*=)5{Oug0xP0jcX3T=|G)oE)`&bztVYEm*itW}{)P_iD{g9I~9pi0A zX|0*rpk$p22{wTDW<^XM>Jr<&%WHl;CS|4}xg{?+K(iWevGY$O9Dr z+;7oBS7`tR?5=~s#C35ZpSQU1q>ed43fgZOvy(}`uCAp&9BbmOc@oNu>5}9 zfg1XlfkES<{u9i)8$))Zx#T_W@#Np9-{s*e0{5^K`hQKTJCx~VSe7zmWv=74Y%OJK zMjfgLTLCuFb%0+QOk({R%e>-&I_+Ov{&-u`8da&wppTg#JZ1$ajIg0(#4|u@3JRfq zRp+2D$Y{qqW&E8D3@=5h<^$qUi3+M#LJzf()Y`o?v%1S;nmKMlvc_JdT}{eA(MTud zZM~H=PM+XU^NnZ~_In>N8IFVJl5Y=OUuG3H5xiduGU7-DiP_1a9UK@Cau_*Pf6p0p zLF>&8^{);34V7YZZP;bmEW}P8Xr)vN?u`^<9TgZ`!ofnI& z0r)U-Xc<{u#LSe*elT#4TB%Gtoe}B9p=*{%#|eX_CNc7Sg- z3)IrK4C=(n%V@vq8>qVlg@w+Pb3u$bD)VSY&ggPk|Jtg_Jb=uAx^p06|cT&Hjx z1uIPSacQpR#8y2`QojxNb!wh8xaa3o)@aFp=pH!y< z2O$?{0!OEkQYdB8A@G}IjU5K>j=f%k7sN||-72`-Bi}ETr+deW=)`8oZO&y#D>S)9&0^hO)FVT$C6^%8s)N-m)UwARKDELT6Y3 z!Jqt&?|uE^>+rQcrTrt5&0lGrObyX(ow^B+(NuGSYS|hvmb6aLmg9_`%x-7(tPIl& z@R$X}mivlOQf@8R11ig$B&8e{AC1Bk-_{`F^7Ai(g9tVD8XM-BtGCCPwDcRC@SFa~ zb~xS5d4(NOm|EFmu)e)DSS#JlGIiq@+K5|wtWU5!vS*X)Rvb>t66w`eD-qL(^pZB1XV)WymYwNNEJo9bu$BYcrZX~C%e0+tsoK)AI$`K`Qd zce{!#jonSZdVl!l>Jlp`=OaD1{7}n36Pg!Hw+EO`y>OVoPHOg(f-;6eu~R+YC;-e@ zmWd+Li$B5-hwDydw&K3ygAsfYiDVvQ=C``cgQiJXm1+Z8?ts}pJbY3JgonI=I2eFf z-g*sta6Av9b>U9gHpX6cgIAZ$?6;IqVs>-?l#u*Ga`rNRiaotc)yx}>M!&lkTaTxo zo$tX$xMZswT&uC%(?EnE57UY#t|KcqBw>3q<1Amk_->+bdS0tiBHwVp^yca1KYlQs z8>=-O9UJBPvdqfQMn+C@EgfD ztb14Al(wMj)4CNM5S3M&4$0U(u%(%}D}?Z_oX`l;EDw+wexlH6HlL9R50Y1J$G`%M zm$Yw8N+OyOTdPh)T=?g~^NlCrwRtBBd>lmd0G=c*xe9RJi=? zlG}87U8D>)G$PmFg9{s;&P_k0y0+`}7&xtx;mgY)I>f(6(2fIC4Xa|%IL6Aicv>qd(+>ehy>$gu-A`DO%Q zpKTYSdD10{^=PBV>|o|%!jg?|@o7Ce1ae77MO!TeQ|h6dj8wbKd)uG-_s?xp^m|u= zC7vm*Y8`}R4FMokY9+1%&*U?yL&%qpPCwQj&6{@Z4Z~@q{YJnG#%oDSeld+}(K0&1 z-RDR9I`H<0op;dMuiFrb5J0+zs)1x=U}Pl;G+Yu*<7CipGzc83!4@myUQxz|E4Zit ztLx(zAvS|b2`Gk9TJJ~-$d<;G?V+p=LynLBn`K0}rs6P)-nSco9cbw1a6_pd=Pq_) z^oXtqB}n`@dW=Z8V|p8{a5O`6lI;MJ)?!nc;S@Y8;H5E5w79MTA96%V?4)wF0H&pie@cLWC=>>VauqRtu?D9go-u*l+`OY23?a~p3H z7N;=fNY%|wnH92E_pc2U<2(K-Z!>=~&H9aIzZ~vswki7JH#+jRI=JZvH0+76Ck0fK zU_~l-k56t_M#3If1#8hTWWbUWYa*!k20v}AJt(7njOAbWebb+g0-+dvsJ|plDYn1k zeGP1GNT@l{P11y@x`byRiVbpb^941Yrv~s-X|ZeIe6e9;{!nwxMYNb%vg$#ccG!NYsvjPDf=c>p>Q3VzrYGUI#iUx9TUkQIU#+ z%~Lm*e~|Kam*|L=}H8rfhe zor|VAg9kJonMA0X6;{7{{PyMHd2_r73;I4*9oJowYAl3^`}c}h0OEipzs`PphyT26 zkKb{S|K;OH@^d|956`@;gP4#dvZ1)<{cTyPJ(v#V zwGNIy9Q#FbXAVvvRZ3r=(v3?*OZofw_238U6TU5JrRa;H?1>jSdmaoEBh!iMN!Fa{ z56rfWD~n4=uOMHc@>mTOrczlS<|ns}FZ5gh(``kHwz#E`OM{R0qE|<6q?0r~6V0Es zIvL>iZm4A#rcygi90sB@-|Pk+02;GwN_&=t#yIvn8dr{rO) z)rAyL^Sn}MP?(ARH-zFG8=L|Aiy;g1c~ht#XpyN={qT5mE4drBy5^etQm^sH=gUsq zdmS_SE_`ewRY{J99>y^7t<=dVnKc$OPVnVIDK zn_NLgx7mYmhxvDS>7%K)?Z zFB#e4>SieHmHVp-_OvJuyu%rJQ1K$dW;die#P$6|vTGx{t~S zQPs?wM?{)t^Y9G((_&!#W>16BCAgo_=j4Cs3)_d%grN3@45S+&2@ZLWx<0j@T-3zc zWxSVckL7A_{(>H6e&IbnX6P@J(ybE4+w_~PQlCErUT4WMGdKHdeMDtfPt!eKO%cp8 zB`c)gy1p>7Q1HjR1LnUFl*og}E)^)RHmZlJq2)~o4VBQJVOJJDC|}?R<#ED9g)G8p zWwx{C7Ad!qc7KjMWB4>w)&MSH@sqw^s> z=l?DDi_zc=v$2v*kjFm^X6qMVs^~RDt-|-;d+k4AgS~^lGt1R%_<@$OdwBebrsZbE zYOm@q@|SUF{|oj#*NQl{gKP6Nx8F&UF!J!k#^<R9-Xfp!r^9R52vPn zU{+kvsearSs!PnP(>H$XeW4_dV6V3JKE^LaUh0(7D(6aj-{km>u(YPvKO7dlNEHLY zu?#NLCfHeZE}|KpGC~XpP`h)Rq)R_E%{J6oWB27ZlRw_Q%b!cxg5&m|*zmXM+p%n4aF)~muECaguiuh zCZnYEJH|v&AXN>bmPIcsX$0_1vFu2@j7u7fwQHhqMl6c>dP&C_jgeEY+e&^@^(2uu zyS{FvnTaClu(Kog(KgXA=q)`p_yI1BY0v0a_O`5!MW+9pzLhlCr*oy+YL&|8RA>|& zEALsHkqk*>$0|y_A*~P;_0fKBIv?#v?H4n8_tCnBI0&FHft~-dfOT&AQ$T13K#cVw zVTn}&Wpui4RFBti5RRTa>|^-!zftZeuwII#0)s1y%WINPn)m>7m91R#?21OKlJ3!g zWXepW2G(1wSU9`ZOD+^LYrLDZ1E>^PV|&*-I%wM%uGG$l%#Pi4J$km4E#$b7$@G#`gNg!%Mf|@y}^$=VU;>Yk2WCmgi-E^2PQ!W6R;>cV^cOO!FmvX zE0L4AZFd?J&(fLi!)d?9gKb<{yId@-r?0Sak{hTEf=B`j~WU>h^U_HwZ};xu^SFnyk1 z<8=XjS-=QQ`?K{|Kb4krVLatT#CoSs>I{>ACAT*8!7JK3nKzJRpbyJ}uFbE66EWY= zVPiQv9-~<^Y!Xpz^DDT4&>WD*^kn4ArT(GiiMN@<{B}eDS(kw!8Y$JPT{=9h{(nrE zTXj*0m{>VHi;Ht22V%_sj$|W$js(Ch_^K~AV)^dfjL|vYMT|W4L&UiS*8xn_14YjM zk|)5rm?Tz8!dG=G(}TaBUE!bHy9))2nZY~|I9%4!ilsZFhaJP75L>=d9-^_oau%H) zAy9DwjIOZ?rT`zjH`-VwY%Ch7x>APhtE7gfQ|3qAK-0e{O(|3ruhSC%xAOM*9P=~0 zoRUrf{YBFD`XTsJ+C>!gdANOSP3J4+Ax-RuKwl$U!x@pn-I#f$0xabqc|-aQkSaH_ z9u6c!+-zL&zPQ#0+fSLPsukfe^Sq#JWHw^`KE4el1q`y!{gHS452~Jm5>zLc8x5h8 zOw|-B(X_FZn(=F9%_yN-wXvqKZ-NJ3?QDDnJV!gAg%Z)2e1)wM5jgxxVA$a0hUOwA z%(q;K2dG$=!HK+3wOcjUFK^5QCH!2|5xf5XV%zK1O%ngNAeeZgpQg7j-vLNH)D2vH zBV9M-qL7lKkMdp1-X!31Gemnr4e1C&u`C+fO|WIN)6PzR?af0=6&J*70Z zsfShZ9BfE9H#{l;nk9ipENOZbpED<{Vl`$P6S8tfPWiae8q$Z7L=PAfZD7p1I*~yG zKYOCnqmu7J1^Vt4L12V@PR&K_06839Ev*^eVNU=BYQ~m8$L5CReXuay8wmqA5ce`A zm;r63`+MgUc+X;W-;ptCg;g57k!FersuvH{TN_zJFPKC1oGpd^IrTK-K5h~#QT)G! zl}yq^f6|3^FO#C3(Hb3mX(=r#oP02IDn0SkoK1Kav^Yw8I;IQD_O;X#+;VL=WYSk^ zfec;bdR%E!U$Yin!byz@L}VgNx&8yPD!h+xt4ptRyzdUkxhZV&OwYGbZ9;+lQqKg6 zVfu588OH_qX}%;kT)q<>-rgZB>sN}#m%33fR<+sA-B53eFKZd9zT~E}d#%L_3(@Ou zr>jrKspKsyA!Il9yD5?`i3El^N1tWayh zT@eH!V|C-A@8o)5S(+-|TOs?rpX-On&vJOBq3eSS7RUZd(G{p1L1}-$d`xH8W~%4Wzq3nz0)Qs6R14iD4UO28pq`4 zw`#neVpyU%MUglIT_whE|Bx1YP)i}q5395lnZ&M8GdILbAw#cVL*%Jcro_afcBO!6 z;V7wFbMXZkP5tU#m`%=8-`H?4ss3(-hAE8vBNw#ZZdZ=Eu{a$<0wAq6DS9n~=qe|u zBW9==8C6FsfEKyiX+w~jUj8Lrx;Erfc`_({2 z`sG*jrN#OEf3&>^eAUODFRC-6UXXAB48|O)C_x+aW2{nb^7+*>DWRHQ` zBZG1u1?=0rm4fQRcR`-yI->Y8uT{8H+&76@D2j>)CQcm~Lo>zZ0BYO#vco(^X1qp; z&WlDPvqjU(t5QCQVP!1iE0q@}q$`=VeI7Hk%;ILTEGdn3nQ(lOkTnsF9B=brM8YN{ zmrsp+Y}g^?7PCT-5I~G1gHrg6YmGyGLZ*)T9>{KpHB+mtL5G4CH+*JQ{fM6~A6x_N z41D#7+UFAUT*_4LxL2cm5ldEt=)mTOd$2}SH}NOsCOnaeNBVFNeI9#&@!jxl6|JOBsw3ucIuy;i~)jB_S8 ze=h;?B&KnWiDIcv*eK7~;1jk;a#ChCH_c5g%?} zF-K2e#@J;;9vsO^Mp$fw_>A{75`uP;BX-^5=dxsi)7zj>QBrY7%t07oVs$BRg7eH(xY!C153KZuvrFeqv7TxA^Rju!R3GHx_Rxj23U1 z;-(1tqIr@-HptQ8xc5YPcs?IubWi9f`7urwVYBC1oI9B1<@Y7!suD^}3@AZ9hiTtf zPEHy)gE9A2vDj-0)!YfOJ0K`ia4^bA6BAc+(a*^+c+i*2IBZ7P_WpiCoc_skkEQ5S z=ZMn{n=@xeP=Ir9v7{{&W!};LFCzllMZYdDFWr1j@rHwpQqx9qMA;-7A7_}!OU!24 zfoZ@P=|EgB;0mWyEjN@CtC-axd=a237WUQnLe;^l>Uw-AD2NN%VSI+K+E*Q|jaJv! z#;U9E<$&s7JQNHB!{Pe+>QHsmSLds#u8mYfUmvXx2Jk4BuR0#8@&#-BwZU+t245e- zM~mPk=Bth1!$hzS_&@86jG5%yTI<@6M2M`e4Mrn)Bf2_Vk4L$XfSN#{w!SV>QyU6K z!&N@~NAZ9rKK@%9j`8ED_)t-_E*MG(gk9bR#+DEofjN#tDVdT<@=V#x8FXzK?PUVVUBNEz6m@+O zdGJ#_Az+WKAP8LMWkM_QS)sa0Je-HrI-&BRx>*%+C=*9*>xLO2@3U6wxwvUhL1Jj> z^1ap1^~aqT%UY&DMyTbs6)<`zg-UZ*kn+D-1QQv^%E<2g50+NVjhG}aOnxwh1%o?R z7@?j;V7QiKhHy@M`IUQa4ySyQu+)fB7}xE6e6zHIsFUkeWTDAuzzD$nF%vcZ(6Lf) zk|cWzPr#Zz13PfBQ^_#5V1_Fug!^s2m^T&cMz!-fcS*E`WCsOTl5J)VY&i79jVf6) z!V0!&X_e+;ws`($YWbZwL@BdAJ_Ki) zr&;l`hhFj3ds2`ky2tBil~{x@)jIeoy!(jU*J8k7GsY1p3d<#S(4lBgu^i76V?@VB zI9GKrZ2=6fojheK9!S8h<%9To;IxO)kFaXAfPcfh-6vDko35Z_;R^Q$o^deT$(};LVFmm@FqO6gpn36wD=(&fm_>QM+9&{zn`4Vu}6#@3s-hzu%8{v#J= z5pkCZ2WC)aG@q8-jW@d&ZsE#2K+7`ZqQALDY1Z(t(uCE-TXz++>G}nI#f(6vP|2B4 zgNda)o_59znrB){Cw94?#Dg<9WjG7_X{pO23ATnu*UW~Wv%u%9*qIViE-K0{O*|!S zgvZViHHxSn>;=uhw5nUtJi?`)X>(^_AWc~ztpZoK66Fx-vtztiznWv#@14`lbAVgQ z@?UNmaKrtiE}hLscI_8Qv+>pg?(F$9XPR?1C>9<7ly-+J;i=X?99mv6mZR&q(&58? zFp4H8U(sefEii9Ry4F^6N<{M)F1mDCYr!D=ERQ{y9ROJ$Fyaa}j?7vq=P&4F?!rHx zW8&ARo;AsB$I>?LuwKkE}kMzr<_|gFZ`H& zPs*Fv#4|4dvl~Hp{ENfL&n-RoRkUjF46oH^K_d-U>jNmh_rhdsuiyh5OmTiu`zRCBS4;N4R4nzY; z8dj$GKKsXGB28c|rxf!!zB412Ypi3Lx7bp19`~iL;+WM7292%S@*7Y3e(mA=Cf)n! z*C^E+=7DOcVN*c^ClmSF9B={DiF_k3S=5dJOvDY08Fi)i%`sase7`fXU}yz#Gy}5= zUYG2>IAOxC1#?Nj97x6^j95i_My4hhk1?0TV!wB&>%sGf@J^&D5vjYdqu! z6)DqoQ;w)qELzK3Ojt{^k|FsbL_=~%4wKx3M3*kDcz}a~Sq?N!Bz1i*Rh&(12`3IC z;c*l$GM7%pfQB=!JcsFoX=IkeHAiTBq0){c()sM?aX60>`&&y1W-gXknZr1o*gi-9 zPhJ-=!#$S95nJLw{(YF2;@lvL0c?-ky{u^YIL%n**B!NQ^x-qu{M=Y9UR7O#dFA7H zb@j=avu4j}cxrCry!i{Be&*R9Pr!oxr2D`2^~v9O;K7HcJY4b3N2X4D^jqKl&Ue4} z*)E?QS~5o4x=nlig63^b=NETr-v0sLrd4$Ho!CT{j?d#0|AEcq8>IBqc4BHc(O7Og z_GbnjBX8eyj_*Eu$PAq)*>=eV&ANiQ6VA1la=A;#^+6{oqp@K+j)kxW?@*3&^5U@V z))*qpG!w_79-mV_%&zlIbZ>zqMFMmRBO4}!!Q>na5-=k0mqrq+gd!>1!y7j(67uCy zFq0eC3KMMM#_>a@x@1D^&ks+XX7=Mp&7YlWL{C8@zTplNN24z_WJwQ8?cA0L*wYOB zR2i6*dC^1;1*Fj0BM~V!WGe0}x5@qD&tMH>pYV?}m#`<99iC9oKXw$X#x{(zi!R=; zn_(D-!<3cDgVi_)|<7_#Kj$8R& z*>FQyI(ZmRGo&1exfM@FL*XTE*`fqPG;bx5OS32024^O~+)S#LVl))1nN7k_IMZrtiq<3)=8gR$o$V5ZQ>~xEZAgO{Js$JoXx@$GU!?E>K_R zuZq^kt7CO_(YoqTRkX%eAFuOA0@XEj!C*KVsSf(Xc-y3=x;la{ap0Sh*xm5ghr?Ah zkzlwsR#g?OiU;eW)xo;z>RNm=IfCzZM5=2dVSlYJQthj$2?wiv^^qXMs|nTxqP2kt zc1a@D{%EbgK2YZm)Pw?|XnhO>k-BgsSQQHS>hS?)Uocu5^9O3{s)NBQUwxP$d{jA^pI>)NnA{*30Hkh`sjZPsxUBbM10H>YB{b{?FL!n&jB^5$Iz`(p9@22A>7vanbe)5?otTZ6fIo>Je0X8$NaK#@| zn|q0|#E1aNZw-TW-0(6Zr=eJ;!jdOaCe2(Y)%JZg;iZ@@{jSfm3LHd4tk0*-ufU3dTHMaS#k>-j6c|K2w4W4~c`)hNF;avLBj6h;*>n)|R0Ibeen|4hrMVO`xMS05 z3TA^3;>dtuL^2gddDT==JiKYeCYdsn8K(`6xEO#Qh_6O*sv`}7IULD_LEEL}{tngz zal;PB{?XTVkg$^Y~jHio>?&*#eP72 z7?&0h2gE?g7nIewgOEI$2hMY=la6kP=720c+PpLdYx5Z}HujVn<_W83X3WC1`kShn zCH{f!EoHh2w?k|NV`hWW9t)6qVHZxW zb8Ou#3u3W=pJPs3i(~ckxCswKB7sBQvLS~?w!>;}Ps*c)iOndEk66sc6P6Rrk*}#p zreh2UL(Up8V9a(Bp7^=zcsvw|M56w%FA~IeuwjV$V2DA*x5dKokS`SGceSJVu67`V zFOo$A{zxoFaKMIr&nLNUL2>ev-Y z0L{{!H(@)Sj3>dqQB^aidIt8`xER83x^r;Fr!q|io0pav(SGNcUJ9qLDl*)-%@4&Bl_lzy7xBMpsd`<-T7*eC-yzb*fni#@q@ooe9S?9E9CrF77CSUzoEn<~)xXMo?E6s_gMe zv>q;IU?vMnFjL{^33lLamXl>A1r#$EONc3szmuKYd7728j1XnUPqP?>yV%ACjlsTo zlzJK4$Z$y?yq-O03O_2{IB(K|y4eZCgr}>Xoi^utXl>NpkI6Rmbe6NVlV{gYn^R%0 zxx-)*Yrma4+MD`N%jc}iZ_`$WWH-V9BqlV~ z)U_caNV;A8#1V6Dge2++`C(eWV!JlD;E&rXiM^(-Gf+yr==CMGyn)PP3004O{$zCU4WDL85zJkkoAbLVQe?{4{fzX) ztpWE+zMTh{t^3|$(g|z z6K_7{WeP8G;cW~Uf_=9ZQE}N0az7K4XgKwJtMEUe%1t<5z0MQqVbj5DN?)}@7$INw z2eGvHWopY52U$W!Cn&rp^y!AZv1a&TxKilVZ$(ymMob<1=Aj zwS_0!jeQ-K(;~wv%uytBd$VOTqS)7P;sNVF;QWu+btH4Zj)h`{N6dG4 zrV#v3)-+Q3pd6}Trz^v)t5WYI_n6i9AEPK{4gj%jpaV{;dYspza6&&C5BOs7fZvDX z`+-m_ig{r?8VW_?Aej?cB>;sC#Q z{bfQ6`h2knrko)^0`>*{AwPn~*Rq3tOhxfkZC^YZ3kTz2|BaGt2?hgv4Hl~^QWrPL zw8=~RWrL(1%w8#_;IcshE9cw87EZ`_-6V0>$24&i5G7BRmCOXqkYs7)QoHGw&UXq! zP2rU(!)0<2<1@C^OmKBrcLp<_YK}2Y;ed*SOtvp9OvNQDtj_WM1$SM`UAZyGQrUPA z3O^WEKjU$`PG_eji7SOzZG>2lIe7|SaMMwfh2o7N7=E264jJWd>x7aErt1$Uzsz!UgL-Ar)BW^J9O%YjR?f8)}c@H~r z0H({4xWorQ4a+giT@DS)IaQReY<}6Mgcpp=1mB&-!ZFWB9{%=}M<4P&GR3;^JU9+L z$Y^C9$Kn-VY>!tZ?Wf=vjeIpefcI-2oGNUj)UIFh+bU)q$*q1uY?pU+M!KB=?}SNH zr$Z3H^{9uYPyPA?+$XaaYD%T1zEa<0pF~_{!oc(Q+)KB232)t|k}?sxrFo`{Z6#&# zl`Fz^{8GHR0%oruB=$f^%sCa-y6_EgvuKRok4-qvM<7L%f;+<&kHqm~QFxN}iTTx~ z5KeGCXC&CsNZIEcWzKbvdU^()s+Q13GPFTI;Xc50JcJVr2IJ3-_73`qOmn8sXm}0= zsafhorlfBE+!;h%OqyNu?DQw*W5e<}yb=Hx3}w@?oH%>lbMDnTJGhz6P5TN0o2ASs zjd+2sX*YMr;7~^6ys2h>Ir%;abtT?ObLUP(GL0Vl*z+l9-0DD9g?j@Wj^Oa-9Vt1A zZ632>ozVqSA~rG1+7`agXujQL-mr1!Jd(%q&_iSe7yO4aTQ;rf_!{JQzMDAK>Yezt z$?%9r>*ma+gvKpgtm9*qZT92l+gy#KY961#ior7OGtcr_P#o%DQm`F|4H{H?;)-D@ zp4`Hgjd@#`V?2k>VyvZ2H~YnPwbR9SF^`hWFcPRa>&rVtcs_6LXL0eHFH)3#4nMad zN>_e9D1cXFP-W(OGlu_}Eb!>*3}kv_>Uct_H@R^laxpIN*Hq0lf(tX13`#Ck8Yv@r z)y0hXNgBiBZWd{h7uargGyRbQCnuS~2+l~ch41x_GR*J|2h%YH$fxXxJ{t-|S|+GtJO zS6Ah$3)kCn@3Pr!xa6&`uo%I7YUM3=uFJ}e2$338S$S1eELu|)2vpa_s(s;LG**Yy zME!NR=jyAfjfNsfS+F`1z|Gibyc)Mn4zM*n zAUPu&kT{{xH88Aj^Fxa`1_OSaxCx2gjSndCBYft`1MnjDp~QqtWF+!azBPy0n4Q+) zDjm+IVpr)YkuDO!KpwzJf~S5mfUyi1J)kT5hg>&%&T|7w2F%2_*k>ANqob9aH!yah zr6o6Djg>j2Hl0S}9m}-h8=B_^JZI-Qi7l^GF#}u=6L_zA2vrz{on@ACYHH@u+!V%8 zg9Fhx@_>_Nj^JxJpiCN+O4WinINoU_WwV5gb56bh_7AZ|32g`yO56dD#(g0lb`>$x zi=g@9!g(|v4aRY$JQN9IdWoIQcqkT#2eG9Yz@}!v&rQvE1Y4a!%nL)&KqP|39|*_d z@a^+s&KU7wW(tN82>Rn+J*rr^f#yH*b>(5+`|$l`ujxJB z0fQR{IDVVb4?p+LpdIXP&2bYwF_q^gExW{l?s==SPAyQDow}F@4}kPJAwT>J(hZ8l7?@t9%$=W=~wo zs^zt-Vddk8m0L2%P~*P;!ygQNY&Z#jFqD*tZ7wZ`!SV;79#$^bx)K++OrSqN5WMPz z1+Yd^mxCG)z2Bf$w!A~3*J<9GsAg{pDx0b^t+#+N6;coQNV@MH9hRn>z#REKJVwbfM+E~>+I z(I^JeXgD5-;ml}ljXw~r3e?wE#cFX*G!(1GgB7uGqza)yK#5{F4*F{XbzwYi5%Gnw zB!%;#@rXZG=dXdVLJ_7a;IHykBXJ>LU0qe6wkjG3SI6T#Z(1L$j#YSBC;MIEY$Zi`OpjY)2>*#{wP-B@**TtLm$3 zaUdibtV3DVAX9ZwEZv0>Hn^9s2I5I|9HK;hRjn@yo*WL=M6ncyS3UwY0SX$`b#c6= z5wEZHNAMKL%~Ea&JKS`8s!0rFQ=*eCYSClNsxcoH6C*^@nRO+JTZd-8`sG$U90y9S zr&gADE2rS1@}pBGfAi5vG# zz#oqx62ut6Xo$1U;V1@vjNymj43Jyymwk^#|^;zca5)ehkd2%bxE#}QgHQww# z+JB2NXbuiLxf5%D<|y>=%-YWye`JB9YGxxY;b1cTWmh?nILw;mS(ZlEZBx4@dg|n< z)2BT8;DbCtoYHY|8*9R&4^B(5nfBd^R00eube!~^X^%{(EOGsP;=>O;gv$~C8w3)} zqWq9&gBX5r3=fSb=8OBmkC3?ou?2$s`6aKW5Is2n1w`$7s%Rv|Yo| z@yro6UNAF52Sls(W5f%_Lg<%}moY~}&yOQP?BqB@2yYN&U2{*Bw^)o*zBYM^DPCc7 zSP-1b;+^p5w1=^?HSv*2rdVMk?ul~#>N9Pg5FhFyE-QZM*~wEUJXGv`_>n|vz-Egl z<28-@?!Czxw*cqEde|4uqGr^ZNzja1&WRGMYQ`>Mq7yI28Cz;-A&YLt%C5h`602^; zhO2Kd%5vO*(TRn*67K-JB1cQBeGYTE)MYvoLKho`We!E*G!{KNJ$#B5XM~gXFg%x7 z+WV{}S@Zp^!F=At?gu7UX3Zz7xbvBMK^qqX2l_(K3=3^@d>OYcfBA5F~D3f$32HzhU(_gGJQt6Q=;dk zCi2C(b>`e5Cr8Pp%Ti%5xs$&$wbX39dT;(snCkU@KPfjnR+2mMGikkEL!H8|K+eEt zG)|Y%fdtfFgwrc8Ro`;CVuPw^(45<5Cx@8s`HoSOUa z6yT|)58wL@yw5Tn>#np-8j%uo7E(yk@ls5g@t82%SiH%2B-vBF6TRM>LZ6rnI#)tQ zY&M^Wd}30cE0ah@P5wLmK78e+tQex!#0MXpI&IP;lkSr{r#9s*_Mu&Jf)};Rao?G* z%6qFy&Bh*Y!}oZt-AMpdUgLXaUHv@ok8pQ`?-!Pu`MS3nXPJ}>N%v3lKKv-^McRQ0mgx}r#U&M|Q_v)4 z)RZQIKy#`}F|kd+*$PBv1)(Zw`VvtY5$NVPX51Wyq|8L&q$6Y|Swev3D9RaRQ~zI|)xM;VJ!@nD$RX>4I_Cw#BCPd7;ez z{7{4uArN6cIQ@`#qQF~k!Zn-+_Skj7IdD_;sCiT3^`#`P{d9j~# zQxV*}@SND&X=DhFJs1JMOcKHa94web?#k@j7>39)T;pgCT%aM%Egn6Zw=uhVLz3)f zk@GJnU1%RLq=}5z`_HTW7gT1JD!fe<_EUv@mFIR< z*h3ZOsluQtjH<$NRX9o&4p;d@R6bOAjH~>?YVYsW-ruUd9cp*G+Wi}~`-d2*E}U#U!mpDxlm>eYE8K$5OJN_pZ+->uXj-PABh>CsB(>c5&>3Mc`IG9|EKok_XiBrZ7rL1+ty9G?X5R;+x9nf+qU(( zZD+G?+wr1q+x>!W+qFTr{mW6^)_Fv?{Xg&Ow*UT)Zu@^%>b8Gfq1*njTDSd=Rl4ne zKCj#Uzcsq;-`452Kd#kne_E*9{#TQ3`}f7V?YE0`TgOt}*1kly{bsptyRuBTU42cr zU3yiwUEZkMe)qa=`$weV+9rMe#g+QMzO-6-d|Id9qtoxaP3L8l=*;vqz%W1vFji+~ z^wpV}u*=K^6axY}D;CjN@lgP;&Klhf&<8MBXN`f~7~oKMofXN^S<&G-%jW?U0!nq3 zzXu>4;L}-wUVxE0D|iQBoX#o+y*Eu~^~=*)y#@k?0uWCxt+VcezwXfAR;;sbFVb20 zLjc);+cla4;BK9j7Y5`45MLhR%RpEe2r~oWWx*~B^l4)OBXpK$7yxPZz)qLz^iUX( zt<%FHojz<70Ok=HfI9$Qz*wC=dHR$b=(~^5=|!ag_`AJKr{9(i$kpiu zeF0ejug(}dPG^M20{R060*2^}P+x!oWa*5kUuOh+1A6F;QqYycZrEr5^uzK2cj}B0 zBLQKZG3Xw^9Xg{p9RNH8VGM`>KsVrSopD#L&ghc^fcXxD)1w>!eSU_{=vJsRJl%9g z+EAULeSl1zTUG|}14;n-I=8%B=Z?+Rx$*vhVSp$gu5%-~fV%-bb#Am65Ca5tZm|b2 zMCbPF2G9W5^%!a8rz-2k-L!Rb10;8=hUPyo0~ z=k*^A=m$vCdG~t<2LNTz_tJT2 zV|kf=0K&@{2tYjPc>u(j4*GP^ro&xp0OHW203&psf*W{9p64DwHXy7s3*vw>K)F_F zen3zwbr*01xDRj$Fc$h;KsPY0-heDX1|SbG7?2N02iy(XQa}JO4saWw2ka59hv9kw zpa-*4Dh3z>K=>ZeE5az~O8~b6=&w8A9>AS|o&d04q+6vSt>_(K#Q@MEk4pE0y#~N8 z4g5EaX=grq0YH<6{y*+Eoi(-}F!)Aa@P={do8v|UZb#oh-z!Id9;bBX0PvUI;0a>~ z>&(0Jbfzz^Gy0)l6=&-g|NReIq3@`Ifq?#iA%Fn@q`d%XFF@W3iUG)H0rH2kRVdq> zc&X0Li|TB3ht9sEKxdbZ*4go5U6|KP7vAmHg*}Jp!gxPj=*!pLa^t#NMnreJd!R17 z9q9~!U-$}uk(Tb@O}-+XSqL5!Ku;+w0gt*`|mM z`l5dh9|OBSI=yrx@^+U_*CjeH7S-vaz&q1Qboxl-?;f~~8jALhcF`@0FiUj?``K{t z&4^ED<|B+^q$Pl|31sWcG7orgAMoAVbmkzmq2dDY9q_jZcy-noompCX81DtnO19-*>JRrYX| zJw#>4RQ5QP9a7m5mF-j6MJl_e%Dzoy_f^^bRQByE`%aa8hsw^^tN;C+Uij%>>*ejM z^vFPmZu;j-z`xTguKc53d*zy5a^<>y<;p+7?%x3aU9aufubVnv&?`Ecp>Kx%73eqU z6@UC&z4ni7ddVMusn`GW8PNU};56WG^@{O1dhPgZy{`Qa2=m|c+V=mUU;NX*>Lvg5 zci;l)D(F@IG0FoLF%aF>i|*eaxIc!KJF|68IfjCMVC_BgbWXoJ!2(dcBL<>MP>j97 zYCOGk=D9iLQPR*xayTIw$)son4XvzX3F5u(s}godY(U6+{(!(sa%!G@pSO;?lu3 z`wh@Jv2i-5dz#K3)f3eT_R|}zZ~(#@1%J_y&M6##@Brl)8V4aSV24>{7)ozPx?^Zc zIX!gd?eL$8rtZ-?`?kJ1YXq9oP&9|T%XL;au<6XcV8L1F27?d=@>enl^l08a;C~#_ zh~|`g2hxt_n{!)Fodb5A-QBCR`(lV6+gs59u9%vWV%d-l)Sc%6SOb`3R(?G!J2+EJFiz z_TZinH9(gSyS}JTh%7lH5N38B(%K8V`E7m#P%5=6D z?Q|U2YiJzOSgteg%F&tSDCd#gbk67?+8y$F8}iq;C*sV|*#WT0%)zKzluIUt@Bw4d zRw43@L;8y$3f!KLwhxi155$DKZr3>j`l9T?R)^h>EbnvS%1(RV0bK&;B?+XH@)e=qWfGR^X#U6z5xfu&~lEdeVZ zh`3SS-g|U*{#dYel;NEt(2h~3gHg`87`pE+L%T?G$A0o^s)YBlu6GWZoqpv`G%f^tB-R%yY z8Aki>jXLfDvDAm~bZ_)E3~wXAPx4S-dFaOwYcjzPGDm=gL$uB7aS!r|JdQ*;4jc_Y zy$>Fwb6K`Nv{ygdK^*-Cb$C}lz->AQ{VQiA+D$3=Kxshdj77bT^Xi-++#uHG+zq?# z;7NC)&PveFAcAJchoWrIRtwOVkcRAhlzl$hRDQnBE(9(_ejrk1Yu0rSoqZ4T(H&(} zgz~%t^)d{781ZF!!6&@vhcWQY0`Sp7)Ct6%tc>1h_s~Ox%Ib+BaTwYPhsX$cP!8Jg zQ26f;F{?ZBItn6ONpGFk6JlTq@;EAtHU&HYgO7}iqb-u(zwEa;iuMpbO0JJHLAK61t$771ne^B@1 zP&R=$0Pg-00NREBZnSBX9i}wdImIYblxxOFo!t+7t}n{H2ZrR~D5v87I%_bd7SVk0 z0+ee$#(=a;i~|s+FxAS+M4JWA&Vu-rl?i+Fm#lsmE5P$Ihx>KrNVKZ~7+(-~rf(3+ z`5v7aLchQiB{L7xFo-vqS*Qa{*YY#KS4Ti3#q=N(Vn^nkJ@v}A-vO@a{8$md11Qu5 zvB7};(2oR+0*nAe0b!jV&jAzw3ITcgqxt!OLO?eF-HLQU9Cnps0OJ60KnxHC3U)~Ln4#?2?W6Kd&8US&W!Hg+Pei_0BZ_h77oMl;ny8sBYtUJID z2m*Y7aex3If^a}LHbZwC-5)SecZ=l!4*|{t9t0?XzBk|==!XNMfG}VT;7-6;KnPF_ z7zr2*C5wd=M&S>2YofT7Qo!=dW0H%=N4~2gh+`+gDedBcA zNWfSKJ24Ex=|Rk!Fy8@_E*OCMQEzni-stp$!N`VS;KhKJ+aH~`KLoBYI&v8X2vk_^ zIOx+b_bWtaF9aZ=RW(di)f zXN|#nKz2{8C1gSlN5{eZJ2MOcVH`SEI_4lFFvl+GsWZHoqYuEm+1EGC`nQL+19o_x z@chU#*YmXJS@>QCSPobP*acV&SnZkVc_#hC6%79DG0&I`MEl{w^uOQ!>qY73cV0M> zeqjZaPnJ`+>cWxC_H7&5x19ibS+I% zSnhgH(942e5wuCrUW4{+Y2OFReQz0b?D_Wh-p*`)|M~XgK*#sCAAe2Imdy5(i`q}U z3$#YidO+9;^0{nSyA9BMxa??lMhskhrtHRTY&;#3nX4vWQMXW{H$FoB%fBxsAE z9fI}>YDNU=+}rBh5q0jA`qe`9t3~QptJJTys-NxfRC{VYb?R?6dmi`9@I2|6<(aL1 zvDMSyndh0W&NQnt>(!ap)R~Ry%qI2o)#}Vk>dZmU0(JInb@s42dqjP-OntOmeY8-W zJE_jR;Hgn(HmIMqdg|4gH`SRf>dba^W|um%Tbdf2f%wcur zh&pproq12SEmCcZ)nD&bZ7WsVD%G}HwXN~|ShY2)w)Lv*1$Fj4)!3-c?o(&?tFs5x z*@Nn%HR_}1)kkYHesiMf>@lbdjk?IFi;cR(s7sBy%&5za+G5l#Mt#euTaCKSsN0RY z!>Bu{o;36)4gE<&f6~yOH1sD8{YgWAQs`UH9!o!ah{`_tKlRSpV+tBH=U*;Da7XC! zE|mjx{(wpIe)!^tO-5Zv^_Pp(*=A^7GL|oWNXwUK*$T~y51Txd2($3EsE=P%A2k^U5H)H%lPtmSGlpPB z0EVE^hmAgLxI{Q31pBbDk7R_Qj~IQ-xW^h{#Ruw4lczM@ z+p*|1Dz9gDELzdAXcf@mj>Ri7hW=(r(=e)wjJnvUOO3kBsLPGI(x|JAy2hw$jk?aL z%|=~s)EA)su9ac_&uy!%bVV$%`4lfw(Oz0iQ!+}b_(j{ z=I5zjc?{~cx3^Hg-Gsb~;aqxuE7Z&Dnd{5@chGesZ7!W)yw?u1R4+fz6kgqKQh0(f zUR%yst}Q=2Oa=TZ5Kw`j3WQW3tO5}gh^jzL1>!2`Q$fE922?Ppf*}Z-TbNwMpQ7Wf-x10tB_BH{3;Ysp`Z$dR4A-M5fzH6P)vp5D(p-5qYTmmRDx7O zRKipuRH9U3RN_!F{63@7PllhK)Dw@Zx&`?ii{9#3yuM@c3A89N?Cn^*p<~e&F`%Kn z4w4*02AaLF-qx{rb;shv9gA9F4FhNvLbs!1(QX(DI~MKgSahso(LodFN_f~s-6Dj0 z0%UuP*JGkXh%M0VHR0?5DTolrVo3}P`#ToH1O4qYhQp#mly9IL9Dp?}4wwX;fOn8@ z7auUd8X+{nJ4oTOA4wxZ!c8nKw^{SzEll9z6`*${i;;S!0-;-CxLBQ`WIjQIlp|{> zg#CyRW`vKBo`<(X)GcB@kyxZ-mFVEQ8Kg()$pnCKj!GFCuPtzV*JQyK@cW4Z79Emg z@`SK6I~FeoHPA{#0fZbJ23pmzcrB>bx-2YSXOg(2(AM;#WJpr;OY%DwH=F2D$|!@y zFR{K+iKa{t6wJ&l!iJ7fyeM>RD6Ym((`-0fO*ktM$jgi$nOU?G#0X@Ap+vzgewD#3 z`oK^!P&BcVAb8!>;|tKe3LhPdmxvt-0>wyI6zF@(`vWP$f?+pYQ6w+H z6I`K#UlcH15q=920K|gmSoAhDpgt%er2DQeI+pII5}*>K5~32O5}^{M5~C7_0$yQM z`T?&nDt%@6=`F)ge;Iyy%<$7^hM!(D{Kjv<_zf7p0pmAd{08V()mEvh`D)Gr)lj2q zXQ>(UGcO-Id}T#*=9O3XUw&at=H+cWuk7Cn)7mR4zefh+?ODA3j+g1%#YIc>H zRi&Q9f3=!btsbvVe-h`}RYSd+U9V<6uAY2cJ@I2TYo@B5sh*sv>Sw9hv(&6vs%DmY z5}JUT70j6R+Z7ucGmRR^!hsSRvn>v&hDJ5JQO#;p4GYxl1!~p;^(4~zw3_|2n)S4L z@@ZB5l&YywHMN;F@QC zg&5WN4H&-x<2PXZ28`c;@f$FH1IBN__zf7p0pmAl{08Y){c4RmvqPQPr`q07ZOhfq zUrg`Zw)#MN=UZD=QCX7Sxpm!!^v>-oS3)`5oZh+f{TEezy{ey~>SwCPdFg+Dvz@1Z>f)8QXg+rA8%40Z&n}gQXlV0|9JPu3#ly1 z{CM}TPkg*k(4zE@n}7W-mG`KeNdI^}l^3YINaZCe8>qZYb>Wn{*rYBTR~J4| z7mlfm+tkG!>f#c0ak09%OkG^AEF0Nx-wEZD z4Nxwupl&&pWmJr@nGT>{1AKlTmHo6?N@Z30`CYWzMY~<+4?v;AE{3~{u6yXZhpv0* zx`(cN=(>lld+EBDc6({Jmv;L|ypMMK>AIh~1JoU$!vPu((|DN1!wmE=?T*rTl)885 z`VNin(DfbKy-VY})V)XL7)g#%cbvN8&|O#v9hCi44nQ$>NELLe(l0Ec!y?)(qTM3e zEk?mXfw#qUT}*F_FD#(~y2YehOu8i`SwfN}Bw0e&C3Iav*QIn_O4p@yT}s!bbX`i< zWprIe*JX5FM%QI@T}IdCbX`un<+NK)yH&JXMIWo^V-;Oj(RCGE&$nJ^O+SAK%7v8| zFpIme=E8cY&l`2EQP&x@*{JJDz2p2LDsMx%fL5`K#$7b-qHzz6duZH4<6au~(zq8! zWC=yI40cf7hC;hlG_Im?6@BbLDiJao-7YG7s2pX=mp}&}P?j^jtLU(o%3&%;kS{39 zGcPnK<`V98E`P>5(kvv+8fm_UgRf#k9`7&q|% zU$g|GB@sLzTMP_HEWrq9GXCgxAQO#)c_$(Xx{5=H2)##4EG)DoCf6XC&@tdfro}w4 zjx0j{z^lZB24HH%nBV~>gh&(8yAEF5*Pd64h5KGr&nnAPM6QO4cGL}pPERhl- zmKhN90Pievn7~ZL(v}2M#u8-4=!QHnE%1QyqZvt;LJo!AS_uRFde)KHI=ng)=_DuvYyHd>iiaU{w;NWt2)0;o!_p`?@;G=s`I=ReQ0EV-^R4RqA$9(3b^fqAe?*->s?NWo&cCb9zo*V0Q|B@AE>ss5 zsSAtMg(d33QgvaOy0BbbSfSACk^Hx)Y^AcD%1+M!PqAl|=ZBuZ@cgCv>09cjTh&kZ zsh{ppKi!_)xq0a;0Hb-8ntUim1AHLWa4^--nrb+dYIqw#E<0v}Tz1?BDK<7pv2_MR z3j@PXxExgf<&gTtyXx#Ab@r$_`;Iyb{c&~neRcMPI(t%`J*CcmpgvlxK3bwaTB<%; zp?|w#Ibf0cXtTO-KwaFTE*w<866G&Zff5xgQK1qQE>V#Z6)jP*5``lLL#u}Aq1AvI zKrNsSP!D(<@C0B6;75Qb0W$%!0J8ye01ber0CNG2fO&xVfCYf30nY%Q1^jqeR!7rI zjU7!J)YCs!Pb^T4wYmYa_tQ0M7XE8h?T<1$7QWxHa5bjzn1UVFm@VroD_85w`(M$Q z*R9c*0&A=w>C4+**VlG#1>OzwHhtyQ7JYTe7JcRA*YxF;&+E&lK(p+5m|OMb6`S?d zql@&_m)_LZ-rlV*Z-rg+F@5F4OZv*H4f@LS8#LCY04w$Ng{$=CcXvR)AMqX5SJo`o z*N(O#4KM1eI~MAzyN|=~3Vr2xlg1hoU5TfN!2ZlE1<#Zowk)SU#pr!O5_s4tyt(U(pg0KBg+ zH!aea7b1m=PzsB80@mq{7v9j9m!d?Lz696?co%lZfZ@Ij;Vs*yFTKyw+6OqQFE0nI zSgbog9ly0EDv|@vK=2fcqMR^E~XIUk`X4fD(EBB;W&mbsR8(QnS9i;Y9#y_vIx31c*AU-pN03gWYwH1h`OUQem|KwFH_&QYP%ABn?=9qQEA(66MT>#o zZHQ|-U?=Q%Z3Lh!cD|}F@7|$1HX@vTNYlPk`trfW0N5Xd`$5Ei@B@9h75-b_(j9Ls z)Rzyn06>4ZNnd^&aUKQzQJ9Y+y+===C2awKw&fr&%Huuc6Loj_*lyji1@>D&a~$P! z9AO_v-rq+#y?;tyTY<1ozc3Ruo10$GkU@yePuPmcpi3Z zPC|bI`d#|U+Qs_HI{0mV3wSBaNc*k>`pWvoePzQs0PrhY^_7k9 z=_{|T)E)a?(^p_xj-_5uLCZWDUY>znkoMf>%ob)Z3gUfG1SY(g*Ij5Kb3 zQFrV|4|@}Ncmwfnc|l)!3-~SMr{zt3W!p=-;{f8`zDQr$f%tar(O32$y?Zz6j@DQ8 zm3;_jKWGkten0Yi0DcZ2tOM`sE3|w21AXN%IK-iy`pS`)0m#eIcL56l$lFn*{~g44 zS2pXbtC|2C^wsB&>#J*5>yG35fVTs`r?0MG4gmf7L;C6q@cZH_ z-Em?gIL$V|DSdTAtG@bbv+nrdguc`S4z%%zzPbtVZ+cT--Mk8RNDtcorG?A%rA0{3 zmbLooTWj>yt!wn9#as2&?XcUiPG8-*S6^Ck5L^vu*^M;sUZ*du0H-{NJRMvK{Z4)L z@C*9VDsb1sNc&;$ml_C5!c?=GDOHUwe+CtuN8nPQ9Tot>3G!ty&L&+p5j_@~XqYhXBMU z^|jSI0NeGoHJkOd=eO!>YxhG>47YVV^|ke{!2U((R{_=lHt9<*A7__re7tw{f?$jesr#TVY!mtH@mFKxugu?IAJk}pp}uxx zBSw{X^|g0b>uc|v0B+US-hWA7JMo^rj(&W7@gaSE$$G#>eSHP&R=)yxRbO9uLSJ8Z zOkZ!_ps&A-`rSeNuD-N$hrYfMyyu;__4Q4to81@>c4IVp6Jx_3*tM(%?AF(}zNIhi zJFKr`)V#i9r@p>(5ddjDxK>}^_kzBDs7YTxjIrhLTEKpN{pe0$#D5%lI{LD{{yyRc zf4Y8RDPSD{b|>CX~BXe6Qe!u*Fr@{(n{&_o9j)7~FD5 zaOGp)G3IkW|DM6^KNH;a+_#On@{HilUkI)!dd%2Y6be4)a5pjgwpEGy6N1mx));fq zKruHD65P^5@adj{eb(GuD&|g$D<+A#y_aBbAHkT5!=% zEFLe|JHeWNEV%Pt!D;siZn5?)Ul()hWJ@<+aPtF}?m@xhpSJc>to_5*{ET(~rr?T4 zth-Hr>m)IszF)9!n&9z|3T|o=eC`K=+aD9$vOw_Z>DIkcaHma2YqfQ+5uEm{;1*jx z6*eE%U^K(6x$k^a z?&k&zE*jlv%&lVtSCq*()AFKVk8w>)%dl8kTxfBw#oFTT77w)eHj6VY&ayb&;v9=B zCM`0$_NjtfCJH`1L9lPLO`pXL7B^emYVkRXJ1s7HL;U$HuCTbl;%19mo%^q4oT(Tf z?b!GAT9dA#5lC7g^k1 zAm-K_!D-zDpUW5Qv*Db!;hb}3OW*GNS^IVyPo?$WY{NTk<7v0?Hh3lc)87#6eL!%N z#qAc4e^BgOEKYk!%#{|OcIK~%{b`H6U$@~|+-~vs$u>NT(`@{e7FXPMx`wk7o^Rz`V{Wmyd5W0Z|5|Xx-w5`;CHVA4!JRFF+kYzf+#bP| z+bo`D@iDS-6^>F_kz8D5M23glPQOaHG(Uj7u@-d;Fj+RZnZe=sF;f^PJ7Do zmHC2OX9*rZU~(FN?Y#u2^|rW=;O0ufr+;y;p*vmjO@o^s`I^CuZ8LH%Y&1 zu9W)hTq^SExy8b#D(4Gss1e*$xWM=y|5Gua-Z9OXEA|NXZMWtnQ;ofM$|DA!{yVYn zJSn*4l*Q*IeVxn1-0-o*e=m6aUkdiUF8JJT>%LX6cbj#$xTwXtTYS!9-xjfNwz$*c zinqkR)#4%>?syws^JGb1QMTl#!QnqizMAe6`=%{|E1nbF{Cjb4`Dbgs+otoo7Jtv; z?+8A9-(O03JtX+tmA^3N%5RFf!Q#$G#N7FH!7bkq-1Mr@w|-sl_^%1}g~fgRT|bfV z&;MA$?IY&S!Q$Sko;CL8`da&)LRSbd~>2=o-!m_D&PJibn-Eoqf*4)A~JYz9i<#DPm5u`EF>H{8c3GTGGC0ooDIf9FFt=Wcu?p{l8^VvRM^3{Hy z&F6QlxmvLAQNb;<1h@X!y3e)l4_W)i1Xuo0a790f=k(8{ep-Gf`S!W;=ws7WB)H|T zq#Qa=3-+CT%#>@<8!9_KK+bwRc z7jtWa;B&Qt$3G#sp-QlKro~TMJWFue9KkJhf_*atkFU1)$JYLFnWuMdooLcov0ZSh z#Z4A_E%rTgpP}>q^(2EUEp9z6=Au)A+qX$L-baLgHatDv(6`JL?6YQ{HMhPX{#xe? zZm_uXl9;_82=>hrJbsacbMAoPqOF2k_6n}pD0I!wOFD`y_BPx6y)5pX7W-bY^c%$e z+yV)wbB^FNo8F?Q#O(E2x(!ku=l)Xs`~El~jla&Hh`Hh~Y`E6F(%QE!6aUS>vUJ-8 zkG~+{on9*L73;*_`;5d})F`<1q}UfV3$C=dsY=@2xgQ8_zemcy)rMbW^VMSUc#A77 zZnD^GanWpvuifG%iz_dP{W*)h*1ln~q`T=2Nmu(0!KbUmzViXWz6&;87W*!Wx#9m3 zeEK^=*KG6MJWt{qe@()xSSapk7B~M^%Dv&o*56v88^1upOUo2{?^c_xsbW6;Q}Nf5 zA?03CF1X=gYyO7d*306r$+pL$x5V6O+igXbjrV@Rt+u^1yY_S1#&65RXK`Akwf_f+ zr|EwR?);Nr-*Q{dDR{zMjTk<>P|A*914OxAwCHpMFws>t(^` zW(aQhx$w`*UkdL0P;l$)A4<3%iriH6vfwmp_Wje-#@+Wv!RIcE`{{oX+&r@hMy!$=Ls`K3F5E}g^#roolJvm7iej4(eSxi1~Brar7(`{^(ABw5Q(K!$3X5&qHL? zo3ulrJ{3sAAMH#VKw_z98rU|Rp1p{A<~PTNNx%9wu{Uv98s?XgJNgH#J^iMwPlm~Q zCyk-EdWMr_{ZgOiPoV)Z>1ogPA?i)Ote)jil%j_=5xxtPX>j>6Wz|h+Xn&`rXE=B+ zD-l;(ndoWHw#|51K1{dMGa=M7ZQAM$O-h-=$vOOg+PP`6W$nOGA71Sw~MohRJgMHh_B8&j$d~FfV=jBhaFl>fNzfMn@45Y!O+39It44^&zru|9u3_lBwj=m?%PM-%t z>J1Gdpq}Bd+?+l0Pd(G%^rUzF$i#)V$MmtBMgd4q`$8K&{W-r3-?bmsscRebQWM~-X9RQ|}V+DWCZ&nHonookB4UIG=?|(?zyL2)Q9t6lR z(M1z^XI!3plHt2DVSe-BiDs5zYJI_I;v!AjHzC=FdpyNH3zjYou3wX$agm-pm}Nv70_)My=Rxmi;AHF> zZ==<-JkdOjJ@urgU()om_RO~n-{czvq#-@Q#g*ER?zC;2?ylWZ@5+klXB^J&Z7F>O z*2bQ0u01e*moMsFybQRsAMlRg&~&K^b+mkHm-Yx2@V z?2UdK1!!1_!L-(zW54$j`>3l@%^ZVZQ*aZt~+neqZ=nq6Jf&ea|DPUfLL zH5?WS!(kgJgd_E)96&@p>F)wC4Xj`OXwNXRtY7L~+haH`{q*bF3G?FWi~b#Nr(f6J zNW;1?w9u!au^KyQZ-<6@2|p)cp9P(x$Gbd6&oa?JJ8kp~pA?QpBlXnNo(lEMZ;p+Z z;p62>W6$*814l=b74;cC(@#M;5l%s&(bJs9w^e~mIH&>Y4cPD*S6X?wv12$M{L$T{ z6NN%O! z;?1z-W6Be5q+!00#bh{{c$d}Mn|g(wX`YapPEa_S40JH+2_6U*#Lge}^m~`}Yw~XO zrabQ{F!Z#~12O5DN46#E4cL02o_*P1=(GCuGI~?*mX>> zB$Htp`s{3@XL?LJEKV!KBSz5EuS*+}lBjFi8#iG3Wmu$VIlHo;dpC4A7fwGEN+MpB zZ2x$!G-2;S1(Sx5g#Z%t7|W<Y9GDQtF}$ zKk-PtFfS}ShGWVHg8=n}G>_zq>Fk|So_%`tNzhQvBrR!D`9@k{GR<%@G)%Kg56c5j zlqJG(WhME-BV=$ld56$LJ<~>h?(B&Z_O^~p8QZ?b^z;GKaWsy{GOzr(a5#WC8p_Yq zi#erUQh0CSoXQ0Kqf z0Mn%2lnE>xoon07J8K|eZ+X5c&+=qlbKED5X*0P}&WzWkgY>RX(GJyU=uJ4bF6ci^ zOJ6W$4hz~b99IrZr;Cez`&b&OBPkO@Ut4SZlHQdG!!mTh^h;{mu}dou5M z3eULFJ`aDSWB9r-Sq_D0Otd%UX89+>PxJgk!fzo2GSWyIl04Rx3DcjNPS<`+8?)_! z{_!-p35R;Tcxv<}t^orQ`Ya@n?uI5)=ovP{q8-!k#&_n+gT_RAlSf;pq+yz9&+y%t zYy9R*IT$~waoIM*JodC{re5-F%Pl1@baC-=eT;fS*S;@yOk0)>-=qPAq-7diI!Qxm zj`oa`vbWQ_vZa{?O)T{H7`?GiPs$sG-K36~_b%m@FFeGA?-^(On)HC9Fbu{+;hTOq zPoAq3J(nWfY<7H(WPj`xxV&)+BPxsE{^Qy$Pz&$OkMryH+L zI&EDrk3Cc9)6ykgldt^bm@73P>whDrNZm26es_uNVaf!Ozl)dQQcrw)cL|ea?)tS! zr{%HKyL=gccI=~lTH1_czHC{UG{c4An|k!%fnw;H2FDv|h7gwU>v*8a7Z!<}U(S`B z-jx;Wk0nQYf+vMOtCz^VrVR0+2f8yot5+w(>1X|#^0#?mI%y`oNdwe`9!!LK(q!T< zVc#uT7fv29VWjXA$G1(n+45mIxN@d_TG}5>m?mE~J)~hg$#_N2e7SaL(y5babNrKj zot(@%DzsrrnIw58UYj@Jn|eeoYy4o_d#h z>#et{tE>BTCwr*-z~*~Q*6N!4Mw$sC-|$S=>J(`!cX8FGF%QQN(ZAr2^A7TnLDt$O z)e9Vb4gQERc;c97I#a#iiS|O4cH-OHqS8N*#u>`&9$jrb_=j^+_|ems&nGn+L_X)g zq~TY0w6wKXnjczu$$s?r${_4u-EPN2oFCsdQhzr;C;O>Ok&cPT-44EuO)wq^PoE3$K2DMY97ba@<-W^Fw3 zsY8^D9g*&nql1U@ebU$y$58BvmlxYx zS@=oQXG>FdBOT*RPu3QUCeW!@EA>ap)#<6_qhHNvX=J0ndpo!+@;Hfac%~;`Axnfu ze(q1PSU$AyIkLTbcx<3Q>PWo?l79H(ToNAhwZ5@A&IQm@^teBEI_n`Yf_1ZEzlojnqcS#N3aviiXDk`4rB#)hnN`DmU_X)3p-P z$i_N=*`@_D@@-G?Lw=_|$&is?~Te{)rbog^t(ocSjW7I3g5Yw5R zPhm0TTKwo=*jA+TBQTDR{P3aYyH6-L=H8SWV>>)iuK8A_;1BAkwT0eDbF3-TGCI;6 zk4Uo@%}(P-Kk-)P_cW%E#)i1gqUzZ>Dfz^yY*6bZJt`hsxc*WUpI8$4I<{&RhcVJO z^09M{KIF4r`d;m%Ip0MuJd|4$Cs@8t$?RG%`P985*^i#atXV_koBgXsSD*(wPu3p% zBI@kT%T=qG&F0S)qpLF>v!Ay8rmP^}Y|u>xq^-Uw-|Ox?=%Fp(VJ|v*n<2|s7irdk zBc1!1zDd5-CF5b7C*R^hug9TYj9cd?9xz0{@%c^K;m4k0uz|SQzjnlVkiAkn`5vp4 z{mL<)P~Wz?H2baX@X1+87I{7JdY~+8pfMWhKCQ)(HXgMm-;@-1xmM^ui$JAzA#am`G`h))j@u81;Y0avGe7C>yo6b|r=jbU$ zi+kXQk8ztc`F$x?(bJn^-g)#IBjpiqt>caxCvEN6-N6*d{5DJTE_jKtBQrZ&ciwqN z$*%?|(^?xLjf_IcY)ihfG&EJ-`jM5T+Lp47ruiA0^SDyD84vcy7zGdWr6@}UT5RBF zo%&e5m8J76Y$4uaOaRLz#$$C)F>m(B8_2Oszu8Q=T3|I_SzVGpO@DK;@tXfze{(sp zcMlECf(}3PG0J4zyHc6t+t{UV(#Q_zT$Qx-Q=Ko6rd*D*!C$Q2c5U$VYC=HTXsUUc z?qt^NvYPOj{pjq~K@l79&p)-7{9Qhtz$2TC-|Dhxk@2W_oK@;!4u-7xs-w$d)yJQs zw;|v8oyT;pUSZ>H@_DI;`F7azwB(S5ALC2?jZTXz^Z(%7;WA&>kC3HJ7i*9FMt8T) zJiLy5sww%%QWj}%Yws84+jJ~8c?DMR7sE4c+%`Yx&6APetwkBq$N&t(AIw zcG6#*bN0EUz1{UzMWx}NtTi9f#-GYEneHw-_Q9hN&`|8-+j4yee=%c$jl;sIh5{bjnCJJZte$9PD+ zIPZX;z3B1dpyz8aB}==yW+khO0VTgqyh&59<;#oZr11e8Y4pUrlyb@8o3Z^+?V(2w zERO|!ciy=xnmt?=iMr(hYd!&4p z2&|7_8+y!#VkFJ3sI)jIpLmM0w9ZqG100KkpEVZJ@Uw1E@~eR08PEke((aRNzMaNc z>Y{cr|HCKs7Gw0~m@A@R*Rst9d>(CzENe$mmO`ntp%@&tG<7dJtJu~#h#fbX&qtqv zC*qv4rl;}K{FdhGrbllmq%12pji1=ro5mLEDACgXt-@iOa?3ubY|BrvWIl&a2i0;O z)hmn0vvy4U*w&{7Bl682DIjg}Fn7A8Jszs@Ut?XxFZIwF^N}IVF$i7gVQ)MHw)rl_S(uJMI_URGJkCOzio?uj+%$3Lvc z!2^z%B!569M!uk>DL0OT*b{X4lQmm-NH2D3#bUd_i2HzEK3&=Nt^#$t$&iH9?>7cYP+)ChlNYo{$4vz z!A{o6$)_GMX8>!4T#iNZu-Q-kK+$D$PGq^}i=E7+>9eF6AI?u{?5Cb(xjKO)4WDA8 zEVpRPu{j<#grBWm3l>;kfS*wSS^U>~%7$_Bhz;r->9dkQ;c4%`Et?x4Pt4f2()}tV zbhb8b94Bq<)zMw@>+P(@W3+S}p*#u>*}hGiOx9v%pnH&f{KFbGY4$?*Aw<5ql=;*6 zlOF1;Q;L$mZCeX-qc>^pRP9h-xjj0g_4Gcz8~p0zPN9z{xxr2VZOo+jcLYDd*WPV&Cg9=N5V#( zo15P(UoBkns5J7ZU&vD5nKNAn`Dbc}pBN+N;iq1&(keLlv{(1;yW9MeG;6cuqeq9_ za%|KoYZO*uuLoF341$^eKw8lW@l<6(s4dTS`{eu1510-`ic1}&EyYn=96ZRDgoX5 z!bfcUr@dlKroOARht23EZRJUjZ)>kPbLW{kv{O_ zSM?(sXRv3n3bS&QR?1}I(IMLMu_eX|<5OKi&(cMUOh5M1mne(x?X{OWJGw09X*yB^Q8v^rk!6#dmY>h{Z)S-!<&@|DGE(t`|Vs(f2}P4V+z{BxG}(5dq* z^MmYalD2n zj{Bxp!4*7lUSs;34eR4(Tbj3+Z_}Ev@#xGx%8I!eJTs>jQ$y!^VJk=95yS9k%5Q6c zroT%ITgo#1X})3kYOautI)bIKiYtYClqENpby;4FSemw5jYQgu0Uz7JaXjTbcdKp| zBM+a)`5JoRBHw(gIEk|OCLf!LpU58;CQZ4AYKI3*XCrOxrAcJy%;z>SpQkJh#8$4! z>eM#)i$NbV@sI8;ui~ep+tzRx57$cwe(F*jd(2U!&7bKw4lXA5mDfgR$N^#VxJb~k z6FW-T4xjUor>T9}e;JdJrQBN+zqRkEul1SzP4DkkcR8ZeDc89^++(Ahm1*)t#~?Y- z&31jWfsIpxNZ=GJCI+2)UwP&G3FlItnFoB(*=Z*>(q^O9GXkTiZ<6OiH-FjcdZkY( zT}g7x_W+Z>gpnzVx$~Hdk!IJLy+$QZV;^m;uc~}S5E;QAbp~S(w4ftz!uk&W?kuKE zmI-B|oBchyX*A>4xu#VRdE?i-BIpPvb4|a=H(PySKm4r81i#Chxbd4mIPuhmexuA8 zE=CeI{-$nnOqlZ2{+3`zE@{Hyb*lxxQ3)b6{zIQ#T4Hx|PX*l&}$`1U=Ba zW&KzX`ny%7 zJ-R-+Ea|g`+;+zHfsNBo2g~wwIfEr^!+h)B_VMu?>zq!|=p=OcfGJOjbslEbru^hz z`;PixE&^coqN8gVJ4ky){2VGUVcS=G39BQiCf96ywpDC*07i1fD*wdO4TuJdEUI0 zy)(9*$#1noUf!(x(+mi@qS3BVfngj@0}>efizln|aksp(-xL?8pL3$vLLbLRHZb;D zH-cQpOhUPWtf zRKjmq_i+R!q4n6dc!b6VKQ`t5M}OYl?vIzfLAR`x`l%g!VZR-46NcZt<#aQoQH@8) z*a2Ao!(JVyZA1aXFMpeg(66NhyR;enQ*{4&^bfCpgP%&9KC@r_jePjANApppAtheA zaN$T`%FD-V(>G~y|7hYj`?KSV)vsn>>fWZGGUb2)dGi<{LSikihMe}8{HJ^CfVqJ#FKQC`Y69OWePvnGJeCljwM*)V#@BIGvH{X`z@%Mnv#hLSA z3-#;c%_5_|_^X$jRT4jR-IG(=W92!l^eHp+d3~$+ zKt4adV~5*R`3rkPp7JL*?C@6Aw|`O_UDqPp?2%K;{$>OflIu(6nm#JV^dacj%eopH zwwk?Jf5%>hUm1VU6~ATq(2Lb;?TBMEa7RNc39buznm(CsZ*T9=@I$Bk;HQ11-3owi z@mtKD%QG(mujPh?gvnFqZi}bfpI#oT3aM`T7Ts!$Y_g~H2mZ0fPyALt^>-$W@LR>@ zZ{$MWwK>NA)SMaJ)EkDb<9XRX(a|jw_EDa$xmbfldE8%uAHWv>S~m)Qw{`13L^8VB zC*$A?c{!P+{ez$5O|(CFvaZDj-Sl_$np+UEcUzz}+oBFplZXDmJZ*cfe$r7jGqO_lL+VGF*(}389b+1~qC;A${ z`qeLgmGoJejcR@Xy_ndtVwa4bP6wL zA5ZOY44*tup6{8xS$QVk(P_nme?IoHiQ;2P-snv&f@hfXnYMWG;l3(A-E)Eve5|dY z2W*Dvn=R;^z62dZ=FFMJ?e#`C`x{+n2R}FspGK!Xt-J5ODkLF!p0^_|xjsuLbi&N56)vGTw27 zbm^Dit`D8cE5|$JwSH3i1AAMet5)gf1Z90SKelE@mP9JPv~SM^3)lN5!cIlh) zCTI3r`=dInGnA*pLus$;tJbTqCHJ2x>d}oV$`AdVy^;^M@;f@q z^Dnc%vF{dP0&qVvsvl^c6&R@ z@!HBu2Mp-6MBl0v`URcy8@)E4OWnitS;^;|cfQz5`{W^WTWMd5JEb$au7L-?+cTL* z5}CY3!e~=>cjWvY17Tmj-sSvN`&)h0gnYw~eH?G~RqD@=|5koKzm{}5I4uttzqQxI z#h-{jFI&WRT`N*Jq4_gEMpqqpXis_j*EK_#^D2 z{`q{w+M~r3*X8lA8q35e&k`OUReePdeP*9#z|?~@ds=?3_^tJwX7y`T^Bv@f-_U3N z=&$@^<=fex%NxCCQrX^M+Mf){25a(W%?vjGOyVg}S@}L)tN2-K*q1>0Cq#ij!E`$x*4v2)ByeP=++h8 z0p}QdQu7!co}w`_#0ez4^qZAFN>uh1J@&(Kc#VIg$0pptKP!!3Q6BoS13LBjnR}_U zcbeUGTiH|eblG?l@*2HtgaTXqH0&`)R<`-Ob5z2VW1~g#4|>khRp_W6<8rI`f|(WdeSgDi2+t1M zV?#eYdj5s|(5kdsb_^&4bMtl2CJeqj88cY|*B7L$5^nenT?+4(yB80OJjwJ&Xq zT&Z8mIADOu_d7S7pZeP5FY%i{Ta)w)MCZqj*pN5+lzuZ1Oda*lhCu3$K7Q*=JxYH4 z;E*(XYVSg~F_l=$e>NUf`g}x1A9d;VRx{sn;6Jn&)Bj99ozMh7&#enO_NBvFSsvGu z2*4{j^$*2J|V+^xLj?xLcIQp706smQMWvjEsg8yKw|eePg@~9P2}Yi$SgL zNU+4sp8mO+eNtiL3w2@MAksQ6n8R=7Dd3pGf-%&4r(^OIY-T2D^GBK=AWMC`wK9Ea zd^TCpi({DZ~ zz!3Iw^%c9o$jA8}^2EC>{^%Rua@~mMf3U$151ln^r~a`%6Lc@V;)&~D(CM$lJX@5v zSm{ODDbFsX=ytUmQW@|RO}|eUd3a)c08_rYW6_eMz~(RIFkwN~Cd%^14XRkl-|EpB ztz+z|$1}@0_!)V=3wz>YC9l;b>tEPHOPG!NMnAhIY%}L9^t91*`wF~apUubQq`)bB zOL?x}(k{@E=klldS!wDsJw-yqr`X&+!lH^YN4MB>4Hp!6*p% zyng0yU4Z9`C3NF4Z@8_*UteY)vYL9CU`;@HcsshX&G)-FEb2Kl2y1pce}k?z?iN z!tv}J=oXKyqHlVNH}j=_?nJ$zd;K*a$na9%$eQ^}6W!z+Q>W7>OMQ*T^iCN9#_s9U zy#Ydgc&;|(<2yaJSN+#owUSqgXYz)8aXeeqK65hvp+C;Av7K?lIos^f&lVlS^Z)cu z{m_lL4g2&v)RiotNBPsIPdAakx&O^_PJog;`Ze3qUH_FnwZ2_2fJXbQw!7|}j{jP^ z*P0c|(4QYqkdei@E8Xdg2dvNY4ZoGI_1TCAYY(me&DH@c=o$~~1O#mQ()ke>J^ESZ z05{E-bYEUA?V-M6E3tlK+L|)%y70H;A(#EfM#m=PqTsXs(j5?r|Xt7qnkg5^rJZ~U`KhfrHq%-K9zxew8xbl*8L6pc<6D9 zJbo;CC))*;(8mv*x>A3kJmLji?6e=xrep&XFaGO*%AU2Wxnk(p^cTHTkU&5A*vJO9 z`sld_5&!1@Id-~h^u%lRqddmj(11Mr#R5I8MT}r8uXA#FkFAv_8hWDqs0`ll_%-~oeX&f)<>47nKr_c8?e<`e^ZVTE zLo311p;&V&fj;yO6xTMcP4-Yf#z**qzRJxh?d5tY?GpCfRD8a;UKsu4sRX-Y32bG0 zI2$eMkA7&$UZ7#xsqePiZri-svH5?-)WMifgKd39jL4h4=>iy-y=aaWIs+={WYH$j z(63}!p4qF*^`=KO{DIc}^dElO$L`k>0~mYlE9p1;bTwgU-04=n#!K##Ce3bz>6^09 ze}X>fg=Y2f+gVGx*_7yJZ#rPX@A2FO^_Y|NOx73N$eB#vBrQlvgzS7w;wvo%+vD z9)WKD>zS*kG&?`vmr9!c!M`&6J|&qD1Bv_m7$j8AEgXKzL5w5#URlaUMgXpx}D z_ybP$!+g_k{$_lXBIFsLe75A+`?#{< z4{|GcDM1gs_;=vcQ{QmP2FLg_){mgO{kp$J0DJH+V-s6Rm({U8fV|I6olbqcPE~n@ z9zYrVrr($AOM7%W)fhjyDv$H`sBid!49ce->g=`Sd7~#^Z!0?I+7(3jEnf69N%SC# zpRQb_f7*hs^C5FEn7!y-*y8+-`qOY6OW48QKS(*R`>SgTd?BB@mtn7O!{!qqPaESS zF#feZoZ;iVmZiLopFDEaFfwWSW7zzm30btS+27S;zuzEDIm}-vD9YC_ZdzLf0=u`f z`sg8I`SCBt%cx(mYVGLWnvWrm{oB|GUdhv+uopUY)vv|6C)5zg;}0pfE*<3`2a7i7 z*8jDDK!w1m{TkemRF{m_ow4HF2|RRmHkC=v_4gQfiAC8v?i8=grflC=C-u#K< zmA!F44*E@BYwj@TyJ1hE-(z3^82{z*2&NqV!822PetwLMuJ^21xof4*#+&3{i)RG~ z_9Gw1Zp6Z#e7(!~^?Nq_03Cl8&E*S=k%~Vb-`rpNuRrYc`NCGDOdcJ!{3tr*(=T~e z7aKH^EbfqIhe!X*`3&V-8Tt-?$M_!QU71$l!1&*6)_3UF1kc8IbaQe69@d}Hh zTrZ&gC->-q0IC#p`0e%#CBRmm+BfD?Q9cSoAH6#;->JKo`gH!*4{zwpk5~Be%rj5l zu%84&ALBniMx!iWuYuz2L%&;U$oZkDeQgPgH1_KO+#FuY_MEC#h;>QgXTA1yiOx9v zbjQ>BpO^2l_}==Hes9%zny2xXQVp(mLi1SI{N2UBecrIqr_FA1M@%VS47_CQ&_fMl zpIr}8a6pG&{;=^6Z2pxuS%C;_R1tz-4KUmRo*h{)SL3e6}r)xM+AVSAp ziw5}{%)V*UrVX?kX)m7($X-4%tczE+-~-+K%j&t-i~~!?{=nW+J)OOKx<2FYnbc~^ z(V^eU7cbcSHD|alw@<_U>gMeg9oyL8XV-S_xygRyhxMa*o=gG_dx^iOkJ+R3MQ)%8 zx>#%jn|=HUSDgS1KhGCsJ{#D=OB%uEAFaR9LSVC>)k8&GiS7D?+e4nkyZR7m_n(~G zoMM>r2G(dBU0ce}v>TXh3C`*xt8_x+<-31ZjS|P`1M7ZXJz;h<)8F6IrxOI|?8VUR zc|+;|q`iG*Q}UnD^)#u*2B%wl>vlAr@dnMx8?DN-c<<}g_>;4lhXqWsOH*Or?xY027#C$OLHP#IFYlaTC`j5-2DCs@L zq}Ky z*!Mgf9Icn z{;8*?<0o{zUqokcZZCnL-?wP<@qqf#|M|sU=$m=$vBw^B%&~^?UtT^u+;QF-KF{dU zcH}~{_yuSSTr?N#uuHNZIy)P5^RKRNF`oompo*6#1cT8}v_$=_VHHh$m-0Q6y7c-0 z!?Z`vpX8P6bn2t_F^5Hs|4Gv~_X!fk0YW%P|B!07BY5asfe91Gc*}(2k(bIUC>PwxC4v%(KDdX?x zZ1iUHmtsTPT>_%Z)Tcjz~tbR@Joy*Rs6+{wZAF0=vCf?D0U}!YsZh-wM|^H0;xJ677}~Fm(JurJ;pB zWf-RZBEw<6>(Ja;x_&qm zc$ncp<_EU^E?(qWH;(lJFz2&3wr*_fQtVQeU-S;1#)%hn?87zZuZ8?=1T@+E6K93=R%W-DX;eF_$?Zvb0y{ZrVmy?1p??@7daT zfhmO9>o$4$q;;v$wy?Lacz0t$A29P|q7Ih^oo9ElQ670jquNDhG|8XMuI41I_|jJV zZqm0$%-`@7n_=$Q6%Zj(A{?(#qS$lAL}2@j`{jQi9H+9>5ogy z+mHI;#lN)vV%NB!uPVOM_)79G*k!6~=oSI#c{tE^Oc6)0e}yN>^HhNP z(H|I|6th;o`|qV)FVz*L(6^i`m|C<6d{bko$$@R6qo{vjV5|9;_*MM%^TrAEyDeJ3 z8XO#f-{)FIv2SB9^C$LCGR~@fwZ1+&S5H+!-t;x5&gv6)U}jqk0$_G|sB!U$7k`K} z^(jtx^BazT(OAi^>+5y{QC9vo4TUKD7C-vA48Pz6!=vWZf4gPH;u_3fRo^EE{yFf1 z)t5XueNw+F68fCq#~bV)NWBDJ>bspjIs#Z(;J)II#g^i+tiA4P-PPJ`{RN$NKbFo& zNV5+-@x)_Wwmh~4eZZ7{`|zi=znmQ9amDcxl^FaQKQ-D7+cQUeJb$9=QGKF5>t!Xp?Bq!m zTPbggb@EKmIls{Xt?Zuz#d{j>QU46OT1Y=Is_x;j{-nTyPJHE<`l5}93c9IR$bs4U zy`a8I|1O*oxf-Z~UQBt@^w`cqFmxn;|ir@+Rq>y`0t3(6Z-4`SR1{pX+GV9svX;z13r&7M=|$1{#c-k!)r z{6&3v{~jAL%5}il;6?|y{YYTzKNc-sf6CPG zr0dO-%HJfQpACNWl7OW8%(sf80kLh2r!)t*uecnudkxN(GQYF>z@xQH zPRT94T>n41pVbxTu#b3BIF$COmk$mM_FMhv??v&Pu8%!$XPtG{X=j~&TG-2ENoRZJ zAL>i^YJth(-TGHYW6e-8x-$56zn^~6JUgkf653(ba_ecDx@y$9+lrK@+g8zvIpQ`@m-=R5k z;DlpI{uTaUHcdYV zSN->evj6_*j z>f72&n=XMxeYm*IC$QJo&liZLh5GP6=#1XzMIU=nj6C&~;^teS<1hDI6+dx5Oq5^D z-EQwSslU-yeW}u9p)xl|4Uf-KP0fl)qXuwvcaa z7}vI8BN!f?I%qk_+lzXf-#F8rKMtK;+tA#(-N(c0RBOg5N;Aw|UgV)=` zGD~|l$qU#Q<*9~BcG&o8^_kLq(b$5*<}=iXckT_bDJ}5BAU3KB7JB)$~VZc6J74{w0e``R?N3#+Jsz zDBj+@K!LYa+e6axKJ7oa zx3|Pk*6>S&Uvf`H|GSLH`Cl$wxBRlAzo~|=$?y@Fi{iQQD-}P#HqJ4>rONRw8UJ^c-c5Vx2On0$r(}4u(jV1c zeAmkZU#I#8j{2N-*-(4^-qnszdv`k?dS^R+U&70!`!%xv==VAu%)_4!yxQ?D!mPFK ze@R83mC-K}?QJsetiHiEd#)XsYs{!d&|fe1h=duxhm~F<{zLC`{tpNrqdnw5sPtPz4|!za|L$hzhyJ3B z&UN*3v-*dd6Jb6K2rYA@g1@^$CGRHkJRu#Yj_9wf9^@%{^;i+^bftZ!oL(f$G?$% z!5{uP>=hONM|98#f1~fmI#A^Hov-@l_?8;(%lv`-fi?MiG!*GqrI z`|-ltYd_M}a60zyE_z=7wZeCN zs;cjIGCJ~?Wb)uoW|;C8i$AyTbMnWUQ<`Sa^`cYWA)j{tf%nh!gHNo{Usl7ftnr^; zqhFTMso$%#-*%bT2mK$a@!wg)|CPzZ|45Dgml}O*jm~df!k@@*t39tT$Df@3rJ6kR zhoEEsyR}C=qHl%vT;J(6{5Ii`hySt~{UbH{bv61|Gdktdzt8?;AK1U0_FUgiHTp|ybmmk!|64MQ{=ch;Eq|``@0!sm@3IWTe^t%i6NE!Q?e|gb z(LVIo1EoL4zZVH_5dQJFkC*oeGoR~u!22ioG3|$3IoH~d}_8dQ7qu-Tb%4a?t_U)_mHKNDyikGT!s$2rSy?sIHqZ8mA-dp_JqCl^VNF&CLU_9??}Qt==vqvAAXbT2fv{G$LCl0 zH^LXbt-|LCA9r?zHwa(*mJ0tt_O5$s<;QAx zqx|!Sxjui!-tDvp|F=Z@g!Zwwd;5G_Y3482pI_mB6TWex!Vd^Xe}sQ$+5bje-Q;|K zP`YW4gKzNpJ^08BPy0Xcz8PJ=G_>={kO%LV(Ps*uUc;}-@C?xx39r4z{S)oI`g4w< zvxXFO&b8hw`}gQ^|A3c>C;Bh=Lm7RG@Xxe|Kj|A!X^;4ZpX2j;p7;2w-(c)}v*}N|LS&*@$Xr*=Nl``d^yLTuHoNj_~Vk_ zPWtoqI#7Avdc@+WkEY0+o2ubJKB!d%yG)=*VBH{lL{O51sk+VJB61EaU$l(YL6)Xm9ZS zH9ST3<@EOozy7aYKKzG^Kk5&DRQrCP@bbXN)##VjmT6h;u-(ab|rp|@)jRA zr^Gu5=koN?h_6kealRABfAD^9k@W?HAwR<$)iTeJ5X3;X}oL?}d&z zc5{7W;cqMZIA03;U#B$VXV@41z4YQfv)|^PqQ~)owcT%I{9w*kLLQv!d!_KjqR+p6 zuIU4xEgbb97d~2e>;|WUIp5ln;eCXo{IKt;Z)|J&o>Sdsh#ut^l7B(*nBzs_3H*Z6 zjK6_ttAizf%a6SL(0|Ll?fB&T9J99fNAdsQXO8LX%%5KOX`dg0&l5ez%vW;E8byvL z$=c>5s#7VSBm`Bc~o{Ttfjd=>l&?XkYOQR#oG{LA`W-|@oCKVm)%{|BWn;tl*- z;ot{9nUzPZ?5I7~i@_Wt!k&|a&yfBzPV(}=9AAU~L}BLJaed)T;cX@VnQ8N^{mu}^ zzBr!*GariePxwD0yw?=xKV5jC@R@p~EXRBBt{J{xx?eAR`F%d0`5-jq-Sy`#;|CwE z{jy(G_}jvN&gjfHbAHxOa!h;Ycx{H?FI~*vLqGVJHT>rcb8I_Od-xNKze1k53FGMn zA8VQY|Ee^{*O>30t2FWaQaxfCf7~O?dSr|j7s@|-2uFLoSiGO?)H(c{ef@*6;@jHS zoaz`lKSuuN$rWCv`A+adKe~oLC;h>Htmq@cS8b}~AI-{pndq#~K68rG!SBv6`k&VR z@zb4tkkZUC-<9kI)1OYgzM{XihObbaga0tmo|69XFY;GupMQBJe^w@cxYB!yKl<0v z!pu*ff3Nc&EPTH9xL$dH(hrLMu@jt*{j_Jthy8jq{(V;X>mPDDbAPS}9{u_X?rn$f{OmHyxdzdWNO{~OVx{?Nap<6qAIi<&)usNtUo|Lhl)y_+)q zzmsm(n|^rHc{5RBaZXf!XFXj9==-PL9eW7Dxj>*gM@*19(;b}_e{+lX%W>y~fq#C|7 z!+%lwkQ#nv4d?!W|AZR-;u@wue&af?ANDX5 z7Chwgj4v-2{`zIkkH3eN7xe}2l;OvPS-+Y4C6~uPo3)2O!Fy?cLyzn05br$U_r20F z{%6fL=YK+Zf&W+O7iaW7$d$x+@piCux3qt=<>zBy z{W!Wj{)2B8|6`w<)pmTi^k1C+WukM8k9Yz9ua2LgAADmC_jGE_>3gmZ`t%ysYs*Xe zF{01z)qLoAKc56&)1&LvM|%0-ZTqV8N$?%wzxEXseV0kqd=UCN@t?S7MgMknB}re5SBJf%(*KxvF5kJr4`%wX=MwF4zf;J+{9@;4 zEv0v^)>yCd`hySKt{q>bfV%DH75|5Y7hPZRe@gXx^0)49r`}Z2r>Z@F^hkUETeqXr%laiu`8%nUJ`MG!y8MINx67~F zp&j4xldAkTFINBlp9;@kqF-!0QsF;|p5wDckNCl!2ZVEZJ({4nBePeRM$7A;@Ndup zb?(pWwo!jSp(^jC8sPHwJX<*T=c=h{p93rYw@BZ`4|x9we+?!317G?Z=MQ}E;&%Mt zgYEdW_h`?`Jf=fBBTEKKl%4&2}$uANcW4oPU8| zxv1(t;P(i}co^|=$D>t$`S~jsNeePcHw(k@o(wr~LERi>mV03CH^9ku!Jvh6e4FPQA-58yA>@K-Y& z<(<8w^9R1ShF>|e(x>6MxO`j3FIDI-_-jM&!(WHj+Bk;#-_`5ZHR}KHPhJR7RpRHlqD=+Wa8s^!kIsIbM zb9?`$_RsORg>(KtN&dC3sOoc(`fuQ`tA3n=y#8%Y2j3?7mHSut=QYfFS59YrJI8;h zVSWgd)A`|lj^CEmkMi%U(SKdT&(!cMRi9knB{lrP8vb+*|FwoM*La)j`=)UC6Z`J1 z(O;vy7oS!6>th;EbAMh|!{4akOKSMc8a}&*e^kS#)bLwt_=+0-Yz<#q!#C9M_iOl# zHT?D({!k77ME=SB`BKqyf9_qwyJVQPvg5S}Kj)?wsr~Q!mf!D7d%QvWjO2eEYV3aR z$F&eo|AqejEFKvvcGq|o#{3_}WKUJDF_UHC>c`)_KG3VF6-KU~|O*p4h=N!MF z_|NgLgjc<~lE?m_M}2!vbb8?TozRX?OLXj8qW1b9{RoBjpuW3mA6n^nH>K~;{+hRY zdx0761Bd>XU+Z*augU1d!ymO@ajMf7D!p9$E{{82sq}5yw;l82#}cL2XgoVNmA8}d z4%*+Vn?|t@{9WxIn&Vhgzv6#0e(=|YgCD$Fc!@HR9~36um*@o^;MGdsr}l~Z8~{!G zHzu4Pe2DhD6FyMsS>liSpzl)cp%30iRo=)KJ50Y$C5ta>ze6`gQJ$6}il3?z+%d)J z2Mb@IeW#B*-cRWpC4a)3EBx0CBfnYYPt`?{(8u`Lsf(uI6{4@ze&(oS+KcNuVej6; z+#eJ2(}iE9J?gJhaXni@^tZXa^w+;-bjqJ8dv^T1>pw_%NA1gXkf402w(IW?onF;< zp@hOdh3Zcf=?3R|x+@H?2_rQQ<4(@1RrPBjm)#lRv>v zPt}_0`@O!jm71z-50R{WUVo9(!DmR{!S8a++;#`yuwSAD>xbd*gOuJ|^w(Zmwa14t z`U0hYqdmr7FxSMR{fU=7B>&CJyguNUWtjfV{TR_c+X&O=e|ovwhd=(QJ>m<@dTQtg zUnCs<(bAUPzxk=py8J%E56hkMD-zV6?hANh@$JpQ{*d-#ud*;AQeFZ_Me)L+y57JRObe?NS<(zjIhb?GFS_NP5R zh5c!Kp}qd3{qj32{y*ycGx`JL(|;;{B7V`oO{NcgyUO2hzWW3Jy;$-1=Xblmkmo^W z;m;Qfzg2tK4}M(@AD!U?m41`<$p^ZA@UM+$R`wmN z^WnU`uGaZ-^l!%7mh=ZcMEF427vnwnUeUk)IoAi~oH)jR+V?);s4xBVCgErgHEqE? zZ_&S~?+-+O{P@bgUuNS!bk^V3CVw0ze1`UDKgOr0w8!{ygwj%9yzke3e|X@Y|91Qa z(M}XY^Xq=S9sIEjpC-Ia``_+#I(TJ<8GCou-uc~%uH}k0el=H#Pgi<@^uIwtO#Fj) z)c%Qk9KT-ah1%o%6#bvq9{QnE$DICZ>3iD`T^{~-)$l`^{127J{*VVBRKv$*n7Pa! zrLTC_{RL*c%Q17%n14cldq%%Y_zdmaHhq3{r_wiTf3~~A*9b@bp+7G9_&ora`(tnlItUnDyI&H3Mv z(UHHrhIv0hu1`~`HvB-1|I0P{Z)^2ykpHj+so&9{h!o$mSe`m9A8+|cTEkSP^{Z@H-^zR(=V35EOe_N!K@hR{`4Ug3D*azGB=X|6cuXv;5_o{6A)I~S7(;vOj z@q0v@sXfLgjz1f<$9(@?N{`8(kG{eA!8-}Be^Z6Ot@?yK^apGBwc?+g?1BCd#luL3 zpBDcYK3nPgFO5H;ANxNj{?LE9@N(^eU#B$pKPspa)!?o zendF*F_-u8O|5WXl9^@GLD>8ZLD^&lSpL=veAN;##{NVj+ zm^KM}pmY4n@!||q-oCZ+m~V%D(2uO)3E^BH^RK`WkEiY3UjHW(-c@D2NAlr6@PQd# zDNHwZ$vzbt(JS1NpU zhPjvIC&F?4;2_}xgv0(lg+C?yy2o4|{2#&>|G{zCKeVMCUt7Z?54Y1#?)CNgkbmOY zc6u?XoxY`~9bc8`{I=!&*!#50gTGS4+%vM>R;RBOojKb@JGwsbSsC72m^s*k-A)IO z3*Y^`%Y*-zVPflM>7Oyf`N6NuF#31a9{myeMUv0?KUBllCETlT4ZS=sj7=$jeiM0` zF;1F2Z%!X6_fb$MVtknrv}S;yE)ETN-W{cjSa@LvWjYpo9Tj;r0eLNZ6%b2Eb%>~}!G|!s~ zaa?08-`Xg*Tf6G-Pbp4$Uhbl0lk_AlWtq*I#;{o(NFWQJNt$(4ef7*RUh&c-yY#_! zY;(8cdTCW(J?c^~jK$|!UaQ4J2s2sSqDO9;Sy65$&*j$^e&(C!9BZ@Ztp%UP>v#l~ z)g$@EToGkZSXr@Dt{KpIz(~jFwEmn=SM!fJ=8Pj}M;`vI%O-cgVjFGFaZj7%1}uSn z*t}|0v$z> z2cO9{I=;8Vg60Svm~tVeGGNQ}b&Rh(<4g{7mPcF8;iiPNh0Qid+P{iV3VXNTd54QQCJLF`!rDtrv;es#K2+ z`1B@7kKV+S#vC0}Cd#H(g)O$FyvjahXroLU z1k_8O(=&0&o21?BlPYap939~!-$zmqvaS;-4=XEv>snv*ces{eem+^Ry|BnFA%D1hL`f$LLZhj^dwY< zTJmT=?u_n9-XM><-o#`)ZRAmoR)q8$nRi)=JSHuiv&06EHP&Q33c9CksO=&&^asBKk}%T-t=NMQPONfwiw-Yb>F0-5Bn(tzNIGX z@4!Hp@r{fQ&23C=&<pYHN!?N)wKu#6Nl279>g8$S9% zl%u5e@%j2*|9<^IIBnQW`Kf6wmptS--1+8Zkf(>O@`zS#RekjeTQ|?cG>ao~-k%(l2SAE(zD?@y8>} zv8O77v~oJojXr!(wOVCgUwX>K)c_I5nKHp(@hq=Lw^o;UH43pS5ka@`W)kR=u4b5;+v zrVEqjbs3L#elgiZ1ynFf6>wBu{TSiJj0vrEBR%Uo;r96vWjLl@djSeU-XzkfUrO-zl__L_p zD)OlBt&OE=Ja#^p6+tzhtLYegE-|WMroXwraM;%>e$(KyMde4{^2Sb$o$Oa?m9JWQ z!@6zbo@X}iVcVKL_HbDr!=BNbMV{AqmzVnwO^N&+yOk|^#>mFYHco7;%H>I2$LiPk zMwA_r}^f27HhIUB9K@n z*6nml;YOM~>w~h)W+2KWkFqsq)!Q62W!0pWJoKgUPpLLp4js0^M;k3HMv4WVRqE5L zXwo)R<;AQ^UP2a|u$O;$nmqiM=4MJ&|d3a&ZA0M^NTGcspk4a z9v>8q`6{%xv!%c%&+02(Si~QB0+>doZNcYxP6&N0eYI>Q%Jo_7Zh8EMvT%D+Y@Z%R}G56TkQKs4ZJ8k9O0hmrV2w6}kZzeI`5BQH+d? zP9GXvWqD;itZH628qwqxCuDzoVJ zgOZs@UW}cMV)f)*CpWlknEG2obEy|;l$hYBZ9bM1%@coDG=A{C171A_AAK<1v!GSt?uTz6XxkWKy&m-t;j5Ww}AN0!}cMkgSsrrIU)29Dm#(3HB zg_tWMOC9oK9(nj+lQ^TJlZVdr_8BY25~ht(U)7Aw?Q>g@^fP(nEWY&}Tj=X;^|pH4 zHC8wGXNS%P2OF$(Axr#esn}{kb;yfyd0&k-lXaUnr8cR2_4}gw;DfYGR~&Zq(H7}Z zU$5OdjqZNbOl?Gww!!D|;J=$8o0OeorSE=Y6y|=cC2hA2mLX57eenJUQ@J zH50Pbw^8iZ#b+$N>xedD8!KLXKyknUWxU9c&o1iK-)9!}hRwJxS}E+~IT=5+yXD=M zbUyLKDa}8f(tP|BF0)(vR%h%UyZCQyaZQ8I#roi98%r30)OWkOdM!?AOBvO{>ufr; zZ~-4WQ>qr8>ircTxjn_TnhlUg+3U6U6zlYVU0KF*&2(skZhgat zz8#7YeS8bqYmUY7ZYiAY!_Uy9e%2 zW8-`Jkvb_!+u-v!XcpVQZJB-z@(#1v{p@wUvvr60IgSg|xW9OH*_L*5aN+->+_lBp zf$924Ij;yepQ|+{P3ayPJ#DymF|8OIdF(MS8r ze_g}+s8I72dEQRmZQ!HLZ_@6Y_dMEH9D|F}A7#L+D_&FC3hiL>SEbKLF;e>AR9#i} zhJredRXR&_&`a~J=(e)4?1j{j8~(L&>*U8Scbz*CL~X;6r~Vcrezo0aSS8!R5s zWQCyvK4QTd5npMe9?ti;Ub{S5$L#)+uh6Be#^nCVoRuI;9JrJc+Q>t%rbhUSFUv!x zu2<|nI=VtvEp{Ibz9^TX;i={a+@;|C&W;OPieht7OeoXrO~;DgpVIu@Da}W!V+B;k zE9^%fW5hjl7JbvwEn-ppCR2FFF_cqj6casXvQBNW)Ym*o6S&4i!Rs-M>qUi?;%Y4T|^mD1d{IjE1BZ@Rrt zd#&ck8?P1@{GRWc8U;`D^nCoR*{7aD|B1%1p4i2jAa)Xm8lC$Frg*<&u>?KNKUcMy z=pNKea9nwj|5`l(z|ST8KlwhsE1~WF*1dY)qVrS3GjuMRZ=olSRS^@|llqH0&Yfp= zTEAPhYGt*#{l=fi^PZlc9Y@N5quhwA4tZOz=q|R%@nO%7cIThgq`ljf<>vimPoMOq zcK^%3GXu}6CI4pa9)94O51-h`_jXalHICJouhkdjRr#M%iCE+^?eXJrgszIeL+vr4 zdd;$!iFUN%9LBT-zZU#eB3>rtdXTw7nO8L4rw_V3pLQH5?rHJaZ2v3%VMR@Rg5UkA zc|*@fdamyIXwOv|s3_Otp`mA^-m2f%Ou$~+-)&Y{R$G3HHx25#8Wz1z7NLiJp*vc; zpVJ#={f(8C9->$0!42Jy+UQFBUhaf`llM+tA->e4!=IWbXhC&%Hp{Q<6x6LklSJLD zB>BiJkybw=M!V-z->t7i98olTi$#7~^RUwSN9F2oKmgM6foqK4Q(XWT};nt4e=Z;iX*E>v~ z+rqtgOV<}m*A+|0><2f()Rnkuw2iAPEnnTZC?YC=UBKaRA^3%E0m>tUz9$^$J@A;DhWcXo6Z*$bq+gQFIQBWe1yQeIddvk1)JX_e$ zsaM*xa^b5atW|20p8Xreu^juIA0Jtpc;|!1^kCC41O;f^#S``AdVw}r?VEh`By03V z((9YbJ-sN#UueAXg~p?rD1@EZkZ+N1!luNJ!I^(HFYe#6xc`yG{SPhfH$CW}EaP+o zO8vSIZSB6=)~w-fv^D0>6q}pZ7SF9Mezdl@MEVb||jh!RzYd*yiG{;x>JX)+72= zGd>`HW^rsYKF25(`GxLe;B$NHZ!MkyO}_VE-QuHj^3!y&?q-!uKI2kfad(5ycN=%v zH)9qwE(YmZD9uJw59j&%ZR{*gsl{S9&$*pV&6o}>4v;KO4L@~j&GpMlx~Et-70;a; z<&&zeh)JH38%Pp27UnG?`f|WhG2f?oE;aY{&+O>A@ zT)TEus4AE7gGS$1N8!z7xh>Po6>UL(2`aePlTfFFBe?R1ca(+B%~=A(o* z_q2N{*5;cUi5uFF(vF@qo^&kj=dQEw_nA)W(fhf5tZ;jX zTXv$!Bg*rg=XUvPkv?nWj}F}??qfF`y#@EUjA@~GK*;SGC=TtaK4V>x&(({0UGp?I zWR`f9@q4>?UHh5&OupChz1)_11lwjUiRh)^O1Yg8$wstxEXN0i2e#1_qgA;@2Yv}3 zksswY_3Pi3PF}yOJo1@)d5XGmPBp2thdET$D&8*9Ugv#uiLO{J(Iu-T7Kf3)QzjAi zql3HZJEVC_iU*Ik8CJ_ad!nyfL7N@g(XfwxNUsoSbdYEDwewqFgi}`OhtA!0+jUp& zk@ju3;MY7YKLK7@+2b=lbTH@R*lYSVzLg6-3~x)D0j7&GENG5QG`EfKa13=is~qu|uR!KqVc&7!_R zi`j^aJKk)w%7n-RNP1M*pdw4?v?`)7(cU3CX$F-{7`- z-(qYf8hwo&88&E)HEFydOB*$IooW61NvkQ&I=ZuitHhL-=8%W&)O__$%_DYd9==mk z=}KptLr|!V^5~<>b+X}~q8Jfoi#kw@a@SRVE{E(KJtgYrjXU+Zt+ClYZU?e>*X}v7 z#a7*XqC9LQt}WjiO8<@3Y(b}AA7M0ge<{msVUD@=a1j5;imf!9w(!|NG1m2xwvW?% zjN`~aO*v{$v`$kBTZnn<2*j6S#?zHfk=4IuX+32`&p&At6RH?>OY`6#-rw>4`#ZjO ze}sh5l381Zi)V(dfTB>^b<$^;l`hjL&#DO8@e8RWr_??#<8SYmDXA^$2bbm>U6(Y5 z^sE4HP3nMbI`1JY{Pu0-Mg6$@mrZj4ONwMNDVFx$%4ocg-VfoAB(d^*eD2U#H%3Vu z^v(3jmhob|YohzAZauZ5tD|e9jDY6j{e3>*iyyy(z1kh zThuhq(K_zXkSmIb;v-rKdZ8GHWx%BNqBW)r zZOHika3eljv^M{+tPVM`q~(O7N7>`TrC&}^X&Zz$=wpOL^El(br8tNuVsgL0&bIVIKSkRVA?j72|@6dznXyv)w zbLH06tL0`Su`?nX8ONF9O^?=-ugcqUesA0IO5UPEI~7jvCtuK%=czf`w`+HCyItFD z(yo2G_1blAXKLi03wx2+V$96U;!N90?K@%{F2~ckomswM4dM-cGxMhm%Yu-VpIyFo zK?D+aS=u}ohOxwc^Ph7|Y3t@*kI4*e`nmcz&Y!Xn%dCxDlRPmdGrHMN1AubRwE-M= zR1?)^Yund$gxZsN<;Px-RVo-wG41@KygPt5Nw@YXitmo+!(K!4)q}7bQ@}4ZO=)xq zr)Bz|Y?e~I$Qj>bZ{r7+d7`@7w#5TcE`*wjBfwfSXHMo(F8S~r=|)12x05PmZ&Q6= z#z&>NAgnOC6*A=QUw?hGK65+CXx5shsmC%Ok9nelSJ&Ni?rw^2Mhn!mS%1g%Ey>U{ z%@U4NG9Nd3+wRn!|6u#~Y->L5+t7sYmirsGKNL=I>OiybQGu`+1`7`jDihfsyN?d{ zPqouLWz?$Xe0&_lkN1BZf5`97-^Nx{D5KRt38|bY&#JnVirh2?TcOE*AOBURvdXls zGUwR;!d1#&;>Yn?1zeZKZqCjk7O?Iq-v69HNK}P_f@B>zs^{R zKC7VD#X4`z$8GPFj2WLX?U@IfG3af5X8o`HtfIk%AWP@|JP!Sb*gQ6ZVgDU_r0_Lj zTfU7Ei@1C!i{iW%^OLqeZ%omqcSU{dzPzgRr4FKK5JdOqiBqbZTv>GAc->dtC0X}# zb%M&9jS>tmh%{4EqY8=@XSZ~!1H20LvftHzycOg$n_vO5`Wp2cd(Mt`UpCOpW~XPP z%mi9Xjk!sQ@9IJ8gWRy(aDF@H#^grl*pkeKP4VmArx-Mg6<@$mq4~izgX;!&(CF4+ z8u4eT<&;0X|L!)`ZjiP4waIp`5_) zx13t`S&jMW_kHN`;<1sGZ4`+B!B539gTfn$bUCX@u z|ERfZ@CE$%1U2}s_^P|yi0fy>h?6Bl%-@HYFEvglyJTKuOrKVHrn+QW)icp7hc4f$ zKTl;ou0Nd^NwkZ^iD5Fcjb%SJsuWwzV8Rd3s(4T#u|KNpRQa3AE$R4dRrx@xPDBO+ z|CO>|;oGfsvp<1zzLxp8pJ2L2YLc#@6cidvdBF^=Yp`vb(kGj|;7AvL8SC0r=9T`M zr=q;$`Zhd>RpP%&_R(?Q5ZDpXJe$d}&v?d$U+oK7DQY^pKlti*i^a6+rM!f3Wdex1BG1varMJy^d{Vo2UZQVSMgo>t7BS1r?RN5b6I2A zlCoUcmYSweCccZG8sefey`Ih;I%lql_A{r$aoQG%3P#MjwI_`xP5S z^0x+f@_0>OC*7I}*ZwTaF3T>mzec{XE{aL+$N9Hlb7OydJ|45W*hzOIm;dZQ1#(hy zMRckFO6KGAA!W!`Wiu+wjEek>in( z+Qa;}hsH@1K3Bh(@*)mvE$di9CeP&&7GETe>Yg?rJYovfg=)pM=kx8g?Zz4@Zu(KI z(TlJ4V~i!OIvQ$!1>BHM{)_tu6mI@x)Yo6kJ@;a6sU0j7KaM|q_tXBNcVDTjal%|x z8|=$5YS<^c1he8ReRnoHch|3iUpD?3?m_&1X7jwu_LxB79hrCWqmuV5Xt2H3n<^?< zb`Ro-{Ku#RpHTG&ScQha_;LP2`wE#gS6!K_ZvC05{7e?(gd3=GhD@6U#4UP~$*hB3 zeA|)bPU_pdZtHXOQa*gwvP=Ed*rXYbdghh%zI;$Xc<-HV`#;LV1$^iEzRh-b`C8O0 z|F{P{Bi-==35ADbUguPS+>yePhi#4~@-Hvef(rSj6RAg6eMQaF98%dD#( zBGR#&=|-Gqcw<~_-csZoradrUMMg8LGJkh_)(Y!P!==wBcpTWDX(Rra6#r}-^=Imc ze?fp>18dK^p6@yPgbxVtW8eYcPakx9@CyG5eElC1JU+$WHN`(D#h;Mk^IBt`{C#5I z9^laa|EBngaL->1ZyMzHEEHDl>hZ>ebt!oIOt*)h@O=UPHCP>jiSVU_wWqO{KT~e; zd_t9SE&KO@59fXsSm`5tIk+YMv+z$|Cy^Hp%`Z;zg+u-WDZX&Xzca-b_WXCyzlUnvroVmJ_bA`mKPqH;_L0x^JSmvfYAPYz@H5NH1Khp!7a5T_(AC0 zjoRAq9*X{5=*UG0Rw4CxB0QawTFSimdmqOi63gfJa{SA|Jt1$OaQ^_yy!szLeT0=CL%eAUtM}^dll*?*QvN#? z{tTL~SFUh--U{oCDvwVBuOHYa9NI5=?OXforHOg%Q|s|5@HfGHsr-2w{DT7fh4%`u zHu2CIAzcr3^^b6E3Lijze)YhF-wS-*(FwkR3dF~U%r8jci&OZ*6y9c?=H?3l?uvb1 zLKj@>x)}H4cb(z25Ulj?2Jhq`Ji^BYSpNAO_e#~@s(ar=zLfpqf7b&45cmf}BTsYn zpRmYd@n&Pb^RA9Btny#H*5yyN<;Q{jp7_F31AH5p;}XoNi(OA$I1HcgW^3V}MSi*c z>{=UNlIJ)L^X~ivKSFw!3cuvHN8YEeFyBj?*|%?szh4S3$IQ6<68GK)d;i>tehReS zcaATtJe~h6kyrnq;f4fX5BC0Fh^*R-Lprpx;S-*e!lMXZsq~lpq4>8HU*UZp_gadd zBavBjUgAHsnI0=V>N6Jq<?4$WuL;|@p4xlgbxd_{67kk zf24%BgK92!?koHc5&r8pXlMDtzX$s>8D!tRP^s`s{y9vB@&C6JR{t^NKNVov-?0Vz z{|0X;^t;>I+w>Jy8{qLX=vPCf{3kvu2TG>z^YF*xAK!l#-WA+`oOACvu+IGU@gba} z|L3vf)v|@=6_cU)CyCG8P*>h%{yFf!cT4c#7RsOG)qg1!KJo8c3;&-j@D)E_5x%O4 zF1*6pL%&~)l~;0*FaN^wkN3ag3TWnj-;pctql9gL?stGyKYRZ8RSEx)HSp*Eknm4l z1Ak>;{^)?urdFn13-Kp@j_{O6cvI~!J>l9Y||IrY=jk>l( zC9TgwSH2{#K2jzX~4))SHl~K zOk-Q6D)kO{WA5JmE5VyX&#iL(SK*zZ^?yk4)yRkZ8^9s|;1qvKihq2{e$7|#=C4P8 zHu8UpNAkoQNc#Eu=_YV}V88Gdf&Ib_DZcvCq5Z0#9)8F5Kjoh4(`6gG_D=X+()8r* z68t{+n4u2K{`0Y~RQ{2F{|I^eg)f1;{lenVzEt|WjD4?QU0rKe-h}@No*LlADgNUr{>|XM8DEk*6Z2lXQ6t%d(i3;Y$>ullf5_{7gcrTEGZ>qEZ(=kf6ewYKs15xhRwzkoAwq*Q*w zGjiU7es%{<-%^5Vq6M+e`q#X`Rge3s?&SF zn_%^6J(m3E;OA#KzQ=QCIxPD&{#p5n%YVY_fFHa);kN?U-09pGzdg7CEccH9tGz1K ze>e^P3Gn@Rt?(l7@_Sr+rm{H<{Kj(SA~$xUo=DGIyIT8y#4Y7NpB};*PYkif0876TljO-gF%oe&KcDp9fa>4+g(LdhLB{GQM~e{A0l4 zPlSIgy}cmeS>e6mX)y-V(feS3hFKI3Bi!-Waf_;QFh0sm?HguhvU<(|eTO4%>| zbeQ}{93kHcmp@@f2OiXY+~vFkwcr*~g?zZ4!pcuM(yEbBV>q9wk{Qz^dkdXFGJg;mmgd64@@w_tvEc)bI8;e3GAm)%g$E_LxI+zq<_vLrrr zuGOt4xcs5AsCT|Uft5d$UwRO~uil;HpP}%5{tb8OH&%1f7G@Wek8y1* z@68Jz9GDlr9~|=K{#BPb`@~<6;@_6y&r9*I2>9wNj12g~qap8q;d@hj#m8nhIrqiC zCdI!c#lJYkzdXf%2mIhIiG9jXK7Kxx9@^<%7yrUvLK9;A4fW2Y(viODdZ47lK3n zrnn#C&A@}cPweYWctU<3aLE4#`;PuPkzWb+{U`b7{S^N{DgJ)FjJfuS&Nlp#zp)Gc z1*`oMzJ(4#WhUW2fd5v!o4EHP7Y@aw^&2PAmKx-HxPG)do*|2N0Jmi+%U<`)l6-1|I*zhfeF z$X}Vlf2Kknzflsu^V%fyg%rM1;4j}LvH!Fbp1zjwUDi8!|C4>!fc^W8@V+VjQ2}4& zX(Y6|uPaZ&qo5tw?MwMX{PzS^9SUk3l<6P>)u^ZHrRCmvrF z?hE$gtGk0Q#k?=S!i&M{RVV)WlKfOS+HVQ+t)7sh1H&VyeoRFH}iw?@o+dt`;*!L^2AODto z2e2Ri7Je|5zaB~DuV0bg^?#+(M7;`a5BdJ{ZkXQ)JmRWquEsnCZHv4QztU6r>B2=W zzX_{N-TN3<-;V|FkNp0BboGz0#+ST#pFX9+ull}YSt2joCBQp?$KWSF|4(=qu#aD1 z^>IS{Wq|v_KPxaVd^WgYwDZ5PzQ>M#$&HT*+wToA?gv(Xyzq)q`Kp850; z*7q)-Uc#q?L%zn(LjE|+`}`+)rHK!Z@GZ#iG$2WzO~IkO7Oj=y-=wfZ)7!ZIsPONg z`2jvS#n=0m=ii9_uz)W-ImK^G@t+L%a_{tjFIPiz*paY z6m%W^ZK-P^#gy+)-i%)U{dyx8evhXPaQGH@w?aE~bmrxsp3pvE)xYYSoB{rRc=sl( z{LnZm!T(C}-wm+O|J{c>`|pRR`7xV-W&eZV4@u8cMkV-Du%EvuzRs=+`TE{-`fiE* zNoBnAPfYOf;D#{{%e@Ai_U;L5s$_@{pgt?*Kgkcmy_Wbo6F#)B5xn!|iTnNWkN3aq z+YsF0*1M6?VDOo(xH4B1s)u$1 zOa2A)hmgkaZkynv0{o(6p+^sMeBpfqEc1I4KdZJ&%ufM(`#Qo`o?Lmg^Plj70B?%^ z2*~?acvygYp`Qos{BLJo__7rLz!d+WfZrQE-A&W!V`pBtEA;Caw?)tD4s-Y9tc?%h zUIE?&d?EDRc8)K6k?0s_pWc10g!(ecQ1L0O^67D3VbUYSe-5zZmqACC5osv7uQTjE zrIR506c_qt+k3-Y6V^B1u^Tx&0>0v`Y?_l7-U8~rh4b$?^xtGC(|0;~;cvnDI~=Ad zweuSvEIRYT8e@AVz;95YJQ>?3{&KK)Zz%X#?3;L^vrqVy0JjIf2l@0BR)5XoLFlg{ zzE6$wug4#?asHQm#}G9~o2E_a_?(s^dA%VzXN;wl%C%czV!-@FZ@-2YrqwR@5;+u z_=F9(?=wz*E8vz;9~wdB2Vv3B7%RR;y~{;oqkwCGLL?ej~;TPcPEjhevoba9AE_dYkMMe>B+p zUvYgk6ygQo0k^sM8jAjI!sGL+@JC>upX9&y@$ck46926Pd;1jLP4MsT7ji)fpA7l% z%Rd*kBfs}_=7p~W`}hzZnd0vT_VJ_qb^=AqmtW!Ef_;4>^LtPU`|t=~0rvh^c%H_; zdmZE47k(D(%?qo(A9HjPAL^5NEc@7$$?Um2$zNT-zWfb@e*pCKzC;>oQ)mX{!#@uF zw!#^JUbRaLhD1~1Jzrd~r%J1Tq` z|K8s%;r{{rPq6sj{%?+Q{Bz)`erj{H;|ojvh7%J06X3~UnHOLE&%a!n;9)5|9~{~z z+~tZy{vHAt+9w>!A4`4GlKVR-{{;TKDdj({?`Vnt5bm|a|La=#s_#PoUIO;vIUB!d zeZ{_qy6_7BIlvkl=>hrtA>1{<$D-GIhdDdC@lN4Eke`39chL#hIhW<1FX7Z z7gscnUF8+`D4&)e&1lc=Yv@ZKaFR?-)UyTS9mMSEtN;4<%^ltr zJPG+}?Gk(t`0fC!ja&a(S3gRA^8jxHeiMAhcg{WGx4{1m@QM`w^Avw4@L^vi<`t%1 z0p28qhXnEk-1{wf#||!j>c6T_ zz=$(zkJ%kGTg__w`fM98ul-0k8QIg%^fh@su*&b<+0P=`(+Y~rO_BTE7=^!^@RVdk z)TY=o!%U~AKTETr%S>G%UaBm96*Pukwtjwp1nV2y^A7!tb5TPyB|0|xEcyT!Cd<#| zB(ZgeP!fQDv}*p#*e9^;4q?cf0Rsl~|Ebcm#2&=*QLmo8Ht5yA*G9ei^y=G7D&I>H zl7!1tWGd<_%GsSPs>oKf1`VsoX%`tQx z9az{y!R8ye<+@SY1`wwz8(OzH(q? zErC{A(XG_lB=_f~jk2ra>;CX0(+-l#nntdTS@LdKy+$n9O`|VQygiI5@MmP8>FP8Z zE09ck2&L#IJ1@+PUzj2Ls-U>?;N5Ck`)@fhduGn=;CMG=-5AvL(lj^(fHpJOxfvcwEOSpcbK=&brkR8C0Ip zu$2}4S5^#ISoh{q6J6KRm!jGB<))kvIU7cacDQ>c-O+D?DQ>ISkZ;2aEPSbVjY4GLd0BFp`H(uO_ zyD5fOJ#b3-L}Un4et4hZ8x8-}@L9uW?Kpe*yy3HUzHE3=iCu6qiZj2LiHkv{_d04I znv~)!u9M%j52-Yt;2)WHb4&zm{a@4iT}5mlM-lv6*37l%ndhw;EUeLnLntqY+wRW; zlCbG-<+&&f@*gpni^`+2>CyR7o9Kz?OnW-m4EAPOU^A!WlwYTj`r6M|4=tlff2b_6 z_DODE`*U^Y-b94M{_5o9N0;jw`8M82t4LlXuT*o(qEkR56W8hJ8lw&Q%+geA+mdd2 z!mx628#}5on;9Hs`$sFXndRBcliAD%+02wUwq;-39vx&y_8mM&y{V? zzPPOg;h9EmQ&mK2oR=wlMKYA^i__cMos_ghx*+RxFjm(lr6QYJ9BPF@GjY8Mx{ImisN}C|zWBQ)1 zekH!l{wTA5)lNIv-Nf6pad#ee<$=sVlDCR{#E!7d+m9&Q4Lfa&uOEx)hM(E7$&~97 z=@P5NzI;u-uD))|x(Dk1T=zhy2f94i<=ZZgba}AH13fe!CS zWbNkg90IUnxVo#f7 zRxU0dSoY2k^ZpR?%@Fgo-L`Hc{9+8Jr8rAfemfEa@|OQe!0XG=D_-LAL4m-54lULE0)ALSbP9g4wh)bQKDLg^UFHA1qFwA;09w>8xa9CI_W3T6 zp ziejrYZ-kaYn?rKTyW3RH=rswYtIhpj$@%cA9+cVbpifsX%QZr1t$b*op6zaFe8iD- zc3jRrE0l%#fc(qGb`&pe*;(wK`VMD=t;&{V%C;`EahtRY1v^+W$yQGko*p~5uim+R z#m;dCRXW6FsX@hO2Rt)}&s99mYSPR_G^BE0O0tQ)Tbd1NZ}7wjH@m1@dn^?sCl%OB z3=#_@C~>psn!ZD?=^I_scVJUf<7CNxvBE}|O~H6FyC5R6@fCNJ?2XH+$*U-lI2D!A zUX>C1ds0(X>=4~DI;t2a;lK|-{^alWg$U0Ov5g3z%H!fF**HoNthrTn9F7+K{+$g; zb!+X7{fkJ?V$^ea6wNjC2YMQgsE>}Vj1DS~`c-;A#BE@~7;Hfuto=4kFE)~nH1C`E zJI_9sAL4efW<-v^vDausu5v^!Ga{E8kt;?)JjDJjPBSy6nVHkfS<}p!)65go%+@3f zLy~xZnk<&Rv45x7)F#tXCT1>=ip!(AI#a{m_T{FAsAv{v1?%5Dw)}C|8GqarCWbId zm{lU2Y@8p4Q8U?-PQ+Pz zL{Ijd!@n%q2ZwAjAIHEpRzhvNjJa@9HccpX| z+Ed)0s(h*yzfMo}c*`px2djjKU3AFDr&0aBJ`2vgkduU5|BZx7>OixI%zKv=mk2ZpzgjPY{(VO|6vpBz_o?Qu+ z9~9!y*-&p8@Fk?MQ3puTY~;!I)z&O}{tRlZs3v+EZJ<=%RWAHK{_Z|Bll)Y!9lv>; zVMvUuhK~zbvnZ?m&=_-FkB1rS2j33ax1q5V9zyK7Uuu(Z_#|C3KMabWWpQr+v@ta1+tn3Ap#l`78(}-HHafmG z8dMu?Q5#LKjpo$q02sr+h9tK6%=d%x*n0#tk^az$&{uEwFa@wwL);Sh_^lr~B6kl| zKVn3Vyp}r$8VeB~nz9i&wO6Y9UZxk((Z-09KLd7m>0ai!L#{pc{mMF4yq(V2`&gU$ zm4v^Nq_3pq8c&@v-ulVgzp=Ty;2>$^qXm*B_@k*>ZThTc7)|}cJ?zT45lEmUAGfJRb~BI6tm#paf27@^*wo^I zPUar|9D;v*9+BdA!>LYCdMWwemqTGa zmqizI)Yc5B2uUdqPln{5-cX`?nc~7sFWH~hrRR_2`t^082BMBZy~_P&$j`MGz7Gob z;=L`!|2-b5`?s6>D)|S%;aO%>P{bH^A(CyMfz`aBGPU1os6$ zJTSomddAPy5&yIl zo*Lkb;J1geQ(UcgA$rXPnm0MYDi8CHaQ0scUvrA{<6}}Pd%?n>1;M2h8P+=@+ zaP|q`OI`BEM-qHrfKP>g4dmAX3EvF)wJRQbzUD=}1eMy$M*P>IAIH1$A-rTQ@)`^K zu&Y~}d@%ags5DF2@A-F6bn$%~@*33e@gdwVh1UzUGF8 zdux6OUjC`un@jwUAivk9?E4kwe{T7`75N(i_k~rzYp+SPKiO+i^E&^|^KqBBy_JOD z09VgTuL|# zxZ3SKCwwCA{oMGGd!MhxKdN8G-Qe1zhtaG3@q7OXPfFnlDSR~8@8u_Xn)PP*!~j2n z{&2!mYOf#hC&Lf-3Otc8v?PBMe82aU%%4jBKl(Bk9^u2{@<6oNeGbCCdyAM|pXav? zQ18R-O{KY*H*DxmuRe!oH$i8_d%e{l-wXWB1ui{=)lUoYuLIl;erMrJoV;*8h5H6r zZ+z+lZE>@c7w(b5@~`K2gx@EH^==gMhXwd;^t_Lkj8F0F;QRb3{I9jhFHgz$T#J0a zK>kYf7vn~_H{m5p~3!lfC}70dMo7YcIs#81nvS#*AHi^Tq@x zFZ>Ml)*qbU=K}l){5!#o8NFT6_W*b2zE!2GU&a3e*spCAe^+oRdGYrQ_9l4hTdsd8{yW0QCj9Tfhm!xKlppUwM)@(selJ3qXK?dp=jX4G-vNt`K6_o; zKNj9Gg~tY1c|mb(j(2;T2`_}+DC=O;>yPNyhrL0$^Z%>hPUKOa9>OX!A=cWC5I+p| z_Df#%Kd-^tfcn7OFRZnO-u^XVzN0sjuLHMa|8EK3EB#&gWuNMp z&^?xcG~s{4ucW^5eBl~!Df?fCe-z~9g-?V^$^R4HHi(yMkHjAd-}g6!2dqVYGx)y0 z@gDN(zxllA$%&> z@1^k>SoLkG_CkEU?|A>K?DEJI*(*p&dk1~UeLz*$Cj1FHzgJE~+HC^%`Bivu3J*=; z-YKm9e`sF*_4r`y`xHMMaf7S>h2>}MUB}H#0I!QC+`I0nl)U;hrQ}t&s{iqG>l4l6 z-Us<}cpuXHv+xz*eJ)Axp#dHVzX}=<@6{%}06%N*Ftm0b@ZGrky|u(2{0roFM79C* z>G!Wv_Df#=`?>OCksl8IT=`MR9)kU)_C^!`F!(;a!W+f$!Q-FAhxl555X#?yT&cas zB!5rJ{;yN!HHZ@0r};D?{sB8eoWXp!7g|}$zB6#IrSQ%O{G<5P``^!v&kr#BGE{c8 zYj1_s9}n@r1Kbn8T@UuKL-mvLwBJiZcqeGu9Jlw8 zu=0e*-($8tz)&*Nww+>#1;b-lwi&H<@TUY#1zd&Al zkvvL=(B~)NCEz}{CVQE@2=?!9;(tef?3qv8+7#g*z#oF;AK`Y4H~9Dzo{fLQy`atp zhkG}j1Kw+8VqXQ}5BaUZA-@&)^g#Zal>D_R`K!U9fA;N5c!Iryjs%bTAPMh8aPidy ze?*4z{V9d#Q?T~#PKslDh=$#v(?JF_}-DG zUVF93KRdx6fyS37$?r>geEnGxzXyWDy`~NV=RZ&Q+mY2e&rQNV3cN*tcLeVlmP`(y@!jhy824tIgtL4Pd{OniLBs?Yu zd-K9tyX?oeJ@)R8h2P^B`2Uyoue8@qo^<)S;~Pig7p=#u?CHkmgtrBE5AYUXA0Ibj z_X&{Si$!=EFznl%Ml)k;d8bkAI!-b!RwtK_v4Ir#I@cfO? zzXM&^$(a|{`-)$?F03}%2HkwHj@s{n8l(3MG6lSZmuoJ`e2oCXjpgQ~&$DNrV@J{oW+PPl5g38biTvVO6*n z$=fOXPJq>yIE+ZIc-Xlw{1*OI{7DJF4SxL&7r!0AdZ#Y6SAqEI4{yz028u7?|3D#r z0xa`bW4{rf%-yG#W2Y=i0jP37-x2Qp*qNiPx)~P@$L5#5q=e{`cd-f`f*2|MKENa@|&>U zNfaKbJQUh5eoabV-!DtaEB{P^ALh4X!G3Qa@l_tf{B|CdlHc1z{JAN7ae#-ypNe_E zH;M3Uu+LAzJAi%s$iCr3!m>AA{u5@~nP&cJ0Q>T}75t~6QhVo!uQtu6zwEn|NcVe_ z2wx8l-TO262nvbfTl`ZgPjfy={Bu$YGp(b^zH!LsNSevFB<+Lh%QFMKF8I0tZ$Wr` z{LB1SLHLAqmZ^__;j1ayq5L&qA0Ogh2lnzqz(+tnzX=}$X)ht7-HzSe&E3aOYxKLq z@b(K&0N2ufDL#ZJfxZ13fYpcc^1=^6A%AIrC!=qKYT~oGgda)a>%ji(t|QT_KJxOy zFM>nH7s}6|J!@%io3r4Dd+YT2h4$-xrKP=X#P{)`yrA|W z+^a_K4~GYP*W4Ij)$M)3kJY*Fhr<0*SY_Jtwb#shU_akR_5zY_l>@V5choS=|@JLa`ljg-cYRpcmstMX~?4+_kp}-ZtBSHNNQgHu3WJj7a21 zwIIJ8=68qR0sB-x3GWNm-XY$8rI+8EMDDEud-sGh2x>19$**aznKNOO+6zT{sfd65 zR?hulVD*7Y?cE~2+MF{7B>sIE?DwLP{~N(;@=sfyw}((j;ix>^2x-wG3fRCctBJ8y zXp{qFMtxMN=5t}<;3@tn$@CiyWLKbG}3xzjEN zIeoEIN6z}QJTm2s$=Ky%@2$vQV4pA3bzMm9XEif78Diw#w%LzIR*C0kcP8O!+EW7! z+iJK!nalkZKkhG+VH^lYCLh)06@SHCR3P>1Sg5Z6DbNNcmkQ`tLRLL+i&*#AtBdPu zQ@rKy%sTd(wO8kk-rt-xT%E>QA?Jd>d+5w`bRbXi)zmJpshv_=JEf*JkEW(}YKPiW zYidteulB@tHW_QU4nUqLH5E8wV2ANDOTX5uAFSMw}=V zu~$kJ#OO&Dw(WcG$vsetnkH44n;SE?3DGC%Gn5!f=IrLtQx)6sm3hq7og2*Ab+PDD zbvGM)y?vB-~3$)5@z>J?M}3X^BDRWGs8i~YZp&Hn3g z^L({-S6x&M%e>OwJa3D*%*ExlXbbrg=JD~WG|enI%{+0MS@K)6^{~BGDy}DiN#5;aRiXm?DX6`Lce6SjxLD?VgJC zE1hB?$C*=J*^63dduAMrG-XXc<(ULIoqOWU;RSPd`Gw_k6i^Y@N`C0mKk@amnIujJ z>8S#Y$>&?;GiG_l+>jAO;c~s54?xyZty5*qsh(<5WQOT>yTvyn(=#&t>@}J|Nvex7 zMmye9r0nibKK)oo)2SGBxiac9Bf4sF)TuG*#(x18nX<-cVq;wd;<3UeFysD^B9_uzYCcilLQn4Xs>0veFb=EgxR_ z&d|zYM0hHTIW(@ogH|vUD06ZBgRZE5VJ<~hn#>HY1+9WD<`rm+BH)zF#rabfZ)vLf zo6-Ey8 z@5jM5&8grYCnPp7@~7gq8$0PP=eLqy`mSg0x#upAt2D(8|9`%xe?YeycMRq61FQec9Te0WF!l!W1X3Sak||Gr8I(zT0ceY|N9N zDi^EjYq=g3_I*SL@IYg)a?kZ3mBwVg)+?=7lnIodHjnR$L;P%2f$KmB@7ii#2BPN5 zKjCh*L}rATwc55TTRM)t-m!3DpD`C3cgwlkSIr*AJfzhR>g&zsrLo}~oMjK9O?9c) z#m0)f=PF-mPztB&(p#fjRm$yM`cl6+NinwW_QQ-*GEF(Km*NDK*$E8Z6eoSXY^SPcyb5K#+r||E2qjf-K$)zz_ zxV#uuG@6QHvAj66d_keSXv$~hNu}}`HRZ+1@;Q~|XIGUMGfFopnN9K_xwuuNGS}wE zs0~9MKStGPtOTB$XE!Lr071*gW_>$AUZA?B3}tkDx>BIQFg8_&rsy^!Q`3^XWQlBc{W~%a>DSt02FE{Juw8r8&zI3||9`Z`G=`xsBdT9xj%Sz3p27#1M zJF-l%8AEw9$f32hwelrv8M)ThcBBVm{i}E$(#P}*{uO;x3c|m$*gc6IQRJwO$eLf$ zw!3y-iF{COPt)zrg^4nEC;Elvt`MmHY%04&>W&%ECA>4wB;IF4=1FiR&*eAyQMtB% zd{w7PnUUSigs$c{rz3A`BPzuC#IDS%Zgk3} zYhR_}S8T6B7NMN+SDv#Hjb7injjdAbdO?-N3oEMmu}z^BtKbdI{qzJ%|Kk3rTW=_< z*(H*zYB4G4ODiuW37OrXNz`SRp*xuI{ml0EdXT*yYp;jfYr$Tcs!)zP#_#m%6)LlbF|@SU%3eyDf7nclH-@q<8gT zZyy+w{bo}HbunBT^?au4RbF#qb&u}FMlR1vXY0{kR_8CuU3QA7c|Z)kVS(zvU1^;^`-ZN;+cOevQuTt0D6!e{P@m#qh?Dt?vwA}Cw~`a}x9ki!2Cu+~`4 zhW5D7jj0Kr1=U~T#+Zcfg!T*YU0^S-@uYLHZ&;NZgA_gwJOPZ>jyE07{VcGQ_)2qs zzM$}#;L!YR@Xs}`@6jJ2AFi=XW18G%{18uqw?|-Jc%QZ4Q2tQlKSchXhuoSpVOmm) z(Hh}_&~xymLag*V5Z)0y57$^81unJ5Qt}#;Tsp|PcMxfnbiJg2{_FSY=m3a$amKjQBK-g}=mwtx)*&jRQ7 za(vBi*`56KbKRHxA;^3G3*SlEE_FVd_;7jA=xiv+?iy*&7Qdr;YWWVC?ekfeya67yMdFJJX4*}nLeX@p8W5`c} z6+ZDNg5RC*@SR}g_wm7+%HzPlJJ#h7@s9;hX_ep;!F~;<*6%R=sN|Xn@pV3y)>O#< z4?<^>9{&8UTj6g9dH)NKN@0ED_Wl)rc)*wc-owt~zg$mF_(ib)CMo=W%$NIV{vGg7 zYQentC$Gi){%bLRKnv!TzR!{$ORYH(|6ehGP4V|P_*-NDnA_Z%Qeoxi|LmCHvEUN} z{x;y>#rQeo_ac2t6d+0Udvkn}aW0fyEaE_$F{m<{yL~ntwhpe?9t< z*r_#-Qdfb~YaV;Xe7yb>ek1bg$NTzHxC_{?SrpdzhYzo?#(%y1@4@PS_%&I=7l0KW zv_Gk@#J@6-{{vVpbE)u$eEC0J|B2swE#^IcP3Bd1pO5)x*yu#{qpizR_|g`z))%Tg zO>OPke_>nSRwh{OMaWlvdot#$Oa3ENs{D&zjmJyXpIRfRdD&BYC2IyX58bb+6aRn| zKg3!CcPr)5&xse-9Nv|qk~MQGuRgug@~!#sq`0L z<;AZ76#fC|^PA$k54hC%+2XGs^N9xA|J{ze@Bh9Je?M^LCoa8&RiB4g^>>KX-g?}C zrF&z>f5R7^2KIA`g^OVS4PRJ&GGCrf0e8o~b67JjrMgFR64tbaJmmW|yGqN4U@U#P ztIfZ{52x@WDf~}xw^y9}!N?z;P109bb9Vjt%EG6l_|sCjJ|(|dia#QShX!~e_J53j zP8!>dD}592eUS2-$G?xU%BT2W!SMOppdRB*?xlL`?2-HwR0&2l#^H6aVlgZ&qHG@U;%k z_s@1jz7O>I`D|c*tjrRA?;qhU!151TyIyVtcf}{({>hq4$v+I0 zTGJ^0qcML?=GE6Nz$j&2{O#du4W~Ch6o2?Nm%GA$3=&`EBg8zm{`K;}X4uOsJ^dP8 znePC-{IA5m;owr?-wodW*qgt=^>2h5z}`M#<^NLVdlD$E3m&?)>mRNO9|V7=fFI%w zFh2?VeSIoC0X(P5tsxO^Na4|7Uq5dMU*jdOOj4<*odtL1t~EqBYx{pH|Jw5kmc<%( z@_SybK)(-yKllAv@+TvI$s;blRF|C%u3L8}PIe^=^NDD3Zg{$u%M4cV5+`#sRq*Z7DAZ1Lb^4co`yehU-) zNs9kzioY*|f8iR${lMWG#QjrP=P?iZK3PNeSnH&JA^#9{&DK=D05%W1{3ZUgDf~oV z@=vfvaTz#Vqxjbpeippyog{p>k#(l;pI}X=^ZgyU_m>oY3hdi2@vrCG)3fg+;dvy5 zUjje5qLa;kk{`u~f^bdY@pS#GwoTkW5&Z8UJx&7ewnM`IEqG3hwT5yT>ABvk&VAuG z!4KV;;J3l=oZH2^ufAq?n&yYHE`lhrE5l zBcOku=f3{kkG?lr??3TJ#(cbO-+x2C@Z1uTSIFDSn9cZRbD4=UclZYe2h^ zKSu7A;9sZkCMkR=0rP7_W#6?ad}9jV4EAeOsmjf^p#UWW?VQ?AO$^2QP&D zdG^A$Ltb9^4=KLNgy*X%zZZJ+3@k;d7j;(~w}zBtv)Hd8^*CHZs=9K5h&4S@!goX7 ze&LCb_;O)Qe6?pSnO7gUl=)v{=N<5eed*Q+2`>WsHD1C`gZ&y^;b*|!e+uu83epcILM({NgVr(}ZhoA5G!L7%RPHUgP=U8p?3Zr1*_7 zU-2g#^5tG<(#x+o6xOFKpC5%cN#V@`jMjdyDYb@8{JkLY<-YJ%kdHr=kEdYx^V)@9 z1&3=c-voDTo2==4H{i>EwvX~Z=0CL!Ta%uCjjpiz>pG8~n{7MpAZh%0^x|&6$rf5QI(U%V<=Bd9)BnEtydzF%=`>=eJXF<)-%TbA*G#?& z->*>={{gT+FMc!ddrqy zOH=xeL$5K%`)^LxY#t5{*Ki&I4%cu_0sA$aijO_;dKiBPgME66FZ>&(()##2GT`qD zU-_c)>T<5GEcPcWYt5RT+p@`BYs_%A>HWd4iSy>?UX_^F`^PUeKR;N5=hvKh_iw`8 za1CF$=1l(kFy9xr+Tgz{<}WFZcL;G#X#`_yaWl z{aNzMvD1&gTk~K)z9XzL{gAKsS&y~mZ7BBnHE+T@uLTba_#=@26Ex&R_dY267<3dE zXKY{SDDL6;?n~ic5zA{$nZA(}%bar&LkJjo@ii;V%5#;$=Kjg9ofz^XfzLo2eY&F7pT%qcWx zIf1A7vd`ay*9b|;4u70uUTlV9ZmkI zA;lm~MXRcZ_iOyqdqLI56FQlXkLzSs9ZZ=)IP#eiIjJ&8W6Yt-D6wPJHqfhowCGKw;l5ho~7 zmeoDp!*%R5bs-u`g;%s?WkY8N*MY@|6)Cm$%2ZzTmG(`CvW$9CorJicRoa}Q*_bmcuy006P^zyvP87;CL#u-qmRHE|Ah*|&T zoGS|)uUH{9S%{y>sC#@(9F-a^WV-bRUY$IQTC1d=3l*XBVp3TY6`|#{Vl!vUOwJcMS2;Jhcb2C5 zpivRDNEz~RT^6ZB7tvv{$7ID9CEFrBvjwRS8vBi0ca@JOyUeNza-A-bE>$w34RuVF zF1Z{>;&mwFGEcgkbR#5^(*-5F*0(x)dHlPMtxj)vm3gw;oIHob6m>E7B0-xAt%-uJd0kNQS5K?sl9#4l7yHP% z(JKO89}V8gT+iAu(@PhtY`DjM0J};Tl-7SJUs+XU7BdRpsmRKLUUjWAb(u_^nbD=7 z2{T<-Rc_X;tLaeFp<7*_b?b8L)b7QHTQip@Wtc?CE|FCP4|jBG9CHoGi1`N7Yl`VL)$}^u^g7J+ zYRL3zFqwj^jukPN%@D&y;hvDH&~P1P(tGXhfPset(l)lUqlEH@Q~ zBECJ3ih=uds0``}wSsD)98?Zvp_!1mBxi$LzzzeJUA{~oo9SwfCG^K;D$I!@GSU=U z%j4c`Z;qP|T>%w)nB!(un^T30?ak+4T1^}Gp$cL1#j& zKQw=g_2;o5a8AX_s0fx_akXM|f?l@gSW6wWdAv6d20`0E6;~?S2@@Amk*s3NwjPE4 zf@Nk(43ZMIicDg29Z_U(-xV-bxhRAR-13mhWYQ;-RKY|AZm5ivl8L_M*}k*0ee+S@ ze70|8)VDI*wu2a;&M%8eRt|}ArxkS#~i|k!vI6h{aKD_$+!`(xUt0#Tismz&=$vM~A z7LHs-Xn}P?+9EVPCQYhW>o>kg6#}W=_2s`%H^L0tdxRM!`ppP4=|E_I^pM%lkz_dQ z)r^M#{S&8u5y&jQ-240NB~eS<`kO* zchPBF+uEzsx3l_-7oGOk7jx*jT0wK1eJ=Ypa1XfVX}YC~OP+|L;Od^#*e6}>)l8L4 zahk3+daXHE$Ec0yK?=9@bE{{PH8j$t&hPNu&?@3EXwwn#YHv@WdGFU0d>#Ab&oa_UhBOBfnNgxNQp8 zrf^5F)}kn^n(L&wz~^q1taUk#=ia_U;hg|3UYpEaIuxwAOn9SdE|bn1lYN?7v>SJS z-k8>gYzKZgUK=7jB!vqpJT!$>I{qG;KLGQJFZo|8?SJvd@qERtiT^Y=<`}TzPyC+n z{aDY%V9lor@y=kaZQ*9*-&x%K+7`*{+l!hByg$oq$GcG%$NT(*MB>xCZ0?8H}sD} z;oSZcQg|jfoZEj^iho(a*LR~o;ZCW!w&LFpztmh~@&7FTIJdSyYXiCvem}QQczy6| z%=JTS4uF*Mnp+oQA3ks1&mHWJ*@;9%xK==8@qVmM{9{vmjaB-&U*aDG4$r%K6Nmj; z0`b31;m^RK{HH0bxf!0Xx&NBG7_J@A{Ebp`-6gO2G~(l}pUhnsU$y!#S$l9g@`Imo zYa?X72=?KB1ikXOpBpW#xnALUSUNAmpSLBx=8lDY&F%91ldxa!cXK~+=`GwBTz{0C z8!oIa)jbnB*!txS%&PvQz%=1Wz&*e!&&$ydgVw2b12)2&LMqQv%b_ixJp=wGU|-(F zF9i5)^mB2uRDKr!TKJlqhga>`|2<&M9SX6ZOD*|Fp?L=+Yc-xp;d@f}h7^7xz<icehhyf_@lOP=Y0v&%{G%i zcja4H{>yHb@IOw;UmM7)uKgp}+b=Bh%8zJ&lK;j3XG;Db0sa#Hz}P&upO_avtWSg$ zA98O^@yGWMGeC?RU3>{|3HEC_ghzmV_=R;ISmkjpK7@Ay`)^VI0v`nVwKBpNK#G4o zPRGCJPrbXH^`H0(pHCn0pOC@eJhi`r{aRM>UGG^S^}m z1j~Jj#ZTa%BA4 z6UpBV`SZ*?4&{FbKg6N=p2P)jq)quvct5buPr|=R;XP7#=K$B@*5ANaUFPQc3%>~V z=hF!PJ;i^n1^gwv1EKb>y8e)`-X}wRR0_+#y#jf?UwW*OK-&^sn^PK z9j%q%)@-c=aE<2yHMDAe9@7NyC%I%U{v>d?_Tflyxb|T(_~}5tRqN*VwFigh*9C|2 z9aHk1!J+*RugiR*4HN%73J%wDG=jsm1HvJH88}?~Fcw^y>8$9m=TkjUNgTiH<~C@q z{x0z6!&m$XKb+$43jdIaN&IVVVdcket(oFq=WkB^OM-iWeS0i^Z?JzK60QZ$>F?&^ z%Duf9wDajJd>~l)NBQp@=pHnBKM1kj52R$@2pGOR$^4=DB>xDX0S?!46v1J9%}(*p z4*04Y`{3XDzmn*vSE218zt%{6g>#OeTj;2?)d3oKet_cVa;Wi|AfI z3~-m$&OY&H2AHDE_bckf*~$3=T2JiH_YnV7@GG+tzQ?faTyVV~`?<#3@=W#JQ#6|L zzi=M>Mu4?GF2ouS3FS8ee|(5DKM3>c|M~C>YwnYu+bgW`w-7&@!q27f_L%YElljrm z7sFlr2x~ks;KKDFQN)=SQ7 z_$_!3u=1zm)gLNl-w^n}Cr!kcO1mfiBKSJL0j)jXLGL%OfMvhu>-+}UupZ=9TT^Ij z@@=DhTb_^yG|zy&V)?B9JlBjFUrokFmp7&W({1`azHJdb(l`oRa|8QAPN}w-sYS3E zUD}GdShaUXmrYbRZlY(LsJTkR6syd$)dfD+xyyL_;SR1udP_{Ipi6@;?gJ{XpBj1J zy{yud>EfXh!}dJmsR50`b-Gw3JA1`?Qro8{(Qdsy6ui`1m| zO82-fjhcs1)CKN}Y%1)MAhP1u#rD$aMbUKFRhQPf?8fD4$?UERQR2Q)+Yj>sD8*$f z$jv<06Y1SN1L^(T1Y+N!0gakWsR zy*_TQv+UJ9cUKkx%wL_cO94#fd)9PtrP!hLKGEOmnqPJo9HVNz_>5 zK{3|YV~Hu3L{lt?(L`d5eBbYxd3K+D&YlbLlRtj1-`qR9&-;0vd8X{_oY|S#*{Jws zuqs@ERi+TR4-SonYrA-Yv@wL8#VV7r?-Z+4<3{}6`5HxI1$PK+M8e?yqOchpLFfz& zJd`@^JovS>(gw$+XbD!Km&$WXQKeL=lnRy7-1gGklS?;@EnPmgw76Wlp{=y2t#nhl z6rWy-4l0%KkDVky?_G-8OXa9^4)iN78b;Q`weS2rr9*YWd+J4eZ@U=11kVz0+-JDn$$NaqSiGF6{#=(Lm@AqG$d)3hp&@zTLZ5Ta zVxRbz!1e4?{v_nGpCIuIz)AgBa=D(I zy-W<2cIp@goc@X;JaF#jNmB73n>%8LUw28k8+_Bux@e+Rx z_>}$p9I;@oiD9xh$9@FPToWUh;blz>=Pz~#uDAaq<@-Y}^_%!0;CkglIlIPEo}2@` z6lqw~{qd-OY|v+ViSLG|J;6T-nDy&Q=pGKeFS>sX!=H@s_39_*3=cfGKWWf&MDa6U+S~| zSp8j~&v{Ae(=q&Xoa@=AKKF}QQ~P^EcRcLL{(QuI2A2K#h}k}A`5{Jr95CldCH+%? zCBMwis}L}~bT)s)uS2fqMBf6|bFd$T@Ho|k=ladN!LMhZ@_Qf`d&KO&X#65@`Ep-B zD1S-e6`*&4U(-24>hpf2KI=Q%OPLeWSlUmn?`ub#GN(j*DzK~(B|aZm?nmOI3_c=Y zL{&4#ME$qndtK)DqaywQej9~X0PhKmlUr|Cz{5x<_M;Vy7k8um*7EKDIf&~!&@2AY zuj$(ZN*fMK*H{vd2j2FUbWZRlV3|{+d;;*U8}Uinj~8tLLfTu(w>9D49iHZ&@3KcqGe5+7 zf3V$wS^kng;!ok_dJ=Pg2aOvI{?O=ij8*j6x90x&GUr8n7qH%M>t_bvYw-OBKVGW=*@Nv~i%hqxZ(I=|n}i25n|oD=yQt~cjI=!p9ObIwGto)e+`cR`;TT3@i$KLVo`vcC%T=K^z% z3)ytxWsVDGGjm)bmpLvp3%PS#*W&j_=74Gc7GUl-CE@vKDRWqq-yHNsF8fajt{VL% zxZh+>o#CGa)^keBf%P2J3gDmOA(Q1X1)ggJp91FfWB7kUF6F`Na{{i9zP@Jw>+2f> z%k`rEMd5l%eYh-Oh-$9y(csO6Z@Jy?k4${3!6yLA8coWNHF%oATPe)`3!ne=9M%`X zdd`dC1@l>f@ymDz@eJTEI)1|Nd>+>J{!NTElyq#r^cqU)e-0j>hgd(^-s|xL%6q{x zJnN?pk8X;4FBK=}`tn$YZ^4*{qX;-p5W69~BF|-F7Zt}&(R1MEt1FQouABvoz`%?P zdTu=%+fVPnb=@#jV0?A&h8BEzZ`ry$^yOgy4u9*1!`p=TrgJzjU;J91Gwls!j=h19 z-r$e~IK;imt^ULDMMtBygJzoK=twtm4Qkdtfxn`6H+1z^^yYUFL4(UZLeM0*>xz@O zyKt59_UV?-{`B)zXM-5`oDjkp@l@a}6VV1Dx(@M?ac} zLn9C9MZ?E9v=XlG1b}_PYmH8y3f|G}INaHSLsY^cW(dEy!PmRw!ZMzb@ZQBdb;7qS z!(s5-Jp6+PLgxm*kJI3{aA@h|;g8kH(VRd2XL5ABrvPV>>chiA9-@c`w$J0>#ql=) z1sKx7(+u}&J%~!mY()o@ddVy(YKm(uTpdA)V{!h4;<3o8}zEh6&4}Q~B-BGwL;Mn?MUXqQ+WY>i7n9P4u zMiHIY_s3Z-+^ktX^enFs6p7eQZ0ot{F+MZmw_k_h?3xOkJD60QnMR)RSn1CJ7pXx$ zYAeshj;Ir_SM!I%>G4E9`wG7WN#FZVzOPOCWrH6w_F* z5^C?I@b_Qg_eLka8vaiTbN$Q>m!@*ApOJ45QvX(Xeyfmmo|t3r{8pi0{jI__$R38? zLvQ)H9O5c)$KrIo?I#HMLtv(t^0y#=?*~49V&?COFZr=>;wO##R|<2i<0WAIZ9|sl z!0@de%8BLMJjAa6^V^3kKjNcs=C>1>9?|Ewd+3P2jI(@8hWJfj9UrfWj*pmQGh**| zz+J^h{k9(Y@l8g2J3%gE3B;_sP5b+?FycK7-qYZ{3}!E&titaKEcV-B??zzxRwD5a zsE@HtkjdC4=OS@wlCeISi=_S!!PoZgGWZdN4}pGf_rN;3?_Lb>uUzzguAjc_JJ|6uQe@r~q;EjRx`^p22d^z&lReYSw)8Rh_*75z@ z;Qtt0Q1SNzJp*aHZ6p5j`my4jP%wGlZsPq;{r#ag|NH*^ZDQVUQeMQoe>L7&VZPh6 z9{*-erLF~T=%x5J1J}2X=_x>LB+aTxra%?|2 zm&U%f%%xGjHL&E5coT(r?M4FEyMB}(47sF__!8jh+xfXU;!A-gy~Mj2{ZYUY|DPfM zGQ7;K5g!E4>xq*a`T0$Mz2d&F;vv*nffUEASKG^Y&+8{iOZ?c-hZEF!yI*d9du) zhL`;tC|?g=e>-VoDAt?H*#)vqgPi5bxg-Am$XpZUUkY-TXP$f`$YrjHEC03vmT!*; zz9oE%gm^gQD~I^G6Tw=azaOPneEUQBzY#CzHdta$!P~iw&C$`*a}65+zw^FdkIK1& zzQ9tyi242t<-8yA$yu6=G{5ibb@5JlEMpw8Sn9JV&oeC9I~NJ*}0h+!1{eK;;!BY+YNF(*RyrdXMLf4{r=ef!2CUaIK2NwybSnd zV4U38-Wwp~{V*-({Xi^o)_>wvAw1)=a*pBr6aEamk3vWM47}{EPW&JEE7bcc-C$3@ zzfuCGob4I)pNH4sIaeXL7ijJ`@Z+P?xrBp(_1H4s=ldQeu$X@8?`Gu0JK-fhkPLR3)d&;xe~U?8uRx~&y{?~$k|^VsqDqTy9CU>1N*!GZ1w3QrhJ|C z{aiqA;7x#~JSe{kcoWExZ1=>@^^015HL!eZfcn=e%wE}_ls+;0dtW~*eIJhXiS}@E zV?!5#kn*N}e_VQrkC^?@OH_Dbk&l7=x46(UH$c1$Smt_&mji$OV;?{9KMkISig@g1 zzI-U>+|oG;^V{WOZ!+W^@Otn37l8G*2i`({G-gJ3`-Q*W4F7%LLlwRlSmsJ7AELtZ z`rHfrJ|~pni21%{116Mla`<`>EDt&@m+L2T)=$dWM`U>3f5cY)0_6Y8__#ktSMfdm zKaTH-F5=q``P~-sX1sL7@*tiFJX+y);K>SeeT$Zl2JXNnF1#W;!fyco#vZ;r`E0Tw z`~kDPebOu78@uyr_-8kU9|Me&tN$%%f9riKh~Ynke`Rl9KZ!XP^e=osoara#DDB;Q zdVD_U7F3159+SSG#plOQfEnKcc&OQOFg^;;%0yPj+6ZRLBzXJU*UZXo?`GsgZccW!;cMk9h})7 zDAxj--d+2su>{JEZMvJYkpdCQv^N)uk6pUZ1ecamIRL z2qx+sXO0l45T4W05eVpbI}mvS#uI|$H@qjbTiM+WL#*uHJPT|f6v&x4baSU>e@X&4 z`K;()R6EF@T6~~B{?yN(_V6d9LOaIKYaU$N0kaCI>TL(Qw@Jnca?H&Rbf>!xaI!X} z?ed<{99#?r*e_wiQX5xXpe^-7{bAgncN$#aF^34}F3Dggz&jGfUf7_Qvn7r2FcIV3 zfRUx>7ucQkx?*$m3;1D}2)qdXI{4?NmZIHoc3I*bRjhd57v~oEh#rog&fy=oZNM~j zi>pr+C+Ux48!6`oMa}#Cz4uUeBwdUK&F68wMt5xHv7e*+_5X}?i#s~aKG`Ge@yh|I zM@^}P(_GkVx;c*1XO$e};^rJoTwq$-kbmw<-G-IDr0MSpz6~$JjE8T-4@Fyl+&t7R zHDaF0`?gABv<1A|40|ec;%-q}0s3>pc|>Eh8GPFahV}Dl>AmMlf`>*P%56x0nbar` zK}F+8a+ITi2S1lbR%rzfj%vfU#82{2n#c``Nwx4Dh89X&HsgVmb1Z-UMtE02BU+eP zdEFs4sPcvw3nZcxqx zc&5QS8N9Q>y8@3?_ND_%{0kBP5?mkI$A$Q5U|DlY{DP5lIn=EW_;&;zfvqXf(cv3# zbq4I?$LSgVQ|N2_oWdN(KL+=&q=)!x2Jde$$BMK*$2v5gZtw(yH&>YJ^Pfi^xKAw| zuLpl#WuICtN3gnb?t{yUIvL^T;jH(;rG3hI*ID@q(BBq(S#$G6Ft5K3&+9McL3?a{ zHD*6Y@STuP1Fo#_^LoS#f2+dmSH1p0D(6qDmhTPRxjdEc3*6Mhzmq|Gtj{_=Vv+Nm zpBqsh>Ww>7{`DYd`Ey)CuQ8&0YsmFGLpuh2{t)Hq?*sYgv;6)3Fm#?o8udKHuYmPD z#S2ExaV9N)+Q?rua*lgw{og4ZA^m-k9w{GU?yGdi4F8S`@umhdzgo`ah#K!<@Ik;b z&P992084yF0DlCp@xKiI%wWEQq4j$i+{54|gZnFd2+DsT{F;uFQ=feY87CK9Z=9TR z_Az9foOmewTVbDPzVGobV7`OF-vi=L0|x2F!KdIX_*gy?|0>YWz%Sau?@LGgq`^xKe$Zgv!#e!k2LIULTNUOw z{GCJa`*a;^i66)RF7Vb1({~hp20Q_B)(`4`0?c^$mZPO>|d0g4! z`{cae_ukjfBN872e6+&H89Do(TA%$(jn6Q6uEF00zHc8N-~FIVi1U9ruHPH>I4{88 zU)s0h{(T^qcOr&Eekck`_KhOu@4dztl6T)gW%*Hl3b2g(5}yj()i^)*ZJ<7)jmq%+ zy^(QiJ_DCgG2XzB6zvm_0R9^=PHv4we-JV*P5DS*j^n|slgl_BuYWIi8OLM(iRGK$ zARYc0!cRtc##;^Tm|{B&T6pYpSSWt@-rBH-u3xF7M2!26t&+FJ}f z5}4^>`kzDmM+bRt;C)droClyI*7E>b&hpEX9|QsC2@s8w>v;m|iyXIMM$SQ)E#SrB zHlhoo1S~m}r91kCrYS-OQW;uPhrH@Sf8u*0aGUv4n*&iFk2r4%*WwZbg6UwnSyv@P zB?<#Etr&^HX-u>QPpw$`$WxnRwl=#{|DaNJ2)DXZX>g@q27=8_e*#6s6Rh}t&6gZ@ zhe>D|i$#CjigZ+I;1OlUBRNc5r5HP%cvI5w4Lo8Xpvdb{DYiQ)A2J-jT48phX~lx$ z7bXUNbbOH|M;-RBLWzMY!=wJVBcGh$3I#0p!X_t{d{b z?CPo~K~-1Ha7S{htA6BdPKiDPthgfuaAkPj-`*jwF?~BPUYb=9Dd*qyy#=T)4A%*F$a-i zk@bTQn+C;A=!TFth7H!3(4i4hr(lUZ*L=lJC?l6@U9}{P@uQrf7-BW^6UqY{@HxmJ(dSHf$sY&IN=sOjJ#z$9L2*CJYd5fcoas|yEnJR z@}DMbT)TPgwK);%_=RX~6mugS#AM^YnRLxREg)>}X>C~S){RDbJMT10h&dHR%pn_& z4{-V*{2keRWOMhNze01N8Olatab8HxlUV$@(EJztF~+EQU8G|Jc<*B53=S6)^@dl2 zW0G*_gu#XTtn5J9NqDv4d>Iy40RoAJ!%;j|s1j9T9(fITbh|2%^f8ih?LBV&8Yf}= zIm7@hhb!TXbP_WOKH=$mC_YJPRM3l|Mtv81DJm02yiD#KqTp}d5eWPwm@;NT{43x! zUCT;+K2zxMzc=`g2LH|Aj})E&dpiPm-^@QF5zjDqrop_KwEoTp?_w~=;I#g32JZnp zD#Xt*livW>8xx@%^*l2MvjSL;!F&k3?x*RP4Ddb{Y<#u+O<;M(e+Ka_ zLi12BJ(NEmfZ&d?fu+f_Q_6~l*V@g@VBOT{1L*h4=>-UARc4zBw!hXq1@sf zjeK*1*8+b348PWr;hAQQ?*M)*_G50#K@Wx3Ycn?n)@wI61=edde+G=fqWDS=&bZ9PspO*st+xC%40e)biKC zug)Cmo;j$0FR-?Mr@|aVx)tGNttauLz%m9#ycD?Jm=NVJLw@V=eoTBP;5}jgUSPKW zl=FV)m>aJb@f4i3eH}mBu5;nnbRQAwpAXM(cOV+K)?qIc4A+LUd=|hjhUZ#hEth>o z82$qIIaR+e6!9Wr?8C$Ke**e2_%%%r^}h)(*N^xvc=^@>@r?$vK1=+R^Y=yLgO&bn zxSo#yOMNB&8L-UZ5OYjSzU4-IhmrI8Yx$3Xxvvl(P*`3gQE&~9p+6n)FK`|T%=?}4 z$KhpdHlHWIkAnTq7Jf{H_;%o%fpMwb^Crire`Vw=6uuAgb+$~yKMXuU;VSS}y;C{o zuw=}J@%KEZ0Y_ms}sYUi$hl z{&@&5@w2V@57ICDh7hwet#Myqz3)XoV7+h00N^Qmr~7z}0^T2(>7hNgcU&9F^b%tl zI@x!FnD)0<`+)ov6@_C`EKkb0b~taXsg>ihXU3cW9bOi~OL}BX%F1z>GT~|eHSo@Y zzi+PZvlE{T|01x+FEg0;5A{XPJP{*XeldZVoFM0&Z_l-Glp<(;>- z)yi3)segUQKS+mVZ7lEiuH?L4T2A}yJIq8t`MoFR+F*?*7`&CiZ3ed*ysp751~)1^ z9c9OL1GgRR=ZFNqq3}$|r9Vsg*MWN+lj;-e@WeX&p+=ur>l0Id0Lo$$_~6iLqu(5k zWzgfBdF&mIZH^xAjuYK+k~>c3@d9^zmPgkuz>fk+*F*`&F}$>j6u=d#?&OXf%!b2= zt9zHrfp7@J4%opx;c^(m+W=8X*d&5>Q1(h?ufYb}xfsW)qa=w0L0k@0wSlo<$pyy` zNUp^S>W(CcIB($R4k#gopWeU|nU~Aa>v(~6q&eCK3pqI zSCH}wcH?lKKgNB;J}Rvr&VomKJOi7M;6Lga&ZThnR@3n#!Q~K-6fXy*?KqVy%4!Hv zEjywuV4iuM+8%Rke}<7ZcGltAKJu1V1dOvY_gTR1j8XSh#5jMp$_0zSXLEpa!JRo4 zzO@&HBh9!Wx|Q9pE`#P8%(0z?mEEtR0#V$A)4`y`E%&9)W z6nE;qu`?Dv9v_c%D4e_`ayLF`rfsvp!^!Q$ox)_^2V=|8`u^@)--|1I<2FO$XSq|^ zGh3xruI;fqZ5Qs^Zj}PRV!#pm6%DOkA#QAO%bsx2+3rB-i^ZK-G`l#i9NhJEU|>?h zR~FXoTs52#U%5Z2Pw~SPCsZY&rY2OBP;n$-I}!?G4#8eyLKPA!+E3!}a{%^UVB*4+ zb?M9;ikuWtj(ONHZLNShn2&NegN$y4XHDi=8nLR}jOJW&Z!$p5Df@Mk?TBM%7}fg` z@VS!v1u*)Zakw8|_9CbL;gHLI0mNSgmi+>V+2_zWHu!AdfnmP^>ho0>jpr$R2;}_T z?rQ&n%b9hxf5G>FC4PqQF!%;wiI4Id4ZgzY{{VP`vVXhM=Nu_3|6=R~Pe*(J&U!ES zErBUVwsPfL1vxKQUU;@!49{nZJUM@tDd&A;n zUvF@S!8aIuv%yyaOCRhqq=(nHVUBCoqlDC$4EiejImOF1my1=lInAB(T4UE z|HR-)z$29WO5|6^cL%VR{{UF*alH5(c&3MrWuezqQa&GE<`9Ulf`9+deOw=%_!@Yb zGa&AO|1iuk5Z?$da}vbtldppn7VKja-v%%1NQwCjAafG@?gHP(`rz{cE`7w$1NUC# z*R2rq{d3Ae;@yB+`4q@EQTo#i-X3@s%fctX~@srkjpax@x2D$XYi@O z+=(TeC)aQ`7XhS&QK zQQibO$GAW`xr}j1`eckt()T#@Bz+9TXDHg2_^tg-Am^Al?|`S^^_V%wr02kf9s@rP zSdUSkWaRvQp_ZQs+|?NP6_Ees^>j?!+OzR%ydT0|j)KtZ(B3onC4)I8Pko#+>)>E2 zgL!|_{_>#D^3&_=P&63~n86IsF~)n*(RzPCI>z|`@Xixc{2=hr3NHn|OyOm~dfnh3 z4gL%8@09*uft$BW?GtbFUb?RGP2jD9oZ~@UH?7AwcL$brX_W5;tj9FDZd~L2fH}s= z{8E4afKjd7c#|FT6bv;dmoZS5Kf?>AJ+{Zsqhd<>h+j0gcaN-mU4vT;e$#}1+u#oj zUS;q<6y6c(nFi1IUFl}PZwN2%yHY+Kz5#OPhxkDFZT9wizfzz5AFcltV0r(U`o#M{ zpY@OWo5O4Uoq*;2YU*p;5BNBE`5r0p@$m9JR^n3(J`GsLxF|o-;6=c)PLFc-AGxlM z`6Fh3hwJXTt0v>^Jo&V+cHaRDt)3ZJ>^TX?_ z^CMXDBUq=8&zI-H_d%zRa;6qVrz!pk~P>R$*?d%S0&}gV`Q-l|F{Am%ili(%)lyhA(ve)z^H6@pZub9w&c)w#8usob~rVuZR2-rO*ET2cP==AZd^Nd4^~G%L~uv zg@;u5^MLt1QMQfS!zT`W?K*lo6i$JTm4-+<6wi}Bq|1?GuxP}2Sy^BdbkRplSRjJ! z^+0Z<`J`Ps3o5lNIln)%zXCXx$yrdQ(gHp(L<3(NzwAD*02eQ-Qb>9_~tiiv4K_ zPMdnt9g!|LcjUAs9#ow9_)*evFL&f2iYYC`ZXC2qy48h}BUOCsRV)|J`#}%TI7WPo zkLLR%goJoa9^uCO6OILHhQe|5ESD9wM_+>IEAS_%{bLUU*89nR0_|s%d?m1!{|i{} zH`|8rA1i(K@k`imR^nskxF0PmDC6h&1NWm9d?&EB$MHbHTyyzlgp=oGV)p-T*gRd6 zd9cBU7~F2~Y=aLq_%MSHH~6c-zfkdWd`{BG_mnH}8t(+W{&{}?6Uy2Cy?1Q7Un%F* z2Yx%nF9J_hm~*@uH=}$;e>2rb1B|}V6jIz$Hz1tZ14bs^>`V>ziZ-pC{hr^H2HB@H&2uKgk+k%CB9G zoWEx}Ji};wyTQj8Y|HaNCBFjnJ4nB*xg%~i@*V~^8q8l7Ne{#KHdvPz<$qG;Mf{qH z|8*nR<$D_REBJN%qTi0w;n^B5fS2(ZHuS{opKy&B`v=62!^`*#!|#Ro^|wU_0ZaZV zU&r7>VOYzttwr?Jd;I-I{nL$ng~1mZe4oL8F!(uxKQ(wQWK5^$NF{$5d7X+h>G#T~ z1MBy|cLe6QF>qVE=l^pMUcME@@RaNDGfenB3}*Wy-)3a^-A#DT$!L3g7gy4=4iYgK zVJ2Vi$5)9*0n7LyajTJU4!ljtuaTsjSoT9D-V%8Ht$sgL;xm9{|6O9X-#R|F{~B*^ z@C=3j2>KKF(k?x5#M*KAP2hI{Mz-8u;FECv3NU}4DChX^w-sjoWz8hzy8_D^Na7=m z{HsR3fst<<imL z6u!gA&oSW_8vVuikhJ<$Q#c@eSgmf%TffIYxdguwFxW0*v=k^L*5Z0-qYZ{ z4Bp$|eGJ~$;4d4zpTP$je2~Fk33wFFtQ(2LIB6JVVAf*RANJj%G7kgc-SC!skJ$~b z#C-bYXm3>Jp@j$c-3+XX!6PRRe6KK$aH#N5=AnfLx1${n|1h`~z?z6V%-Cz(Dy zPfvWilJlN83H59j_09X6f#o@a^2NYnkJ!rj?uwS*Xz(Iq@3Pg%uQ2jU44wxp{pe?q z9{#S>o0q1X?KApzbkB)^*RDAXXVY4Grh8ZQzvwO z1iYr-bPB!4!W0{N!KLdD;(wzx(JwHZsu` zu=i)2xxbv?zW}qJF8Hs&l3uQH7zDp!s-Kt5!+g%say~b7pO)(9;bD-oUnTWd`a!f$ z{q0rwDZtcc`ttNo0$<0kG5aal(lN8oIPa%DPD%SQ>j2AsAk^n`_t8qe0r0vQ^5pfT zd`lzW*2pVHJ`H$*vNzt~(FXqu7hckXOBYSXHIsQ(;)8)@9+sH<4r{r^709_yIHHM| z{)hDF{*<#{r{!GRzE{HEPS38uI{h~pIe$;I{*Az0rJv!uO8@1Mca{F{nfR^* z*6HVSv`)|WftmiGG{I>ENY-}sE zoP7x`m-zn%zWkOkeQzqvzUGx^)c!AHwjCin^Roc{za6u^A%w>%6JGj8?3;7Umu)NU zKMpTr5KKQlH8Tktav+t_yy};(r3m-jl>112=x`$E=Az1-@p7 zRG%B*yr=M6M*kh7zZLX3W+Z*ryI_;$t+9+5F}{h${`v;x0OpPoNJpYLh!a5Gm= zL=iF99RHzP{|IDs4-Wk8*`Ueq13@|0$Vp$G_+^8C2Yfl~vA$Ej3|Qt&i1{p}G2a`P zF=)z(wVdTG^@DQ#Y()GSTW6)!e)=vEB-XHrlAA-AKp(fKqybN-#i4x5Bw&nZj zl&=e{!xQW9bAYF9>en<;|3ctXfW_Vkz_P}Q@)LpOnA^s_H^If<+f`qHbI5uOjrf!w`Za3oJN^jq>AvG}kh5=qYLeTxJU++X&3F0qk3g84 zAlGAZd@ow3m+x6?%)Ye7+-tk5{A>@o&JS@{`56v*SNSRD*wgvpxVO#^pB;31=Nrs5 z3R=DpxU2kJ1G&x*aaZ{{0rIZ$b7GD?ou9>!>-_MY4xQdkgSi*8mcIviSNZt_a-ARI zuJZFN$zj2n8bL0^3O|ATp>l^R~;JZj!^;8iNh}lT?Kw^68=j*8+ejOa7TDFN|+;~mfnuWsas&iW$fbbXq?2p z$x|EOX~U}5a2ntcn7HfkNs%Y~30u=*&`3~_jqo!5#zk$fxKs3&W8y?+^wu{10d z!Few{efm?>;ZSlwUyII_8i{>eRvLL?Y{AXq^M6a^P8IUjgXeu$<6_Tg2xpNu#A3~# z8#u8D*ZVO!`?B2qPyWnWO~?I?oD1i+vpsH$13#YZ<>4I58T+DoXU+>fZgV>ypcsRG z@8?5&oZy0Mh2PLoJoJnPwDCCH9UCSxbv)udEmT$v0BN+j9AT%8TT7ys<&H%k zmO39fosaMl87|mxM@m6&?v75U;EoK7MHW0Rg~w%#-N_yP?f6fUMjF~Kz}Z=LLf=k< zMA)i3dYY#EvpJvTdcbr23mwP6^!gXddj@&2j(n{k=M9t>zB$NQ&GO`H2RZN4JUQD! zrjLEqJUQ26P~My)XS>biyfSZ;hu?#oV-L(9<a#rFLPBJIo_M9f5fY}~r?R*J`Cfab?@u)v{gT1! z0dJ=C`57Z^-{O&wYy0aP{S5+U4P^T97?`YQU>O{Q+w$4|tX=-u9@=C5wD$|;+y|U;DQ|thQ_l6ul(T;3 zg>Q%4)=!SL>H5jBwjl_g`F$vZK_@@%Xg%qQf*p!`7Rru@=7zIJ{i6{9&kpCPTwxJJ z;{qQ1Eau!yyFwR02 zk1_?}Ao%U!SLePa3cN`w0+MqmR$>z^rfu?&b zKXyRj>c+!^#1kEb$P*AVRu{h`Bz|{4ajdiz#${}a7@zXZ;IRgGGZ>$WOMZVCo?|K6 zo|Uf-_cG!Cj=Mm9-)Ns>o!b6K27h4ipA~)>CBZ#}Z^HmF+Y{pL5TC41B_0Q?*RSH$ z(2PDl#hQ`tXYhdre+9T+d&KxC*YO<;tkZL-!DXZWIr5{!FID&hlou;ry>%Ltv!5&F zNz8VwUi(Y=P@`WC`mC$Ay{7&~;LCbX;t9ZdkKXAaJo`U+;i=E`u>H-GZwtPxH{BmJ z@8Rz+@_VQfGk+R0e;V_~(YS2z2!lr&Jj&or4BpbUW2})DPm72simwKQ=(T0{Df&{`Z^sL*Vi2rI=#@TK`>x z-vrk7Up4qeg`Wj|82sYleh)@s&I8}CFz0=>{3L_t0{=$o6KnnRfVI8z4PIdIsV4j- zMt+%*b6!>3zt-UEfmh(;N^GC_u=IP}?_czL&J4c{;pKbI#2)~EfR}E?{@;OnV?sqR zw=~o8e&}fF@4j${H&SCg#|r%xw_=2zYO$&)x8}obOA^_t~kx4zP}IfYJZH ziSK%Y9|b-O@v-mA{P2C)t5p0;O?rL}EbB~Im##;7@_k!6V$N;yeOs7G<~HShTgp42 zzc1uSrjswmS<7z-_HY?8_80@hKW_AIg8p}4kL6D}G1J5Ar_<9jU>p8I=*#^}{qqez zCt%L*9Ri{=s;{H__GAug1^OG%heYx=zMQ@|%L5l97=t71Ti#S&mogrD0-f_UJ zQ=m$azdE87K9CXMFk$;)2akN0+|dJZ+*x$&xhxF!V}nEe@UEOtBZ{tSfek7+Tpu>w za9p|N-P*k9&aJ)9io(QQU*2NZXzgx7^+=>^C6ws1czB1>h4DdBX&LbHdzbWXTM|l* zr1^&yXtF-Ni|~VxVwtNY-U#@OJmOM$#*d+=kq-=Z$pj;O~F}@PqiEU*#`6dVeW^-65k2oxsHq91Yr4S zd%OiSMz9P<&@RWPAkN5{e>;Bl26)@S5cj}l{UfdbbB}D=Cq5mXa=~W+>pikLmr8wJ zf2}Xr>MsoX%)izbZ1vfQ&_1uf))#E`Zw>lvCA7X^tv?Pre}ey_{TGIR3tsvc#P7jJ z2mAgC@ju|@_mr4z*7{1$@zos_9t!*og)z{^i*_z}RDZN_(vT)*hd&S|OLYVdC`--oW534Bi@; zbIGjl4F3$gwl@`WnM2Fca-#~evpLho1 z*YS-6*7{7p#w>psUt#zSS0m@z3>}`ohZ=M3jl54!d%cyM_tyUK^~NJ8KLB3r5x2w3 z?=3O!FO9ziOnYq4?f3xoMb7$=C%+gvpY7zo(@p(z4ZhOguK};KbE>~3Fym+YmuLUq z;A?%hSAyR_*yDju{m8E!BmSnrcLUQtim}E%_3r^+%8U3xU@0Hss=-eK(_UVAP+#P{ zKWu&|e;fQID!sooc)7uk0qgu-4b1pCu59hI&3OwQmE~B#$o5ij&wpgG?9U|f(MrB4 z63+d<*j`YMWuHm=NsP}o)LlDA`Q#8@;{O=w;aWSE#~AnpD7bco_1Zgz-vf$IEKAe- zIKpduP_WPTGB17qgubi=Wcz}jmZUu)9%}F~U|Dxf`G&x3-*C!p-}s$&wx_&bsQ(PS zv{%HRp`z*blr!`1->vrd0&c!1Z9ks@X8bH4hJOxNx2Hv5ZJ%pzWF0&8xvhW&~H^nNP$a2Co1d(iX)@@~P<>Jul<8G*gyOre`oj*^|6K zImQ)SA@1m2#w=KTmpfHGYVj!YsCq4BbC3a98&$BfS6sk>(uDla%@ z=@KuKaJ`{&-V~3DUWNeeNCd;7S5irsBf+dX&F=nGXcXCbuu>=s>W&gev`2zDf>vnE zCAW;(A|PC}?&TQcv@V@fd^V?4U2rF(ifd2#EcOP9UiP0L#>Yl@b!%l$^Yp22)x)pD6nhMAh@Uxq)}=pSe>`{&x;#=v}@#toZm zZxf@h`)iDEw2|xnALRq!>pibiKG1|`e_7Hu8EKjhFZ-twZ*TAp2JdL_41;GHypzE@ z8@!9byBfTk!Mhtg%iui>=6He5-(CjqZSa=^?uRqm@~&N5R&1bY&&NgkiTVnBKx*^$ z{T-~Xn*1@~wpn;w79N|0`c5-*3`HrNuxV+IH*g< zcHl^~*}YJ&E`QX&zfauXVAeY==X06Htj8J;F?guKY@4(`?+cAb8O(iJw4Cnc7<}zU+$YNQTee1SCLsAK~8}`kzTh#vf9ATcW_R@ z{|-B{Klu|$`cRA_gd*uRoiVTJ?FKf31$J|yieRD&GFU}0vFa=cyE%z04G#qoW9)-u zm91^mEQtY`#6SU`#qJ}K@5*`Xg^Swq*=&ew+`>iW8Xg!67uC_uQ--$7hLtT`WH|x1 z=JBCDDvuvk@xz$o$~io;*cWG8s$Dq&<>Ugi3DuPFx+hfNU4rejy&kCGE@^B_q<1A$ zn_JF=9zXP2on=t2Vvr|=>8yyfl<1X43$L=iP%R>Di{1*nN;J=<0aiMEVlHXCJ4rz` zii5NgEeup4$x$((Bvn)y>nuCv0eJr2;#Bi{PWfZ-GCx850=y2t z+~5YZ3!D#Ovuo!s7@p&M{2l?zZUMah9s%VXADY_J@ApN_@x+Igx436f>K_6u^Z%6Z zX!QAg0-fILfM&M<^P6I6sSsT!1VdN&KUIi?7IfRxelt%#r`w`!I1b$G@_y6iBZlFvJ(jGCDjlyUQF5vvAGaGYbbls=0bS0I6}v} zQ4MbUo&xL)^cf^4ipqHYONnqX8yXral^9YioDW1p1Cj^VU5Kc;p|Rqk-9?Cm69r`k zsPNEDLV;+hFy3y6-V?&%gQ!!UhBOzL#%busIfC~y`wZP6(a#fO44!WA6kz>)g4aAV zc(}nF@6h^(Ax`~#_AOxjd~`6d*5??A#(NulpTSQ6Yx{o(*3V}Jq({eht&Sj&08 z>-euUcmlAL-wM>hHh5VNMmzyt_6H>19$xk%Bt8UQ>vMg&toNe42kgsur(oGPi1;7y zT28Fxj{<9ZF91vX#qeBTufr4T@J|~#v6f#BtnJ?ftnL5AgeTVFzi;Hklym%$V_E;L zyQofp3t%_Tp?$ryb@rmxnfNB-&3*U0v=N_R#77wUDdk-Lkn)&Cb@cPhn{VW$Do3Ye zhN>5Do#cnD%Q7ZB7@Wfci|pA}#38H14N52wRL7Scz2jPt1mI`5kbq&8j08VZ62>G$ z#Wc9=t-9mjISP#L6@C*>zIt>tzDa|k2CkEUa8xT_$P!wC6(Mltb2ON%L99TPy2{1D zxL;M72>6In*OgCBMQl^~zWmMbkHvmX2JsKzPd+w%U!V6R`#89@Yx+3UUkb0^&!_&$ zKkgfGOq+coK1a)%66$mBFs{+S(0$Ds4a#}XvX91*O3nxBH5!yZ8{{0X&yzn7`FN}` zVPAytZ;7*xpKS{5^RX*0{I4N@XNccJmhru5@Y}#TzYhaT8$x}~SqbL&)B*S*TXDVr zPCW4`z-?W(FxOmb`Rrg% z;v*LMzKH)K;O!@@huH9J4m<-D=2&yH!u7-LC)XsJo$M+&Q5Ed{Cx1I zA$~qXQT`CT&fj-~oP#1(eld7_CsOVo;(-S9jotBgr|-jaf1+s$uV>_(H`n^x8a&B_ zpKRn6BcEdMRD-9P@LcDm^K+QNhZy~KV4a`Y1|MPYQNY?h*A!@64tNa8a(npH#epnD zOTH6DWjtF{Is*|^g?J+n4S`s@L6pnOL}y+?eBR{jM6E)c<3+QhxuWBO$5B7A(=UlV zT7tUIWHctpSn?fA>VeauI8oHj#~^2?81;*iWPnqqa`adlSJ|h>DYrlw#6alGl}OhX zq7We$@n{Bb6=H6%Q(Bf9j9`$ruID(S2?j~Tju;Dax?{+J>duubLh$CL!`Vwq6^Fqo zdtz3==?NU(v-q`6d7#2@sTU#joF}LKUNv&| zBX#^gGV(i({8}Tw&d6^z@>`6Y{YsrauEmr1*~ViFqv*gReLGBin!((YSIY;Y-c7{X zeX!lwA6JIUx4syjdvx;M0sNdh`C^>q-2uv{KrZhB2zB0`v&@aTA_%#nfj% zc>(+{;Q1~C>mISyA05)e-$BZ4did@k?Xik#dwl}7_W12foql45=kK5nzm5q{dw0VB zH%{)SY#7I7_cG%yDg)MVd*yPQTTuz1J95U<(S2G+a9R;=ZN>E*9w+8 ztO*F{`8kmDT}5ec?gEed4r(lO6{4@> zzXaiR`Y#1$df49NrROT}nI5(`ly8EwPVeo&+Wy`K?+?uKVSAHTJ|n@W{dIA+_Wy|Z z{sq32KXHF}+QX^F9_4NDGFL==4?Oe7_Q&Rr@`vCVKc9Q@;%E6v{-}Qj{F;`(=IQO#$qFlS&%e=4lY8 z03FXX1;vFu6nLS>xpcR@Y^&3LB-wHDr*xp%dBJ>>eeK-+M{jyBP$&iXt1XGo#s=i4QYR z${m(L5R{dW;Szac2D$mURMp7hR3c9c!l?)$=WH3)``Jt$1Y9uo`A2}d8>y4^xy1JX zbNw%E4u_ZZzk>DpU+UireOd2I{IIe23xgjqcnPqqZ)W&k8M(!;8GWt?)amCw@)~o0 z2#x<@@YBFtFU`_%`Ndi5GyfVtYw+g=7f_?L{^LgeOM{;kOX#GQt{$U35I~h8@oek#t)UK|_myCX!!Cy1@8wT^c z20H!?4c^FLbe=Q%X9NE?*Mob#>g(}cWA6fk`M$MI-^IYXe6KNbix(UHM~(ht2H$P) zJqBM1+|~8C%IIHh@KXkJELi7{a}63_X7J?(KaBhH!K!bLdB47F?pMmSy~hlG8kpf> z*4^(mJmot4YpcQUKwj^CGqz{%n(*%f>+AWUk^dc7*Oz|+%lm1xx6q= z@H+tO>%p;RZJ+Nf>+7*Qu)ZF982v9BJPWw1>%s6{T@UtYb$Ym-LgR@6kHB?lhtIfJ zq0W>pR#Q6aP;^{LL7bBEDQj{{^A$hPY$M%=9Yu735I8%X@(jm`kyvqM5JSQvE^lX{ zV@2Pp=-UEa?$O#vo1!l?__5N7;;1M(l^FWL6=I=q2E9=1#Htsmh91gFzeUjqt5KSs zD0O_koRLCOp#Tim>s6`XHWYA#JFM_z)t?HHCmPYogkR;jo@fjrL{Mg5#>o=G2S-hJ zL@Wf#y<7-pB1g1|2*e7foN$1u701Fsh^4}KRETOIVB5Q5H4x=+j)bTPBQ5%tYTzY{ zLmQ>el<@51gkewIP_@7+hcIcfT7(me@GRlLj5zjz*#>e?F}bIRR{*c+Z#?xsgub*9 z#JW#Ptox+I{9c2OkKY%NHi+^PE~%DVye{Nge;1>_tHIkC%y)RS{V~AOrZN6*z-+U4 zcM?AXul1Wu`0fVt9U`s2kHP%$)pFfuW_-mU=d(B0;s5{7NuB<`lnHn6tG{-?-U7Eg7U+U^7;|;d*yn+h?fk0!{|SXn^cE? z23UuG&**<(@W;kJ_y5)5KR5c^&sWFS-{6f+{A~t*%jlnIxdndtfbX$s#0;c_*IBWZyGt9G3{Rg1G zcF^Al=LV!l^7nOM`L+w=<3x{6&o;oXAUw;G@v+af99Y6n0A_mn1^EUzGrxTP$xF|O zpwBU6oqo=p)YE7B2L*je|5)IC;qx6zzbultAY`n_YRau7eZshs1S47P9?^ju8^|an z8&U<3QBWWm96B92E?*aR#X|cWO*XFdX=tBQePZQbj=K7mqlzFOPsybTSxLz#Ay17O zpYRqcbE3wO$Qdc=>QP80(jZQeNRBu~wh1q4pEF+Uwp5a&$CV~2zQ(vvj)FsD6CCRg z+j`a;`Q9@z>y5_zrPG-8Mq}0+jRzXcdZXoBFRU?FA!^KVbd5Q;q46+-uK@n*TYkSz zrvFNVuQK>*gRe38T7$oD@O1`XZ*YgfHyC`Q!8aMq{({cWVuNo{m}N5wUizBEli|B?Y44!5%+i$JUHbm;1NgULmw%@adA~2ZLQj(15 zlOANNlzwCxu1uSihAVaMA?a7RMNwxFCMxU)h~quTwV20(A$wF2e;b&42r^YWI#|M4>@MwLeK2M*09G$+CLwM#zhv({`yzr+4 zeXdK;`Yf3|{ZoT}AEVDP-8}vI;Oq3AZ!muYw480c#y0@7{8+bi`uN+F7vHTxpZBEJ z=WmnM=X?4UTr<8CO80Yku3M9DK2W}6kn{TH$@hj_)HujSms&SIUusgT#(1B>=%205>9UiwEG z`+Nq}@vUX>iO8Qk)6xE$Cjajk%x6xP2d{5ld2||mzMrDwp9;+U@%K}wpT8wL!>104 z!LcRs4tHI9Lhb)lwK9cq!EfJQOBeLbZ@`IdPPe_5rU#s>M-ER7&-6Jp5*ZMZF1{0*gHK zPy#i?}X}}QjthmRz9}tJNFYS z%dQL*gtaMkWdH?Sa`qVxqEdaAR*a~c&_(y-<^%N_SOzf*zeNqvMT1Ctw_sLT$Y?=J zs6ODdOSN%yqLLxzDAew0XJEEeH1KBEu>*Zy8K4trw-^*OovRe3h`llIF515=B+{Rz z^P=^#G=H<`F6!4-VS9!Q_g>I9wX>jYE63$w!9w=VyjxIAbuQ|c(hK^g_F<<#wb@4v zHqjJMjCu_%lkHqDRkn`LL?8g^Ss+pTUO$-aHKd%(Q8>B^B{+Y*_!Lja7T-JGt|tpn z=Qz=D%y@~CMU^a^o`uI(Gs=Y3rX)CFT4d1<)i*TUEi2tE&M5Dmh0k|nq&r@@r2AGY zwvdGHI6n*HES#4OdtL(Zj%L3d3_Lq4otuSesu-4~p)&}mT^3Hia>;l|CDqgCXJMRy zyJRg#@e?|t=*lJjRt?7HXJMRyJ5)1?i~zOEUVZlC7NS`B-P9R-wYYvA@y~$ecTMns zeNy>-kZb%q6aE1szt!NI4el`b5rZECmVN`%v((6+GWa!vpELM!V4dIZ8Tmy+(6?$ceR_dlBgH#9Dr&krQh<_de5j8nC{8#9Ge1O0=9<%O@K-vB)1r zb#mADiu7AQyguxg;L>FJC9Gf6=iUy|Pb2307y4T~GYsCvVD9yxzr{1r$R`{5G$Y@} z$p4D;YI`38>+~!)@)btD(%?@GUS`7o*~tH7F2S02ATA(YcRj1q0^7gg1GW$ zzf$)LrTp<(l1%>itEuzbXzZ(P`TM28PX{~>={*46I*1bo(}|mw zP*LTugyv3*wXTw7RdiTB#|Bq9P$>L(9-`=JQ3s3Dxv4^+`<2j0SVGTHbbE&GNOUk9 zE_93?lM-6-8O_v+WCw;48iGKVK?)r+Y~W)IJ63dJ=j^CZO85vWG`jmmv4bvFA))yb zq2uKww|C_Xe~#y4on4X_yzidS&ZdNHk2;d_#{fp0^5dz2F6lBv3Pi=7QP#m#L?0_i zgy&Xw%ngXoLh3p?Zj0($PPt=?N_)^HJtEMBo6~n63vpnY6ZujaUZ<=yJWV@^j;Gly zMj@=DyWJc|hm#4{?Pkzb5O54D{KAhK6PoFie1kr`-DzVC)#b&RBt5;|wZKjo2Nm?N zOBGDsRJwuT=#`3Iq3E^@?SlWbWoAX}+*RB;ONYn0&HApD@GtGVQ$oAA!V{&VgCR#( z1E@I_6~_mLesc9eD|t!={y=i9j$;bHN{y^T>116s3j-1}grztz*~8m2(D|p3ADpD; zrE++de|llav$#DFTy=7E7T(24$L!Hy5yV$@zC3D*#}yK_o1 zXyCF+G{hAgqm*P%uF4@=2IQxcRYwC9thQYBbuhh{=1!49oN zqCmT$)R~;1+b^|SOi56ppvhvR7~?$|EO0PSNVI4|f;)p@{qEs`8@05Ef~r|Pp%fH) zVuVCUa{ayNi;uQ&g)32bI(1~lUFTwYS#YtaXB_et8y2oHpF(ZhCiRNiRUf?z2wF11 zy2ms-7Z+krV*+tr!PPYIIh&Z$^Lhx4cf|&!^gKo1tms>=Pjzm2MA26T8c&J01iAxh zyjju0XX1oU`c4T8T66|09nyhMlM>d^p6@G>qI* zKhPmwCPCtLwBv_5>+}Qd_~A+UUXw4M0&hoX>N|tMzR=){3gb=a^xDDBpfi2qaZIl- zs?(J8y2QzKPgHA&Sk}-|^0-g96DF4&;#O z;DgujM~wDY0`7$$HIhh;a6K91JS8b=bEHprK3PtJwUG?z$|Y6a+;Ei-X-I~I<1kT~ zL~r*-w<5{(E)Hkdb)=8GmMo`HltU16ssg*;540BvnIEjIa)Ghb;Hqg9>Bb1MVWiV( zPRdjjZ%cEC6*XicNmtUI8wx#bvDzHzGnr5F*=9#rX@Q@Lbu)A`;5o)D>u4zN1AiRk ztVopemeg|o9DEmYTA-Yrel6z@&P|ZBu2If=QOo)J`yk|{Am`kSmSb)*dKq#yx(q+W z$kzpa7jhOV16nkM$Y`40y)z``6wf2elCHW@lf7sl-=qvjlSLQ9jzp%fMV$ z#53g^!t4AoKOaKQbW^^uk(1wyg|kc-12(lt!p28^Lqa<0> zbg-5+DNTI1C_&U|oF$t4HPi?XLs}MRWmzk3rbZ04r^w|f8()g}td+ztqN?*gqEn+n z7G*Repwv}TvW7~E*-2u3r$jwEF{G0y^yn-pROrMEZX#pVPf+$gn4gJqdIq@%%OqS> z=$nydkSntWkps1GSW>wpE#PHxQSHu;D+R~)|7-!7bE*^AWHgdq5g6=lG8xJ>ScZ~; z%%p>&!1y>(D@Acad&0!vyGRu$3kfNBG&_oCt-36-P=i0mdtA+)U2qcyvT6rOfp-BV#bvn@|kh{ zN}ooh6BwcF5p`p%q>jwLmOg|}>kJblM3{2Ha1kY0YbmEfN9A7pmQCak-~UXFg29MVH>6uFgI&7R4H;rI zuB~AVvl^33IO>`5f?#BF zk{cvbDXEbbr;8Z!Y?W$^Yi|TTOYlABFY0zmW^^#(wF)bg=(w0rxkTslRfSK3&c?Yq z)m4uKot71GfL>5a~7Tw+7duC0>1cFj7}uT{%}G zZ>O@sMs@30W0ad_T#+=*Xzg7Yc4dc~jIJ&{QEAQNVtrm58YWvekeCodG*3sEoL6<)vKW_q-IDw;!$ z5xyy7uTaf|r+sa&(wxP!3gxW4FiYX}kv=2G$8pp6U5~Caji0y_yY+7&zj4$QYyDE8 zF@w>C$>O=wGdPZ{e%4;pH!E)}v}VFbQ?$K-g*eK}k-p9}eKD_3l;%fp9Il7p4vld= zGZ+t=7T>D%u`~YdSsWAdg#>Tk)gNDe*GA2;3#S7i9T;--GSF1CkxCVBLtG9zRmkX;&PfOG4b=;-s+K#{OL5HP{a&DM;R%>65 zZ4$%zmA$n(%&oYIj_6vaUR>JF{57!SZWx@(bv^rhxJ+M_&}Vq zW2#rD!}{|&2l(sPRhP-t*Tda;^pI*qvRNDCfwYZ5-begCFzdGPu3>x$X9MCcoBrAAYkf_tnO7RLg~$ zb6E?owvNxUuyHOIx}EI8WYRzjD{{Fn1{2~&F9X|)s6GGg*seZ&zjh9H8-r~PRZjU z7q`}07(XJ9i@ZfqxhA$g`P{j=y0{j#7FhcX_m#%+IrTTo?Hum!fLG>COm#nBCfucy z^0@PIxsA#~l-g}gEhJnNxO2W7M0aVL-cHW3`jjng+(s;9xaAyfFw5(f(Uo#oUo?H2?KPVSM-zQ39kydyHr$k zt~shkYB5>$_S=i4UgWJ{@wvDiZ&(hmSM(%4dX=MB%Nv_x&+%dxM?vBk8?7uvnm0VE z)`UgE$1?F_Rr(wc$u&Hxs)Z~sF4TtgdRcq4 z{FsTu#g^rf<(y7SYOeyBPal;+n%i=CO<7)<`G^%St`;&pcg;Jq*RogiXhX$Z%U-3w z*YcvjH?&(l@aC+r_NooGzBKXeH{_!j4(+Kcq{WgI0F2g;=(swtOhLyO5<6Z9HQn#r^IQ1@>nuDKi1XIyjlYUFo^O9fsJ zX;#kjw-16j*Of7 z)pPZd6U+570Xu5>4N;t1K0ajam4Uv0Ts5Y1`0p^~;H%*g7fATYEUPw^qwmDvbGZv$ z*&V|Hd`W*jzE)>?GFU*RER;Pb_N_qTwHGLtAKOW`V67fMU9DlFEwvhY3w2J^B! zK^HvtVf2i=TFXl0uB+!NE)qNt?{ma)YK zC#%&qr-l`gWdqL2Wo2!-fQIE_tmw<(TEn(l*2HqHRt~GBR;yUc;)G6GUQ7gTpv)C= zdBmfR(TXsWVp)x~thkm{u4R>KSf!jqV41#+v85(pRHZRaIi&394#nO&7IPiB?rrD^*2xyINILE45Ws&Hp^lIZxyslZm(Q+wb@N zeg7_JKKHE8d6xU!=PpT{K}WYbkj3w!VXUCY14*#(Bw8L)ArM)?DpV8*I>HVnaW9q< zfsfomD-29A8qI@*QEXeAp*4yIkun6kZ0_d5!! zDC1yqCuR@})-yajit2_8081{-1Xdv;n91GIMT`wCP98kgeImK)W>)Z!m4-zKI70Sm zH_QE^0{4sVlMDpO%KM~|1T3;#nHgU#ghe}S%#OcshQ(Miu!H+vAuoK zUm5TvJVraWSaiEhSep0?pX-Esn^11ZCS}0S<8~l>F$39LF0+aY?|WM?-aQeP3w%f} z;tLmfE+_-LkX(YYkX(YYkX$I9A(x}H6u!t7)K_UC|DctS3rohN0G3(R=I?SR;eHQB|7DAdcA2jue8 zn4h!@df|@UA@ep!h3vk~d7ng+_o(}2knyY zebnKA8sl6hj$eZe;)pT~GL?%jSV*vpkd`@{SuSvds2e!JT)0fmC82hdi@`32+TdQp z1lwNRKB8>~u_(^ekgvN*U|l z8N&EJ8I&8G*MtF>h(Ezv2}a1QhI=q5^JXBs|3Cs?pD{a4o2z-n%x2i!f`hM#VVjll zl$(6j>poTJvG5FNf4tvGKZ#x zb%xP5^kWbB(1Yvm@s^Nox+kSQiwK_K7Ab7W%dK%HOvo}zc8UyZz0ZsUzHka5_i5Hl)Xg$$+h&0vdX0Hr%KeNY#6sDXt&M2Xi^I!H4~DH!!%>M@yZrXDJ8NIpsw#QT$lMsNq!ne1d* zG#_3NM-M&F!^iy>lNDjD;iDvrNSzOp+RX#Hj)zb z;TE_)9*FUo4%<+rl{o@i>wb}tMC%#LQ7V*~9t#oF8JspCqAW99*uSs5FH<*^6?Sun z)qo;ga&qQX$_UpvnlyXxdrmuu3t#8A%Eqi>9oC%i1T)Fe)&6mGG!9s4@$uZ-fn(lgj-ohno*KJ9Cb?=8CfAYoY zZ@$&fUc2$@~F_nob6I~`t1ydz+r4Ch1 z)y&n4RBv6wQrA>Brf$``)$7I8FPK!sUb1mi%jniot#h@FYMZO0DcRK7lwwMWN-?Ko zNr_9zo08Jq)Y~#JYEbl`^r88OXB*ke88tS3eAL8ZlTDNJO*hZT`gG}MO>?u&JLW09 zAbLUULi6IR%WTUUEYG^!wZgO_Ze^~uWjDods<_>}z0!`(`^+Dd{KWjJ*>Czh`m|Y3 zI%hg>KEMCBb2rR4O*hTA&3{JU$$Hm(H_P1;>85mZdO~_)dQ!SOJzcwN*0REnpT-S{ z(&F6kn{Td(7Wr*Pjf*^~wYHkH)(cB(ofk&K`^;IilrknQB}EYI zr{o1H1C*kr%#G4gUX9XvTcWhld9rBJY8BC*f5EJI7MQdJvuA6IM#O8&(_Pxym*X^V zYDI0+T9fulYBmj?cmYLg+u;kwKd)s1YOj6u_DJo!@8EU7^d#*n+(x>2H4c7DGD^GK z2oOGAb~il>Pzf!)cy2BI+wAZi>*6>2lEind!_aa^Y3_^9iNJ}aOXRjf@+D!b)4Jr) zq(h%&ZN2cNT%BI7@kNULbra;BG7+{J)fz{=n19-|H7mMxUkktb2DCCYRf|eZy=&fk z*PRGC<^Be?@3NSpuDII8+})ZQ1s_uff)-7Oc1?$N6@@P>Eq)F~)7~EWl|*3xYzi>t z0ml^AUYh_oqjck3V&Y#=dSR=QfXl(x1t`ib3z!O<@Q3oH|Mq<~uL&OV_*|S!PhIYN z<6FSHi?BQ>M%oD!SHV#4MOHZMq3WXRME}61X(ORwMPknAl6E&dLP<@^yk@Y8 z{uG9h99)KlDf29l&=7kBevquZ+m8(gNahI=?R)>GtIs* zp*4KcZDHpjvY$i^Fz#K^=5iBeP@7KoUQ0s$s+8YbW~xa}eZ>_#3YJ^zlB-L%t|*&G z@}dl}sk67}7qN-H5gV3|eIt0ZhQIVpPV1JWrfxWQY|&#eLM!Y`V$+Dule~za1_{bU z{#R#WiO)_}GT8#!^NpXL*=(Wp`PtFX60j}%_{TB3AFm2P0i{&b-zNpZd?+K#9{&o{ z#AtV8jdGm@{MZGh3qDb8-RY0ZWtA5+A^x&b+1M5uPwcDqQF7HzGA;O{x1rZ9^w77Gd3K9PVi@R^9#7s+**a!G? zpCbt#$Qj~?^XJvgoWH*@GPe(>r2`O>3TF{XuIdxXE`nZr>dL#nfBX0Un7;b^zM|Y5 z{CN0R`8)rr1GC3jR<-8+7)fux-^D1IZ5BV15q@j4FrzAD>H@*+f3SKy=gYW=&`Ir| z*pD#2{wa0v04k~d@BVA>U$JG}_d@zlb-+I#7oX+e`j8Fwe}U~7`tT<3U$NC4bMEkh zQgkYb`v31H2W_PFP56=hQ1h?_9=5>$`z?_96^e_^^{&4!_+5p<7_Pq*pB@bAN|)!G zmhD^x=FFMxoo!7`EuZa$*_P*HT?b0$q%BrpF;{~|b#vv)HQkrqI{L#lhv!DQv?B27 z4#({hzH8;ORF01-GCC^J>Wjxh60`<0DnyxP*lU(}TC>G^qh{2MZ92mfp9~x!9F$ zunAS8K7gQjx+_YwCK=xMih0=9g+Y zuSmUIa9(yrv&|LDHkXBME-TwycDA|P#!YjX*yiF(g8!vFx`gC0W4=A>{TIJ5`M6Yn z6GrUzQzQ}5M2Qk{VspU(ZrEI<+2(4+ zHkZe^SzHjzu(_JB?fyJu;URzi={&xeo|1Q*-Ieo#+wkAzHx&*2-^yi;%T*#Vga6){Cg}1g?PV1|WnwZVCyO&W?83g- z1Sip?Rh&?@mr2|(G})_G6>@QfBn;lIGpjZ{^GI?pEzq{ysmGpxeQ_Js4LUc-J_eBI zHINxL@f(f3fy9rYO(RVWKyWrG61TBM8RCY7K*1}SLLnCBQC?BRIe_sT|GCzU11#b(&$BD$2M(A&F{_>=&!@lj(5arH>6BOS03G7RfRC zBk=m&CRNWTX|~%EKY7$OXss7`xm`{gB)4CQ4^Te8QQT`ucb~2_uw~xgNq?76v!j2k z{X(UYEvL@OPJABwGw)2V@a0Fvh%Zf8pRkAhNkc_2joKmRu>7!orNvJZFutrqxCwWf*_4povce>~8p z;yjQs7%6*o^;4WVmL*=_Z+E z`)5Su;e7(Uj|`uTQWYaZQ7`dsfchTb2j#^YLu|@kpx6}8_5W#JJqB0hJ>-q;|G(WH zn9aTM5Sove^FznWzsidt9O}<`u?FVl@$sjAdPBq!R~w=Bg3k>kHm(gSTL(2=7k39G(SJ5779#%s63&^E4zE; zh4NxP%8cjvh%(eB+FzV27E$>b@!~bw*5n}c;@zptco8pDFL^4on$PB|;29 zBBVei6TC1J<0*R@}drSe9+fO<6^=dkg@`I(<#zG{x({P3?(4=YEx z^=pFV^(Njk2+LE~Z!1j5tMg|he)d7oD9BhyFMaZH-W#rX-F!M6TSMTQ@?1TDZ zVInrEiF$Q?eCb{ESL>ULWl*o?yRSPSugV|sKH7^lh1e#IM_$dt?jdNe`d7)(T6?eS z4zw5NII%r58F@PWYUh%0y!1e|Hh{(N%=nmv=&$Cx4ou&X@nfDwdvPyVY{w=U%jfZr zGJT}@tEOT+)!#L?Bd_Yq^I5bE^(uc}elp9S*O%MRO2PIoiq+G$vGdP``lwgmjL`4~ zmM_lH8EvKhK)pIX_vpy0JHed)@E6pp@#udWc~$>-Hh#9V`QX$j%+H!pG9cUglQI6+ zUbI)oXKFs=)%o*wU1NREH%4B~53||%{Yl1mwV}N_UT%7@e6^;mn+5f1jj}K&^6Gp$ zlKHn|_CA(xo_gr7`e(;gEKl_hFF$=b>ecvJoP_?Wep+^8e$J249)Hh8(|A1I?0abZ ziFKOTI6sPw?{D*Cd8+-JvGy+C$XLHm*?2r+MZKDT8qGysou3-b#QfFqJAXRz>Uc|F z^X(vJUy_}_7BU`ddG9ZuALmxVeAN7Voz*vf0_LOIi}U?i`*VI#4UDhG+kcwp^{K_q zNBvG>{_6al`W^D>c+bP?&*S~4`KeWn?LC0;mDv2n`MUklU!4!1do@GIv3)q-G#C1-`JmZBv{&a(cR|#vKbIdh@{21Wug1TnIr3`0;p?fiY^YcBV=`NBlpKM2wO&xi&AlVgxM!J&?WgQ| zpGAKgnSK5z^6Gl7EnClibqW2|`Kjj$VR`C&J8nDrtLu?7-=kg~kM^U;tNFa|w`gCD%1_RM>nU}81fQ6b znny_g((A_fRako-XZ@d*9S^(M`gd0;jBls--z~uS>iVPm+sLcyW3DgFuAiTN9_`iq z&-;Uq2hOW;g69Xjc44ov{DbUzoAV=L(O!+;x7qsUy#iR@22|h6`Osb+&m)^4uZ|Bs z{_||a{uB4G#K!rF?0Ua;T`aFXnrmEd?~LUYA-#>wCnwo_bd4P!P3~eoYWx*p^{22w z==LI(r~2narDk2lnty5DbB6@_mlYf@aIKaq?{}??!Ti;DjDHjT)%b3I9C>v=Bi}d3 ztMOcs9Z&hUp}rht^gYX`^>Eay`K2P`cO|1lHXa5| zMSTg%ClY^xm(TcCtiIQlV0?8v4Po_}I0p4rD*pt#9z9+Q^=f_b+Dzot{J)XaZ_FLk ztNC;a>z~4>P_NF9eipAk>+iWtzk$t1-#>-%RQu&$ioB|C(_P4``Qy)2>>o8h&)8$s zKe`5abw9+x_z`cQJ~;kZ{hPD#cZ{`v(eKe;oqzr~fP6)2|B@`;VqP9=Pd@&4vi>u( z@%2YuJf0q<@|rU}AAgTLi}|VkuGI+rQ^=q9U-TxlSJzipS^wo>@k+Du_pyl z7+>8_Y0bvdybGwWPWd%tj4+SefapT0(3%^$pd8*ISwqvqfCCbU=c-wzX! zSL2b}-(u@WuFpLT{nh-_ims<9J?%NxUir(Sy}JJCz^ycOEX+;<0i&BGd`!UC{KI(p>xdqy*^XUav zAMPL3%xKT~0Wqjo=XX21{%joc|$zr)rGUeKli=8b5>B{fw1tyys)*pIXe{#@1W!p2hg;{KECT zyhyxwxdT2x8>E%b8Rv^9+4aX;yRm#VKKE8ZUiB~M;dx+uOl-wjt!Dk6BPt6#qEi7(&DJk+y@K&#|=8ej<6dX#4~;IY+pR%7ti`RZ!iW% zzRni%N4*!I-V?~5FK?dQxe_hKixn+WxKP0Y8-AUsU+ls!IYOhUG7IkIInWsS=j8=YXz9v7c2J}MzT#vGL;Iw4YRdA^+I z`A6bU?!ft5JzwGXKi*>NTkETfWk~Pxl@gy@_4RhKqi^hp^4G%X*O5LA_4-%KrTzRo z?>7)T$-9jHj;gDqe!@Hbe-b;Em)c3*Oa5H%UqyN<-;rm9wC~y~-zKr+`v~>c?O6VO z`Xi)wQGWFhoec}83V+Mz-2`Y}itlc^Nb>Hb`)Y|Dr>nQ*m0lR2qJBD+ zUmx+v7w2XPh0W9p_0N#L2B}F!^{Y_m z3ygZ5^oPrzEGqP##9;z7FU7aF$N1k^3%w`g&P1cXm-K~4d^20wx|xD(CGg z^bS=%jSqWY96u}HEO=DtwO&-d8h=f(o_We`OA=~-v&RJ7%dZQ@f4189n}yu{`ZxhW zy_fW7PSp_0L(TrGQSa!A{;B(B%8vAvBfZMchWRzRIAXN$ch?v%AQ<18g8q4~`=1l? zWP1w%LA|2|=D+NxlVXXg**1<9pn2D!+}jQPSMDFVK*;rTbbOKC(H->#zp5t_(|;uW zv*_<5eUnS8bm4EWM&n0~kH^se*ZNh)NPWuz0yOV>^w)Z#-dx!$7g&zx1{?Ga(*ITW z+XF)3f7YnC_Co(U^*2@!ddnQtTPeOy`i0jwJR|*|A1**sdi&$(KXTjE&xAa!nNja0 z{m@rud@J;N8>3$9jsEX^yBmMH!;Xews^Mp}v?St`) zrSJC$y(M9U0L}Xfwx8Y>asJ-3Ur5D1w*+r0>8IlOnKr)h9HG#yGo;?SBV&D_7V4G1 z)(_|J{x42gBK_Nwp8D5K`OV)@#Ub>z=A@_b>-`Pqm(_b;m$z>Hy+}{vM{{8P)^^;q zPWXH4%VDAg=N~K1ZyTb@?h<-SAD4jO__p>#|B^KqWD#-c9;iJv#-2-13N9 zfacvs^(XyJ=SG>Budz{Ye*)vrIMkqo@bfD@)nCspn?)&PWCkP1o+lOHJ z8xpGS5OUx5{`zDc|+ShRq+o$uFU1j{_%Uy+;=6wU}Z5@XG z8&7VM6Tc;UXM^5N`Vt>JbxSB56^weF^gr(Vy}Hobaxi@tEa%`~AMFr&XHL?q^~tp5 zLaddza_a|y_G^?MwV!ts=J(Eo&n-glKlGFUO&#A_H}sF))vTb92R@oAK(p?o`mMqG zpUPb?LC77QrU?kPzhgAUKb^AR4xBCS8A2{{fkHX(ui}Y&zG+80UTKyMVNWHI}(ck+d#JIWs2{bys#C~)KBL}I2=%*9*OlYbaS7W`<*!f0@(V33c|rK6QU0p^ zy?Zc!_vEwkK(-ttf12NY)6xHp90^5)zhjrN{j5);|AgM=aYAo>(Wuvd!11$pK?Pmt zEp}{QRlZ&r^KU=nf?OEbYm%PEr*8(9U#3@FRpIa7HC{k){%}8y`i}?Rkqu*ciS%lI zD1z}9?aKeI@N@6(EkLuX@ii0AZ_RdGt10A`wZ{3^%JiObq^IMb>m5&#UL9Z0V16ft zul`xYcaAmc9RqQkolbpzr_kF*81*{oCW8rT%lfRnZp2YmNf7%0D_&oXkI9QeL5-BGWOABw-E%F~U6BCRdy)%gE;skGnz_0qj!$97w zk753s$9?svP$c&?`fJ}|`5V3UP71yAR8IlH`n$VXIGL`t)U@SS?Tcod*Sa;vE8l`DuQPUwh-T z=~AB4A>f|=7mU9-*EkGhG3s@yU!^^Zatc2W)7y1ypY|tD%lcUojs9*b|If9b%k`Cq z>Amplv|^h#`FVMuCg*1UXEA=coo&ksJ9qBK1qAcAevkU5e{J&%xh;=TuYI;qh_z`q zC;TALUiC2nL4Wsg)E{rLr@4^(T8$SF)H{B__!G;Nl?R6B&J3xy()FLO59a^NTQm@9Bb`JfQb~saCDC}pGQLnBqNx%Kco@<1{^F8XVFJQm9&mdlo-XPD<-kJl^ zpT>_Kh2;;ec~lN;|H&~1y}L3Vzhj(VmJtfuMa*C2r<1;XPi>yir!l>~3i>acQ27<< zf63_YCB4hp^F^We9wR*+f9~%v|4-8@%j*~0<1~NK{Hy7xKhU<&2QvO@nxDyEyNK=g za}Vowp-)rmZ>qohEczepGxxI4`wOQC2=<@$J?dW^JVKsd?Zrq><=Zb|{L5eBLeSm; z^=f_SrFBBR^I2aPah{u*^(;;PX5 z&!fLuKiRXOzEjpeWdAxYP<*PNm+F^&%+POzzwM$?uV=yWcd_=M1417V-@pQ!8eiT` zs6XQVX`GOIZj-<2|6j3wJGQNsCw_hG6k!(hw_n5gX=cxNCJMPNyD`4I2DblG-iD)u z-bec2`jz6R)vRt2dV4(cKacg_oukxzp?Bsq>UD~r_4-aZzHNy{y}c%uzx?RFS;9Y! z>Gk1QziS1?cMy6{ZuD3A*{@LjSG=2D=q-8WGA~$vFU9ZkL;uf(-kF!mr}opSeV)nF zXS4J#Nbzahy02sVJ$|~9Jh0p)NKfm3?E=>S_VknT#1be)@zwl7`R$GCnp4D2D?@r( zKlrMmf0^vK?)NWY<2!)$i(B^mapCXTO?rxN{SEcCFRs;v-d2I)tLu}is9#cS>`Ov# zsc6jKP5B2tOe!kg^bru$TWh2L zSJTG@ggn6XdNpkS6@BB|3B6y#^{@3^lv{6Ne$(0xzb*91Q)qsr`e~QZZtsAL=|b=I z8`qb<`dEJVMRvLHvE?wX&mF&G{M1Uz>j;16i3tLN`MV!Q|9l6YJ1gV?rq^m=`E_nj zE+zGNn$@~LwOX*6S^m|u4vf!2a;1+UKAO-(C?MpqQ}FwwI+f{v=e;AlugzSWfAg!i z&+k<>%HG00zZnuv?lyfM^HX_n{R`~#M_k{Cz3&g z&ksRA_(dA=Yc#=nGd`SLBfDUne`rTu%!S0}e27Z!hSXc~11CBAjT&IBS)S7DS{GsR?$&XO&AY+TNS_#B)Ebrh&$K%EWLIXN%C1TC{ayaN9+ zpOCr7Q9Q2hd%j4|57l$Va6#PPpg(`UXFV#X8O=)=&R_eM{PW6Xy_WT0;s9Z5t&j6V zS{=l2{%)23O`N~4-Wm3zwEa0*g6$W?NdAuB(cky_IC=ikHN3vG-^|=!`;_v(j##B~ zHCdGPqi$F}VYu>@zfS%Y%O1=nY`q83KaDV)zxxv`*WMo2PoF)r|A?>+4C^gjEW;5a z`Rnts{(aZah!?ib*k01bLm19qJ4W@tiP+=y6u+?bwRu9iSUVs_^4H0KdTh0~g{`e0 z`so87%-``lmS5w~Y4ZBV*#-T4DG%nalYiA8E6VeWdj$FgMm?Cn;}(|RsMD%}vaSi} zXSF_C*dZM4d*8}=LivG#BUppxLy<^eO zGVTHWZ==8GmoG+3e<%96$2^$7PX5IXAD83b^Emo>`aYPy<4-K#Tl&)?qI@g0pO;X` zGTdnV>g0dmRP0t^ms|tO^*4IJ^6y~zkLJ$4PWW3opCV;p`W7=&VO${@~0fX zS`9q@t@RN_%#1eW?|pTpR4+YN$S!sq4bd;qD1!gbSU!KhLElV%uSD?wocx<0djBXR z7q0HNasJR0%Iq@uL)ZNddOx5?_VGA>x4*(Bq0s-5 z%V_u_#j)XB4gR`@{@s@rmDjhcZBS z1^v@v9$DkA?pUCe*=Kk)lsC@EYnf}(ZBCN0P5CNKBeJH?K>Fs{GcMGzzT>pAH7n_EaeKe1TR&s!{W ze~s=7TCd@4?RJ%`$m?6@mz`yi9>Q?tD}P4MC852_yMCZlHhMsYm zb>ZCd#(|{}*567P$zLb`?}pDGDQtD}3p}8|gP#BQd85I2;cvHK`N@PrmeHp2*V+36 z4tjq;y+@FduaGH!M^~(W?oz4p{*on;>Q5NSUnhU>BaJHvTU##lw-ZM4ccftX@hN9s zm$tdl-$EG4Unl=%Hw%{)wtn){AJE^?4a;wNF|ncWPcDGvI|zj=qfND+PX1r+==8L( z^X5bUG{TI0rHrm0b$UPJ$(z{<3AwZBG^zI2LzGNLf7JCSd;h|77yZ%XV?YjXVg)=ZLW&nm=7{yO=WIK8ftuuXnUPUD)V8)8KN9$0?gq964Zw*Dx*f39nY z;r!j_(9e1kkN?1zL&{=bLRfqPZ|4LCgS~RCt;-Wbt*rx=ZjIo*0~zX^{mOf ze3idW?_c%H-&3x?ZC>tm!7LeEPwpElrwL=E3QWW%$!u}h+v!-0X2G*j#h1wyKzr&3FpVZzf*WZDS zlO5~Zh1ie4S4=9dibxk!rx8hdTAU+%HR7K_Fq!ti}?J3 z#*LraA(Fo}8uKsZ)IJrqP8v6!4G)&Tz7g~PZ0NKT!at4t{M3#@mf=RnpSuU<-=wFd zkFZO-Me{~1j-w2Hg;33ZkK=I|J-n_Qzt#cxoW=bFVkCb@AM_vpM?N`!xu2YZE@KG8 z1aQ;wuNT1e&zsRJ&I!}BQCO~pFpRqv^zV!1m)D!i^_PDH`4dL+cNE0(Q@xMK>vw$; z`UeOj`RnB0vP;ePgspoV`g;h&`K$JK^vC>HYlnUow#m^nZ%0L#zv=o{AAtV#^2hZQ z{_Y0Y|NeS34umkHjryOzf2H2vQtxSH=qnJz`McHqvoSb-Uf9#;hOo6w?Jr%tPa#I~ zx4wn*XTGLyTZFB{g?{?<%>6aGf94*K^JnYb^=Ary&z^1qG}}9flF8`Lacnp5Sj@jm z*^|SBneScn^X|*s-%a-qtmDzYLFtup{+-MA#|>_yN&Kyfni zl`@*Y+~@K5kN&YkVIdE!87$SwYY`=r(I1*W9Xpmv?R!6zy(xBVYw@`Etch^^tNF7m zuK&ut8~u#%cf2c416qJk$THg0@$VRh`S1HRNv?nNA8_4bJBOH&uaK$pFMt2W_b2*U z2_yMC=>3(pXYZ~Nw)Pw@>5@k8(M0mM@5J_d`^D$v0q?h*uuQc>cH95yO?Q+RwcU^N$)dw1BYn7RLN7gpvHM zyU{;Ucguu5PAu0#7}+0>KhLyrw}fq=2$t_CiWtdXAA#fNaG_**;CPCWpTaN!RQ(+j zasKPovT7??KKUgV&%FF#`?tsX#~u6>U(ulVhdiYp(Ek#ae|yPtdBfIH7yX=dBKTj# zc5~N2Jawi{K;&=v9M7K)!Z6kUe_k9*-8mlm663jlS@wM_B^Y0X@!Y=|($KI6H+qc_eQ+WUyBQeJ2#Z1e#Wq^WHnqMtCF zznA=5Sv<9cjiW#Mr4iaG-hKX6uw2JAJbr)id?=qEdGmFbrr!LBX~c)~*U3NOk;8KR z5Gag({vwE)LKeV5<-0$?Jc_>dYgb{COrJ0C5IPB&yQcgdH!%OntLl9qY|?sC`Hv&| zi0A%#D=b&1=l`iA&&mt7<<_0#9G zJ@cvjxrpKX9Whvb=hZ!S3Y%mn+B=>^bP|7`e+~5WCFAwSGFtPI=toNim zEpd0vLH_#5RZ@31TM@bbwQk1#@@+v(+ZLw($lu$E${%;)tO(?xavg;B(;1hqH^Th& ztcc!=C36UW{Uv!Bq`5aD+BYByUFhcMNPg_|$?l#rq?!7hvY+@+U$L*oucJ7w-{L&m z4+**bHT3tqikL)-l%myJU0{l1H| zN;{9}JBJwJDtDE?yD|FL?@@D)Q23k6X-LysBL-R`a(^{{J91(EjeTWeg^jZwJ~wqY zASC`i|MuwTo{H^v(ck90u<_o+@;tYw{M{HQoWFy8KG$&-{gST}?hWJL7t8k^N8EF^ zOkGiidlR;odo$sdjN8va{`Sw&|IVvP=Y+q08_RWXML#d0(1mWn_RE9*tw+rpCG^fW zaQ&{mh3Hm%s59*Aozc(z60U#0d%wjzVPY?W*Dvk@h{?n=cTF9C`uEuWD<=H-qOb|f zoPwrv5YuK6&jJMVe;Lb9SoZUFX>tI|^%GhMnR~E&{`psZ_*7}CJ_qX=iTr*3w0_Xb zVmqwbHbNHc{;Qodb=*Y^5FgIp@d*0A>`9w1Z0tjDzOoHN^bjA`zbX1REBAOwVPhRe z*AIl+@Qkk`g6-E1{m(AWB?pepnj(wxlt6S7AFg~aeSWD)*)n^Djjbg45n4(iAJ+eE z?7u^)3Co0ypX{xr(a%R1&R_4cM5?yO_{WN!0DXQ$%a8T8=gYYMYW{JoS|R=0WL@={ z*s%q$zkTZYPin^3;lcKM49idaaf&?uT9$W|@f?IYp%jMvQU2a8vfA4GLQB6BYD=FE z(#qW%(MEiTtK3!ozO&eVXL{lnlzP%}-06gATITn0c-%NH2*c}7V7u)`TcscsgQK9nR>LxAH{z428ul<2MxogT_{|4v3 zO;tZGD|D7KXlMTx(Mr6HQ29FsV7c01#E~%ZPyhqViYeTNf;q zqV^SYq>3GX;eL|$7Dd#Fw--TPD&ddv_mO|clRG8|owYdH*-IeWi1!c%{Rd;-dTm_) z_@19H@87x;X#OO$6Iv}OSN;z2cND|p_bu<8D50}_iR(qn8AP3U=QqZ6r1JMo!S)~G zuYXbaJG$a}$w%*x*}5Tb?`vE~Iq1HVj<@Z!DLJ3$Bm9$p!t+lWp`Flj0p-F*Z2C~F zf5his6Y)6~f1ahk>6+ZX+d#@54*_Ug5NjNl|pCbT(F?(0WL z{?-nd|L3cQnT2DZ_hZuEpMt0ppX@+h>w~Du*S}pZ?JJZxcSY=2repl%X^0x}PB-#a z;+4PF5&d7?-F>|bbOh}jhY|fB5q}iXLVD$|lYhnXyX5t!H4z`frrmv9hVxsH_vS{l zkzV<`Jvjb%4l6G^++GpqZ4Y6f0`iVZh&suA-(&l0i_kx=TCrb5fwqP6FxEVTPC`3j zGNJPK{(=7GnsuBl{M`xo+{#DjUV-tvieH6%(4WfRdZhnf!e1vls|Dk@SEIc~yq9?8 zZ~YU?FYS19m+-eMKf>fS=le&UrsDnqdc_rXs?spx54OdUySAF z$us3uQNES@9I750(cVtH^JU~6zhL`2ZY>jTTKls2fim|RylxAuK=dv})HV{XM^ygS zO;~>H^(^^BoWRSdw-H(iy{Y8C8PRrsKGNrV>qPi` zFaP~EUX1O1EI*zrh>zs|6#Kma9wt)$zs~>n>d(u2$p6o_fL!cDk>SSg|7W@C{E4R+-cPld5pBg0H7jA50#y4%`g}^D7shd@&#OF+d>Ubx@S3+1 zw!cpA|2C<1b-1u~ywzH|cnLj(c0xCypDkxH?Y9sk#$S%t@2|esd$q9jUM2r)h*sh)FCgzW{OmhPm@h=|I+u)l0D-sWuBN=Y3!eq52e)EG@-AjK(=m6KJDJ+>Nk&{E4b&}t~M`} zxmMzv*|RPjf42ARG6m9~eAX09G~@3N3Q<4Yeb@pITi{^}JZyo7E%2}fs0GZ`*T}ts zVOm73e?!l+p{8%r`^Q;Ag%9`tYg?cLyMEz`c8;L$7(xFqK3)&1y)fe823lf_VPT#{(0;GlGBDIhcRA=LeDE&s>H6v0=*Z_7mz8!|3O3%-lb9 zJLaV7tZXV{9y|`YynM+G#~!E`hT~L)w<{3jT6qFucx?OB>ltrhPT*%H?J4P z=e`a*-v95LtNu?S$`2cP@kRUrP#M3yq^=vU&T=vsXqU%e$ppcpPW?SoR5*up%P%YIl}tz(h2lW zV19~?aIR{bGIw(Bm7|1;C` z_xt`}_v85eg}Y22rdkih|3fYCPoG2nvG~+J@G~Ru>l#_bPn5u~Yb025<<65gU;Y9G z3l%O>v{-R#iISyCmnmDWe1(dYDp#pm%~rie&04h|sZ+OJ{YM)#Y?Neg+@xu<<}F&b zYTc%7`wktGJ9X~THKkkk$9nYa^?2_-eI5Ot=s$4K;2}eY4IeRb)M)3EW5$jfKVjme z$y1)1>YnlRGc%u^_1x^|=e#iY#d-5R3l=U~ykzOJb>8(GHomm!<;|~bN!_~b)z`MC zz5d3VZ|!({r|-af?;rf&(1(XVI`Z++Pd+{7|LpkZC%!m&>O1}H_dlHb@%&F0E?)Zi z@-M$$3H)~T+VvYZf0s4<$J+0|Byc(#=jluUzq4Yn5Wl+;Dv-a!5+aa%hz0WZ1jGjg zidTXlPl9_q3PN}(2<3&qz=OcZV~mh=HE#=iFU&gw-){*1zVuv|G;)@dEN1`P)<+vbWAh zy@$|3d56|r?58t2%v z3_J*oJjS?}UHH9!`Z_jz$^W|=-a^LS{=YvS_zz6wWCA$H8HSWN>4gg9SujL^r^R~$ zI!^`#>cpu8!80id?wwju5OS`Sg3yz%5E#zJz#C7`>FMlzovu&A`A=Vi^WVvjYW^Tb zU|Q!kav*v$6w~r({^7j$% z?T&IsU()wSw2eaa5?aX4GMelNHL~|mJ$%Wi4^TN8@%-qsZp8L+q+$DwcxlA@3GF3Np4fa*BCll`^v{2q&l|RYT2>pt;pnrhu0wnh-KZ>tesoefF4yXZx?Y9rx zuTJf2*M!POcJ5x3AMtu`kNwj6!A|W zY81!T0eQz@#5Bq;jpFzTt&fwQFhFw4K!O@*1>DBRy|F?=Eb= z`Pa9X5jsEF`Oc$XfOyLgYA3>ELMNez(0_r-Q#_#~=LlJ}=Q8QfA$qP5AB}qVUF0o4 zA!>w-4aK~Y2`!Yjm(WRa4`CXi`!xCo$j(o4op=w$4^a65(yR8D%T&6y!&UgOZx>e`B(BIx#bG+DnCLWm2b;| zaqPdNUEl(ujmk?VJ2#=_2I~FPPF~e6RKAzWw^I3j=Gs>j^gyzD&58@D;*T!fk}F z5^g7apYS^24Z@p*zZ2df{Dbf|;h%(e2=5Z66H>El|0TC!9;Wfnw1Bp}+MFf}n$>yo z*q^=~o4(p{k@LOY>sIf##NT?n^mNj~FZvYO%K7D~Sx=jKJ(FwSv(-z#KP^6m^W%E& z8*}&dZ{3??zFsx%w^au?e_-gUbF*6RyK-pFfrO*$<4bdXbmfaxQfH29^Yxar$Is0E zV*=+pcWShJ0`_R>6Kj*Jy*AKN^u=$Hl{g1>9u23Nl=bz2Cvs~R0g{$5f zS-E}g9Cf>JzU$a*1K-IuY(mwK-kb4kgf(0kF4%>ZFJQk zod5Od`Qt|S-!v)Dq{A~~qduI=`P=FHJU@>}e(Cp(f9$(D>B&Q!FUr0@crAPWQk&`P zGCrB{k2AjibUd%C&;Pj?{|w_V%rrj#v9tG|S}^_{=D&oM|0m<`GCmvo{G^5PB^ke! zeO|FV(>G*%Q^vo-^6$m;X7+steVD!<(Pcsr-hAkyq_eau4#^N#BO)qt~Hceg5Ly>&UD2dHewKs(!u~ zkyrH_;5GUee+PM0Ug|uf{pvT7SMjqgM_$$UW!7Ienf*w%o<4mF{nhyJzlXfa_iM&e zGlYe1MKXV%G@Ro@zl>XE#NTYsR%Ngs!oByKacP?N|B7GV2dv*eb6e_R)Q2tb-_`;d zAJG%o_e(DI<#n?EAzHZa{mrKDc}dd9~g+!Sem#FVw5{D9JuQ(2~VJ$KtyWqQ5$SZ@GbdF6y7H z>Bjih=aET<>L}_w7~uM!%xHYLEDx zM*o&iBd_|$@f7mv`{kybM_!E=eiYnUje6DoZT>`FweOKPkXQMRW9z4Qww@fv;^pXy z^(#sRS7h<_v-M(LcDxN?>%%E*{hV(J=BL{0(znQ~`ZiCs!zUVZ*%IV@|%%Ay$gBO|J&I5u>Noo$cMc8e0R-3$QLL5qb&c`K8&x9 zztUNZ@lMV~y;}cYVV}=F!`knQ9O$2y%Byh^{nhc3hvjpcwbxeWzlOEPC#*l~u;U{i zv#(ee^C?96G%b$2T4(yr#`<<=<9{w2e>(@Fy=qSi8w59d-m_tjvHcR+^OE_@J`d9` zX8JOVFrGTT@-zFgY(6N(^m|x7mD%<4O{PD<%5TNWugJ=q%=GU}!+h0zxS#R2Sp1F5 zzZtu}Zo~Ma?0B-X>-%J8Z)Nk1#>YS7x3ck`XARaz&Cli8eCuK5w`2ATSw6qB_E^sJ zBba|Wv(L}wkHU=a!TSF&i~lL(Uu5&&38r7p>RXeQH-we<5wma0>^m~PJL5lK{ndia zM@`uH8^-i`He-LO`MepkzslklW#_NP%>Q?0Kbw_TkNH2&{5P}uwPN|qWASz}`}wSW zzhe3y7+?2UtiM_>^D7jT!$2JHMY`>!IT;e%@uq`WIpRX=Y!F=^J>_U(FvqSw78} zJ_oygxy|xz#_qQjXZByS`0um!o5R*q$C!RC>z_@`z6!gam-{(mdtYYxWn~4&&`u{^-KGQ$S;^$}jFPJ|+KObcC?^M?Q{Cqu+%@2Fnc;M&rN7?bZg~jLR z_ad)j{nh&aDb`S%2MR_Bq-4(#OWb9cI6kozMCC zj?WK#y~WRmeE#6;u?B06{ojtwH+;SJIJ1v=6aCfrK7D_@`T^}yV`czvL*zxeuem zvHG@U?Z?+o{CcqkyZ#NSsZsfD?Ltd?SukS!!t*6Ja@}6b< z7-s)9>yKX;KkgvLSL=r}Z2XyCL%qts2g~;^i#LmvpTNe;upcp=I^MFe_!_JKVm5!Y zdf%AuDK=jWVdYO{{NSy|`i$FvygL6MVfxpY|B)4FukLS^eiwPwU%6O+7iRoj7BBW~ z^jH0xi}5KepFWIVywRBdb;dVi^?RB5dssf3S^Z|RcxPCCN16Tv<9}k~{nlP%d+que zd3C&4*?4iXeEa-`_G&)d%HmaI$7fGA-fFY)dz+2-Y*&o=v}E?rv-#$aUyb$^S$Xvt z--hv{K1Y8wUr%B2_nUBjRP|lX^o3czQ(3%hth_{4pHhr3#OyDz_PN07TRyvS{yxs~ zt;X_wn)!dh=I1%AyhY4Dp4D#(vyWosB{JU1_<~2V{nh=ayX^eA=_cycd|il@zmk<- zmc={A>gQnfd6MzhnEfHf4`bz(W9_|@<)*R-b8%Pi6K~7+;x{*MJ=lw^+XI zzQ*yS)+-B{|5a9>Lg&$5oi8^s`?pyAvN8MOth}m>Z^-y@Z2Z2=;=jq-=RKyc$jYC= z;+a@^PF9~8jJGiRA6Wa`X8n;p$~a$s!1CS3j)%dwjK}vR)_;F8|7I-yTxS0P%fC9a zug=PA%J>w<*Jthd7K=ZWzVBAOPjQmzyR-7!uy{FGdC9Ck0~lYN*-}3_Ag|`*F|58*8Q*d;+N<~V3bFei{Qe=oKiH7j z^ZSAP{#{p=?_qZToZpWdyc_dV*CTCMzWn|gzkg<)j{fR?Q>6Dt(%5)h&GLPQ)tBG@ z;rDm=`y-h7y zQtWwCn{P3Hb-w?C^{38w{=AF7-xBG4mZ_|L`17hetbOA5V18cojP1|g*WmAC@b@S9`w@LvefawU6Ipq6u44IW{PE}g#kQbc z9dG3r&!3mCW9_%vi~ef<+Rn<~#`I;TpuJjuw0jSEb^PsR_Kr7EuhzG<{K%{Mp!A=} ztNTkUze8S~e=4!^4zl1@2c z#M*Bc8z21nCV#%jpC9t)gZ%klb5`HtZmhprKTc-jr@>pOSL5*ntFLBmteJqKfXqO# zK-qxGnVV{wxjE>XgRVKqn*-k(_}0L;2EH}ecK}&OkaYxEN8mexyd%g`K$Zfs6yU{v z50Lc(><6-bVAl`i{h*wFP)>i)4Fugl&i*2uxSo75Mne38VEMcfkeJ7fd+$3OQ6AE(-LSf)Tt%VV9>P!8Up!>wi*gC zTLTRR+txrsAy#Xkq2MFhv<=WO@M{Y+9P(@jGy?Y90gZt2+5wFKSqGp|AnO1$3S=FC zMnT+;K%*gUN1)MKcEId_CUa+?F<{#nXbjkP1{wphEpqoHn0NnsxM<7wRs!;!GKs{i8GUWUU&;ql`yaZ?&&2Oy=BxF@S}lHFJUJ z7;`Bgfpvke4Z7N(s|nZ*us+D@g05+Ff_WU!c-YSe^azjz$Od*6ARFxG1rq+JfxZOF z2lNO~exN$h(NIP-#EJ!sl~@e05zqyoi$GO?+Jj9gpr){23aDvxcEIeCF9&=}ph`e( zqr1eEi|HzXY!cZ+Wk|3&;1E5AgNkB~smw|Cn2F68Ja}%H^v{Hbj0ILI5 z2Q-;K1o{bd&431gt{Kn(&@}@Z0Ar~c&;YFpU=={koXez{bDKK)gXP###amhW%DRLm+l5pdoPlw*ndhv0DKR(W(Mg1+>9&VT0qs zWIhIT1*k31aPVmhG#qkj3nchWgfiO$jRf2F zK!Wc8Gz#`R0F45l4nU*8rvs2UuD<}f0l9qvbOY+!4(i(;>e>!SU^3{P5F;5#U}vB) z5UVrL7|5q5po< zCW2jepovhY?m!cvtnNS)!KOQq;2#5;1iHt7Cc%CWpvf>-_XL^(Ha&r+Ku$e@1d2W! z2Xp;IpvhqCGL?d{Rtm;i9AF%v$^0G=e4{O(1{enz2WSQ~14fy>#iGpXi}eDB}pwCD0uKx&*o-K$oDL zT~N;MVsS9G;$Uo*0xTu5Bj9L|bp#UU#uGr-A;t-y>mWM;bRA-x0J;uwjzXMIAYU)! zyB>1&0-#$`f5A)rGXE8t1Vz0U>u+s&dLR01X5h1T+|E z2+&ZVVL-!yMgWZj8U-}Ecns7n8mPJ13B15<<|Y!~2HgVCiE*|7I>8lXaLY4pdmn`Z7YFR*v0^k0UQrF9&i%iB*3Qt zp8{+Fv<7G^(5pb(fnEoC6KDs}PN3aD?*P3Ev>)gI&_SR>K!<^jL9And#{rK6e)0dY z_a5+7RayJ+N$=E91jH*4nlu3wQ4|QFXefq=sAvqyO^779G53aMol(a!sEj)HR~`G< z3u8gXii(Q8chrEr_jTy@_+BNYS^FDmKAHay?JqT<79s(W#HUf_V7$v;Nfla^@z>~mJ zz%#(Jz;ggb0Ph9hMc@_SRp2!MD+=!oU^DPGfYHr+7ia~x0Pg|s10Mhwk-U$9kAY8s zPl3;XFMuzBuKG|FC{2uyUfL(#zfZc(Kz#hP!z$9QVpct42lmOF#8Nf^c zvo3EoFb9|m%melV%7OiX1;7EoLf}B)AmCtN5pW1_C{O_$22=uzfhwRH2m?!iI^b|% zDNqkI0F6KdXabG^nt><~16qJ(z;a*(uo74W90?o+91R=;TnhXRxCy{$?>zxL2|NWn z4Lk!p3p@ur54-@p2)qQm47>uo3cLoq4!jAx1#AZ12HpYQ1-1h30q+AJ03QM$0UraO z0G|S%0iOe31K$AO13v&i0zUyi1HS;j0`^__sfaZo6-WcpfeauM$O5u~93U6S1M-0a zpcBv;=mK;Fx&hsRLZAoG6X*r>2DStG0DXb}zz)D*U<22KG^1y%#617`qhfNO#4fa`%9fE$6EfSZBGfX9JNz!Siez;nR! zfQL=A6d(=A0`h?ZpcAkiusbjh*bkTw8~`i=4gn4YmI2Fw`+*05r-5gHXMyK{7lD_6 zSAo}n*MT>HH-Wc+cYt?+R$vRT6?hN$5cmlA82AME6!;AI9QXqG68H-E8u$kI9{2$m zfKAkaz#yOq7!2G8JODfg48tb+&cJx!abOcL6E7O~1xkUlfyaQyfla_nYC}1=&2G|)G3ycHC1G@mb0=oedfZc(K zz#hP!z$9QVU~gbDFa?+j6a&+M5@0$o1DFZS0`>v+1xkV0z#L#MFb~)dCH z0^k5(A#fmY5O6TC2si{d6sQ0W11f>VKow98gn=5M7FYt*0fz%ifqI|;Xapia6L193 z3`Bt#&;l$2mIEt*mB1?CNZ=^oXy6#&Sl~F|55OORz}zW`?fX8~see+A9~&IQf`&Ic|8E(QJuTn1bYTmf7OTm@VWTm$?axE8n$ zxE{CxxDmJsxEZ(wxD~h!SPT3ExE;6yxD&VwSO?qPCxNGcr-5gHXMyK{=Ybc17lD_6mw{J+SAo}n*MT>HH-Wc+ z&A{8hJHWd@E3gIF3cLrr4}1W82z&&5415B73Va594txQ8348^74SWN93w#HB5BvaN z)#{}HsX!W#4rBnCKo)>itCs`h0(n3_PyloSIs;g>dR>8TKzE=J=mB8W>TL(~0r~>{ zfb9XSTD={C0l+|D5KsgR28IAwwR*#V;lNJ72w)^I3K$Jw)#~jGj0MI4O4M*+tHe*pdn91olToCy30I0-lzI0ZNr_%pB?I1M-*I0IM%`~^4@I14x%_$zP@ za4v8ja6WJWa3OFJ@L#~iz$L(?z~6w&fXjg^fGdHkfUALPfWHIR0@nf812+IS0yhCS z1GfOT0=EHcf!l#QfIES^fOWun;C|o%;6Y#m@G$TQun~9+*aSQQJPAAnJPkYpJPW)C zyac=qyaK!myaBukyaj9q-Ui+QT7fOVR^UD0ec%J&L*QfJ6W~kWE8uJ3Ti`q3d*Dal zXW)Vz;V?__377|z0p-8~U?Ff2 zun0I5I1E?}gn?S14rl_70HQz)SOzQyRsySlqkyAwz1An}J(_wZQGboxnO^ zJ#Y_jAMgP15by}_DDX7!4DcNAJn$m$67UM}D)2h+2JkiT9q>Ky1Mnm8D{w)V6z?M7 zI$%`S6mK-JFBV^=z}5dA@>ffK$BO)^VqZ7W-(BdDLhmc-Jtps~Ti3KNPu?FL z9r&lS&`acf_^o2!pC!LjCH;SjewL(vyyzE+|MMliOrg68T`u${Ip2Jr(AOOA${)nT z%kuo(qucvuy~v*`^kO+b`mxYkg+4*fBaW8yXcx$NxwD1Nl=E}9iGGEg$C@MOlTH=- z1flPh^v{v!2gv!87OB5ABHvTmOBbO>XuL>!nJ)5M<^0nk$^VZc-z0REuaNxz zB=XHdUnTnQ3;nv#UyJ^8lHXK`=RJjx8~h=(i;OXXW`xlHb!( zzD**3@n72aKj#U3iqv1R^cNdNeyPaM7x{O^pSMbTy-C{lW6~bWgkCG>zsE`XVQFtU zQolDz`|Kj^>oIBHi7S~k3Qe|Bg^;40aD*Div2YbA3I3Ao+$YpCh^*Td3*m46?%fu zMHjTUZ*Iw?@3(gy!CHW5${ixK} zuHvt*qTgTQ>jTMujL_@FABV{E2c`Z_ko?9-d=!iPXo;7*<@rrgzPQkvB_8(>{hcKJ z+vNFmlHN~3d*aVCL_b^n@vGSLxIEuU^k0?d10+5#7x@yY|2sr~h1lCy>f>rj?+DTV zhs5ixLXQyp?w02pg#JS4)e=v8N_j39|F02$h9v(qvA?%G&lh^Cq~AyU z-AU-HWc+EB@?R|Hp$Ch-J4t+8B6O4Z?{Rtlh|p(B`Ugw>)=PYNLXQ*rX(`VQLSHQO zUSjV|q0bii@$&oUvZvJVUP4b6daBUVgq|++ zOriG?x>V>nLeCSrOlVK&a-kOpy-?_bgkB`{p+X-f^kSi_g{~2LiO`1&T`zQ_&`m-& z3mp@Bnb0eQUM2KVLLVdaaYFx5=o5tglh7v%eX7u_g+5*AHA0^$^w~n6BlLMfUm)~F zLSHQOr9xjO^c6y1CG<5yUn}(WLflqR-v~F{l3s23jMLrp9=lC z&|eDuwb0)Row}m^`YTuHe4#rD-9_kbLKh0%Q|R78_Yu0E(EWuD2|YmQK|&7}dZ^ID zg&raFD51v)Jyz)PLhmZ{1feGiy{FK72|ZcpsX|W^db-dvh2BT#QlaMvJx}N|q05C{ zAoN0^4-$Hj(1!|rn9z%bt`@pR=p{lQE_A)njY2mGeU{80&k_0}p)V2o8lkTfdacm6 z2z`gp>xBNN(Dw=bpwJHs{ix8JgnmlsXN7)2=$D0lP3Sj;ep~2Pq2CkwL!mzr`g5Vb z68c-Ae-Qd-q2ofQ9_9Mi;C)tx(Ah%g3EfHPu0j_I-Am{`LT@j0Na%q=4;Ffu&?AH% zE%aEScM*Dm(0d5Im(Wv$o+k7Rq4yDbw$Ss0o-gzQp$`;#keQs`rZ{)5mb2z`>!rwVi-i79zn@%xk9CBU=k=Rhd2;<4KVR(E-)Gg|UmYsvK`s~l zZjZS1@u#tN>F=?2y19M+7hLIR{AsRT`g^ROi$C@I)b;mR_50Ny7W=a0e2jj-`r{&h ziJVW??_2*sUq!y7?{C-NN8L;8{YC7_ zlJnS)i~afXTz^k>=xFzQ3fuYqxk&8Q-$&K&lfOme?-W{p&-5LMufrrh?-l*^(*ACc z`rIJT_4iPpkn~=^*Tn<=jNC5$zWdI1x##%vbGu%b^!5Aji$q?(AO9t(kFO>FSEW4q zefs+QqWe7Q?Ca#)w}<4f-I{D!J z*`FkS$BR9?3$4HBxtBcupMF388tLy!rM#=fUj6?5nPQKApZ}iXpECLThzBJ9MUsEL z(E9tDv&Fw1ec!+S9%e`1_kX*TUw`lNC@D{+_(OlcQh%TFS1JE`Denp5zte=)-=oyu z8+cXh*WVl1EYB~I@^rh!#cwbk*B7|{G58`N{k?+S+dU+ihfk| z7mNSb-skKM`v26c9Ub&<`g;q7@?3v!VX!Q5pQJxX=xg6}_H^;*V_C;KI{5qXO!<4?h@{_H6ME7$@09v*fU7zZ^b`%i9ZL5y)miZUqnCs9OsXqzx!1D-A$fvC-leCKYTCx zsq%Xqqs6|Eq?a%9J%#>8@*6Jx86&j*-pCNiZ%>ie-yfMN&-M36w!6mpFBqT7MgDJ6 zzY%F)&C8sA@b|L%d-ug+@AFdMM@c-rB+vEt?Q6uo8B!nh@_b);zEJEbf6Cb(tatSH zSUURsm766#Yb5=%rF?Hl`PPX1^&&r4>SwJyzvM?}fAISocYWdL;P*xz7y1pMZx#LY zp>94J{NCr4V&8>Q|Ldjv*NglK694-9^b4hYRZ?G9Nq)oMa^(y9L;XFQ=fywz`!*SW za{9sdPrNAhJ|g)=#lFj=Jo<`wz=|b!8?`)F% z_4jwa6nnjMUHU?sg`)rowz{C(s}lK!8C?j!O)N_n=E{CYp_ z>M!W;^!JPUiTpWY-&o0S)NL-kU_E<`_-nP$X@7U}!FUrB|LE@{9VO5EJ>c|%`QQbT z{$(;h-Sobb4}Kq9e^2RBDc=Gq-{iZUelQZ7J`mQr^eKUlXN0JtfZ{ko?b*^j;Eq{r#$+ zC4N2^`v#xq;w9+M&y#pQS?YhJ$mjpf=?DG&yJAnFJim0AlMm*D?}_~W;*W(wA1w4c zQXgMQdL8}#*0bVI{XMQfO8xde$=M&w52~en>GJp2uSxp<>F;^{B<0cH_c}rH_trZ5 zg8p__u~&cJOMlPnY)S7rsqehwT>8QKQh(oTt?29Ted+Iey&&oLmGt%Zzp}4&`3K{} zyP_YJ_!uJTjTYKpHYaX1EiV1w?<0D_}J0= zX#KtIlO?^+<$d>$LhJkNwNn1SNP6k=K0)7a50>(tAo1~`q~Fo|><8|2{txCGN4((Z zV88Nmu}|NBcl7(>qs89dQoai%UgkFD>>FP8cpAoX$T8!rD~y_+WQ zi@y5YJrCCV^=Ym>75Y8i58@yFJ$F41kSgzkHc0s&m-6fT{*K=7_muSY_vBxZ_+Igz zD_<~w-}6aF2kVy$#6Qm{B#I)9KM`$3P3{srRyKH{(ErTou}|Mfh>Yw~;_v0u+OJSFk= zoX}^BfAl;=Ux~M`#oy(Uzn+f>iT)na|Gg&m{37Y=`HBz3zutYWeuMtyps;Jd_=;q^ z^5uDNp~pyl==qI7B7dFK=XVV*zmT8b7?IcW9@8a1J^%5Z_(RWs4Eiru-e5iPk;p$> z=T&^JGJ;iERjD? z=)X(+?=Ak&^G276{v}er|Ma}k(^CGIguX@cyGHVxA@=r^^6Pn}iPD}sI={3|^6Mw* zAKv2XJJ^4CQ|#X)`bS9o==rF<#J&nCpPrBUSn|uixczwikod1qp6hw4l)pOtV85WF z^HVV?&zn--Rn@5Dbp3!QSJ^G~opnlJw9=seganP2{==fUPn zedu|xR!RQ^DZic_(#u^-EoZbN3dVIRNA+mCtD`{{aUe4&zGGk?PZh5 z?;!Q@oY-@=-7e+x_!^;xjrG(qzJQT(sx=RA3T-%sqjR{W85Z2R^$ zLge!$y~D-+Jkjqg^ms`xCi**w{4w(UU5S@zlHU7LUwXby&(nP-@*SO*TQB~)SLh*P z|4u?bAo4ZRUPg=juTtKSoVV!c{MxQkU!%@(^&8A5^n6wUrg*Rll=c7>8}&Isl~-dFdyG4_Dz>~Ym)x&7@?<4 zaQ$H)w_W8OD)e3b-Sb}l^OxlO^kq{1bESNG9`G8GzgXng$oy=r`0rrxub$8Q?nURH zV0_4YsXe_>;`>Ii=X9x$bzfvG)boPZi$C=IV5{V>=Lg6B$@xE+f9v_c<;S|`!F=>cq4yPiJr9_EsnZYU2S12C zdj9WL@#p{aJmB4u-UgxH6#soH_1{U(|GY2qg;KtLLJtzUhom<`p7)dIdY_dIw%r{^hWi#>XN z@*s)F<0W48{AB9sF2CUS0S}h+_Y-@+m;NdDX{R5&Kh*P>CrSQaNPTp<&FKgGb$=Fl zJ%9NZDW9IV94_av^t|P!jV{07{of$Tzl)sT8X^9fAoN~BpD6yTmw3_hm_6jY(^*pf z{_^}NNpFli*Ylk7#J*j`KYHGCyp&(hcU~y|zfkPe^PiW<^J~OEi^aanMgAfwZ%5}l zmq>b7ioMrMdXuHR;~#AwA4PIL>UObzt)y2f>8+RNhe^EMA?0lp`wtg+J#V^J$~RTw zAtveRdDLSh{e2}q?vnIZNqTyI^-uErLDARqtQ+O|G1A{G5PQm{e5Z;0Ch_+uslP)+ z|5?dj&$m`e{`EpP%Y3(^^RTChzMhZ0S?c3KiI3N%e0pB?5s}yPvCqkKJrAqrWm}{@ zTqOS1^Rpj`Kd%${^uM|G70ie9{A{b7H@{xaGtc_c=?CX?Zj}0bQv7#^JYOgFTrTzT zjo7c}cOMn~v!%VylkxB^@%PJO-@Ec$&;O2>^P2C8{EuR9SmYm-@^6sxb~?%VGnoHA zCC@uL4_q(#eJSm~RO-82=&0!bD*AeU_zxnl=YzMG@*FDde}FvyN&J~J#;qrV?^o&4 z)6v2CiNQj@F7c`7jr*P9{2R=#c9#70Jo2|vUmcxCUM>ENi@u&$zDVTtyz;H$-z!A^ zE_r^R(79_}d4u_!o`1ex()&-(Ll;W=8>Ib>5`XLY>GATsqx00SOZoJC^)iXC$&&u< zk2-$@^UV?0Iy!hi_MxQTU&^eJ%C1N%X%L{hy?KdOrPF@&7i@tEXh=ckbM!Tld1keme{pFmMp}ic-=uGqbaE za`W=?3JN-P8td;L@d>Wf^o-1`-Hn%;nwplDo?%yJ)>J2#=C1Vgtek>Q`;nIdF(jFp zmv7f0PR`Q86KH4U)EJL~Y3WE1!kL-%ri%>8#l;6lkOu~N>A13T^9zn~a)A)VGEN}R zx0kY1KE+rGRa%sJMj(~q%8{9soqM72(lYQdFTbEum#*;6&BjBXuB@3^Sy|b4T6*rk zl$7+0?Cjj!2Yk7VtgM`z+yc0^Yq#fpIV&*B0m;_`T{_fCmzMUnuWKS1t_D6cIr@Np za(?;7=~5A8pd~puzb1IjFBDDpHyX`@EHUc;h2Ug@2pgDDW z&3Gw@s!Rj|<#KaBAdlrj;gKh8DfpH==X{iz?#jvW_yaItb~O~^+58{(rGG;r4PDxTWWH?B3+9sN*)6jeukW7d~92Kc<3(Ur64^vDoVlT z)u!vLpgOO=I$gg;&_=+&*iR2RBOkQl+)iC?G+o-jByquk>x{=@(liUJtowak!~!{V zcJ`wIkES6f$Y(x7o_WYsPacBpZSt&Fu?n_Y`q*^YT5zRX&Em&7cw&!w95m@A=nP|bs3iE>uFxED0wg$IiP3m)TK-J9z9NR za%t&oR^WB((QCWQU3wTxSh&1SUAuPgaTj^?ds4^yr0Js4I@?v)qgSu(-gmlbSy^nB z)-XGN=Xl6FyP!*9&%XT!58G)FH>Ok5kX&9qx`M9V3w!mM?0B#jHP)qj&)(bh-M+$j zZ08&byB7BB-KXEt37*N3*Y^THJ^C#d-9fj)9zAa*kFA>iWaOhl?jsMe#|BIn!hKnf z7|(@)HCI%^6G=R_Ln=ID>9NgNtfD>T<-h58j63+oW%Qo$tR;cXD3^wK^f z&ox1|IjCo6e;4SQl+*sn@gR&U@ta6`u0Od z2;-R#90&d1Zk8VE7hdYrxe&^|w%gBmP)A#0(bz>FV!AXAQwY{D`rRh-IP;)0kpYq@ zINH~>0$P#NGfs4J>|D^%p)xvk?tHeThk1)dd@j22?uCCh-BcSXtQDaR-feQol@Ulo zp#7My8!(yg%chI;5HYaLV&iM4ODhuB_fFT^iune%|7yA@OVagQUP?;b>D#{jmLOoV?_mZFYIv) zdFFXmEjhhx_P+J1gW?@(^lhKjJRgEh@39na6!N|^gfz@sI8 zEVPox3%$50!oH78E-izx0-to@^|O<6Eza4QpW_Y~m}l4}AZ&6A$zva35s1bFKMyuJ zW2R@&$uN5&c??PR1Xhr4-RBsOZLRH^Z@M(F?fT#4rKFT^BM;-zr+$CK-gc46rKF+} zB3Mvyxaxgfb3c6wr!6Bd1%b#w;iLqSb)xa;K6jyF(ogku;RZGXURh`URxb6gzMSs? zOW+)zXM`VX=Oy#l@gUYOHD0Pefw8GY&fnXm#}raiuOp8-*3nrpa&I>t$7vMA^*aR* zCgfOF&bc~ue$MgOOS(xMI+M-DV}j&b(Xu{B=%Rkv-QoHo!DH9Po~d(}RBjZa8?uPv zSlhK*VQ=y*?ra{45qY~lyO%Wx{KCEihmPK5k2U0F=XB}SZ@{qO zV<${1-e=$WACi}z*R^}!9S4sXJATjN8FS`O<^nytQ@8DQ95!nF#7QNka}TJvlDw=u z45)p!-@bqU{yX4$*k8yy-@EbQaq`%+2cZl1Ja2L-Tote>!Nx9Kw>n)@kyN(PJ?dhjxo4ri!X;X-34c@GC9Aqf@5)I|Iy^EsnVZ_t*q=*$>aQuy}eBU^E;jA zWvp~diPcFq=)<35DDP`d0-ov!5^RNd#lO)upOm!3Jn_g321$#Q&ooel zLrphG-Q9HqNEu)Xg1w@^!&T=ECc3%CY+Odo8!?uWQ$x8=l5D3R@O9{ z%AVAZ?C;s(pb=rp&~2>ooJYA<;3TdjkYi$W9ul16cnLqV9Qy}6aD!_h zd3Ggu>4!KTs|Z@wPvq7b&yOJA&N^Q=5kyF|KEVt6qKu4YpNDK9>Xc(HJ)4*2bS=c< zpx1V%lgH5DMZcg=y};yP2^Yke{$af7^AD$+N;hHO25#xz^GWhp;aG>FM!I$D*1h}N zmL7W~dYJ2jf`U&Sk9M$v@E|Ym2h;Tn#T&AVljnlS%wfHy1sm6VWET=i=J}4u+6FJ1 zJonsXgjDkqa>x?KppFZAC**v4AlKLA0%b5zD?2)#30Z?i-499V`m%`XolMR**V&vh z(&=(ZfZ+%|d)KZ#iXD%E#a6?5&)O%Eo^K1D&35T=h(?a?Dswz*Ud$B0n3!E_eO(J**o!OUF7lAA z%fiX6cRZ%&q7pkW8+~2p7G#8Mo^m`_5U?1kFZ;T_PuVg%y+@w)A`Bq6hW*y*G7H-> z;YMbb9ZI4tu*0&*%IfO#e6AI-r#rmltTrpNvig(9mP(gco5{@`=Ib(8z-L3s9p`jW zWM2^m?q#~n)RlqlaHjF-7H18eRqFFxa_n`oa~6>2XTZv3CWn!Siv}_jh+#hXn*p^~KywD|_z?Rb83H9OPS7!SE(ivo+kuIOJ1uk_`d zpiAOvCuapSMi`Z36v9?ZzsWw&dc-c)clJBfcpPDzWMR)f{g3hGvUAWI z_}8DwOAc^2^-PmoK#0}KEul)3!EsU<*++Un7bG2+~dYb#96&JV`2AC(3X9nB;HmAk; z+XXzElVFI)5I5X(IR|DWU<b1h4G=FuvrVIzNp0Y17UCw8+FjH}x88`WIZBgKP z0nZZj|65Br7{?xhE@hZMZ0T8f%_p4aylm;EV5qb=ZQL*E^1jKjw%Dj43iWSHE;(1v z^LfeHrhK~%x$iAKS5g!e-Bxx^3J;)K1hJ!aS7vZ1H7T3_E-%~CV>r7Zg~L?0M0ze% z8JWFYzG$qjAu!ekB;?Fz47rRUNj!LmSJo)wF$)m%3$6)H&U9Q~o|QG3Jh(X%TQ_j0 zP2Be<4}~}Dm^D^#i%kyhvv_8}q^H+ddgdjgS)O|1aRjCeQb26P5s-a+;(FHS`Q_y; z{YB#?B(5J4a?IOF{*)}odcx)Lpc*q}3D{D(HQ)}fxjxbAGCR9RaG=d{ zaN*h~;8_j~uk`dCEIs-jid-LHKYJJQ&`WYG1IgDFJxiUO8RlfOv&(&53o-^OD*hny zc(KdJMVk*b9t|M_Qi!%1U(PqrWb4{^rpHKX4AKjn0v9%sXNoY#wS~;(#coE?^8ETZ#pyDoH1rYdce|YLr^gCmf6NZ~O7h4+$>=Cv z*P5Ik6fQJUulIF*L(IY(+Vd=-n=Cy%=86G3Vyw4^$m5vL-4gEL<9hx#x}ImeM7FL< zUNt$E!Yt%)l()st!}T~UMSlJletIrK&FHkR9S?-1g}}_p`o)*?%VBkpVqb#Jj9J~z z2bsYaqq_=af@wJkp0AC=HJ!*aRrbcrAt$G|OV4~{u0^VSP0m>C^J#OJkxsYG@raOd zrfV}mmX!lv&LoqgZEe?NCl?rE_y3IN%=7$t83hNSUEEUg3*G1-0U1|-DewDd&<&C?Bv5UE?8jwhmnOUbD{WA~{S|>}^?>uB%KJK4oNZ z0)x0Z$#|BDGY%eKy^TEnw|GHuPTNKv|9d6FCfvs+PXBdz+<4d~3_3}4L@zm>#j^Frc)PQOyr8jI#HFWyNM3NE zTG$_dmCW;>wef=CCo}U0UoMC#2H?-e^TQ0uA&j!p?1$MPWqIO1lse1(SX)pPc$S`? z7yN)*U=QxU<)x(L`*MCLTdG}>)AJv6C$C+3)6#kdc?3D*-YeiGMSAb#^qg#Jp9GKA z;;krZpoly?cZGBHIn43Q_n1eq6U^S(=_ZvdC1q?v*Eblq@xPJtJmZ-Si4vzzaB|Kv zKmR=}J;=}uMjNhTlS|Z)B~W5=rsOA>nmQxk`Drm;ON~eOTDh!Om~ZL9tGw(0&T==!#>*w>q!UoeZ^tgPD-y7U4Q&Cb5N zO_yrsg?rn0E=4@K&v^KdbltCVkp6G*Z07J#n{JR|>LUTqajbNYIvzL{g64~-$fHbx zm67qhuj{L_mNQ-n()0bo+i!U(sjqEA&ga1)nB%ZEuz~oY$pt>eppRPlf;^L=M_E&u zncr+&}+*b&sC92B6U?;dcG-m2TmSh(T`F1J}>_a$3ww5)?)sL8QUd+ z9GMWpQmEUl`E( zY;yF6g*QVtyVRFMhUORcs{5H767%Z_mDDv%UYgYeN^i%9I>!QCOOm}%cFxhJYl&Gd z4Dypq&Z5)>DNH=w=~_9RThh|b^wVR_`DMwv(9+{v!=LqI)^;s<=1H(!_m_QZpqu2Y zWFFoY!r7g>K4QAqax37Q>FxUT3k?|jnd4zK+@(8R$}=?u{Glwk#JvvYW^UK+JCcWG z1$@k*!>-}M4{9YUFEw?9<6%kc-pz2GGch68W}xvnvqfq)?SyBiZ$qv_9^B1}FWrXj ze~*`vI*+jUv%`>+l_gh{{%GoBz$ZdPyeZJ!%fSg;|g0FPxS(tG=;gcK4qg~)a)@)wu zh>vlECigK$7L6w3DC3%d6mL>^Z?c0QsTcj9{QWpc~` z$9(x(182a?$+JbGxt&cv{XpZ9Ny_|^RcSmw6N~%Y+@($~5%qLsz0YH+!R7P#*e*8P zNRnI{HzN^5MR(U6&S9 zSnqg#Vz{CH?z5iihvFwjl1a6`Zg62r5H z$V-yp$A?u8A|3Et2aEXHxDDOk@={VCqa35&E}MB~KJDw$1~v~i_!r1?q_r1Hz9u|$ z3t8_P4@w-NITE4?f9m9{-wXPougH_@H$3G3jW6eV4(m#?e%XfZ|A3eBtDhcYg7&d* z%CH|bu;R1)cI5;=bdY5CzvkI~mUUOOx{FJXE~T5$wH0*gAMmU{aQ}tKv)Z5)=!h{% z9p>^i?+1PFXva$oE7acE=Ovlv`8?(e3HCYJd3#$Pn3lMy5GH{6`TGXCtX*E{x64e9 zf27EnGIn1v+En^-EIu0j5IlPvRqwaF~ei|Q=Kk4Y>x3f-`TzJ z0P--(_!B4m1>5#JEOWY?GV+KZ=V4t>Hl82eex;vI9zE(D#R$&5AmBOo*?Q`7r%RvW za_+jycF-q7oi79t~-`9&$WayVkg} za-JrSW4CQ_@h=+s_5a*>HW&5%yj|b??IFi=P@H38Sm+Ml4<^rNaiHMpbUJzdWyhva z1LfqknZW@(^PnU-=f|{+!;D8iAsgh(KX_PWJjS0z6>6?q;TlWNU#j6iC9lhj*Om!u z|2p!R9K*v8;oB@d^8FT!IK0d8;4C;5eqmqqpsx$pa7tp=V}UN?&2@DdPX%(QHk-a+ zX7Z}>++S7NAB6PXKJ=55gMlo)yHfhoQI?hq3}l{ZJo4KvpXW;A|DV++$Ko;f^gN&E zM4T@=k=IT$C8cwlt`!3YW%o8Yro;B^u6}`BlK%DqugyH~-|>=EQ+8<6O$6qSmT$6D zO3DC}1J4z~{vYIcG|;vwIO`wXmR?{@${0&8P()EspS%24&imIqa^ z<96~GU@(GiVXt$q>9XFO82$XP$uVtrq0wYNX>v5zb}>7lo9MkY&~<4-JTvoS@^Ao* zvv{`xE9m?adG2CHcKvKTex&PQ6Pjz9`;jH`tT*DUx|{JR5)>mny{D6-kQ>g>!w>T1 z7%A8U;j#bj6a4f{+dQ9?vlG$5zGi+Ml9yFRXNO<|+)3 zwg7Il^f=4r8%UnP=+fobM0y;4SetpB*0}VLqg!XtITr=#`Mo{s<0|7>Oqrkf-_<^k zmeV)9u1&}}*U&x$vVNYknPh=6F^y!zL$ZgX0CYVXk@9rRV2pb(Hax z&tp=!IG@OQ#qk2a(iM4IEj^AsR(?CL^0V>U;)>Cg5`ry^$kkr^qC7x&$9@EHa9cY8_zt2f|zRV!;VK6FxL2|0Qt|7=aQputRyd+oX>TgLh7pt9%V4I z!J(&*6FjyA8$xowCl9YzvbZyX?-fCp-J|o4;IXp{hJ6HTFXNHV%i3(-K;!w1!IvH0 zUJiL@WRCH9iQ0r8b}?Qe2yAXKi9DJ{li9d%O>??bC68C;K5gkG;$ybc4dUAdk^PLv ze%JLItdD~OT}UEDHnH3qk@ z@n}$b#%;!P=9&A@N#8>r6`jdu_x(Z<|It)3Br7=InFo%VYP9*ko}W@O}k5$IaJOfD_`8}e8NNbsEl zrc#A@1ML}NC+OL8^Lmj-L8gTYKwHY)(eYURL_7~Q9;K*m@4&n6?#uCA8~=`*>+^k$ z$28ln|6?A$$z%c3OU1Ef`^%5sef#e)u;?iAaAFZho$y5fSm^FJV9;g8!=4Ae0|~nn z{dXKRWY{LtJ#$L$XMNmAeKuQFaBX4&?Aki5hygJGVP zvxz*8d1x zjPB&w#n8etq}SWzT&OutdU`*TGhUEDT8KPS)>_zr)6)mJ^b%>o^z4zoZbA&D8|&m4 zZpfBJ%*>pS%yTKEPE4c+opk z9ua?g-Kq26jK_^1_tKCrd+#ET#!`&!6>aVz$8)4L;r#q(j0Zukaj?OL$y3*NoE&mP z8JGw3KMK-gg;<)odEXk(X59=m=yvX!J(%TifkIF7Dj-j;f5|gdr^o-hCF#11b8`9` zkLydJL0;ibv17*VI$@XbyY05igfZTAI*VGh_d6Al$XgC)2B2BTnhPqW@uc0zl zwWO}GCgMepsIQBKD;g@Jv2b%h#lj6u0jr_1uFm# zHO*^jj5Jq=o5R(^z38e*2ag%K`ys=<#z=H&T~oBGvT-;BmNrI~H-^H^&5>rWa&e?N z7OHLuhhmXX+1%37sZ)yg^=8c}FPTwN=8YXwHF4~iFz$=(-W+a-EDKju*HuGwXt=4exiS`UpQBMQ>b&Z3*sE=<^Xe-bBXzM#|L)aQ zHHN*)#;PzsRU+wCbzWUguB{5tIt5kZ6t|g@$My9!I0$#_+N_ zucoEmKG(O@*q!1qmIeTbM=DU= ztB+Jw)`t)P;ZRFs<+4hsF0O}Zjj?cTxH$wrHP_TfmV41yb6sO?DAF8STpw8sH%CH? z>uSBSSaUc$n{hLxxz^hgb=|y|7n(9>TF4vW&8eK@4V|-pY3VSpXva}I?^27LmwV&K z)QlXvb0tvia%bkK&$<=irbyKiuO(LHEf0s6R#&bJA=^q+Y@{aSHAEU?OT3lg%4RQA zRA1lX6^+?-)VLbl##MVoqjui479YpsBmNs%G-j;(FT_t16aUFmn#I6qsEf8l!(LG| zR2d7^*ENPiMb*soV5B=HdWeUJYmC5*rf_4ZrVj3@u8dVKu8f95RgvcA7POy8qc^%b zylix1OMN{WRJd_kU30h!;j+?eXsB%R8W3N&Rn*9tZewLn(vZ&^c=C!0aHpt zQS>0DRoA$zvc9g`i?mq9HK4J<3uw^DFAwF%L4_b6*DnN&P*Hi%e<8_Gw54iE$oehcR`g&Y zMr}A6MI}aQUaSr+!el}R%q%G@302isB0QpA@ywFqeNp9&XbkAl&~+kWnwld^>K3E7 ztcDI93ZCyAD4|fzb!<`Ok6JM`9F5Ilui35;h$Z+RdJPD9mU}VW5UH-KsYAj2uDHmX zI(4cy(i^kFTLN`<&&_POt{t*4$a??zv*yh35W7{8`j&=9gfmK23$HVt&Am~tx}~YU zjzJbWU{?9ekjtA@Yz`?}6&i`Oyk(B>%G$y}4%MJ<2v?iblDg_@#2YN0TNa}3q@w-2 z*vh8xq#@`gYSD2Fu|8mEQ4~!-S~O~SbU@Ma0cfV~gL!Eb>KtLR|D0KK=eYkvQ%Xy{ zl7+=3^UAI7E}LIcTQHmI1|t=^do~_>jtA4tTja16hnix| zX#b(5;gyr{(7BQi(XtaN^O$rIJnYSF46$Dgo`kBx_4SD-eh%!a;Oix^5XS6!)3WiL zRqZ!D^e~pPJ9|p`tm07d+yy0N2*l8=InzoOV%$$ASx-~u z9Oy^Jq`kep_O?*5VA#_Ol~0*kT0)`Fl=*hEm=1ZNpmW-qoR92zic0Q*QA z@{v5lew6)dBm7TDvvFi~811p4uCXqP`9vt_o}!8T0uIta8}Onniy4Y_Ve4?vfS?`q z?MF9WwIpnv_Cz;8E{Q~Ai2!VAt_%9b*h)XSWi@R%u^Wk0`>ol14q0DXk73+zzkwH^ zXYJYbG2<%2j1l&O6(~u}i$>UDYcMWF$5pj7M={aD>?K@_ey66cIg0+dxwfSt+!!;L zM-zRo&706`H(TOCkDTCoZEEN;*x}p6)3OPK5N%QRiq#nGF|bENM;1ko4(5yHv*%5l zRR-?pFeX4pL@N-zD~hTxMW_x(YP_Z>W*MAMj0~@+s)yJpOmdcDysYAE#&w1a{b;DB zInoe9_)HFkyoqk0nusbh@w$eF7V88P#cCT;qOM~JO+Ci*?5x8ak{!{nczohIyv;%(@!-id1Tic9kidhs49hN9TQWQqPo-?<2%KQ=! z9Z3Tsj2(v+ILd*nGIV$ZhG5u@pmq?`uGvR8#98Czlaa=RiL+;w2eS{f1jKJ*K&E?> z9LHu!_o8BhAPk5jFx=<7?y`eI+q!NiNVQ*dS&Bn|E zff)|hqc6c&Fwcz&v;=E{aB~Q=ifV64dHIy$nL~!4lU!C=)zZ>XQN7rkS~6qSoHlQ} zAw1!5%NZjcDkN}yv~n5d+$fDb8_E%H7z>9*6(+UFW+?_hZ-j;A&>~EgZ8*0TX#mo=pDI!3Jhg+BnVSRrj@k~l@%DjqeIL&oG&JN-k^tFSpge^R7}x|3XT!c zP_!vr-Qv-A`kTaLDl?4??wb<0>>cn8bGMy#gUuj2EZxuGe=<(wkTFDVakG3BAr7EhU0;+2)m zN0#V%_+(ni^eOw7VzyL1eFC~VxW75(jl|@)25WdEOy?}eYS*Tk)rrMP9VUoTEF|lq z3q5>T=rt|noh+5a@q{J{+LyG>R<;@WY4`lzwM;JSk9!8d8RxzdYz=KLcoN11- z>1HkBxm^e%rZBB;thGA8egwO%sU_@QyeZSmF<)$Hsa?yxAk#;2im@qW8Y)#2UQrsaMM`px$UWt7fj=uBaxU*f9I7=nK64x$Sc}!6xvZK z7964Bq3LCFXNSPSs>bJ`><8Fd5TRRFjcMyN$YKx8V^HFuAiVN#)K4URC2REbJ8yK1t+B?yiLJXa>7@UwVigNK5bi9xaI_Gw^UELhP zo?$hYSeWTpReFi)*`|gCqaPpbk_sNUW(_;GJqB=oVIrvg3fNy-g@!9QH9_UrKm9w>y zAwj}!k+Q-osv1y)?qjI^KLS(V(9BuWrj^X`M)s;C<4Qq*^71sgAK*4?>w%8#TuW5C2| zg=y_g>AgKPG%SPt9plivvRSjSWxyGySF~zG$WPcl`$a8URkYs-OwU~Zfrw#uQo+V5 z5rEk;Ts#8K#%!0(?t%mJ}hnm=Vh$-KGnMu=-a%rr_%uu|{| ze|tStKG!j3*@i&y7NOd6bP&A8M~R!mi(9ax(AHm}FNO~=C0RKV!HrC9tr2dn4Nvl# zs<8e^bZo(@DP)dtj;v_JV$WKOSB6>8Y!7=6*ouI;<11TMcsA#3MoiUV#1HSfGarnr z2v(QPCTF~WFBChqoJU z;*a$Ww;uvB8fj^+3Rj?g`_JnmwcZge5$=#uxR=N%8`CRNY&tY85YYs1)RWp}6^Q8Tc&zJun2ttO7b}jyTy&>l@4&h+n$ql+Xl!bD7V3VV76j8=u9#-k z;NP4`jQ_*6W!MUtkC!P}8Q87FZZrHFq8MdptigtG3?F0DtS3TOCI9!z!pqUYd$X!nl$P-S8Q8nUXZs)dAffr;SQ!?1{>O5xP2d{0Vw}Eo zR?R`!YemxYB2j0#qocH*2Dp3Jn-TL$!(M63n-TU(>Z4)Wc7!)AT-D6NJ0+}}7T9Xo zTVORnr@_D&JnWS;R=4?YCgv{AK^{NCyRJLNeb@2cd_+6ujPoNkF88Sn)CK-D+?$PE zBy7$^npRTH?q%U9-lEXg#n@|@A3nmHQe8c(p#gbU)=#OyrU806%z0UIY!hN%$+n-T z*2Sj4b-2xiOPAEu#7e_8G54vATf5%;mc@A0fXbQe-qNh}rs2IGBBc!51{_zLk)s7K z5`jm2(M-oJPi5#4!i}gXkMU{M!w(0bI}RIbS_=XS z9ELeFa)KpI*stJ=2R{NRfmGdU-D;McdC_o7b;K*SmtF7(Uq$TCU5h{x?P0l#uvylE z8N%=(t!u$Y7hPyv?Ad&38s4}ug6z%+MSc2@TpEnJwolV+2MFPTEo-b&s6YXiDQgAR z@l~Sb>hkl7oB0ZRD#rnD{t@*hE5cRSeZkwR`L;{rm7;^4f~L9>>tk;kCdB0&YweQ_ zd5-6I(H2o0+=`d_fsc@2a@Z%CzSPQz%9|Z-n2oKzxwdm(%6Dnrl-k<)v2fFv-~;c| z>yRyW@SCu1_bk^^j?xRJhHJ4$x4;?hEtrO;)f`#rEwE}?;5_dwD6=6p-s@%TSua!i7kV0p#1^*gf;3UeZnCfZ>y^syEgQCGcUgiRj(4w|3G z1-&(i@d4rX1-<6w_*dmcF-{;LFnTOY8v5Ks*Ta|r7ux{^Z#fE%J&lnQ?Ejs2g~Lhi zyz6575HJE75BMDaV*?cL_3%QWWFa8mCF}}Rx zCjZKiZ3BYBDDU1HCzh*iEF12*kLB-_kla|oF}XpiA^5&!hd9SB*tw)ud>O#l(bh5_Odrp;r2D# zcAzoZvm0965?yK2DOllNl~hDA!>PyTDCXaMe}S_R;R?=SJia)yIXUJ9oMPJlHttr? zSMIet%2scMg$|<5pBGiQDN__Q`lQ6Xf(5JyrYS*bog#LJE746?*!vr|5&$dQT;b2z zD==q|dN?2xTUmh}Iwx9RzZfsV!S=VNf(br_eWR1qT}Hv~FeWbSF6{(?s~~&*iG90T z>?DSrI%hZN7BE_1e>G`mG4QW>6~4u(ANSFm0BJWj_iZ@b%~C4(ip2{EE_PrMdo8{d zs#;mW%4Bi5$LoihQ^5<33R@sKlX)h>dB|Ew1IQ% z*Ewy0$R5rW+RX=pP1*`q2;0VE@570*S6zenvUQ@jyc%=xC7dMG)YqcO;UgL&h*b#T zBik7~>*4SOM+l6gJk)@;gZU+Byx?=2&-~=OrDiE6d~94vjRbyYAC7YKR>3ubeQ0Wl zE^(jiJ)s>q@oF%l)N=;_Q$711GpQz)2K}quK-W|)K?Gq>8ZRU5pi9G2ILvEq;Qx4t z6J0#)5^jMl4K0m4G6Rx=*&`_z&#KhwPnQ-->Tc z!g=`oGH@C2IdBcY=ZEe1R=hWG^A2ytvqNviHxF_M;eIJ_^T4;_3vu^=HTb*)m<)sf z54d>%;X343|oLMx3*#4jj+qdeYjI@%|G6X@7Dnq;yIBlca6}=&w|gC`B!rH;TiKLo(7V2 z_>B2cH@NdTWrH+>bSX;&`jl_-5y+4Zp7WlZu9l0>kMrec`gh6%yda%z=>^Y%JInR? zy|DX1=mTRmAPyct-2mi!_q+Sc_u)BkpHCl$`<-}BnaR*Q4D@}xL+?`D$zSL{KMZ=4 zfe_#U*X3=FUzxo*Ug6&-`1h{`Ulwb z7;pd(@OdZwa`oo;M&NtkPXEr&+rl;Ap9f?oJ%1mcPY!R6-*rjIGf|||okD)^zb^i=(JY{oy^6IvG@R|IMK-vEPjdH} zxHny~Iezx#|L?$R-8}Sa;@!{VD16>j^KN|4 z#SZ1r-xdP-|L%Q6xGj%BXG7I*dBL;9-M5i;{yQv!{XhHV*i-y(zA!Ik94o-j`%N7IjQ5Rp6M*Yw}@`v8|ZhYen z@5Yzh{BC^VZH}IK>$`DcBY4Eqq;dcLCdW4#yzim68W@3R{h&)aAADjpc*NPHabFKz z@{Pv5H+b_P|2g=ZefsHJkQXqI&wv{6pT_eQNSl14aev^2*7&_Iw#JWosWpD~E3NSh z|L$-j_{2-kwZ{MYd~3YmvDWz4kGICtA8C#6d2Va`hE1*UzOT2&H@wyw|MaQW_=GoF z;}xKv1HRedP>5$~ueQgr54Oew6kpXEUktr{AvX&;MkH@a|e*~Fzf;TfpnH4kFRi_du=P`+O6?hZifC%t?^e; zmZ|uhj89QU#bVg{T?i$+4N^#Qpq>9e&1r_@(eG@G~&+Z>{mWfKPz8E^CdaT;3X=1Z)HbUV(T)`9B6KuY+%Z zUr??^x3-32Sam~d{88W!sIO^Hw#Gm6u`BE%3MXxe zf4S$D_>H*#8MpzT-`Raj{E0ob#A^Y5o{9TsxPLNnOZ+B$J`FhhlP&SRKHd^9|9nfl zPukXaF77XUx+VSw_&4Em$!Cs#KJI`1XiI$IFI(a_|GXu>=qJZN;>RuVsXuIqFaCZ@ ze9V_y;&JF)>}|EQQgA;cz9pXftCRgp%GUTmfcfMjt@wvq;y=H?C4M$A{(~*?bKct$ zKLxzqKu^WzbGL4ZKL*<_hU{A8-<-NNemL&Cz`jYauQT$x5}(Qc0r!ufdnat`0<4E! zxu7q@=kK;`i7(kvlf#Jip#`gdg0LKDM zn|aJ0zBPUVa1amyE(C4{HUcjI?*N|xKLa^CK?g9qa32HEmPxqNhJA3a0nP%h04Vo9 z?%x2sQ#W}hvbL2m_v+T#v< z4Rm~dhgR>fEjb@tfL|LsZc82peGL7V;BNHV?o-hAgUA;!7R&}$fm?yLb3gPM@HW^A zba>xFe*+x{Qy;+D;1ZDHX}8*s8!>wjybLyj??8&z>6mTFJHSU^59mCEasbx?oku!< zbaA70Pmmuv?QWwm587=@ zjvlxzc?Qt=_QZf~$yY&l^n)_Yrt~M>xJ%WyOVO_ZE3or2_z3(Cz95V;pvzR_@V?}q zL;2(9h2UCnM~Kb1{|@{C6lRS;9vA{n19x=amK@fD`Ubl8+?JdU?ghUC9X~1DmaGM) z_1c!a1*H61jXD7y@4YR#8hi+Dqprq|-j=kwZA;bzEkS?$FUi2QsQ-n%Xvc z@auQb)kM8 zW)A`z_d7AuYXdgO2M-?HAL!qJfTaHq)K)6|I--ki=UVLRN5?x`4+GL2i6}kiL z1E-jxJ~M@DMx{1_?xQ!=6!lb1x!@(}2em})swGC<+M=3(t#zbYwL>Lq+F@d}%n{Wq zN4gEn5o1HHM5KY_G-x2kq6TtUK|`?~Y$(bDqZ&({ag8NQEY^l!WS>{c)MDDevj)%Iqxu`|WrSWw~h$St>+}=_S-PKZ}16zr8 zSu4V5#dRI6MeS@Y(Os>@Xp$#pK_2PK6XPxi36|oz^tcaZR#n;4yauy&8%LM zy{VVvuI()~yY!Kk#eJmCu0B$$dta%)!jY`}ew0B!F&BZ$`bqQ-^lSS`cD4SLS%1lz z2Hi10vgZ$%8qNq&GD?i6#zRjQW5&s1uK1UjLr#&%x>Lj$aw>U$svNQDG_i^%h?+k^ z>PV5OdnZY@TP)dLG44vJTP1RcH$@D4s5>&c zojNu{4%swAj^L|nQ)Wr6rL&}VY_?cCXG{I-=164695HsCDb-}2G<4=skLQs$^CVBs z!p>Qu{y0y}eW1(vV$KIooll)SpIEq(_22~(*$(nAlt%7_(%iX73|T5x_EO@ulzO~W z%yCO4YZ2<3z#ZUT@ErW@ONraXV&z{!hY!FC*sMz+DzM$pY&Rd49}Y z{ug)^M=$I_Xe%wO=%|Ur0Ij}L^qVafeQ;|=#4#-ay|+V?(asO*OfqvJz{ zHRmD2{Oln^?Ev1xhPm!x!}tvBde~6bBiMh$h^~Ns@Q6|Ks>ci^MW(TDCYWuiedn8M z(GFAHyTh!z?q}23^@nNf{M&3KyUeJ&%RIu{W!4+D+qB}lvAfr-W9>7e)ApHJJNB71 zXOvh*^Xv})fm(6VF@>cLj+4TCMK{xMdq z6(?JkcfHkq;L8!K*DH~~#EJ4bLGRymNA!>LpMhnD?7JFW_j{91)_S)B?b*wefIs?~4n>lNvy}Y&2BfZz7hsWNG z9_g%$R+sfr!&x6~E*qj*-iGMl&o)Hs%e&E5?z_=QgN@Nc+>Oz`vMH+Mz34O5-iun_ zydUi&A4DzL5^dmYi4NZJQM6|LkBR3e(fRTj@s#dGu5{liR`=8(lk|VGPl@c(NSUXo zq6Jl>)z_s)HxWMckk*nf9jT9w43cAHB>l&Hd5hZlj=U=yhI{m1f&d@511 zs7Zd?Bip`o^4630Em*zf%Pn7R`DTmxVf7Cie%SAe7ryBC)$*_Qe%7D zp486WDz&5BFVnFzGNpPbRrgq>+AmV`)!FFJSJTu5sT=cAxDtAe zvemV!wYpB_tLxFY{E@9aRjoJ5b-Lj#hW8?kbLd_p4s&0n8tQu7ExY zeGIxv^)#L&jAvCJ^&I+_z*=Rf*P(Ah*FoQczOB@u{{g?E{tf$osm1DVb&1-gRK9J@ zQY{R1XisCXDl|m(HfE?k#z55%^#J2^HPC3H1{qD&U_;dyWVTduOl2)(3UG;esJhIo zYhGnGQrDObjO)$Xhb%X1SAPxOM$=N8%&XLU<~3@Id4u}UyiRR3RfC=8W$IV+3iXG1 zq59Kw)!*3NZN}6dXsJ1i=GLNaU8}ZTWT_TcSn6oc%2KN>ReO`A#&wG1w2s&9-}=qE z{na}_nyQ;`Z@N_7)wD>(o2sH}&2FyNpxMn?`OxlQ2oAL>fB1nRs(G?@6*uIkTG7EN?JoTbZl==zL!)wo$|`Mv+H}C5@4+OQ zD0~GjbD$h8mzj)|^8weu$n5a{e3=%S^rJNog)>vQ_C^+fk}w)6G8@zRzS}9jJ#K&T z{W&{jp%VSU#J~~xQB$#Ghff{($)`$w*0h?)FTUO-LBTJZS!M%9!a}K&7aCPb=$}lB zOPuuOU_M2yf820r_NR!ga)DH~_(^;hd>7qv!2CNBw8l1D5 z!ugl?tP40eKX;;kuCd$`t9o{w`rOhLF|CND{V&0<5urzPF)}4(7di@$J27xf zWVSZKRDND)buFNO+CJ{B!?4#M-4u!X=Ba<7|7J&3O$NXpPnrU?lKZig3O8k+nKQLc zWHNLvxe|gCT{^kbXU!^^J9+MGzQV2ai&|M$evOD-JJPY9 z)jc<&nncW2&7)au@>=KnR$Dc1+@Mjz9^C?WHEL9^UacAzhH*z2HAdeKrf*@Rb_GA3 z13^hfDa-1VsQz*JVOHI`MqQKQI{0re>{hrdg0f57_ju3V7SZCZAH$(4pYhf8y2`fa2=GpVj}G`(CO=|@=) zk`Z#eoGAa22~tG6nojS!Ko+yMxlFE+nA|P@=DANE;CVzImnY>po|nX9)v$rN*9XkG zK9?`$2ifUAzsp~;NA^mR-mJQ+t8!Ee<~W_yQK|>?6Gt7RhNdTM(>$4)&BGvRwf>w2E zMDVjx3QEHN)$;#W?5Kny3FMY`mLts$+D239$!wQO-Cro1Hohb2)KAl9UFx>b)ldIw z4jD-SPn#rX$VqbCQPQ{-ha-;|7%+!TUvR9n6B#YTMcQVMs3Y@FIC_pCRsC!^Yo6qs zN;{Xq$H<^8>3H%K;oBH)ew*4r4w1!(r;N;MSR}IK^j_!mXwr>Zfpo0N_&ed0iQ{J0 z&YMA9IduGNTNaHvvrqf6BB$jS&ZS;ay-w`wNd4Z@oum5x2fu^#^@aUL4dT`dzR4Oi zKKN{(TS54E|CmAJMh)x7xzDkj;2hYGFK_z=9}nsypo2N=$vs4a2aO)BwZp~)7fg-r zH)2e1u|mJGCyeeljIaOu4b{A1CyW_-;-GQdx|03~a*%%!RdBn5_Gr+E0Yqjb;o)Y) z*pY(=a{~kSQ;i(WH>1JF(WA%f+qFh=PfPfzL2zM5zZ1C^N#99DEC>15b&SBmfD=aR zF#8W0d(xmme0-)aR2X{Ppzxjt{hhhKr)2=&UE(VEA{i(89P0$_&%if6e=&}9>k>pEoEkf{}YX6a=$DY`4*a?HigkLo4n_Kv>eT4sU`-pzS2l@9P z48qxfL44^LTq>cjcH)kk(SwE)BvBblR8AN^BDg?-d>A~8TPOyM9yw-ADq3TQ4(D=; ze#67>XoKu0dcj>e14oY>HMrlN9twQu9X!zz-U0vUmed>wFC1T*J#|ZaX8HW|3+?1-dK85a#`uk za&uBY%gX$xblKk9_T0f6zq?BBOx`KC@4dZ@p1JJavis%!efRHqpzIO-?0ck?rwr`% zb^9JkK2r9$Jf3_)o+x{&?5R@yJYB|<@11?i_NEBCHQ>c>~_S-E%RKGb_Lukd_crfsg&|4UcygZj^ZlK&}N zx%Z3Y7yS46xL&#UtG!?C`?~CF`7-&XY?6(o8-J=xc9}!Cl!H+%5N`IAK%kZnz2kHDRiE7^;yZ(~DlYf`)O0Jc)Wot|K?Af#Hy5#j`*C%gC z-cWj@+#n<#gh8DKlwoNL7w}{?vqE#?kRh=^jY34yhKU9mRys3 zuWU0p^*Os6+tSZN$sgs%(w~#R$j;vmWJt;uQK!`36A`cvz3 zYo;~BI>S2MddnJRO|vFiCDy~%z1Dr!a_a%#Ua@tFb(3{*+I6}A|KF*uv2L_(vu?1i zwJx(RwJx`=Ahh4jBf>DRgkELcV%=;lv%a>J$*xdU+bPrq|Oo4eq=PATc9ztz#|X?<%>wMO$ai%bPItZZgkr=q{#FUfw`Xd7t} z8EOr+nn#*L=UT0;sa8Sw47GORUYluCty^z3@on!kSNVEvw#sVhKMgIdssS4M`V+0= ztxOEHR^X;>WR>+a&njz@b&^$NorceUnN6&{Jb(L7UL-HF-HJw{k!&j)nwbLzx)%b)>&`<*DiywJBRk`R`927WCG^neBNP|IDxyLLw7%g zRGXfSdXcq+|36ThDl|=Bb0&S(RWigJCQr#T^1Whe zeM@cJV_uO|)|IRr{?DEllg-rg>IP%2G0tpcb+Wox-K-u~FRKqVZh$r3`WN+Tl2vR? zp_QL*EwC=ImeSU)w63Pr-9QV!g%)@x?fzkFrS-V=B=z7~>qYBj%d^&4`^T&k>zvP| zp1*c^L<&^eMv~Dq$q6Rup?a%z$$hdKf0ya(;NHxNBx2mE{!&@SE>)^#8f}cu z#u-Kj<5ZbpyvKfQYh$EQXiPP3Gk!L98i$)lnHyD0=9`Mi0DnJ|Ac ze=~QPZ=0{1d(DQ{c5W^2Y<+GXZFRQ{D{7r!9ZtI*NndiDbuukyiFH10XoxkPzI7)3 z*%P$Y#nwh^v-OPinzhCH$l7XsV!du{u->uWwbohhS?^mPSRd01e@ZX@C~fe0>m}<2 z>lN!&Yc>7WW7f~sTI&nz4eI^3)`#@lU(+{zY3;L;R`p2DNZm+Iq+w*e^|qC;YDBUl zEG;8-s;HSkU7f5JnWg5{W}X#1_2s8ze|CxMNCF3^$e<&;8@G0~^iE<9R+vhgLC+|5jHR#;jQQdvzBo^v`}4YG6L_BDnP7coZL-d>ehHrm*01QanKsqBe_Myp z7i!fh&|gDU?TCK*L{8!VVZKW1vm%WuV1l&}HxX#kbdl8ys!Ejzw(acYooE%&}?KjHEpwnIoK4l%xG@zF-Dpvm<8rJ=0j}V zxn`01jkzlFWaJ+D;fEvBBacMxi`*X>9O)G~J~AY-GBPysbmWc5@W?TdneuEBCkeni(D6ZB64Qr&B$AkcOr8miy|8%|Bh^mY>sS* zydQZm@^)lPWJP3MWNYN($S09cBj-gvjC>aPPvrB+lE{~luOhcczKDDiaU)+x5|M8s z+alkg`aZHF@>Ar;$S;v!BW01_BY#Hzi2N1#JF+{n2f8n^H&Pl&MpV{~k-H-C$Z|Ho zv$7fmo0FMUO6pyA{S7xZIQd_voO;^P-MaVaIc~hKjvZOhu6>7&ojM=YrK>hSt#IrK zC!Q2CGu5jz%wJnGab(SL<718LJraAjXyT+H#ZMN-nk^rB#-}q^tjrs^Vr3;yV@uz> zWX8-{Yq2`{y?RroP8+guQ==hgEgE@dhNqR>G{eDYkhgi@V;9!@#hXZQK-l@S%tKs~1NC$GvAQ(g9s{;BY4AL}G-@EFa z`O2%g@4oVC;g_*72MOoor(@(a>6tfX!NPj0W4WRyIF~o19o(XZ6O|YWC!+ zYuEK+_ug>hij|F*Kb;Y`!nTtt73ZLyE0ZZu|X_Waz%!- zwT1O6Iip--t3Unouhp?w`&hmEABcUt{bS<$)5n?4D!CcC`se!}c>jak-1&_ft*Li* z?BiH0c1H2X?=GK{5mY5NFTNP97F(OMw8160x%C<~%8lhV%57BGX!(kj8Ez`Jm{_Bq zW4UWf8ci%NsaG$zFxF^JEO*69>Rr7ICl%Tl0xolMH!jazzO>OLxm#k53R}i`(^{@ATsxVI5vER?zNBz)(ejCN3ZIU}Miw43x?UqvLh~D(6I(ukT!@V<$r&Bf zt!vzP?RQ|9Q_^6?%GlbLg*m!aTzXl9NFjPHex~-?*dc|ReZ#_yMLC0;o^In7W?}wl zN@Eg!pZr2$&a2w*6)Q`$mxY8ls4(^dWZ1-(BS+P%-!+E{f(753BNn&(;e|rqx_1Bl z;Mm;QlFgf6*j)I=>!UyHcXMq0xbcJ64_)$$_VVgqN=85Q@Z&lOhv_ayo89|i$%hX; zy!^SR9{YOsW4@Q`o{c@9k%7Kh_SzLIAB(-QEq42e*zd7kjbnH7EN&h9bj8YTD^|AE zEn}+ww_@c_q-H0~K09+hiyaxeF!pln(Ac3~!1S&n>Zxaa%)2{wmls=)i_ft3^4+n^ zVTXU1>c_WVZhCU8ckC`q?@Al(2<-hhU(>T!th}4QoK<(<#orl^KKf|iXHI|S(N*U@ ze#X{EKYH}hyL0ZoJh5u)){jp6Xw}w_E;!FUzu~_d-BatXx@QtpE1gTi(9! zmiwM~;y%mFxu(wXb#rqUT{OG??sIn6Jy)GG`=YM=idrmIk(@LBx@th9W80iDpnijT z)92*&&&g?$lf(a3{d1}IxjBs%H_FY;DOy4$&TY{mm;X5}YUbuNSPUztL2hoH+?>U^ zi`Cx6A_LWtk=x~VcFy0H)BNXDIZf#qh<@~YiU}F!*=jOxn@^UvnZ1r=_Hzu+MBW{y z?4PFAn?=0Y&`(8|&m6#fPiVWceRhCky}48tnWw0KaVld4G0lpsR(Gjq%x9UYP=}f;)Kb}Kp3eD)>g=}H!&MiagU58f+HC$Ro6RhBCa={NN#N^iyb&148Ifz$ z)hge7gc-$gl5gtO{ZhF~Rh_bfhjVBcLQm)nwU^lSvP$G+YY5?dE#sM=-L76xN13O{ zczHrPn`I{F9IDL0gNL)4b1sG-P&Vt#&E_+d+CVi_#myJYmyLDum|xO5O^=up|EGMLL?|y%()XxG)WfPqBuHPj zDy4jq(!#1`J;RFfG^#FK;6GwNlj@8ep{xgtMN4?Y+W})e@ zez;v7B}eg&r=^q~pk*Aqd|s1Y>K-$w!MY9oYU!M59qFwGs;iV<@w7AVQmw33l+TgM zQ;GkvzWr$&Vy#x^n&)z^C@7!X@asq8N6s;QE7|IE$yeDN(pYRR_H%BrdEft(Z&S&$ zddgKFTPKlk&stZTcd|~u+jv}Fm$kBnQfjOEvW78u%ic<^F=ttIt*YD4^TxI2s(Wx|kL>;sB+jdz8!np|=d$ z>jJC2HCG*{E|#|JrF><*fzJcgF7sIRrwmsOI6)EQ?;JH!9e;q(4qhjgN=;?)e)m}Q z1udp}qw6n4$`vB=V*ch{#TD6^8kwYj=eZSr^)>G?F zR6iLr&F8J*a=7}=$~JX-eT&_O#`5n2q~^fm*opFznrWKykaa(&=BArZs)gnzS!k{@ z23W|OlcUX7)w|XLdB@T=SBWX-9w3Y{>Q&-70em12Ni*KKH)8kdO)<@9%vEZ+dR856 zHc(F*b*yTt7US3ib*uC=7m=>I>QGf*jghg^)LNx(l-kyd>IC>}*cWJs&CX^+Z0fuY z>W8+eWAmh8N-S-2wTfW#ZLxXASc~LUYSWi8-wNtpSF;}D{#W?Wnm6Hnt)8kUCkH;_ z4Dup!_&e|`h<$t2LGez^Tx^ZzJmTNx4)a;Ud6o1%EyJ*P7`r!sQ4i~521|8RhMUY?q(%|)C?&yy$VRUedTj7s~g+5Ep0*PoczkW*j6`2xHn zAEBG8@;RsbqSc0T3)h-$r7fp-o5&RNa56osl&fsjt zYBhsz2Ue?ToX=a${_bkE6uitiinGzb0?y(a0Yc!s)M|x*5qZs;$@!UCJl%L|sGUX+ z>A`86qvaQ)5$BnYvzl_o<5Rg!E>U&VtI|*XZ1QGRHMeZ5nRS9{V7+GKaz?Jdx>s4& zF>;L6SlP%dtrpq9Ij=Tqq{OYK)evj2)k2L|E!h(vWVKdPL#Bs#WHP z($(6^dFY?zbxt66ZC)m> ze8nl?E94l?%{?aKyYe`M|tL-7L%G zLE|2|RIR4J%T-sZTiDlr$EeL&?(5Vb-Vj_QJEVu%ogJ?q*a5d>FmIXfRG+c;8k3r4 zmN{IC&12<6b3JEK#&V|kUAfZSD2K{;^L}%=Jf$|v1LnQFYrapOQ{&hL@2;LOPU7r$ zSEV8=%&+yKIDX|@Nd5W`;2=Y*37mK1Ql2Uq0NZSx6UKrX6p$N?mX`q@yzr+wKb8DzNBJCD+lyM!? z=?WE<%coq=rX1T0Y5O{ON{dsTfjGD{gNX4XzDld;CJ)vBe6g+ipU>6*j%eMwrskU_ zqT%@|6GOwOCUyDokF){~dPwW^kLnhhmj|b9`9CP1YiQ^C&}{I_sw-CJIqbCMkbhv} z$8&$Sq6In}IZSa7V;lZLlN$c7s`Dw@jpHKYghv?%?wdX5OeC8vSa{Z=vlr_i*IcW&qi1UpO?)ev9eCg#^UiDVLwr1_?Z@jr~{abHuc<0@Xo8H^}{s&t= z{AlaPpM3fmo2rQ~zxw){Z?}E7{rew&-0{=TzwG?=x8MKx^RK^m?cTF@UujwLsP>(; zC|!ixcIwuyQ^$6lyV#w&_w3rWXO|v!r-@y=cPZ)8qeqX9M^EZHxqG*g$=!;(997(f zG?g6PrPGw+DY%;4rE{mwT_<(yepIK9Jtj@=hCy*j7p}$btP6N(DEP2kXd5C8^&QFn z4f#kB3xE2=nidbM4|5?lkV`w~&hq82==)S>aB*w+3y$$+$lSDNa*eqbc{vdoqO+#X zDAA&@^rhD&bF~vK5vXeEdfY}EUPxOmz*EPdvh1NCU>zf_UQG+n(2@_3kLh2F%PqI_ z5CuF(i@9u79N3>dkBdd8FKR!zrxwYmWnLk8KubQeeGyvHZ`4qGGWS^8XH7>qVyk)S zt8Z;?r<|q5)Nl>3f2C)Tj!@=faL1_4{jXe}YPVXTVUtt?m~Es zo>V1WWf7r43Vc}^K|M%|Xo5S_7db^)_eT(&FBFzBiz?$AXnuvOkqMl;W*5vT)|Gow z$$W$w&$2sli?kmXZqX)qE$twX^~n{=zO*9RS&5y`eYw+TE|^Kh)S@@3e8NzsZx;>) zZBY|~8*Kf;NZr5eU-dhYD}niiw+3rLA%Q%qRAkDrl-ZTOM+XUeNis97MfY58_h_E8HyMreyJO+!?6A4NQ15r0>WgtIiD=T zKAGHVEG^EL#GLle4vN!{Tgspax`0tJBgCeL*Z# zg|Yl01CLDM7YKCJg{Y6N+Wrw=Tc5c_Ue8>zfP2D2sUBo*TKXNcqafyCD|JRmE~k-N{W&(gMxW*{E;u_9dJVpA3mEmD){EiBpGe%Y{NBjY;>o(-37r z>!4|dwIJ2Q`^l7vexkx^u46ct=E(i?x;E=V3UZnDmm!JFo;Zb8kg85vMiSBVrKgE# zsm;t$ai1=y;D%%RR>TTcC2?4Huh>st{XFCBjCNUtgyLc(_~`sEE}?M}!@&R0jTS#Y z@&p8vhaxkF4jQ97ihh_tLUB(deWL9j&@OM{Ri%B1e~{bHsEH|An`zmDeRIXTFx= zJtq|LM-PQidtk4fuM6x@cH9MyqzzpUbS5FKmP@uX#xHKD z_KR0LY9HL!kN?F8#nw}aNqVlN1(A$`o!^Gq91K#v^nUb*V{JB~xOsjc_%wkQ(E!^C{UZMvxL^x7eiM5uetA)Yqd*H(kf<8?5azvDA z2UqkX3ozYcbVnWB=3POQaJl#)@~eDym>S*EV`<0s9sR2B&wqXS18I5jl$6fMbek;i zI5Ogsjz@aBqC2Z_N*joqEN_3Q-qCM)RX8Z0&mf~=7K1H4P%#y9(%gxNfY72}gB+&6 zrt~oK=Z4|%eGvOWJt;=)Gd0>D4)yfSFMU5zf#8j!^yTb<%qa3K>^S{-;rz3Z7Dsc_ zT{hSMYoRLhr)w#4`sRHtfI9q@$3HXQbZ-*&Ub_G1lS~ptLHL5Ne3#|!{B%#W^)!37 zpXhW)?^g$Uf0`yY(vyyIJN|@2MNukQpTnKI9(@J1yfl=qGgT z4D+#Ed{%m%51|1DDjTXi?!zqbe{^ZJEegqj4+9&srEb))F z)A0!!bxQgd?z9Y;j0_=Oem!7HUm={i2%VtUV>Ay%E&r3#it)=#$ic%5#pUTqR{?_Z z0`aB=Hr+#p@Ixv}AjT9$dKCA2bs44QKr_neaXB1rf|(BzOtdWKa9LbFPnd!DjTzJg z77al|NKMrI>3V9u8x*8JBM_`vHRcEfxM?HxRCbcuxdlgeey!9sYPj?KXaTMii~4q3^Tk_n?7vD{J#&+m%S2r z8pzknC%`s+It8Ak{mTo!?bD)+MzRzPC4aZiTe8F#i+h)mH!CNNJ$iIHf20Y3VsZG?TNiAZ}XU-pE{FFnep=jPfwrUij?YP~C^rMsmUN}2WP zfbH8a<^7wrl=sKM+TM?TYE)e?>r8}(2J+ASP*?{{qrLl`W+<9{VrrL7yVNVCz~an6 zBAs5_hmv_vg?+`m^68eICkBFh%Gr9Xp2*sGk{*vzYq|{oQoiU(T)A^U`sE%6sUgAB zg6Xa=6(^WDw@UB-5Y_bfS{^&?uikIy>5s2RckOyqSH12V5qt@3`%C|nIBS0mMHVou zGv)=8h6?MUupjd6O`6SS4L0@eK&I979LitQY5&vxoF5p{-gT}rJ-b-hi* zj8SKr@4uh$Duj;1&s=GR`7_4PABM!x_jDmv;FsqZyMDUe1lvq>+PX66slp5`&P@Nt zOq^0O|7=!K^#0`E+2PD1J+>p069I)4M{eydJy#2amCe*M1Ey{1Z2@gZ|Jc8zp3xmw zxs29*Lr?)zV$oAeToc?bk%4>jCf z4ZiBuRUkt&FnO91t(7s!Nr}q#Q^Wbgih{x^-JrYE1%c#ke;5gRw_peeok?cD>dT`J zcM0;-9b*9ki23VSkeBMKf=|?KUj%YSyAOxwRAKp5HQnz0@r^)J^A2AKVrocdc%Owx z_6*U&Ve3DDeQkZ-*$k#LgDLNR{*wIEY{B>07fU=wr@3PIq+Wl_Z;u?DY2UB2bOG8y zc>;o(tn+jKDnlSaMi$t?NB0GO;|vQWJ!VkRgV|^pIZ~noR|}X;`5jK`X$t>m9+%JGX@0Zj>#cYlRJh$ukH`EQ(a~Clp5KzI=;!IZ zm<0vdNqT~o5G*36>G+Yu<^6A%?$ofu4G8{Rv$y`w3uz?WY5NF$)53}MWCjV?2+VGE ze4F$X)c=+@^e3p|<-X_}546P*fi&#icDmZz`a*|Fp@hYj3Z{*|=Ap6`y#z~Ju(=bW zz)la~z5Tf92;05wib40z^D`tb2$lxxN6NSAzw$~=47F4@KgU|N3Z`+HjXH3=pVbL@ z_L3z8t^YF|a^I0Zfn)dU$WGnc*nTSfkce%VYpE#ft|Pn=f{HU)FER9FwZcS+iIbmu zz4L;urCcB8S03WXGs`hG4@$jwVaqOfQKIuFj6j%4NLLSjq5IIO?sX=F)9LcUtXL%~ z7gnWm2*YVLFZk4ZK(KE+)D-i==Aj*sqxOQzWN=a|9-5(OOzn~72KyJ zKUZ*F!BHR>8mAT9g@bE4u=G|{=ob5#`AjdEkvT!Z>lV_<-}j_4FDdnFr2sRk_m2Q z$q!A68K8Ly!vbf&@G|^q-rL`;Ot1e^uGv}1M|f?U3LeZWnTjC7yfBA@DGu>yV;^a! z*9D`4%TX#M6nA<{c3xgSGR+aNT3lfJiZ-c~_btGeAj8AhrF`2;_-0=*x;uw>qZl3B$mlMJO^)ciMDRKA-) z0CvAI1O9J@7haTO_w~EHzUhsOpuqG+K?Qay8mV~roB8=|_siO<$~&{(>3ZV(`_C>b zMJsGyRn+$bRI|WA)%JrL5LV2vn%GqaScQ99iau?Ss@FloNwu%4>QUN3c|}Ssvs3x$ zA7999d}%j9XSYJ;lN!Orj0kpnbsb(_yjT1x$)jE(%$svOyN`HR0G znBeW9w%@0BU%R~N1QpG0)ymef(0&fEhv^%dbng>}+nLDCpFMx#jQmdYN|oC#D@XDQ z@wQ?2V^tfa={aHz_RZ$=Jk>%nfSR%Il>Pf!Iv!}xcqoa0rs+%WlmA=yL6 zq~{bF^-E`36*aI@CZ@Z-PJW-8;a>M!;UYb(Pj=N+x?+9yvp?Pc|5FSq_dw-UIjCHf zx?&x@RK7Dc9n2MAsi8YF|9!W;+jY{y<;kgxT(6?q{MY_f^r&5WJg-#W53)W_O`82= zq{1y5P z5WNXkDc<1}JGDI>#z0TjSt;lkSF)c@XXb)J?_244Wpfri!KOi8rFHp4TVHe+E)7}z z>Y24~6092au3C^ia^U%A`5IJP-G3b#=7f%W`F5jzugCV5J})&-ziF8^eG;oo|7b<# zj*P$aHe%@UCk)D%vie!dWOT}m>AVPHr;RPT)U|ct%er~?JdTNFZiH5v&yru^U>Gi@ z!rd2&6cy{J@(l2I-2C^g^LgLJmPiQ^o<38*2Ii{VMz}(J+4tvEpC0DfzFsjrdK*Q8=M=MKd;Ng1&hMExnMGHNK^HpQn=G+%~>#?44-{Q$*gcdEZ_|R z89itAJpW8wm|^Ann)|1;QB~EhAUt>2pVPfmc77Rs z7`|2XDYfwXCwuhz!SMJG{)MB1_U@qJrskmkWY3>Z`o3{4Mqm9|UOn~XWfq5b@|d=9 z!)CwXRNayKrIl~mqOc0!u~_f1;_n;sR@sat}-p!OqHn33~o zPT*ygtT1{hkN>-KE%RngpEIXqK4)Q4eFeP&KG7%ZH>JF5m_k+l$9i08BOo~G7i4^e z`dB^-3+h8^9bI)*4CYN?RXl({dR-UJr^8-UPbX6T6=crwQvCfU(N*(PWsI;B;`FI7+T{Z&#bQklD3GI%WEz@{%my&ke^r=4BODVCfnbG>UKx?AfWn?%CPzfyQzqZVFS9 zU<)jG0msl4Y#aH#aZujc-pumDfd{mB(%jjM(Bk6;{B_pU`P1_CTc&WHTPfzj zz@$^b%dp<%`#Bs4=3SG{?9pR6si!w?Ci(B{T7*48IH3u{(OpM+TAUioFzXbKd<C-kwLd}s(Bhzx z3G8V9QX#b|%$y)q%ImO}P)Qb-%$==sRDVAa3|Nzc{apV%O)&Y;yQbWI&or6Sh3N{J zX^+Yt?y%}ZWM|D~{F^m3s8&_=->Kmzvxn6sk}~(Z!YVrQRI{w?E@gfocm8lv*^zIE ziz>oN4|^FSfR10%-m+2mnT6`<1c#@2Ia|dy2-;=(g{?ij-`D{|GW-ZX3<)cWdB2n8M7xA>-l^67IejRO{HpB zsmb^B*L-0+4%>#m#7;X4nrwv#_qGFP@=yI^=ytyjGIQPa-vkuKFQdg(jAOt^ZJdS4 zNXIh04}ZXZJmtP}M5~Nv%5oJsnejc9ZjkzoKd+99{Z&lrUB9jhlk|D-^u&SY8@y%I zpDzVRal`r&5;vudulw=h-#2`D{ta7(XKmc+4h+l_YeG6e(@lqt>33W4d9T-QeEhM2 zx&G8q|8|DkiS->{d)fOTT@z4A`20Dy-qcUTLxR*7Q2p!T@Xy(FZZBVd*_JPzDf)NG zY1&-mgN4q-v7__ixAqD2n{NrIb8SGSWk`oO=dQV_)yknyjJ@qv{d>M|&#O9qb z`iTEayb7_eJb!FIaf;uH?*6X7BsxS@@t*zxzln4B$;E|VB!@d%U-Hi9Vf=P#cl_d^ zK8%Mna4@vPbd#W8NT1zrw{h4g`=wWg!K?gpQwDR{z??p_q{HN?vwPaY*G9S&Crl2G z0c12Zed>Mozy*RGZ#(pR%zz6#?FaUpU(o{($ZzO@3p^mdqX#bV zfc$|Tzg!*WHq3|*pWKTBT;KuOi5|GX1ET%Lo&1S8aDn`V8o0m%@;7?m0uRV8^uPrk zklpBk3p^luP~)ff9ct3$02g>Vt>l*jTurq--~rhS)p3Bjz#;ywP6H79ae$}I@z>RA zoloSCr}MHDbKn9GNEv$I0uM+MJ#c{sgu5#o-~tcuLAN--1s)JSA$NcaJRsbO;Q|ME zT8*SSH-b5EfQR1GYN%vEfeSn!+ANA0aDfM;8hYRY4+tVN9N+>^i_fTm9(dW9X{u2Z zbKn41tKm7C52O}q-~tawZS=qe9*{byfdf1sbx{Ksct8$84?N%kITSr`fd{x8OB~<= z4@i9|aDWTsFx0>W9*`XLzy%(VT=c*N9*_p;feSn!4bcN>j9DXS6ZF6Z9+1PKn0uP9 z)xc?r8hAjOp$9JTv_IH&G_-vn*l}>h7dUyK75wJt zp`KR5caOwe+lS9JWa0o9cv_8L(gq4#jTV?|pcd_~cGDKVhV~cg0c4+u16<5JAh>aW zi+`T>Q-`hHo`X3^Y|IiD>H%4T8AxoaEv{B?$`TJ6hst|dV!s@fBB-a;tH7jc5(iF~ z>XHEVO0F*$jXMxW?Ls{u&u2*yu)mLr{b*F;zl=)x=$le^C2Q z?LTR{C|jJzvcw@A@9mo6LZuz~0bJl|bFFWWIdD6p2XYi~_s0ZxHTujjg|Do{* z$s4U6mMt#S1MWAq#ajTy9}hSkQG=qA8sb6Y6N%S8%6JNTXwhKe_#FNae;34cdbIj< zuBw=hd*Fhib>tf~j$Jt&bKqfSFC@LF?dM77dg2M<6KYD)yR{@SqlP539-jAYEwMk( zmiYa|5BqWk?p<&m>hnP-`~>l%$ZMzvxU@$cjoP}bDO*i}-L{S-be?o29mV9wQ0xE~ zctDOt4_x2@ISxH=fd^z5df);N$Z+()1s*`anmE7(9*~jffeSn!qtF8vctEGXxxfQ57yG~kMMczesC^dcn}<1& z1=Mk969@#3KBlpOiWlHwY7Z_J8p2 zb?U)|qyu#V*l)tazVik3YXEiNHPpa;gZhcSXccj(L;T=Nf^q^b{5XDisO>ND6F*$2 zy)G&VsPh$OsO^g=d(?^R$#>ky*QkrBdnGlc2(<@f4S7|U{P+ev)P0?{i#k4s@*$lL z{Gu<2gQjOg zAKJ}Q;s}b+JL~Z8b<864KkErwt1l*<@Lbd$aOx3<@6dyUrUR+RZxP;h{CopGh@+3A zx8H^Wdjs+Mp7;P)^YJsT&EBGnFpH1M77ug#66(a8(5aNs55xy`g792z_73F)m36p3 zp8Tj!dTy*EaojkV*_YDZ4#O^L7q=ej1T>C2`(4~>ci7<~Hi@IRH-gJ>Gl;f}I>5&JgBi31+Kl}J zek{fh-F~#1wk3M(f1Pq_LHu5*BkpAU0d7meD8?@hE^{ivjtA^Fi1YdIfd`nlivwH` zA5C9HeB;E&yAa+*@PG^A%oFT$-~kW4EQJSL-~qXqv^dqpfx5s0apqORoTNx&7X8O1 z*jYjuyh7X+c}D+{03Lmb^CEdf-x7z)IQ)BwctVSy92#tgW?16(I64sd~|)wpprZa}YrTA&V)8==4j9*~>R z0~dHemZ1l(raIoYU=~9Sbv14V=sgY8f|;l7q8IdzHoFxHJRrAWU+Xmm9+2D7Yut$$ z)V&L{JJ179>owJgV}1|jcVh-Tz+fW|a5Yc6hwlL{`4vaog}NH>JRtb(08fXZ-Rm^L zm*toP7kEJKMGsuy0ikR>T|W0?26Z$Ap2h>10|&TT{UBOx(pJd8Q;w3((F zkAM~MRsyI4Tusrtz|-c~aexctQPjW%9+1b-0}sgKsDX>xg?g(ndjdcm;A)EAgC|d- z2AB*E(sI|xWJo;dM#~o68!r3iN z@b69hg2tioLG*#BJ+0UFBKUtb>k!s4vW|F6!9FPR=u@FCak0;(PlLvxMcMfIJnjkK z-m3d*=I#ExlK%Bo`i1l8BcKj;Tx}1;F_Rb2W8c|C|A0C^iSg|y++3e6MUxqGuS2cp z1rNf1ocNqiUxqyo$cw}YxWEJQ67J#KE@1(WepPCbjtemJ2>U z=SCkxf5aT>Vs5V{Pl5d!6xeH^z+MXl_Ulk!?_iwP;Sz>?LO#7roPhlX{U2rH<7sRh3-^W8)TYCeD-$3F7+-J!zsB~uzi`vubLGXYSGY4UsVhf z=DNTpUPaUscRO?RXR)X25bGOx60;i2T^Q@)?+`v~vLejv-!TVV`YsM|fxU%zKohU9 zhJ)w)0e=&G5YNSr4s}>ZuvYI1zZ>!BiM}^_hkA~kqG%oQpzZ z{)@bCLLAV$zyr<@)@s`P3+#-^mIP`CwF^98Uypx(Q^sSN?g` z_NUYx^25Q*1)iouDckSy2NeBDTZDQ*e!v~}9jFUDV1GvZe#9@A!_U-bpC6*xQkDvOfILtI*E2P2tR=gCO#_& zAL;_;v?wK>38BY@LT(VnF~D4W4}z^&0_zE zI>`P+{2AuFsO^`qx0-tPJ@H2EF2p|I>T+>_3p{`z3UPo7JRoPI2XXdM?2Y6pY7e-m zWidP;d&$FJ7_)vQ-K^gns0%z`-$-1^H#-rPB5e<9e+h18-1rTDQ9Do%p1lwMQM*tN zD!=1DaDfN7h?w^(m;rAW>c7Em_}UEWpm#M;dr%Mip0>LO9%=_Sp0=;uV&?sY8C0OI zwxcN!_^u9XFJ{069*}+LfeSn!rRaeRJPj_dbrgWQ&;;p_GR#riUr{blG2jDNQ+TfC z14-f+aDk_x`K7ow8N0qFzrLaF0vmN4zg)s#vxIjj@X1RTYM)Mh{1!g$+@{ny_EbFT zwUp5Zz$=1!+CFydZN$ey4RyB={-4wt;Gy>DuRYZAA?Ea#w(e(9y9w$rH2x-IG5xnq zU+YlE?OUMu07K z(gs9PmwipdAPHUDEW^+vlzQ@ zn?N1cX)rOXLHNMcv^!}A9^i^;_Vmz$L>cXK4ebgw*Q_%aCT>tyt3jM`%s!fYFC=eD zXrsWM0tJpXyM!@us_qx6iHqJz(sy9r(>(Uy>}kv$FtaaZjOc~g!=x1&$K2KW>9_?R z>Y{GgyA1zM#|+qKKs9h9y|GIlVLw88xmn&LO;VF|0T*~cve5$?Az=q+FaUfKZQMz01k0*o+kf+i`oP740_^J z1oeQ;{7L#?54gYs(ic5&fd?oYaexavApOt-7kEJWqX#bVfDAwnT;Pp|vZhbyb^Z6u zr&kj`dy{f9c7O{!5Xanpl6-rOwgBW`@PUWg)fCukFh2!1(73jHH~wioaL#}N56BGk zzy%(VndpHF5}z^$gT@W^KH2|wcu$jfpE=rNI&Yb`nYE~!*w=WAu%RA^qn6p20lOLV zw6{r9^Ey%l^?mHe z;C@S+1M(eazytPn%s~P;+ranO1@Z%SfCu83+dpCtB!II6Gax@<2YA5#89qn==NI@u zcESf9uz!UQ62SQlK9Jwx0}t4Lzy}H7{0Se(Ztxd&fCucqu>%so*@YcYgdGpqd*Fct zaQ4CjvJXD+fL#h7B!E)}A4n2D@PN&g@GeLI2e}h*AV!2e@Cf~Ogx8_)K>|1yd>|3{ zzynefvnY15unQ8vK`+&?13X|?hYu3Kseye^ggXz|+3-LDIJMvbsSO`^z^(%yB!E*F zK9ED;0}r@|!UHyl*TW8w`lxfT(+HsUaskwCfPIhvPDAVf!H&Q$(soeWjj;m~8i!%8 z3HE>-j#~Q(^?=~!n0T0+m!vhK6bb}8Be>`CKfCm!5=?M>bh44WUuzSG= z31IidPH*f0=>s2lz{NbFc@8`v{onx)*!|&y1aJnx2Qm;o@PIuCK1cv(FuY^111*Aj zz#al0B!Dv%9*|?<0}t58!3PQ841*73IDFs%djx!t0M1DGKt{m_9&nGx4oCoR4E)jX zp+&$R3m+tagSm48d>|*n2Oh9b!VX9PXB>PWKXlxcDh8Q3DrvTHOjY z@PM>N4_x2@L`ZWs20idJ2*V>SUITc<*#WMOJLz2%?b zi{90K={U884_x2@ITAf^fv434m;nzs?Jx%(K!g?NDlh{sJQwO|bq6SLfOG^}4RwL1 z>0l_3o|pqy)6=0qfOi~p7-m2^LHol49{7J~x(jI6i7gDk!HWkkK6vrq<-vo&iw8e= z@Z!M_9=sO~dW#QUJb3ZJ3p^lr@xjZ(f;>3*+d2Q=thLwV%fDwP?KyBg)#60Tme-e; zTuQGf*JQM1tsvLdk!wUm1B~sqLaxP^zm-A50r4lJC)R@U>%_f_6wTfWbmN+y*^St)Nbu~Z^ur98QREtN>w{lxo=%lnhktH>y2rM$Y- z)^bfMk+M?WHe#tn%1U|LilvgWR+RJYWR$W}-iTN#k+M?q5s~s|Zel4bB_ACrKQ|Xk zSt)Nvu~Z^urM#WQQi+t6@^%(WB~rGm@_y@LDJ$izDx-WKc=G+I%kRluWRyyztdzH_ zoR<}ecau>{%XzZ9WaYVxT5|bARL_=Gp35~`=6gt=lrBqpt&HBDGRo`rWU^7milnv|8251*1ha}Y~eDQ_RKR3c@iyrx*nN+nX>%3`TR%1U{w z$oaqJT*_NRYF){t5-BU?ttYjCT$3`V%Fk=1oRm6EEETn6lyXvPf>_E(IVp9fSjtGL z)8$;s$s8x6IzudFq@0v0*C>0-KIu_s$tY!{oRm6S&ZV4`I!Cgy%4;&}{pH#jQ^=o{ z%8vtQ%8vsr`EfwXn;<_9NLi^wuG`b)#{(Ii^qI4yPs%%6dZetBI!CUrHKqJnr}Rka zbH!5Lc``qhT*{m;nT%S-3m;yIgvutdzP!dZZF5 zeWm2mYoyQ09`0g!pW5<%NvX0fk#i|ijuT~+a#E4>sY_*)au>Nls*UNc1UM;zt zo6=J1260((-IQgd#7;`xDCgJ8xs<)l=(e>t!0 zm2-8oj8aC*Nhz5Z-6~_bo{X+MzfG={CD)vc>UPOWm!p&`OYT$MA=jjgl#^2OdR009 z8o4fIq@0wJdyk~N_2g?OUqd~O{9cuuM^eeP@^zHbH_F#mD%nuJ&!p5n^8LS&{96Ae z`CgE+QmP|0-Bj}TEam#fGGEG^GL`%~P=5bvD*64GQ|0@!tcv{JkzBKqt4(ANndhYR z&9c7OyGqtsU*^hvIJswcx7?pxGk3|J*GccmvWBeZ#7690FLPxdo5{SpB;Qi*aYp$) zgso(Kx%cF1xku?$nY_knWv<-2DQi>NYcsh|DO=VpGJkXVUY}lGgOs{e=86*;o%B07 zSNF<2gmUdP>5=u_4YIbZX{F2tvR*^hlYMOY8f0H1=SE(aF87l4BdJ90(YswTQ{Jzv zE3eten%)*NSFT4gsyk$qy{w#@a+LQ?$(~Nm)qPU(8Y3CKYot%gmZQ86R!Ye|8F|kV z8I^pkycy(cQ1;7cW&K3fwsP)d)OU*Iy>?Ps?mwDB-dCw;N*Se;ypKkDJb7;uIgey? z@_y*sWDhAPug}Tr)bd&)dF@t8m0vF@BlqXzwd%Xe`;q(}*;h*4EAz^Gm-Fa;S+}&5 zx?kpPE%z&BrIKxAEh%%KtRdw|ZzMfdM)iQqlX6nJE9*;n4@xejeYxkdq}R!O_mEuM zR@RZSk~_JsUm3keq-K)WDUKwwQjyq7shOolzYuP?Q|+^dwg zgY?ONE78>QwJ7T}>6QLy8tFM*?m@(d>!;;@{+9cd(jUp|koQ18A)}P{q+~KDDo5#e<@@!5Tz^q4 zrDT32WhJ-LXQe0EMZSJzJtgl?SykEV44EsVE3eC_=ajvr^se%H=aT!Evhp58(r3$a z8I!rCUrNs-@4t*jMsHr}m9kQ5KIxHiQbyK^rjz%iCD)|%{Bpe;UnJc9? zkbNGOdzSk*GCC>sh`f%c?hX~v6Irz zNw%9@Q?kE|MrBcWS_|#DJSKP%GdgH8PAc|D4CIRWsj9T9u>>$@b-}Vld@83Px&5^ za#B|ASuG&%%U*KdQi+^0B}??^Vg961k>clb-Ti z#z@w%QfePrQ_9IT{kr7xHE?3xl>MZ;2{4-jsWla#H#& zc|B6z+tMp#B=-)GURfuS(Msu>tS?^=b)a0AN~H8b(s!`Dw^CNhh*d1rm;Gd&L`Em2 z-;p(?ym#fgR3xR|lU#b8l##XdAu>vNhe|Cj`<5l=W=YxiFzJ&@WR8{VY6uoIaeRbeaX3# z@|Kdmqht*kt(00?EZ>8!{O_cEpQYDHnezV~(kDNVc#)KqQXk7YQcg;LBDqu|^ON%X zTFQJb@5dL?UzU8YS{aisWuBCivgP;nK>8$eQtAnLJ;%zuNSR~gJw8reij>5=U*X5eGtb8BH{YElcDHX_jE#=Cw zCHE}lr1S(?Pf9N*{Zh7^d#0?vyv&u+N~yDCO|e^{{CbOjlKT@Yu{u}Q6DQK+q|DDU z|9^5%a$T<|Yf8U&PI<58J<8m3rAMxND@iWBk&ISKtt{(E=A`s_@_vf-c`{$hjc1a} zevzyl)#dssvWARSO06oHl#|l`lB_IQ!%JmfDJ!MUmo=rFl$T0=fs7Z*UNS~9daKFW zWl3gbRIAIHQclXsHT`dyBc)|uSHAx8KID5clJ7(Hi@bg*C#8RtuUT2;_ve`ONZGQ= zJ=T!9^5dZTP3j`K7wJjlJdtztqz9N4=PWC7*l}P5KbX(Sya*}zM%6ssa+^N1%t<;jl^@)JYPJT1L4de2C6h|C>5;NhiS)a2&bDGHy^Zupd2+6{lU&M4=@Gdu@3%$qMf96mEN-CT*)=PqpTq|=JSi)s_K>`+ zy(N<|YD(Xp(zBP$kuj3dmbJh19w2@DN}rV8Px_=hxgM2SIbU*ppj?+qw%FlacO*gG)7MJ`J*=xzEq)y%lG@zGD=0u$S4&pD?blhTGp06wTz5%?#X?qJLH~rls%S}>rzHCC3`5@GwR5H zPbXiCfAGCGM#WKcj5sD74f_pkhu5#id^a4~=kDaXr*OJ{Xh7x$gZK4M)XXbBs984f6*$kE42q^M`#L)oJYGXgIo|hwJb@ z)#+S^j%alwuhVXL{S2{m)yd!m+Lr= z>O9WpsD^#C8(vS@$I)A@}8II698%BIXyG!OF2Q{75bneO zuNsaKb9EbXcQ^ZJ!`uz~CNk%!xUS}ChB=)KuMbDAYiTzeInO&3>no0$V>G(U8FGt9ZJr5#7_2(HIbbBs7994+4$^(60ac%7r;=pD(N_hY!P z;&n%BI^viN=W(2Z z&QV>B^}OS_F2{(kPY=yL!_je62J<40W@ye!IJ#j@+u?PN-tpX@qZ#f`M;w!3&e3vo z9K92`4oAmz)SbAlc|D?|VgEJAlVMI9+H!Opy%W*@hdljE{$hRQ+(q%rGw%S6lYJ*0 zA2l7*$$`kL`yo&1Q97d?ZRuct^gBAG3%a1agRp*h0Q!BpLo3=l5P3q!w4)uZ59WFY z@qXzZUC{M|x!)n^FX-S zXhV1DoUR^$e(xyk7t;aVqhnefiT;cprPV0r59pMRj^g@9Bk$At7`Qdc`#lz}9}O4B z!8siq4>yisKi#Dr9UO~1JOTY(I;GWd$o&L)hc>i29=Sf5^M^hKj!r73RV zasB(yU%dp@55Rre(BVYnUYGmR5v|+EbGl3G2hkr~iaerII-v{N($Qt;w+~_d7#%ze zN0)QGN0`&`qi}i!=RXdQUI`}__O4?71pDcn_O3=AJdHe~HC;8FPq*ou_O3x*&`nxD zgZ27!{xaOV7X9uuIKB?f-h@Z4hxJ=|_KZZP{Ep6%g<6M7g^mk~V zmVb~kejfonLg&+<-#mdloeu6l3F{f)>eF1`hr?&M-mGx^9Bis^`+3;T4XYPnHy_;j z59cok>zCnhQMh;oj%%F%Dx59>hp%z|(s1W>*wM{5U~hTk(OYmv*WQN1Rgeeou)hwE z(FTuxmEQwLuGd07pbc$4KyKGYUjGo5kB=OG-yI!p09PH?YrvK+HiR1=BM&!%d$gnV zC&;6Xk#}iF2cI(E1bK({H-&4TA-8mg4mV@|IdVrEI@%n0^$X+$-KI^*{7dBF7I2#` z=;{Eu*^)V3Yz3>Yn9Cz^%cDcvZQ$B}k;mIIr@if%e~mn$yR;iYo_>Q|Z4Xz!h3yV- zPNzG6otnj@;56S|5%6&L7Af9sJ4u;IdXeC_nQKCbcc>w$VaC{9#4S#Q^DDp%qy@y4>nW7{)KRNTG+c7E}v0b9^pi| zH9efP;m!=Ox)hFQWItU#i?%!*-JyMh{%mHhcOBfH1vb}ny;}J_x8{P=d*EPhSltJ!dEoGVxS+iU;CNo-K^OMtgY|>3q4S5} z`utq)VK}1=T~o-tM>wAjABD?j%9cm`I6R=UC%E2%T>nWpSO~Ushc2E)-d-5Fdl@#1 z!a9e?pJyxkWv{}u8uIitxI>4pGhdwR(S{D*L>?}I-1gyMNjQH8E}!LE9?6IB__I~T zzJq&9BTqkJzAPMm3i|=)e+k!?gWXqfb$K}co?a35euOJ4!O>rEcV#&E8*Z)w>&ez0 zzt2kfZ|>#LQ_}x}i>cr)Z7Oj2@9oErshQKsH1Npk$dhT|g7&9_%hfUoWCwSx;30PV6!dr&EWQS%;|6h zE;dK*Xcw|yo*hsg`4(^}&j~0GwI$r6lda%bo)J(U!FF(KC)m*Cvtr9589{DnZ+AG1 zkcWG~1?}$z=er><=<*qb5c#KXgTt3&cJi;fK(>Wbq#QaI-bnp~BdNFcG7j*hG^5!MTgJ$8_~_?hhMw4>t;dHOB#g7&_H zqq~sDbWS_Ed^T!%gx{mTOIx~j5AvWu-lk)^axZf81M&e~`~<7}x&O~_Yv^C#@B!rc z7#wtA|2McphjjHpEYUwa5@7#{)~0GbALuyKZQJ@yL9d& z51&S^W`fJ-p_fNY2hYHc?$Gh9=x;xZ+?x%qJ_q}=!yP)IRS$VO2l6hR)4}t|<0|r; z)^oy*7mycpkJj@b@4SfI&JT}2vrAr2POF!YD}_9zqXppV%g9r@d?xDnu@Lg|xuoS0 z(>*#L<~j0cG4uzo!fHvl{u-?5@;RgBkF9Oj{!*CVr$f5&2J)0HpE+6{mae@C zd&^*ckM;w&^%nA+uD%W1<&lp+dsNm7SAtC+xua|Ez{$$UyR=`2+wUT`w0aNr|Bc*# zA1>&Wc55OJK0uzVLw^WI>%jxsTOW=;LY~qE9dC%d@-cHdqKl1@w?09hY{LFe;cQd5 zL;IV->NDhF2p6>53a);EJlh)X(D8O~`ApIAuh$4%K0CBL!tLQc9qb6ZuaK*q;MRX( zM_0dwgI$pK>2z1P^9^z@f@|NxYB$*b4z|0)J=)Rgd*uFJ$W=i%;l>YeLYL3PEDyau za`Ph`8~}$u!Qp}MfVKz0>CedHW8kr0;qX}4jKThKaP2qP91jP-!`?}7JfKrL zo)mdQH)iEy(5t2R8KQ+i}- zGDYEg3jn@ zCay>K=;Rix*P9u+e=FRW1dJo)x*hpYvyjg9kW&4$kkwF{B= zJ|}W{z|VMJHW&R2JT^C+JO>x^Fz>+^H|8}Jyd-h^8Uc|;F} zehYbb0nYEk{RQFR9k_f3Q+Xus!i|OD_&s<)8#-PDxuwVGf*xHIx&J=q7qp?{#gON; zql*vF->h-|hw%8bqRRWD%jaR0M^1O?zlv<-KNzF?BA66ig0Z+*sTN)XtOdLZ_b<^&}t3j`Buoo zHDP}n*jpbS+YZ)rGy;comsSn*ceY0!ZwN;_uzw@Cz9XE`869tqJl+|(za?DTh5dAw zF1A8mJ~OL4g010#j<$hEBjg2L(8;#Qo4XyT*V`j6pRrXQ37yfFR(m4% zc0hkhCv<%;% zT*;5L`cm`N42b+e6{Op~&+i z;IYHtU=*$#0VfIEI1(OyG;^PJCn0Ygg*-SJu8hJ7-K6tVko!j?_s@X6V_;23baWB& z{;|mOi{b1zIGG4X$HN(&)6r$fdnX{z>H3MVz8ranwsbXNeg*QBE@*WUa&skeLnl|k z!O6&d1NZ6t8aO!xd3G&aIThB|F{iWZ;pS<`qZ{Fo)8Y6gctGn8JbDIl?`F8tqHlq_ zbW8^mkegeX)9N-jI1_n9m(PVOkBqLK1s8OS*0*DRJ=%W@ zZd`#prTcW&N1k1Yyr9eHzm4_3p$z% zdHgW)WGcAwC_Ob?(BYzR`w8TJ4c1S>(Gsxt6l|7)yR^SFTz{JD(_Pvvi+uDM|Yhmo`;jw;E@;LY;|~S=rv&TBJyBOSp5g~HQc2wtzSYO zuZ6rv2W!J4FEgieI-?t}AWzpreH--6@4;Knt5AULP9L*VuY$kRjN>W6Sa zr*wQ6a_=MLmX7J*aO49zq(g^({|Mwc9n;~*$g^Qi7j)wj4c7sMeYsQPmj_CUC`li=#Rf*KRuvx zy7^z`C!jz4n)}l|Iy@2i=r_pKN%XgHcrsl34mPx*y;G1^zh^(4(w43ioPR3%+q8cg z=l_6QpAK6(rRzT;_gl#ObWDdoA{!NH%%SMlOeZsb8F8GE<>$PNzy90cn6|W|9agn1Qt`Y7C|4PBcPc}6F6KJ2Ic$1p#b3;j9mX!SVq#@xsQ3s>iXH676*J^r~m z@(mEvW6V=JoEP)6VLzSI1+AXNeszWZh)!uk4`@s41<+s6ZCX8t^~UI^2Nw&XKcV$P zuzdk}wlG}Kl|^9nBJzm#Uxw?8ArI&l9nyU|eg*x#8u|^b7Kbez(~d4bAE-Q{S1~_d z0*>kGl5k2lX+vj2zlQncX9|^vdmU~p4aaZ8>9Vl*E?fk#b+ET0oYM`upvON~NY+;$ zqkoLKro)vmKc+jhp}m!nd!Jx_O#8H@1KM8&{UP0?W4cSHbfu1d^(od*X-k)%byOY& zU4HISdHA29zfXsB`FTj?kVm(=a}E6EnQh1x&H<7n2zZ_ZRp_N=y!BV zdtYL{qXW9W2Kp`Cr3>0$6S*E>eoTjSmyYSGMt?##>6Er~Htb&u{W%@e1>K|ludsi0 zZS+TUn|8Fn4)XZF=x@;lU4CvD=t2_$2z8Ui|L6Oe~|mzFsEB|;;lbEul!uE z^2q6gP9{NK-43}oDV)-Vu8c6B40%FF^cbxsM?She`W-z+>nV`OJ0LgofcB9bVkQhVSa6AZPe2mWN(Y=w!Gcl(N zy0Z`RU}o;$gbnTO3m3GZgIUpE-4D5)4Q|u^?9BH^9@8mZ(3Jy_r*ojc{G7J(DCjXd ztRin7h&-nq9nOh-vjXa2vr*wx_^B`A;AUAZI*7G8-9*W%3 zDXr&2UO9|8-J;|9nIDe4pc6V#$h{+&)1$Oq0QnfL7lg+@i%#B8M>meb{BR-U1+5ll z|0wd5_K$}3BFGauqYJvA8^@qOS`_`|=i8M>xEQRDg)N=YaSgdT4!NUKI$a!j`MG%G z#}aT%XSAc$lE_C+Kz~m6X}uKk#)-%ax=Tk(Bd;aM{bk@b9n--{$PL}4)w1YMPi9Ux zPl5Gv$khZmT>*CI!v2c%d7M9V3VSOd_b-4WT3^Wds~~S)1jlrrPU-r^$TK>n{W|7X zF5!H7lnz%#o=!w={skv(I9v@bXh+AFBKOxoK6)9fXiEol<#Obj4(WVN%nz>Mei}A( zOjoW%p017D(b>9i`Pn$-q1Na8tKnn=I5x0rz_n}GzY*N0qmAM8TI6;UxN#l(H-jtJ z!x?Spa0}$o4akeF;O32-za1Rk1jjqTBON%{39j7C`8&g1I@kjqyM^1>4_(rwtvwjy(7b`GB@`{04ISIdcC^*nJK6-h$Q7u-At}I-+yBKg|D!{_q|2Cu4B^ zU0DAHm!I)c9{P8<@gAJhmUe$2FF&7Uy#G(QOB=fO0dnszwmx@ozZFq~SH>y=9h`ydQ*+1ZkDDRM_Uy16v+g3f5~eDsge=0Z4I2K~v!aC2F%e+gXB8Jz^kbGk=6 zy0#p0JCW}xSY4398DnkDmu7bOCLf2Pjel>GC zq4g@v4e}nH&|#hVHOTw4rNdQ`>uZtcba5T``xo;32DrT%9NYv)tHXW=uKk<787}C8 z?yiB{-GV$>6E1FrLk;J*!PT{3?+)0}5go3LJiU|s>%cZ+Kb_qLch*I2?uJL#qwj(B z`dsf`*xvw7?t}ZZyC3c}kOy5j-jMwd!u5@~-a~L@V>o{pcC>v2?refwJqC|%3hT$= z#%6G0;qo(y%OiOL9t`~?oQ24%9Osx8?l*!1e85^%7hefuon<0j*zw!I?f(~9o z-r5OyN>_G<{nwe(5j{pbI^G5S`VI6CXhTQ4B3ExBcXUdRe>PtEe!hjgAE7^|M|Oh? zx=Z_SqrbX4@`P^DK_7Yf`K{yc4;|CtJG>v-(&3)ykKaXZ>F_-`-3xi}KHS(F_CJ8V zeVBg@H}{1zdO&;MB9Hb%UVIPx`@`N3aGN$i!Holut6yR7KsX+QTeO+8G5)&C&q*y0 ze_ptG2t6M>{+X$ghjjV5spVnkM?Rnv1xJS=*9$PG<85GlH1cRWxOxn1M&KT;c7U75 zB3C=Y1?}k3Bf0-T-8 z{Z53#^I${w=rBR9Q{*|_r3<=xKJw@!^tb8!R5-bS>z@W!E`-C=;T9dy1KQG!i_ovm zK!1l$=*q>&EgjQw3;pU6kFA*!Tm0R9UaiYmB<~P)4|2)53fRQ=>E`cyRhc!j_4)hCdrKO;|R{R`|ri9DxU zbo?uF?g&+o_wwEqX(eg=6)SDuA~Kar2p89f;0e<2@vj`Qi9 z)_)^!^pHE+($PQ2gXfvkhK{@q$A1{{UtmrfI+_G|^+n{~q;N_by7C|7@npzbbT~QZ zzl2;*0e5Lf2QM?95_ykybo~|N=~T%3bX>0X+rMtAA8F{Ub zJfc%NroDHNCv;3lvtYjWF7kqI(`q*E{~q#;?$c@xniW(1K81yj^;!jeTdwf z3-&&OBf3RM0oh}MD|BF0c3?8Gy8k~HM+*=&> zzkxHlJ@gXD^|#2=CE=Womx7z$A@`Ss+uy@U0LKL!t^kkx0Na(}`j4>w7yT3GuMT@Z zvwsaZr`=kx`5$t#E}Z-VXY0Y0U*TW_*wTIj4#$uew4=ifkw?EFk2it~T5k*|zjMD$ zVD$&AHiIplgz)H}?B5D*{6%jK_lMpFj{j!9EnNAB-VQcHkHB?rs`3ACXWPU1&^y4* zNsy-z+?fs63j+S2~P$b+eoN3@|c+Mfn_5~Dw%<3r#vS{(|<)1u!$3?9%S9ZrWlraN?cIQnbT zBlnJi)eLZSEF8=T>l0w#ht0|CpNaWtus1VY&5*B`pPqrdPdi%A%Jo~w zJ9I|ZW<#zfAkXNOuFsAB>sT(Tjc@6rBtaCIy0M>{&&6?wW1a&HgVYzyafV>>wA6M3KZ_JW%u$Ya{u9=3ZU zAEVtqaJmC>wJ#j(2+Q<@=voB3 z82NxM4q^Xp$kW5%Xm_qpcj)v8I~Rx!r7VZ zryU*ci#$FHxuv7?;B-IaDP0VmA|KtK^UsI91K{8SxJ5^FG4y4~i-XvIIov)N&aZ&$ zF>G&w!$aZZR_2GX|9-f0IP4yWiz8t3G~7Ls{jboYaQr6wkB0rX;Pe>!ZCD=*M}0V_ zy?5a7IOI9)=-@r%@$txm4`BZU_R|?1e2BbuBJzUn(Ah`K6V9h&x}fu6?$95dg#PSf zxS-YlV09|;=r{T_IQ|n3PKV83a83t*!{HgogMZ+H_9oeQ{QuvT3CP1q;exi4!`(BH zr&Ge=S+K6a16oZDCueiLX<>T~=T8TZp3C{u!(((tkDiA-nGtzCg&p0c{h5$A&qp56 z8Lesm0?wZq{XJUG26rw*9#&y<5uDEnH!gX$o+ZY0UgcUNb?kx(}u3-OSaF1Z9ec`Mgj7xr$0gAL&U z?QaZ^-i|z>2Xwj#^7szqdQ*6eR-3`yJDG0|k7V30g!^>7HSF#}o^K0}-VJ*@!S#D# zM;El&8M(O+d9n)}-VevS!fxmYjvrvY8|-yqy*r%J{vNP;5V@l>I^Pp{<00f`FSt*q zd&BX=$fJE=?-B0Tgi|`$7p^^uTRSQdW;SZLmofH`SgI+ha(?(8hJ|hXh+wdK^`1|{tg`;2{)fbZs~${ zqsUv&A=gL4UXMP8Ii1pDw0|t}_<8iF^nebILms_=Jf|HU9nbkMB6swFRwp12|AXAp zJzAfLT))KmbeGl%^4iPD4c(>VlaSY6L9S1RyR@Z)ocSrpJ9JK~SCPl3B5%|FX|Vqq za!0pmb2{?s>s z;W66K@rUTw7ag^$i2(q4sGe$=g8A5nA7S?Sbc%q(uR(%V*Vxfr`vRVHFAHzoNm#XL0$-Hi3y zw4%poO^^J>{b@_5wE7)+PPgcS9?C zbV^tLMxN14I;VSdLD&94zkeInYtaEcphLRhRmOka7}Fg(rTs~eXY?qY(~d6a#-v>D zcI@AygFE>CO@=(AGdiZLlOs>*gwE&zozvkI=r3qX`*&i$+LXuxI;BI}n+kbCH)%`v zX-De{`n?S6cW6cXQzO@OLPzv~Hgq@*`WoXzOw4o!qGBfgoj%h>p zX-n%_(C_Gs_U^-e)mf1%I-xZ^pkq3m4gDEy>71_3j=Z2#+P@$BjnM(!oCEzKozp2@ zuOiRs4y_*G{m+R!rdxDM7j#CC%*FL+OBZx)ZsdL!>!)-;kI^9=&BOiaoK9&yFY=7e z=$uybArBwKeunlRg4O)U1G+_rbV0}Th(do#TRNj_3n0(wHeJx(g2?@cv44{e=$ww| z`aFSl`i#4i`bcrn_`Pt3{DpI;H(bv7WaW@`#St)cN&>h;){<6p|JxV*;(cTl-zY%bMI-^6nx*YP9ZqXTC&^bM_Jo*dT(*Bd!ueJj6 zfKKU{9-}k5xgz?#r!c=yhje2l zj_HC<>1b8%Pxt8H8NUDjLSE24+J6>#up07!Zqp&{t&TjVn{-O&bVlocqd%uRbV2)T zAoric{-d;}9i7nOn&>xlm$tOh$Q|9Hy&l#dqZJ*kh5m@{(T1+Cjl7^cw0<7zRoCHs zI-wJKKpQ$-7yXv*(vDW^A@^Ru`Yl?~1+D35eeO@^bVBP5kQ+Lq)r(j^XdriVMtlF^ z>)Q~yq7z!v13IF^jnJRaUE0uUW8{`@(T*-??GUk+jK^In<3BX zCSA}u?Z1ru>YJlKqz#?Yeu&)B2_3wG`2`));TGtR=`NkpYD?r9-J)~4pbL6rEA;z0 z_Oo6p&wKAqEgTl5!nhxT8^{{D8z1A3GWX-CI&V}$$D8J*G9 z?UCnnLKpOa_Fu#P;SSuN?$R->c0``hDeb+E`D1iQH+MpRO!w%NuI;&_)7kEDLHm2a{#)pe>447ZkPh}l ze@v%zN{`VQJ+c?~r@M4PSNBG)-p2l;bVNHkq4hrKH?*NG?KP1*x=DL|tly(GUE3G^ z37yh8Jw~f{FhAN4{hGFPM63O|9-YvJcC@AS0lZ(@(B8Y)&pQygqMNj)b2_5y2XTMe z(1xxYjNH;q+R;7Qdk_29V(w43XiXP%M2ClPe>$TLT|E?ePLI<5``FLX0j&>1e@GiT zroF?Fr*xCf=pJ3rwIk3Ue1QE@I-$qtoQ{q}e?eQ?{}A)lQCyEs=#U=JG2IyD{n8ye zqbo-v&*_*h=sxX#g#Gm~+@J2y8Lf^*t{wW@bVgT>LmqvMe3W*ye?0R~kay^WRwp1g zw4wda&>xEFmZwEhRKO+c=_P4M^HX;*<8XCW`9hP$*kEnGVrxuw&gr$?^OL7vP2SI*^r zGr}!8q8**k_4ClLeDr5@I1}7Rx&F-XfKF$DN6%+IE9_kWN3+4%(6ht!3y}wNz}=y% zu)YYnrMq-GC+A;`+{^`6FM;E^xgKriqbDMd7J)05!a3cdqeYot#`PA5bGldpjxR?Z zEDhJMfZZ~1pSG*O!Bxn^f5Xw$Tz@S%Hn3VBPOgE|&Eeu&*gpy$xrzBGTvE%sv@|+&f?h5XAAM)Z#Sldjfezcj)kLz=@ouIC_h2yoD<>aVB?UeBwz?e4*4y;bEV?VV zWMdZHeur+pgWGZ}+wao7ch%)oE_LZ?m)?@&_ptRI-S|LVwm!tA_v!v@+?I2>^a0)d zoL=})`!97*Hon5e*>p>;%YmHBq3nLd-tO_fBj>X7vA*{;J(hF1n9;p&=nXmk7Mq{Y z!yj-@j&of5lpg%3E=NCM|1)~>GtTAo7aV-9_kZHr7y91c*!&V(|KNrk$hn-$-dF6s zf7z#UE?0WG{~x_0XL9*#dTi`4=l82jj^@JkZ}jubjdMAay>IEpJoHqyW&1n2BZmW? zm%a5pJ(>@9Wov%y{g0l><`38`&|^83yu-5A z`5(PsUGHVz#*KgJ$y&JbACA_QjY0fkpg?PX&=Y;H;qWMA&f!8m$0Kl^-h94&yot#rSD6S*)5$J@|5vb!xVFQ|KROZIo5 zdkfJs7Z(@C-b9?s!JgP1tiCty$;l+#Sd?ygxMbo~Zp+EOx;KRG?uR>aEIW(Q{r%~Q zY#*TaL+PR1mi+_O7pGeX>AsxGl_lswO8_l~)^YUS zQuIvrmd4ic^sem6)#3D5PGzgkzC3~+$+7I7KrfA?r*cbnPgEa8H%`K_Y@LiN%jkXs zd&}WO?#TAJbZ2>bET?jG9^D3OT*L) zQhIqay8SM$jl*sio10_vecY3c4{>J;z5fUYTjKaL+}a8Uf8zEw*!V~9x5d$aINwh1 z=h|`3zsH)}V{dU>*$HREaLLvCk+?n{2cxjFGme+RJvp*)IDu|1i>+O-H5zwiZzXK( zs=l(i?5>IPD&1HcH+RS3I=He2j@HNKo;cqCC$hUacK4=RJL2vn?Cyjc`(Ve#ria7v zIF{XAu)nYFO~l52IG3BUwHv*>Ki%COXR@^yZXG}m_QvjHY)->rAA zIhSik(CsO7)7N`Bklo|y;gR(8L>wK3y|Z!k80?&*d&gq;Je|KWoC+gmVI5`Q&a`|LzJw%V?Otw#<`w!DI*?t5!PNj!(@igqV>1{cYOM&h^N^i=^ z;rww}i1vbya*7vw}J~sY` zjSFz_Gwxo9z29(t5jKCv!Nu5}Yo|GX-c>Kb`8>EUy9M02RQKf4WjL0bvN4E#;c|L7 z7@N~@X5vgXhG6GPdL$>ZxftDU(k;0ur%TYQSLyyRoXchr*RQ6BOX0#bI9M7tj{%jq7nF2XZ`;Zrz}Jqi`%oaxtP?%g~#0Di?30=a$~f$+FnF ziJr=_oXN$T^xWTLGK5%PZoRoUS3a z=)s!UxkLBY!r6e=#`QbtiJT629lCcH-7aJ6ZX9iZ6FJ^c`+MldSZv&j&5dy+Tbp3# zK6>cjzMO7`TQNN!hu!Ho-4T2D<77N8KcK!dPGxH%Zahf0cg5C2*x3!Y<*bU`ht>DM zxt#2Y!$;`W-q>#AWD-tg%ft0Y>CwK}dJG%;Zz?WmULr>(koXMq^>Bbf8L)nu1vLjbt(LK2%8`F4iy-E+{P>$tX_O4`KdyT!> z#68)QtFO~Dxi5QHv2V(4%Yhy;S?_arsT%zX6xtl5fV|Oq|?;&A0Xb zRvgLc?YKRQZnbdf9qh=y?A}Rt-_`xQaj`4MIFp0vxb_}Beh_=_%Man6oXC|A=k_%ne58WY=XC!KT=@d$az~Eeq(@)U-C5ZE3I}p5$FkX@XRXxHC?|3vTi??&xgncfzL(36T>T$=UvA6hd;0l) z(D&q)Y`;&pa(XN`<=_Ll`y<`>5O-u>_I{$9v*}$qmffG}?ninrXR`AP-T#>0mNU8Z zE8WWIv7E@I-{{UK^hi$R;_v$Yr}R+HwWrSOd3~rQ0^HFNagvUS3{P?`3~29F3+MYh!l>9LmOu*jk4k%duQr zi5{;@w@Wx!59hMEK5mWCeYv_aHp_H#6}{gO2dl~(VRtp0jn#g2c~jhzLkCA|(4Ecn z-p09HSQAI%=!xuZj_YgDjV*9_Z5+xy+1ZlbT1WR~Z(ZHrie6j~yIbQ_HY&KWK0TJ* zGIqA17dF7=wzwl_ayi=Blb7Osa)Cw8{_GPO|_qZGufSp z+YUY04TqcIcz0YIhrPXUWpf#Ffo2S!DF80sEz46#OAICf6;3C|bfHS$e3wAE17bdEQ zIFrLmaI`BuxfFZ5>HQVBT*cNjoXgpjxV^jXUyY+ZaCjXK_r&h?*xd_9_hDm_-am{@ z51VbA$;s0=+>h=*gX8_N^&CzQz>yqGR)3yeJ`fwP;piajzJ-$-wrAnuAvl_i>xXLp zF>W4)Q`tQnJDBhr6cL?=k!SS<-$?)K(5Q7+>>M3 zJ(_(Y$8sv0$Ivs`mz^*8epmKn`&fNnZphwO?2E_It*>z+XR>{~ex7gCW#e0H*XgO; zmV@u;&Ixq;d%c(AA8>G@?*D?_lW;D#W#>0~`DD8LJMPN4Ts?&z{6R0AioHK^L$?3I z=4td$4rKEmdMTj$awMm6aVp*ZmwhNF|LOhdbk`U^=l8Wp&g9}5bYm`hUAE+|9Lw&R z?47yUcjQ=h&Z1lM&|^84OK0o-y!v_MNVd+Q=L21K=3`%K&{H{*z4__IbLsv9xG5V2 zY@Vks2XZFovO9=Y~IJz7Nj3$Zm=d)ZtRdl%7TIhPGn{bIT+r*bY= zL%K7BeMb&u=MvptjNTpaQ0!ky_ZG*-W!PK-H{?JrTu#ph`hbVAx2{lM634Q=6n3Vm z%N^NXnr>f759Fqt%0`oJ4`*MK1Gy_3Bk0~$x+nMKT=uV~`y<&K*WhRrj%3rqjce8A z%5~UYmfn`#<#6SC?d3$ymaC!Ez9E`@Lh;FQaTXHCuZd6~9-jp4=FUNB2Cic19 zk=-%84{oL>t77*S9ITG}vatpZZ>4*3;Wlj8>T)I*Z>QU9(i?Ip=d!gH-EXna*TvQy zI4I-do!H+1H|0R?4|ps+yo3V{>}tUV0{{a=Hb*dLKRA5@)iv zH4bCCy^Zco$D!PogYD`5{raBVlf5dv_7FYU9UBkhd=DJR-kvy@gS~N~&ED7tH)U&I z+<2589)zREaBu<+pTN$E*nU#?&cfZNJ9L+p(X-G3NIa`p&zUZ&@AQ+C^W{|Y^meK~)W z-k04caQ9XA;WN1Wy4=Cp3~bE6`5QQ$iLE!WH4C?8yNkoO=#gBUiF3IrN3+>i-=;es z;jSEhru(z#;pfXDu?-#+9kF+0*yRt7kAJZLEU3TSiru#$aZP}8GpXhsw(IeTBjZf*uPK+5J@t{;_!BdU9^d0ub;I3?~itFFg?KS29;b;Tg_yMPzU@zA_2N!=- zmm6}p8NKk6`ZyfQ){fZzl^)40Io^q0|BY_CIG267_B%ZuuX}xLPr&^FPsH6n=>D!a z`V*(SVgD~2?vCBRv9~v_{)4T3aOqzhdpMKr{c!l7`u^B97Mk8*^jl zC>+b-(YQPhJv$DkvV9`<=cNZH;l3Q5hLic|X@INqWAk*J%SHni3v~NDbve6G9;Ek| z;_iYtoF*@XgC_PDR=*x6i(u;(91h0Lt=L=?o42XU{_WT{>23?RW%~|X8A8wGRJQJ< zmlvZOci~h{WpAkN-$U=qf$T0$_wUtv*^F_x1l^vFOT(}y2XgQL-CB}vK8nqv{1|S^ zp=>Ti_n)9gvhftIEKRo(+?BIuac4L^cn*6b^u6bCPmW}7r230=V-$8?!Y$d83(L^6 zm(}IqH5^&=WG3z}i=(%3upIW^!_M+Jl%oN^Pq#C4ZD3@S{)~U;6#r8 z!rmJ6@Lyc9vGE^n%f4J%lb#t9=KQ%7%gJ20ycRv07k6Z{fW5WpzTA;Bxx5ZNFxj`( z#m*31S`UYd;aE0DVxvq?EL_+CN6X<uyH24YvEvHx;qw^ zH^ufQxFZ`5t~vBb?#sz$^yX%Ce;l^PVQX{Tl2f_7IX&2d-jU<2aj*s5uHe2LZHKch z)pyW-E9~xst*x;&9w)N5Gj=O_zbh_mgVU<^vb!htx7EG9adA5wOu{YM+!t52r-%FF zTuvtA<_`4eAY9%NXL2N4HM+GE-97}TvU3=2xO8_4cE-y-&If!Hj&`OS$6#v$PL9K! z0UwXuUDWHiEBhy?Pt^BLRF^%uyer+8n{qCjyU~r4cwd)IIg`DU>3&uBO;B0y>yA9l&M32tJ#eHykp1K^I zk4=xBUx*XgzX+H1r5hLHh8)X%*$?Ude(dc_a3;H#s_#!XFUQ6K*p;htBqwqzTa($x zSMa_g`_r&{AU(el=W==#ZXQJUug1k1Hm<>`99@TN2h-CVv_Av~H{wLjZo%Q9>bGL^ zF!^?z4)_jSKV1DTY)!$D9LR~B$@x9(lOx!t({b0w?gO}SB#s}!t)sBl#`e+JdJ0#L z!TvM2daU*@;M#FGc@bO3vZE4TsZ+-uVUjw?7W8Ca`ZY5PNFArCI@fO z>nH1eiu-aVw@;zFGqpce-&9mt7m)JcUr*bT3J-UAmJ^u!m8oK`jHqVuR#4XwR3ESt<&7W~Bd%s}s ze7f^1?#bS7>KEw#AK1MRr+?y1_WsiTB6=csW#?~t^IV|pyN|6x8>Z!-u?7+KWsdJvjcEbwhqMA2i0ZcA?zPS59C}n z9;O>Lx-Z8ECWLemJ`{2RNtSXE?Y-n`!RYTM{*<^kJDq>lkKB; zpUcJx*m+Vv&#Acj6gE!7Jvl!c+X+282gh=9zWfZ`zgT`2d(&|C9Ja51vLBvUMA-zD`f%uAJRY4`$HQJFxWzcJIWYoZf})lpe&m@+J-+!v0%0 ze-gK5;^-+{ej9rU?hW__oX(;fFX7rdIC}$k-o?pG-0k92F29GJx9N%O&%%}Wbx%%Y z|6RKCfx6t5t?%f~*>qRVF`TeYq}&a#xOJ=X3U{+>&#-@P)qr1K;;$NAAeJY<_a)0W7+(Up2~GOmowS?iSJjw*Z1XE_T<9ay`0uKh@l`*`h7_L-c?-dyy?U+Qw< zZ{43;UCw0VA9^qk-IuNTu=6iHk=t@OKi&S1ZY_W#Ig>48;WP{Q_7baM=D$;QgqT3YwzKz8Iz&gANF_US6TPi1FSTp2-+&qdM3xRzlQoUbkoKyIg~AnZmdZUWnV5VOSjgd2XZL)WqWP9za0Bi&Sifc_2qSM zUEGsHxjI@u&wBKZ?90vybaQ=rTMlGGr1dwj9a!YWjH`dP_Do!`AA0KMptL zR5sV3$D7j|vb6;^Y}|l_-hrOV zv0T}Z?(9fU>Q1IawhxR z(6f{2&26!FGmdsrzfE>=e7Ek6$JV{-J7YV>?gZ`c$9>s;Nc&yr;Un5l#QCGx*cJOv z;^J=d(>RlzXK+xZ8_!~McO1%1IhRX&(BtRWCvx;WuI@=sU&O_|aQ+f*54fZK-gNI3 zT$+T<*Kk+1U&r-*=++y0@8L|&Nf%5Z!j-S|}R55lSJ*Kqt9y?8JVKgTWE{TfGy&=c7@6bIkXQ#t(>*AJsd z-(&l5Z2yFvDZ2MBuKKdE>zw}%C?1Ked9isEHWt9f(efbNl0(@!hMq1+@5=FD+&q>Z z48hKE*j)_wPdQE!iAHuF$TwSwzA%z zqWvm3lap0({Z#ceuzea% z100@7w>HG~S=g3CIoL@3Y~kD?c@#nv%6mNVJCj_w{u@5{#VxN$u_IssR2!1+noiR6=USGG^X?HlR- zRNTA?hq7@qj^&!1%3V2^E4Q#WPuG3fmhD^V!P)fEZP-5#mv6_Z9LvUqbiYOSF2>b6 zupQ!_Y+QotchW=IxC=+JCtH`YFW#+tm*Ygv>+WcLQ_KR{3AzU)Ty#)EX{MqGRdn>XQ>oXO>f z>A}tPj-1PtM|AHNdRIz$O4)*5b*pnkUmhC6Bzmt6` zyK?PGx_cMBC#QE~|0#NS56T*|h z?x(xY(LFhn1KEF`p2*RDXk> z$dMd9MYmJB@idNQUoO2#w-S0JN3!=8-F=3h5BNEp%%n%pWA|+w%Zcp1L=R@sQ`vk6 zTQAci*_O?B>B;N#Ty|#YUYG8?iL38nb0#jluluubEJt$b1MT0Zmu71(hq5jAW#=Q^ z|CoLD87^ix`W&}q>nogoLU(((_Nn%ACi~yg!_Vm6ci8(J2R~r{3moRy{1T@>;_Irx=c_=fKNhC?}%3*XYC-{}oGlg;nwMxP$Ysce2v z&*i#o{J}nx9gK(PTcu^exh^?XOKdH;^&p2FMU5FEb%f&x&vMjyym%1Ft z&T{lz4rKRl_MzOAlYzaQ$<=@Kz2&)Q{EOq!xHaGv<^Sl$DmXJ1ne*4p*%X)O#qM@E znjiaeVF4Vftga=x?rBJ^|u zj^ub3Yz?MI6LCxScas;T8&zB~u_=dgESp2g&Bj~;y%ElCWI8yKB!YG``f$SW?-dKk2%ATCcT{-vJdlq}=NSw-< z>@KVC9YycT=Fzya96gZRvT+Q(w7k09kyE)mnjW3NzPSSSPsY|t*gXYzgfs7`i2gvLCRotW3|Q>b{(up?j;)?X$4ADoz{NT}}7T!Yg0P-plm9oXY-s?2T9GUD=eK^>zO>-7n*G z299L+OQ*=^;mX!H8H3#l&Q`(RHrQDe z#{*s+SGU!BIg_n5^nN>fAa`Zgrq{No8*Adi4mg(^va>eb+>suygIjX2E-vpxx3|DO z7pHQ4JdU=eS9X>w+RMo{IGCXK6L4W7c6PyaIg$HvFj0M1y_b8ku`Au(jh^g*n^o-X zjmT1P*_5qA=#d=Bv1}YlPh?LvPUl`nPS3#kVeG>*aeO%T&c@Lc z?90Xx+RL77pToX4;PY|$NZq>tmyW`T+>)&e)sLoI7i0GroXY00*tnGL9fyOx;ly7?fs&cMcFxOAr8KaLYQehT|%(c`D}{%o8-gN<{r{XEX(=mi`#=;lk< zI~ThhTsaSCa#xOK&S*|*r6hVvY|SL*#QxYWc>ANShsYv zIgxAEs?SgF%Kid4ypA5pxoj8c_3P=uAY8ry=L=#Z()&elQ+7>k->Cf%+>xE3xONlW zTO9Z0XbBwLOizd5!Yw!~;!yUN!q%;HV+1bVhLcg)ydC??;HI3*W{YlF^p@<%r90@M z9Luq6-l_Y`^1eOb<*;`b-CiE&vNaml@78^}FPkgToA=O7Tl@QPx*_gO*Zr|Lx*xk6 z!m>{xsc}bJ?9j_Y-=4EN(r6+IT^bzVEf zx<3XxKVWAS^;~^TT>lZ<>*DfHINt;}f7X5??*6L28_s^i<|G{TwLbt?|HRp3Z2g73 zgK$r_55=W_=+0p{k)y+L^Iy6#1sDIrk&i87F#lbDr1r8e7w1wxhMvo|T%Vhs4sbCya+a@;nH9nUa7roH?gxQJ-r!MP3+!=D?_kx2QDq9y&TKdU37P- z-rtQg*}E4fi__!#aBT^k$G9*IC)06Lj_=2%CAEJ5x8?9b>=xT*l=pHg3rZa$48Ih2db>%APxal*bZnr=OV138rYax6DiV4upx74`l( z-go3cc2=Tia!YoeXK$8tPYz}01^s+u)a5{SUsPY2ZoGs8*?JX+tI*BYu)QiyQruci z_h;gGb)3D8D{IKJa4HAyVArPm@2bmo7gyJ$2Or{aEgXKNzBYD0!O=R{`U2P2!_k+x zygoL*#cmlpIqq(t_dntGhB%cg8{zzSx;Iw+AKcg&+jH$X=g;l>CfJcP*`AkPaOmcI zxGDPu9Bf7p<(}*=s6I}8QQX)ZXNzNZOYALyQ`xX^xk5LW!-Z{hPj1M`@^oukdO8MI zx5LKTxVVGfuY-F79*f&M>HX$7ak0AvcE+pAZ8_VD9`8&yx514GINA<}yI^~JT%3sG z9dJjscf{VVbY~~rm&2WLx|{Crg2Sp@#ns($uqQ6;fy2FUM|LLR)}C}{A6(uGyB^ME zvxcja==tHeu@AOy!IjB4lZyx9=vI0pC%5a~L3Hb0+^yl{eq1^Pr*bHp575m+^Dkk` zc@#FD!Pe2(mP0vzj$S!N`{!|6HeXObmY&L8IeC%pA4m5(*g0N)8K<)U3U1Wt(W}@x z0h_Pkmh8TcofGNd44lc?o49k5zBd!sPR8+U9G!xrkFawp_J700sW>0B7k|E;frABc zE=LRF=9$`?*gFfyL$Gx=b{E4fIhV`l=>AZ8BHN4WUW1;=#<|#8g5H!fxpW@g9!8Jk zNG_jG&*fMSmtX9PWy zQ@M7D?vJGRRI%f>Reei_}D`?6)JUrrC@Ty~bF*RG(ua(BSX)5B?WYczJR z)c01zVY= zp=?f|mu{h_6LBItyW;Y#^jMB%Yd5{WjqdD$J8~jBx9h&#lC!}jNSX_{t?)Yae5>! zPsi?wxOP8|PQ}#+a3-g+GnHO{kRG3bOAlfHOxzyu*|_pB-ECmw5p151o3bSvZMr>; zUV9WLa^W%gN_s2@P3$~QPp`w#6F9qG{YmWIi2Jg6D~_L{hqCiDj;8BL6_eL0W=Ig=B)`U3mpRo)k0#P(}Al8qU-{}SCzar0&Dyovo+u=N%$y(-Vd zxg5QtK7$^Ik_iCzAwA~==-10&3|!Uj%EK-y*Kur^ZP^TGwd#i`=8@*#Xx>dyXx7Z(!3*X^*1a8XiNNj#j&*i3U?oBWM zpneFh{D#d#aV&d>;p*@7U=S|BvpSp)O~#Z!9|Jue*Dux}3@Nx#-bZbYpJq&&G8*lXKZShwjhA zK9zg2*Pz$trCaCXo*c=w`RLwx>auaZ-p@}D<(_O_puPY-kbAOuA>A*~Q@Jk(7pV`T zn-}9;4rPBqx)IWQawPi;(fv#4ec5g5-oolP%ZuRPHryPHofvzIVskpqWbb}lH|e=- z4$=EZ=p8wg-Noo}TleJPQCu5J_a0N1Guc~Q{c&~KcmjJ%=)T;O-KXfyVf0ism&DeK z^y*SLlv6owOQWvi~)%ji&qG==}=V`xZxX@&k@n)IP`Mm9YCGZp-OUxKg6qKjV%Z z%gz{j`a8WZhkxUIWx6@nq&a_1n5*iZ?8}+lm%aJecUNPd$nNUcU4UL(1IKbGn+3XI z)5Af!Cz}gle@%KI_hf%zdaxGVTLc%^#;F|0-e7uP_7~Otb=c=}F8ikXx^#00?#a3A ztw(o;(z|l91a{Y_hr_T@#_^IklKrJ{WdpjgH15iQ>~2U;M$zMqaIg$6kHw+fmLu8O zSobaVx$McUP3W;)*;M;w+4p2$4jp1cXwbL_5wi(6o4MckDm z+1rwCt)%@{IFJ)Lm%Xj&X-WGEHdfYsIgy*&(Cszo#&$Tjad~^3t%=PYu)7wHWM^$$ z-;timrJeMC9eTmV$-25X9(!eZXY6l?b2-@vCll!LSlrkJn;T<$A`a!QY;L0cuDUOm zcEhQh%EqSbt5xmgzHB=5&hGR`4)@T#t>~@2uv5X&-q_p**Ct_Wd+d2Qk&S(^zk}|{ znOxbA?(RtM$*J7fpYH5LFCBm*Ih75U9!#ctvV9;<DDCdPQk`LxOfE4du9k^KYc-Z6A{GAdLpNCbO_z9(~U!MCMR<91iEt=y>cRUr|AAk zIF?h{KY|{fOb>lrJ_Q>`;=b(3(W&&{7`k_w-XDt#0nSgr9oat#`%~%O$=Em@+o$91 z8S+^;IurZn;m%n&m7TNI&!;D{c?s^FLl0%Yfs;$=*176e;KF(8*W%9k*u4R_F2Lzc z*uPNwTd;Kz4sXS=Y~6#4A>Epeb2)ebH!q_0)TT#obSaqSBA7qB%A zyEAdQiGvTczY2R_;p}Q0euInG;_O?T$YzdP*U|l7aeBS{8?N1ejo)!!&i=%4L{E%; z=KTKEx)IxRWA7&H%!`XRV{d-k8SnzQdJ8?3J91c1zm*=#9oZg4uiQpYmDlLjhd6m1 z=U-ss4IKZC-8ZrEAMVS69K1!(Ym(|L%H%D-CT~n@jW(1<3zS) z_kVPI1$yuU&gC@6-WYoECmgMY%Rl3IEo}XYoidJo!{!FK@;kOR!d*Ez0|)=nlUcaA zfNA{y|1!B)z{WfDP`2g1?8)9B_Nko7nd~e`H{a!6OLk;)A-dJ2cje$cY%N01-^Yc) z*!fUcbgu(>$Szr@xO*#8PQWv7RW!{~|J zl>M*OmsFQy+4_cFDbn5VaBV3ZeUGiBvGs%Q4cGohoXhs_@(6l5cwgiH|7Vu4IRv-I z=-y(uu`)J>;@T=WS{x^<;%o_ASqy5+ z-U#-g?8t?+=+Q`eBwNei^4fYYx8y)BtwRsxrtB=sduLs`xjgR4;b`1gPxn{E;rcj` z3uT;-p|@pcWo&Oi59L_S=>{Ge0Eq1q~hjO$%wzs2OJK(l# z?ufnZ_5Iy(Wk+o9iSq#;fGw9E$t^jatoP&T>4ADLhX>*M&UCki%?UV>LpeW~Ztp_( z55e((r{ezZbn^_H?159cvM09BrkD1@Rs(lr`&?Yzn;u<^qe*gz?R{|E)P7&xyAC(@ z!}$$3+#lPw;Oqb#-m3j%9NdPj1J!TGZ8^OY=Lczj4{p`4b1yC*tR7?g5S+Gg=`b8W zh2z6<_9AW^f!z*{eC)rB{Ui1MYn&XX{SVlx<6KVU>^Hi3lHUJ?!;|&?UmTo*gL(Ix z^Y4@VRP7hS)d1TI<4g`0!S$(hV^Lf@9a|R8&&2Lp*lFN&6YQRclWlSH0=?f6H!j5H zcwD~-$2;S~#n_*KBRQF3zyQp-Ptz>yaz5{Mo;&|i5%{Q-OK6W zKG?nj+xz0eG@MPwr7Ll87!I2_pMw3XaO7j>YVD80g=^H0#<6T3gUi>_ZMh{|C(zUD z=-#=w9ch07?%b$;F-~s6&fU0wJ5Hx#`wncjar;i~AH$8iaQ+ld@5V+42lwLOWn8{b z``54;WAk;~ki8U#)9IO9xgRHQ)2k1t&%(xo*y!R!wm-n}L-cSq&K}0zN7#P^JKtgZ zF`Vb}<9h!$t~`a!dG??4&s+R7PUge41jhwjeFocua7PXo#;s?yUj$d4!^U9kWpfA) zo~N6`u=fH^mc*qO<>AP$sk?hN{+?9i^dGEZfdllS~vu$y07CoJW zD_v~ti_7n+%N^O;kM6v$`*I>DvipJh0qlEnD%U=wJCo_TocXx$5#2o!2XZ3!>f||KBs4LCcAZd z^$XpXQ`tH}@4uuQCt~9(?d7%{ouqp`x_vV4%GoLEU(=maaVm$h`wcxC=(2Yj`^vX; zV=C^*fn52HZl10#r*ipwdUyssk%O~v^?&pr#PJWvwv19X*nr>#^0R zTQ}gAoZWhQHWhv~-xorPI zFAP^N95CnqcWWe$7r~uTIM@m|R>IEKxKhG)1sBHXy`0GA&U9}TdcFttSHp>itu?T9 zAa2{*Pr>E2adag1){&3K!MfTXi(Bhq|9IS9A6qBt{RY@PS?@Q*##9_{B%gtku{b*u zryFDUY+T$Fdl#!a@)fu}PWx%{<~X=g`z^G;8s}T$_)%Qg4o8pSo}A54--&L#fn(W{ zt1dlxlkSYi&P-g|8T)cwc4pD*6X>bz?t-It=+;ENe;4;;r;FRW(#`j9up7=~uZnZo z*j@Yg*|%hWHa7O88z13hz@Osc-gN6LT%DwS5104BnOyX6^fkRF+uz~-zVujb?uXs) z>CXPT_XBPofSsRlG8ub)Tslba&B^@pcL=tJ;9U0Q@KAcb7~MY%$3t=DaO^CBohfor z_l}T<B*(I~Cf%E= zE*DS7=34Yrj^)M~+OJJ_&cx0-`rcVMkz?6dmtHxW?#sqG*jSI=mVLR@pj+$HBiSzN z-nsN_18kp%^9^xVwl>D``E+{|T)hCB4)!m^)@HbPk?xJdJ=xd-hZoc1Epa`>$yV69 z1Vs( z!0A=m?}`1Zak>|FuEE*fxF;w3;N)8EJzTpE$NTC1^*GsI?`3Z?Zr?!n55!)CofHQ&e>t>wEv1}Yl@5`R--oieRBRQ8#x6+FkVMIC?HS$K(3l^jtRX!C{@=kc|^?;a<8g zH)Qifx_zI%C%0wuB)S{ZjgxUEM{;92JqYOD{knGsE; zKdgQs?mmL8OK{wlFU6Hdv2htrW&3LFAEO7?;_z{7Ux%$Hup8mRlj^tNjvUGEQ}paE zdgEzq+>5ITPN!q{8SFfO&1bRw95$ZE-YeL80mrZ6RL`aOf&Ht-1$G6>^kagdXM9H@ZuR8 zP$rO}#e)|QUUb2W2N@J5p1GcdLE!`f8i{Hu1<3u)Bz_st`=8D+- z0jF{#8!OZ8|7pJpj$}(NJO&b?~$LTt_D~Idhuusoq^A8-XPjAWDhPeGFJ=#S63n!c7 z_-~wUf$RU^d@Jnzi@ja6Ht779hY_Eo$RQIdPuj9rV^1C=(6PvTKzn1z(*j^haaxBLm(_NeHWwb$IhU*J)1A-sJvo%?8|Zzxupv%AXP?OSm$49v?J=u}nE!lf= zTMlH)p+|BcCvs2DWOpll-_);9wq$E-x+6DaPwvTq>~5p)%duZwG-Vf>R!&}($4g3 z8G0;-L$SS!?uV(%#&Gpr>8Tvc?y~e~H@acTqi{SDH(l(kfW6(Zy&^8|fz1*&_Qd&W zIFpmradR)-uZR14<8%X@?}Poayf5}P!KM9hvMDz9*ZpR=BWIiA@Bq5IC9WNa0|(m& z;dm=-9IX8|IF+3p)IEB*lkN}I{m!^Ahof-maC*82u8x-X#MTk=zSunyI|ty#80;OW zUc9uim+r#DY*pWN3cPKrap!W~M)rmMc9G52HbTrQ8>MY_vJ_qPol@NJw^LTe6J_lzI-x0IvTf6!TE8xc`D9Mz}{)tJ`tA! z?N7t$>DUi&;|$%Of!#B4bS5sGh267oTTai$!P)fS99%vJd*|X@HqXbU2Hn39_Xm6l zE}TzKLfn?kskm{0`enFwq29X!S1!WgRoJ{3=W-%vSL?k?=*~1;4z-_-<4dtS1A9}k zeLapY!@&(Wyc~x&%2#NA3$9%$-+|Msa6S`vn%KGz7pGzKL2O)ulUdli7DowgPsi?) zxHd!mX`|_i7U+&16Tziae7TEXYNNzq(Pvp`Q*j|u* zM|S0EqP`H_coMsEIN*ip&Qo+>PUTGYpQam&=)GrfAh+aLcAlksi?Yw1#i2JVW%k@|EJ=uCy?=Qi= zBZqSJHM%jF-j^-8k*W`&+pl9wP6oUr-G77b%7r&|zZAVK+p_zX-dmb(yp0{XDVs%l z_OvUDfIw%nCdx$y}-mrI{wZ#nL}awZ3#say2Y=QxntaxPcD zpj#u^=W;AJzoch!=_~9n&pwqy+3V4b73jv-dS4FZK(@c3M{-9tR^;CQR`;^;9ggKl zwpU_b`CeVlWqW0M^9On+SN?~C5v+4 zoXKt3Ux!}%RbB4N;kxw7Z*+e>Z2Ydh+>+h(>29BHm$CH+PUN2KZcK0esrO|6FYIqZ zFaM2=O>tlL<<>uRdo#NKFV5xif7soep2>+E8iVKjJ?U>jcjv;EgG+N`b88&UgY#{$ zH!qI2!`1n4u)DkfPWQt}0s9AIb0O>;f@3+6{e|iFq4e@1+RLdN%fX^_>oE5AV!D?* zaxj|SUz{EusqdRO7>k>Oa6ArsOW$!V#rB!l7=~Rrl+ClWA5PEY!U$|Up!<>7c@QUZ@DL7`r$=&e z1?;uyscb)t!xic7*SJx_;WxOlDo($}h1GB_M+5$jUR|AT{(y^XVEcc#E4#A4Cf)my zURnz$zvzB#od2qO+4>zfZMq}d>)^Og@5{~~I9iwP{)yf7a3&k;?S*l;Jw24GJ79Max>>>2qBxOr+22v`FGja_!kOHa!^P>1owXl?{avs(7@NE5 zeh6;M_R=`tjqb|sD4fWt>=fC%F5MrBt=;v$+>(P~^zt6`XgE$~XIbp;NzY|-FKjJO zFYJxI6>u!4C2a0Xx7WvE6+64j2dM9X?E`VN7cL%zjgxTQ!~PUpI#l~pa3=c!P7b37 zXX4i3dhaZ3jmELulJkpne7>8qU5@NrGy-Tq%7H4ue;Hh+LobE5fZP~mWm&eo1 zE3r8N$8sz?SJ5jIwV$T_Bpl7qdy}zo9d671^|;~F(;KmK6t-`{g`?G5I2rJ5xO$A< zzXSJW`%c_EmhQzkJq}y<B%hYo`{_%v3(NGpTZs4d=7V~ zsLTGzIPK8QQ?T_SZp-FN*g2JMzKk>3cm>x^(|fWR;P_Q~Q%+vP_UU@>b=;HvH?V(( z`rEj6CN^f{`dQff7>8$LH^b&R>as5<20Ro;SJJZ)*lc2NSscp#a@f9_o>;gi2P1KP8r@kQ7p}p^3b-jJ za_L%nydu3VyDQ=Hbh^DV?#P*3nL&?Mp?77cgsa!lb2*c}Rq0+tH&?@%oXFnwbbobq z*;+&QH_%f#lY=$YZ=~C6;hvnywVUYS+Ul}n+1V3UAEak;CI@@d!-wcm6<69gm18-V zix1Py{n!VxE%#(kb{}CM%56E8OS9;i+?37zdB5-|-I43EC->w)b{}IO$!$52OONY& za#J=A(D$C8+p;gaawZ3|o3M}NM9$>WlXUMu-fzp9TzN|UAbMBMh}E_vApXK2LWJqi1p?S37k3aNWy^Tzx_Jqt)e9uD(c*j?nwE zIR^VL(L=c}J2iUaWp&wj1>583Ejg7-uhQM|^jJ0~;PPvFPflcWBE6o{W7&QkN0aD< zH*h)`hqCA6;+u5iDBP62qp|ZAJ&_aHJceF=o9@aj**I4H9lCcM&g4|Cy-N>{r{}U$ z$NjFpFW26~_KA8=&gANBx_c5mm5nL5@;=>{`?7Zm-TshnoQiw0eL8kNrU&O>H`D$? zT>Avu7vtuqIF_rQVe3-5|2d9i`wQ$}LHEAYeG`XY;cS}T?`eOH_Fv;V z76;eiT#h0feW&~DvHLxCZotM5y1x;3H-ycjjWpfBNEP79N zM&fu$y0<@ADkQP^G%2M1_x;YiNpSPn+g ztpnMYm&dW3%c7*Wvo+IJglv zx4`+$+HZ-ohj3wQ?H|Y9HrVT6XFJ`$fctXrB5rR_H(tWE9kBT_wkq-)xV0np-@@Te z*n1bJJL8~>qg`?+24zv_Sl#A#^HCkx(|-!z8wBf?^o%;zu4Jd`*|nK`SUkC0DFsJ=OAn@j{9;d z#|LX~()~klD4QOR<(6y@V(%SFcjdxi+RJU(T!MY=aJ?^gN8?8C&*k@Leb zovi!iaMQ<;>>Pz-Ih9knb~N3yxVMhMiQJL>k@VnLdb$Fx9EZadap8Dut%N&rAZI7g zjg{%GIyTq9-4n61rus?hYvI}y?5~ZTld)}M^Az3hf$h`fy>R&q?e~?>#If9$ohm&! zOI@y?jjjFk{yEs)AA9HG-~b#puz4VEpNAv4cRscbqPH%vTT>S0WtA#`QRnn{qsfeeDK%d=!pv#OYM^ zmfpJzmu|!U<+vwja`Se2a0R_`2R5$6#+}%`3a7Gpt@=!QI0KjO#@=AoXOFn^!yRJ_n6+BrTfQm^eFDi!DG1j1l@leR}<_!fs0S#L{8;6p@&b=<0odyGu-*^Y_31Hns<2`yCuDg^TaXLvgu_gW=eD4<{qAH5=O_ zap`@W%3axCp5FLCeFa?o5PK_P<0I^@f;)0v!p)D>SHq1=@2#o(PqFRb)@Rt;3VWYp za~oX#0ta$WHnyclU+R7*oPULlopGy&W4ZPV?ev0VFsp2&s&>0XXy!{y%1>Aqa}QTMy+*C*TiVE<=&CYOG}#=i8nobQk0U+La~ zIQ$Kp2jR-^dhZZy^|5;>&ShV2{6SA-=TF_sUD-HX@Bc-&M&q^|$o}8-T<*)}5$v6R z=(gOIBf0sn-anFk^*`*4!96*aBV)-qzwfM?_H*G-j%8yky)ZZ3mLu7fd$Ki-eKL>U zlihi7E*IugAFsU}O~mc_>7I|f3uu3w_5~c*ace=Gzoz{loTj+B1h!ts_F(MDO*xUP zL)713UtAI=a#yzBq}P_BN3ylF_HskE-(v3+wU_&{`8GXXh91bZp*WYVVc2{}-5feOy}~Tc_f9Lu^L4xCu^f#rdW3pF$Hm=nvIn;Iz}{Zi+!MzqV!MiilW;EkC*y2C zdM1baBEc_HcBC?hjSJ3TJXK4R;Qs$JgTK z;W(IqgVETGuzLi~Zo%y%vC+c$7#zz{4JUWf!?8G@iL2wVALH_PY&?V;6R_3Bm5JDV z1Ur*(DjSpKS@cv6AH|_hHy+3SQ8CT?mxC|$9B4_*3TbI*~195l-_7B3fD{*!(cCNyY9gYiEDao7Zr^|_H{(by+=3IiCEGW$H*Tdn zH{-7C$yQ7K7J5%k(a zKaBG?aq|&uzKy+E^82{;C=NfCAH(q%IDQ;2bsFXyr~gl@i04~y7+11EA%&gI}ux^J=XzJ+7C z{x;6#;yXAfv5()y_Nv(Hs>{Xqu(>)tmAy4^Yc}0jQ}^%dUM_xsJnQ=H1x&$Qo|Zhek(xhMOZ(Bm(3za>t;#Kt!2 zUtxQD-00y%cD}~m4s_!ib-5*56}tN^J&^lyCP&}VogLX%zQ>WA%f?Rh<_~mFcK(MG zxhGpYYoF5tx$+~<~msg;Na#xP!`ik^aF06!e zxhb19zHhHgx8;uP%GFiqzTA^TIVjO%xwtA$)}Xl%Em-16udnaly$8xYE-8hME?WB9TBS*5oGd-7! zyI^Mu_lcazwOzG8nO@vY`%|=+L%BAJ?w(4wUERyM?43sUcBh*G?#h8&*@JGMuJ6f_ zZ11V>ok4HOiR|u0_s^sod*e)Q$>CY_>OOSiY}}D!+1ZzFokNf1R4!HN&bjnR&gJ5M zbgw}VW%E2-*kAp8oXX|}xOIT~ML0MR$CqIDAnbi=(l1weIC~8cvU(r`O=-k@B^;HU`Jjak+-w8Q2($&FgSS z4&`7R-HYh%c$~|{2{^r;-jlr>a6D0axjqReH`1NSy1xmVzI-$8%GoWrbre0m75hhH zr-hwka4wt2;^a2HC%d=f=s0>Nd&lGW4tnVX9NdX>*}Mz4>$;bN6Lmk6UO7qkcVlx3 zc4OR?t$T2EGCh}Tr|7+V>E%;#dY|4q4M+FmOtv4;djUO>z07iUd3tJD>Jn6L%Djb_Hs}5 zUS!{yPS50EhW0Ph{p)c03U(rFy^8y?FUQx@6S;PS{2Kf6jW|rPaTE4m$BAsdf$KNZ zbGdwr_HWX2IhW&GwSPDDXq zYPcsmYvANndaw@ezNYuq!*ME?ap!exZ;b12U}qETyon>ZCx^Sy%`QD0g)`Z8aqB&L zF4t!3y*=sP``FkE7eBzB+?DNp^!|tRKyH47okQrIkL5#glxcrBZhV3x+5QwKa(BQ- zu#Z2Zhc%phj*W5ZU*LQ^4!_iXBKE$*-Xv`GuzLy)zQIv|^KWr}Ca!(2`?Ik91NP;v zY@et8qu!HyvUxr|`iY*&)t~kL1$6TloXQ>9xsV?GN{{98Z`i(w-jidw`MdhX^hzH` za$mMCp|}2^hjR5#Y=-p0UpSBx*|?Nm|C{d1rGIcHcV%xX`^LZYTz3A$-evS$&g95g zn*X2ca(ZO?prEug0wf=($`i zU~d||uprLlw(MO)uPsDRy+rnBG{49?8ziy1$3smlHW&h3?)>D;cdIZfPt*M^bT8Xm>i!ws%b6TI>d)$aE8WZX*6PpcUe4rr z8@l_v?zhE>Y;ULD(Y>6?@%HL3=za&B%63KlMS5RO<@S#1FVX8e;p9!++8KLqVQ&|l z$>y%ud7GZfiQL#t{T;eJ3a4@=`|r|2mu_~kvpde@z8tSmE*y<<zeJBUAHI#e%IC>%{ zvNMeC98XW>T=s|4gA?evY}9cug5H*`WpU+1dMx*4cR70FBz;dVOu?Q-Ph?{xc2CxO zvT=&`%hQ{3E?cM4gB9pq*;*0TPSbm`6<~KIdRtEA^67MIb-H0z1P zItxb|WA|(v%du>3qW90y`*K5eHl-KN)xBJolg;Q>gKloE_s-LM+u%qJW$S#pvn@T8 zqwR3v0=>6AuFJmMlRcN-y^wvhJB}{G*&eudvEJKT{Ss`;J=xfgUcOZK2jkXM93G$C*b^AY){7V40RuO zufx7vkFa+X-Mbz~a^VK-98K@Y#u>PEGu=2#@85zg*}4^{=g{32cF)89Z8*MA@7<2W zOZ46y*q@4xyL5jU?#RyNxG_`j$@bmym2@-KeG_N0H4P{C&=c9e7YEnS%lBdXTAUAf zI*#wx`?B)@_T^L#W$!_HEa!462M^J6*=%ET2H%ThTecsjyK*A?vik@ zHXg_4S`E8Th;=WprzdhE*Po{wchJin9Lc%t-$`%1pgt3KU&P)$xbQO0Wlv7- zrT69dKHPkTz5kf{tGa&zC$C{Q!A^?p4z9nh{sMO2z}ZJQdkb4XVe?(={EFLh)W<)Jmc2D`@FhL8arZ0iu8*5N>^Zpf4Gt#b&i}NZ zqWd4Qa|X_T!s(ef{25yp;?^%XoUZ;Gb|dWkj-9)3)W`WuT>1kC_uy1^?#0zV)$hZZ z9Ltrz=>Glm!r$0_0LQZXAa?(un-Af>oXL%U>G6y7>RiP+|GCLt#?IV0eFgXA;BD>a zReu+o^WmV2n{xCIwic$_#&L7L<1M0l*<2KxbJJtlmaWC~{yg-KoDRXYCFuE*xG-4n z73CrFP;4!UvthU^ha+%fDeafV=F&J=9y>*xu7s=0;Jk$Gp*UL&_vLsUd6@2HZ@BK| zj%=>0_eRhixhZ?Hu`E51Jvo*;aw^-)u{YM^{ibZohDDF$y6mm5U%#Bn{z&%O2K0Qu z8{*dT>Koze3OFp|RE{>r?uz>Urns;Yb~eM29LmJ_o6}=~$TVro^-OHKmY@@yg-QEscYvNdrWM_Nzwdm#!IFgeJ zF0DHQ8Mo;C!=Gvb~@5o+&dt1;Gxw571&!krz z-JgXMIhLKR=+61{!q&RK07r6mA-1=nM;GZm*|->2wxx%1D#w@5{q5+`v8t zvT+%9cA#6A=!};#?@P3@`ft?3&drzD`gd2OwZCuzJClBLL&SYaBdi)4Ik^NcN z-Is1Wic>k1-74LBOkIv-cR%&V=^Z(eo&ELx6ZAy(W%~f#C-g{mp2W_9bmuADm3`Sg zNcS((>j&dd&Sm2jx_=1Wd=FO+#ldWx$;JmbIZS)mJ{;$AM-D$^?~c}cAK_e1KGpk2 z(38(_{YdP6g_~or)x%y5$8t|LzoVyP>EVyKG9DX0;f|dAj*|)Me_($iw*JE9N!XVo z+4-ApO{RNtLpJ`SM?O7}?W1sN96#shr;Z#ffO|*NbGdem-d~7bJQiDv;I?cpimS(I zzZf=-$HC$_kyE*H0zDc;@5#;**ss%bxi2S!_1=keV+eLn()Z+!Y%WQ!OrgheM-G=# zKbh_|7knegh|RSGLw<@192w<&JEwrG7r$l4CiN z?F;DU+U#3$EZY~-ZJQp;{s!2%m>zG0d$P3&?q5Pr>o_;UrYB7m8aw2Fx;Afy~A<&IvmTf?2M*YBYGz1 zvV8=-c0E0ntsAg^B)u)?vU4Ln8bi-ytA@Rs=&sz6jj?q1X1X^KJGbCKj%ClM2e;D0 zIzIvbDy8yfQWAh?hd;lkMM>axw@E|?E6gv;$Xe#c?-etJnrU!Cg&Mv1% z57Uh+aBsj@;?^T{Q!dZKzTA-m*?p8A%Bh^m^~dPBY(9>itN30l=U3zY6ZCi*?j*Xu z1{a>f$qej0jnnJYpTXe`xcV%PZqoia9N&t|&tvyaoOZBz7Y<&)`Aqpm?A?RimvHIe4A!zehLU!1in$%c<TlEgawdl#(am@D{g37Ma3(u)Eu*_~PxfU06W!0|-ux7MAL_l&aGYWP3v7IX zjW2QZ8BS#La~ym{_hq|>Q@Jexv&zu=^b@ z{|^U0;98EI|7rgtPUM!H%l1!nFK3_1v0VL`Zv9B_%ds5&LJxk@_kP39&$uTia`rnt z{*@l~vGF_h{=kuJ{fYfQ=+9#>qc=?_X^Er~Q98kgLWrbAImjjT7elt2q~T z=fbIM&5eV(>G3?cG7k>t#f5osHb3sm(SkUepPtL^0@z-NUM}cfZppb^T9EE6%s!C= zxw;TNk#pHugneUSb=g`3r;E}%16~aKi_!xVdy8Rn5H=Raq1=`8!Su+a8%tt$knWe# z{Sr7?8aD^yY$y(w#Q6wZT^buBv0ucN+>;%-whTR%`?9ej_uZj%XJwoW!$}D@hvQ5( zM__+-dSO|dt}QQz^R01v1srXs_g2Kg_PDkZwnu5d3O4r8zJ&cfvA?RkFLqXw55R@h zadrr!^XiR9LwG@I9!LGoq)4-aahN}dN@B3+v{Uz ziuQ7TGH!05`%|&IA+}G)$wt^e1N&v|&&1Zo*gIQ&6ZstVO|?H4r*hQ5!DjU60-SA* z?F(^z3+!Bi<1N)M!#xM5m#c4uv#W8oHTGxVWE*TNw{XX0!}Y~79hop2&sJ7eQM^y4!yW9&gEG4U!c2H?O(*X?7W1- z{phJ&+8>86(-YZw1$zf*FB=Ey{a5LcoXeGi^xkXqo@}K!JeVHK_95E8LAN|?zAYb$ zJvo;Bcj)e6^jtO%$NszYuIzPjdo(?fYe!)BJ$m^_oXUOKovr&Zx|d5e?7vTM%DG$` ztNsB!8Ssa=HjW;Dgw65Ve~cs9&agc}{d=5E!uAjHWbFQh)1$EQH?AFxt$(n2jPC!% z@qp*5&-r;GIhO7%fYak~C_5+MbP(M=5l2ID>m+Oq!_E|J498vBSq_&@p=WX`J1fwm zQ}y18*gZ{N3FmSm2Lat)nQoqrb2*azRp|B^das1Law50Sq`Rxp{j;#Yx_q|!8n}KA z4&}a_%VvXat;xP2Cu?E%Ji5I$?#j+OxOKkXUl&&|z|MNOcp>&S#MVVPDC0~vHpbD# z^i*~((S9?!8De8|+?4$-aBwNz*;4zd*pnM_ARCv_Be^c8axUj`?Q-^}!~2=+$ki+K zJvo&_xpE~vkvp=n74Lah(QUaeM{>|q-&+6vuEv?%md$PG?lgKVXR^I5-M>a%Hm=3a zcJxrr<>GXDvOPVLy&bimL3hVu=SG~$iR_G{S8k#k<8fC`<=V~kU?ROQXOnQ_7JBYu z?^f-P!aX^eg5BHc;c2*f2aW=q$-(K^zf*fTm8~;$f0yph#Li6YUatFC{VHtTqu#_F zIlLOz?xn}maPdAIUV~e5GF|)o>COzC%f|KCdQkmt+<6G+a;1&a2kG61ar`KbAHm^c z*qMcm$8jQCPvF|4+RHsTPw0)u=+=`smm}GKoSw*CIevzH@PzuaxRhY$Ioy)n=dt}H z-F+JupT@?!xF_dboIgYNXXECxIQ|e9p2xw*xFbiO;mQm2=yPnoh|Mo?Dm!0c?@A8LU3w;$-ox$?x;Y!0OX5h* z<@)>dbSb*=0S=1V%g%6|d`NfY(nmNRK~H6GIo$Y|?pwH+VS6NwWN!sr{)8ULk?gNX zw?3siE8$o+SH_jk=$YJ=<5lRj&*@GHm%hO6s<xY*umWFS;+=f8%sNy7>=w55he;mi>R}-of;~oE?Ib|LE3XI5LLL`F$S9_FOoU z6FHIHx#^jl$^MbNSDu&dPsHZ@dQbM`e6scn=)I${U67B#y#XJG+Y8do6L4iA?8})P z%Jqfm_DSrki{MbsJm6U50?hx=we(P zqJE|JOW|||4wlBw^>Ps#H{ilDIFOrib`!lbly2XQ-C^3xT{)G#;o9HAz9$E=KZ2gi z#bx#0t?XN}(Zcp}^hoZ=&TabjSn6_Dwr;1_MyktwIh{#QmZzKd;lheIydO7Y_W^9K zM7JNrp&ZEO%5?uBb=hp=!YaCd7&iy}2(Fdr&Ma)MigURsJCEwU)##yImyO5NSJ!)T zLkBL9M0awt1H(!*cr zJvpB5q&a^tHFu$#^J8mQ?8}jy%B9`3FR<^*=|VUjMYk8nEf*&y_IJnm5;)oe+eIAj ziTz=?u^0A6V0Ukv$vxR#mLBXwkLBXNI9!h28nA`kDm_~n2m9f0b==q=2W#NU0oYm# zdk4yEWAh+vtc$IK)z`zl0dI&+j~;A}`b;+1Lhqqv?^H%l=OE z=t#OZN*;rK7kf4A?1jUzI5`k!Ln^O`eYZ)3I|McFw?Y zgnP1iBkr6@kL1c(IJ}8oI2&6x<4BI=(mC|}R=RyIj#@aC{o8Q8K{xNf<@0bNcjf3# zdgFY0bQiWRz_A?3scc?IcV@D0%Emo7x`-Y;go~HpT#jXL7Tvm(ZajulIeP*(rqY81 zo0nnp8EjpSLpdJs>vZQTdiEwZnmBz6_hj>J>|ae!-od45*y`f0Y|h5fHR>PX+O^pE z6kF4AEVty~S9;-kdiFauZotN$IF`eCrp)>KrFs)RoDVxU<6wT=k=;Q!zLlO2!NuEf zx)g59&N8@ryWW>;cVKTA-MSM;!*MF7BXIRDy1P7%X5xHJT#9k9j`sIpe>3dghiwOY z_v3gwY(9w79dO|xob87DZQYN;jfZvb;_@Td-2-=Je^2da(fz&UM{%|f_8-Gx72A*F z{6P5$Y#xHG1jlkB+aA68q`I8T_M!CpQ}jqKJdM4>=%F0Q#xrzlG`%GUa_L!mI!5n5 zr+p0@&*MmL%I;WtxkER{;f|ci-V1bRJiRBoviBlAkh`)ufxZ6{J(Z1@aVFPga}s;w z6?!Z;O*tOuuhXrg*f(WIHs7GfN7LJKa4dG- z)cbNfwUD>)z{eSdOPUTFloMGwohNYe8{K~ryT9XH?#R(o^m1SCKaGt) zu=xxQWk=3s|2g$P*++6N$FlnuJ(XiQmy3VXv*&rQDO(*}_(%N(oXFOT*#4Iu%CT&` zL@)hEkL6glU!_-!VRL?th~z{zQ+jhQy7>ln=fOAxy!_j=${RCU{W8*WN z%E{+AT7d3xIC$?54r*!&S!7nXm<<LMyR!c)y}l^j`wiQR;Z$zR#@r{* z`RCL!>F&I^IS9vcaS3cMK<~=d!niPm?kt8oay$g*OVWcSaj+D2m%`@KdcTM>IhTVX zJza)wFN4FOIF&Qm9ZGkG(L1s?99M_Yjg@dRTzlCbf#bF5?sD4OIF)0$YSE+h>GhE~ z*$9`H$95Sf1Kt={SD@#c;c!LWZ=w5@u)8Jh$f1LqE7Se$aiN5r9dIIta(PvHT%q@5 zdnX*NM)!8cmDRPEQ#qGwYtWNj*q7GS{V3h9CGUZqwXwe^?#uDs*jk4k?t{CsTg8oa z>9K6Chx3E!#r1JE9y=T9y$QH8;EC8R(*qyd8{_mC+?9g{_P3zt=i%a(djCS)maU6$ z-JvJ4u@!bNrZ?m?#Fee->7}^14bG?8kI#6g`te zIe&r&R@sw0d(_iTslziy@NZl+r_Pe=;?d7a-_yO+A)`vLs=-#I|IaKd|iMxm4xQ82uW8)iajmDN74ES5ReFQy|V>$eu?j1=t zf55pM%JnhyTsCXi&e^wQ<45d_r3XLZ;y9fBf;)2hE3S>F8^7UHPUPwY^*+5Y5yx^< zPX3^mC()BXaaRui#;wV8`yXuk*p-`dDi@BT8~^EE&gMU5&fovuG4!Z_gJZF`81|3D z@#5MakKLtlbON@Q#pM%mxGFA8!TDO)JsC$E;P4dPZ-nhrak{bYPs7HhxGBe*<7z+; zx4=C)+X@?J(EV+6FDKjS{!F^Jz3ydW2kf6kPh{h498~CmobQN>=g{Mwa7%V~(R=6W zJr{=!?Cp+A=jr|s?JvODVYqOS_D5plV!4J>IgzWE(4(>RzHE)d^^l&+#--StMDNJP zWE@PT$Fg}DwtRXdyC>rG3VJdHhgWJJ;OpAUj z(|fXcJNBN}Ue4sw9qKR8i+5u8MI6iCOSpO$J$MyYX5#E4Y}}*wKEYi%`3$%3)&1wX zzYoVfT)toT-{8I+$khkvp`6J7r|dicqo}t3KXa$-Y|CyM*$~RoLtlD8gh3D@imYHk zpUOrE28FOvH2UbnUVKzjw|V5+eBXKX_)& zXV1*NcW!SJGt9O3uzSoY=3EE4r`$*O*pI}m%mwDi{bVoxMD|V0v0sSmA7KA~BepgZ zhn0Ug^^@C!QnD_U7lGCyw{!`(u@~7sm^i~6A3|LB65DHu z^UR51#Hp9bo?{NbLR=V0_UNm`_9)^u=I}V;>}zCCGuORN9GgJ)B6D~mab^qIbIkQ` z@clcJz4cAvJhS~4abgrI^P4BUN4srN>Vx^uq%N%14e?ayk^LpmwZghX`hh)#pCC)QP=MlGjME1m< z%>N~h&FAMoX8T_JJadw{uAS`40=6@!nG>Ioy~tc(&Ml<-Q=gJOx;L@)8F7JmBXfKo zvd2CrdyYBBtn5ejrvH&W$y{X4EFyd63$kYqAa41RIQlnYt4N$#Pn`aiShen6u3FD%s=L()~H+JafGud(pKsr~gU!*J)%A zUq`%&ImTS8lRd?pXO3P^_tzU_&oH+!=a}nEvM2sU_h*?4%yk~JD;wF)oMEoD$R53c z?aVfF)JygpbB0;Dk?xQA$ev`*G8bLDpX{ld=>AR2$(xBc2FM<}g*X}{jx%SO)6DS_ zvKN>O%+Xuv`DBRf31%xyoMFx|hi{|%W2NjLbDlZNTwg}^BJ&nzJ4?^El#@MtJ8`^% zILF-1tlYu(SF(T1RuAGdbB5WzlkT^x$X;YFFxz*LJsBZ;idm^9&M~iNR_>n z#0BOIb0W(22gtsKInTVPAK6oz+0JY~NW7>&`_H_Ex$qF#69dSee3-bMIn5j&NcN&@ zXAbAs{Xt|;GjCzeGS?3#d-xH$zrY-0jt?PwhB?oiXRfOyd;C#)eiL(wIXaZxe~j!I z<`{E$7}?XzY33|*2XpjsdcI{i`^VhQoM%psAbXK{3v==bdOkjq{bSBCho2<7J&No$ zbCx;J92?E(tB9v(yXD03@w#&YWjX)RA3z zf$TZv6tg{<>;>jLb0Sao$ET3J$ed@+yvX*Q$R2%(cnfoedC^p|+b@&7jXB3$zcbrk zVLNkIm_HKi|ucb-P)Bn$(&)%GS|%}dyzTMoPL|0ub)Hq@PCNgm~G}o z_53_@2Xo>by1!*NvPa(~?qJR{x6CDbsz7#ScVgu|ex5nSTx2dXH|;_9XWpm#i_D1+ z`1yHcFEDp7$37%`a!>Z3xt%%o5!svO^YhH@%=!P4JrgH;{A1$Uy@>P78RkSg*`o`{ z9{Yr!XU;O$E@byUWjk}8Il4F7KVv&{o;kV?+dpSJbAh>bU$*~`>{;g67sPe@kv+>? zV2*uB_QWEx=a>u3c9HG-^YhFF=J;1+j~_txJaZef{WaO^|HgLaJah6JvfBrey~vzn zw!bBN(?Mj^}1r=J@wyU$mIrXKrIo{y_Hn1lyVO%!v+uzJct@kHmTA z6m$F#w*SO-<}`DB3E87RlYI+wj=5yl_7rm~vtqJ+71^`Qt;{hG+mmF^F}E_uEVds(_9AndIpZaJWHs3p zA902`#vES5{xheUV}80nyq5iEPBYs9vPakP^UNEW?I79fjwE}Uxs6#VA$#H|vL~54 znDfjnEo=|b{T4_+snwlg*nT-=vcDbGq*Drm{Z4-Jy}Wjhg0kx^Ll2x2ic=1kX@-F&bu5T-gF|_Q_S{B z#NlePw=ox(7oAM@bWgIkGly%4TTUT+hB0uak4_+afjP|_znbj!M6&0Y zv&{9^kUcqx?0M#J9r2=T$)08|Fx!*K-tgmFycg5~rB!Zy=8COm^!=Vw-s*bDX*UCbH+;`)}swr_u9m%vt92Eo6^RC;OsX ziHpq9+lbRP+1r_8Gl;WUvgeswZYNIeLU#KO;_ysj>rUb# zSF+dMLmZn;Tx8BOZ@QQ4$vI?CZ6XfW6UXl(&N4^tCywt%_5yQ}dE*0QPtPTLax-yk zcjCGSiSx|LL&V8F$ew2o&m&&{Fxj)ri5zi!PqN1zAx`f_Y(GjI+n>1UF@Byo@;I@5 z0NLA^Zd!E@|OuW90?Fr(<)5LZIaqJo9Lx?+EUP9dV zZ?b2ZQ_m9Tm}{RSE-vNgne&arTb?I-x{3J(;tX?3o>*B<_SzSTlgtI?EOYBiWRD(3 z_s3r5`OFSvG~&ej#Chh(2gK1< zvbQrQnKyk%_B8XNkBE!R)_;kW)9LvPbC}uwnCvm;0&~H=zn$GIc?P+sd`etk z&M_y>Bzx;;WLM52uK%2$XSV)FTx8BOr_ZMQ(_irO=McxgBu+6$ip0@#$-ad-&Ak3A zvWL@TPkc?BWsZKs&!0#30&|9Wt%PBU-(f$WJ3$)4;W z&Rs-o|41CYn7D&EeK~RNXMX+);><66|3CTuUx~xl5pVj9ShK7#m&TR20#B8al}I$f0DS~BF?rkdx@jZ5wG_VD=!nb z1(@ID`%8#ZZxKgB#Id)D+nKY>8^iqkdt~2ON}TwZcvBhk7sTNT;?!5f@k(O*TjHi3 zeE;{vb`^2-2Vx~coarELclk%+jn!=biMXjJaq(y3x*Fp6uWau{ocNu%wKs8|Io5~m zX39y|w!Xw!i#bXh4HLKaC$=kyGXsdjmBjIZ#IYX4kwMH=#MWTqT!c8soQx7jYssD& zLfkTxI5~=V{V-x>9P@B?Z#;2w1aWvGacm^9J&Cx$oSsaa9mUU2WBX|48N~S*ah^Fj zhPc2S8B46pqWi6J#Iaq8bIcj$rtxG?%qDwe0^dJ}xQ)3`Pn?=a_S9~~u}Q@7xx@wL z=Ag-TG9G*vL9Y|cfl(_aF z;^gJTiGzvle-dv@5a*ba4aDJpkv)D0adso|q9w$c8;B!IiK90XZ(&Z~M7*hy?8RG% z^UIj;WP1~_ayRpG;xKdkFybh4J9F_Ky1#HZ*%S8?Z(Ko~XKq@_?%hZB+GgSub31d+ z_dC^J4$|qzmGRK+MpUmzt$4((mF}E@2m{X^+d!Lbe z^`{X>nG4J*=GIoSXa7g{H=RygU{=l`j(+Y z?}@_~5vQ4R%=QoL-^FAvb`Y<>gzx{6IKG}Z_7l5zDc{eWXI6gU=QpsOx#=?E^si*E zy_`7t8*w{xMma%|N81%-&#J`fD~U6LIB^xRq7&COe}%mstpyPE6;FLB2;#3>)~ zrfZ3#e&UvY66XWNi>@P%1&PDg6NgKP^UNvc)W67{W{zwm&M;@0l@Pms1G~>$WX^@j z9=nPCt0Hc@nK)Wa9J!UBXU;O`dhz|YvAqv*DodQ{OI&w5u^lB=?jSBOw=t*sk-ha! zvPb(9$L}J}F-PtuP7EM>fms^HJaK_J&797Wy~u1oLY%3i z`_qpS$0ifkKSms%O1$WC;?&N>ktc|i>BI%*=q%#er`Ww+iNkHg;n~D(%<(zItxuCZ zT2CB*hS=VXIP!1eJaZd!dM-czEZH-A@bk~{^Yi%m=ZOo<1?JSAWY4@n_UL@#raW znXN6vsRPKqg*ngM`Uc&N17}P2Z3`&s_U0v3(moUtrENw|++(Eql2fm-VzJoY% zC)qog3(VOc$sWCn?8%?ledg%T#NoTio@dT5xBkNS-$VBFuf#>>`rn8%_mMsEJ8|-1 z;;hogX=l@q5hqpR>{G-sL2S1X7nqAr6DvB|W6u&7nQi7)gY3EI$iB#A_g)~b^$=&6 z+nA$yvZpMzzewETCC=WWP<}7n-CEGtGyWN90%dAupr~XIwJhS}; zaWX>obdfkx&F+0e9P3FOXWqzce@FI24ZGjL_xB=B{79T;<{Sq65vty3FmGXw?@IQTX=IPhC*CrhxWJsW z*}j16wKLehkT}nr*qgX%7qS?HuAX^Lpkib4xwh^URBOofVvR+zL5PP@{s57zpixj+KcJB=IG`nqZ`()TDg45sM=xsHmq3JICRt=s~VQ# z_Hl|nPMH$aHBq9Qx~?0-5UTUEqS)+Twu^tyLVpYLE=1lZ{WA|EztbDZzq&v3cj4Mq zs~hoLRs6vDYW!Hp)cHO|zgH*+_7mj+O;}O0q{OTezTrMGQ22x}dx;1_<*VqkQyl7xyHG#YkbUHwKCbTx^YJH(uGGg zB==d~yf(RZHG*d-rlA~SIQOU7{f%ARe+K$S^MA?xiR0mXjbhd)%`&nP-E>xz zEc+8aTqqU%9)qC|g^Ym6L%v6LJO0dAx^%bZwd2ORK~JfMl4JK0UEDhg`Z18>y119y zzI!q<90#iuvr0KtHH0n%LMzX@%p?VNKL@u02$ziaH=w@_dAE!ES^JOi?qq|lJ_Hpr zsC@7Epl!{5N|D`oaBuU)>fan#Dj zl}!z6nqo*xzhe27gdt4nZj{}%S9ZF)0Q&xr10galq`QYgmq+xDZOdaf_v>(Xd3@S@ zOR@G>n)(YJ@jpcMD9U8LTEj(2v42^(=f1~d(4T=k2XXz|0{t)eH)dj250iiNu)zLB zn>+m*4}B-dG>GfpZqWaVe`B|K!`Kn^gR!&q)^nlO}!yKR}BXwCh;YhQ;)~Zf_tD#3B10b%yqoK=VN9nj` z?P{4%oLHS9lkq?$r}o#wnxXfR2{@J0vB>_V;GX-Q*FwJ&@&H8oqCwt*{sE-Bf7a@& zWH1yr|129fmi*oNLj!`+&@9`Ns`z>pb^2(?sQJjf)5R?HVpVxX9V~RcMECR#1_Gv~ zc|?gYg%ud7$2_AwsL7vF^?F&O^Zky0;UjG4T9@n$_ioVlhcrOkaGwDEbV&DbN4kf5 z;&_g)s`!R&LOFv%`MDFykZw)bCX@rWhVp3+CExFaPElg3DV$pn1~+~`fnJ1s198*y zcj)ry9!@tJmuwARxxH{Y(z97PS@hRUq~{cwo?}HXAxmb4{i{Es)4v0tH$av`T>p~L z|J1)RW9!@u%QmL&`VYer3b`Kj|tGHLz*6;`ltOqx-MF? zZ9YQ#(#Sd3je_NCW-VXcxMb~a%NmwAy@ZT<+*PWYQFnFD<<9vu^(xhe;-!1EJB6}d z3`Xz8YwE%yyf3Jp*Hj^9>$A%%e5a|U$Wce=|5Zg_1KMoiQSpG1UQ6$hMi|}qxE}hW zkY^z7dwdN2D@gbEXj!}Mdo(X!(dAV{RYpB}M`7ND!n~Qoj1YgNdO9e?r4`m`Y6#(6 zxi!SQaEK`Z!beiL>(+FJdw1x2LiU2lL!SSnU1>aGUBe35u$YQvDg|y=*xhs&cdvzh zJ>-Ti?lxV&!}iK?w+`;sC{~T~AzIoViej_7?Oojc1^Vw0v9>e3|ChT?!_iBzdMTg6 z;VLD;?%Hs}O~1XN?*}>H|HECUb5pHY)k+cWRwyZUcYPOkZ-#yw4;I z^h5IXSFHZZiJBpt8Ka|Y$BT_!+`S+AgOJ=`ad+Z)*WCe%H9%>FyM5qdjNMg^>+WR5nyj1ycgN%YB)hw)i@S$IZ-yN4SKLK?=sLWUV(p|{2#3*W z$+Ekfy14rc^j9HUAZ~qIfbJYOQ8{tPL2l)SM$&b@JU$UEWY75?#X4Nsp!FBK$d1<{ zJs|7(Xp8MQQ+rfr{7i*D2QnAp`nNCiKl9J2l(y?*20jK*Uye39eMP;<{$}8=n~&~= z{wU-Li0ki*(ErR|w?5pi*Eep*>!WSQxo8X8aA&yS2zDQtT=Re^YXPaUhON?>8gFJIvriSFNAWJ-cKLt^I)7_f_a4g!sjg)_=ib_ z{-TWk`Gz2T*Q??o6^*xZ6pyu?YxtPX@!eqPBOx(}8?K$9%R}!rudy{;&eX;lIkAvL z;PhDCXjLiMSs7LCjA<%_Cg5W~(aUiK_0Ms(qqV}_C^Q)#7el`Sl7YDX-U3}7=^c#I zmNcv(|7J`7c2}m9Te`=ve4daGtzSPe%y}B)DE6-d?uGH2^snsin5%&Fg1G(-g)WcF zZ>Rhny^XG2=PR6Xb9|LkwB@_n^QOb^1bm?&f&B9Hh#Z0Fhmf86)C zjulD>QU-CuQ3+ihd+Z>cmmIokpEa^qSRNZR+M|T0D+f+jlriWdp%%lDW`7cJCkB@9 z+YJ3=NGrtk=Q8N>*!(!fZz4xmH$Sah*&x%ks-QlpzN@MQwYPIV>|NEblzj!a`-yPC zD~>jUqK`g6U)C2feyggdRWVd{GnH`4md-2f@W*}M4(Qr(Lh(S{aP)vKkIfH||Br9( z7LIkz6q549yv1sw-(q-wwyNyg8+G?65z@-ncBLQm;gHb~ z85&u??*)AkWCV{J)^fbGcB|i!50*5nSkXBkZERkO-(+z}Y*rCd6O|r6sLDfXiKwu= z;W9LIrdbj##ZWvt(IY&=1JSbOH6HvCpvC%;=<+BRsiH*PTd_~F5efx=76*MZTxIcZL^+&i9h;GlZyhIdI1g!9a`>U0zphxdG8ibxxZx>ENO;&ou#1IisJ(#b=mUVtd|7BdPE;2d@~2gKK#9^ zK3iZyG=}=TLb|96P1ijbv!GvevhBQY9&zEu*T>Mc6!JO5&2PIwmxmi)uWj$KR4>)ORMnzd>6}M8=cB$vyV2u&UCC(u@FwNLFCu1%7+E$!c4Y#FCt?N7vNA&q z@8j>~*Y)_QK86S{*9VBcVQ-%*)2isV&|lui(+?$Ok^ZnyX9=G=S)ZeM-1aDTn(c&h zBf{&x&wrqQ1o;-?rvH!=kZ&O?y3Kb-cFQ==yYIEG`Kaa1OILQLS;LYe)?s+t<(Jis zD;gWt$X`TNc)c3(D?NsrRYu4ZMqe{#M3gIyfx^?SdNC2Mf1nyZ-K+b=o2qz2^tmdaMlx;zw_>dx4TBwOXOV2a8ad(kONBf5+U6x^82L_cDH`G6#4^@haqly zeFI${&)!S*!yeqE)?Kvi1(R6SQ!)9O^`9COYCopa5(GTrXilzYs6 zBI5IzQH)&-Vd*uN59!!r)D+&J)(@!m2# z+0$)#QR+|Z41X57I0+1K)2HNQq3jB&z4I#P{#uZD4j#{;BnNw6n|Fr&@dakaf^+TO= zf#58u#p1_TsYJZ72SA@&8sNd%em!fOb<5kuB zqoKd=DHlBt5=;H&tb>fb!=I^9Ymo5Xrs`RB`15LHcTwj<$?qW|9x>c|qgp!C5`ET) zV@k}384x>>59eBev#cIk*dJLZHmN@0H+w#;iYL_)YrrF_agQ4DilOlI3RPUAnk6$t z;CA6Z#nd)gQ`D%xOoq$XV?gioRIy(5YvHri@T2Np{c8OC_1>>?zu>;<+mwGF}-@McB8FSOtn1}13`jY|G}+sQYZWL|{ErZ01~OB{8p#XH8b^U=Xp2xxaDS_=EIv;9o4+G_;j)F*1Vvh`Oq#| zOSZyCHqKkMblr-^HJv$5X3JfcuU#{0B|5$A(DuxS;GXR~wS3JVJm2bKb7M=FW@gR0 zLol_wWUZ{1`)0(4>QzF`hzZX5KH*%(I_FzpK?ZFIRQWGbEyGi5?d93Gq$DUxybudw z1RoX1pg!d{YqY37M=d{FH7}BrcBbc9ROh98hUQi58Jy?a)7)u9xp9ML{32?97CvM{ z!^wu#9b%wfV){|r`QA`{CHk|n8Z`RokE`MW)F|3|Aujb88$4lSa$r!og>|*TtBpB( zR_%43=6PRsi!agib5(&c-Cm-v@W{SXy(m{ry-FKshKvd;=Kmh6iAONG3{Dv8G5;Yg_ZP_SsvwmuOR}r zXvTOC#7#$6g#uU_6Lmwxrc0gKf{FUTZ_mqe*;QC^}z$y=p%zE3ow!?q7-cV0R=NS@#xZxWPT^?a> zU*o)P-aUNt8dt7dbtEbUEG*5(w9y2Jmqe+(QdL^Y1s2TBG7JfZ$RU9Y&LB}GrgM1g zOKr!W6#SE#tj8{cejDUohzy17f4>U-9Z20nlun=XwdIffZ>RlVxMKN|#+j>k8G}pjH?Nrwr*(Q6p@zK*4>OvKWhS zL^s$tqg zR$~d>N&dY0gZhH1=GAG=`F!DA<~iqa&bib%dz9L_MwL0Tv>e@*P+3K9z0Z(RQC8+$ zt+JU~FTGp~U`o$IpV`pE`2BlTc}6YQE6ob4s<=0xmSF*thU1|xv z>_4jhj;gB~s>R@imbl6)ds)?Aaeukevd%=`Nk_!>d`8nn9T<-_U#$QHK79@v0CQvX0k~MdzZYI1-@^JJq1> z8G`<28Ty(-bW58V=;bdj2?PUSDzej<7wZ7e%t-?&BY1uN zYX+eRey8eBt75*GEmvZ%RfVQ*R&`B|8l5ANv7KuU@9fSCe+>Owh;dG5yzCBr5oFW9 zIbPnT>k2jFJnzQK%7()mmoznCZlUv+7OG5W;wAY%S(m&dR{4}+`-n>QOSP{aJxhhQ zL^(&U(VAhi%<}Gq9%g)ag{epNYIIAhgzl^K`>H)?mMx4j0#2_XYW5Y=YOG$Kqbv8o z@`I}sU z+u={TwZo2TSibg%p`#j`k672Zu1h~t-h0TpWe8!< zlxX-}Ra4>$)w#T=IhPOU@;3*jIOk_@15)T?3#pUWlnr8pC{@L@J{YT3T2)q0-R~Pv z5?P5_1~naiD#1A@hkmm1QY)ZqsKol9xO&d_=offG!hgQUy1-MR>*srX!i(Oxt_E?7 zt{GQ&#+a36H74FF(P1ouOFgv`t)Euvjc7IJd;BQOmS%XR!`N_vCu*Eu{FlPyJKqz$ zz!O%Z9t(a2HDj{w)2~ylS5^HNF#tUv6cgQ&K^!ngRMzy_9T`kiKCAXY0g4{(6@BK9 z7B#ZBm{IkFs1>&gajdqp`Lz%eJO}!E1{dgeIwRD(@j7ZxVW|-@RlQq?7PV3Y)do1N z8;BnzeuM3#k8)mT`j$ZN3F!lI^V1aQ@<=^H<>y!~Pi|?Ec}Z3!iGQGP(yA^-8f+BG zIr`w*QuMQZ=-YbD9>Qnz)2h9_#Mt2o`5fIAA$2c(lFaU@8*Rt^R`}zV=gXmA3;7qs z4aa@Z<5#c`tDBX_d_0pxasmVbb0()eJ9h#sqf-3 zY=s&&LCKi3K7hfS?8?jfF3tXhFYL?*1E3FsjD)!UO@{6q-NsFBK9qHr^bdVU^pGb@ z|E4K7vVRoAkyUE+4^^s#)t5d_wdxa|H--KdCT;z13JX_V ze^WZswNm{^P^Id{6iy}TOH|Ju&FXDnK2`M?BeWX%1XZk^RWVhpJ>G-K_ofKHB@ClP z_|>q64y$CV})p{7@>~S zZxdK4I8b~h#Hi9arpMT*ntRE5>M0eT2ei-7hr?{BWkk%Kjg7)QMKvnTuyMNX&GS2gEev)~~sb6o9iwXa8D%cxE zUvCs8lHdZG2|TGNJ%z_@-T`gbPM%=@-wVAg`#m9o%)k$9KYP6fPBpDyN# zQrVVVgAqAq&1B)T@1^iZF6k@>qo7ZK)Ir>GFbleK?4TU1!DRB1watfc`%s>kx!6*M z9jrX+rLB)6OFrS^m$5ektT~i0kjo(BJkQ?xwo0D;?SQ*cxGVkjT`H7PNCm|8cOZ0m+r1s@9XOFp0uI0w=%4^a=#Dr_NKRU z-+hAJZ|maz8_?f|y!#j3U*h!m`zZLN<{8I*U#I&ic0abEvz?v^eJ*4k#ErN8pv$BC zdd%uB@3BO-(XyKo?bjC(H&uBP5rpH`}QI+3(edRnQT5jy#up-c`9+s%~l?)1^GVoyZhK3vq zb|#i>3{`l_WG#sO?f2XAqQowv_mug^hCUNAn}3rQcfW>vb?Y;^X=79jFW;byYEUA6 z-7f;@8)@)Ct_eDRIPO1S%ZrkMo9?{T1JM5sc>&_a_h-=MaruLkPrJ`s)ec*dTo+%x zYT5D?_|U{zP!UyG^)vN0Rn4lEx1k3VyGAJYsQvIMfuUAgm>&{ez09`~le@mEO4(x@ zAm)hUu|G)$F0t8`-YIpLcb1<;&<}wugSg>38M<>H@0-|KezvAhw{Y#bs(FsHY;1od zx3lz8Vwl1GS}nmxCo))l^j=~gELr(QFepr~;p{UAi*~FQJN_gew4Lh~`0Mr~tt+sv z12PyQLnFs)i=a0`YI&Y7$?NTV{6g)In@)d-w_RH>_ue^rTehxwNqna4ZDcX`dz(&0ljOcSP0tih0|hnQ^o@dZt#9(hNLyrosWtyRB^rW*hB zeMGprL}syDRq>G!y-`~N&v8V@LZp z=FFcrV^Ms;{Fw`7>xv!6sy!PUh{kSKm4Vn&fmzkCVOWN!Rt>9u>WjR;?y$P}c;)de{=<-;~>+_FyTfaPX)uD}R8=IXrKBK;anS6B2 zOPzCn**zbB7urL)#vC^Lhy)_A%^g;CcdjH)23jet<(&f zL47R7xO=K$#86*#nAlxv!Q*7N22)9Qsp2>xH}%IJx1DgbBRp=t@nwV(goGjTkmnuc zmqr;O3)im3?Adl>WvLS@iej@ri{NGy?#XcPo3B2C=2&dT<17wFqQS2vdc~K&06x{e5 z27M>UbcpNUwb13!_A&S0i*$AC&m_EB+t4hRBl;Gx0R5#-UK*Nffpa-!@gx$6SjY}2dH$DHF8s^-DU!)#-3KhBy* z+gpBeFiq?t{;i5Lg_tDzdh)`lZwoKkPWUz<95D{($IyR;`2N}1zDiyW+_eQSva}IZAMY;hpEbYHZZp-aIoUa{xXtt{b@!;1 z!+U%wDo6I1tGpz}T2&s)H_04zsfux@sLrUHaB~z@UksUU{-=7(28Cujb5OFn|8u zGOuGGqQ?8-`=>gL@9xohW0nz(nciQ{JdY7`o!CXbe~tXLuIu!-AM}BcArN`U^N##m zwqjMo+KJ&5o$)v$J^7k`)7`GefTwhvZommk{PxKw`i;HK>ARclu)9_Q@kinnWsi<1N*W9ou2 z`gm;|iK!02d;w;^9Vs89k6kjRbiAgnSH~E*Od4a1os1t1TvMvtav3svV^b6sq&y_% zB5W@{L~khB-*+%3UJum&Rh?7R{s=cxMGYDu|eX+!m4#!#cygg4mZbg`;mq?Y)7o-s1( zeP*C>+sT1`pC+dKH7^o>or~MD^r&%H)HM{OP%=APeYWI4AY0o zsFQ-WWi*C16CMBa9F8z%t=)NtsnDlG>LFdjaR|73INEp3IPSQ)jl;1`2JD(Mod7OV zrW(k8Lj9ZasA~L6HE%?x1<8rn?Gi}m8)vN_`kn}?{if~svk75v`**KHe+%+oNY`*$ zHwfjQ-Nw;dR&87V)edXIeqLG4Em_@+1^v}1z(=8opQtK!$%L5`%O~g)dn%hX!}6Xa z-pOLPR4P_jZZh6&5cKOhO*Omi1QLVwqWnu_KfuIOHgO5ZJgiv@>Mx? zGwoVES$h~2qkX^xW8w=cPM-+G$1ckI+F*UeJnL6s{3gtOz4Iy$9^}Ke!LpzkE}y#6 zdx~b9s)g28t_d}_^q6bxS#J142L%?GuWR}ityfvEekf`;tNIsmeRHmMo@!ReN_YX< z2tzfo1E$j0&Fbx$>cduMHRP@Ig}g1+dTg#V1BO|m2X{ft{O9YXXX};c=t6d7 zuyMi`E5-hDU^`vRQRRkNOD)%ODyDgAtx`{^Rp|-H_p}SPyeR8sT;M9>OWcC>ILKIt z8(%j;-vrsRh2m*5uWN4^ceQ+cYpaL2YFM(Qam^Yud~R`}sF~NWrpulaw|uQ>SlPI6 z`7w=iR?BL@eWLNmh9&DzM!IZ6UArpjez=@cPt%T9Q|csn8YE9O$0M3=P*GNDAoEag zmO=VL)+t$Ia7CqAh7T162=6BXt;+l89_bGn`a_0sm)CncW}-Y#8Tz-fihf0yAIYUt z;rSfROc32EEL^^87zIP_)*T=6lws-h6T|q_K%=E&qxEM(cS@!98iwvh|LWm}$ExaK z*2qEo5&8?Nco8#9G8s-)bxZZASgFVO-s=habnHJcOG3fnVI#B*drE35bR?@*jy#1U z`MxbLO6=Cod8k>?4}`3MxasmX^iLpbIX&ET8R*|Zy2u5hs+4+`6N6J_`9 zxq-MIudFw_#N3M-V(uBOLU^CGyiZ%E<$nM>ug%Sx`5d<2Ai`cjqsI~Ulxeh?T_Ws7 z(|8Hn>@>Z~5HD*SVGn6C!umK7R?{WI3fo3lZ%jI2N!MedRvI2K{L8S1G8%TGDs(LR ztshc6ExN5Uo>o9V5pq7nji=wBV{@yL;Qiby?xK8r*N)<8cNtGaUOgE%@{M~CGc-MmV7;^=zJ=WrZ3 zyEH*=rn=T+{L}fcpqC-8(>adP_*}#2-&e*_X)oDfTB^USikF?0_M@HrM9~x28a;<2 zdIoXyEJ6Os|Ci#Y1@9gO%kup=^j9H8h#NnT-Y%5)ARQ-CdmTHCuJuiS%tveRWlWci zD{fIf6h+t>=enhM?W$GtFcftgx?P+a61$p2-?aEdJ6EV_af;_$j7;rs)CuJiWv07C zHhRZGHtG|qCZ3J?1J5MkjZ`9jvCB~J5e=g3`VcGO+pY3DFmsG1>jBHyj2W|_zOO8< zX3rNa<0Z>l5H#_}6_Dp@46%3&))A?gzG(zU8#&YSvr+nr5&qKeE&3~8HiW48oA(iX zwx(|~wAW0}%Vvogx*KI2)hTL;+4`r3&kBEKn7;C|fX}jqqDvdreL<|~q462+r|W2x zUr%X7VBPX}t19IU<_zm)qiml^{=F_&Yi?6(s+2;uTe#qG~Uw=1yXkIKaP5 zj0qehY`IV18*Hq_V$ndXN@MtDc-H!4Gp%{cN<8QvhlN+I3=QsKso1I(@l^HhS%nP_ zJ!|e4_|l`SZx9>QoGnYq&nexLcXakIPlCPyay!IL_lb83Wj9Du38i<7N!M9{KcxFo zEUm3|_HSj?S2SlHyGYa76XkTaeV?pK`JOQGcA{k!7RAv~=SnpYLRJMl5}@@R+5d$`=s5uksmJ%Kd(# z+=q)#rmnBISMTTT?G2!VIH24(#lxkh153GCqs8SN<+Tk*}J2zf_hpmB|g^7FjP1?W;$NqrLMDOL;Hx0wwR>hZ%7AW0{B4SqKsjObxp;#5=Jf~^ZKK*tEg-`f-Q_8nSblzaR8`yGhCkM#rP zj}D}L6!}E9KNId1$}W%wh?_qigZ@0E`}|A(`wX7yT7C|1q=sb1>eUUH=5!mI)vMMu zFI|^hgT7?9A7w+HxLPb$6Bo;E4E90TO224=HPJ-UPr}H-z^*W3LdnExd;sZF9uE$F z!x#L}SK>q6@R`s0+=nlx@5AC(P)xc%=oQtNOY{X$U%e5uPSwOqKK=EeeySFH(^v6^ z&-L34A%Jv+aS=CC+o=UZ{92;j;qpEZdV?fOWyzJlg^MtsO zyLT}(p%{{=ZE`>}ND2Q!?-jkTvz{FbeP_rFi2GiPp*KO4Zu>AIH*Nb~vNN*Zs?`{A zV3n-_^=p4wy0VF3)64&Kz4t@apS0G!yruc6;gWA`?b=%f^ z?ubYBjtb)6zITO+i~6qY9UX!8;9z7{0~MAJGIoMF@g#vC%OLm58Gz1h?jdMVETINWv_?yEg|Feknv^+W&5p= z@pi~s?rjd08D{W@kl7JJ9pU^#&4|5LHJ7R0YgB8BC93pLpa+UY1i7Nd3i^D%hqY8G z8u1fKwG&JGmIw61f+4-3bO`1JjW@#jn_*O_Z-tGw!@JKIDhBk~r}vzDgXqX(L=mhJ z!D=gHoE@YpPyaUH(~a*!{*I7wzFJXHEh@_cXO>zQm&&aHLvK;5KMv{bAq(eEL+BoT z7BW5$1rPV+RnKlUGmuE98M32%m5!aNYt;U-Hao(ZWc1?O3w-+PoeB8Sz%#toGEZ%dl@8Ju1C-S=8uzr|4hSZ^A%X@#zCXwTQW)3rC>KGIB0v z8m+PVnBaJ0ToB*OjgVPGo8e@TcBHwRFQS|AJvU@L#LdU@re)ynf8V8jmyGkgTRt0> z9@)^mq;Xdo5MzaOUW3fku9=!cw#wl$c3WUSr5f&yX#jf#asVdZA1xh-8I*t=prZfe zQN3r1;7uWFG9Ja>ATxB?kM4mErPmt@VFR(EEJnJbMmMlN%!f|zl|z`__xb>O5%Mj> zeXp?(V$BND{qK9Vt)zVK?nn8>75WnDEKEX#I&Vt8IXs#YN z=zYQ-dY@JqR{SK}rOTjS54i!N;y3wD4?>rR`*$I>?x)~=HCyL9aC>>89>LZZdldUn z<+ZZT%}_nC&#l~#b-pS3U|ugxvH#XXo&MKA?++OSasA&Jx;!@CPxZ&veI{M}=kXYp zT>gd)QTCC_r(OKU7IW+Z!)ID@7a06UqC!y=i{BsayXkou^lKp3L0tdug)Wcct>pi9 z-hb=3fR;Dyxbl4$|KYQI+%j(3y&^eX!wXr3oP@TYWCy9Vv_tohYRnma`NwPIr%q8A8b5Z;&~cF9?xi0gqWmxOkjwQKP6!F z#q6CNhZoU)psymE{Qc2=AEX-^ChyP)7={rr{ds{bVu<<`Oo=tbXE2VGP?el)oTAjR=Z#AlGmJX6HS5dT;5ZS z_tlEa-H5wdHQrLqcMx$-jyp$2+(k0to>28CRpaKM=LQ*dFQ^oE*KUnF&UBdk>6+tYIuXjQJ60*yao$)3x8B+;~{FmCnO+WDU${oZT0+X0w0L^oX>UrXKTKTHNWY#JUvDU@8L+ErAVHK zH9e;pclbTGVLs3Ev_{FZuX(65t%pDGjju1U4(ZeTnscT5A86KxT3I7c)-CeAs+n6f zqoP-D!xP-uI!&`$wX&!g=;PJ#_YZE?Mu@UoH0xHatf89fmw&7Ji9&rzm7~cO!uk6H ztK=Vu#mdS_s%7C%8~M?<*Mrl-XxvH{V5-zpUV+U6Mo&+5uovoS^czEct^Rtyv($ms z0CX-1QbGA+6Vg5gmhIvz&_iuPIRxUCtD#Th zZ*oK0zNdT<;qhL5W(WC$>hrDn<4npQQ6~dDOZj7l1M~&Hdj9Cy zC4bCBzL?ATBcYt7y9E{b<6Pam5Pu>>*Du89f}B6D(yff%)9iPh?!Q$xZqfByVUu6v z`XAPPZJ5;M{BebBZZDS2?N_?~wQi(*o?qo!+s``XkXB({ia`d(QyB~bwbKp#4E${$ z&LkHZ*2P9o{3QmOwm(DoPBY9i45MNoWt01K>wdi_vdLht{+4dMqa&NVt6K%VXG6cO z+2njDo7|316}OX3cKZLzCOx}klbOgSb2*zNWG=ye@d)LU0`fo#$B8ndki#$%};4Hh4Xkc>QK+z^KzV zTRtoJ7&fCBs1%U0+LK!8Ev9h~HZr4hRt^*1i!JLqD==q_zy2RJXR9?qXGJ6-N9ubE zTW%`Gt~3L?BMmKTp;Q_^OuU2x_?TTS_YWw;gndXucWY3Os!C79Usc-EsGb$D{CGJ& zay66=P5|5-XvGni68z*qPw^|H=%=<}D-VK$}1 z#rS^e59#ojWjt$PuO6ktrCwu$*GY$~y)qpN2GZeX)AOAXe%|18cn-;iba+)RTRm%N zkD8u`vCZ8{hY!&<20z39FT%J4Jujrgm1gNFUgI1uddidz4;j{T#vjw+nr+je&;Lg{ z%-$v)3VkRYiil&kJOrP^I1jQA;-<2z+n=Wce^crv#X~zvic)Pv zmm<+~Ympd*8S-&Rjt?(PU0E!i^U35m%Y)>=64ujt=`}j7 zB9>o`xfLYG337p}!_+P|JQo<89Gft67JeA>rp9AfRzPw*<0-w}XWZ}Wfj?ztcziE= z#FHMZDW0!eSL-1Zj@jE3j;D07piAM{Hc?6ga!GL8!qIbU;TRPWRpXE_cuhKD{V82q zpYQDNTnqg!$QKYdUDm%Klp7%fpQUsOyhPVtbN?(|wl-%cPzzSX4hU3LPs^(68rd!B zr&$=#Y545c1L;hf8m(IQYCZM;$J%?qSyfzt|99rrcVBPYJIlf%WtSpF$|9Wru7JHz zm!b$OMKMiOR5Xg%6^(+upb}d&YQ+3BG0{Y0OhSw?sEH*-u_VzX>hC-E-eF;}}8I94~SlE;u5xWOvn01S1zGb?9<~)9Se9SFjgKeqqIFN z?M>l$4ST*zUNRGW0dO{;$LkI7e*){C569`F$gb(O`u)Z$l-KOFuP8Gm(Rqj9W&y{F8w0{WZDa%la!^|No!+>zw3X{q-0IxYqr?`I2ydE9kGwlh)=W{dG;!x;FW_ z{q?=1eQ%Qfx;3f#>smi{b<(*u`TtLUZR!*D*H!dI9et?IE%$-{4EP72`)kRsxQ7G( zeJ;?8=vjYpk)#Z(FjZlh?@amE=3)acTTVenC z0l#gH(|=dR%~RY}^xntGz?{TH&IwaS}?SYnSgf)q!>8rI|yCV9xLz|}m zr{FIE{eIm=|GVIy0vAN~lar%(EZ*jQ`9kZry6CUnAs=)emtqI8EgwhCHU6aG=7G&t zE9;HA@CIPUtg7Meh+({MAWrFslHulv711v@aypFo#2+!6y=7wb3$50C^Td6~3 z)pMzCdaqaFj$dJAUrkxBrEFgRl(Jt>S#PB5M9fuMFYk=BduF8dVo$efDr1eYT&V9V zBz*M0NgsWg(wfQa@6zT==@HF=j_ba(b${CC^}%#Qd6OLL+qWkoM*B4G|0m_2nYQPa z1j?-V>uK+ubfC=oM)AFr^?u6c^~03+LCX4PD(Sm@-10z?^+VIT#YBd^NHnO^@k#q= zv04KymX)+KR@z33RfP$mSsaEIYlEn;%1h8~Hn6wGt~*U=0lU_O{=2jr$Ye&jNo0G~b%P#nuJr&bJSJ8Q(@yqT`*Zjql7_+fdnN@5-8YXGhfc zF4(;SR{l@M`ftYO_0!Dckd@zyRI}!flm7q7_&>|o%OY0(e%AX@sFyug6d%r5Kgig; zKAQ0!$yh(kBp(y*`y%4z*G%i<{}0@ZPB!G`YemG)_y4c#+&(nq=e57<;)6@TzYA;! zG#~sL{1u=(KYQKmx3pbBu#QFB+m|iG?_`^PD+7jpS;o&xD~5hn53#&?^Ixj@JZJCG;4p7wb$kB&$8~BIr}0rc9|LQ^LKOZb-6A>gqrW0u^pzz zqTB-`grd{a3Kr$R=B&Tvh)MGIob^r)W6E^E%g^Pk=X3URIp>Akba=VVx1UN!W(J$n z{*}4pbvgU!$j0E~oVPw7EX!-kFU(mRa~`joa^6Kb_mW(a7^*)uBUXOjw6;r$w4%4{ z{4xszEPwV|n}@SD-=ny>w92YHJz!?1_MwoOtzd1A^_mr|%~M&Myg8oJ=gRt~;vw>IDSHsNsFWR)?zW#z`sVeeRq}*N_6k1ggY@cGC4FeM-ErPnV@@Y z*v^(ebhWbsd9S%9e=k zUC^ZU%B$8BHPY+MJo}jtc9rQRx2*7eeIs1_A;nv$H8HLuA^S9kG>9kD{vdI zcYpqZpS$N7x!|k%GYoMt%a}Nrj;ksN_=(~rdeTCArV#lU@{zR6( zC?(E^>c7Z~%P{K3g>?4*W7j%&1o%n7w*gJ(tKe8j8N<#C?MlA+c=&$R*eyYObwBp* zqk2-i)#^`|<8{)1=_US%R7kv3h*Rv^SE@)0X*OtvH}G z!}&e=PMH%gDaMAEd2&E=eSfT~n%%7HxAHtD^@H2 z`Uz^5Y!T~C6}V#J&8D#nceyI(4r!wGQPxZoEw$eKiDf8^c+GQnPYLPRKt1|=cs=+X zz+Hf*<1uhm_OpNa96F{zN4{+|r(0``YfL=O_|R;?9@4^-E#XRK1v3sCtHAokXrCI^ z@4eQwzLhH+XascqgTYmKdRuhwj_d_ACofpB{FK=PRS)FnE+zQj#B+sllhu&w>BRDO z!FOtuLH8go5IsWM#a&Uo>r`DlSMkZE;MW0L0bTDs;HrF4T!X0ID4(fHW#lnj9j1`(Dn8LSLG|}4cuAt?SrYe zud4SO#$Tv68Pw~jdgl-*Rn@yIs<)Hp*738d_bl*@z{P;B_j+(uzM|gX5h zVs&h=jB|$^q$ZmxndxEuOL%@AKdbt`4SpVQA)xEO23(b|s$Yeu1+U%}tYSA+up{M==V$wxuuuKx;fRW?L;<exv3g0AW5YOJR>0|V4+-0QB+sqmxvJh1!A}9c4(Rrt53b5r z)En{nh+tkb*yj+Q(^VCxgNl=CRhcWR_6)bNJF0&t&#&Y8s{VJu{|$T!==xJ{{!jJq z#qS4ce!qo8buRhOYd_Yde;u;A??z0=oW<;HtbB?I-#ius6R? z8L0TZR7DXDR@f|YE7WRpgV$tX6z-H;RaSX6r)pk+uTnt3mYGredA_dyui*ayJ_B_9 zxwpgmuZ{c>w4ao&e_jv?Dx#osI4X(3!1n}tiHT33u2m$E<4BQElienio@D_!5gO$; zh}OvuyJv-T%%vV}udy2ZEZ|%~({T;BDkEtDk2bw7L){5!x!fUbWlxGG=X57Zy_!>phWqJFqh z7*{D8oHA)+u2bp;y)fE3hF<7AJZeABujBb@KKvWp{wwQ0pzE&(SLL>D{v6uQcj=;e zSic9&&(A$(j+k4V11D@0#zV0#`)a(9Bmw}DQqz3ZMf4bd>$-nU06!Es3efbd0zVzNKl0nrdc0@%yMHZP6hsbc z?%%ma3#OeXHL{PIY=a4=>zRB%D!Yyh`*|lc>wD#H@DG501G-)6>+!!6N4i^l zkhk`W57O1H6`geSP-8N|j6|(5+a{t4dLG9_a)t+-x_qn8!%}xtNXL=Xp~rg>_*uZY zfabRy;HvCr-yNOj!^{}UL;mdG%5#Le_pDGa8TFz94NSYnG>%s~;T)DSSR~dJ{3Jnc z(nROU#>)$Kg!}Qb0)Bs9b8EbBVu)SsCj)PU+l72JvW``B>^M54JM&H#-F4sx00RI` z_t(Hx`69a4EZ3B`96La?Oc?;3KM}@nkQAT-a|k&AS;W$oxokdBnGGWOtrJ}f)}~`Z zI8k!!%Q}K2sHJnatKh}G z;PPo7vsO`mOlG`-hYmij!XK3|XgzVS3wnbHMKdw~hObm7Q11H1%i zdUCr%dj1soN9grqZ+cb-1nr&I$C`VeqU=}drGZ=s)9x{ip9S8bG14_A_9Cy~6&&9y zk#>VqTkRAfx!`0}Do2^}OG*nxVu+t1Fs2Qu=562ntrVIn!fljrJs{|^2U@LxdJn|belt#`3v zp!O5ka4I=|O}kYP6-W(W0tTvrk@E3i*hUfAZF0m!w5M%u*#0F^J!;?iCisQG^?<5f zt^1kxrBMy&eP55;h6!8vZP#+D!qco+5D7wvIeNc&kBT{Zi*pb1p&6UxxYYP<>ZKAm z%O;cZ0Gah%he)C#=4ZTwm(0WtuT5oHLG467O&qL33fqYaLX-0^ZWR(Wc&`(i^kR`J zX>s}%+~T@-qZ_KvVW*3wozE|-Ge0Xzuk{`eT&`+&VV$`7UcW!fkE%3a9* zr?RAxi1V~nV^!CvQQ9OfK{knqvNL#n1TRuLXChs4HK}vPFE(y+no@Ot5UDqm_ujIS z#6F1R2NmQ1-4w6S>WJB9U&H{5z_Z4aSoA3&UoH7)lUBy-7xxRkRi<21 z&a$laY+OEkThW^6J6BdFdzP!$AmwJeg+c@?<{NOuH;lgsB&G)noP?3qn3#%y8)$zIa90!mdwrODE#6)Ai}% z1+!N!UA(wsWq(%Iy*^hSe6tY4ja$Z9x$EomSFBhzkQkKk1=Hn15lokh!dY`~`1Z0N ze0WkYg+3OolUZv!8cK>GEBa)a{HCXa;n>hN`IReAOlJ^3N!$dP>e^bF8&Xt_m(hcd_3GRe9 znR>y~ULiq9GiLV3a4d*R`!UDb;f#4i_&rLBE}LR4YFlDs^6zSaOXc)nxxo%?)3!1$ax5}RpJ69xH;ww|7 z$*H8$lBoi*T&mJ_xk*_VVPLFS@bc*rw|E447F_R3OR5g3d{k5os(er>eHr4Q>{=Dh zi^>1$TF;IJUjnQK^gQ1TelyS#-S71JK22;1o}*{MvUw{PckEfnI{&DR;AY$?2EGy%p!Co4Vw*hwBG0;nNH7JrvNAZ?9Z#I(>Bzw8f*S=knLhsF z-wLT_pIsBu{Sh?jb8`G6a(@FwK=4IHdo{Q!I$xh&hc&$_9^L#Ch``U+^X3pfYR^=$-KWxx6&|I#(fSIt}0F=s}H3euNv zIbZ-4PBgBf!fI7vldkajsJ>l1PwzADt9m}hP6W{7(g(a1=)TWPUcK)=Lpw=Er~*82 z2w21+Kt&U+;UF+$RDHIgrM}p3lyO6{iIY(Fw+X_Z{f1C=2mCfsd?DeQeViJ#ns!*< zQtUX2giI|+gO3W@x#N^@9M(aDrt@m>Ex?U{?w5PORq0NrzL$3OOB9D93hq0j-FS%3 zK>Y&W2VZ9&mTwQPK-;6y_2IzYGg9oMieOT)o!jSU8sU#SYv1&w)HFhMc zxoDF463we}e~lb|tI;?Gf&Dw9`q%P&eZIc{{8HcwK-YgAxGLS__jU2#+SRk>oz%HZ z?T35#VP~>B(~zdQy(4kIu_LN)H_y}j*Y`it7y--xG(UU?{9>SceAnB?Z3*bm^(rUQ zjU-$z7*O<{TZp`>h-YZ)t%*ou%u?08Y zPiDRB!{qhbE5P8B2`-tBB)tKilO+ym%F4+he@e0W5yPNeVaNEH!$3G1l3_^$8W)Pus&s1M8{g{spDrw$2RaCz>9z$ zhryo^vk}-C<%9Xi4CiBF-4_0;tAo4IvsaYA-hH@xO$pMo?n!vCPP`}8wfTkME`17@ z=NU`b$q(RUIH$F4pxIh8@H6DYsis7VfJFH8r?TJWrpnHEi^t*Dx8C+sfAKARh>-gx zJmP+Nj}wC;_r7Po>t(IvqwM$z;zp!oeXOdO!7`zMh}O>b6?Ri)YY+!O1zh>FuQx z&Dat=M~~m)1t$@(;newag7oHf(`rTCidx^8J!446f#pNo1AXH{A-Dvr4Ix#41*SP0LpXHFd35y7ODNYJ;tHnH$JntdD zZuxfDjylFe_y2J4iNI7q(7UQFi@;S$MECC5-R4a<`W4l4=gbjvCj!;R?59;GNe*64 z#>*vC5)wbztX5C*kEC7J=gG279;kNm&eKDBwo{*`=LPUT0h?>{2^z7Y$>)RUukb1?xh3+PKB)edKWPIluxy z({nPoDqp0xR(kV=1P#_nb>~i-Bj(OAW^Wh9ZnXKa0*TgSOR0e>IpF30ctMRFnn zfrPn?3F~tdYs^ga_l*zbI%XLO$ow3m*9?RpxdXiK~_%KUGD8)rfrPUbBe{KKE4z z$15u-ImO}>lID|&qC+ND71c1Uq7D1yDn4P(lI6Ctd9AGE^C4*`2nTqAz`{tMrt@&M|7%O|9DOcQry|vnB;e&AWl<^OQHIAtMW#%h+>z5_gKc)9_KK}cBE+4bXFn4VsM5(MR zG~Ore`_;|hKXjmBWRdb(!Y2Y1c^HzOACKj%dPE#8@K0T;5d#*!WOSYv_HUinwXY5b zp8!k&bpOr=KM~m3E#FL8H+`iN(nkF|iyl=B(|#OR=*IQ)>-O`b@u%)K=vCwYd+^VIWUPz6mEdOq7j&~% z>pfu$f7LYrd(n4@mS?bZ9~CUx=ZER2!gc%sJNWEuK7;aGx!*cBOFQP=WgF{oVj!p) z7qB#1LCdL>_RYe&1z!>0JIME2CRE!PCMRWYulPF=dkF_LcIT7jz*z4Ay{5&GdgVDL z$ijBvlL}i}+eLjkVKpOviz8GcnBiDg#j|-v5+z5xEak&es0fk9tx8OLGgkfPi>8Cl z8xa@Brm(bK6!z0w^npGf4e^;Lz$Jhl$Juc{0~SVkxpqWxsV6Vq8aznz`201?PCPg~ zhPSWmI6|GuyE?IR4T4rq=V69j{U@a0n}6_{MM^QeIuzwfYX>gtj|;IwoEW^aZh@Bt zum21)4?G(FzQJf5OXv0%rSd59D}2*F3jQa!1DS-69T;mh2li@RFF@RZjji)+*Qqpq z<5dzFHT_c=djZ{W#V0B&tK+Wc&Q^xmp?@(;qwTnx^v_Nz?!<{P_ggZz_Kxm4-jAjI zlq~*J7Jg;hFWUJhOiPwLX`)koPQ+_eGA(Ic?#8Zi&C5BUt6;bOCRd)z$jgmVUgX-F z+>AXsK^TBUjs3LxwzTeaV|Tmmoq@kK-@nC`-&NngNy?jD`xd@G^a%g|NcV@blH}z= z?lMW1BuAJHhA|e|U4N_8Jj%)2-;~pFm?w%Q0;Ga($MT7acts{ItfYg#m6_|6MgEtU zC3f+s3PdlZepRf}t!k_!$$GUUcHp7h(Wrp)&ZQw=7>TZPYbAIiFcQ#wu^D_Tur@mH zY|wc>Z{PAoe8DtllT}ODI`Ou7IxAQMqjiHCC39eN>x^i$mK!@`DZjAQv2Sp!7^IgZfu?Bexm#J zBXnI;vLx;`j7v$i%QR>}4%LD{qLz-EN~C+!Yj$T4%+&Q8W2{4$hyCCsyY`Wu;KPAY zfbNH7;HLw_eifdtbpG#$PT5yZsLokxojbT|o~WMKBAyJ_kl6J~U4sy+@#mKDkgv{O zM3eW@gqbF&gfuUVnODW|Jr|bM6ieZteKP7bI05~dVQdvhd&|+T9c(r^tpY17V;RDN zSJ<-KuMFGqJT&Tg-ZRDd6&MTXcAO1<5zzPceb0%{etX~X)azl8|0!ItyXJGW11_6) z+KM%MX<$~ZnNM!S1*_+Gtq54*s~dW0`%eUmeGi~Pt@llKFXtfwmpMI+OX5w}u=1(s zANF`Ib!R51EI;na0kh5fUewrhP{|Fmfg1P%mr|0t$Dj-R)8vkUoX z{Fn64IJIl5O@H5x+S7-NR;)yNtakOwm<_;hNKTeZNcJ-8=P~maF&p8LR4ME%>nW8Q ze}WU-z7$ z77#yqb#VNp+sI(w2z&@7X+kDgcgC%4ag#YxVtPb!x9*Eu_s5l_M@kfIaVo9g=zE}N zxo}@lc13jVhK4#mQRf8~Ok)r*6wq`o&Y8w)pzjaE`SG{t{pE>UgXic;pvQJr$LiTk zdBx*f#5OCK-9HOY2)%+I1_!UjA0?Yg(v7j(5gwL2==tZ1^a)wNvdody zH>aGNQbZ6ea86_N)pF;WPHK=Wx4bG$XFf=IpQd7#mx?9QWRzDY{q#$OnQGvSVUc#g zbgW0R)}vXHJ_#`M(X7j#Rrj>Z$Xg1M#%{8G;O{ZOxHr-zhhTkYOyD|KbM>Z){)rS{_9PbDopHyivrMXau9`NX?* z2&8Y~oP)#M9RG)AW&Lq1eeOZ-d1_v-^R2s?;$oQkVYF-%OYk_kMR3%)gb=y}-7;fi zh*eRRDoKvV`#6Wtrh{Z%7YcGoT_?yB*p8FiEy&Eag!AVk#&}r72c>!D63_~0K6nuP zDZuL{|2T5OmM`OjN#n?|yI66<4soURxH{F`$9aY&?_xyY6+2OG6q{wW&(fYLw`x6? zP*rwt1!51UMX2gHOEhTbSM)l*(AdTY0RI__;7QmSko6 zC^w$0?I*L}woB2Jk|Z^N7_SE;TzWJaoT-0ilAU5Q>E3=DR@|SeCf5J$8@$41Rh9y#Jfi2%YYw+sl|9%#cg2AO(9(mQLkSAo&o<2@DiZMZ&QhB zTmf{Kw|RGL4d~VLnD;$nW@Y{(xN}{IK;Xip@lTRUV%Wz(SXUR#%|)9O&E{D}>w==g zaS(GYW>3-Dgi9f-_QOT<(PG@fG17|-x8GqL5f-uF^}7xh+3{lzn7i62FO5hHQ( z%cfWBJ;o(hDLBtz4Ahy~6qrw#jU4)t90QJEeV9O$)O^ZJHf79op7o)L^`TFRS!^#e zOAjQ-c5RhknXNIaXV;mvhc!6$e-n*9`TWeD&Apvoqe-0Czb})pUnfqmlLy+ZV+NDy zUqU|>4M*0C= z{~|1l_EeuoOz0U$&NS{7xQub>$X8)FqP$DOwqGPhctXaMdde&Hd}fHx zO{X$nX$JuquN2l%ay;wBy1PR9c2U3Xmruc+a?|huOVDaqK2A!jl#Pa> zv1@=Xkv+JWsMLy0hMubhCEY7eNEyF)rUsYlD-wt+tZ{1njZ*0B}n4S*%@Md$Os zhwo*dV-JQBcICWf&HV$zuzio7tF$3hf0ck@L1+@CtcYLXLbeWnP4!CDINvzB&p~qJ zM$eepWLY=a@9H&O|Ej=%F5c5@0SMC-=3RC$q; zn=UPN6P4+2sqd#S5wa^%vbNDj$DLwRO9NFh@7d`*!A$(tDyvLcnDUR1HI6+gHj)i) zl79uZJ?=H(vVV+RO9(5{V>~3p0lYQg^V}}lyrNQ=_QAppx}(y0Z`i+2(|5Xm-v<8& z@G+prxw zHpNn;`HddQ?CeUF)2FYTE_;eYQHk?IP&VBc(zzBo>i9&h6Ze4s2>2PG`M{_$jXaQf zDja{Uf9d@te4ys;zHG4PG`)2BG_>{s!ydVA!6P>aKhCWbj$Q5rE)3s!dD4Rq385RkwqS@k%D? zf{r!xfFHA_rvaV3$i1Mo%*#LVm|mv;1od9cPY3k_eXgI^myz3*~^@l zkvcJ;?s|1-G>+Yb2VsyKO7?>t5fgZMyNArjddRv=UKR{vIDX#eV)Un;-}Z1w&o1iI z{P%&XyVf);K+|&oxGGG~|AUaOwbZNWIuHCZ;7UN#bu;)^(G^ma zZyP>FkRjbQj$LWoAsZ_4EaN#@*@F#xA;FY*qqIK~*1MbM>hTeE?2SMi(Dhb=t8ziN z`_EqEGcjabt7Y5(MrE?`3QM`-8I^-6(C5{&!fSormZ;t(JXg2(>)>Yq>j7QwCE%)j z$v8}$w`N&jZrC|~g=ZW)$9Ri1NmbkvY0{9u3>Oi|5wyqna-tg1hy!7tr+% z09R#lB=^?q?OyGj*|Dl)q5!vLI$r0=YHn*38X=5#G zlAo!SPf(-EbU%0ipJZ%ICR?K;`;zv@Li*NGe;xHJ`Zj^z3fu{3`d$QA<>?Q?_0fAX zeBX<{>4DId%hd)oPd16g!Rz|K`2E-`EaN6t!Ek(B&n+V+6 zsO*ylTW<;av=_5_U2s1{AM|)gXYYotdsiFyG@u>Oblw22%4L!LSa*H!$!j{+pxIOj z%D=Ai&U4E9p~)%lcusl8|IiAKxv7GZ)n{aXu1mPFaiu7dVs;Sr_{vGfC7-3b1|!$y zCpsJR5Ou9Wzc146qp`8M@a>B%&^Vx2tC`;2w%_`5vgN!gp& zni<-xh9t<4Ek{Y)&il1qd|_^$hxm#kM6N95aNP6Jj8)4df+ueM!satIj7kU`Gt&$v z!&iQma7#oo?pp(@2g>wJ9HoNC*RFsks_jLU2UM23YC?@t;Yltw=~o%(eDagHp)@%=+_owizj-@Imtf3YY$#m zC*OpiK!F_-+}hPLX4ZJvEQxV$Dv^rM;|ei@+@$XcBnlfz%HY!UpzQiZ$OmsR#&vw6 z_~5_b*B!{jRGkt6QxqdE>dPDw$o@M${~}ZFs~*1N#PU6 zI@2XfY_YD4v{A(E#ea$oQI?3WvyD$iu~C7<6Kh3P+MW;Fw*%VszWRIczXI<9g72s{ zR`w3(^-WP;=DMHlyMMr{OVqiXXDBS5I5TIXYDuZIfRfF0t=j6 zEC@(2M6L-)X#Z8z{^TcZ1?p-R>iF{X7?^`@q^9M0mjVw?OX#O7qJ_+b<_g;4DKI{L0g&p(P zEbhOmV>MFKj+N@Fta_sJDvWP&wu4LBUlT(z2Ofcenvz$s<|9aG;2c`;teRXo@yW2c zO-;$n80Hj}rCVQlX)v{46EY)?z(3*FVLxqx7ClZ6gZ~Wp1)%$>@qlogv>Z$Km*x{? zBsFdY0+JQWmUXP0wHjY}d<0ixQ9153R9%YbP2#RFnf4>RLHPMD!A$Bo$5S$;a*{uY ztteiokZy*2e~3Q`u0k5tCXx(dXm6r{vD9@^<*`E&MH0VhtV_MPEcQ~D#nxO&^3buu zR(!b4l=I{VQr#$b?2PyT`gQv*1iu)#JZh5~lP{J-eNMYpcAT?dFNoc`@tz6|M!O5drDteVA?w}R&ebcHtHH1`w@9{x(SWxX zxJG;DgyckL!hsXb35khAhE@;D4lNlbhZcqnF&^}@CCVBghSY_t|BbQaEivcn7;+g@ z3R&r17Bep{na5ZFjHu|1>3E*O9e0GKqH{SrzubK_UXBSS;zIgRRnpy zRp!#!Va7Q~Lh?>-L*6~ReBe3d&W+Xn9o3Fges(_DWaZPcCTBVECil0V{gPLP&aT`n zG!rdI4)If-oy4y&nJ?mIQCW;te#c3l>tvmrsEjvA={av%I5ZR1 zhT-<=2GxqXIkimM2ZXUcQ4e=2-&4}x(fZ*k+*G|hKd{h4zVLcT&ym!p>Dd5&C2%vK z`6$!M{sVO1XA{Q0e6)Ch(y)gPzcc4SUDwDjUa{&_0xK*GXB$$$y8@~9i#8I#_Dcos zn;X^3`?m2=qTVVg^HM1}#&VzXy{CPrgem2_i4;nwgoiztO#7)TVUpi^CDr*1#CisQGRzUa5-@!ixwERKG|9bWt`}WJEap4wrf4GII zD?hD1k*)VlF{o;AdeE4`2L$`@OPTtCDMB>(-1qaJB{S<&gL3`(x!TWVxObVg4YnwI zo3$6U%0E%wa}a$O34a=QYV+1j_$Z1;nQd}zoKD439KRWQzm)m1fb-DB8KniuK3Rea}y4spb@b+Uh|UrE1l-Ue)G2}bHS0zQg4F8cfuxeMk6Nwg$6S#)X$??OCWI2d)0 z7e|fn5KGm8-{TzCY{luUoEa92a;p?&;VhAoQxHDFBE48pzvgWfE`c=UK);7vow`LN z8(`PorqU}7!N7%!Vjz(0!>Ks{PR@sVaTMD;^ntumF=ni?8}cpBh=l8}$i}i)=9wTj z6e_=~*!Dspv3p*?V+P4%PooX9-<^5xaHH3-tEw$ z_tjUy-v=s&b!q(t9-IvOc)UGA8cOPxU&2_0mUG8c($&a0j zq}U|ilo#Qq)BczkR4UR3c5n`gfq4ghsAgVYb{lh03#rFTMa6;do5n4bNS<;7Rj3GL z^DPe)6fasgn(=yTV_7CKp)GS>xqW_l?8;*F3-4!Td1C3fOw7FBe0&;j5KOmORG^thbD4W4fv6pR86)u`kxtUdSkJ$U zgjv2>vLW}lR2(A-Id!38qpw@54WrFGIOyN@;a%f17n~#_#_53Or&qvt1Ks7y&wkdO zpVa(U?9%q0$ujqb(mS`mA#;7ReX#T<(nrC%o`9=0^~h5Tj_cS={**PO(PfFZEiP7) zWHVNZMJ(;RUX6@BT+#Q@3dd=Dq9XQeh3%x6w<)VA-GexSCQGlWE}UPTk0mDfn^ka) z>dKP>1@=^l)m=(FC^4(OAUNW^A!T3YYfPLWh<5@BVQF*1_D>$s)&8TvmjWjN>U*jW zZU^e@heXD8ww^p@QNtux;B;vAYIqa>hMp!dCB8~N9 z&PS4rB_y8$J_*?CMqw19CesM{hd|O0RB!BdLwY}o=uzjf+(FDGpa#(N4g*(3?@Ri< zi(aJ`TCD~v5Hcvj>&_PHuzag9-l(gGK%}lRPFB1OOQXC+e`PzdZpLAqvOI`(md`YC?aUJfp`Coj z^_3_kNX(`c0fGR+@e=7KwwLe(ZI;l5Eon7~ctQB?DwG0;~?pM{b z6K675k$C7N$_aIr!&(Oq9@*b2Nyoe@G8QpN_4#s=n_*QX@9!F*b$&?SRZ;zlzB|Al z1bzT$`d*HHug}Ykk-uoy_$=vIMvwqCF74k}_C!sGK;38La;t}#U>sL%Lc-F9uEoG#%%Gt1|lw{LmMjw0g#@v8$%fQUkO}JQ%7jM+Bot3@g%kbx?Z>|&8tD(=Vs&8E??5ADSujQV_ zG06OZet_gVin8;-uLZ8M!u9v*D874Qf4|Jx$bJblwsbja;Jq#)z5A?IznHONAri)} z2=$vyWsP#HJl!`I{Z$+@=Gcc#<4;J>W26D&UO^#lMR(2>yaMcZapC-Dr z3fj)4BR{q-!_z)={roKiq?{H3LckO;Z}e2mA-;)7TRnv>(q>)}Fi9>9-E@rI5glu(NB7Sa;9G&40Zqs6z*YGl`e%g_ z@=xnnqz?1 zzVKICj;g<)WWd2`F7Wer@c<@UvfqpVh}3_{@*DDd!1{3Ah4^;pt;bj&TcxQL&_54nG~JZhGV( zOyLiU-oQQGFNqCT4XY~)`{yItu8QiPrV01~0d0WppVPq40rbA9?|py!+;h6>pTKvj zYv~IVh3xLD*90dcr9u^*Z<;H7W64Hwh|@mj5WoF)WCKLoDfk%#5-NsY$s3;YXN+?Y zH?Xx;%FIsBe@f+blnMKnf)j0Jb-MQOP`lcuOdfiPUk7Iv; zE~kv3z;|YbHEMvuV$qjFL1P}$`DFOee!DX zNna8{D+6J?pK+IMG?9w)b8&(>4X2_b%p*BKKIA&Ly2R@B`>wDTrYkd(Y=Ujtvt6t5 zBxdVt1U`^BS6@z26){R}ey6|!Hwye_Um+-)4OKyDsfos)HuvTeHU8;Iocn=#K=;cS z@QJ`p-TWkXcJrUp{SvUY>YP9+oI%pKWcG39@l%a$Rx>^ssQj(u?Us25UOlE)Ez?M9 z0$JRtR-Ia8W@E}QRS~!=qVFo|Rz=bG0QghDuK`V8d@?ix>moayk-rYd?Ef}?O1kUxYGyh2R3XEaThGu-L!j1!Dq76*3@5=!lvCRI#IxUUNP zHH<*GFJhwc7s0FhH&KEt$T!vTJ+FGauN)#9IXE6{k5Px!D^$MWCKfT5h4h4gD&}8Z z*#B#xUGwEd;9G#(0o}gegZ~w{>f^9oWgmv`Z+$`kt9>z;XwQpF%;$u79zoP|ia9?P zQ>>|v<9B7(SEb>~Q7PnpPNt$HQNisumh!$Utm{OLU*@zq)rVA!h!2^B&19tt_;D;j zbmn5)I!JB^LUa*;!XhAJTa0=@uP4CwvfQE*jseCQ`14cno|XYqou zt5iTW+zD1JQ2f(*ugOB8>LBxT7&_SJ~9A@o52{1k42V_}m8m7_cdd3qL!`%e`&C^>MHE1v<7Z;*h{4@}~$7 zaD_gXH-_nUv)1=&%XTy3UX#;c`HFrFO>(jf7o+}OBR8{xSDiV4J0wlI-V0?xcwiym zL1|+q0u%LwEG8Rcg?_1Qc2Hr-S;FZt0a*`cO=B716bPZUUWh9>Ia=2;|ByzQff$!s zH}wwNo%veVyz2wr3Je2uyQhL53h4b(zxOq^1moN_u18=Y$f$$*Ad# zGa5-3P|f7YT<FF8$jTg!5lJQc3 zE+h7w)AX|A{@#hdMWA^lF30ThT_^q_O-MU~WUiO{YbX7ZV-xx=tqe)~${z&V(;Nh4 zWSSz-LKBdVfTB{ON7nn~xXb#CSKsu^;6e#V69xfv6T`~7+{2A1GSth9ix3jXs`*WT&Y zSLd8`jf*ZY=5d^U&#n5%#e^Zh&O?O3$`ObzF7n%_8&FXyxoWK(F^;=CiTcf=Owo55>3czxBn-eICmVT<;Gf0!IV?jib0`0}tY zeiR=e(+4@@{c+BWbS~!QI2Gp;X@U?`%D&z-j4Ls*EghCD8DJ({ClO1wHe z>}A*vALq|hZ?pV~>P>aVkEM08_y+D2eYn=^m($crGlk=dkH70bOw>sCpha=-5xyUT zim2>v3H#?N+OF?)-vj?C@N+<~uce1X>+7)a{(f7(edVaCUly$-z22#j^@fT9{XrN7 z`e__O#CCa~rvg7OxjJdwpBRc|8}@7|5A8@RhChW&tSQFLz^NKn+C$}%^M{P(J&{2m zoR-55DeF9wq?7R%5Y*QzEd5KGK7j@zXYORV8Es9J-?qmPj{6MZe%l`;THT9<6aCbO zpR|4TrlDbbH_;x=508UC54;9wez>w7xgfAC@}qk)ir2DXKYhgbmGkzsIbFO!3HzJ- zuU>iDB&=D3pxVl7{V!n%@ttvA-T_4J!i{YX?tgLGM@-(=%G6eYuEj61H+RIa}nv?IrD4>pgg! z=kACn&DL1z(7Ks?Ho@v^A7J&d{@&${*>e0PT*2nsHc))_+FEaW+sY)~BcACmx^ zFG!M8J%9v3tAUU@hW+jx+QnxT;JtuhfbREmz%K^=)XjhKs?YED8NpHT43wdIBHU%rgnqG3lKN6wAJ{boS|4yLU-t9)%o9DpUta zbBaG+Huw4^=DVq96Nz-gBMJAGM9|z1h4n{F_Ekf#h6Ba#)upQc-t8P6wsSXasAG<) zbEP>G+ee@X=ypy5ZwGdFi|5pP&HnRhzPiq-hVBw?%Rge&wd9y_*7$9>l4a^s32xH` zEAdF$dNi%(l)7Qt1)PwJWC>-KRmxBIy19mv zr7LC;`L*A%gZ$bD2d}LvN&J$@w9C#*eZCNWqdjo53#LAR0czbT;oL&rW(5Bx4Ettc0~bQCHIYvotaZEA!uU zOiud;7X|-)1i|n_!u~5}!p>h3*lFJ$N88nsydaKA658qmtYe1Q!=|!Pp$vIDQNyusG#z=om6xVB;!xH2%=jC4;~-Vv4eWr_(1XVl*3G8 zK5zpd`AktT<#6Z%KGboGqWjW@UXH67Ul`XoK0Pi!-k)MlJz!jJyanG~MhcL8la=rjAEXj5<|~L2 z_kPyEFj2Uy76L@Ym_sWPeKeGpLh(e zFC~jbSvr|3&DP`!StnCKT2zxPBpTysrB^Qc`0yW4KpqtHvD0<4v^y-%PY(IyEqI`g zj})JL3SM~xx&T1)$x86^fG2l_>qkqJ5AL@8*Y`Cib?)&1D1BbM;|ABwtz0*`buJHH z`G|qLMox)MUGEtW7U~K4Mjmq66Nl!QSMz#0_NVld0vpen?0wZ<68GsIm=QvFPP0YkS5}&e zw4VzS8h_n73{K6eMF&0CAz?rEKB|kJHt?yyQGo8pZ-B1{v>vi9@?%bPlgB6p(Vhh% zplXYFmasrjwS*0%bV|+Cp#=CP40lOA=WXW816k{#Z0S8&6(J3?%R90|@60A{Qh@+F zt;uB723f+MS!&goLlL$V6xGO)+C#c`L6a(~A3p{+k0#bHpy?hAJ__hg_p(p--R}cE z@Bc*jc1`$CvewVCrB7(WAI%PZESq@nD+qu7(2(v;(4^_U75r}Cdw?GQ9ntUg{ae55 z@yE`0>8d4xfoKrwJYP4U)-x7PHO5yftG>Wkz%QcC>>1`osGAwqn>nUyU#kai2KoWI zzm5i92z0k2pM3JZ{WX7aP`BFQ<~}Cp_{PFlq(PRpnn18tl!G`CDf7#$Zwm|rZxUEb zk%vqUaWm3x&Z_IGe~+zG^5|k$5k|=C_3Z)L}#Q;8-z2^e${jmbF8^lxQd~K zB}j+Q+Kv5exrcouOj~}S3LB9as?PjrQkTSJT}d5R3e;!r88T`2D@v~ok=0*?^$wA2 zB-@r{d572>ed-#{<}_P$m41_Oet$A?B2!(nL0}X8s!F_Pi7G+8M#~XlzdTKwb-%m} z{yOjmp!w!~a8-1_XnRxL`pBp_v@^`NPbHxV=ah{cS7Wk~u#<4i1f63ca-u?~N(bDKVpc0QQL`%O7`8vHw z54s+Pq{wHpE}Fg=AyAYcX|?Pv2S=)_bw`H%@)q^$ePF}!$ozqq0L|BbnPVFET;xZ! zAs=6Ld-y(i(bj|;b&#yxWZoIS$P}B*>)eZI{K9+X7?;?r@iuEh-tpQ-j!CrD zPOv6kC&pN9RY2Vs4{+M#n4{au`Ne$jstI!9qZU8B;NVq06;^G;2BR4xs!YOaf;R`C z)^O6j2|j6+oG;uLgSfkwm;@}bUM}Px&wB_L$J+-v$id@xh{RSA^GY@duA;bqla>*u z4SD!bw~#nEb+C0%6{6=YqDIQ=1X5^jeQnMd+#r)^a6M1OeD$zBFS$}+KQq;uVj@Eu zX{+zJjm7(g{GOWV3ty|x0*UJjOyz!u_|04!mryPbco0m<)v45+)Sh!R8p)wYv-8|Q_ z$S|_ak~8H{^Ik-&VzX&IBb1=$UL2wVjj9{7EP6XOGLeYarmW<3f?#Y_1Y4@Z62Gnl zi_)^5W*;kFT245&`BhG3RgJ8E)T*;;>G7b<5BYTyyr}PecY=Q(cm&Y%=~Zx5y8EkX zeq7kGaLt0%Orws@E=ge9d&;70*qFGn@L5u?I`y)YlWHkZIMZGs?>glY!GjggVccHM zY10kNl1`St4Az{WI-`9-NZ+t|UG&WcUkG#pdOke>{sgco@{`ea{LA*so4U7-G)$c; zOSg+(sq64|F$S@ial##v^|ceo8J+c3-czQyF<(|xmBvykw2qCS+{8||RVJ}xw@O-N z>=8kXU5`_hf$-yVrU=)Bp2VE%-$v-3bVK7EuK;P{ZSXtaAtRR@qScvAYjNK8v4?&A6>YVd5_%pySqR$k~`h1|@ zHJ_;SSbwFL5XO9A3|8zFmPJuNEa+O-Tfh$jMg#wsvh#qmqPiac%$=Fn+wR-)w!dXr zSo(^fs3@zTV8@P1!cvx^z^38^NXgFTcD#O@{17T2IH$ z;5Y<7V~b5ptpRkLC|0+GbW@oOiP#cVs-jLD7ia>un=C8U;U>Dt&9l7xRmo=*5@j7Pqe*!(6sC`y?f?dVX}t^xne%Gi~Nv?J~RGA zXdujlQZZB~*tbSe5L9}i^$RDC<4$aR32A^aovv1;jiR-P4Ito2Gi)El469bz*k3k= zQf%ql=V`t-!m00L z5U+oC!m}cw`em_MMqx^11WrVe{^23;crFe!YKT)B3hOh6(4BmO=5r-{7(VX>e-d~a zFnn$Vm-5|wVypA5Oun-%lhrU;xeb#oVR}n3lWivk?LWIPK8^sN2FwHue;0vE`R?&C zYu@6nPTz~QGJi9^75OT5eKXkY+)BJAi3*w`TBd|UmFTD_2GBT&ad>G>Je?BHjB)A* zTg}t?`I^7=&^PPAJej5_}pk12FU!flD#xE@Mw+ z)&XWwCMZL)ZC_^56tO2~bmEg=#{@6tL}hL|PK{g8Shtv-ydj{!hWDHLz5@Os@DX6> z4?ppL(=QOO?E0;kYApjAfv;32)6j(>>+&!c#Z2bhc*Vlv5Y{h``(H?$|H3IR+sGwx zgqVleC!}Ms5*DcDsHz=$ylN^3(pVwLHOEkOgHq$|&-`0)k;mr6y1jbf&&=~b0KXBq z1u*s?#nc*j2BD%Nmp|DL%iVwpCO@(o}gV~h>Osu{c$7zG$UCI#P{eUy0`KJb7S*Gti9%eI3F%2#r= z&i1DySh|hG>qPBDemHPQSlL+GSN{%G3uKOLU!wU~2^}Mk-+-?N{sJguARNXQI98cJ zQ5@Aok^RYR7&)SILB}zg6T>FwOtBb}pokc4FWxtpIx8pdgXk7uy*1-FH0jMGi!SH* zRBQb>A{J3G*iGLb&pt%(lcsy(iEH90Yp#wvSH(*Q`i*;rYLIjHaVm@TVZtdV5Phw* znq{?}tm`!wo=v?@2fq|p0T}r{4K8I(U{~{ckZ-^+zNlkn=b~9e4n!R!2J`1SS4gZc zcF-}a{(RzRc{_)i-GQMJw}}Hm2?iQjqAG;#a?XezZa|ErXiGF!;`QgGS5+g2fgjs0 zdAjTMb&fa#vz3;|m`b48!%t zxbV%^EyM178}&h7Y|daeUD>ue%v5oqV#ifKVxQCZ4)1fG&5x6TP9IJjTe3&>*vKAN z+WYjVy$OgC#xnU!-_0@1lpjMYF9t-+;~PWae+HiuzKbi$;Pa0{;eYl0{Z^lE3Wfi@ z-RHQ9e;f+`=i5H-2}i}4cNKx^qugyJeil!}!oAooMQ@IC)_FdR)%*KgxFp^yjr>`j zH^&p4(i`Y>aW=NGbojC~d_xQip#F=*Zyo}$&w)Yv99@fvp?zMi*krC>2 zG7Fq%V}NtA7mjo?<~yUMSS99?*-SiLQd+`gTg0s{Um6=`53~2M_qGR{{YvW@x_yvx3Rz%{|%i-=)!R1meW^=KBg`jf1OBmK}9c&T(KhkaM9 ziHW{d?QXo4tknS@tD$4Y&x_!10q+5(UnWoDJ{u@L4^7!VZmRB=#KG*d9h`iV%$#!b zmSXm-AD2y)UBV2CK^hx&tb?#+_>r5siCrjXZn1zO3d~53rZEOsSR96aV!H!n0vLx% zj{iwnai*4EJ3Qt2UFOv@!LJ5Z0!Dt%f=hWc$Wv9kKK99v31I&8c?(Q9*A@0`e*$=b z(=hWur9Th6rmW@BMl1_(I#>Pku}sylEU_2~6puqJo?UgHHqw1Ps5YflDct^H#%H%QxUxW~(0iBstIBXUosY@*`@_clGxW z0w79!U-nQTwHr(5&Z&Wfe5V5VDPrr0TQ-9gt!HfKScL0!$QfEu;dR7d{9v2(#`rAU*O<0aa zRW*UtVi`Hpm0_qTe!MwSHhG8OgILXKTNMu1?jI#cw*+x_K6lkW{8Nj>+vk&tnv?L> zVQrSkO&QMH4Jj{L*<8icBiUfE^VpL+zp>$C{U!1M_j%hMi6dQ)<5Y$E$)V?2*>t`| z<<^}S)StSU`fmi^0(=da`nPnG^8_&Q`ri-y<;MKa`s=mkPTj|9{XVu4?Ll1B(30H8 z3&7=B8^LtFEEbBoW#Py-A-5--k)d(E?H;cEV_pz5+G^TJ%9`^v-#ze@=XYtho51e? z?gUJKdlg*Dgus8NI9_bu`0(57U|b-B#F2AZ@@`g4EQ0TrZucLDAEiLIbidcb)(eT@C@v-1f9b{H$c5ps zo9&+@A!ss@?3Z-a%Mo`SsZm6^7g3F@M(}fUD%erdwssPuvS2?bPb%LZ~g!{Z*KAi`e*>(T>|8(M$te=E2WX`&3Lw?Z}oG-9=G^>ek)%)mu*=N|^&)NI5?7hyl-WL&|q#PV6&3d-Va~Nnu*NWe|%hlEuEHUl{+)AY`v~zy2 zM{))IBJMsJkE4{!lPv&$RXV45wl{~|cU5=;aXzY98NyekE7@KrR;K&YB_)~yMu7xe za?f`{7dYhqkiU7v|C{g=>FAG~@D0#vAZ{74;2N^|==iD{%(CN^XGSlvy&>c}alG^F z@F3E6?@@k!JbFR=cmCy6X-yS<`vY5Y1*}(W8YkNOVst#v{>Bep%w1WS09rN9DB|+{ z)FwD+YiwBb2jtL*x29T>(M&kqNJxcDSu~rih?XBnESw{A(aP1*q}IBtbi22lR%rL} z;Ku;R1E$?C1HT3+_Lm&9z1^hmH|aZ@YG+v#$FIq~lz5s7WaKPENSQlIXcl*v>;5v~ zK8?v>89{uo$^s(^M?MiML-1KQoy^87$T#3e8GhAv50(9=7*W0?LxlWxn*WXPmgiSl zU;hgpJKeETfZ=~X@IwH@zuAAjq`8Nge(TF2&^ME7p(nt-GcI!u&e>6Zd7Y+BzHKErfn$ z$a=K2QJiL@WC4!jjEo64QQEN3*o~fB?hy2mJJ*ktb9y6Ep5S6%JWoCBu&Q-kr}><8 zMq%IF0e%v&1TcKA1edb3OzSaQa{9T|*!E`wUooLws(mpZfs}6)JCgb=G{3X+#3fw^Pd{~rZ?fA%JQz8+ z9VS1{kt8zp``fkZcH17U>VO~F*2U$6t_zjk6iS_+VmVdOD^n@gdm!UJNSY@!4fqS; z2gw<_JVtI2HsQ3#FFE$7IRr)4q{Hc zg}~`h^O)*q5t&H&w?KnbDO<=|C(B%axg8lDu8WN(#KJD9{Lzb`=cr*Z;D2qnS+}co zc0qoX;6s41fRW!#;P(J6F+C2(r1W#s+HK{hhiab)<*@rhUr0x7D3>71544az6Cqty;$B^Xh&ZeGBEr#x9r*d_Kse{5t0K`KnBOi>XCDu5C7drp z-shp}Euor!g~DHG;S3=K%`u8-2`Ra!*jhX%Af0|lC%e6L=oq(Z`Q*oZ9C@D;68M6!!uBuf&7OO9-iGF~ky!(FIdoNAc+Yi(657KHA z`3lLAMP#k`UwvWa+|u{c@l58G@_JH8hS%YtR=pd2(M~!^9oKCz-kzh>Buqb#XZt)s z9U_*BU)#+7C?T*ARrcZTM5iV+%A1LJdVZ|s({^s*-r-pA4q!fDv3n! zty{XaoXl9${bw5yO}pERvqCs;8$HGYyS~y zls(*PyIu3Q9@=JJ{S5p+fPG$JUabL_(q0tL)$oP7jud{Rq9^V%=hT8tn%JV%KWbag zR`#_G@k;UXhevQWge>VTmHd{>XMNv^HcrXs)|h9tM$Eo z4{(oEW9=hVv+z3&Ax?EiIlKG95&8T?^WS=YL7ub0&jl_74FCTIPh5bHR^X34HHfo* z=~=!0tBhQ+q&_%sFDOjHVk{yyZ@z-mchuV3xCNs&^QV(enNAkSk0azqr%b+Ic-Ggs zMqD%`A%@#nGnjytk?@}V_ln|96h5r~;nBk?Pe{e^B;gLDb}_oN@2jI6ReEGt+|U_W zwMX&UBySv_?G-yL*2X8h@yRG}2%ij&?dc6IZQ|ZN?^Qagq{7>$=9pS>Bw3;!w^f%~ zsD5sH{ss3~JdXyu{ZUT!_o9)?@SzdhT}XztFCm7R>&Y$}^RW2myj{-X>p7*k=o3-X z&PPxg`2TpTF70<}d9Os4rvKgp{t)meVD<%Tz@_ZS4h%W_G8D10&SqPOh`M<{Yg1J} z)+!F21Mn*0u{xj^xlq4P_L&30cLsI^485a*@6ElJc^2ArsUHjsdVVYJ+toR9uI%9Q zSBXtSw1M_|(zaGq`&VER%SW`y*l?lmrzK)!JVgdW@i>=N3LWRqv>bY&YwkB62Y(iL z0Wf@h2reb_b3M-(d$R&xr}+G^h#$4k_-(Zx$DlbuHf@A#d7`?}Eh!}qmP!4@)%ZK2f0$TvZ z-v}qMi`er5#d_;i+u5z@`EJng1zmo>X$@>D=C@AwX6$5bK}m?!)(6Vlh>pOwub86k zD=;Cncd~i|e%hgB_&FK;Y+yNH__-eZ7ND4)l{@5ThUP~yzSN*KnZJwA&&5tZe5Krf zD(@@9&-XPyyZHQM?$Pqu46QN9LHc*~#o)kxfZ^vZ@LvGWtkwO13ifV%0 zlEh1?@}d>HjbJxeG9ooKFdkf^+!M*YM5^4qLaj2+&f$P$aA=6{^G^ z`^*5zRET+Kfdp!&tPAL`4Bjv8bszYnz~g|S|6=gHnTO2N&|g44;@Q&<=~&vA_aK}9 z9-a{Mms+b`LJ)`ni_AMj3B<5s|GxXS$@d5Kzf{*x=nn%Q1MC49`UeN!8@lGXEq&i7 zUxrbBFDAhh#*g#oSg#8GAWkDUJYxLVqQ(RqtO@A%2JaX8Z-W0B_z*DtmE2BN3@DD% zv%EM?h%X19kAt>XxOXf#+`m`%vlWO{Ij(*fQamk6!ujvp*8B8AE?TkhsQr`5&lmFKN~n7F#P`n`~jet|CQg$|K!fa z+NRlOZ==uN#mc$>8}1DGmr582Ro6KIgDaguSenze63b*L`ukgKJ1rCDDKI+S=ZgE6 z2Q{D8<%M~w0(<~47%=U85V#a$e{#cmJwI&Q&IkKic9`q8!TXnb*RwZx;dj|j&A*%5 z9B(9(_|61F@FIsGO&r1yV>yhsg)(*ih2BZ3$5w=m!CFN|rqucT)W+@`Nw#y`~?)-ag>-Qo$&Yg0Xkwknl6nt^z)O6WR=O5AZ^H&t; zj{+YD>;oA3hk#4j(LThteC|MXCOc@Is&BwJhQTuH2F$8rgal|5-;&X4FFgQy1G>Gu z*VOxA@W+5(1E&87%@6p!nC_Hfe`=t_!M9&VC1n3TuSRI z-A{}@(X_{6)QH>2q+hT13w5(+_j==R4tmU!Auc7jd1_Q6u&g=+Yo&VHCzBi-3X3fj zt`;Y=c{{`318n%Y=4%~vjlA9l-w1pT7*4gQ(j_?$8~$s6Na9$IW+Rzllar6yOo!2l0H3Eour!eRA8-pJm3tqqB)n9fj0w#0K?B@a4D1i zq4}8m&9?lI31w!78U476UFG=hVh{O#V)H+8tq&72&{B@(3=U-p+$AhqZBJ@GSHXvA-^an90oDSB&kw<+tP9TDE1&!p zKILXaWY=Tgs?K5_c!pTD$$&kzFY(KV3U8r+Hyy3FUfnO@Tm}bnTk(|UXUtWap0wls z;D-T60fwK>;QQkF-HZcYZgXb(lhRZEq=YxyqkYV@aGTeJ&$KTjxkew#7&tTFLF(DF zM)R>Ipd);&1AiBI4={Xu8hmfoXY(|C_aX1j-Ff zVuH-8os_RwK857CM5+B{Q2(n7^*;#w2;gYI(47^0zoYv58I}oLqfcj(XX0iox>kKpr7UY#m;Jmh8v?qm*B0pR3w{W2 zIAG{b1()(&bSHFZx)SCax<9q8S7Q~i7EO1r0^JqQ==!eWy{6sQfWHX53>dn90hh8P zd+L_Kr_AufQ7)3O-BdZ-x)04RY2=P3d*}6bKN{T;Yom(lnmEZjN$b*t(9a2?fwuly z^D*X!h5FA1Ujm#8NSg}>KLo!KD6an|rV0&!FVjqvVM9iGNNcN&`>k)7% zopjI$+d7(rcMr1}t;v*EXF{>6EZHsUF0?Zj+p+S@;>^kLyT5xmA|VG&#;$fVeci^& zJgfQN0&hl+$(4@P1dIg?|2Kl)3*>_MdsDvB^XQ}R?TCLrxZ7s?F831&4S9h7v-}gL zileVlJBcS|$jgSpBU^TIM|!(DV;*DM>I~urChD+)s!CF)RMtvRts0fC&dc?4cb|Ku zT9d`MGJHmp^2pbHk?mpEcnu40E0JWXR6a6Xf)IJ>nU$E`;e;`jNYx$w4)R2Iq573# zJ=u*cVt&^6YmBF&5^ka`#MbmuP7-c(S+iElCv%3!80=_5E2AFZS_?_9CBHH+SQ>>KiS(zX?;QS*>-)QKTQXp4|D;B&*k7!ipS-S z`5Zq#@CIs?$he0wK)c??rHY;*iv2VeP1wYeCzF5Dy{GVN`&Rw@Ma|cG=$iTQbMUW# z{{V)s^p7-OJB}|bZ8v^8PBw#v2m6L>es50DT~n=_Py(@Q#?Vsyl47!fZ$Ut57OSp+ zemn0s?RP!+jX*D;kcFmfSx@tOvE6LT(Rx3+WBK@b2MQC(LKO9I>N^8j{uGV z4F4B_{{SfFKe6$<_&;X44$s%Nkg0!fAO(zOtKD_2vR+UF?ouT`Arf2j^(uJ{L!|6_ zmAw&HY5!*?TUU0M%HFHI)&5WEjfbnpe4VMJ6dq2dyDB%!-E-C%M76Mjx6^*rGQZLN zVlzCOcB#CPy*MxwF#X~Va48cm)%7^<%I~Vr5gpwVI;PK>KhID8hiQI~HqC$3yMl95 z*IN=`L8;RYV$NDg4DGDohwfNENNq$cj(&O7_E%BvT#4Ic~~-9 zM#>MF%CP2>-2pRYj(LNl2zCj?_ly!{x2Du9^#+NuohTAx$%VZeCINn=&(SWXvO6x3Q|4Je`%o-Ts)V+!fSfiyLS>JYGw7VN|^r%G{ z;ZCl`tVev$b!mT1^S=)MOuK#v{+aN8bD_WP1im}4p(w6zZogjtMP>~ShLc2bCfOhc z4o}N$nU~qJ{V4C~K|lvdg^6fpM=JU8XD+RY7E0M6slN~oE@H) zZO0*Z=ZybTO&~kqfSQIHISAfvy9BcG1MRJoyWy}uyHG#whmVHO6~EW@nRH8`KJDNq z0ZRZWQm5kivPh0g`UZ`gpWR^RO9Swj9c}9~no;D3D}0biJT3MLrhTr4yNc z?O1oA!eVmc){ohXFcc9C{+b)qfVdh+N)>QM2;tpjQ17N%Vzyhtg{6wsl88y1kVd1hZ=)PjCAf@#UU5{S)H2ve};LiZh0j3_Wf%|0#c}9YMvDFNnZ5uz%CK3p1 z^)l-VlyF0cdFSuHCb>h*ano8I(9hpipuZ>hB;Y{6&_4$J|3Lq6(v9PX>+wq_YX-)4VeM`6VE7)p3)u%6Nzei?QPiEIMI^5YuT9=|@%cx{#IK4c4QP{l{t0>ot5#54# zyoyk)GJy`2#h_lWGcX7_(y#uCx3s+0!HX2xzkdM!1+WD$@=D*Xzc>4K^DOH3eQsul z(pRFuvEyRaqSuKO(MUQa7mHzWB8U-&V|U^d!AXm{)!&75y{-9}0v*$C3&6X9rGVk% zGH@xY1O1-SlN9mMsW96Pg zX8-#!_?N&Iz|i;Z(DaM-p+)p(2AlD0*ObnPwP>+5Tj-ZCr4N*$a)iD_hip$kcQWra zbf<$a1x^PH-Cux9`3}0wHT`<3extt0**#VL{GaFB-{fe6TV3n)k=PHQuNOB*=A0U~ zP)X(;M+}nPra1j&Cv`w(^ibJc;M%|vJh)+;7q9IfPR>;RY|fnXOYMrg`duxr%ufpK zH4S_ra4MkSRXDy9d?irqZ*Xa`eF}ctOBc`gQ<)iAk|}83f)24-@pJ1$i z-xQBe{I#)5nmMy`iGQOqW?hect^INj#=JdteeewPj9J~}`dVdADn&J~+(?$NGM?jN zX2z%uRWWvILf8n>4(ePPxS2m|{&GJp$Y~GogMg`k=?BZfuLRZy`uWZG>HSzj_4<4p zc}c{?#lmT!r56~cQIkK1ew?Ukulj28?s>;Yr#i=nr_MY+JN0?nx>Yq2+!8yL_nqi_ zj`O|~e$Po%dbvi`oTYVC~8S}dCiN`o4ZfR&rY@U0AX!j$GXRbZY8pj z3OScJ?&Z#q#4v1~cT*J+Q4X;VL=srPb75Cgmah?|039yFXL*%57zh1kM6%3%ohV24 zAN?DIiD>m)o2cU$hC*uchgu$6sB0b($vP4J8Me?s6=3?|9^g`pU3~HUEOJ<~RPv}* zw!I-%{3#ZQ?u(T5wbSIPT(&Z=DpLdrpua^!!Q|U$>Iu93FPfj_ z0X^YoCHT$2t$^X@uHbt!9?a7;L+9dP$;##%QBrh|wQl8f$<|AzX?zoneyKO0w}tna z^(lQ9dwyU5VCd}!E~R+BGxQjThfC;z1rw%sPZufl*r&=?`xbxKEunk5UsTpT9FlUr zEjsQ1xXd=7Mo;p)uT__=-q9RP$Ji&RIw*ZFz z-NE;!p5|%lOS)kH$d}FUB+Y-2^$+NJL^kuaQ{1YU3V#&z|KNRo|G$Uz07wIdUOBiF zL&rP~y(J3`#gNq5Ijr$ep~$p{z4))<3*bLdJ^s7&$*>iP_23`kl!E-SxcJ%yVCZNAG2v0}5I~@gVTS z0TVxBN{}aU02&08sqZv+PSWGvIkjJSh{!97MzDe^jW_3Z%lfaJzjsXlG z9pF-Sw9jMy@a3yu;dq~g8ms#>>&<}tuuz#pl;Ck{tp675_5-@Bd9P{T7r=i9ya5=x z?}JO(kzN;p8 zDMx`_wKg9uarhHeA66hqHEx1kHo>H01)Xvc-y5nU6|n;X1O=q&?38#oUz z^ezj&H+0N%8+r>m7HnO`)3>9B-ej|`-}>NvLhoqc{UjxPj`b$IarPF)) zwlL4m>X_ZJXxn|W|Iyz5rjvyL2VQ&fHMX_vKD*QH>JJ=fU5)m&jwFI53P*T`uUHJb zwPcdp)vflfv?Ev87&@WBBRRnJwq{{jqGaR@fhCx0&a0qG7%|b=L#OH19fYjM}w&jMrJ)^_snFYD`QH5bTkO zEn|~1#CC?nTVo@fO#E~9UQsoAB~~4HN4Uu!sc}~-b&0CJRCzb3+8-&e!Of>fL|V$q z&O<48GeIB2Ju?4a=cv1V?Z(kud&T6MocXaiG!DPCYRr0Sx#e{oQUTZx*rAk6oZKUQ zuH`o6;ey=ef-eS64n7mv89AAC!t_7sdc$}2d;0~%oS>Fk60Tz+lMNA`M8uA2g0T^AaiXpluc+$Jb+dPw9UJ{-$GXa2ik|SA?9u+3}A#BbAX(q-9Kq>!~o# z+^&QAgqsYEH|=w6RB`-sywUxmjWI8s`KulI(Ds~KuhJq$r+c%F6IHF^mqVylJr^9; zOV!3mZ@_+Mi>_Z6yi1XJX*u{6z?FcRm#z=KH~qpqO}~(-T#2QKXAPSQpP0pxSCYt-z@Rr7ICTVH=CTx zDmU1VIq%x`20JY&gqCe0HWJ>R%@_!~++H5;9_u7=WY{}$Y&eNuN~R_wC#F$2>E+Sb zA8Q}w?ymCYwg5fX*P73D@L}Zs0r+O%3&8N1cwF;YY>!~%UBqPTSxi1hbCg^5PuqHo ztBz!(C4|C}3yql9jQ?SaOm{o01Jyo6&;srGkLIHtI%YmP3H%)362P?oVNakN1-dWN z@`|j{&%3N%Uyg>KIi04XlfUe-u%Ec>Nly}&E&C`$i$54*&n)f`WfdusiDybvr0o)O z=2|yH=qEaYWbsZTm4437?cw=Rl(m#JN_Fd4T77iPswhpR@#ITAECyoDJtiUijPf914hWT z?^h1X+WSmU4pnEr`wFX%ldA|bwI`9WTipbooFU8}Ua|jx&F8+u<7`Hx(#Qpzb zwFU3Z{i1M=9RfZa*a?s#@7gsY`RNAm+kiU&({JwyzBl}vr|Bo0=oab01wl98#J%sb7OR)=Fj(1IR+ZAnWNS@8 zZwv1;<0SedvIDY!q1ON|#n@5y5AN3ty;*(z(iJ~@YuWd#JENp)S33g`+}D-UKmXs; z?K4+s@VnHn8~iljOu*2)7+i|cKO233Zn z|J`a2=&k2{hTdPmKLI`m488PI-%iie&yaLmuduPaTSm4TiM3M?Q6Vf-DjNXySkm*U zFLuo8C}AO_>pO+_8~L69eloBOF!X;2E@emaP|$m{4Z?|Bl06|luFIZRR!?jIgE<_^ zXT*9!VpwszUdi6ICJi6m?u)+Kb8=You_2%%a{mW-XbpZdfZ=05a4AOK=Kjveq0p~% zEVQ-~aE2V1pCu9w;n3)1DT%1al^7~noyU&-4>l+XFPiZ(9>@A7m55Z-#CQ^u z%JoJMlbQ1lTis@>#paZ4SpHRin%3;$L;ZjW?# zvY%D%9C52V!8u9?4A*?QW1U~iiv5o5=9~gw8xmTM8?9*RjJbSbG(G6lW0tYj&X|7|aiIY>Q_}CrkpV@l?x?6a!X^+S=j#Uff0YkS9 zTuQOsjiEc|6tO7q+u;pqhgKj8q@+FYtGLHzT=>!9nqmjD`%F6FaGm5kF5?U&7v>WQ zfH*}B)Tc$x2N^Ao6#-q5$1UKifS&<|uZM!~jU3F=@a4;6v8?CW)}a_8ojK8Z2{~|J z)JKDKpts1EXnNMKbv=b%33v{u0Svw7;Cn;IJh!2@P;6uR=)L}J^tu9iUA)h%3+IAg z4*UQx^lk)~vLpSiU%wfhotolk`kOcdpLwG7w%wl#G%f|Dt#`+iM)$J~0o{$f*UdY%VYm+^YEHKTX6ftHQjqF3id!cDi z5reK})D zhu_>%zi~T9P{+$`>uXdH^)}|TKnuMJ`gLlyZ2fg9*Yv0Gek1P_!A}Fu0u24@z@_}p zc3#4P3E~YaScv?Cd-e+U8fRXrtn-`^Th0}eACBHrb6?x z5qgH7ufV;v{0n8lqaqOZY>WP(0pBsXcDUY6jZoAOo z#WKDYfu93h02sP=fqy66xqcfUhF7#0%6&1cV3u)4xGheSlSmj#k19kV;Z_BPs*HpB zDj62vvbSxI&f~regOvOvBP^m%<*8edx`&aCGIgTrw{d)`kAy zLxEPn$YoD(DLb-b)O-c5@0FA95Le|h*V@*foksV3ZoT!09jz`325eiErn{W?_Q?hO z$G|GU(0vSC$`0>!M7hv08)ro7U)g$|EyI=ToR1~K0M+jYaPKTNZp5W@m>^O%2lO*9 z7V5nh_$1&kz_iPy;5Pyrp407N;=HyL`D@cvXOSqB82Gbj3A0MfUb1lJ{tIV!4nLVl zNWPEx8XRVxk|w%A9q&xNm%z<#V=ecZ=wMa9p-h5N#&%06nrH^c96Xf0*mEw#nez#| zs+9g6E2$cu=Felt`ZYq2J3#H^++c_5Weyep7Q<+~Z)rN}t^FL?P&-1h^f zem8>u1SsC;B#PqKEbxs~5@!yf*`$nq!N4ocoO#H?!i*T1qG^1EJpUJo$+D5z{$sq{DJjo`A z76Q4r^=LN|k{&ip^%Jp3A{2}7G$b>wtkTa$?~##yASuf@mRR3+JM2}yKkiI4vSq>) z-d(Pn2*Z?L)--6jY@yClL@w#ykRuZ)2c(E>%zAI0os0XNduDXZ=8(VdQvcrFwsN-h zk|W*KFYAK$w+HW%_jiGx0xSbezdkSc-n`#DP0#W5;G<+r`w?t%`!S#~=b$Gu!{7%M zEb~@Auj{iec%RVw3-~9%=YXM?{;jT?p<|wg9#xvzF$Zsw`CY#5qO$#m5`8fDsFER! zlZ(m?CH#~`uGtw?V@tLq;wOpQTm9W1(d~_zk0}8i;bR_n7qA#Ge4G}1Z|Iw+;bS71 zx##Mfvc57S*J51`y*_2eih#~q-qVW2h0c2L_kqoT>DL2ZMrQ*o5AOL*|6Vzv*Ka37 zPxNey#MGd&^-{(1)`re6*N9nVukE%vv#h(^#SRW zkI~>#%(_%;AGnnRz~sFTg@visn}Owvkmq_t_NDt7vevqQ?sDF1*5RAL?*e`SnD&dl zf?XD1;v0SOfS!Lh{YUFdP5VusdD4=3ub~hOnpzq0#G75DCa9h3Zy?O>p?sR zlA#2ts`Nj!wfAsTkN(6C-=@5m9PUF~LIcoSNNv5)PEN$DARVH_{w{ahGxgKcQJ4>AVvPz__>&QLDgHidh4c8z5f@M)fT*G4gbf;^HuOSfVTnDZ{G)(vZHuUvitTr2%knX*?=m08 zGedRzxQb}yAvn%mlJZgz_Wlcb*i}#p*dN%l#z_oxG_p8Bw z0TiD%T8i{=bk#XQn4%T-)%p@}xo-@RdlKDnc))TubUu;XGOA6qvM8SBhJ8QTaq9a- z$Ud4oeMB$emao)fa=32q$nOhsr~w}Wi~x)r76;#(xQuHb((|y9gTGn__9AQ!?|1xd z;cot}@G{rBKTI0NnCQ#pAC~O?6AW!#Y4E9N3}PhTtw>39LV}8Om0lW4g!UWcMQX;w z^=|G=`wiQ@kc2jU2i#1n=6_wlpY)#(z&8V507kx{KR8wrFzsiatBT~yreo%b1xxL= zA!xc!WJ{SNeSP8FGZcIeU>soN)(w6EkPGf}w*>KU z59;al-(&a<-2cq4at4~i;O|}{=TVG<|LEHVFL%zO0vCGLmC;63_Jtk#z?MCgWKbDM zRpK1sOT&rA+~U-SD)t^Bq25=qKat<@Jll5`TjCB?3!UMifvVS5r^=<_XgV^QZ;q9? z0pQm61KVl#`IHW0+3uX|b>0zT$K$MA6$_{G5Gfawo+g8wf*7Gn0mxYz6; z(roKVa1#-3u-e>2)DpvujCu?=+zPpX5%p?|>L~Ejvx}As$A~_D>cIyCy8x!$PY1sM zF!z7vUTBlm>+@+ES`G?xW)@Dm3%F2~7H?lI9kx~a>xFU{C54i`z*?^FikxsHUY2&t zD#H~{d4lM>&P!uuzd}$Y$9ZlnzKyE-t&sC}$bBmmekUYHK+Kr!ut$_kk?`*BH?}=a zD)mcS^|$+xZViJKhdUlCGe*~MJ-kbi`Cv2n7T{~Z$UFCz{@%<3=4t9Bb|%X@y657? zv1q=3VsE`bbPBmuv^}-RL{z3Eo#M_5bA^OtTw?S!3vX(cFt%ol=3_2&j9%k>@T-6y z0!Gfi1OFJ96vUU_7}opR`Oo$G{2P8|PG3BGQRjkb6NwD6aO;6}uvp!{8SuEME~Cr)nH>?#IaL%2n{Cd~ zePhhN(T;5OYnUOI*;Chd^4o>^=&$4bM&9p(e+qmF82ZhB)bta9|IXz5w_V4eUzoSt z)%Il$S8l8A?_0Ue3|jQsF*P{R*e^Vw#2(N@JmKmX(`*I}Mt!=nYG^B)O!R5PT(Y17P}t^$z#&KqRp5TKjL!-%CaFtw=}?I+z5$ zsN)UX$wOv?u=V5Q01_m-{Rcj!LQktyb+lhJ(NrHJo<{{!LK%6^i5?Ie_&x7vf9)8T zh>d894Tz(~^$w!f97Rr_22zXnOAX{4^N3e87vD*KAH+^aAuIzbJ>6YoSWaOwe$n}s z$(Z{0j1THBb>nv#mluOy3tSJF`acc64ww?0e>S|W>wjrc{r#=wqHbRV?M+NID;$|? z*g^d^HQ?7y=yfL@ii9d@oA^_qq8i*E^3Uc+xx4txJExj0(H`6L-oCHqyXDsUd z!Dk{H(+=io+Jh{adI42A_E^@IjM$aXm@9(!uHqeLzIX@x@4$ZnBk%A3*|8P@#;$c` zkT-PY#9qJO7&^WkhiUii1s=G`%XZUOy0K%s*^!lHrG)Ir?KUNH4ECKKcZ^Z{InEg+ z=yl!Li|NR38D?BElctK_X$028NVQu^aBKI=r1y`chf{9lm&xdVla(m6RV;gyni5Kp z%b-j)d)Uz>^W}+Tdgqv`OnXVfVUMiY6Dd!0yVPv%@z)X*)W#!1B)=Qhq-3M_oc^Jx z2NQnTe4v*9T4W$a`sI4?4Z!<=85in3{k@UDc^dgF@CC$#D%y^598|gLyMtt$QHrd|MlR;LEq@DIW$T$A$&?|%d~?T>lBSNBHgf;R zPz!VB-BpKI&m5xZwhJBJD|9=-dw}x*L-$Q^DLa%)ht{uGw*6D2QU~}+Uvp2o)|*-J z)rq>9!H6T2Bx)Ubm{r~W>S!h5(FlPnBftDY8Nn))PGPgTcRbd>PLxU3PBkQx)fFW6 zX3F*dj%#RtWgG9lW!v0jpd3*XiTX!VqoobPam#NPI;Ku_e0cJeD5B_gpX|vwP zd?9iTK zf{B&8Ee3F&^N5RbZ*QXg;|QzEh9k6`rhKT|RocA^{B)oPFztSQ@V)70=4tvH&m*SK z?wBk$to!+K%kt;ibi0}c_Tay?t>0E~fQ;l=t7uC!mYfj0(m3`dk_0PQvxKA7M{0gH zL(k|Nt-qiP04e~}ZtdXRz|z0#b!%=A_ijv)e!vf1AznC@)QT`DKeIa-r$2X?8^5%z zYe|a1V#I+~F0CqLHdMo6vN-Z(Yb`vR{^fV*zU*z~n0D9XQmVQli+MRC{%R+Eu0yX(CFl>* z5^=&(#6pt0I5uq%nqp>zp=yFU#csE(?=kA$k`6#wGez^i9NwfzKlu^(9l)J{;r|)% z7Xi~h%sGATcKn~>b1O}g^|N^oJ(PyIlz@pA1%hb2Jvy{Ux9X`SC)rbaZDeh}Pq^99ljq$YEFTalk~t$l*lrC4kxQ zn*Q}tu^r~3&Mtr0v_B__S#vkqG{<=B!|KLJsdSfwq%8N?e^bTVE2DQ-CcDZy7)ras z>%lG|8n{xkEdPHc*?aX1n#;;h)qJjn2eVIl3;caxBVgv6%-?i9c4Y4(CVYL}-Pf%g zVCB}>)|#431l-V)h^P39u$_Vg%fx`g9|GD5l0OqdK{eEmvk4@jgzrU+lVPm`_0ZqpHKWqH%e;B=A zrp~|H);V>JOdr_G{;ewUS(Wo?mG?zeT;)Em$bC`aQ3FYg6=ND@B2}>lf4{R@l2=z_ zFW}ofnRhi|2YY`o%dn50rt7m2UZu!9D?Vi z&J}g1%rve0qMC?eXP7&|dbkcdL-Dxx{43T2bZneF6TG8cP4ypZQ1f#mavA5A`!Pt;ccW)8;WVyKpBSqTiJ+9 z$icutJ3n35bIQjBInM!K44e*_daee43@EPWl#}&7$<#;AhknOzyHl~}J4|-NU)rOR zJCkJYTGEt82_KRPm9fCam^9KVU0%+mLOH>J;yz6V)5VcYu8m0%;YXLtF1 zdm@AGVzJV=5Z?^Ud^H@yvl7@vI{uQnHufW?{waSKi+EmX zBcE|-O*l2rSC_p|?MZrq!R+#0u^Dv)1j{mNNDXiAp}r^kw?)WvBq?cQPJ{iG!!nk( zGIO<@mLmfxGC%wf{8r$0z|2n%1mBzfXP%~iNN6Szj)Y$fW~7V|_v(`$*2n)?9@MnWpD*MJnsHxtcnE zzCXd;sMU?$)xNFK4Kk49Sk-i*+U!$Kdu<}ewiC5nH^RH=fByxKeU5z>VCuIA_yoY@ z>3b%Kr#xx9`3Sw)Ru!CliLA%F94cKcuy>ng^)!lFgh+LvI`Qy$rB1zC=e|;x_L*>*;V7E=|`YeHqU}E7NKh4p5U9Xuev$D9mHKf$t0K z4;a2q1D7)YS-l_Veq28dUmZ(3W)eb7`i4HqA1!=+!h{81S?Le(lZuB^@lZcvJz?|B z2#XVvnu9%~uQXX6P1R3b&IC0iP6b)S8!;nOmT16W5Rv&-JfjKb+5>ecjPbLcKC6geL#BuD?RI;eq&Wh!do+hsOUc# zjMgsFiqU=P9fMs}b^G8U#1$;Lupbv%p@>6!uvc(a926pIQ<-YIad2Zkws4qum;SaX z{MQMQO%o*XVCLnf+)GW)^GzrhF6ytR(>Dpnm$|D+Vm9&zj`P!|O7_jDHYY0L*Rib& zdH346*Szqyv+!DC3CNMYDUym+qIApUUG9e^a(h0J9OM12De_TMH z{vsY4?39fsb=VzE;d`6Xm8m)sjKXBzO@`IMHO&6a@x1by>7jqfN8ZfK|7dk8qBU>S zr|(C@TprD<^0?Pn%kDII+n^j95vg##q#@c69l%;q9`5%(*@kP5tr=4D=AiIT28XX6 zOcbg|^wV40Q~CG(ea6?H|>(9 zvXiqrS4=A>U*Ksn3Jw=}I5Svl_706x2Zoo$$iRqVKNoYNWto`Wkj#}1FS*JlF=Ma- zW&dPXN2*@2Ya=y(u&D-rU6-qO>Q>vO;gXN+ev!uW?22^x2Xb>8CYhriYF*3pIBVNd zm{$)6?*QflW}ICNekEYe>t?-LRdjBbsGwYmXv@p_EM0?vlnZeVa zP2=Og%;((j15Mt;O?CI=85Ju0r}2r8#(RGqpXKKRd099r?b-(4mi{nzfZgs+RfqUn zY#|oP*m0*J;)Uzn`cQ)CAlb0T@v`@fKn~PVinPZ$;6DJa0Ze=RHTd4_H_Uy8sj6>h zv_$4)u`2n-w<>wUJ&We}W61imG>6NbP^x@kY9@Iy{G?V<0zO8|!iiWa%{NJvEw4zH z$LrNj>0KB!15`sct42htRBgC|E=7FhDx6f0uGzn)JlJ*IWD}RGf=C58`8VNjIZdA< z{CZet>v~Q4cR|1Seee!oE@0}l2wcjJ;=PLXu~xcGn@QcW`2mD+%k6Dl+amrXl34(M zk}`SdGC82TmiL-|75^F@fc}8#S2Mtu04>43#;nU*iu6=Me`_b%S?Fu#6c#YTh8=uJ z=P~|ZPE))v_gp`~q(x+S;wkF4sS{JekW`sT`N zwj5PauIfT`$UN6PV)2o|9x>;Yc?mmR(qFpM(eCkVMb5IbSnrP2t{cazYBz$vPbSLi z{nC1_mj62HXyot#_-8=qKLt4)4n7kozE@7{x9z$=N86q6AH=(E|EnCf{^gs%FYs#? zw|BKK2ax%}$-VC>Xx8Xvl`UR)SruQfA-)O&js z-A6x~_dD7liYvB*i>{;xy1K^kczLRx!I*JE$%e8lK6M;DjLlPdv$f{@Kn~Q=$l*Qk zkAY7C(+|G^mr{J*GUF?#zwhjw%@0N69+r!qL#%(a$ki~KCC|5dChi`0Okpc?fu=j@ zzXiJA1D^|=2pGDjg8y&2Lz@*Y~3@cj$J6{Kabop66m8sG}@HarrzHa>fH@~HgGLq#$TP~ zT7v;IubaH8FFn`mzh_(et%dP5Z!sB~(DqF1T-3RwJ4i0k{wtU6c$eQD51YH&oOf`S zWVFTY_w2a`%{k6`W{|&`{zG+G_8+c#wHj>>IprlJha7DQrp?_~L=9%6BDNo4%);Yt zm>axu`c^y^{-?clH{LX$lFOv}J)JgGpDG<@+cr_0$hiLWBDRhN5{ahYs1|*7WjK0m z4G!oN8M+hQe>f0)T*){-Ozmbrqx$;sdp3#0j`J(ekI5J7{<9nznSJ}U;MV~+0H*y` zgG?2FcBe}{_>=NCX>RH=(rXe+KTm7-NCu6NnW|$?`{X<1M+;MXrjccEEY+!=%wj$u; z(SVMO^WTC03HU2u##`KRtqP#{e7wHs9&hXVPn$FIlprZh>s6vrYL)HXXm&F{v#n=_ z$`&tv;UMqQL7W8q3)M28$5IKdBInV4-D6k~szt*S{3pxmxm?Sw9bQa3od&)fxD+sQ zdjedFi37E<-qd{2AaCz_jx~&$V_2 zj9-w+f3>OT-brTltp@4j6^fn8%d%ZLj#Z5&zD)7sP21WqObfA;ROs=?2YXKruGmZb z5My>tsyq}A;SQ9Ga3W?Bt*LGf?^#Bg&G?Ihy_W_@Re2=k)aKT;l|F!3d05LZzvZSl7pycM=2AO`aNF&E|3hb9)IYbm8%N+vNxe z!K;IDA1d?*6am&zz*NAr!^z;M17^If4)W`4DIRZyb`UyO1SXhzBy7C46;=C{xjvP->s^&gM9P=vob$=GgIwKo zn%Enn@f%8juq?^8e8aw-&|Ej7E%(RXifgo-SHPR${|@j6fad@s=YbK|+5<3tVNV42 z1atGZ_;TnQe+4zYf+74aSQxqk{XUJbgi!E)!c_ zLzv-<`cbAW;>+*|A0wxVPW6Fv-}&a={lW65h9-J2Q9vUt)BJ_VB^$91iAK=s^@aj_(De(K(A|e39-6Fe>Z#q+g z7o|R5>l@5J;~(}ZdSrO=is8LeLkpAXQdNn|_mNR&Tq*Oeq7-ILC6!rDXGx3v5(b95 zm0GJVHaX$@g6Y*0G-Q#KzT~tIn+ogQ4Es4H>`xDlo{%^uzC$HWi5JC^;!zxf_^$=^ zVtPDRFV28o06Kwgw{JlI5tN1XQLn#ee5s44^br4|P`nhqW+4^UOO5 z(dQF`!~0{V@#u(#Z})c}>W|AlJDKsm*X(`2IecY8$xy~Co;^$O%8Jl?tH@8A)pO0> z&zimGn+N~AS?y`|UTpS$**q?uEUu_y6N}kFvdFhL#w_F$lSO&6?MV}mvtk3p#TvL1 zwY=lGo->%IdRUCWNqBVy@;Eb*lgDD{Rp2t9csFV)4yTjWYMZ>8V}^Fkp~aK9L)_6+l09OnIU z*x;9jsaJ=2uMG3{4jV>HC?-b@{*3`I&*e%*@%{h7fksN=C=QM%l@}J(DbJ4ex_ zva!rI{qVzFKNP$%jO|$t_8M!&@8~f-{4{vZXg@W|A>?}pJjo?|{|@^1U_a1&%Xgph zUh}K(`}5*Z&GB7j*Sx7(`+1|^2qnIF`ZQL=MT?;odGU^{sixZcM8ef9~)KqxI zWc_+iAlKG(j=v?)7lJiF^LIV;jX=+ny5}Ex`;3QiVK>b{vJ?D6XAg~*iBZappMXPG z`oH*bo;csV(w`JH!Bh;UkSEu^kgt8DDVNCY6X7Rg8xGLpRuWn+EiZl7a^d`Nz!IZI z&gvyRD7|a+VF#sa?+xT}X82r5cPVrSSOs*tYs2q#dit)@JulFH&|ZrC03Iw&KOD`B zMu+Zb4b#~bK1b4d4f-wcTcFeVefYh8zP@*-gK3^0xOZ}U;IUq(cCcq^tmne?nhJ9A zJPCRhm;-crXNBMEbo9MDy%`AdXlZ_&OLIqY&Gf@j%z#uS0(iG==(*2c8J#S7WAi`47_RarByb z4wG|Lza#d(^Ki`E!3j?PR`M{e49jkc8k@(QEO!1I%^J72Jtj4X9X`t}a*t6(k@I8G ziZa#fli|HS9d2QIpHbN>N0e_Ek>v33M7tP^q?DVzW<>eM5p~Jf;22ZUD0^#52cPOD z9p^DKvt4<|qpAC~Y`*MMYNJKhh}juEzwej)ekK{_XuNvdWfBAG$7HVaTS0v#K$M>k z$$u~CeqbQba-I}^ujQ-ndHFu2eZ{nPGHKC&$nnb!;hsfmn!BiNT*X52RpFM&U6ww`ZBzmJ|GZT4}~@w80P2C#?4 zjkBR9C;5%J4+L`BNt${c@O$VFL0w6XuQN)Se}P?B26Ab+I=C;HefJ^tR3_u>?cs#K z#~duTjkYAP@2feWo=E>qq3Zw8{+sN(e_uAx(88Nl;r+`FYpIm)UaH9aE=NTe`QqjW zj&bXFJhQ1vH;w&JF*8xmEvrvpM(>oS&Qj;P3acY~U|l&z`krEEPPKCSeO5F*#@P^a z{~pb7*d+10XzG*6MV(U;pHI$QJw?3}O}uf)C+^$PcqChziqyHsGP`MX*~WAGvkM); zjO~n4!Soh#q`>W&PcZ@47Nv1NXN;s{ahHo+a#ETB0!k=(P zRRt<@EPCP@e5+Kwjn=u4UZ^%c!JVW|t#hKu2b5RjReP6ueL2)yu2m^o3F}{)0S3b)*@idRxT;kE1gVf)YK+Fu29U(g72`yT@>SN=RtxBpO^(Lqfw zsy(45+%~zu=$u$@v;C-wDHgAQX5XMjqXvKouBOMr_RsTm`~L>?!{BkC+uM84e*^jH zC-U@Nnh)RRcJ5_No!|DI26SK^$Qp}4%*H(vWtX(cE&b!TM7?@roc;PZ`^|A^txC|C z^KXvJahb}rzbEyCY5&0YC)`056%Sgr#S^%8>?cbI{A|!k*FhA0g(Z&k^?2=X=PF^3}a;>f-qf2XK^(PdIo!k-87-uHum?}PB9<()3KjS5f=ba@Yjmg{Kx^Q9{m z$Qi}JA}qhqKb$Cn4}0#rM7r{AQ7!8?VsZAol zON=@8Fh5#Ll|9KiB~ni%WrNfmkaRPB($T_bK}B&<-0>cwEO&+Fj!fkexkoB(qYyL! zE%)8fuYmk{`oU>k{_k{q@7}^dQ}RO8SCM?h8c{j?Oe|K0kEtB}6E!9=+VL@VG$(@| zog_zlebehiimu*q3)uil#p-a3TE#cAVwW9o#=wdawin{}w^TmbGSDr;kT7-aq{ya8 zReiFb53StPRFml&8)}cR9Iw%?EJA`*G|c0#ZAx@DIe#3Q_|s75ouQr@{^rnhKfHpf zSg%-;NMtJ2yJEBxuO9DAte)!3j;Vqg-&}R5x`l-%JIT^izGC6{=uEcQhr5-|Pn6hi z_!#Suh2Z*0Ajg)f+&J6{eI_^;XgNL){Tra;tm*YmByWB|XbUV?rSf*XW{btjznS|? zu8U+mCsT(`2=i`+$f!#g8ydTWBZ(Eq2=Y)pi>3KK+CHEdN9ZzXUp=+Z+W1u zE6PkrW2ZBO8DXWddupXB`t5O<_l}cx9uXHUC7Ur!d!S+%z8&tk7q55zG#rq>Le1de}p8kRT_ylxRUBjYC7s-hja z-s@AGH>adneu)Z=$VE;fR?shs8{Z<=_p|c0X-~sO0Fmkk8J)ih_;0Dr$#E9+7r;WG z`CkWpImnme);u}-`zxU=o6bhlQ8^U8ry$RX#^&kuic=mhPRaag3jJKv*G@L5bAxS^ z;D2gg3HaGXT6$gZGW4t9bs(4Ul<(hO*L&_4irI+-S{TWuukqw`C*k@6iAj`>x#9Dh z>T>0EHuMT`G0^$F7y3c4FVz3*{_cUib|&fh+0_g*4p-RVDM!93qvQb(6;;PnDg zke1Dg8FbO}*}fTNd^)|6I0D7LKR&hpcu!7(%V^EF6tUq3anc`E9*Y;n?&MHH&- zR?!RkKc`zCWz2mwke5-P+g}(8eLOe|==?kcy%YQ@w0l^1PM3(%nEqgJ*X)P+S>;FH z(;xP*N1Q)z^@1hHwti3MR_n!#xhK=#e{Fg(L$>}QI#4`2PUZ1MonCiSf)!RGOR*iUpiM_<806oerQ_8!hWS*smDEq_I z%$-xz*Hu{seS8$3L9&_jn6lf{TB*t1NuFr;VpPmn84H2Z8O`$Z*SR;4Pi^m9c{fA1 zfRlihkNk5x@ALg2Z#qJG2W``?ozAl0IFKbcOIdGnJBHkkGj2MO=BA?mnwt4^Dp7U_ zgzPeNj4SKzY3l3KIHKdxQTYGPP&m%#l5={m2Yl{^hgv?9`OF*8e**sin$M;_ws8!2 z^xmM~*LsVx{Bf9ixp?Kg`4m;Q=~~(990FF0$0Io&`#R2TPekPoYcR)Ol5=CqE>Mxj zrxm_C&Et?sVU{z8sX`Wkeqa(-dE(zDTNyTphm-_-pE$>+jBhJ{x=iXgSOOF6Djx zxWDz{VBO=#u?d+yPm~X>OM7g-b$_7x7-fBohh|_agiDQhnQJf+A()2I74or@G~|-< zeh2zJ@JG;-kH7I=m$SZaKN=r%R&anVrvnjA!jFRUY`fqkVKD6oCV;y_K3W=b^7sPu zT(AK2*-Qxx$^a5hm=3Qn`Zk`$7y75nwgwj!{*)B z@qad>i18k8A~5k6na|0mGTgBO8L|F!UYonL)FB>jc$I{Dff z>5KXpT_?+|jylh&NuU2cVS2TVx%^Imo(^UJo!)uSa%q2Bdfe0PQlFR!Prmr(^wP)d zFqu^1|GcbA8PA{0?i|y|3Qo1(YFcS&duOXQbp}J%f!_pj?;;&NzCQ@P13VI@EoGiB zZ=L?)1q(?IJE>~px>F+3eVMk)tT6Ld@Z5tuL(jv?``bo6XaI7_bMyOm{oKX@)Ye7E zty$E6h%8`c<|5GAwR7p?Z34h7HJ)ZxCA}r;A6(xsp^cR#$_wPVoniXxNK5DIPUySA zy*<)D+PtMl`lupSwk^k?tp^jwll<|Gn0#Y1#A^Y|NE>elVrmeNCKK`a>5`Amw}X0+8JHV?MnfMDP6S#W z8=$WPjd^~=ANcR`IBjivAQG9}*_o#$Cxu~7erp;x*#+NF-b2d!vLYuRn^<{Vsp1=0 z9VHoJlWru+ejN%KY7i8A?>eJBQ+r+r<_Wvs?h^5I7eN3{lSY%~4)8{o6dzxLj?%95H^!Valjm z@`!SuP;PPaZI-vkV(sefuyD#~BJV^MYfuy*ktQ)xwl^~6WKx;nc$Y#Snowm|+R>Zr z^vhOeaB>6T1&UQkZ_i84mf2xp_29=<;S=Z#WRe}FW}Q%(+=L@aG`KjS?cTtIzy_bwj$9&)J#(wc}5qQ7=%1X)4xvV((!X5@au9$1Mh+mfr{bH4Vx28&jcA2j_t9@c>$` zrqE7Nj|ZU*X7^a%w&Egxt+R`m!Kn3inPZ-!L^ooNX)FV%WLB!pz}2hTCV(j z^@s;S9Lb|)Y29I2>i9#DpH7~u^RpTH7VuS|)4dy7uA}AacAH99$P z?z<<$ev;pHh3V|)IeMJ=P@dmp8#d7C6hX_?_06FDYyGEgn_=dP2#jDh72!d=YK3u0 z9ph=Kbhj4%=EV-WzI$UMvp>k+lJL3G|Ez<)8r%SMef}o&!$8kd^nH`j<@2M{U)-+6 z+ljXj@l02V=B{d+Szs69pcljGp= zDq-{nJS>{M*(y_J!BC&krfB3;*{mDqzZ<_$*cPXzi_{-{w#S5AuXla!oofT`DW^XL z{O^J{xrF~$q2B?20J>bOhXvnjzV%(pRpOBcJ?^Lx!g$l8Sf@5^R%l_W-ep+8QdR7Q zIo8LDw8X6^>;)4wcPOz03f)>c&>H*&p#bDnHeuL$|JdgrKPv&B9U&jW=Vj1az*m8m zb85J4Q~|xN>$5AUhgmgFI-)J58DBGlS}g73B3i} z40Jg?AAa8y`pw+9Kgho>C(h@sBJlP6HH$BTLI6a=+Uoj2!BRIcaj)9r8c#YyIRy~2 zkFy)u6DW=}Vk$Hwc6@BOTB!P}q3HFhR6*Z#eXQh|5zS2ZGXojAq_&-bJM&W%=Ns>l zQ^(#ka&+K>fbZH7xqf3j^mH%-Xuhw5mg^{fPlx&}51HMz`m~kAW||*{*qnO;>+(Oz zF{Y|lI44Zx3H)et*p$5+w8ybzva&ZS{FJFGMDM}=9QL9Z9Am%UyTEaKM;eoOPD^+N zlSJCM0Xk@!y`>nK-+mbIy$8N(c`x$*E%dwK4@ufd>n)sNAA6KZR zW6Kg(vsEhw%bS(?py{^YCjlG6Ku5aRUMBnKkDKaA)ALh zU0grprTgv?)6IMu$ax9R)#LAF(AR?-fKK;&&~hEtj)LGFLzp|y3dkVYY)3n~;RE7* zu=o*kaPXe(H@jxoJ-1fGi8ZiggtFDN{CO}Z zkBJ|LL9_#erePBw3nb&HBdc8R@W^6K> zE;mzGnAMk?&J||q<)(dw`AuR6_f?$We$Pt1X2oz$il3L|&I-1m31(kzCZb#LL-B6%Bpr92d6L|KM$`KGsxF&c-HxP6Z$XUBcStDJ`VdZa3J*euFGLbp8h+` z1a;V#zpnwWq6}m^YLhw3&jRzzt!4wRjT3CzBl#Om91$h_BX>gyZyWRcxz8_Ilndvx zSbp-0@M=;4zw6+omd|9I*aUqC_$JW&z5@Lla4_^sulYUmi2M>2S%#`?(;ZS@`gikt zy3a463ZCxfm+|6p(|I!F7q5k^6N))I%o;hz`#(b7Pv>KP&DCNBd^e5H)%R)8v%tAP z^Sutb6Xe(T=||*yA(0x_ER%&xwrLSu_wl7X#pil~@xIS=1XWG^x2E&1tkGFdM+5tw z+d~$oz~Tb*!6ARUNn4M0bdY*TDyZabK5fkMw&q z|0kq4Q@&8xxVTR>6lT?6mRVM;5r?~|9HhVerpafz!|ZYbKK77~ZV!Ke{s;I7Xg-n? zLOJ{>;Nu8#5LXZqea2r{7Bww|m9)sJ>K02{dMpL(Dmheldx3)iKl}3&w*cb`SRIcf46_{As6v?f=#Xdq;Y^8*1fR* zkcDj*u4!B2hd`rmR`p%pf%sjX+2wWB-NhnglX;uE+&u9L)AoCz4Y7HV8hW5t?BM>g zGp}O4J#Xmz@$**BPx|zC&G`=%8n;?wak7mYYqzj=49i<4dzfIvZdA!c%Ejr4wD&8N z{ddz!TB*nfW?kYq7M@O`uQiQXY*9g_+oTFp(W>e+K5^XzF2Q*dseTpc@+vrzABhzX zs;_Vo1F&c$fIB;AoUFshA>kHh2S<}{TBkDpSa#`{TPF2Z*K`qajH#*5}4#)9q=YGrUl{_}n$l{D=mXCDqv&!#w<(CINJR|zQ zi}O2Y>T~9cPI50c(^eFh^MfLlBwH>^CH|+9?Z*dx%OJ;fxJNV0@mC&n;1xIRueQzs(P^iMu#_dJp1&S3kOA25q~vOib>M z=K;|)W+MdlV`eN$JBOo9KEIr2D!su<1)n1?%+ciFSj4pMw+g;xMersU!LmdQhRWpA z$E<>#`qK_4=BPHgX~h zI?+xhecdG8m9M2N@#?%HUqAVB#QwgiFskdoD)%I{+HAJpHr3MjvdAhd>mpB@>Umdv z-BNc))mE8KEGzk~$pP0&??KCzKfWBYuO&ewf>Xux2SqJIS%_>lPc%B}$%^ljbwqdk$<{DkV{$Itdg%UO zFwp6af<98Ze&A<<%ncO>R^3|7qcCvE;S6+z>38yc-A{fMx(nO`bo$?gmMec5pc-%%ULO%>G}OB<$h` z-pNYl$Kx~yk6ZG*13LdaU+4d3=-a_vK&O8{v|Rc5*Xgf1a+QCQgb%6nEj59>5Ar-c zKj<~pHb#Q6K#$8Cpzi>C`vv3j&fdX&-C^@M-PC#bt zcB;z7<8q_Ua;mWflSRTbg*DG$mbuOL1P+;VWW@6A)~+`BtOb*zXDnZMywuhQ z`9DD3w7l(Uwh;$upygc-E!Y1c?;bU*sljh*lZ>65?7-Ak3VEPk!#l$Cmhe2?zW)dM ztKd$c<^2Zq`(R@_kn`TqPJZLz@($DWE&I`aVjFLEnG5~bsQ+3iiqOp{M2%glza5=1 zVv;(}o>URbs&t|sqj`~?VsushvN3avYEf>TlVvdTqIJ0XjTOWORgOcdoCoTsMxs6_ zQ)7sQJ3m*8VBU$ z7f!%Mf}Q4{{r!$E`?9#m&okb#8xWcVP!^{*L({X0!X3|P~ z{i0Q3$@Lxw*=^R%ff9d9vQS`U8vRUM6J{dQ9Pr-(f13YI&^LgugghUq z-#BExv!Z?V(nS}~SjyJb!i7}7A|zg9?DC4(pADbCugCM_CsWTs9nk&7Inc|&&d?ry z_rHVn@WvkYVcpZZTzY5texh_^Sk|`6-|^jI-lF`oHusx1VAHhO{4J-Iyax0uMAhhL zH@X~wN9#o`&qfN|N;(YAJNg4#rIV!42OzDYcwwAQSOVCLv|lpmd>hS^?9nD3DT$j- z?{J$xmemdq%OBqLIQ9ngd*IJNmw)z@p!~JpxlcoXqDPVADZWG}`KJ-GbDt6O$=-zN z*i57|V@ssLO(qKC4!$$Pc1IL7+%C9T8fsEC;V+Z*P%B+J$*QG|OD z_lX{ugYyv)J*rY%CJ^Z@nzRR(GRHW{9|40bY%uWv^F34E>>C;I-#9bJ|5WHx!RbKr zKOb7I!}sY|rrXq-OZU`S*nEITfNoD? zXWPaUkUwu~eerJpLAuFEVBnQ)hg$t`W?5orqnV$_+Cl#(J#F{rNBzP4qx@jOQ9fUI zw9l6wIpI}D`FwuIQU3oZpN~26zaMktkDHs0@_CQBc2Ds%4?D{L4?oK1BaZU<$RmHg z^eDMnlyAS)U1Ab3`3MEM=*S=Yb~82m)aKONDsF5sM^h0eaE2#`B4|OWIm!P#M^Ebh zT>nq-UGUp-{y)HMqjq#GA_sHaL~;T<{Hf#wHxlF3jwE=+p=vxiH4{%xFe8PjL^UQeAJv~t6!oe=adWvAuVhZjO$2EGP#JO4HGJ3!mTYP;Kw zy$)^XJ*p?|9hGuh>%0|9QP>}$R^VLtyp^ktT*v(Hr2feqlVFq>{#=OR&laF=k z!phc`ToSw3x}?%fEw@$-0?o$!hS8BhYM>hAWxX?TDU6>f>v}WN5}j4{JGwwyARO#c`)CY{!wt>`RzmHM@tgNiObqn z9$92`jlRPYEl&O)ZPa<{LH4BKPGt|6kGg*| z%>(AWwtuVhUrYSg75?iI{YlKY8I1tS<58fHvkl`fF21Bg&We~N>Q!@X-*u6-_PWfa zsr75ka&_9J?)tmTwUKq#DE{5^QHV=WnT4d(SUxE*#-dFyBREwQc#$Ymtuj21V>WA5 z_92E%U35_4UNo2-8jeL`ku+Wc;vbmBe=}2Guok&$PRzc=j1E!>=ZlG@iA3~^9R8RP zN&iojC5z2LOzV=!Wj0%@Ds^yV>R%&cy*Lod=5=qT^%bL|-{hy!tamGMQJcOSb-#l@ zhFB!)L{))Tu8wiMOC#qusxqt4J2sv;FEdx>NM&AuiDv{WjUiPu;|WgSA+?^(l%!vQ zxnpgq-K=Z>+ywEhu030R9KfYUQSI5}An*L^q|X6SYG) z06x%m@w99atWXi=wETy5eV@Y7&Xn@W=_zGjh?(;LPBc-BnAX~_!|=@04Ub6~|IP0JBw=mCBIQk&Y zs`R%1ma47Yeiiv97tLEnY!(KiHLKd_C}qU?q6|3aGT^Mg48M29_*WTgd}h_LQ-muFRYO2lw0_Cx zUCR5qD!yAq?xD-5OOu;cMV;e*8J$!y%cHSDaTu*92KibC&vHq^=BE|h@>NdQRt)O_;DXKBv3aSJHm7i^4zj8-E+_73@f+} zXn7v<1?>C4lEP5$`_|eeB7Xcl6wuMRc?MVTkI#-~#db)6H$$>S_Ff z5o)%4mHPtovDFM%hkmKNJ?aztMP=?$mj}0c|4o`#V?Ad+Jc83Wkyl;fILt7fWIH~F zp2YzYG$vJ6$`~y!aH=wWly}g?skwE~bl!KOb~&FG;Qxr_D$DUKsO)Zc=HY>Enq4ED6w^C=PkDd@1-7%X^6o|G<+2mcxCUtC_H z5_jA7py)xgco|mxnWBtg%vPNi5m8fWi8aRkwxy>m(-i5p`QnPfUY-XUktwQ)_*=4%rCl2g3dRXh>5$9f7{{} zWc@bBc-P^CxT^Fg$kjMjjCqMZ47pS#*L6laoO1s{0UkUUV;ywGRS|;WcnLE##ItHE zk5jcJ$0;$ArNR%FF{;L#Z(i;@>B!6q_+A2Ex*cBzeJ%Jh(0o4#EmwX!)_gBq+BS7% z`|_ZE(KhX->qSfD8S8K3csq*Lg!ny5iECO;gP>^<$|H>68#_XNIO5Q) ze=36>1V#hh4%(nsg4LludCyM*InGdB{)04ME9Wg;g<0#upms~AG52S>LmZ_$#Y;-P zl93CF7cMn!^5_>6@hWtmg}wgjdhff@2yWstWiOk>ze4#NtBaWh{i~9(l;1y2!Z7!E z)oS|sze}hjBZ&dRl9c_U*@0Yl!J}MKA6|rh6}%3#T;B=5*ZqgSYyKCkoVRKTY!`77 zkRD{LanP%-Kx&nK?-7i}^8BXLg7li^=F*!2-3m?vI=vO)_c|SY*XgybShZ$l8^w6C z$g1UeF}0b9L$LJ^DdUa^?l0ZpoSqq~$|l4nVzg)$i&9tOl)fFpte&eMbZZs)l=zfVK|4EzG{a@s@H~zV(Pn`_Idq5v1QZKi6KyK~DkGfKLAmXt|Ddexzp;v72O%wA@%f z$Jow>9)ZqntS;E*D>jTmrs|D6rz1>vJI}4-J3uD zFI~K7?Lrx?n2Rl98a56L1(%DRYCn(y)#06P9msPp&(rz)TJbbRxa1!3_WVvkHv;R z8LLpSr(%@%0!3KyN;RD2A@BUFGvsp}Jjf+-*$jOP*b1~v(EVxEmV#B3au8kD4Ek17fLXgj`+s;g zU&#$GYV&fu4A&xUw{Yb)U)C>!lVN zM(w7$;oebs*$>KRh+@nY5=*puG#Q z`2m{mM(8Gxc`%sY>vpwsRUmI&PnL6tdeyR}3;Yeo)@!6Am`z78=u^}9Vnc#cghVN! zgG2pSrF!=*VLj5z>y?JBm3F7^K(jyfx{YHb(*p(%%n#(ck+fSv{%(iL0;2x>F+kcSeZ}H0ZwcY&fGIv=|nH;LV+4FCUQ8n^o)3R7;VrNj0b$)A(`Os8v>wfXP zDkpjb+s$5b_VFi5O;$@(BlG>AxN4>hL|-%2O!F!{XyLW7AG1W2cI4HZv(J6-}9qL2(;&0rhQ>&O-lp5j1{?lvJ1);!`GLB2T5S2;|k$o|9Jx^m=eD z(D``;`bQw&|K*sYsL@v<p;FeY~)D!S}>2}+ME80ZYzW*Q$@b%mJ%n_$J6D=p`0D{j|#g*c>bAX^w&*1_^1 z^$=P!nJ>RKM;V=p}FdBH!StqU2yfSwl&f|e^kADT)qxGyt`z})>x3WD zmwwcS~9K6 z=l2l)y4&a;^QFKH_yOxhF$%s!tbsR}k6LY!MZIaSb1zO^@-x%;5RP$`?Z#87inPnl zIQY z$$8$S)D)&bZq1^~BEp!CtSpk&O>VcD>bs^IV4iIsWA$^#pl_8{@F*5q1o*YBxo*mV z9l3U`4CKT?9M58=2@iP^DKsBk#Cq3_F&pTFp7?AHrOvRLMt(mo_ zThp)!ULnHxK&k$e6q|`B(ML@4g~7|7HGw=@Rx?KNUh3~f(AR)lfR@Lr(C>lizYphC z{|V)>zRQ1W+5bp1+56$l~_-oNUzpMNcu`AL_Du%tw@8g+8Z3iLCaS z7u%Oa=2`QJ3iOu`x<+>DKX;saS7o5a)a% zb(O_xC);NeapY4>u0K}n5j30q>@$^bNsePOmT7&=bL_$5o4|>%^Y9Cfy#!lU_-|IM4xw^=G}FrUvDyQ9akKNXF5ks{86S2G5BvEod05boV>A?zZj&UP}@%7T*m zes*u z&dxx7TabQ8ai&23@^c-3 zpJ}@NWo9M?Dsh0_BqPc>>9k#MNjh>J2>Gd9o8xB`^aL;&Xnrn)z8K{5v-7wv|2ewm z21UntS7OCVAKmhdiMD%#`JQR)j5iRtz_HV~oU-rsd5Ukd>~93r9hQA>K;3F3q|a(m zclf>3e1c8baBREvPN}i)@<4uj;6=;tJ?KAzzXHv#F!ed_^Z6}1V*OjSW?{Q;lqH9V zjz`DgFnh9p6!7zX%VJ#!7u<}dE5iO@T~1Fs3wjPX3&nUdR(;ey{{TQ|`26iXp8quT3*cp-$4hzvKdr652>O}Yu>aNNAaLeZf5NS8;ivwi)6%{Z`a^{ zeg;DkZ;U-x268wPKJ@e`RfYYqA}*?AAuuAPYHRz)dZ}JlDf$n9#>mJ?IJlAQty4HbpK2~35FGCaq+_e0)>TsE{*}2V z$nTg-a`kRH^hsbQkW2D>v~>ePtye6RMMG~G?`>>Kp-tgjVUhS|l&d9t{`T-$GS2(} z`sd&cpyj#cQrmbAw1j?h{&G#1|NB8Ixa;y4zXhSvseX(59rp&;+~V#my1^IRTM5RG z56uf=%f1&k9!(8n(a^^&E6fZSh~mNjixpL&t>biTNhIOgI2Vk@il=#}iO>FuNG)RS zpW;|FlB~6BsXQfoR={N3Qe~;yNN?WZB>mJhYY28$nY0vJWs~T6R4?mCR^6yMelm9U zbKAPY>B|hQc&|A_Ri4W5{2M#A$NnF6fvT(?JiC}*^mA^q8TH4g#^Lm%%@8;xk{WoY z!jMUAvaIoLlR4ksWGPO1wy1&0Z<_W-)4EP&MyN+DXK8#&@u{4YlD|tU$H_?lRsz9) zNDv^4+|Ru^DA(Hcx%ufx=(E6lpyj>|`W}!!Ki!$H?_0u-(*;`eS)9X|En8*NuL?x- zFbeI}2D9OU$g;h*0MBwseTw`KzF$BV=zin`Xt}f>rh|V7`V(D` zWa>6sD$;BkqTi$MGOtG2B7Mkq%h*s@M>TQSea2%De-U*|5?4$rTAE>x+CzJlQsW(m zb1PLTX5n(&Y7i5$A^18S>NcpeytI@ESLba3zg;0e!tbNdkAtUx=J%)J_j)|kcg^o| ztSfx!%UapS-pYj0M&sE+sk$Up9&VxR2-7S3QchoXBJ?6~0np`sAN2RZx_<<6nf`uo z-^Jt9)&(C-nYVggZVR-gOTA;=rOYnX?7t58Uz_e?F0$L=`CIdIR*WU>nfs-3=|*uU-x0o4@|+ znci?ez0>^k+Kr3qgP`fh*$t%Ea(j@!{XFl?Ful*A-A>zx0i9j}v|LZT{om6Y;iq?o zpWaI2OZDo6AbdMc@*k)4Kv%uC6!!dwOEVSJa`?yPBh|JreYv zVi+xV1o_;VPTtCx2OD;=jWWf|5kP2=l$!Nm+3=XI=R`g^EyB=z&{A#&^bS|E>o zJYUP>6X@s_wvhrl{XWogO*xuhlpyi;Zn+2(o#sa05_=#Tx2@(YzK0UjwH)y#1kXSm z%JgCAgNar4C>4ZJHahPN_~{@$&Cm7Fw}URA`FR#vu1x5MR{NvX?JN{Vzz-k#dYLZs z$>20>lbnFvYHqQNClz`b#?+Fojf}MyBkJ_<*(O&d=aeI*E4TRI>YLdE8;k`ECbkE%ZpS$3r7DlAL zzYP5j*bg+HpF+#EF0=#7_xHlOJ6F%QVC?AYw}y#+YpeMy(|FoyaI-8?lBghh#Rn!l z8DTH5N2&p0?1kR&>j59rH{|4X4)lDm7-&A$Ld#Wq6#qBf^<3I|>k_}M;i~gb))-YK zenafE?Z@Umk$_Kba(UITHZ_k--7-#h+mZ(uO>pD1a^n@`!7!h<+Ocj7r)AB z7)W1QefJhh$Mhzd#g+2Nm zoDC<`$lqBG%Uy{}oc_qN4_Ni@SWRzP&TCeBujR0D?EFUD2Je#$;Kpd0T50<3dq%61 z%~Mc2)vKmplL7S;OAvo1u;ZQ}pF7AyE&NJ8pM`z}{0r!DdFa)|hX?uj+h+fAQZ z&cCemhn6!e)$DvCx&74gmlKbf_8hg`>@RtrO@7ZMztws9?MwdV-WTL|D|ylSrTd|u z0?z{E+Gh5V%pl-|aJH8q4(|Ap8T{jlG70dyepQX@pEeY+A4(BJ=%(~1k2MiVTWN5c( zJO@MA6XUOXkm}_Xy1tHffI1TnwZo~F?EybKNw1dlq(1x{dLQ^b(ENM^E!WZ7y+nbR zVTI5SVhDPP-|P$gS6{ik)x`CcoZ*%TP9Zlkff|Z%>{Q*C%8*}Bg68ds*HPH35 z3wk>kpQi_yp1046IzSwV=x!8`;v64Z6gbtLy9)L8EKtY^&#mSsrf~oU;}~Z(mPOg! zDJ~tAbs|Mce|dhVsb)(Hx)7_JQjVK2iSVy)1^ga_7hS(%*J2|CN`RJMe`vY(AAP>J zdfrlh1yD41=6N#JJKxyo)U(9H{3b*nnHNp5YnT^xgy}BfxwSl3%IzZPOTcAeS|Y2X z=}8EcAv%(~6$$aOT{?(Z!mj4r08WwIbVNKp(o4qEUb>g{0#Rex~<1EIVzng5?E_o?FJI4QiV2q zAFQM77IM#X9thIy;JF#zOa8Bbz6x9mbh@`g%XPGU8PON5SmU2lo=A!lja%8^MBmL& zpLN}2EJ9*qY>#-cL3;amp3dh%=+A+5eJ;Huv|Rb;*>pa;+ey1GWEG`*e04Tf4RKn8gkp z8Zly1*)a(U7WWKNo>&(8#cH%X7|8j?cGbO~)v}5C5||3)l6swQ7ow&Zu_?wbGnq)Z z=+x=DYk%gi^xu5SnW^d;eXbm!szK4i6i{5qEF z3)@!qAF={ZrLa`9L;XWNtjrzi)8Mwqf8#yOsx#*}GipDc3Ev7|!WMdK0`acADFpI-Qj@q+3bfnMgBNu1uuT z&S)mju{f3#;tu9|TRPVzJm^h7PaTg0`DumM>Euw#Z5i|ya5K>La38c>Wy6AU+wy2| z*Y%#b1wHZ+7FPWh`(Ne_wzn$lUtNE%XZ+6k0$TnOe8Np;VK&P0 zVsU#!q>s~2RiS*5sDvZXz@UafIn(5LDYQtc${D~GS{W|iICvEwK5keAD}yvy`%tNy z#2^Ys=G}_}_^y2{$mf_Fa{c(J(DT6}p!0bPv|KwQLH?fj;i36#^DE@!#qCpNt4HQ3 zHT$eh_S=@Z&-$_XHU=8?A3MeqoNcK?shW`rmk7B zp#P9Xyq>UPQ9BG5HI1QfsGn_gIra7c=??niSXerHuFf#sx#4rAKCFSh3S0|xy59@G z*XLE95A8m5y35-auEEWQuF$*8U)cUu=`h(Tt-sqb?!fagIybagtTokibpak=I%=~N zXCe03C770GP22~X-caP@8x2fXk1A`DKf9(Q`(YrT$c;h%h0l8E{$LQ$e2xjf*Xwf~ z*Wyq<7oylA5)jTweEEzM`J8TSCGsLYoLMTu8EV&xsJ4XZcJf^5_axohp&tM{fKK;g zXt}0b6V#u5j~`l(0{P_974J|ro%Z$7&n>gl{=4-#6Yl!^lE(JP=$M7~(%S6}wFk5@#LC~&D1J75d;Ys>lK9-j8ZDlW1)68k+ z5O)0XX^6%7W5Cm(?E}h2ceBy@K2Ywj%dt_iz?|# zUqyo1rgz1#cLo53P!DK%sVY(xKh}!Q)c$8N$ zv2Z%xcJVw+BPj5)Fgrj!_-Ro7t?)F4d`S7sgT5YY1)A@ITj@{0)@aav zrxykHb$RRajs=`TT_aVmW{+COfyX`SKgz##IsUE5f9>bLUTeN6)0G>n?D#S}8!!8r zXY7rQQW zT9>L!lwPXV*G6ts3?>+d^RsN?a?_iwA|<{5M~z5CdiQk-D(^5WvtD1UYT^@=@8Ri1 zWp9!F{}HH=@Uv?@Y}(&8)fyR=x=;z4e=*(hj_u+*)Pm32Uj%a7h)iljxjhKI6Fd&I z++Ku!6+E!xP(AUo&kyYfrL0#RVl=TJ_YuB8C$rU5i>vqgFBzK?^$#oS9u-gZ^RgIk zal+j&M%a_3IoI2k88`c>ELI=%fUq9&*>qd3{hbVbE|?26pR1uSmCqkOl+Pvk^)lpB z4l_z0(;fy*m;-+WK-^B(<2L-(MEzsRBBT`?@BN%Y+n+;D4HV4vNOLhVldI{4K#qGz zTlWvYgZ?}C7ts89ThaT1eEy~%fj>DME$ybI4TgGYrXDnn?TLn;DeDDX`JZgn1T39x z`<_f>MoB-yd4Z6hxum7r!z$<-z*m6g=R44kgLlI?QF>fG^9cN4FW4sI8k(FJ0>w$- z^>9#5eNum|W$a8eypFG7M0UKIi2H`YRu(TH^#y}7zN&YwoHcKgeodI&Cya1)>6 zrrXJLb-CRFeJ{8l=yacfmTS<rOTiD%Rmlg+j4Rk3_TW10=nGJfIbh{d3uqJ zdFO*V7Wi|LurFgF(p#1w=g4?-O4cbm#dtr_mo*38P+jlW3Fl1|^vB6EsnfKxQbwns zL^*|gXI>8Y+CiGNy!XdH=$F7gp!srdXM6&?ei+EiwZyn&1}c-L?3;p zyi~Qr?NgRw%8E+%Ax*EJpTQrSY87aj8cxlsiqp!Ox(~uVCg;Sh8m9#NL`RKD z`iG=1wK=&^rkb6JMCh6=)ss+!&E{s|dB@&B&IjOGuQ$v)p+N%ZaxR6IE8nie&kwq& zm8(yaJW$9*zUR1YoD$n>*0VS7JDh0HdZ7bhdUJVRhUZDSc0jKMmja#MmC$nK>!rf< z+B>?F^W9o+!y4@`sG_R;**}d{SEQELgZ%B`d3yf1ANrr*BcRi>?h4W~jusL=i@u4NoOL={tqZRScmHPmAt8N+ca3Ac3j=GX~`>7U8-wS3QqUJ2F$U2m?3 zz7=Rchkps%{lPqa&b);SMFb+~Z0nUK`(fM6drjjCRrh5xOYkq&Y-Kbk%wA;G&+%mC zJBqAB(=FYm(eXwgkA0-2p5JRVJ zp>WqdDF2$VIR=~fAHG#Jpj#)t;sxF)x?Ph73JI!AH!?Fj=QstiF<~~F$<}InfO)mDpE0fZ zZkbaZsgnBk1a=SRd49DqT7Mhld-~UN`92$Z5x4;8^12FIF700^UwAYFA;xso_^T3Q#cDGhNtgJWJSVGT)i{43tNmTT$8OTm^4|yjF8E`Z zwv<7>9$MEIoql({zDr^?^75!{yBO}NTHJ`1#Kl!H{&ldh%o;=a zSR3?(;3A;qunk(S{Bcb4v1;j})oZ#ty=>-DlaaJHYL{*1zgZPH{qY{G5*{YanEks0 z(Pk1O7;AJ^sS+1Pv|2Blb~v~TU+)BR*-yH)yqA9XbLjXzv@f9fYK4~T|Ke+5``Q(! z=|+`#M8Vl5K4&jl#t)qSHk^&{n&Wm9fi*M?N)BKu;s$B-|qu{x5AGu$48)l0Gr zU*F-Ux1xQmWUI9m{nQ=i1x7k8^3D2Izii67-26 zzkP1XJHLX{rv?7l7z|Cm@2NRVu}&QtH|{haG_N$X8_Xfb2W}l2*dq4iaP24NdRF$g zRum0W^nEL%ibat!UoBVV(sr@HkprAjer6b*e+cB#1uvT47opz(Zv)Nmf1vGe9&UfS zF~1)besTD-=m?WgqcW2_Yn%4xZn|iR;vOnPaOn7P}AJWbqhyEpa4QRgqKla`PJgV~i|32r; znI-##07+QFuo@6C>_JhZ2;v4&P_b4Cgg_`uA_;<8HR6UVaV;*zxRg@YxE8lI-7G)r zLe(l-7hGzoOO4iry8b`+v&@+cNua-fulIVd>wTYG-t#`cZnhqLmyzh+kUEsnC2 z;rH}cvGVYEG%&hyk;{X6W%!4Fx!hLHce!tcLUY->@QDyR4)T%XBtFo7-GtA|_+R|` zE97Uu^T3vqPmv|qd2Du`k9Co9keaxAI0|J7+qG)m%LOv;WrO>;=e*7CL%EC*WpD;K z@nEO+n7@x#kUup%skf|3cdm8)LuDTqb-$_lP{(WfFM{&B0J#pF4s3d_L%t5ApBufp zvwV86KD>r>WVwjSlrzbclU1f1c&=N##%**i%NTebS(8yBRI7CS8&vf?gh9d$pa6kh15&hk3lnKqWiHiIR0jDMK;t%cjxe>WlD30i@T-*?Cv zckb%H>@_V)PlxoKwsfW1%!<_gxf=JpN~bQ3y;h|Tdp`HzT=MTq=jlw@woY1RG+5YgE{mF17HzN*jBEw7$j?>!+f96&yMlV^0OYw~ z0kD3*0eKS`XXZ8TH1mSDq&=sYc&U;#TeeRbKB|6YN}ZK@otnuk!Qi3c0*-BVTin6w zHAlUsOo!Uwej0K%Wzj<)8Q~wm(aeWrhIj;)D%l_1X9C+eyRytBhbi`KF*%TSa8_GX>){k2ivu>qW?g7rudo1M!~nr27CNNzsx5(J)FCP`eZWl5nv{;_BSA(4$}Mk zp8mFDzjLa6#(o)k2^vxNPbTA1k&&(R}yhAl6az@9~z-LQCdFL_G}@pwj6zg{2AB@Z2t1^(fOeIuKE5U4F{X8F8LVA5_qprMsSlzODtL5QN#{CQGkFOKop6cA5 zOAcq}oe6r5%}LZGI9Z1l!{2K3%YASQ@^jz?VEJD+*X?{F``&?H+CwDm3d$+;)r$UX z=Pu|gHFa&0I`O%&yEU-;Fyu z2|dxyYbw8ny|J4A#8m#uFAr6EtBiiJdo}Vo;5=aYFE`h%z4krLZuoaG{oT$?Z#BHz zj9%gW7xH(&dm!NLfh@uD+4pqbRrKH{EiapDI+HiJXF6Zx_K)%jog{GTq2g zYMrv3#(sFL|Ia|a09*pB{Wl;>NPq6?G#<=hlU8B;RfyBwuAfkA=G*?Q{j%EdNqp8L-wbX8Ha>To>o#5N zds=*s=B(O-=}m8FOeRvYXgr?RNzq7rrTKRn{lZ`P5PhOx5U~6sktJAO``#u0F4^<< zozXi@hJQ8sZF_JX@_O)7VEOMxme5su(A-C+Fz%wC>6%!Fqw3KwUFYdM#{9g#{$Wy| z%hSOL@~D+3nWE`yW53Za_UArKUjP^aEdN2s60F_!y`%kg*6VC#@s!@m;(oP<#Rhjn z$aziW205Uthj*dN)5=so>dnefL)kC5-fyJ&ocLD9XRYCr_}qki8~8b}@wv}jxACy= zY4Mr5e1Y84l6hcfdLlF#zMV#&vj3ON{RYLr^6iDZC-$?!jb=PXRme-7CicIQZdod2 zng4vesTA7{Z@tkgylauyfvbV#y~SL&_SyF|J1gnUSXQs@-&L0Rvd);RzSI8QfnJ;6 zzD160=H3S^Z(n2yUCrY$`K^-jrW||-)9^>km12Jhv!UaRbF+LkGdx1_*kRrz-PlH7 zyWy`zzvVv%c^$Y0SpJR35_Xf{k6SLMQ%fb-Ojnbtedg%e=UZx@IFG;Fg0sCDWVB;s zeBm~7_V2YH+6|BRKlTXE!=M1zc=Sh>VEu02)BHc{^oA)kN;~AW$MOFzx8h1? zs?t}BUV9&CLcRp71D5v|WC`8hhwI>-x?1mq((G==0n&1M)pdR!ALbPlaWXYIuS%9g zJI-(9NtAaT${0A4uoE5|kNij3;|ojxwjFm0at%mt$F1$G9e0?-M>W7DMfRX2_kMif zTN$b)_g+Ty&K&Qqocud;qOCc!ZO7MuVqZ?(B@`RscK-Wkk6 zKWvKj*$-r1#8lM@^&6K(@0=~*AL>sPCscd0lL=TAGIksNV)t{%uYjSC2k9q1d4m5f zZ>{DQA}FZ{|c z{;JJ4(auc``*mCtJGc zlVq2lCb!u;Idn=sCsNE<>7TaBdDPvPrR_1cpJ4cpy)wh}!)6y{GT7IPNp1y~#6lM_ znJ@2**s7Q}?T@biq}wA};q{e{O^$~j=^f`D>K`M`M<(%w+ zS+jKUf|?Un%&V`jSs`_AH)p#o+20kbw@WXXNz~PcdPeWaGAL1 zPI`1tYPVvO(&=^hO&u0gSDe>Y#g->VtOjY+@&WsR=*!)-| zo3HlkQE;^vy2gu?#EDIbm;X!8YYs<#v^N_X`1vebCjCM^_sT9B&|~qyBhPbVy)Jh5 zxh(R-iz1oy%MbXe%L;%jX2K2jaz70heG=~3=cvdr+#M(Yw25-*;x3O4jt};J#G;Q8 z?19Dl?bxR9?AyW_S*4-bgM0NloO|gpZ0mH6Um;m4hl6F_59hob4iAjE1G0X&V0d-r z+Q@zGKiFNa$7pX%R%9^Sqs;btMUIq(*Zf7pjMu_5n~tsF?4Dl2cC;aHL1w=^Z~wU4 zyVscKyg9FW;b`K3(3o&W{?NGhGk0D-H-Umk-;LqWZQWFij_Hr*{(pKnBFA@r0>c#es z{w|vN!;B}~%%Y4|7Ug7o!rZQm$K1^O+>DPx*#on_@N+{sABAFPL_@K`(W_YQ=aQ+Z z*@o$Ix{Wee&i`_s_z?Lk@IA2iseOK{?_+VZ|3dowiA6Py2d`LUR(f!2KS*v<+dS@5 zP3|Kh=V2yKXR#+{d~)%`{)_>I%DwTWv2edQXYMm~# z8EUj^){VzYbv&DhN12J|Pm%8i_X8Wx50NF@W#;qE{$Qkc zXZ$PlafaKTG3sOPq)qO#zOyEC45<@i?ZaMvA|pF9oCpo*;|-$wzfVD^h)pvidrS8@ zdnsh*R4`?wh_U{@{narXE4?pW@3-ufXh-{*FF8WTfBNr&_EZ&eJvbfM`tW+>R`bJgl;Zozz+chslJJLG%UZSr0UeNQW($vu+F>ti-H$Q;SEnu3~8 z?J3?;Dgw@zVPAlpNO9=EEY26>ka;rZ1m)_<{$LzF#s8svd?d9xKW`bSOIV*apV`*RNxu`-f~x5}{4}xE+Pj&-gjZPv%kDhVGj+6`6~?&K zKAL|u`V;6E{&mRLfg6D3Z$*}{TYe%^-yse=yNyGW;dlNJjDPe*9tuVQn{GcuUJM>g zoA0}+vvD!GU&{pLL2cn{y}g!8jFE=!KE8C)2ay5=*fE_%7wtAz$M;)?+mbCf8HXkkO5RoR`hY*#;T}|#USb?53Ty3B3 z{FvQyh=Wrp|);S+HQ-B zdBm!(ThUmv;MkSRWu65o%j4!$^|X1fr`~3(*HhJNZpv$>Jd8HEi>v!B;C#VT9&n2? z3t3%QcvR8I!du+x%mtawds&=V$e!$ZZuX7LE~cjRLN{gQaRlW4Z;uYkiRb3!M6ZpG{G*3rD4%{ERV$wBg4124B?0~C5+SljBg3*vEj(&;9y|=*?@cj zC{5dMVQ1QW{p9>fwl8MAt+-CzH@JKJRNp;@EsE9tgUQ?3!(Mh{+g%Q7^b*;$Qpjd2 zhWjJ4B3X1F@*Eu=8lD+0jUMR6vqomAt@JT)jyujjHnhs)EF`ImWrHtt5n3i_JGK!= z`+WNevim=@%Yn7yG~~;{HZ%WXM^9ZZAGM}M)FksovVN;;WD8@pk3^gMgkF2NKxfZ^ z)x#HD>Mn}bUgc8CAM;e|-jOr#bv7o`=^A~F)pl84VRoEp_I;l4qQCMYce%`9W1Bb< zCZGP}+{_-&d6BKGTP^P!?p^9--Nf|HLMBME!${oA;{dV@Z)`aH*X+!#v}+x9C4b2E z7V!8o(mRE2--DwiQY;3td(5Sr-M}8DhlQucBGEG=M}-?xQrW4Wr2W&5?FsCZdL#2G zp8vrBV9V=K$P(&Jy)oO2=h*U^^vm>`)pC}zByg*H7pr|}@Emxr%Kex5&ZjxUV!qF^ z+gOx6E~A-jo5yBdxtZ*veMs+|fjOLu9t&q>g~Pd$b02ZNZ(Q$av7~8#9nbZ|!=~c{ z$iD+yfQ{$-$P#RROm7#|%l(u#!E6~tl=@jBy4}6TebZ&j*d=eO`tDZFoMOYa?4JFZ z4lpp<(+g+HfqvP8vt#?K|J0TBL^0I`ewjQYCxt(}eKYooId76E{fQ@GnvIN`TWBdPYdQ0_89A}-r zY<}I+#b>AzT~Ki_Bdmj%65ZsU?OamOpA$vd1}lG%-0Kf#|0&+e4$}Np=uew`MH^)BAJPi zNo@KK3TO6IEB08UQJ&mCC0?Q9wG&=DPM!Y@aRftvjn`OY3F+h1)-RuJglTOn%PbX{0B|6_P}wnenD)50NiSJXXVF`$ext{t39za7&%l z^}12R&w7@+Wy|VhV2F7H39wX#xbw$^M~4pdMr96W0AL`yLr>0}8$N>f{WEjJ%vjDG zk|{?WJM{-^f5d1ZTYn5d9tFk#>yH`85_anky$FwC_|x!&tZ2&>Z*b^UyDVs6%MAAU zl;azz`N|4<^ps^O#AB>~rn$0po$?J;+?QeD=K) z-s6_b)Pz*#-+TR;%AyuZSngKCyB59H|1HQ*fZqVi`zf-7&41G6oi z7_vFT?UC7Ybit^h0~oqddnvAQ{ew8Mh*>E2x}p2kp(gYeP1Wf&eQOZ^`N)gGQefl1 z8d<^~D*2?@(bvMgZuOI7`ImPOqC%GcIIl?9y%6-fdEXvI6Glp&?T30zei^JUM zWh)--!d{vA1H;k&<;sP9hm+CQy8cN#o)w52?{Gtpt95wdm&3Imn~ATr=MLoiz=Od0 zu?<qB`0H=b;9?_vhM+u}Cq zxn6%(3q%qv5$8SDFGQ8^IC>R-$pVbHm(?RDmOn7kGxy+Ky_m@`kJoqqzJu}Mt1kNr zDi7W$9#j=a^HJJ=+lZ&FPkX<>m>w7cZ2M1an9Tp__3De+x5%Yr`%kK|QH}E!9aTfk zY74jeP+oTZ)T}o<#Yv3omCFY7e(&DSOY|);^);jaLy_EvBi=(1pVv6EQ3~0SojqcG zKZ`k%d7jK4Za48?Puy(!--&z=cmkxx|4sf+-=|~eTP?fBU!qD?Fvm&sAVLzUy+FS6 z9zAv8XH;}lr1~XzLU=jizaeuWJ=&$5!x&-a69?b)bF*^&oP4M9Xzkzf7lZg6fqWcT z0Brm&M7|s}{X&;B+n(6=b|>+}zfx0`?a#D|Da>+B%rVjI$Eial&YI{bswXz1`6wl- z4@JUXsA#h5FB{SLYDMoH8{6z~PKok^GegIB2XV3f{0=$yFTT?s*!UiaJR78!r`pcq zTfbyc<-EpPiF4&XEK#{j)~SSNQX@#*t~^{aJ9k#jv8)%N zUp{AD)W3>(OTE1jbSh)SsSMLkkX$^~m{H=&qK*WPKTaD%zsXE(&t~E(LGDk_A^#2h z6Igquy~Oi3m~QsN-ub5%_5CgB{T5UYbfqt`JF5(8&iZN2x-7RjtB-n(uA^a|V0}|x z_pL1F(P%9jtgJqPl|qrM<9o8-8n>~6qnUi%BXc6{txw(jeTxeADvj(tVuZ(e5p=Qb z?alMb{dnZ?{84mm9F^N6XRqGj{yEsS&K)0)#@ST}i{EqoH5`z}GyXxG+~MtXS($pV z>)q#itM#%F8w2NfV?VYfjQvj|U-dHcRDres!EKD`zQSG$PwMBowU=xAD|hO5Ta=}G zY?ylL%6T$|JE)nx71o8_=J3Xldi%BhuTcGSka}IIUT+MmH+^B(*V*dondL)|gcLu80NA>SgFKhWSE|6Hy_-ye|1ln9)jsbrwbbcS( zkD;8HUjT;W9+MyMok9OjQDmBza0f6EvbR^*GdmJzd+HH?_6r{KL%;RIVf{YnMSnk< z1Vw-HdpzTZUh?UU^2SC3dFIm`E5Y?h|JVJV`FSt;MJ4gb45fE)gkdLd6ax#K5*;h? zRz}X?T;E~L$t}t#3K#V*8lD()k-L(%I_J_=MVDp8&d!d^j2%W(T@EIUM~aQ2F|^f2 zF?l6&MC2T{qvE&nS5!2-h?$*Xj3uunn3m7jmsiBj&qet~@5ySYnV^6489(>8KF4TJ z^7>vb3lCQLCwNDM_U3@?^4Mn2YxBJ8+^l{1_W?I|0$urgbLe3SId>#e+QxdN{V(?t z8(ogCaG!7o$k%Rkhm7M%n?;L5-8(#J#|~eSxXc}h>PLM#JK0r>Q@%s)pzvib>m5U6 zYI!{==X#Efm4l2!VfU{+b6G@~Q9~Y#Z=xTqL z1vS-m^tb2@asBv3GQYSNSPIt3KSdzdX>p$nIkmkxby_w9De$uVa9Qy_e#rOfj%1x( zfzQ$o^|BH5UhAEzy7sGBQe=W`db zlgC{4>RZgNSaWM?7pOk3_&Z@@zf&B4Adm%ox4I|%#P!#^7sQ;c90%e@%87NZTTw7RG#cZQXafMhY-y!>{Z7eZ{ds{67go&U#FUj6LEikHf!L= zCX_ALcEn!~^2bQz!@&$-^YdC{3C-sGtL(J((klMUQEI3mPe`AMbXp8(^WF}zZBU!{ zxa=O(=H;o^!M~GgG5Pt|s8Bc3*&zmNPC_#Rk0^54*Q z*z@TQeX8Sg(YzJawewc4<_so}{rPWlZ}!|4FYjhg+|Su!>-~v7O|ux2C%lTBxU^zc z`N!eo<`tTM4*G4o>qp2d!Rf&ApN}jdz1?NY*QynZ8*8Snkit|@Sxz&HD&4u={ee?7 zhyyY*rH*%;1N`37*Ce6c@NPAFr5=43`2+AzV0phZ*KNBryipnPS%45M0BAFOtwx{lJ&pVVcnMg(H_i2~>|4<|m%S(ERX0+!0z0b?X8^C~0_W^8 zEF4#MPVxIFJIfliorKjHz%6<`XGAZ7gajXM9N+eiPMbRkL)?4r?0!a}Eaq4N}H zAIb4_5_PB2@H88pV&8+vkApT~?fV~d-SXIX>rd$~tgWeDa)RWaL*}hmvAAYMKwEi@ zOKZK9t&L9^<<0lh!2VcoHP7_%mD`;i|3j|0p9dvo3L+V|b?kCEK0c91PS$a#=P zRbMGTqk|dit=9gx1N%oJj|CHem9N?G)f#=mcM0;9;2L20Hkj*{$G%%W4g^)FQR)qBWifNW z%p&ZVGh>RgEk>V|&R6?bd$$|@9Y(+KJMVH1GROp$zbCSUuIi0t6ymz-Mb!ao<>BP! z84H|Svyzp@!KQLVPvt7@=PILDc+Ww;5L^r_@73mdSG-L6lG**t7E=)j=+&Hq8P(2* z9M{ARK`N_?fZk~{{5y<(;m`jY&;Fnk*mlVb`{K2_v7d&# z4Iy^Fx?XROKi9inEhb&g%v0ZuvHKho6or55YVF5O#8HCS@kiw6zze|o@pW^(D?g^i zKk3IpT_w(@O1vvH);rnMiT+;hG1Q8*b57U%rSAp&mB=T69{|gLin(t6XWwo9P2*4c zFBuVCJIy}G*%mq|rDob{_*;#BvHvOL=fNw$rsF5bUx9S{%hSfE<@_dHl9J4YW!JiN zKFygM8y6kI3D+ZdjG%SJ&RQjO&P7>An<S&M8+gw>+Yb8IuMy6X{g0VE)sY+U|-S zf!!w{p91Cq%fG~2x4ib<@-Na05d)KXYK=LSWzLH|`_lE7A?3O+d*@1=Z( zJ0Dp>SL3ORs%6QNEEduxk5cW-#6;4$@>pkE??GffSy6_)!|0qbyR1{6{#g6F)#z8{ z0Qt}0MPT{gFxRc0?R#K%M}BD+sDZJ{1D&UP_s@>UI2t%*Xsp@rmcAdP^Wn&qU>2~v zC!6b*&%Sr$on5nH8M(Y;C;vqO-kt zqRbf4&lXz^Z~VjHd2JN(Xix#Heth`rG>=b@t5Z;PVu6vf|VEA~j3AqY+|cXQ~xqy`S> z3crNPbF`n@h>HaA(;LX|1NWmKzDFTf0eg<$^sn^u$LkuJ_G6m_v40!#yWm4$(<}Z@-{}kNzUoWO`A=KY&RbbV zTCJ$7YfM(ah4r-9(Yx@BR?+$1kiPxB znRFCkL#@?~Hhu=)CWbKT}=`yQl|UgmkQ zG((e-El`ikwTC*JqC?p#Lan&dPt7fccRPA*Kg7R<<73YM0G2l&SwdI+5DnElSIB~d zfK%NmYG*kc*dkOWxw7@1+@;E8nup_@r|q3%^oqSJkWU9c2A20ib3MJjO4?i3AWM&v z_X$;i_n`nUnC@I98`tSu)G%LdVTqp&?^dH%cy}Ow3_b;x_ZxG)OWqpJ9I0$Kp;*k*XAw+HE4gS;H90G9U(bKU00A!eUeYp*(2vu;_<3G-Jj z3?3YrJ9wY0YMuXr>)cP{IfqJ?K3=x<-#d#wOt#5jow4+LRdEo|6v=xn=WG9OGkoHQ zFOa{L|33-hlZh;$D?jkO#SF%Jv-L!ZH!AT)$r9)7tO@kcsb<3Tz#ELyU0~AR=okLe zkuL_91M83b%=ISo+|m4W$Nsk@zj6!m zW#V@pcc%ij^^0+A8&kzthuUK>o;lX%Sk&B5pGZ_3R&k+@r}Jr$ZvBu4gJHnNv&>w# z<>DJCS zlV;buUOwA8;uJ!Bt@caNzXHFEL7oIA0~^0-=DPKVeYbv5^CZ)}qWXW99`7{e47W|p zp#R74HXFU-mtP>af(L-*eZpL~eD=KqujH9ze$m}d&~EC4*4b)!W1j`~4niIdMgq$_ z!Cbd|_TBQXn$NCKYX7BxI8jEc_V^>69rXGzBTs6_@wQ(gak2JulhG^o-iUk~_&Kn= z_nGTmmD7bQnQ*dd-jbS?LAPyT*Awefb@!f}MR5NZ;4EYGwRCY5=vHvG=#f!#&O zrC=nm{D+(CHXpW{^8>BjY?7l^>LsmalIcAmHOVykCTwTC%xe1ghn&% zi=K+I^&#)dP<)f0d#xM(nd@(K!#|ND{%#QWGN0*c*HwoW4(E9->>n9A!Y`waj(c*N zq0cAku*1u>eXEJP1hMZ*#D=Bo3AkC|H~kL6Oa!E zhXNbF8Rohz2lm~@kNzPw#h03UadmJ*lOs&rioQ&pJ!2k6m-T0}S#<-KV-qMIgms#K zz0oiJxfl6i@CdN{zcbe@uYI@t3+fbeGFui@j5#RgoN+WqeGJDVsxZodPMVbVgW-+u z44!XCBA0{7!1De8SwdIq)NA#$aGL)M0;>zF&XqiuOP)LXKG(T~f##T->4(|Jl)~WU zaigLOFN4I8TNA76`X|e2yjlBWli?MAJdXT3@FcMD+G?&_KiGHck7XRz7dWGABrU0; z!`M!_KQ~O}jM3T|RfezV-zk1To(T2>mhVtx30*zsC;3$8LcAY?zzj({MF%>qbXT(d zoYaP8%-A;x&|-L-jb5?y=g9Yf`+((r%v`tj*>`Iv>n~*E>cG^BQKWm(;m&I;d^71j zHYMHL4R7qLAiobn9sx!H%Uf=)TR!`4d8_9&ETWyLivair6=$>;HWOyVVHzMB(egv{&8S^?%YI_g z-{=+IOOdYv*8w~CX$=Bpx>) z-vVw2HXg0!y0zQBcVfT9V=lG5-ZVC)5=fNO?k<|;G?fkXd-9B|795o6GZUIjJa!r$ ziAS~*b_zgmVB?WMmSEdoyUdfAw{%gm=oM5RFcZc(&ZaTLnMSAXrz8ELa&Oyi_-c(l z;X4QULU1v#d{>+6)?WK=?WUbA8z!buP8P}&oM*?3WHVt!d2q^ot>Sv^@9jpf@P3Z` z4fq~d-VC>UI~OfvC436&fx>#C^Z58-G~E>IKFZJ*!#Bt16Ta2R=Ye&=w%ch|v)nE0 z*ysM3IlthpUG^1Sv1*w-+YBGIqGL5zc`&WqYHqBTxM$Qw>Prvkc_1T>Bcx5?v*Mba z*7KS|k*|5=?Q@me^G>c&NNfvf6|u8Xn%QY}XhGGqE!lQ!E8-)f^z_?nS_0&WC0 zU2ZnlEsuTgluuPYNxt_|`6_SJ_O%;*!pAgBrwT|T3pYPle z+n0&!iA?$n-w*ZiBF|+_dN=BQ8p{7T=6iUi&eaz(UbjMn*KV ze?|e%VgBdQNuM!eFU%@He`~17%X%Rcel?W+de+$UV;({z@_Hy|Xzw?p(U-C^p2^C6 zHY@tAG<^2;wt3!Lo_@YLmDcB^kepoW@lbcI7nu|u$OaN&)@P38AdDUyZNbzkCL{8y zHtbW@J5JLE?Z+}d$R|f29|Mj9Hr-A(*KK;)ck91pv`nlc{0&BDeD5x$a1&3(dQ^4P3}FkT(ZWqs8;5d z;k9#F?VjR*`kS@=rQvXLUfp!$BLO|&%1e@$y4^obWM)4ILi1)?EenAI1+YBfX%=$^D8^dPqZ+iItd~{^=oy&p1>D%bMN8RUhPB^}0;GvJhUT2X670N-&fsyeMm*Gw$^K zR;H`wJ>dEGd&46`yq<2q%zb3;ZZuDZ)i=0I{FiJxoj!tI%*lL5lGJf-(f)41CJAEq zJ;;xOCxK1(znJSbpV@aCZ?nBsp*qLzx9&k%&PI3Il7Yuo<`!g6a{OuWfip_I(k6#Yp9t*)0j4L@@U^C4s3UM zISQB%zfJ3})w-I*zU9cLf|V)ydlKaaV8?7^-inVn3HBb*WoM#tFWfRpWIPBiB* z@-2=Ji!d$S=ZFAyOb99c!V%_I)MQAm=W_Z$mYz-MI2AwB{@oG_((e`I*T8o3S!(*t zYhYknZLH_wA11^2IvZ9RJ@JfiavgOE@?fwRu)+F!QJwO(Up5OhCot1W7BCTGW^QY5 z%W*sGE~WfUZfG_7>r?cfgM1;lq!azjT~XT(&WdN`WkRvgX_iwpRN@JdxKI95E*7`S zodf6S|JeqePsFmsM(v*+hC}k7pBZ+dAPd-F?cy239!5X6Vb$WsYVPSM5?5^tqp-~A zE9bW|HC*%^jeHC^zI%Nrx>GdqvOO$YmyyoISJp!5Y{IK#9Xj%recD34BN-;du{>O7 z6A5*W5wA?1X26uslnL8SytbM+NW9)b{yX@vlXxZXPsHjvi4`wj7>_dVp2Q?#_*6+0 z2q`|k#FkGEs&f`xWgZ`60QdeoGo$(9pr)I+~@wpzk1>9~v zv)`4U%sD{EOCoZtI!({7+u(YZ>(x}R?eOotIUJ&Z0DQU*^V>G+t=;wl-;52s6tNyJ;GCu{A17r zEYJDK5-N;;JL8$a6cMkW*=5t2ShK6Cz6+?-?^_MuR`ezKMEKr9{s?>uEZ>*N5)$3m zHF``rgngU6mFv8$X0HdfarkRf1}{#fcd#ofYO3zk_EqEte8(W44CVvNw+LB6b2ofr z#!rB+q}gA&&d+N0g|F3h)@1PF%rboOyEI=b`V#09`+kG`40s+`zL$|D#Jln5_|cMZ zCC#yw>tb2WF~fI$2fntuG+!bw;2VQ{AeaIy-*jXN?FV+9PezxGkrXUxj;~x7&uWev z!V6Og>+jZl&FD*@PwcxD`5y29uzZ`5CDeE4&$4lnfF;d|mFp5&%?ZP|HkB`NkLGjY z0bdW~5-=E8zEWff?cMN=E1M(>NE|Y`G*P#1xGt%0`na9GH1UI&pKW=B+|+0=>f9fV>7=1T61m$P%`8 z!#j4�iq1@KQvYC?id(kigrV&Rcb#=G}(g1bT({1LUv3_rUV{J&e8G_<6$k@ndzu zHc?cXC@W2>u)up&I&azinzs_YmUjVi16U0#?^(za%DS<4^w`m56HN+JWSS^5O{&m9 zd`&v>1DbaWdM)p3$RB`qV0k}BmeA4-@0bZ=MvpTIOwnng>@=yu1MhWdyju-#MM1zj z8@U?P0?WG$Swf;4KaU?XZcMpJV2V%^WvIy(qV;LKEe~pYH={R!UP<3)klzIF0?Ydk zWEHxxcQp0H_=zTkRasJnDOs9sNa3!3Nb{EU40xv^p8$RcEblyI2~FMbjwzcoarAhT zz^W*zvXm@LH>L1aJgj*)p*MkEvG)n&=fI1=^1gzsLN|UMH+s@ICL!vQq>7R%OUc5t zA%!>oOU;|;74VKnJ`5ZMEblSM5}LZZccfdaixdKcD zmj4K33ER8jA3JvZ_;KS@D~YPBNs5#zQ^`Vg`>y;=j~M&WpFqE|AGr~BT>19%Ep{^yV-#JjPdyU5sy<3^XO)|ZNa+{T)8;Y*gjdpbm*`3cSM6l?v$ zUx3^j^f8|auYC@XL5b5B*DPH?t&&ZscY(;Pi=g+n)t^02Klf* z@(@r8Y_Rb(ku*CE`ju1EGw5`uHA{B@iJR@8^ug$-QO8OATKlCbh36*Z+rcjkk35ey zcU8`U^|kc#Eo3)1(!?+OhNTSn>RiuxHY>MZ;3v=Lj5+a?bXoL~*;%GnYLN7?iASXW zPx~Z9Z?wuEcsoP~i}*=>gG~~(&((jj@LqIAlu2c6+MbGjK|jz85-w+pu*@`tAC^N;Z?}jg6mWC$nWPasurtt|Hy|qN<*dj{TB0G$#1VA zzX{$+`F%1TGM|*gT-1hb#l)uA*@-5xO&4ZeoSk~3H_>0)B6`Olj|Y>?XJVt(Tg_>R zi>sG35WfUk6V4T!C#y8Fv4+mE^j(s^M(=8LB>27Py%_m2(Am;uc#!jdmrS{V1oHf zc&*(ge)H=V$Y$1mkhJ0D*<4OJ|4n6G;|J9r#~vGsOS)Ut=So|IETqwXrw<6FYij*_z}(`mw^UVf@T{ZB{Q7?TbWceR8R1anz0K&YMMp8e7rkd7p9Rh}dPTSO!?K!X zHD( z%BdJswME-qG?@Fp@$25mqrezogH5mMW%bFOVM{Q(#Cf_<+ooQfCZn&`{8s#UI`Uay zP3QWI7aw6`1ececg_4=6;ke@AY1*FB>9=i2kbWN{e+s?;Ht0la7{v}mHLGXUvJLz!bxRzG(+4_h z`?77LDsbku=(HQXWkZ=ef)Yu`smRm8QNRW{dc7;HwD)u&#xqFjCy77l_^#DDnndr- z$hUz_DSB;wOONkAWu%9f&3z@8;5U;i!YXy-6IFF2^NRjld}%+|zq9{IYKJA!mA2qh zNlkvEuB84t{d=TTC(QC|(otOrel4GNj3Hi8`BujG(yz#OgR6lS`Cf}t%+n8@Zx4}&PMPVT`8*kJP!&y&?lSInrBBTy^r zI4gzuijt?eqqw~Elad*t{*-%d04v$gNiou9YR`U)W6cy;Ma1`(Em$3U8O;Oqb1R1H3Xm7xZ5lC zUDv{R?^W&JqR~OW#cru(Ox9;%YADC@+5Eou)&rG(<;e!?q`T>p(xZH>RXMT zdVXW)jh>Hu5xBGqJ+o_NjVrZPU$pgg8p9-+M4Naf=MlCWy<5;>$D3Y4eg(YViQc+; z)%i6Hjl)=3V;Z*TlcFd8nTjCsmbN=Fp0=T}do=PmP!4Rcc2_U0Yp7W$k?oJ_{?4sb zQeu0WTBpM3U5yTzUnl;&2>B9lMJIaIetKx#3$1%`G@sbtndW+eiyLZC*Ndq4a_&;)$ zSn~jhPHG!!I$zcNy5wm$OHCwqF!h*0UXi<-Jkpu6nRsWaqS_3ntw)|heippYNj#R% zTV7}4ajnFIm)G_z9^5~KwPQ>espG9kW-)Gb(P@iyKO5Q7^ z^r_Mje^>j_*-yn$m5V;e1Hn-JnTooNw~WkB;e5Ch-G135Rl*N+-dC$1B)h1`dN|}> zqRMoo;i*Mu!o+_y@;TtVPI&On!c|h9d&YC}B*6wb=gYPt=q4?cUeys~>**$=e~Z?o z?06OV9q{+g^|NJf79u^Jtdz1LjD4L)k!?@yYA}1^;twR%lT9qq{;hio6%P`Ik5X+C_t@=YYVT0_5JHkN#{Id(;;0Sfua8Ps;)g z$s#IkYr(mse~_OB zTRYLeY~F&?^c}5;bSQGZQnA)qTQzn5uKgW5Fz`bmavxBlKkMKJwGR_MC`DVT)2znl zO{(Gz@vd$_l^MNNDSGRW8^G#L^wNG>UW49qrG)Tu2R(V>U0ICApX3;B7fQcsB8wy? zfOqm~m~WGhVj-2w_|R!H{M%FbKS$mPzUhRY{6BALqgt_=OyTuv>Qu)RZZ~?%4+{J> z9eF00r9bQ7FYeQg>TC#~wew=zA3f#M1Ng_ zos||tdCYm9I7^GW(&*WqqUUSm?|@gK;@&Zy3}i2uOKWQ0LQdsa+$bGSx+U_k6X94=j|&pk(ToVdoBOeSfpwKf@j%_;geBL4#1-Mv29 zSywA;Qcqi{(R7-P-W@4=ze4^NxCig*2OZBwIW0;z^?T8FZK7V`1n z2VLo1HBWWfmSBB}vr$DhUGY|?1Sb$&f{p7%%yXJ zN@l0s=xs-bZ8v?7>>UzzBESZFzi*hoVu|#6_e5h)=dvuVjhfngG5!yoPv`JktM5GI zOTgtoz9;k9u0)p5)&5DPBNjK#n?HNr{G~N=l)~^)r8Wlh7AzRP&%$M>DJUDUZ_JrC z)j8jTbYFGIe3jwfhJM>#{uKG&;9Fq%ohh0>ecw+x7i`ohnOZf<63#WV>I&F(A;$9I zvmIY8^BU?E+ufV!$2Gi_=(W7H$PHjMu)IG;R>7QuW7n%|-kMW8Vcn1Y9?ID7VWYd& zb$sBId53t}vSym{_CBT)wxHMYzJdG!_!wB;Pmv|0+iQ(19U+GWa=L&%GO(axnmWif zT9F6uD#u^tI1~L5q25XfFYSi6;?RJ19&#;M3M_9OvV?TrPW)_7vXx7cx}Cba{sV1q zD|)TH&mlh#UNT&gztZ<9-o?LZY!fkaqT{n`k`AqgCowhPnS@*c4h7b}!;mHHfqjyp zyR@t9Lv2?x`m9|)N4_6C3@qOx$P#vIUy|)avX9T~xVEKn2 zOV|Uu=PzzNjlECmcZMc`7ywMY3jm2Ef<9?mc|`nMbXTT}GE zkNhe45?H&wMwYM#cB$qs*j0tR6r2hy z?@D9|yG_r4mEGgq${LlH*L#i+I0ud`9u;w0yXI{}ul1*UIQJZo4J>aSvV?BzWypMG zbz|bp#4HY9NUUTmWbByz6M9SA2KE1har-BxvGbYzFL73vNnP=Yj#nkTHeTzHuL9SZ zxOAJ&|I66yNBZpN`1>hid1*57*q#!Pp+|(Bk)RA%|BOYJkba(QO8tD&gwZGeFJo08 zi=&BIo#Qhyd$6|`HIEMMCVs2ow|;sI`B&h#CQjY@>Hi{DGl|hm$Db)NsrXc{^ERQ^+J7VR z&%s^5^0p$Yu)Fp`2iD7_=!{ZD=XIC?%x8N=rqH6W-S9g{1^jy5v`0>gmi9gZwvPwce|jJmuDqNm;Pu12r5_e$iOKnt+Ew;`*r zTYCf6iP$?rwRC>$_&;`>8dkU1`lf!TwznOB?GGw_H|t zs5D-yOZpwS8j#3Gq~`O)zcqg?`Yrzj$ZNr6hO^uH&ekp+Sf`Vlr#t?1o&${jttt9H zME)1}5?K4bLf%vR>T9YOtMicyDrMWdjqZt#eo*;m?+o6%?e_!s2Yz;A2H`(zg%WvC_{^k_@cOu^p9tPH~N024#LH^XoTy<*| z`Q~fw&)BhnT?3Ivf-+!v$0Dn+yYx$8WgnKxVX8bXb$ohGPUIvLTOPL?-X`?gbi4ui z7VtA*c{d?T*aLfOIk8k0FmzY_I91HiQH~@x1rbael8rxF>VYjZxmUD-PxPQDxER<9&?W4pTqNvxyRIhKUJx# zM6cytg1iEp1}yLC$P)Iz-Uag)9Y0S$RQ^C!gex6?r94Tec09Ek-Yw|0yl)|Y2tEOp z_j6oJFuv)y=a>dC_#|1gdP^lb;!R>Qvq{nqaHkiP)m0jY~a zAbbMPgCO1Co9jBB=UqCYLp*E*3Yy$y=eSL7^qkBl7O2ukR5zi19Q{NKC)BX7z$tWz zv3hHwH^Cg^#b%D$FLU6u@mh)eW6%VwU(Q38kRGp;=PrB4r{7)eblpv^N0Fy_x1!hb zet`T1_!?N=?~zs5UB2(Y+I7{|VtA*|33wMH*Mml2c~>Dz*b{r}R#ew4s%Ffku}0b4 zY2zcL?QKJ^wf9Zr_rUwW@_vM@!fx$NXYHi%fubtITYh4|dkXSGumo7%I%ElZVDF;p zDKsNjFb+~fInYKI%HH|X=kg#W573;{k4*_*+r1h6*6!DkcYu$8<^Kd(!fwlZ=j<2A z<5IRN`)uFu%gJL0cuRS5*lzgCe-QAWfP4y=4=jHTvV=Xdf0i6|#rZK^r?yiO)^@j| z*V_FI@{3>_u)KdoR$+JP&B2qYtevMe&!>jB^rV1y8uHQL7+`s4BTLvLduOj$yl9b{ zqSJNDI->1uL9eyOowD|4MH!&~&jfOkCdWKaPt?-XPSdtk4e zqm^u5cUqRw(`IU69{ueGZQ`BKmfEbleQ5_Vf&Ym=-CDWWk|L@%R=0@|C0o8AmgPt?5I z(QA3X624QyP8e9;7_x*tNJmb5XsGG_CPcfy@XkT6<*i3P6Ep$Kdp@#+-P#+lc581u zL)*I*y_WYQWsCDB+ga$fy+r^;GE!%R7sr3)b_Ta*V_9U@;hJ$u)H54OW1?-t<`(D zlfs3SU3OS)HN53j0q?QMCxiLG@-9SHVR!XX3Twr2j5!WJNV@1+Fc&yy^VF}$IkU9A zt?0G(K8ySp@CvZJuOUm=1A7~p>smjfZb3~qw;gAz;VqpP@E(eMB$x>-@3F`#?9Sef ztXCowFD7)407R?WM$08pH4gr>T zDzXZ@v$q3lS5Hqo)#PY)41824=#ON!_)poB%zqR{i2$BK?E?lb_VjTaY-Z{A3yQDmSBAoj+@~ns}Bi2;zAb@>*~iu<=}nETKz3{dZzn zQAt(dbBvlDTPjnd+W03=`*R!du>KrbLwbUVz{YbwWC`8nBld3#2ENjLm~^4_a<@)B zPTfB09iN$x72fdVFqqS9;=7jk*!aGR{2urK*!X^oETK!kp7dXfZDG~<`m{EA{&ezhJoJ-$3}&Rfa|Z1+7LTMhqa^jm-Z z75P2z0kHfZBdf5x`l(a)!zi+P`0Q%z2hK`P_mvw_eZH}OQNVvC@_KL+u>3b8OX$Y_ zT}nbj>iDzu&hlls-v zBV z=+>_%{r6*=I$Y;Yd1ycZ#>u)Fe^!umJql;F56X&_!6qCHFp-vQp6uD7pS zZl8PFdTIV`=(qC^zd;T!2|F3U@@FGU=(=CBekn(9sD8lzpj*<3_cr#U-`c+t`E0NT zSpEx;C8Yb^I=gg4D!=WH%!!XP{h@kL?2u%CXuaXxieAh6A@aY#m%#FVh1?l$C;g7* z04miw?y9-yv>V>(O9S5d$jiVAV0lkNR$+JPoyyvEx1-ZssQuiAUTg2`$nSz3!18{8 zyodHS)GV8KY+apfp3rr-OuOMNUl#DrLjD0b1z6sB$a`dO2i9F52P%uSotw~S?fgCR zpTKj#@;#5dr*bu*L9hL$BriTsT&64+NGs z16hULrfVu|VdZ2DK3Ls>Z^mH2ESo;A9Tnu^roXm(4*D(sD&(`l8esV^K$frvcGG83 zUBkeLnrG8h5pFZQThVKIKSJIKz6F-oZP2{CP3JULd5DjxDys>*0SR5fV_Zdvws$&u zE$>p~2CxcP-ZPN@V|&%|hwgGW{pN;$3;Hep`^cYzuYl$M4q1iWrFUSrWiPBe0prK0 zM7Oi}E_O}FT>SuJe`CO3i(Cg9faO08c@OPBjjc$SLD+ppZ#TSc=(Tpgf&35fPhfdJ zMV7GJ^iF4;ip_fP`%)4dI7^a)-{@;fXuB&`2K;l87lI!F%fAd+LU+$CqsJvXtWrkb zJAd+MH@utCYwi9E@>}3NV0qt1me8f$Cw0bJSbvRM=ho-e$)o=tup2n1nn!=7uWg{V zyZp3(|9s?2!8&01uR@m4P5IvC$#MmauVlB1Z5O3=tBfn#gU%{=D+cL!ZYLhrPa{@w zKL`5(8_xrgRp_c*{5N7Lc}aIC*qK2MraQseZsNI?c-VNpg1jBP3v4|9jx3?Od^Bc! z%0zA34*6d=wX@Eu%E8*7WvhdDo`ZZTXa+W(*C0#iI^X?wVp&*qZO}<&XID47$&S^; z5R?AI$NKdPr+?Sw%1q)NJ@F(P#M<=5Ip3O~31qe+q5^mj8BS3EkVh`~2Bv_}bBD`TQT# z4hB7e0Jo3q49o#?ZCxlPQ00mZ=b^+T4> zoqdx6#xC=1)jrz3TJ%}IA0uA`E(4aY8CgQt_NB0OV_$rf=G%ro%h%^z)^>uS!19$M zOZZRPr`4xdFAWw5+6LCbr7IiQBOx)ru5PIri0NdKQ@x2-Exa~fn~?7W_nNqLd;i>} z9lD3HDdo;r>iDI~TE}TI@z|LXkJHyMHwT;#tbZ;-{!jf=vs{+zYfq##+sEowd+_P< znwkZ>e3d{r-60&-)xc-}}C1CY)E0QmZL~*(=wy#(zI; z?V7kSJ-^4!8yj2Fb7WWjcj2ph4o>wTgVD|gI=-uZqvJO;B$`{lzV)F0sD7N;becTs zO9z3~|7;}hTnGIZat+hc8cX8RNFF^7`rF23aL94cw^-g4-}mroYORlRZKz+>T;DPU z?&2CJ3Hwns6aTq!8r43N>)@qjKD1gxf+YMp1+$}leLrczg1){cv-kNuO}_QVF^q=TI^!ejyE9T(m`Ec(TPi;7AOE8H13&Bwx)mD~+D}ef*D%X*eg5^-#%0NW++2sGoV%dUuQ5w}aABk! z!DS*FCRPOW?T9|V9ogr%)0^s6xj%?jK3emgTmau<)E_^cWs+oM|4%c|af z@CxkT26h3e-hKhJ2uD2s^uM(>3QX@zD691Ut+jhs{wNIpTWcRwmjAcbF8%*?t^Fx& zB6^gI)vOl{%>Yn!e@HXOpD?wH2=_6T%lbREC0>6&3;G3MH=ye8S3pzvZ~EPb>jyX1 zuUp;I(62tIZ$SM@%!DO%w$|015%2i)?k+Xpmez&n%CEw?GU+#4l!)??huJeo`h-Wh z`nSjRe;V{lz$<{#{|(R-j(j}z|1Ry-@;&?z8vs^yr-@9^q4d8puK&M5^Q+(&4^aAh zKvVc{(w|bOCyje27kU4Uog_!giEZ4vI^58Jt=b3wg7Go@GxzyZOa0Qb`uZ>En?r!) z-t)5hRp{l?I>$jjt!zY>>jx${j*|JM2KG?>oxxYbhX61NQ1%)FT7)C+@BDw?S_kij z!8uabUYlHdkpJdif&LBf96)nHbbdMi8dDn#6kq!@VK()C_{3YpXEgcsE!a3c9Ou+= zY2C`!Qg~3oStW(zp1K!JG1-1|Oz#g8-)KIgOHkUv|?Bp<`% z8dUzH|AltNjlThLsr{+vfo=mXOo+d%ulU!)59?`XL4ybwM6?QdH-kaZQ{9iqT}Tnn_{_?G(*81pNKRc?q^6F%>`qj$O4 z{-+Kh#_GD(hEhyAt;c~3L8BJMPJ8UYcRx=&4O^YXFVp1OC>-ypZ)U8S(YW0Gb;g>x zb#r_FRRC)Em@ zGlM*JfteZL0mHOY9mmHTp_37+${LHCND7QXPl$9%;i*%RS3^!(D)+$Gzr{mF2=A~3J$bf| zALR`2dCbvi<87s>r$^I)%n3Sy>si7h z#BVIDE;T zHIpTtR726#L-Y;Z^NOe8;C5U|AMWk`b>jczj_|)N{hw16Mc&qNIgUl#IeF!VUw1F~ zGmGxf1_ZD8l|DozbA}ghk&fYGWIAlWL3|c=xF7UGz+>_|krp+Hc97JMu@JHgW>F?ZhR}|f`B~n+WF+D}9VO@2COt-+QyYjF;6{wZR_%i(kb;s&tKbE4<(K84GdL8El>s&16e@K zeGhlvIoj*&rv`4MiJ(f=(RuTQQ*a?*I`?NA1(f#vm}z+}bn0+@dl2c>&luqwZ1%JB z1O0p+J}A;}oE^YFs#w3)4Z0JCLi;3Xzu3>>=`|7b89+0j^tvB3h2p!9NUs@<3)EJs z|4zTn`u|=1I;TkeoNe)R8xQ(8;6y<6BQ}G+4oFV7t>;PqL4Bm(?7B6rG7WqENMDKh zX{2qm`R}wjC|GuID!U5Q!6;CiU9~*<(l_DsO=ftbqe1fYR?|&?|uC z^xOW!`X!`gwDvU`TciNlKtCXT3F-4X*LE5Q>2njeZ=_pJtnscsyth8TX8fWAecpgR zZPTSbog}NP&+kCL4ZH{7PlQg{w;Vw^n~FP)63W>a6r~Bke4rknBJ~HZZ8yVcvcf!t z`|&S;MhTP?;URni9SU0hpo33A`PpOp?2v7u7(Kvyijme`E#+>2Tq+&fKwk!I0hHW- z08Jq|9S+Julj*8pQ9WG6A!{LIeUxka%xv5cqce};r912}>Ik6;K+_9aTq9!);<+hK zgsw{K??db0xbBw#wArtYvd5|J47f^pIz+l)w7+c)6?t-2$uwl>FC# zrm!!moxmo6rA>`zmDZoRwrhNgKrGqP=5Fnbm|?jGoa*}1DZl|eo%6`$HS@4uH8&^+#DbZ zR09{#7vkFz%&6>P=!efPqK3A=74gMtQ{cW(of$ z8~6f#GF!k$0PT$G@tS$kt{sps2Kh+-he5vybOTEMQ|^@V-_zN<{Z;Z8mn?%9SBz{2 zm*UD9k*6=DJpBw+9x7u~|AP7xB?Rb!`t*Dju{@@U8ZN?&jGz%2t(S8r6{EVK-)p3x zI^;$a_V+txD)K$|_%X1n)MxiY+IXCF?(yb3`KWqARtiP~K_{3O^jO@-1Gf=l^h+(1M_Uplm89E?7{2OfNA_>1Tj1o!}_(feH?XVqss(Sx1&~F3p0m=@`elG2h z+)gVy(7lFYATLaCHJRWAG68j~1_0B6iNG|V5GMG!rS0SqZ_r6)sW~Xu+&Wqx(S1k%>a*%ghvXHfX=co9Xd}{X<6$ z@TQ>O;YFqna-F6IjI8llJk=VA=4T`~O+B2-gP16=BmS&x<``Mi9q#pcLl}olvgaYY zui~%ZRwrcq<`bo!TcL+a?_Yv`9@q^iJ+-@}p8lk9f=chY)~4m7N7b*#jdvo&yC}se zfyV)k}?X@brud|7U!6-EQudUT|%qu-@z zx1f)WbSOJn%3BS2RJxo3`W&DQQ1W(yrm!q&9wJfR@{w_QcapqSKwt9yO4shOddcgM zyd_ou@&@Aa`XFzaEALHG-uQkKS@? zIO`?r@s_&A70P|5`fkmJ#@4#^>I{29ckp}mPLOp6FVe+p8yByqY))`H400 z8EYiB7|N+Xz$>}0z0j+>42j_#P5dLM~?Nv=(%bI#s zQAcY}L<2ifw5?At?H;EH6>%XiG{$?7S`&=5B&7^xD<%Kkh+p-iJ_P+G@C~5&^IuB- zd!Lj1AGYK;PUY3&lDTVFi>x}hROQ&b-TWH-!$!9Uddiy+$-h~!>gox2f$m& z7rYmD`2j-!C0`}zsX(%P2a@Gm*-F=?9Epf?A!23a(J!z{Z^hw66bae6TFTi087lA% z<)iyR?+3mFl$>Yp!2AlZFljwu_U}4GJSsg!emV||3)F*aV;^v8K@RtU{CcXZChTTV7-Z{Ta+G3#O$pD<$8`u!3pm=s9#|g`8n%hfgW)r8WE<{bCBIUngRjJ2?u!U3VV-BLw0F2O zZtnunbAbhbviC1QKL)INROZ)bo|5nNN%fhq_Y7(7-Rx@qGGn{hGfcehlCS^B*U#i{ zC%-JR^vz!FQC{Q(p>$4o97{jNU(U<#;e~@?u#Nmv#xG~=N{f;KeM%js8Uu%6 z8O8>Ej4@sxZEY~iVXk3VM>|{EBlB1B`n?GBRA45c>XA0k6b{wjoY>m5Qf9fEM1ERC z8BAuU=R~F|7Mbc+OS@JtLT@7%x`q6v*Y63UTWRsvS-Rezw2kJz&djW#!+C_~7N9id|*4eqRLm$otqf@kY76B)l6=9}E ztYaOI(Q2*BZxiARBRap}@+YV1dzc%3aVU8G=j_T-7VXhIA86HeyQ4V{V8M!?TZ0!ZoE@k(} z<(vX~A#ehqw z={{Uxtn0p%bR&ZGDF zf&s42h~P8sPb;&tY!A%HFv6ob7XAX~0GD@1>j zY0sHOFl&hU^ZFUS0hzX*o||K!{{T(GdIryidHch(t;Q*2)@jfqo9D6&EU9xIB%`B$ zd8yQ=6S69OUIP6m;4gr(^CzH>(9S~SDNXBWX+JfVi$YkE=fKuWwYSXzDX%O^KIGOp z;&xTkzpfk=569(L2)Z6P9Z+&?0{!2}Axvk47o+6l0*+g2!tcg@Gr}{x0g*FlHPhqQ z(dM9t7ka!jM~*#o}HKK};odBoI$fJ*O~plg8S^j`b}>0Q4Jotk>-wA~2f zE(jKG0fMmC#a!#amZ)^E#WPXG2QlYiGjj_wZ(_k4ncqq^d>BPu$MkT{#mvFNh6nDh z+89qwInzED8XRCo5dL|%$%4FunWzy_qp>tZf*;#1mwIi7%rO|0+K1nQeg)VAD0`w47nD&a{n0gMZjgQ ztdu6>-1bcElTf89QC``gO>SDTZZ`W7^K0Y z9a~~-?ni#W+8rc0)DzaUY^EEYa#K{Lu`N=rO^_i5{*=ylg1!s*WrAFX>enRNYtCAn zXKG$WZlcbCROe`WAXFN5-k|cgGIX2M5_v5{)ATmO0PYH-*zp-&S~o%SltN98 z?#Ip`zct**)`K0dMMpLCdj9APnOZo9&T2k zE~OqN_4_|#{5qZI2>aGt<)%CIQ2pb;<2dsS^aqrl<3LkLUT5h`PqBS$L>XyVyO)*% z>?NesPq=ogS(H}7v#lXm077*@Q^mHO5iIGD@1hAxE> zAIoEIw_2;YM#>R>A}+^B&y|xF-JwZS6L>sA zpj&`-fU?&wKvOu>d{^DF)7P$Pr7Z(fXk;QxMhRH9lc8E32n2z7qI%xTwRi0yybxt0 zjDeO7rA>6()0vKOF;&Ti6VjtjXmF?i!Uya~f3rU&^`+dH=Vmvp_IfGz0m!B1*K@l} zZ6YuYP;&nZG=*k&zWQ+GeL+K0OKUweh?n@?>=Ip!`Oi1R>j63DuN5Cg(2)Oa_Jv2g z8#8)-emNLt65juyhkmwt3sWzSnd zQ%Ih#Qsp-(A0P`D;VY?^aSWiw53L5NOYqU8e< z7)!nDW@EHUPAzsSYM8=&-u^Hj8ywf6>M3N8Jci--c`O~_q>!UC=nIGmYXd{aG1gzKUSn4#n?+UZ@PljEN5jfVx z91Ocntha|RGwn-FR5_tvu-r?S-RQFhnd#}aIoclBKOF{rf*a>@>{xo4^9xOO2{XQB zv`uLw1~jkvj8c7^Wt$h_+!aE{UDDp|u%+rJ-U9m9z(YWfy`P0|CZHix+Ii1IG9TxUjILII@qdUSPDZ(PYPQ!VKsxNNmLeUNU zYKE=fyn($hDvDcB_pp9K-{xORecPZ53XLd_*Mfcw=mM0!p675kEwDHu^;PX`@p}1L z<*((UJc_o1I>r6k_~WP|Q1rf)ulwa|MbCFsCcd_{Hhl!=P&&-Fpzicq)-di#)%)AX zIo?#{C+kXPqQIo;X(m?o^%wNW^ZHM)7M2$%y^f8=gtw8-E@!k1vyBE2(EKbcnfnt^<7sa5tdJb=q%bxpp4zyFbxF-F?--PzmblcffeEAM5Iu zpYU8K=+WX?AfCY|`%#kr&endfA8ka6()dx~QeMK#($L~?(_733@q8@rV_J!4VD&zN zRw3wkh8RPAXl5`l_hM=!6MfMP3m?O_i$KW`V?a?L&SQPLJi;Pg1IwzXq6h86 z<_r%`|70O2rv-}x(=d>lZHJs$xJ$~H>OUn?n?5;m1H-(3&P*@1AnIx^)uth;}n9e>2w2ZorF@?oC76g>gfW_jhJk z`4|?V153Rdqrw<&Phc1%v4A}za4Hky#`789$WP;Se6Bfxnli2ZDJfq!_{Z>>#uNJQ zG3Ehs0cG!zppOQU_akgis!wHmFBj01>}xQr6XUurcAn_HPZQ4|_2J)TUofp-5l=ta zYgI0Z8f84k=BL?9Asf2SSkTe5vG9;wk0y-7)!Lty^0q@3CGTyZ9|4{Kl)P_%eg{aF zcWa;Wx(iTU>@p@qJ61f?rGQs*t*nUmpXRm3&xjg%rfx+cq-VB02NGeyRP+g^@ab%= z5)yKDJ|pEUdptbBFSQ#a^p)h<|9xkm8}Ff-nj_S5~SU&Uf z6jqF$+#|HAAyQM*s(vfwuYDmde=F$Afp$R2-wAprkSzcDKIL~8aG}5fDf#pAl_?eY zv7wzdl;@;Dfv7(-C0d;6jY5IR5FVmsijMoAN%+%@c_e&wg76(u_?q8Ixx+8U`ym5B zj{_zGDt$i%O`#!8)>F#vDt%>p?Cz?{>*ntn?{L z$5XIn${(uY7~ux6f)Qn2Yc#gW8AjC64Q#%{N~qTe;GKF7e*)cCgGYbE_%2ZA@?+U? z)(n1hs`)rG*PGt{sOK@J;bGGe|0C-4;{Wx(j`6JwtBkqakJV*wKdg%wUKk6%^?QJs z53;~*%zT1jj6-|yJQ(jp@buv`je3~9RE#1YF^qFqgK?=Lnzpu=q`j(MijN}~fIbB{ z4N&&l09x4V5bGyruEk;KMJrnys50zeZ?bLZweMyBVOmZRuR)JJ1W@mtFrRYSLOzer z?dh+#y)5O}1wPeaMCIjO(4PYb042x3m!%vP6*Ap+yYnb2-Ri{nVIE1dOo`LY{${;H zb@Mj%4mj^+cRJe8!I(m+M0K2rTB8shihhyolr?M(JH@*$G(9bVJ)YIMGq6iiG$tQ$ ze!EVaMCRxNWmD4mij=nv@>IC;J_!1^z^i~NAD@8!7jPhH9&%Sw`AC$TP8dkpd+ov& zyMoz65E z_p`h7PZ-tpvCTgG!8SE6c$X6NlX3hy!+FoaljvlQsRoDAj zA;iKfQ@v?(>`I(@o{GLuhOm^uv^T{Cp$nt2s{cX zyFLe+!lCvriyV!zm0CM%i34LTM;D_&6sA$s>WqWU@WOnS%P;)Lc)dLkbSY2{D1Ng* zQ)so4{i9R)9{N4Vp)O#!V#K4Ej^Sz)S z03HF99M6KLa9F(;HcebGdB%)h>VMOx`e@uF-|#DO{fB}+3OE{2eCLCva0L3tx%V=| z#aLnaK{IF_t~?#!r|OAEK>r4K4p8#^88n4Mm8*pGa7z`gG+(ii>e!2LHW^tzE{nm( zQ*z8ThV@jhTG?J{m*Q9Ba#Vw^0geNd94kTp7jndHlPJ#XhZd*Hm7^1UGQo)Q#dDzF z2Hpdd9PBkI$D!u$C)YJjf?Fif>`;?aa|vyc7$&w!&{hdnV;@VE%C`(d-=v)ugMXDP-?^Y41G)fJuix=H=JkP`q;n7t zC)Ml6H3|_YH`L)iJk?08ZEUE=AQDpl1WiBACeUjb?z61 zLb)6L+S@o~mO*n!*z4@YNH*QTWRa;av(W$Z8(!vMXBBq7(%v4-GY-a%e(!(*`Jl3a zkwCz3eAhGc8Z254#@y0oX07%FaZuYa{j?zHxe-fpVRSoC)8a3##~wKERSc62cwfQ1 z!5l0{nMP=lc_Mxt2!y;QR(F{{A5o=Vj>bL(TXIrOCxu6_5z02P9V#=|>}ML;xu!S8 zV+K^qrB zkWSqn%5-zyh|iB^fo=rW04iT~gQnnoE9qj0IvrtJqtd8OElLQa*}j zIANR~j~L?vC;DhMXCNjb0z-067(XJ!(<~#5*$zK1XEpJP)pQ=f-Vk91E%t@9Tg9GuJv|fj z9AF+mf%5#J)+=%72YwD4Y0jz)>Xm7~$C4=)_pw%H(f_S+gA767Rq&EaNBJIn=gjZ3m>D>!F9z^GeViz#V|n^8wHllKnQQ^0pE#IHtGM zH8-qWN{(WoZ?twDmSE`!DlNnAW%n`d24^59Wk>R(Fso&gGlzxzI3b0mRedex(B71M z$lgKF{ecod$x-S4uJ$LWcaI#>r9%|=nX#H1sopI>6?-R}HR`PL$f$yHcyySRGS(U! zjbuj52+f*R@SUP3E!5MhzL9cl0w2|`-2wU@;8%c>;{nhVlH0X}`@fV(Y6ClLl3KNT z0$m=VuCT!^xvq=K-7a74tvKIo&_%!yK=B<8T7;y1hmvponWcSjjn=fn4y%P7F2EI$ zfOZ2j`m>3y@eyJ7zop)7h+pY_6X@H3p96~j-JmHPf!@n{mLCs&?U`2ft>k+E@hZM4 zf5F@~UfZ}&GXbMN5r`pIv>08r>t8o#J z_8+NdH{w-%{|%bI4gY0;;_Cq|!Vl@$i|fIP*1G&^5TD}L2zo8B0Z{zT1x?`y^rS6~ zli{Y73U}}8&Ju1a>~{I?LcEIaUeKQap96~TSD;1sAw7F@os5huZz?=jGtQ;U&cbrM zRQsK@Z`C_-zKcOG0hR)a?{d%-lKo61l-rX=jF9)Qh{htd@B3GFyZp8zKBeaqpnn5A z>++!X_K<$~dUF|tN@0{{jMBp2OFf+Kc)T&tgMcA`(xVjg59u-T2=0+-bNMwRKBdRS zpf3e};_^7W9=*8q+#}QF#=AQq-p@dP4g3dCdT4+BVLe8RYm~&XwCTbw z)reQ=(*U{^*Z?TL=Yghh==3=R*Jy1UZ7q_Q0R0MH3IXk$o+~T%yZm<{e#QR-(EEWe z0LA}bpeYo*#7B`_YK@B{kw#jQuZ zb~pYu#N{9^>VI4f`bMAwPfQb!_sbg{`Bq{_Jr1wjo}n|5ni3fZG7Y zcL(SnYWpF8+@5{R>t12h3s-g)tG(Q`sEebHY!oej>E<*QJ2Il?H|8@B{BYwsI zBG8+F%`Q*MSJg@Ta9qBPP2`VlaOrGZr2u6aI5BuF!@g5D-aUw;4F8|<(|4fL|Bm@P zfa0VD%%6b11=yD>=fP|5knak$Z$;`ir>>cp)X_e7`AvOeYYP~|7an=W$m`(WVdau_ z@N)6IRmTxCZ6BNZ9?RUzZsYH*Oj!H@4$vKZNFw|=?tvd(tv51HaM z@?}g&>|+-&VXWKng0Y^rgqg;P=OFDWzLp1HBV)bFhVms?&kp~U4Aaeq^OJeho1KYo za?i0ELYTzyFWES%jV<2jZDT2>ho9<;M$9*)f&R$6o@|c2(a+1z&#^E(SZPP|-!sfZ zVqjK?QCx(d%Fp5RvGHdnUxXbp1w1n{%3Mg5#03myyd5qe^bW%sWiGb7lngg#>W-40V&TO@KfWO8vVLe-%DcJ@7T?@INq@52$>- z74%cU{(EJYRX$EqDz9vyPu$7r+myQH)mVbIUZwlA#$@1vsM13m-A7Z z`GnMz49o{!&O@6yR=mGug~!Cvr}xY!Z#A~W24eH3QK zE@UEOPe#T*LuBmYNNL)FtOl8HGO-wjoc(Xg*(Q$AFOKf%8(UCO%$@~D2`N1*=$WPcP-_Z6Ve1}gGo zy0_gW-?NPlQbX1DqW+&!zpB2qUe@-n$=ZHDm-YM{k=W15#QqAegnGWizy`wibR_n> zx~S*j&N3Y3*nf>=|4>J={{!F8!!%_sHYajE%QXLrKeFfV7 z7-{5_c7Nd!`QF+`xtmYEG=%x}9ekV4I`rr8qNYQd|61A1zSi6PAH#=p@DXfpPI=fU z=2mRkbvjzvt$1*&@_OBWm2O9o5Wj`{#+2vq7q&mc0qS@n0? zKwk}P1ys6pf~IhdyWf1hTQ9oxvB;0BSFTypQyJoj!(-wgbjGd z51w2W(Y|kVHsNbX?v&bStfyswSdNrO`y?(;7U;pi(SS;)deE)Ff&H>P?{eFJXM;?y zM7fr&Y-vULc3X(N4*exvq}HTuIu+@KqO9Dii$ap8J!6jH5y!v9L<(JD4&^hjgDV9U zm6^)Si%enoHXM`=leCXB<1{`MJ)w)lR?CGj_N`dsW_em|f2l_oWK{XB8}x_3en8pP z*ncGX9rY7@#U?d$bRk)`XnU__S~rdaV&5?ikecXVg`Aua#H)e-0lY-Wlk(JnpGxOt zpw|HF0VPj2XbLKwlj_SkbSqd-_ZDd^&kQ}!v10iThCFf=%QpsQ;LNf$s6S51(_s&s zV20H!A2u@vr`ap5BFh_ri)7sj4B{nWtUu)}37n2zIC@H{e(aPFaqP6oGYitI^Ud4| z6@0jb4UirTk~{%y`Ly^zF;u#M8%xRwaENh| ztKV^rt7Hd0TD1a01`m)844L4CmVbt|d44d0r4VNTkAxlao0UQXxc;%D2GJC9voVLI zO3UvqkaFz;UzHF31o|W3Q$We({Y=VLvs>opp8YSf-aEE&Y5m~RDNU$tqP2}^jb;EL z0Us9bzhPQ6_VnRgMiKHrx><@1Utv9Li%dGf7{iakuHRAAF6}Oq@+<~F)efBw`fOk$ zpyb&GnnHym%hMijuX0s`Th0cT)~pr7+Ah}cBx7CdF8(Ao2Yt-$*R@|`FF`OP6~`d3 zcNIl_HV?BFUmg!IZ`4aA2fHQFVw}jw@Jqzr^Y(#KuKnPv*3S_H@dlw4ClQz-tI zwA0rA^lHzgT+^jPedJD21HC|p**<0;bL|^e1RrS;bg9uZ8(>;l=(nU7M$ucv>LU&` z1tDw!j;#3ob`(OE@QLtpkcZQ21@=(sn?f5T|H-edEqvG!Kx;B&K0%R%0{>`Ms+36=5=5Uw~et5mbMK!>SOZQ2}c|_JVmEw zY;LCoQzLxXy)5MyEQXa_55)DtJ9Q?UzhRk&YJoAv|btqPr6?t&Tj-vk{XMF-+ne$YskgXGclPpP_XNE`BWnw)$T0;eLBzxC_d{zQ#eGs zFn^KTGR&ubgy2}5$6_HkX8nxK*B0k`^NbL=otq-3k+iB(Y0oaitN8v2^j_ctK=J(s z^bzsxX_8XQPC~KD9qt9^Ynk?=Tz@*wxMX47IxXO#{`V|+=Mfb@#oO)5QGFmT$El!K z0;>Tf$2p*nM2;Ty=k%z*PU~a^exH$US9!zVloX8)()3;*oF9&9lAk(2Nja*) zN7dVPpqBv+E^jK6$@9~0KeBiF*JIBQkAiVjyNRR!$}O$RjlUCdDLtP9{UY!OK5#h58*dXW3)td}Qp;*f{M@K2Fn$dL|OuTz;`{;`}N=PXHzZir;k5N5ZeiuBkD_ zaeE@iE|=d{#HZScU7+^>e*si|miceY(*nuuM0H|)R$M|e;?r?<2(y?Im&GSB6TTLg zAd#7?Ze?y4>`ZjOzQ8seOr8(o#rmL7iIWE3Md*OxAQ&~_*bW5`G&Mp+43!Y|lVOa~WGcafUC;XUbDc>aOfJN$dv4G3U`9uf!;fq7yimC z`d7kAs}1ayrk*2?eZ$j}mz4;;W98CL9gu|r)!)AW{V4DppzQRT`@3o<)VrttrX()w zj~eYbAc9&Adov~#P0XGYnMivxE@MTPvh2%Pwmi7n>GpNR*m$FrvDX-He4i05{K#mm4ygM@fC#5ud6*ZU?;sxF1mb9tKSz zc^);sAEOtyxv0YyqYk^1?E*&t{!;kS(6Q<$$?pK-Q~4qDJIoaUc>o2<6SpVrKX>aZ z>M@`Sfy-uiMWOqrdTNw(@JiPV@{LNN*5y-+I2E7sL0<%1`aj~+QCxfFU;KSsk4d1X0y6*#M`EwRrG3la<;LHRxGE4A<@XNI_X76;D*b;8 znnLq^vV5v@p(~q87q#F<-~~NS+uGR0VsvsghR$DMNk)6dz;-`0CUg!umrpa!p$=sg zddSoGQLKb&EQI}|WxmMNte*1}#h@nuQvfB$>7Xer&XD6aDc{53Uj_bTr)NRG1iS($`91_qq4n3&POAUw$~O&HpCiFiJJ?#R>^_{`9g+$-j!l`JV`SHP8a6dKCL%wVwjvB){C%$4h%b4qC~Zi_6-Y zN@uTJy|R_eCL8`X7-}PHV@32x$Jp{K@+oq=ng1Z0b|0(2+=uPtVDz2W$pR0MfI~6R zJ&zJFAGa57VKfRB%HvUWw3K%rWKsF*Q_wiAseKP9d!?d}LBXH29^uMKw(4Z-=t%un z?59|YNwSr=sOY!^J9WE!YY}e^;-z$I0=*Hq5Kw%t0!^Xgy@S$;>@#WY^5xPfo$N-L ze~M-P`5XFV=3uNHtiwrkaX{%j<5V{jBfi~ZrQY3$U-AD0v|qQh2%z{c08L@nD48w~ zyK+EpTH}rL-;J3!F_vqWuesubO#{2H*e}R$NxtR7O;{$7?~HXubDw{#vy6Ll(0A|; z@>OS7W8e&@^-caiVi zs`Psb^lsoaK`5!O7DhWY0R|bi8V-q#R{NT#lKbYk_(|$#EWN3N@}@+l2b5xMV^7($p7s`D)APA@r;Sbl`2;dZq9RCCievha>1<=2tPZs1iBhgE@GS#h%4dHD z{WkEPD+`s$%}MQ;uuGCW3+n4>==A_YisJE%ZDMxG?}uLi4As*k@F(cwK|JAaZ|&p)}g5B4$n zXqJjKBJ!M6iK-z_4?Cv>M8)|iGwxDLL>-f*ockb$>R)4mQ8NKJ$r7@Wos!o@`m~d{ zC6A}VOsU#sPAdK9E;s&a#HG^VB+#b|X@&*EcPfIYMR30=Psg&@zOL_q*|K zM;t2ucY%HbcneVW4cJnLwijhRl2DF|OIDLZtmItR$)4pqXqMw+`3h3Ka)4o9$bftt zhp^xqXs|Pfhy7K#W-P-QWRG=h_>LKBmGkAS(DeGu;!)%jF$?+e7qm_OEIxrW zHt556KX|SQ0bc2#Xe=B(ogwSO{nOoa2cJw=4jin|93TKFISN2ixc@n6zb@CmlSqF! z(_g)Esp}P6tplevuW9n39l4TeCAm1GE*nhhTpWYJ2aIyOQGiu45ER<0r5x+QN6FC+ z`g-6lfbyO=V2^hfKC5xE+W%b8TURa@BByI|O@(Xm<4lF^}CmOUl^=Ig}mW1pNU3hv2>JI2xao z9o4z{7aBW+{32bYye*J-@~Wn|zj34H3EIe>2@Hp zF{zJU!;An%cPW9`Y-5%WR4|Y|+q4RBmM3!#SsS?`+v8dtJ=ZL31{G1XW8Zy zICcs$1ODj(OmuA9W=s9HLUvVd?gjk_@C2aJ;U&-%#yu|c>wY)iCg>$}auXw3yB3QX z;U#4IpEC`kJ~+R~;=_1~T*H`Q4C8~y;$?Fr|4d&zAC!Qe4a@@+|4TqqIAF;1e{1JK z`9So?DI;|1ZyGyv+_yVeJk!N)wMM(VK-a;kh{_$@63 zCk826P_>mR|n$xWeMmNz!`wzzY#Qr zz1t7!=N6aLpx%%beNXLyW0AER9pu(?wC^yVV<%LvBWad#rM0{KcOib2&fTEj z2R;N8|Ia~FNS>z<>6^%3BrtMqYVG(X#DB4N8S>X~;#sN=3nQNWF5jwP-0pRt8-P`S z;(IP=3J3b?_Z-BRPOqyg1yXBg3jtPW*FpegfMOD4d|Z&)1=B_RyTGRc6t%P6p!WeE z0ZI-n^aJ)636F_Ul>rhG;MWQKseMaKfNqz6HR4zHuLZpVI0I1p*MO#QNc$`P2iyON zzU*JMQ0m=@one)8DWO+BE=f6pt_P>{t4`@e<#^fZhx20~Ftn z+}{;H^-kt1%+Lqpcas>G9VhKx5sB+N5%hdu8KC%Xaer6*)Ej)=TY%+}v7Z`fWv^jk zif&fT1G+JGL1bY>zkt3mW{sX;O$bhKCU_^jZB5`~FR;gsiBv=`v?DC-FIJi-%}xv8 zRM}Bzw<`E{v0o~-Sjx8t{8fJZ67;tuPfA=q9W;gH{Frbq1)}yEI8vohb0T&>-U)~1 z##-7q{LXs2Qb`d^An_IJg0rrai?yH@DyASCJa$Hxu;n zz)67Ow*<5ZhdOTrJ$txaMcu81LcdKoF9(3*IlMnB7CMS}PLg_dB3`BEi=bZx_5h0S zo1iHiUe8_w-@~SBo6EO2EzWl`=()fGK=EA!T7<*so6I#@GY)#s6nbxmr2%-w@5d-* z%TAX1b|BsgL`>!TLC{YEPXmhYbD$|C`#*qr;fhv`EPI;OKzIs{;$|Re8#JRq)8-o) z;=gMhF28VkT+dR_V}P-M;&%*a3d#0eLHuyMWbM+{*g3KKmX@ZL*m?0Qgi@=fO>nA0 z;M=Sj&Dei!#B{+qe2Ua_6XJ~_Uefb6(DwkHfZ}@}XbQ>q{DE&W*PeTeQmdx8OdB-= zj^Zj5Q^eEe^3^ip_Kkp!0RsWWcO+;E$@X2d0j^qBttzF#gX?WeoWG^35$XKxx9nl~ z0UN@D{^LEFUUB&LOx(0WMOK8WQ>ET*h+nl|SA)JA*a0a1Z-b_w#>Z;jB#Hm*sZ?ys zCSV9S1SkRq0Y?ufNv`GO+6E(f9p^E08hX%vDtbofX~26pEtiqIBi+vIPaYiq$c&?f zu(eC1oW)VhbwLhFpYfm<0E+=7=hdJoEZio?0ma$!t>hH<;!IiDf@2hr6g~nzu*HG@ zlf^Sihy1@~mw0eqW~H?f`$7793s@ocgjiMyk6L-ymv$5m@|bWvW3sUKbnMnFz@EXV zH>Y-dtr;k?hd}6VX2AX6`?#Qi@y&2+Mf)@NFO~A|bLAuXzXt8ew6q|gn!*;G5Pfaz>=Km7cX9>1i z%?daDvoL3ZuSEKTo&r<@O3vA!DI9!mN0t-OxjD9R>iYVnRNpq2H#u4xp9?o&SOTbs zcWgRbep?Y=4Dk`aUxI!Fcmh!TUI$GcS9aE|F|FY0pLG?k~bq;%9}h7sqBVxJADXD zBDS$}Fi(Cy_-ga%$c%&g2H@)-YuE5Jg`2uZ)83fn7^jOI9y?viQwx5o{b~ih3wRMw z@(j$8^6c@*`l9-l-t~qOX2vAQP|#s?TH6fPVayTFnF-Hng8rI|*G){k#vSxbPxvOd z%^-6>6w*$ghocg70ofqjrdZDBI5Vw4&QBRu2|ZS+QQ!~a%H3Jc+^ktvjSoIz@}t6Nlq>{YKrojGN<~ zTKnD}|JmJVN;|c~4pm4;%I|*%{Vl+9v(bV7MLQd1ITQ7) zYqUAIlc$b$(5oLCWma^*uSU~V-!idr*_680x`aPkwR++z9ArFpIV=tjeoq+haMsON zi)Zj1RMh8lOcMVC^EEtJ5b$E5WI&e3T7enhT%1xe$GpLu{mf$x%s0d3fQr4`Pq$hQmr(jSwD>-L29NTcM-MzyAacpMF{hQ1dm%gRTR1y7vdFb=P|i zV+T?6CbqVcCn48Nt|fYYffe8;Zf%0CT3YK8%+SHFHn!1mzt!T|B~ODC(qWME`4(Hd zn~%Z7YJd;dEnIk=1FIBAJyt)so9M?Lg-tR%R>tEz`ZErjoKpbD&=V_5i9}y$71YL4G)0 z1FV#OI8mzC$fZ^vmL+#GElevawZy2FM1Gp6;=r32Om|hyaxJ1 zU_YSbz*!6-hw8Vfbp@3HCT+l8fmJJ))=z6`S{>gs(7|fOW?)*9!=7N1_5@$dw{mUy zFtim8ue8RY<1rdb%#h_u#;ds7r>iq4D^@4*RBkdsnon@ za{F0avT)__bEUo&`SJC%`Jj&jP5>xS{K@NS%KnM* z&#h~ujrUoIKMNfK+|`0~cH{3rTq>RK1^p1P6HxYi1vCYf&dL4bW8oGbai_Mk6NvwB@IF>$U`IOd&Yl=XDbJ6-;-oYAx< zHUA_-2iriKEjHoUDYlg+$spwszIPWT>?5c-Puh7q_{6}6+J}cgKLI=iC^`NJn!=&_ zA@f(`lnx2eJP$puO?;Jh1&fO?f@T#b#b*^Yt;^*bD~$6k13d;93n;#`Kp&1TcKf*6 z_b|ToaE!}-B=v1ays8}C2l^pkr^}1-Rr0;U@qD!aUB0?y%UWijjvs|v-`$VU{SpSn z@wf)7GJea#**m%!3Dpf+tA3FZp+}d?KRh7LzZ~=!U>rc<$oY@%#s4S7ACJxi{aOBcdV7gsgwLmoH7bA+!Y|h*{xvo$ zVt2cZYe>8n31q@=0xlB4ehnN^grly)2oH@kM+T8iJ`)#?)wD@DD+b2xv;_20paGz8 zWOka3{IRNT18vGpNGt5T-o)|Pij}kg(h4UrU@5xT&`qy&nO^%{Il2<$_#5bbz(@a; z9B!wnmlTx{qEg!h87Q4_bq1HW7+~J*$5Q{QqPYHxK(_%G0V{u=Hp zTG*tL3MNB?jJu&w*$<}2LxS8Uo}vk8rf=!6-zI)38ho>e2THxej9QLsVGP_sY8q*- zfeQPTEW(J?kHu7Y!3bMvyowhwyPx+=Z;IEz1z}Jq(V&He{d$xvY*4Xb!>WpJn0*4; zyt(`v94TfGh#P&OSJj2m4%LI={kFxRR|1WIvcqMdDcs|pzfk8eRJonFbZLFFm>THR z-(q5I@DjYJw!A{u{$UMAKghwA6*xCy6>zU}iaCUvo^sj@a~Ae5@Fi}|z5605&mQno z?ZyYhyBO=kfRbl0XbOhAKdo}Ae&^Lcbn_a+V>@AvcwHFnbT5#rf6*2*vVMC+r-ytKXZETDHILOoP>s^>QX63 zJNTfJA=29y2_CSVowy{>lM}|+eJtuyT*zcC(ntFio28u|h7B5AJN+K? z`@lB<)wQ&LWabd`!GJwX+GlI3d>7B^z^`%b7vQ!a*l8|ho_3DgBX9$?KY`QSB8wsgQNA~I=0CbdqyRw z?0vxY?6lMGv&~0sT)JZpEgXotd?X43vmmDzRH;hx!zeLDy@W{Jk@%SlgW9E-oX!nk|xl@z8jA z9SeFgFdb0*7lEd5sP-7WFHC*T5FK5xKT)t>tF#c`kE#j+bmwLyB#rcm0JrS4&DE=pd{$c)e>sGt`Yv*Bt zJi3HR6MAAD2{L5he14{$N!j3NLmVKXc)MLWZb5wz#%JpPc7W$?z|URYl=qXz89an_ z`w-@o>6%{%yWfrH(S&&R;s1XKeDcHbT!_)1h)26p+NGit^WUyK^FXfw)&t5e+dxy; zf4y4{-F@OJKVnnfYVuu=>SqoJ6hrtceO&*Zu{K^Jo|WP`MLg~A(Rgg;SDV`6Sv=xB z0SB?7K`*AoBYYryw5Ri9`7t<$m6~_7Z)&la3x~^^Q~5afDOia4PSpJ!S4+9~LoPMH z;v0^-9vBKJxsL};VbfP~e#v=XzWb7UZKIStT00qux`!NkOmIO*r-N7q+05V4ab~>~ zwZ$;hZMa2<7eL??_&v$w!!YxjXB6_xbX?|#s~3>+vy73rU*JrApp|VlQj^~HQz`d$ z$dw7XDE%J?y&HH9P;$Qyn!=&xJFu&wv8iWe2)(SUMW-s2`co$QQ=9oqOxsPnTu^VD z=w3ukahdCU-XhxVnrq#3FN^2H2GC~!O@OL@NrrX!toH4xakX={%m>PjQl5qNtDBoz z>c~w}(hnGXW5O8OVm?HhkK=bHALC%fY#f&hcAc&~^T11$i-$o!20RH+AeoZo;QbL_ ze;jEyG1f-d?Z%^xh|ljwLH7gt0~9EpL(S_;muICtp3iVQABx*OROCeHcH?hATq^xG zg1!p44p8ZL7ibEHNo1pl zA5J=_p|ay7oR%kjYpYPAhoIix%r9fw{dxi2jm)!*LDT~u9=~6+=6b2`V#KTXt_0l* zYycGBOF&aN6kl}68nIjcVAjv{&AQv=yBqN;zJCM#CGZWP`1(glzK7{oH`mjNuD<%! zo2g&@s;)Zyef6ug8(sauN7b`Upw|QE0ZNXaf~Ih&br`pQPyK4KVu}f@bu@vs86AD? z?>O|0o+VxQY+?}xD29_gB*dv|`9&^V8t|cd^E1#`;LvP9$uSHxg-uE4PgMF- ze|kBlNRbeEo%#oIWL8T9v(5Yqu6@yC48uM9LFYdRBdwq{ULS0hlU#Q*qf73@kKHWo zvmSh_UAZ=az7DtvP;%W3nnHuyZYHmLQvbD8xa;U($8Dpz+S6!mZ8JwDu-O=lojJHj z+&GnTXQk1|2UE8~gr7c#21XHyxtA^*T92-lH>QFk4z5CtE~`6$Iw=( zocYoZNP(Ddk@m=}jLT6Bx*VtglpNDQQ#fS)#H4`q64Sg)tZY-+gzMhF!#iCBvp89% zI9zosUo5&;T9?bWo%kSL(*IV_cLVnVitkgP{~yl212C#$`}@w^vb|(?QwSt%kdjan zN(fCtZxNytQ9wc!6iB29Vv8tBUM+q%Bt6| zJt1EaxuLt%6x=S#TY*Zia4Nhv{ig+6^_z8H|Fi7B>SwC;jr{ z^ur)UgqpjhezlNY)uSItuiloH3Ml>hfi42}*!}}mJ{DY7KOYx~{R^QT4*u+xH;^vd zE3$19DVGi9xSef<@bTDMw7QgU1>7|ls-5XK(#PbS&4*jVf+MXn(y^YBPWp7kz28Y} z8clNGNXH3Jf;sTbB6F)y%e_bHu^lq1ar0xK_W|z#N)M|K&M^Ur>m^xMs z2WTbY7TtMt%Ww@J2^CtzsgQ-;i7ZHC!l;z%URaFfcfwLn`~@5|_P6i)My@FKMwGS~S_kb9P`{z@OySQ#|+>xAu@8 zG&JZ%ci`|G4?Wt%6|0yY_ewnqPLJisP|#-s7XnI;TS4CiB<4q2!u)UWv{`aP?&KM= z%&NB^WSvqm>&E|w|>@7F++~pdT4!P`4I%&9OwclJ*I)a5J=3A z?Bn&ATPiF&RIm%;3l?Qb{erdL)`Rw2VM=DL0bQ=aou0^5M$X?lzuvG`8^LQ0Yb9JO zi^4U?E?kr;iG{27KA9i;A)~72?|}Xf@Lxdbkz0uV1W4?s3KH6}nbYPi6h2)m*%k36 zYdX|uTd!pOr%nyIWg9X4pO7kVLzQO#HgXPPcaMK)SRWa|cMa=3Qie*{5Ud_k37ZaO z+8$rRj@~cz*#KEpeZL3vqrd?`>GLb-zk$T^H9j$4$WR5EROU^+A{pHBAC-9#$gJX61XYH4=RW2f0$E~ME37t-t{SI%=Tq}dxT>rGeiHJ5eJbxLUlxho#D^B*!Q zJxW1e3ET`QJ)Q-907%ULp$Yx(V!Cv9YKj~U*oyq-gCgJfpvafLoX>nv1h>C__65K9 zSx0@Rs7Q5{)FXRfteq?XJp`BlC_SzReKU~QPOePIkGXY=r4{VL_;&J~ zgaz&7D}HEG?MJ12+Mn};pTFd{_WOg+`>hxJcBLF_x0B~I&`wtEl6oA4jA~s(8-z1; zz-fTe<808Afy8x@f`s~reyembZStXEk=OC9Hjg(}Q#gz$so3x>N+A%MHPt zRY87h(Ap3T-W;^n1#Ml1*t(qCfG$)|Dj$;iR72J%-l?9v4*DbDM?mS5IT&l(z%`G_ z^=s9>3{BLB>|l{P!V(IW5zdn%ifPBG^Joa0?NFlycRfgIY$Y`|2XpQW^816Vc~l^QKLab>*Z* z?4!7>K@oe0^m&!^c{!M~FUbELvuLrFfrO%0q7;*viez(+T{E(PFvp_Eft_PGp zPlA3PNYrO#fC9m8I-v_L}e^QWh|7lD#ULMSsOyZn?u&R&?(fH z@<*f|(V?;W(g}25U<{!2SONM*pzs}8zSR6^L!ut4eAVDG)$3#!^Rm~)$bplO{FLq{VBYoc$p*$nS)#!=d26L)IZ=irpJ8QoS(@#vRuk=kAeu>>(L#J@$h> z415bHJ(>=OUO=KAdlL1i>sU@fkzbV}e~}_Tk|N)Sa=s!(eh*py4F!J*S-+l|BIS=u zJ<1`Y8n>`-UoC|u&Z|@p`Tn3 zTfa%IW%tS=Hd7WcxQVV`#9C@EBdl!JeMah24OvzFsR3OJ{0u04T934}PC!?CeMj9BIF_K#6m{+lt2-Oy>dwr)qCs17 zTw(h=6^G+70-#Yqw&DMs6#5PdwfH(Y=Re6PXul*|za|HNNVa}VwhP(>RnV3+QqBtZ zN_{FIs~RtF2E7Z|2Pl311Z|GO`6t`1l+wqUP=BO8U1>yf6n0y`Cr9x!zZVLvKfd~` zOUn^QJ$=x%iL5?rQ=ru~DbVVwl$<|FtLsy&)hWSiQ>>LKwpN!Yt=2bIeYEmwsn;yX ztjgWRpqB%;0ZOlzLB9$7xx4;2EiFN>sd69k*JIR8cJY=AnETT*gv zO5t~YLpKhVX%bU^8`4)h&Bq8`}^dQ7X^*F3o@ z&(v4tF;Zm*sd8^h&bAc(aEi4%C5X$SRi~gz`Eyc_V~|mmGw+$$^8)e!rN?a03xI3v z{7~g=R)QYq*PZ*LqE?G}xfl$bCtK=U69+e0+Mjhrjh0QE0`0l$7gFjgD3$(2O3r5~ z{D&0l$CTi=Db{yNscV=qNsguAt*QP92di^c&r7{(AhXizGtfT+uCro#^#eT|FkVb3 zX9@Go1@-iT(K|V4JMVQ-g;pJ}S49)m14+FC&<$<&b*a$nZ_?|Jl$>KJe0i$1A~kqb zsa`s*t9EV==$C-^0hM1#qb;ookT_1rPSmSzKjx$(g{@6u zy$>~a7%ALE+N?{(Na4oRoYgoQ!*5TuHl+q{O|>?VJ|`b39DPyhvjnoL_TUE4cL2Kp zrOzjzzXCqkEAvT}zoEyMzqoyREDc>Pmxj)hOGERJ3$5xcYaeV9YrIe6u9rxor=U^l z*dsD4yl|K`Vb7irchf)X2RCSBPqAISzZ>fYN6e=+Qu0MDF{j^5#seKXvB~YTU7H;^yld^9bmUN7s+%vhc25VxG#QrnZR z`clyfJWSebhc?acPRprGL*6`?W>uvH?@zOKKp!!(J`;P8Vq{IVrbFD4sv20oD)lLc ztV*97L2m{g0hB&pfIbQ&>T@hXADS+>?{^9al%HK|YW_*gkR5A;0XYC!4pBIwtEGW(pBIv2PkK_5C5N0uL!~T! zdfig{EIq!RmOZNKS>ro}a}{ItJTc?k8mVsucqo0hg1!g1KaOuSf$v#U7ROYc z3eHn;(ND5$SYxHH&=%{fHs7=fv3;mq(0zb@0R0-}_dw7T679gK{LXGGPPo>$0K*C$ zeI3FI%wo-eJD%=FTWJLb@w_4R-GF$5h?mOQZqQEyF9WI`y$8A$Nc4X&$EYN6>dsr# z@sB%V%YDIaxbQX_<*waK&kWzpJ~L7@qur;>^9l2P%Gx+nzGOIETMplPn$`}s!hN{i zks>9mw&g3B7?bZT&=Y|30VUtXpf3dydWzsUyu~BdO6EQfu?ALcA)U-vs?G@FAf1)`D(` zZv*+PZXJq?vW?|%;USs6*^^^@hk_mjj0P0naiB$L%>I>9{CKW?M7bKT8RO}!W}1#% zMLT5ktwg*^-+iE81Kt1>-$S4&B&PET^sT#aDs-MExL=_eSAcuWpj-4Usduy_#(yB_ zQNU}N&|d=I0gB&`peZ!k{?_M~T5_?t!9zv>VK3MKw2R>C6$3IE zat}*A3#Y~So(=juU@D;a&Hzo}M0$4V9IxhRp{BIhR)|wwLQSpG=2wOIl%6kwt^wWx z6u);tQ)pbzcy6gB3+vQ`&prdtN`;!m?@Ilm(_{SdLH7ar0gB&1&=gLjU-y%%r&Zhh zDiEL2Z!72rf!%=Ow+A$Z#`TNi*0_3F*?Uqy=Zx5RrYGn@z*wMeJOla)K#gaP+V?Bl zACdFr*|z_iP77hzYEJ3-9dY1A7$iIH2Sugl%k#*oB@>b8V{tp|CZ2NxPhP_(-oTUA z@N8{XR>0ZB!To6gZdze?fV`k&IcPu*+bhkSD14YK_n;G#nEBx7UK`fUNMe~(DvRHj z`W%L=YW(;;=>G!lnK6CZf$jn%>QmI1KDGgo#)ZB(D>LBEFivVBqZY zXX9jsc*7?8{Dlk1I&V?w;u-S?Oj$r@f{fr69V0X{WT7ww^ggm~@c?}+r;lF16o7uE zpZ)$D{eZr>4wmPFt?ZW(cwR+6`I^2}QPPv5eM0@srFfx{;k&RT!tZRRZN+-8pF8JS zbB(Unxo+Oi>SuMs{g*zxhe`hizyWiQLO0LCL{n$Uhb{9ROaBN~7@hA}-cOkMALg-q zNqVHv!IQlIW{8C6bu$ZQbaxH6Joq!--{=jezP2h6WK=N-$lG0NUeW(@ zdZ`n+*UQX&mBooY$<5oHZBFcK_1Al}2ECk_D_Q@tmM+Hu%kd$cAv@r)-2NA%958=I zXd*01dhk1V_tQIrtt)ELUraZUeA>sT+VBw4Xut?W$+{&Px8FO=t&E7&3F z%49fQ=32*}<=Rd&8*UVf`I*)Tx&gb`zA5#s)VmV#79w7n*HnRi7T5IGgVVZ+N2KXLg6#mn^P3Q&5P)aLMh!<;f-}Q5i7B zZ?L9(j`b$XnZwNX4j;0Ve0{vm`3lBM*d}Hq)2gKmN57Zy7GD_4rwO1h0xkxWycM7+ zB;J#k@-8fepFlcVRv}ZVjW{WnvlcD+v2s}8rd7jf_!JBQGo99?5&P=|av2m!AxCRw+1n`f}oW9PD zNm$uaX;=A^ly@cMQRRCh==*^xK*@UqG=)NYU!?HV%x%xns z?iy(hV;z0hGv@*JFXlVITpadwOjJpCKGsFkkrSzKab18`;B)4C53yPgF{l3x=1X>j z+(~9+2MZ@hMjK7}qpV4C`h*&m`=P`6k;DI?!?D_-pLOY%EY#9BBAYk;iD$w&OsnM9 ztC`aW6PqDpX%90Wr+iF(X(zLp&+rWqzm>jE_r9nb`}EscyX5w(nQLj5nYlEhd2e3_ zpAQ$D&=}}OC4)7^r2+HwrG3mo{OJJ4Sr+brx~-*?%%S2r%Iv?iUuX_~2F2Sh@GV@< zj9pB=UFj=l;x&2cT(iW7G+H{tykO~UbL!G5?HmP;iOgKab8m#96w~~fIfjtAMqr5J zMcq-YJND|1-DE(yn}ck*T!=d}{A-=x7UG{VEZWaRI$E2V`2}}A#2ouf_jSzmQ-mL4 z>_YE(d`uXBV&^){z4$E$)AfzaIe=%nUNpS}c)HK)H+(lW^`i-PJ6z30d97?htsDHd zp-ij!!grwm0gQ`c`{n^U0^R-R4R^? zwy3tQGWS}n+IouZwW#O%8s}8qa3EwjeS?FJz@(5fX;Q=)o*dfC%%BB7u}ub~JDa%E z3vvA{m;@E!@pL+$fq#1$pX(@gccR{I6dd-!r7$0iVvJAR8&2gz9bYi_0GHG4c3q$a zGo+qX(4i0#Q~iD#^s~S|K-F(j=0A8pv`zNEYX70VRY^aR)enaj<}ISD%zx6*4IkgR z&9Ir4p9G&nexB@!pkTl_a;FS*h7s=VrD-%iL8)il@aU7_qLEyWixA9|auv*voevuV zdN?o=pg^*1O0eG~(tFyXg$v52OrtSuF9_00TZwTVhi7FUl2(RdJN`<pBKi4*Tx}nK;1%1#o)yxn0tu|Qg zHXZHLnl(qp9AX?NI^9}zbE#+cf>?jr74+%A06@ucHfRdd56SeeH~tc(i#qmdI5DKV zbL%*~3as|FMw><{OmOnK)S^!_im5l(%A=BRCE_i{JL&%@=xX3aK=J($G=-M7pZeqZ z4x2}gTFLL8l;9Ryg2$M4XMzMI#knNKBwGsfw^>q-+=a3J_%_zN z44%DY#`JTA_v3nhha)V|IPuT0j#PF=sjxrPqTIR1`HzE@JFhjwV^eSOxW*+O?{e|j z$i(AiT|DlTzqw8R>;w7bukx)Lze!!!%Him`&{yzcv@ zoZo5^Y;_ntMJtR{7x3Ufm*wJ{b@Ma5UpfZwx3llL`4wy|a&s;E&rH|?nTDkVH}?3J zV2tk)p94>C$vu__hI(~a1AT>?2O*-4-D`&{8Pm0#(e8-)gD#!TUT&{?6MwGzoVl51 zr`YebcDemB`VM1P!AG6>GddmGSzLm~u{*z+E!WM}`eIzfkNVp~S}&~O+{`xXp^m-| zj%3(?u@18z1X@~>!Kf&oiNN(N7 zEq6Ln`r=mR@D^~`*Oe!odHGqWOlOc|Zm4Ue!_X$leo2y<;!1X$YteSrq*d%ZbCPd* zk~;~mZ&NN>#patH5a+LAv&>*pd;5=#WM{I8!!+hYEX24sgwD0zPjCtOp!&&~U6GEk z{}8xUH@IWHo_Q_1kFA2sE0b@>_j+@$`(FIS+78P<-F4mS^8oWdr;~9)H@{VH9{Nn5 z_Ce2&@2m8~pt3*jkwAa*3Yd&?w%N%-p=QG(MNXdT zbFT0YzQJ!kz}y&Qx3%1R0@)lxaZlE7K7Z_&e)bJ`(C>7b&-vG|Ve@&`wKD!?e&Z^? zZ<#-fw|FQ1*AMvy=&tMH_{Bx_k#E?|fv_XYT3YT^fu7e>v`2j_SXPHLbD!S*|8z&h z>-M-{S$?m+OLyF;-{|qz_%T*+VB(wXc%3;OXTsO%2i&-d@!vTLFTaZOPZ1?`~bkQPw>}{WV;C_oQx? z(V*-Q3xCMkuh3CP9KO5`XwWuwLMQfI2))>&y5%pog{B_-H&amt; zZF)xW`xz^kvjgT0*sODWZUr4_j^+*rj;EH5mF;TzC9(c<9q6ZkX93l|yOzrKJ<+bM zXz@gQItG&;*$Tp!eI@y_&j3<^PQd9vH~T#c&tx1sSjWH7we3l*VMa2?*~IHXRS7wb zG@fknG#yVeL*}u17^nN;tIy-Ha*XyNp4P+&d76fK#D)9zW?FA7Y6KjukhH&WjGL*; z5~1X5sn>YOt;S{NgI)`)1C(A*fu?ZWz70*~gkD3=7(*Ra1=}I#!Y#yHICR{nL(YzO zajhITlv=~FgA>hUXUySrKNg%YI1V$fl}e@75ta@p(9&XJ;UK9i$4hygm&V2!%|Uku zdIL({^FUK**3kNjkT*6V5|=eg_L4oY4nP#>43Isrb^Hfdri7f$$;Q5)j#-HGq=u2xtn4>x`nD%)wAYQi1mu}*v$3O6|u#O)w z`{oz+!nu!e;^{6N-?xi+UsUgVN8x1g9w>Z;**_R#Kj+$iaDnz&xTik}ou3!oQy2~y z%)w41SHS7==%MyT7Yq?#>%!{c^uiQt4h-e#yv^a` zZJk@0qpkY^=4$J`ods6l7yMh8uWj%d7HAWCiY57JIpzpCK<V>h*WN*Hwmp9;fh57S+y)c;^6U-0v!qjbUs7q3>kR#~=Dj2mh zWjRl~GPWOa8t9HdXF!$nexNBN+LsgMYVj;-bUoU?Ig6$?cWN8?B3MmFI}0D4_WE22Ej!?GHGp*59a|9yw$27(B_S zOKRC620J&s;lX7ie+X?H%i`J2FpM%@T7@!Rvi~I}Dw)F=e z)nD8JdOPp{pyYTKG=o;?uv~-l) zu@e=xVH&xtjM7F!YdAd;`EBz#ig;8yYs;{o1|$KBPb<(As%(Fq_15tPpTW3iO9~cO z(tNr#PBLudN0?U4TU%k)9ZRb|-pt`Mlc;xX3xhR%#o(a&LaApN;#d4H2fY$l4JiH_ zK#P!gu7c9{{8F2FxUeV2GR^u@0l!E)3}s;xn+Z+(8ttfn7tWFVY7t*HBBXxeYtYAl zzW~M0f3@V-;Ceh6F@mZvAT^EbWTwFX&n9v`kuB|;!JskEFj8q%yPt7}90S$be8(eR z)n88oeIZZ^D89=;Q%JP4DB2JEj;U>AaT8yn6~rv6(Q-kem0q07nk)6KLA*{|-;Y3l z4txnHzCVJdkZ7+#@SR3ppl4!1mxl|p`Z}R(Z)&z&8Gw&ju3Pzr*(Vcp<-N2Vw6^HiTbOLkI&sZtYIKmk-Mu zo;=JyJY8$w8ji?gO=6~%Vc3nL-o$jb$xBae;!h8fqyx}AuEiFUehzhydpYDzhTOvR z{?Rfi_a4Zk^7%E;hk(O?%I8l&Q%F4TC*-B}lEjVcFxsHuxRdwSCc#xhNO zMHq!P_iz@@u(7nY{(5N9)s-S5 zkq%?1QBjTO8zc)pYVll_Ul5fJrIUI#-1KU@+ zk*OzPwFB0B4X4g=CW9I`gsS;6-DW`sCFfGmR{&Q7@p8V1_e42&yj&^biOJc2#>~?B z)U`aoAt*jR)7#w5;3Dllrr(dJ`#u)9AKN4z!hOtqg!vw2p1YZI8{>D=<%Avd^lW41 z-7FcOQib+Vp@klR>x&=*FjK`IsK?`UVqXCcWw9&l!PZ_fYbvC{_-KLDt8isZuQNf9 z1rYm;Qq;S~P_$5ACP)$H$*~o2M!LpJV#-l>Tst^BVIXWd5g_6SrNS zX36-BPk&RSzds@U7fLy6Ap>Ozwf{eXc3p?FZh)#MS)eH-+7lA#j`hNYvtpZ7xRme# zwk~1Apso1Ca)ui+S8?rCSoQN`aMulPWUJP6YC^@!*-T@@a@v2!#(a3f}$brp62!UIo&q!ZXJ?;{zeH+)lfdwiP z`}Y1vU}H1l_3s4T6n#K52i7oL{1Gh0nU$D(X}xHV3C}@B9`m!SuolOJlVtFzS}fDe zd3~%Lr-N<_bOMyTlR(b^b|kbT-N#oVp#YuYJJ2*5H9e7=YV~H;(Hi0 zg~s`c%ACOXy+#=qE|uvVy&=Z86X*hRER0mmZYc%vt*|7UodEEMqF=^1;6C-qKGyE{BS zkJDq)g{i^(41TXcP~L35 z&Wae{bkJEqYe4bM2Yq6`XUv`l53iK1#a9Z>o0+yfE~copesbfrcGp~mL>+uRsm?M6$}0SBPU z0sXEY?}`0XfnArgExwAWk(n$CXWGGg~>tS8|n1*TaZkjWfOjZQg`)z<}a^F=z@6j(gOS zXuYA&^ITNbN#b)W>Md2+FJQUbon`oR)2m~is9RpQiL+H+%bV7dck82H%xO$-O>^;4 zPIpSG84WZyjTYIaQGjKFCRi8p(a-q^cmp+XD5u?p`W*L#)=c*dYn*emc?FJ?(77=W zfI}xJxpy)CjOfB^u913HLk~5+J_!0S@FAe|WH(Da8(bHkId>tgMWf8x>(F7S^fJ>P z@?<-k@ywv^bKzKmfn?@5;X@98+(rsIZ3v`kPcp-g`mOaqi0 zmxHFz;5q~3P;2uGG01BNDYjxs-jig6u)dp&0l0&=a)y%(9&uuWK-1O>-V|T)3OgMT zzgjjy$k9hJlfwLI*UnM%q z&OzLO*Tk7mH*cd=+wqsj#eXa4jli9!9KURPDE>)^f0DKp@kcS-YNJK3mFZI(7ymDy zj{$$4a{Sb$QtT5D`vh&b_cReV>0WNfUwBKbzKsVx0hkO>p!7L$JsT4y<8So_#-);rgA8#MkYgR%Ed%Rkg@3`YwcYbdUyd{sBHD%t= zDRX8*=KE+mhL0nVBmyUTPOfKIQ4`0uEhFf1WjS)W<&|_(6qI~eZti3_bgGLK%2vvB zp9NV|{ag(CYG5UxPit$OzzQ(rjpzhZ1P%$LxfG^K3~N$ zPu*83f^M@`w5zp-_9iroq7WeAu`B1WLV7c^`CT4N_;+~p2k>-1me?wz=YorkgF z0NjtnPtY!}k@8nVwnDs9y48Sw2lxO`>2?$}g@N}ra4u~Ot$$6o=YeGlOR3?%2`ga! z*myCFG!#yGdm1AJ=e3e=;l|iFdL-x)U48}0Icd#oK# z2i*#23#jz$37SHK?fJ-3T1jAAgeK7E+V9KM zaJB<29dofvt=i`6+!W*61avbX3dHm6iuXjmX~*%U!cLWNF*q;Q-V8e4#i61mf_;+D zJmkajHLkY7ZBhi6T}`=~t!aff+xmlt>L>05eIM{3pyYTN^c%p!1V5Zdj_W7rP$9aB z)l6)GQaAA`(`w1D`M3MGXztZl&{wUBK zpg^)E&JW;KY(4N}5T0i&OSfkQSf{h&TY|q;`MeVJt-vNg>A45=ULY~OcbJvn7T?~e zGd~sVa?x`*WY4jUX)BVlUh*TW_xoK>`h8FNoA4$t`b{T)!jIB7OZxiGGTOt%ypMH8 zHKDGd)|M~r&X~U0pxXhR03{#E&=>ECdapJs=|^$xp?%?bFw$c%RuLhO*LT2gy+M*_ zMtkOCIJmBs54GG|WO{Ev+)>0s>AeH=gTTW;JpY&Qp2&auapjTt+gDhoLWZewCG&{i z@sr>B+27><{2r2{lkTuAvx%V=GAnI4qIbpG)gGYF2Ic@tjsu|o4df=Qrykx}3F+h0 z;S3xynKfk&9Ek}(ceJ8e!|x)GO>fFo!Zq>{m5YUM>HYHhckAcx-_(9K({?9iS>^!m zz~n#tZLlv9!08;rjpk7OgDd050U90Jsxo06fl!p@y<@y!%2CMCUtux z$-g@(#WEjH%G;UL?SUl!r@>Hfln88R95!fl&>Ckmli@6B8M9pG1Pl#kIP)CcoOBN+ z&(+QCcZBG-WT@OA^J{2jtUS*IeI0NwpwemJX4ne=em*GspE0k>=d8(_MMR>rR40DN z!l7b9VpX%JaA2NQvj^bm1&_&bpKbSwp0wKFyEt3SdowSREURB%8~%ZGQDj93TZK-q z)9s{tGyyb$Nk$k?uDgt8NG`+S^jZ%GQqfRh-^mv`7)X9C5bl@4la~cOzXW{02AXik zD>xo*de!f=a=?>Mx>?4rVb0TbviKimKf=NeA8Yn&(0f-XZ$&6;d8qH-Nm+j-_5C#| z>lb7Ia~#1Y3np=NQQ|?}c$D$Cb;wT^jDKLb0}#PpR|xxkVP`v+$LVuKyX!}-<-X--vg7^y& zKk5Gu=+u8R@WvR=F4SiF~ZJmoP`83>KjJ zehcStIOiu1_~WeZ$DzFcgbF?n`M(L};aK))j0ZZi!TP`e60RT5;JEfP8=KXv6{X~8 zZ21;o%NLQ@p=7hvrwX#F^n4Zcr@$A0O3(j-rts(X6QpNdJyXh5vX^8d)KWA|ZrK!V zz`jKo7Y^Oa84i=U9jVwfgm9CM2j$sB;#0mw%2m8Imd@vcUIHu!R673)^e!MVowFND z=P|ewP3c_CHsitqYW@~HsN@yf2@LPZJHsl0;jZVlaNeeH!R=xHmT((Bj|N(&%Vh1& z`;pkicAAn`WvtWvOUkX?9ZSzgM@)MmoQ2y> z(pw>UES$$Pn7B_k#JC}roLbFRDOV-1uqqZV?0jfOOYW9( z6>N*$0~rZ=GB6!ba`nFl`$0g9aHa(oasPnw6Trj*S`S%q6nj~>P> zi3V+-d$sBaonbTvdEv$vtBdIKvM~4$2fVxk-UB!unn{xZyvP6Caguk>@FYwk(0Afi zpaW}@WERZrbX%=%WfM0ttDn&y$q_YDX_iTVsaa z2*r(Y4~Dw>(i}dcsqRL{VBW^^(t<9JTfrx2a}{%p5ChLgoxI#2|HV{Nab@Eg#&IMb z|Cck@gUmb8a}&cUMbobX=$L|aW9Pv2%!{Ke;$IrZ^PP~cHTTQ>IgGSd!&(Avv{3J`6MP*+zSQ z7F9WPXA`Lb%cAifOJ|RW%7%E4?vU~=0dFPWb)Yu^n*k-?v!D+EiSi9SZhU92U2zEa z86)Y=q>na2#ByD`CMD~4CE|ZWF01`xF7Fdq&OOUG%acuq{xIzMOiZtptlccHd05F? zwo}TReQ&IN=nT3K&>v9pJ_Gs%AaT6zwJIq&WqF@I`(l)FBe;p?xO=JkVSQ&yiuc>F z(~WfUIDQSIbcv;Ai#xpo-Q98RfL5!>C?8hF4GW(RFL_5p;ZCzKo3xrb@fURQ6ZInE z_R}%jl(3^!q>0mEW@PdRF0)&7V2fK0x8Z1FejfIG7B<^r`b*v9D+W)-VN$Fsw8u@O zpLLw_5XXzOnkuPx+I_M0-j1Mq0H*`0T^tFTLgINJdpxIBK5{zZ&LMOUW5tf;7IgAx z8&JHleocpAy;eX!%}k*Ra1MNB;em0$F3Eob;!ndnwST)n?*X0y6#o}MQ)ux1Kz7?0 z|GI18bSTyd_Gf83!CjaSYHhSqJ15mP-{AeRek=!ce_#lp_+Ag1LWB1J;`zpG9^~%e z(7l}Iqy2y}Kr)suH}F3Ut(H!v8cCt-P>1YPG&B)h;^I~m*-h)ehS7ddwxrS6>CQeF zd7@ZY?LDSBVhlD#a)ht*w#L6WY#Q)nq-5c4nSO^MXAp8y`u!JlXa~kVfYPHIXbO#- zCyu3`)MN1M`3n}R8E5Vq(xnR!vf&r{V7%}vZ*4SncgB`ZG7osuFvtnG!)?M|+!dzN zuWk9;jQc6WOCFJOE`c0M&JCb%2kx?EqdIod@-@bS|H9t!scl^v8>q)X=Pbb zO|8=AcNB4}@ssZXtnC1u0F^FdK~pHR{hI85SN3Dam1~(UBc-2Y*ho0SKW3~JV-)eo z5TE{!QK&cYUkz=a-kOJl>1Y*8v8&z6;l}<_bF5;~dvkZD4|k*J8gyIZGX4O=?Pud6 z?x!h%7TqJ$X*=Y~#yjQblb}Bbz5$WYd3@g>jHGS@8&NTmI&p@1HPHlRcLu|+4isCNDhvRyy ztj1c&6H@LH$ffG>BG4;gd@^ zXNa5O>V7y6SF-tcVMtoZE11?f1LHZl%-x5QU>fEjlz(MU%5*3ret0MT8$sU->;zOl zLcCwbdt!Ot6Mya?yDb)LrwkjF({bwT^Sj!eOYBSKnkG02iPH%fjLAhM|AlE6vxM5T0%xl|3cpO{5qmj(3ZIsIHz3|Z#7pUP0Cd_e z*sBIqI&FFgV__h2n>;`KS&K^iwx)eEe6x6pdKzEe2g7;ym~%1WoN`=xk(ek{Ey}H} z`adQsw^q2tqnwGyHS+Nn7jHep=P~(Xb*bD7+eO}k%w@U%!8=5u z_qSOGYoXrr4d$$2<}a*UGxHGZ`7(3vXXdx8M>F#P>zO%-x3ObN=BMEvvB_KFLS4HI zUo-CM>FAm1vidl;FlQ7i+_W$cD;v0*Jj~OMnJMj>4|5E0ninBT7camm&gb#${sc3h z#Ix%|%zPNnK06q0uex|Y97w$f&u*2>+)UqZWM=oCQ}RnpSI@EeW6ZyqusD&0r4yIq zW|UO20@5HxqEP+8jXNwpmH%eqvgnOET^hYg=lkd@v=XWKjYYgaOEvoAgsC;a%yss2 z1YmI?*E_)D_4n~PgZ%@}(14_?dCDM`5)P;LXDO-gvovR_ncj_=sXbxm!A$AF%i+9NT}o z1N3g-aX{6xS3px}(5}E7wCiJ*&Ym~3luG%)+4D!uKUZ2jsDzPr(T?wtk4&0}R`T7t z=!u5n>ex7alv&D}P+PTv8C!)b5b&uzDCLUoj>$C=^g7@jK-I(6kK*hZupzUO#M6d0 zm(LHbi>rtAWH)bd)ck~hZ?dE23SB(by2Rsa`Q>g?yiFFLKg;hv zXX0(T_?-Q{sCzf?5nYOkMg)p}Wh3$h@sC3gj-vll-`rz}-*FVZE`QlkG|B$mXK_!* zI7gTXYJySM3ig-Y&uZ1(+cRUBx2V+! zZ;{g&#?NpzJIA{UW-KzU^e$r=H!|NkmT@)11?i0C%(s$dT+4i`SjKJ4w+V*kJK-Q6 zPPi|}rNR7iv*;hgvCTY}cX5x~W#&I*7VR>L%bPeI+Uj}ceSszMj2D@AA4}ogy6Xk` zR;$+->a=N`$p`V#Pn%tyF^iry9WR*Yyv23b>IzG}dA2qv;yWhy)VHDkO1U}OB z!M;KIKwlT5v#%fTZKkGRG1EjXWH9?epRs=f1ljD@mn2HM;<5;1-)Hz&lYn@|$ z$MiAY8x8&hUFX1dYDOfyr>6f@b3z*l3Fx)JIzZL)Eubl!q@K&s+kRQ8%R~*gtM>0)J7%`##nuJ- z#j;x8%#07}R+g$hmU0{epF;4V{?)U`(pmtW09CKg20a5PcukIbkJ;ZZpFbq&~POyKjD=i0K$Ocn*y3b zBkKV%zV(j^`hx8+&mbG|qcmd_*)J!f{0O<U({v;>qqd7!%kiSo>9OrF@$Ltpf2SPqG12!V=AJ3yc<-sV`;iQet)plLTUBZCAg zW_ZymzL)8<61^N)6f>|Af2up>XD*KH3 zHnvDJ7LlH<)S0vzn_mUuQ+jR%{UER#Q2h3QrqHPU>v(Rd#baf*Gz&b$j zyA`wuiTA%ndd|2gmYOkc4LMLK{7LFpi})13UqS27;+#LA__;w-I8Hx08kgNxTpBv% z#uo8Z+kD3(Ud4AI=*xhs0L6DX=mz;FlpA59#I{I?lVx`^94p&~-CE56w644i1&D?g z6+cUTYY?yE`xWTlfIk7nS9|VM(zia>;wKo2(aTJfqq}vOiPzDfGI%YxLoN4dg}+Mv z#fV?=p8^2pyvS#0L6DPXbQ#lc)CHp^-ZqQp7&0<=k3_b+|}@NvyFWV0RS=p z-$##P{rs5ZUyb;c-iJVc27C!9{@;S8Fh1d4Rz1Dd6=H$=Pa! z|CRdYz8LGL2Z0_1OaN5Bcq!ceedz{=M&X=mbxppzQW}UXGJ?AgNI;=G*}iW z&490+C$N}Scjwmp&`)n~D*;qtsnSRbf5K1b|xD6=kBz<~J1asd3B% z(6fL!fZ|sQnu1E72J3;k8Vdg?tk^NiQB3@<)Ql^Mo9vo%|CIXeL41netDxTnJ_HoM zTF@uuS9c|}afVekzwDP{{Ca{O0*n9@zmcF%%Fn*e)i^f{3I3A$Z9sfVzn!3;1oi@o z-*cc($}e{HGkhYR6i=1SH@H96ezykQ1t#kfj zUT#bNk$RRPK9#S_LEi+d2Nb{CK%bOf-BruRv$fXdSBv-*zh6M}1D0k1ik}PgN%_TH zv20Ak5^b1>XFTFl{4N5$6j%nRc5)5qn*o)cs-1k*s1$!+uV0GIH8HC66`qNvlKR2{ zWxmo@nlYe?yJ1lKNmna6lZJ8o0K?66hBt&-Tb^3*Qu6!?T7L!OKS1g422DZ9(`dVN z3U!y_DPeXxAl_`eQ+d7s^itqTK=HjAG=&ED&s6&>uRJw67#S^EU=a<{NAj&fyo&Fq zpnn8@0~FssKvOv3ctBoRYLxH!Xp7~gW!!(X`3`+GwjOsL=!<}h0mXMIXbKJ9!;I6{ z?sBk2y-F@}IfM$$Xq0<>)lly(HKRB*g>=8Zj2wYK#urPD! z1GHj8%2NVfN}h$FuK-p6N}f%iw*ZOqtZqmiwbth=d^{%6xuty}(Ls67LY~D6_{=|e zU-)L0VqsMc7Ca$Z1P3?qHHAV`%6E)-l`S1lSXCiRME zt<84{;#Ku=E$9uvRzRi8!=U#7iS=2NdXO~7_QrNh&pp9fSrsPek9q4A`B)xuYJ8Om!*(LxrK1~6j7U~<3{ zbYk4=dx;0CIj&y3#4${iYf%HNcFd>4iX`mm(Abeeg+r!Cv?eBBchLQSGXN#uY|y1Z zqI}+~D@8o@>r?D1hOclV72&p`QjLU=J`!?-81bsR8R35=K~`MP5VAgE*RhV`rbd_r zER1#QTyUoH{2Az9fjga zg+>U_&M=1R%@AL%OY$H3MvQ+6==s26K=Hp6^hx>0AGODY(Ub9}_>S8A_alC#|EHjT z27U(=|Gz+=lz+kz_fwIe%5CfaW{m$-&pP<(ngI2R-Vpp!t|Q>7^_-QP&`He?>ir-w&OMuG(#qTQ66dGN}oe4 zfa3Q(XbLCPZ<1)W>z1k;@ohU{hITp>yx zjz}ATHj|ISQnd)hL8)gI;#GPc1pOB9E}-~+0Gh%n>KR)^Zb(_gQ*HB&z7yly8+2b_ z06>At_9^M9xQ&I5W3j=Azl$bGy;jD>e<$d>fqMa^*ACDWPNY}CDfro}u=yQBd@3Ei zhjBI-Xa*>LQP30`*DH=&f`SPBqnDGuIE2G|1t&cH!QTveLd92aZg6~OIhI;?wl#ArE{PGh`g-;}2KOTsc= z3*U>=A9NY82vG8@0!`t>@?^K2IsFV+k6Mz`5hf(&&zOnC3+ML7>2g1i*$Eq1xFMs> zY5_Ne7966%z7P-i0?tf`tX(GWZwofsQCqIV;H%03dmnbbfD}N<)f@Exhg|*UO~)dW z@V=Q^{3dOS_<>B?8R46`wwkquggzV(3Bj@v41*dW=3yz`5Uz9voPjn0cP6=lx*S$S zrTYObnrzp9$fM-F7xZr6aX`uY3h4hy-sv;y(s6iQ8m?g40Y-`F!sR9}&v0Z?zAlPO zz$#mwv=3tSwFl^7z(_#JvlKLiM0?!z%UN8$&R;x7c#y;SkG*6dw*@exl+x`>t{uVg zR*$n|5O*J(bRsq!@i)Qw4W-TG{6)Q)T+?hdio% z`5N?Zz@LDUH}gX&Z{oP)1oAGLrz9@Co#reP`;xSB`DE&5`*F^2 zwN-{%TkhybF}Zt#9s-O2RJxuGn!?G_mE?^T$-2~A<=|;!DuyjBs2*dEoz+mf|(r2(ppGP4L z3=jXo`JXC%I>_`H9G^Z~x|FZ*(wdT8S-34fv>Z`X2Ou0bUzRrwHh#Kw>%_J3%@v zoAX_63sOS~)l{a_Ebw+B9cX@j9q4ty20*3L7SN}fPC~9m66(7~ z5~{?O<0$w(Y%r6?244koG8r4E_(@fV8SBh(h z{cr zfRgJa&=j^N__=Fbu4#5Z6^=%mvuI{>C!{)8o8AI|?P4hhOv}4S3SnzpM4TbhV*~i8 z`TUch_W`c}N{)9yQ%Ic8H=Z6aG7mpJbmlW$oQ+O<$SBGu9Mio9S0d118)-b3PH7Iu z^0Hg2u;qyUU#z?g0X-5p3s7>L2bx0Sy5LFWI181XWGNXknQ~?-PGq%!JrJtXR6G@#Ggf3y$I*FXnvV95ISX6ft+{h8%e#p+y^;CX z!`!*Zs~(25?cWi1n51d{;^s2F4nu}0(u30LPtf}3*!KZcdWAt#IQ8@*`Hsu9-3_G` z#anI5Q35_uyptTuL9YfX042vJ&=meRIgZb?ry3C?H!9QPDELIdhvabo2Y0G~)_}^l z{-B2g)9;b(ow9S5)?mJ2{&4Y(`7|3t$w|!}h%p9voJj)4V2HMz7r=1*0j9l&@vv!l z9Q=01x8YKh#alQ+-h7@(mmRk;F09cOpkKxB%21eP*MG>O)-xXm{VebzpwjJK&=ig( z*n>)}chs+rp0RKsYTKOI^F%=}XA`faDz_NEtzs5T$bv{7RlPGr)vLDUh<*{1V-V;w zfHMIl#|+T_gB(5%+;@?3mRaXLOAKAVfrR5~fY z9VIkrMCf;xlpJzvH}Sl>yolh)Y{Z?}EJ`PGTn`wIorYsCZsfPKTI2kDM`|G1jg3pFybqo>Yi_A9mRWKWEvf~8CRkXzk0$q>JHoepYumt{bT&ru(Q+Q!t)8C3#90&!d*2WJ`T{zGK?J zjywzU42sD!IbNQM)>5AB;1>lyN}rcNzXN;#D0#jHP2rT%XJO3TYHG>4`XbdbZJbP^ zUNMo*tP`oMjg+V0>)3dEH0Wu-EI`S#7&L|UkDNmKEVx9vR4Q3jUzWGAeRb#*od&Gs&nxF1+K)%hrgu%9f)Re3Tr2fOdb2`woC= zm)e2u1|-U{v&NQ#nnQ1op zf9$W zDnixL(^!H$VV{)YW^S>^23ec5&70hKQlU&^1!{ORS-uFPNBRveI1Jz6G# z%WIqoKZvU?X@Asv+0^6fWhB8D%1~<8a>_ijDNVnPIvQxkc52&3V}t3cY1h?sJ;m)) z(^+XdTboC5?d>PLY54$m&XP=AdYA!keTWt71G&Op&CEWQy?z1hY(YK)q`l4oeLgVv zd10?6>mIvRXUP9Wi^P}(`;)&D`;#X#mt0%XvVwLc9_QelbZV|^kM_9Y`OrWVVq0_jceDjhYPEU88|#2gLhx(z(Q@F z&}%1TF2rY+4-SF;9?-uH>(v+Z2;jatk?w^*2>rJHK|Wvys98nROkP%x5YkL;7mhr< z{6oJZT+e^9MC^`491T6umR_rlG3+RpQxCaLM#9)Uiq(y;8MZt9EkctGd}A znY%wryfNA|`WB(*({BmW{GTlOx+D2UBl!>?LQ!v_XFYVNvh;io^t-^n0hxZG?+hga z`1Qv2dLH-#J;zngftpFp^keM^CCzjxf5!0Vlp}EazLmbFs!>`lw5*1f9}?v$bs_Cy zbf@_?+#scEX+M*wlb9;&{)p<>saEe$ZBMCz;CX7SdLC18kyb`;q4Wy+Ggt97OnJaD zxI?XmiioVSpU|%svdi*(C+Pja+kn(B_Iva{fXMQ^9Zo&o@M7 z9l<|%`Li2;vhDRyc$11`eN$CFR|oOr%yl?$0@Z{f9%_T%uiR&;XBVXoJw}Z;aARaI z`)FIT?p3qZ?xxLj*>jM*IU#=Xb0`w{Wr}6XM+hzoWW7Jkk9i0pw?e@Hq5m@IR$!&? z&7gMyF95QhJqDVERgeF1|DkB9HHOFX__xBfXvQYyU{pLaIo*vvP3)$F#=A9Tn>Gjq zGy^^zn5tD=Rd}bvMY2rAOr5J{La``Iv7Hp&j9WX3wF8A7g~!9?u?+M|;08dZ^lz`v&Og#e6g(W2{z?6v9hDx!pR@Thia!UiQ`1}Nt*YwRzJh0aeF86beQj9n z$bDD!zo!~pqk-BeZ@PK58c@$>I!)GQ(EXII;x0sQRjHrgkCo=3LZ73MwZPIx`w?{p z&=ZjQ%miHntoq(+H-8iFxo6O4=**dARea8~ku(eMtdEHzmcN^oI#I+xGj&$7!gUW- z_UWTp;nI59@~GXGhP#NPT}2ORo|`oa{{T@Y+_TzMn_nMfKTG$iXEDvrMQXi3aO`#& z5hJOUtSlieg!&OezedR3+W!Up6>toY<>+_NEbROf$57*R|D$+Y3D~kKM72EqJ4SZa0WZ`$%67l zWectO<+~_5oa1GWR7^5&rJoTvv0Z@+ezA z2-b4(2k1197IG^m!u`E?&^bU)K-zC8XcqoVe-Go%S>=32sQo}@E4+Rw`;60!WO($7 zuTaQS2Y$);ij}`dKtBsK0#cqP&@9-VZEwepdT67nYf8E4+K=&gXZSr!oDMs~h`+^> zC;8{FeTIM@1)Kv&c_x8oL5?FjUT+uUs|zrLDBGw&(a;GtB;hor#Ylx`3rsxqYMt{% zd_`k~J?as^Y$tbveiQg7Ao+g*nuW-G)sa0o?+N0H1}s0aBi&pjr4c=`*Qx>2P@XT2#sX7?fPyet3ZH?Dg1tz(y=l zG!z~lOrRr>l?%=l@-%{9GWfCl@*(ISfRlifC;As5&wcx?`pxp^){%W6j~EhQqT(AS zOps5UgeOq8(yys<4}?NRMtj(jjjpt_9x^+Jg_}m_(hAn>H;fhXm4LsL?{A=Q1?~i- zd{2UA;ZMpZv(K3X-1lb$Odc=fQ+^HCpCQn>Kp#NLR}PwmGuNM!aq+d~P=j5Pi2)8S z$=m{u$ar--h<0EbeM?gkc?+!tj8x5S_yei)9)4jB{ zC2JzD38@RX(1rYYNN6yLY0yA7<8*Wi?eDVNGGYf|2Zdo|z{}xeZK!jy?!i5CdW!0Z zx2vv@Q}u+*@w$q8SXFpgW35^*FJvEtjt6EI(E-`W8*66QhRH&oRghPD-7H9;d zJ_kXwaOQLn^$f<{)fjeHR#~@71*^8o2CWm^usudk5T&!2c4O_CH4RwKhusZRggl|& z!tx9SJrOt`kn)s){-4ML&rd^V&Ekzj)x+(j`jIF(LaK3LspeRd0S)H~xf;M%+UXGJ z&w+mfQm&JrS$KQzAGZ%-JB`H@g>`%Lsiqoy8dGsT4d)BF3V#pFRSEhEUAl;}(@&!lzE#r{NPU4P(zBSi=QEu4eF+_RW?aa#qeiONjsEh=*w!Z zp7$>;*Pd6eDyif7&?L{6fJxW^QGAnwF%labLU$AWPSQD`$GeRvhlwLmxWJCMG4@Zi z*>K}|0%(V=lc5`#6SGnOM;Cc)Jpx%+dvlw;T|T=WhuiM_q5Ft^Gx5V4v(w}E*?VDb zq1Plc2ybKkQH@T*zZtPR5nJ>wg;SibpOVjKsM6^O(iB%4mZSWmy zFMa|28$hjHG^~$a7;%qB`*vbZMdgehtsaaBwn-A@GL|KjdMo}yD=rrQG|&~mazN&r zwbuX3byfLp&qwYh!Hz;w^bOly*bh_i50L49dy-u4|69My;g)E6>JZ!6wzGTsd-+Yj z8Jz;f^C=tvAHRzv#-vB8O)}#3EBhTYiR%5d*Ys$s+sMVjZB{SHl zqZdXUyXX$0^ngoPV}jb7wa;g1HFz~ye2WmTeUu~lS=B< ziTs(d37S4nZ$eS*j}5YZVf2&L!Gd%$mTT z)j+zJpyg-l6+Gn45%R8rJW}5MppOD40Xc3Q41czhfWtqD_H4sf;=T3f)5&ew4GJw? zR9ZE8c{TimRai6C_;P&N()Qocqz3xBww;m&I*C7DCH(boyqLDH>F`D{O)b_^ux<$# zi5K_Re2$QwZA>|MKQ?!@#spEewmW!*gP6gAst6sW~Szm9Y+nT8v^Ql{%u zbax-EN;Lpjn6<_wjsGR9Z8aTfEK5m1eR7Gs;foMfxrlJpo*qSVgl~31Y#wK=7?Y zygqzpdOigD31BB6`Mv;}g~wu@kxGHfW8)34M={sg65$ke&Z`^PGz~FLzX2L zzh=ZI`F#ue1n?^$`Pm$2;8#?(XhC^(b$KQ0fd*QYe4qo44Hmyb#Fq>OcsmHX1Sqq3 zusZFDh;|ls#1*7viz=3*3oh5w_7E5okLS@ZxX9;ILr!W7!S#Je)wyl(sI3zAY((5r zzXPEE348!Z{k{Ut!>RTxZ%w~oQ3;ybd1z{1W*av{>3sJ`G^Wy7@$93aUbl*=Qgw;o zn~%+tlJ98HlYk2V$#)j$)ADVTj=`d7VBM3m-cFQM$(nn`?xS5I87D6id>at2F-sOjo%7)Eo2wU@##04g<|XWIqb&i~6^!obPo^ zPD!#U`{+P;F&fBj0S&QIB0`bHXBFa+`rQtCBT#R}&GJv={$*b8iT;Y^i$6};PvewX z*3G$9R=h{s#QQsFyW3PefRsN7ngv(^tg{Zg(|+j%iZ z)kg7|bIWGVKfkns8M)2Ztoeu3tP9md4v5)}FU5>T;2^q-`zh|8AUiariKK5Oo`>Kb z{M?hYlhN6@id?PsU7>c<)0k6xz57oz`UKVgL(}2p00p5;D@8G(+xaRAi(`uRBvJcn zcM&xjS8xvJhFmK2o(r7{EWQ5H*uUf)oGr<^nYeEtep{N2dU9#d+k@ud z#vdmQ?WaCydkxaDZxe0R_6_QNliL4D^?#88ACb?=hs1w~K=nj33Cf=!bO}AiF6p5I z=>3$MY~;asUQMy-OIX2+A&71a&_5@JUq6TIQSw(|k7dwR=7ZIsHv3Ty(TJr05X7jW}# zk9$}s`@FLgyDqMBj z^FUbd-Nf6-obe|);gZ=*6GeLpEu%*Xsx~&)nvUe2sBI-`Pgb%nAk92>lA8 z!ul11o&n4OWWBl+Gz%4$UUJ`JWIDIHv&G{5DlAQ~ik0oDQd6*ECGORj!|I;FS`L<{ z9ZHMEzY+1vd68E^zX7}hNd6y#W+8GvI`~hhD&zf{T5=)w1MjDcmE$-(!uH?}XYJBZ ztvh;eRo4nVGXr5hy+NN13;`scb3vbm&u|PV#TNT8r)#xSIPpJMS}cAW5TC3k?g#xS z@E9QZ?E}q12jgg_mo*s=F9y{Zv+u`^!^#GWr56|Q;Bs13(|WRIDvxHgJvP}d@Jla1&3I17Xj-s=5@hM$oqdcL9>mX3#8jFs_sH6vM6Eu7M)v2y{O!Rvy-i6{QDXPAga?^f`)n<) z;xj9~>_ZRMVQ2lfIMvzc`fBQ4Nxc^v zYp^5Dzy)#~>A8nh)&^chK2}pd33u?`QN4#${S7tB&iq(G@#XXa%u}ESmhFJoFi00Q z7hAy0RNGy|^xAZjb@Y7K3%eAB!u8_}&{qIA0Mafmf<6c+JKDE%U!Q1A&v1FR_ORBI zd&O?1CgJlVfE27Jcrva38lmxClD?C;pF}5i$hDS^>($h{u#Q)&-W96;J8ji*YNU>Z ztgTCxZJp@G7S##;@;ZgneI)1^Kn)=EyC3vpKxDdCoZ61J@iK#iz5VnFdr5?fACdIC ziTh5d*!OGRbG?fEKvRDV_gufE-mj?sSy;shktz<3RI%IY%n4pMIu)n5zi zHZoGTK9Rby0@rx6(60ruhwz!TGc?Xrl7OCo)UO2e0w7Yq10Cg0YgYWfrQl;U{T%mb zsJFpVZ!=B3C#>Er)O#z{Z}{)3r?lKE^lO6bvOYZu`X}I5Kr+|& zs@t`5!K$8^J{$x1Dp|RE6kB;{dLKtmoknZt=ss3kRB3!AART*mFK0$asJ~6fH5WXk zTq{7|1Z)7LTw6eI2O{Mv?oh6X_OAok4%755j+E2OR=3z~)e2>;pO zixmag-7G1b&KS;A?zW}~*{M2ypmn&`iO+?$Sp1eDKG|m2r8 zt33t3g{}NheQpy~%r$5io#1>(#iU_6mLWQO7DoqY&%`|1DTVq>BZ1n3{y-0ZfHi0X zu%dAX!47WrL4>9|h5da=;d&wobT-ffkaFdNW}zkGzH-P_R#jeA#^+*K_t00!U81;i4i`xN(NSL(ly)=w2Nkx>#RqhqesBt_>J_Zf!JmeKXMFgu^8uS zek8ODvrC4CKO*=e9(;ETdGnIP_8A6x954}(_PGc&3vwP!?uToWKjkr+K*1pHdx7Pc zOSxYP-N;r`nRR+-BYAGY{F%jf3*wda_cNeh1DXKI_ZVmvq(2flj^=!4^Yu)5ARf8q z7LjY7wQ|k(s&Y3j=(OWf&d$arGtdp@81LT^e>Wuv3sbP&rje`{;s zPQQturveuNQm$&yEZ80r>DPfhFg)ZXwifH0%odj`dod1`qh3~mI^hl~L^FnuNO^RM zZ?oXvi1-We6{|1a1pPkH3`qVbL9?*MI%m}Ze;kY#0@RU3q7>mi%R><&2r-ga#+WQ> zdmgP)Z^==Z8n(lQpl1NH0V&62pjkMB9hSyFF^dv4)25h z6!;R5{MEESwnM7`Z4L2bgb1fGM1v(q5%|dVt`ziKpaPI`{0%e4tyt- zEvQ_=PDTf-Zl`GH7xLvoR-5ipaZDiHq1kl@u47?!Xy;_(4Wh>fqs%C_l-&n+z`n}Q z0=C>Ivusn`*et4l8EL8lvIO><0wj{H`Ki#&?zF}{+$)gAI z2v*caq5|{`F_pJ5jnE|l_a-}thp|e)Rk|YnDvRG1#3%Q!{2lZzpb?P#{sEeW4%T0= zWXKmOlhcz(vI}j=+jN|=3_St|yl?0(wxHb2@&bbXvc)fy9?r)ppfiE)faEs-Gz*db zRH5HwvFkceH6NP|4^iCM5fT$5UOH0DIE5%b4aNSx=s{u6RftcPn;Svj4%`h$evg1= zp#y$nt!>_I7-pZAVY9_g$q2V6-9YC9V*uIiZU?;sXpX42i^KEOXjLj$$A{_5j*nqA znomWr^XS#+2~4SEE7Gi76&=LEfucv)1uBPW_0S83X+zz^?x#a-!=jbW>3qtu2R1`_ zo)6gJdkCIcaI)N_`lG7jPM@~X=e`p+M`ODQ{9xI9cIwmwVlwa`zz{>&Ks{se=qW95ofg|44+BhV-X1MkHDRyN=bEC4y!y+Agnc;p} z3h2JT06?b06woX*HH-FatF^zjP5ou1KXZt~4=f0`I9Zs7e2;#pD#>VQjTr3Ia^N!7 z0R4byX*AQD&4e3(6{+r6!=M+iEz~?TKO*GX0=_bTJO%m{-~b@y`W!S1`|b1nYFdMWi5pS30%xvNFwQ-@@J{GVp%`^&ab|Ddq)vKg(?p*? zhOZPpO=uI_tJm_lkaHR2knQCf(ANVuTC%aasDpO0RlYIRVwyb)5=AM`5O~T{d{2mY zo7%+t1?aDUZ~k<=lgj2St|(~BjVcwymE$k zsT)zal|F9H8S^z(JhmR;@|_Gi4afjkVDfD|b^lIVJHaAWqnCpCQHftmKjHV7DMZqV@y(IQN(l6ANMyFKXiTXmD)p-b&|FTC6>8^J=chV4c zCF$bWC4S;3(G$BCMi0lE|HC(|e$1z@vddf%s-6~dw?Hmwe=QGdV1N&haz}$^A#(g) z6TX)YDzGAe{17a<0)Dz4Ae-T@8NdOTq1JVDO7b&;UkT!q{1$<}9JmUQ{H_JfL&W|p z!4LQSwdFP!wkk#^>H+czI0E2!5!{e>5jwJXe9sELhY_#jdkplij8D%nUllY9k$Up- zHp*%N+PFmz6pTP$-5g>Tusf;5^^JYo+(TDq@hwKYvV1QDy%e|-koC@L(CdN7{fx^Z z=M`Dql7&5nqKbF>dSQUVF2Bj%Li7hohN5NfB>D~zN&&mpA{!kl&`OIXM>BXxIZlFB zdtsjqAmxY!9S20pvFdbkgqwtpWZ6sfJ*UXR>|3-;q(>EaNqMdTeLb)Nkn(H>{QwXt z&xVfWu@=VMz8>w&k_NNjO7wq_G({OG%>o+hca|J2;34ycy|=0OfmlH1$IhTxh|Cx5 z^MC7xFjfc(t`nCsK7u?6U{E|omI91ZpA-7eMZA*l6` zJm5}IbG%Iz4N#tAmoiqe($M(4;M`F;)hd*CNP@;wQfg){5hc4IMDc_Jp#A0QQqhNG%^7`KSYY{b)K z@h$8d<~sxQ0$>p!`7Qy?!x{9A;2Oj%2q_xIRelo229%}Hm|fqh)V(0|ZA83M-@~Af z0G|Sq?@`b!oLOJlrRktf??caNle|j7i-K={zcAnNpf3cb1CsAd&^(+$-*#MAvg};S zmBo2`4N#sYxZ<#rNZ+D8f^P%jmG#IApbr2|faLo=Xci*-&5IY7&txm=tU{e5=0gf{ zP@|_KVL!+0OB9^y(vX&6;?F0v*_hgB@y+ZX=6e?C5x^Kg@|^r$?BwIo60CoYA?|#rM)I`iDw(85b zI2Bz0<9g6mAEh|`zm_CnQmr%f8eX<}aXihDT+x15d_(zReX~LL1kzL@-_4*KfF}XT_aC6o%y)8C=}g`^ zDaZrc0MHNh)lqsE!GXE1a4xQ5e#NW8J&57eeU1#~ko~W%hWEWJ!?elo~*ipgKE1Q0-eMQK(6Z~bqcp3B&;8Q@#=Na%v^7Zb;<+}jl zbOD%rmjY=36K@Yyeua2`E}m&PXfKEt?_$CQsRIZ29QGbz;kI$%V2`GKLcU_~m-W&t z&`W{K04d*%pjn8lm!$p1@S|TPvr$yCfNa1AXKP>K3>D5KrDHlQ1157C@WNx}5*M2Q zz}2|I=Q@kG@l_#5Gx$h3PJ;HFjdgH9%F!J(3#XHV9TJ#Xv3M3vCyXtvDd$IVOExg) z0O^)kFP{zVE=&P<)jT_P2NRQtwt;9@h&hUu{X(u~;4Aa_b)atsHULtt z`#`gB`to&NRh3n|&a#TvS8%4@LQ{~%yJ{JB{Qb1n;-yr*Ciu1>-aN$1#x1{sjv9#b zE`a3QA2bW`5%&elbg5x(d9;Ezm_vLY;0F8vW*F%8RJl(L&;*wsnWP(yPDLi^YNxi? zM9uH>42tp~>Xn#IXYtn_5c1T5pG=>%plU-2?@y&cm4PD_W&6 z_um@k7>2MB+awxn9k{hv{8|v7v^yDu{wCl9B)??PES%2nQ!2xD?*_fu3j0^ITseV_ zsyZfNRn4QNxe>>?f_ce5gr0L5AH>V-z8v%lU=<+wZUB8|zGEwwTIt=E@AX>8e48x3 z&4^d>JBrasIy+!$r4Kvnlca#y%H~H0zT+ZPM)`r};3v z*|UV4s+->~i#@SS*KzR*T3YWWO?UcT4n~T9?%`V&ox|&~ z!>A_;L9u#d=5SLnMqpnTAm?=Xt6j$5_=dU)wV;oPMC*XNcmMC~cRn_W>lrw4qZw)v_(vsOO?skQp# z-!)RJf3ERYkUyU!{Pj=q+CcfI;rw|ne_o~Xm-zLIdYcd8tG3VI%rpM?3c&;$s+kyX zi-^zSAKbsg(e*bt17+YkRTcgq4Qx(E+v@@BfFHO&g#R&sJr1SUfJ0v6EwAToulkmk zzU?*M@OH&?$yJ(mMD;YQc-lv46aAC41P5*=Iv)-@u;U;!*Rfd3^PInzOwOa%5|VFx zj0;X}$z~1>EqC}FeWGwYiT^TrP`R<(s5ayux*dC61WQO$?(nF$d5jJ0 zxtp@+{p?rCoyusk_A!~0NBhwf&me7{V^NAP6=z}sHr<<)Y;t$qHxoJ%OJdJaZH~I! zIES7~v+emtA8nF7-!+LAszcPV+6?3?NaP5%?J1y)Ujruh$aDOOPjWI%M5T;|HYM{v94amE)-@gZRGw>N8 z+sWTRv#>8mw2vE$>-lGy`$iyNTUnZ>HkjvbH%WteFXgY3gumR|F&6!X-lr=kki4<9 zP#Z$eqVv#~OffzoUT%%GY=v|PcFXspBgiamChg%BawZQEa+Zt=@5iYFy&2dB$a44* z=wpEGJF#9{cwD@9E)a4{c^8z;2M*gSjx@XTO^15Wq1w8*VvKlK0g3Zy?yjD}+ByDi z)SZy#Ph=hSX-K)w^fAJGJ9K5v3ED))?O8ii=vg>A+<&bCy#sg^ka}hpVs8j=c!SVu z?d#(0THZcgCNC`&{duW)tA5s!Pg1kGLp`FBW_2&&uZ`l>C|>u7S3|r1>&<_d$e-)* zKMv(bIvtDu4-KMJai#;+jSl_b@Mp{Ew*o2Y3|Ic-lmRjg(@nw;t@ z&ZwMN?N!n}fz}dx0$t{Tw+q7&&^#XOY`mJl3;tid4m}F)6lz({Sk^yD&9KjiPfLO6 z3bk{QQRd_SJ|`H3Q*`}c)h8@Ea4EC*bgaEUObnYIu&E}bQc4PieYe1Nvj6%$=pTWT zfV3}5jHofEuH$`bYhRzU1@0a-rE|uzGhfoi{7d#Y_1jscHKpMn!XXH{zZWaVf&C`y z=R52P+w7i4?R1-6!_$Y26hWGR%Pz2sz=@?_FC~0$MWdxh31pPxoNCZZfJ*@um@bj) zUZ;qNpJju8w(_3oraG3I-ITZq{1gg1HMNQV6VU$!dX``b zO#(ad-u~I>+z-!nf-P2ezB7AZpE2(}!^lgsne~Hrx(7Bz04pk%f^}JWA3qzZ&hs z$-Mw3Li!oWI=tnXx(~ArIJd-~ahK_rF(uG!!F}xQ1eNtlLdTOHS`zCnDJ|oK{L0vH zdc=Uv0CE5+{{YY|M2^2@I*;Qs}u=4S0P@RzH30Q2W|#rxo150;&bHwhoke_ zmzP$1FJ3saa=`-bndET-YqN&~Zp7{*=3T^Im2b6WG$OE z3;-sk43EQYnR3*bP7~H?y#A?0o53!WiB|d1!=9|X^71kqITwc^T*E3~A2> z$n!X`17Ly48fi!Dy*Un?aC-PplzJ;3TTwWkB+$7)A3*9m8uTP!m*sEwsCE7;^K|+S zE3e^GxAkN&KdyH_&LA*tufcpWw6({Z0f!N*t|TV!XkDnyVjIm^Rh5g>;CC1>2^%H} zJvV@NtDc}A2X+7~bfo7g<#K36`5ZQD>xB$nzN zRC!s&toBT91(PN#{^jW7O8JWs?_YrFXNVsgu8sqDxT3fSN{bawJ^n_<^EBvPK;s$W zImHgGrG+);PURjKI$11C7IyYc3h$q(0KE!W2grQz5$GR*Exko~%(wiXuU%HpqdA3N z*)rT@TvIknbl#CA!oQG3cM9*nFW|lVHa}oBX%9B#KFmWitlCkww%dUB5?n;v!+9doH6z zop2oM1*(2$sNWi%=do2Q!#-qi{GfP##(`bgau!aB(B*U{j(%K4X&M{hT#t)f$XuMB z-$M*tKS8N#sBr#@LvdE{T_EgPGC7=H^`N%{PXN-M`$4|}M7C#ZPoAc}8^3sgFlAdy za_@n&vEC(2+2%L61{NjNqtoxz-p?-9wPBo_)=t=~%geNrZInB#-ouF|)yQwIC zL(mQH#5Jk6^vIk7A5Qp&&8I8^y&6~#NIg={GnLVR>!6T(MM^#Y`@)3H{2fkpYq)l* z60?yXg#2uICHx2B?}a0?)Ovk8*`$+t{fL9VR;ZgG|8d&rRaU#FRho+otz3(vQMgbg ziaPh`y30j z?XT!#6>9@Ey6F*m5i8)7JaOcv&oWk6=aZdZUVgx zcpQ-ZvV)*mkaC{3A8MsjuwaR`GUpk>(qt!5HhP$B0jxITr~n4B9!FjvDjG*y*hcr> z+FzMuO5Ln;1fSw?{WSpeNMH;g?KTy32@qL-<)6-O!{?SRlwLu4U|gA)3r9zEj`EBr zbrUu3!NuPJJ&|?Ir-}oTtU4MDQOblo4d5l)zkh%}4154cdAUL^A29Y`okxIfMjpWwBe4Hg$;nZ-tRf1j(tOulAZ-9Om zh)lP!d+K>irHt3Se()J)#-t(mIrsj*dVAIgF zPm*09CwJC08|V*`UGFD%X5Su4cD*C0rexPaLG4d=y_(!vOH4!3KaZ7JmIcybc%SA{ zGYyyC#pW`*I9&EFE|+r{m$z}YNRNUGO=TIrVeLXO=()fGKE5xg}#M?}?n_9(tla=A*av|R`@Rsu33i<)y5kShf3-n8Xly7dHkaO-I z$k$pu>xbxWoiyr+yLsEVSyk@y&b>}G*Q&4{71n!^Xzy_G<}&Ls)=JYnAzx@3=7{i_ zrRxCD=KvD`DPIZba-hmO_ao(7_9x^Ug@zs`Ol{C#rrUMWpeJtUGTxvnPk86vu9_Pm zV~b_NCyDlEtBm5#7ba&_g^;rmG9+7az5}`$_zaM8Ixa$84@92(bDgfgI))7rf_bx0 zx<>I*b$}>)z3C6B=2q2MbN)cUDf>HG(y!|^5jhq%Tow?GH?MP<(UI|ArL9g&NIlvvs`;&R`^oC zRL!qXBMj{0tF-bzcuD)b3;I*wOF+tFFTvan5Gl_p>-?f@U|Q!>V4n%xUvMyQ9J11A zUIv~b%FVv?pH=f$)yPM_ruP2cDQZmYAQRVjn8RgN+$Q^{sa``RvB>&%72Q&$$&$AU zvLxd(t5>cCeFJbSAmx1?^vghGc^!MY@+yU00%5DUuxqdZ#g~4aX0Fv7nNe(aScd1; zB-brTaU;~2p54u4J<050_U1yrL&TtmHFgdytF_Gbgy1@0a^WFwbCs}nW@)(G7J$A0 zm)^s+{np+Z?D04Vt7~({hQG{@_;ve$1X9gZ>Hl6_EBEI0NG{pxC+(;MbQ$JAA;Z7FyC=`)%xU|U}6;EjhwYle#Le0qs3&a~#&>#BvGmtl-7 z^Z5qob0@F~V1em+$~>2t=h^AE=6UL^cv|o`Rro!#S8yiIs{#3dv{y0cS-?Ib+S`y{ zyltnH-wy57IzCEjP}iv2Rnnja+dR$fysz*zyp#A#ag?zKmK_p~39Ec!zkn`eOVKv# zfS`s6``fr{lGm7Vu4N)Bb&G{P8X#kyrN=9v4+3uiG9P{knuYp@MS4e$6EGdQcxKHM zY(aoqUe<8blF3)F+3JPLhA44rnt3>2h^Cl|RFo0oS}J%_Wg%}?*w4c`pi6)iqp}6GlRdqXaXqm#F@ywIuarzMMD2(c6(`_p88#wM~H+Lz;7(X(Sf*!nNhPD?v~7;&ueD*$LB)it;nn zdeItmHk7<&LJy@Z+<%=4x*S*t$o#Mq^h-doHQ&`N&lR82Z?6^><#Sn93nP`y%ohL2 zzs~AWx{ys*pXNU+XU~S?C1#F#a#FZGn$xGey z&gk7P{Y96TYR8;ri_>SogUMSi+hLb2Y7liK*xwMp+v~(G2GLttN3}7`N3qFD-`}W@ zbV8RU8dC`Yn`w@6*zCowIOjN};8J0y%-P}o>R8azfKou(=^D^C0VnE3dD;7hNcR(` zl$%rR)TUG2NMBWVQ_@HsyZM~ne^lkYKpCY+<9uJlA>n;fyzG>1GR-tn^?@|e6%)g^ zA#5Sq213^mn#r`818uHVdG=EZE)((}g>1F>ij{ls9Q6HxZh(~kY0#em`L25Yhpx5a zec+UKrvv#}r(1Sv8*OU>yKSV=c0J{<}(^t2T1$w0(}4|vGzaYSo4HiPwCH|#=a;Ksr9z2 zwM{lsZ+nFDSCBtrH*pKE#za6&wc)2Rzj!=#UKKtRVyJ74ht2*){pQ|G==E@_VcbjA z)S#~MnP@<(p3<;d=$Ba@?ziNFJ{uSUNd4IF$KZ3M zUwhkpQ66MzXT$gjY;`aVnIcVD9jian$+e>sX8CpMB2h}S#jg%=B_mFjUpIk%7}yTT z`gI3r7Pdz0&z5|OY8Htt(FKK=|4HL>Kk&e@F*cQ6glbjkuNAVfic+;k=%>sJx33}4 zX9ER*Q$+Fp*i`O|#SJQs z0>>1Z2X9>iX|^K~3*5!H#MShS(K>4bao)fTCZ(m@v&Y7Fi;szClT;UD=M)ZnR^pO9 zoTI;p=9~SEcs-5P>m}=jKKmdq>vuBy9RmF>@S&vxOS8yxGSY6d7cS|E)X7Eal6+e2HHPi0UVytj`D$4~6;f+D zPc7U?yE@2b>Jp6UYNDvLhoH^*eC-mG2KFQ$2^!z92Pk=7~DaTKsS@=UahT?vQ zISbh}=iO^{2<7S)u81(^szhH^okz#ak!qN9*^mx7$5l`w-;yuiRxgu3wM9Fr9n(mQ_A2GCed5!8@hO9U7i{y4KZebh$LY^r zWnZxPQK#A9bl75cIL*UOkI{|7Yd?;n#8Bt`KE4F9!RKqGvh8liP2?q?vCn6A4$)Aj z0FL;09~D2W_oZt5^ONH97GI3!z!vAex^C*pA#cHffGdzlC5U^B)zamIQ^%9o(aqaWct^FUIQo*=N{Mo(!Sn=3sGz{u2>!}eyr=q z&*^o=nq4Mev)f0Mlc8?d9uPX_3beQ|=CXCO$JqI*T_3n9P9e#xPA|lUSyRQVF+$#* zLe9gGL5>r?2kodb6)zymWeR8(3Xh8Zn(bThmicpT>5{TBvrs*i&n&HwbI^69Cm#x4 zEk=Zmc(Ebt235JEQznEMY>cJRWTtH@8|0PZ!l-Uq4|SdaS15Xj*It+p*eK+y1^;C5 zXZ6?ppa)!nb`_9zJPNw|B9yHa!fvZ}iTB!<>hV|MUUWM-&uhI&#*!Epc&$=5u?xIj zCHxgU`xAcYC_kMWXGGtzMO{K`!OLp&0{zW zzv2BXikI!fQLa{MBHaBau;TnJ|G%hDqg<`j9Ag4{LR*N-2+>q?3FX_PL!mUhovTQk zf!q2}*gR|L^pG=T58cXklHJBK*RO>B1ui_XV>5$%MYK$mus9P>a+UaSh)^tWeu-_e zxQ&4Q2gdd6zkBnaUSRXEyzm#CaW&OuJ4&GorSKVoeYh@HnzPZy6BCcd2SvWvfHarw z_Y0uk01g2%UwErcB^3y@i2Pb;y~kc!&!dw0w+8*K>S4<#TRYR_*L+b^Y+J&mhyO9w zvr7+g+aXJqU08LC%cXsciRd}v1YL&us6##Em|#SyoujAGs3G|5Y;lY=?j$`2(cum~ zC)15f3B9~anM=PQxc-t|_VzY9&uqp9J!=&g+zitz+wS<3);m^;t-Mqor z8>=)Wj;01WTgg;&IBfEt8_k8iyDxu)O*f|MW08$MAb+7V45Rm)_<0mx4Z~NB#E8Nm z)QJ^D_Z9Ri?D==uhGKg}Jnif9;ZBv2bQ+@_{i2i6IqO2l;EFht4m~UO?2&;!0d`TG z9*<{&9*t*=?!wcpYk2DJm<#S9=;Q?x?P>lrcj6e6^4`X~M1w(LS@h7C!Yvp5JHhr1 zv^yzkGcmf86nG@>N@vin=6PDay2zdvo!#jZ65r2xKk;-;K^iDcPYHXsz@Bp6oh-)M z01yOZzN!cPD)9C?QO~$;wB8ZF>=rhn;GV+J1gIwdmUhW^M=K zRu^3zV`IBouuYc4p!H0L9h-LxJLWA3*V{uuUkuCyWWK!xGz(Rmh5dGRspp?%0i0Y> zK2r>YQtLF_HmZ?2?Syz;#y_ONCqFBUc4cQ;FB-B{Vu;X3^J9}a9l^&4lVPYqX#C(P zPs5jEO^2D0G{T<7Dyv)ACU*1!1|j#A(F*zs;pF)=!+EZUdkm}JEA&v7hUc+LKraI> z2V{O2waio&15Nh{Ju+_)dQ6GfSI+Xo*wW>EhlD z(KLsx$k#Qf#v7}Ni9Hb;kaAgCABs}r{yqu$@Vlf;lv$JD=r$(Hdh2$F?r{8TR) z{|fm31^NGt*8QVJ^BSm}71WltWO4qEBIJX{~dfX)GW0y6#Y z0o?$swfxxCSo<6^}NaCuk3@!mdEL>PUS#P+@54} zCp!|nIP@QvU_%oVQs-jVT35_X`t@0{nomojUE;ch|0fGIhhf@i3VuO-j+i&dK$GT? z&S{<;qno!^6cSE-v-NZRME59SV2l9quAtwMNVlk(McEgfD2^=KA^X(@N<70$>iz*&U*>`*rmXGrhYird@UFLIvq}r-Wh(H(?Vz_ zA*x|ZGqd$9Y9xALz-92?J6=q<_CN;4pJN^GpF-YR$RgXNyFhOP9tYTOn9Pl!S%_Q@ zmUhg{=9Y}Ooi5l+t`>Kn;9L;;=q+>~RbIxR&`v9~d-+{ni?r@!N%;QJlEXqC-(}%( zbQjRMKp#NLGXgXVk>}&3JYqMewHtw*%O_Qdl}vye34EU>V8F;WM`fr8OBqPduv!eou%Ll zm!%F@Jr0-zNPComX2ECe zi{4_bdq{h98qdD4lA+-d=R7>L$1)c&ut~| zePN#l@RRZ!1bqbf6p-?q0L{WyYaafG*28}b~g z+gwJ_S?$4s)NO>F9GN1;QkNM#5ji_0??WM9@!!JZ&dWis0@eXC{WgK#0+dAf&kse+ zmx}tK{b^b*`y%FmBA7P~HAO0~DeAF}9;R~|ftRQUd0fm>^+iXA*AXKywL2c^Y01|D z-pLS|rKffU{NDjyK-w=3Gz*dQxiUS4T*E3W;Rp(qRzI9CX`vI9lWHoBB0BaY;?Hxj zYA0gBc>E(_m$`^nj>j(ty$VFF zBlgb90mKfUIxMtU@%yd}kITA%?g8`$q@5;$X5nV*e$L4CRgpi2bE~BRKv$Yp8TsY=M9F;{?kEM0oMVtd~diK_sj#yE9<#jea3I*@4_wObNlqb z+!E|0zpF;)xNOqQC46+%;`lIh%t2ZlAG?n^SU!KsjV&cjDmE@X&dS+?DvnNn;!>{H z2lyOD6peQDvkgPRqnP_k$IXX<_$b=RmP_}Lv*@rK<1FIDf#6Zp?Z6#F-LWfsrfU%T zJ{7hMBheU%E%Du={BP>^7cdjkWu3Yj+x%%BX0!qr!nz=GmaUMcLXza^SU&)|GAGOczs%}s1nr*nx#X`5%$w;-uxK+ca>q#+gw>fVkIuB-P zT0(pv(GJfR&X=g_^}j@kY2HKZSR!x(?3sq5|2fgNQuyKQu0BeP1sEq`+sII@FJ?<| zW9dzV{)ezm;4*mT9;pq61y&NeLW8Vs`$NQ>8u*luo|!l_*q`3d9!X}Zqd$Dw;uvC* zdo}U(^WH_Wz=b6S=|S#Mv1{XT-R3vfs~D@P<~(vjoGVHGLFAXYE5iA=7W56ky@1Rw zUxBt?gWv2B{li9Up0BW=eSQ)Bib-WN%gV7#fNYElcz?&mt)z)wXB@<$aSQE_uGt_A zUXK$zp4M@-cK@4I2{XODAW9GsXMLKpjI1)31aad)+S%F`O{wsEpPtx*m zK=F1QOmdp~Jp{Hj6InxiiB^Usk2yvfeUQ)|7>e9LwE1d(qo2+sWSBJN?z@7O+A)T-e7mV*Vu z&||m+NanqUABpmqGkv{7yVU{X&@S32GshOkMl18QtGH>{y#&|;YlXbug?#y|!u^O+ z(2IeUfRyhr=+6MzkCFX!*WP*_Q+qqL-|W74VY^XRNhK1qGw>F{V>nOMsmRtIWb54o z?Z9e`!<<=z zPY-xzd*1HY?eM&a-(tEBa|FS>I9P@`og7KvoPc+qSoX-VSUyRxWM#*ME^b3{d7R~z zVaU0hD7r2@pHv2V5wHf3cG(BI3HWr2=#R^OLq&&nkvmm`1*@5(wc80#v)QQNRDhz4 z>u7|cQQ&cW^$u6oPY&&*!)uFWTZ9~%idpH9`h#Yk)aX09-lFTrblZ&%b+Z=zg>G-s z;j2Y+CQY{`vi|(5L|epiAXD`$#sD)b6qh^dHaIi0N4xA!enPg03O(~zhwJkxpyvUV zfYkFg&|83=*1kizAIKH4{w2x@*E75i2=|olQ~A6}8Gk0S*^?Ifji$Wk%EGy>bV{QV z{A!ffpGsYOoZ8FIWi;0qZ`Y%<<1Y3jvf0c+)X)`hS3uSgZ3-)5jRfiUu(c})A2p%J z3CLK0lwtf;0z}r^g&o#Qqbe#(`Chkz{>a`lT5F{bh|=IrU+2z37L_g+ zH;@<9vVu4d_zUo&D3BMTCh{O*qwyYY(I|fEK;TM>LvUG-xU>eBQ)9~}uA5c$6|bko zp&cT)lI1Oe##+T`QffGDK^smAyy(&1fvXk%lNRDQM$~WMNs0de5vcD`_J7~GSa%XI zraKd361(yq%J)>;*4mtPhw}|MVKSppsSR-;UiQiB@TuN`(V%0#XXaCioWg##>%-|9 z2f80{HX!X+3c4JKOxNNL({+rvfEU{~2;WDNiFYgz1Vp>@I8`3@q_1?_uXp3D644A3 zSLKZgL>aiB7AYQ7gKEeXmw=?6rM+aeLw15q(N?H)3AuMdreu7_%J18tj{u(nOgZ-B z7SJq2$}N*tj?)%G{bfVAJkpjl{)xNqV#_8Y<7^*55t$r#x8a$Du;> zQ#4E#>t0+oWEvrDXq*R^sl}zhR*w^{LNvy9@)I+K;`0l8wG0c(TMxPJ1s()gU^1UF zf8s}K`IT#Z*j~tflV`<~*k&H)1pfXP;CDdk&3`out|AO78j__%FnX%F&yg0e8h`!6OA56w}+ zzP_8n{hCbBBY;VOlzS!U4M529dyr$DXWSWao<`Iw<4UXKfk8~HHepH?e#tWUGn+r% zVv_YUHfB@Nf;1E5bsv0`5nJqXbTebH%h!)KBk-0ts>NadTvN9sYxgJn9U;s}3~*-a zx}Ia|EXSNh_pq%O>7nj_Vdl7nW-b2Q0(Kgsk=HRIqgsFt_}n3VCD1HHmYeqVVOs|f z!MvVm%;H-cwAYDpV^likw+!a~!Ok1Cahljwit%q}s~p@K?ic5PE(FE_QjS@mS&;qW z<|{ku7YjSJ9*RkA(6-a<8fnnd+dMDcj+Oovx=K?Tq6Q$lI}9uVJB&GMhMA#r@x*fe zQFa!lAzsMW0RG9~&+N1h^g-Y)K+1OnGz*dS;VE{KL##kvK5sH6D@{26f;oI6pd*T0 z;j~HdB?!KGw}s2kT+mB_%K({=HiEtnh-_~|5%XB0ewctctl1TnOWCGVK0cS?;UZ4{ zAH0LiJ+uc4=A$V&7nsGHljr^)bMGBrMV0^m&zw8AQ)osnzX8AzJ zuNE}pw6`25Kf`mb=ehSl`!xx^FG!qEHv9Tj>0Fn>R8&xPG{@e(L4R;^+i{rpM1Pw< z?C;$&Uhfv=3b7FZUM?*%yY~wPS?%QJ4(L63bPf;Y${SH&^_fW5Jj%Md?P&Z0PBjg3 z{I16*Jzw7nzZX0J^!R=rE=%Hktp|`ZzBo^Ol61D-ypV;fOvPEwKiu8B|1#a#bJjdNb0%C{633NO)6Zr?>ltU+bHhv%d&OGR>YMH&~XN!vTLFPeSSEZ0wB? zXK*fe4d?7RLnRL>(>abPQ+8aciky0E!AE_({|5da@GH=9?7iNJV|VpFV4WZA7{^2G z%amjs&v3%H!8Eq-5XM}#vRIASV8F-|2;+Dfcdi{&=~1!c&m#27`6~P4>F`Uy@N@i#i8un>U(PC@ymNoJ)AHc9t?V8B`6)Gj8iqUm zRBUkP|GDtx;6$MN(WUTfK;rzrEm=QmTN3bMv4aWJ`Oc}PUwLg$PuZ1%Uv{^C?4HH7 zJY49V8MbCS(ON0&qriB&&@(a?4LdphZ9_ZGciDf82G+kI2DE>};p0H!abSBg|J+0T zUU+w!-Ha`!vC(nvydGA4k1RGic>K5P+)UTGjnX+v?Fh%eI<(__m;T)ZzYE+4w0|GN zzXpl^MSQO(qo3KJMe1^aJ zIThB$GU#BC_gH0ar5VS@KeBM)~E=%1QCtrB{ zeP_OC7Y|SB%yz&wXFK4if5>Ypvz_gLA1q@d8|}QZnad`F(NnlZDLaxE(Nq64(JdIx znKlhNQ_@$vi{e$ zbel#8!!ai-Ca5<06 zmIqVW3C|Hm!&t}fP52b29{B=;sDdJY8dfxjvwW>y7S+W@cCd7(0-f>mt{o4`^nn1yS`I{b9k}~ zI&Pe0+@###nW3&52e-LlG$=os(J4nq#^ayxpF#9Cw;hj%*MRkEeW9OA5J`CcwX=R~ zyH=+9ex#M-mKBHckiFye?b2NTK)>tx=NTQbBbRs668Kz13u9EEp|1tGd?kSGBtiUrFMeT zE-loxLdD}Jc;I%P2Lp7!J{rCd)D=48QO9HZ9Sydjg!YkF?T@pU|8;^j|2O7r8H=}d zEE>6dvDdH*3$2?9+rm&%mem%9vvX7!>N2waQJDQ#Xe%l^o-C$O1FbVW} z9$(8x{|$B)al0_C?>+42LhHA}Y<4T+k#%OKeSKz)#bcqAyLMYN@8bAZg|^OTPKKWi z&IfvYtb@zaaXxeC%2Rw(n#X&0kkZ(8Yj<`0*oKbwCU^;;7dR?(0*SJzXc>7FDiWfZaY{U$id=RAUDfK zs86|#;B1=kE*ImDWx_t) z-Zg9HJa(UAE6OGCxf!!U_7w()S@u4VZPtiSa{Q=4N3Y}S;SJz6p#5ls%To5Gvree_ z?~dyQ`~JS^T;Dx?&Z>Efn3)DNh^h_3Y!Fw74fcuX^#SAVzLU5B?jrj{!(1NcJBF*^ z#t8dyN=@aCAI6{Ec`^rH1cn3c$4s~^>tZ|3lR6#?SFSi&&Wo))v+z69Y-Qif{^@4#0am(vj#_&@sgE83bKQzhwa2?U(qbY<)&CJ z2M+6$y&OL`;)kBkH^Dc9SAh2OUvOCxue;EGPFA-Z$@ipu%$0NOM}(a{h)V;;Mg8op z2aabEE}V&2yKu|dWV2LE;=y+Ib7FSk9ly)u$!q(Y)M?$@@vGu)cV0Ohz7Q-0dOSP> ze;3UB$!WhW>VD&w6Q2LE*NSTS96PoX?r|O)vCVS!6P}6~P5pMgv2VsLeY^8Y%#XN2?&F1czoM>#QRnpB0MY@UJv9mIxq3qnfM0W1TfdhtQ=jMwk!@3U- z=FSL|n^~DXgHyRovyTk!9C!dY0Vd z)^j&_1(*(W{EvsrQn%Tu=k||w?61>#k4@XEqVgKS=D{t_=E2s0@pinJYgTi(YBeKr zAP2dK{Wn!8*ORimG2RQz0LQl`1FT$I_n?U>10+%Im{?z?J`omJ2 zkmpw)Z0|cSGp--#>^tu!msh)RM<5@yO0VQzcf3x9PX`ABtv44gOY>7sy%W#hD7_;V zuUe#DXj4$xAh%E^+dC+{&iVF%G6>_Sy?WHd1g?(RN7x4to_{q>)f*i>Z@dJ53v30t zzkLP&9weTJ|0bco*|+C$JDwc7)qAqM+k1sPO?Vq;SqBcgE^e)lheU~0EXBoaa1hfpbGf)s^xhy}n?w zy)>MP!<>%(QF?Cy?SA&#*61qM5JamlwzEp^&=s_iEK-YB2p__q#i-M?>x z{{=h@bbtFBT$V)tbQlj@U{A}H_G_h`KK2!t!VZ$|472tPs6Mtg=LQeaeN5Ubt#tI` ze+e6ve3!?`GWZc-0nqWe8~!4=`vvE?5V^+ryu`14N6oPxvSL4AWk4&Je0?X(R&lkk zKb~~H{lGW5re-U|3JfI2_$FjLJZPer80}$(uO66v)4<3*J+1qD76vlz=^1G384$gB zL}0(%oNm4D8)!W|uv^w7?&DbMWF>!3aVFelS>Pqx0{5m`Jr!z|^Y ziJY)()*qDy#f&+qaY=ITRL9PW4Xs)_IlFdgW2sDjI~UCrwy z+jpGzoP0_>+=Wif;pZIZ@beHKvcm6M#+tz+#IB*8*#kTw^U%o0_I*aDaG&yG-q$={ z91|E7vX9wPr}=QluO@U0`7Yb%4S4Yb>{kKZKL3G-A7qbC_1|xvbo|Mhxcdw_1>Bl$%xB;_wO_Ve)R9xksyen9_kMdZLOX7$+*8~}!bIe?cXhXX6X z8DJcER_>KQ$B?Y`?%Ze^4`Y*pL3}p?xyfA!KVMz4k?(qCx zea|Zl*A-@RCHo-GAot-3Ej<_Z4Dcr>_lAOS181@LBh+v1D+oVm|0c)&O`p-hJ#(Ke z2yZUnd+*#&3&NilREQ$(|BlTI9*6w_x&J5#zpj5bBX}^sJA%H#Ed*n^XODM<4G(My z(R`c}2%C2O*mxhx1H$G+!x{H-({1L8oN)FTv2gCVZsELV&FL<%FPW#o;HaZ`< z9DXCX6X^DP5B^UOf6i$)-F_Pru3wVxhtsG0&XFgUN84vyme8N0T!nD3@!XJNuK3UA zu1pcg6ykwG>$$?{vxSl8c=V0D`Yb@6&hIlt4%g*ycAh#-uwvY9F4+=RZc$z%cd*f- z{4RUQ_4@$$5nvwBexC=w3?%x!&c|=}RO-3X^KQ21OO@w48{3rU0q#SIyi;hk6h=QP zjIl#{EqXD>0IQSl53ef({hs(0gaOQtMf7-S_ z8q7D9J6wK$m+el(<4!x5CR!(Gm#V8Ae;U!#dBC&qSHSB)`|~5bGk@B)K6dbDQ+oc) zar~*+Byo{9LeIwO89dT0%ZN?<9TZzTUjSx&F{{E;(dX@On}49YgZ& z8d58tfNLCTjSv%ML$L*7au0xA%I7-%Y(cA>-^l*+CHxog2hjdxKEm}sAkm+Sg#L~{ zIyv`o=>4MNzYNKHumgu;^BjK`p{4yf1AZyE0%(6Wz&CS#{k3C(exvrkOZPv<* zG`VYE9zuWjx9B1CO7YrT2v4sm*g3sH)S|1l)*^&yuiw{~{pbPZc%3mkvqkGcL#fKLSn z0PW9A_#BYv&rJV*&hcv# znmSG|!MB2sfcEPf_Y2I_s4U1X)y0*qU5}5c!S-W-ZG7K#l`;`lGi%qs)H_v?^5 zltg7Wwz54jsF@xcKa%yfsA~ITksK6J3U&tCuPN{YKs&$M$ICvGSR`i&P*c>-v&#Q>V zmpFbkpsC}v3BDP;0<>RS;h%y;zY5#O%Wd!^7jp$6ukW%~nW#JahH}zPzMSeOQDu}461{j5 z9VQM|$_+}l>{(ZL2K*>68))5m@Kkl>#%g}-z+5xdi>r5klCSDJ5E!e_B+7OvJyG=o z?CScy0Dm341GMgYa9L7`?|5_zVkeD_!lxvlV+&n_XJ*mo*{+?GkAaEEaMz=40q^q`QxK~xVbUo)7)H9xTy~pL_|J@@^X-D zdyC^-lP8@G3XGJ!?gaM8GI$*byJO*5M&(J4{~Pg5pYMAO{yt~{I$oc_Wl8>=tP>O8 z)8O2m;LbFaJFy)xV1|4x-2&r}9^AiwFekAcvqqEhqx1#WkE!q@z%fAkaROYH##fwq zc$Io@gr48z?YJ|JYZK+A-(QHe@}=LGnQJ-!`=i)k8Rx_&Sd%%7{f#GZmZ<^}gThHbt%PdECJryJFc z87PLyiMNPbjT}4Wr#QOho1O1+zCRE?3oHj(_YC#-dY;#xIv$IcFShq!D*F@s^W}!n z7&e4%H)p?OPJhwNd&wO0BAvpT{Y>`sr?c~($sY5xd=PvYS9CcuRQainA5D%??G-GVsVw1)G6X0Y?#E1l&j5!4tveGgOS1jOlHn{Xoj1=6 z)32VXp2xmhctx~YR`*)dumERwhRavbmY(j^w*kAQ*p==21pF27I?%dr!(~a_@6+wO zgKpa^XL#$)Qh7Z-uc)szrFsME0QGUs3vip2e#zh6c<%|{7aRoiyg3U#59oH*&$}pW z_x_XRyewqcDEX6VGrROymKi-!9{;M@`xSGXVU6Ds=HbX9`=4Rf14}F#eLS0XaJy8U zq1qoU-Ttq^w}AJ7j>kuES+qa;dTe>U#Hdk==A5`_lnxCuk^KgBb@5Do<-8dY96Hmm z&Xo5R7KvU=el1Ej{<5n(2|fi(1+vIkEK0b(&(T|OLNc|9C`~jh4wX)cpXt=E9-DD~ zCENQB_=DgPpzHSpT$aT5gy~AD=OGRor7lj%ub%7aWSro!fU%!7UcKkIN$Eyjap%tg z@DZRCXx(veSrXr;)=pPnXJ0v;xhy;*Tq(Pk6Vv^y0rpsycFNCk>RXH5INxP`*THWC zcLA+?FI<*R>#OtIPAc4@bhl$yA1}JS8aDcX0YK{xg3HoreR-ss3UzjD97_<{r;jkK zBUsYOK3rbw)Uz6UTJJ*m6<|HkEcJ<2URwwsb2@sgSKqB+#C zM!aNYy=V=U?TiZ}c)<$XDGkb>?P#%Xvg4lnkFYTa3ZNON;EqHO;8vCkeJMpN&zSh4Aeh0W4X#GaGEGg-?U0Bk&6XoYP`rEOu z+asr$_6Gxi)*l3yC9yqx+M${mAiwfJPj^4du+EafkGFMqqeg0b+28BnSA*+- z)?E*mWog25a@y3BY?UgOkv3wBGCZmZOIJ!}Ml*3E#+vM9;*o^AcR?LOILhs;Clxiog3qg#nx-LF@` z&jA+zt$Q(CmQMS1;-i5&@7lKA7UjnlbV~V+jQdaU$QwNG5@X#&`GVU>zw*FV^`PrbNIi(&p_+`3YVqR`Z^nJoz82m zO1I)IS9c+N6{rDP_cVA)x*XS#ZhIt6ekbdQ>IjEfxoinm?;MerJM2GIIv!_(8(k94Uut9Dqbb6b)HjDze% zp+V_y#=dU%7Wluw_dx6a2$!Yvc2|#b=_K&+i&eefadqdymw?qkuWQbPp9>OowZ?M$ib46B+UICGO}-3T%Ew4LE95O|C7W2V$0-g5q34nGZ?1$29y z15c?v)ctXttuLxBQR5%G`uOuT{0|U#*VPTfWvNMc{&c(Jy!Sq|6plTmmpb~D*pFjh z*86z)$>4OL>siPC#`1jx^pml$R%hKt5+xCc)P9|L2 z8td81)HvAcw)cGa31BtQ`ZaJ_68l}dxO*RA(!uQ8s&t#MTZ&y7?~mZ$gP(xb{S_`t zr^oq(N0xMYptr4Zo^P$H|9fuz=fSJNDxm#187@mI^>15pbmA)D?8dPx>;DP- zJMbgWy4&HhblTtaBQe}v`26Yxp49m|rd_}?XMjwdo0Wd~`|iA71z!eM0bPHZgh#y&bzmH# z)w%yc>6d@t>d%HR1t$QlzZ#yFzPg|$zY_;)uTb^JzMf~d!oL7t1FiopT$WDzo##H# z4!WITT{eV-MNi8kBA$cH`KU z{rv^_o8Vobbw7a1lKj1wYF(}FWAmR}7m`3aCw$AVa_U?1k*m8W`~Xl1wCG>#(ca`DXaN;C`TWAA+Z=+nq^-sc zO4sRW?dUEj;$H-TG#*1Zj$s;+u;fzPz%>NY6d zR_yBaVa}&vV<0F7T6Z{Hme>Q%{+&L5-fo>j|4MO*c%@0y9%55>t=t(y`P{z(7FTRvaC<~{^GXz)BEUvq|(*bJM~?J zT|KVXz%K{a0IhpH+%8F;tL~jo+OC<(_svg_ZR_OH;0=!cHtd)3RUS8tfAao6Pyn=k zAGj>Bdpc`(c`H0Kc!~?eCZ)d!`?}wq4ZjLp2ekf;a9IxRwEk_k;-`?6Ft4pw^~b)B zzxg@$euI3V^$Xy#bUv@@Tjc$NuTKudZ*+94u&eWuQ{fkZwLt4$374hQb%J{fd}m7q z+g_8>Z^6FS{}mqnf^)w>>*vE|*`Dw`{dVKsz4bk*{z7MIY}>24N!1_wI_@XK*MJLw z*1r@kOQ&(yyL7%?UPqmEsnXqoT|Lgfga0OVwz;|ixGbH{FC9!S-V^-Q8=U%9Vpr=f zgP#h{1iHRw!&B4s-eR6S5o}euo3X3M_b2cl!7o7T{tlPr&Cc4{y;Uux5#HF~)VtzK zx1Hy~mw;-Z^;f}VNo;4Iec84QyrA+5b4Dhom>*;<4A>ApmQ7jvlCbKV9o;7E>i+dE z{B!U%(7NBjW$AQ()}#8UybPmW-kp5AeExwYpMlV7ik0$;iCpP{}%o|_)psQoeM;~ zfofIuOTTsFbP)VdFcYK~C-2EVPbDxCyUiI7>#$kHce!qR82$)&!lP5J)@vP)hqlSB zl<`n%Sfxg}vcDZ$)yjU~@7MzegMln^JQ!*noQnOn=N<2i%Fc$xb*@IO(y79x9@l5V z&jIIqbW$7Fl}i>@&RMkx*V+cQ^pVn_bT)f*K7)S&zD`?5z0kxX(xmK{w7TuSFMNM+ zAdn^X`9od%=IvOv1&%LDr{1G;Kl~x^NZLAbGiBxCIrA6KLrPwf(bJH76|&s!^snvM z)a}y!dvXHM2goAplUlo|&3R9};>!L^Y{ju7`|nElYH*6j{`w@(XWMZ;-%n0f9_xlt zuIz8ZmiGS*_}gHs$9`)5v(u0uP^Ih_{@}LvIQRsxE087i_IAz;ct?1xvR~t|zYcx_ z*pRk;<`I3;+$(~Q4N9lQqw~A8|8MS>0O{2O9lI%9ktSuo99#OhHw!)oEa-~;8LQ>_ z!8U;wWxoMiah#R?=rQ<{;2Dqo)cTQQe20#7hcgb0A6@%{;6-2<(DA8Ht)I%rnJ-(g ze3g8D$qwT!u5=c8bS{Cf1y`o6)touvZS!ymX~_# zY_f7sd$oO}VI3(S`6I9RbV`fTjsN88?gpO%rUI?IAKWep=PlY@|G9(e9=7UC!^wBDf`>7rQ>M*%=#B(0$Dnq?_K-tSJxcp zmHi5AY5(WK7l6ec`^o!*$Nu6|Wj|<}1Eg;a%Kk=={b%6MgBR1Z-+pz?^VgOA$adHN z!SG@*9LSPt{QVZbEz15PkNrCM#b9lk_LHx!aq>>5A2oY)zJmV?e4nOH`_(n$OW7~| z#f{T6_zZ9eNGDG1SJxcZmHm2;{rlkegNM_!pL}&qKCN`NW3vjU<#DC^udIJSAE4`z ze0}Zq*Y>Mx&O0jmGqI)D*QdhI0B3vbCtqJD+V@*svk$Fwny{(I^#|}4@R>&^`8vqe z@mpQDD*N&Oy7qU4?*S$Q9j8?6w_jDWzP!unueI3H^Tv(v25_s#ek${Z->SM)*>CaK zH-6)q7!U^9|5WUEu$ne1l}-gVbvw+3F93@@I;q5|{c4(h6J>uRwrX%%_Sa|Oe*-Uh z?DtKY54!EFmx{ZP5bR=DyT}+cD*KV&c_yy1KO8<1i~+L9`LFZ|XMdo5KA2$NeXFHc z#%NVK)gGP8;a7omUDHwBYBIH%Y*>?RSB>&NJN;@4Hf#BnjMwkd{vWJ+fh@8nmWm|8^(pwDHLwIm%(=flYlI#j*H~k4dX-U)L~PP?|a}6f=$3wI*-9+ zNh80Ry0~V+{4rz8a5UMj0>_nmobeM0xcWQ6CxG36)}I8oOR9N}N4=nOA-fBs?A?XG zvbzAd|NI!yovobGd)4tD`+9uc4!;xJqcl^CvljHve=3#EHf-uRXIT*=7vuw3q)zAa zsH@|b2URPbN^I)-tc0%yr+9QaUvGGHeDa}srL)PSvladU__&KYetA)&(uoJ%`s@Xt z3iby&Zt2v=FF$HlI&~hMM)(8ZuU*vXC{JotdfPpEy+aYB9~cO_QZK)JDR!UJzpJpR z`@oW?>iFeNrAlYBN9Q~E58$UR>U5MpRVux*aHK7NItD%)%mX@po##((KljU{ zYL!j{Hmflzk1H?1UjeUqbUM$Y5_SCZsV1cti@5W|&hRp@JJ9t?XP)rOt6G#!jYsEt z_>JJ^F6#K@S4N}L|5~uA`(H34Vnjd|(Dg}Y{QBitaivp%O|4T6KM|bVMV*fFt#YNe z3EO%;-wOW#eC*Lnr=9%rt}3Myk4D<^uD#$>!TvzUuk*ai?SFpxSA){2!)6^uWk0_k z{t$S?qtki*m7tR(4{K3++dX;%Gb6?jPy%$lx}fKqkCpz#>4%H3U90MMHGCad@6qc# zA8S`X-@L3=>21MwTuQx=JlCz){_yGGAfV%yj$TLkU4zoA_vk$ae-b>?MZJ#lye6e*#N7T~ z0^bRY2D*Of^!JYPy%wccgKd4>S`YsdxC7{X>n^w~Y3F+rI!yPBst25Lw;lUhzjt25 zC<4QQ)*l78OM3a9RPQL=GvW_A`qkLi^Vrq!bzr^HOef!);GgapCDUM_@#SBmC`B4rmoK%_8lGHhOekgue`$yQbrp?imeA zCzkKlXDobYunUkS&Gzw2_lzc`Q{&Ou0KWy?-Zh<$(mkU^>234qWprl^3}T=Q_3}&i z4C5iEe^*Mo7?sC?6X7R;Q@f_)m+l#HrL)PS^CA3W@XxO4_@;a1N+;gK&GYtxPX+q} z9k*2TJo>j^nrBoiojPn*tGN9I{vg=o(MdJWYt!*h^NdENw;kJhe(2jXVhjL-fv#7o z`2%`>X`a!nbgHnabVEeP{5$Y(k4_r%kYAc-#2$9~cWHsE za|HY-Fbn9orJ>VNnrDFfEXc}D!N zYW~A^t*YPY@Uy_V9=%laJhy(nX`WH7^qR08S9%}8KLMY6^io}Sqvx0A8TCr1q_^7- zE8qu!89anTEaU=Wz@K=vc8sp0^%`=*n&UTMZzdpne3<0`6Y3TT- zd96yP3Y)q<=fKYc7j{{vU7BaaHaY!nvq$G^__yGPF6*>Q^NdoZQ`*<m*yFjN@tx%=PCFz;BOwCRP!#`uRBQdjB2G9>F3sK417E&1G-*m=yjCl8TCr9 z#-n!&{5EiB*Yr9{^NdENw+-96ALjOt7~McmpzD`LfA1*GGn$oN6}I(pYYqHjuomb% z>k7Cm>E?Ok?1yzHxmgH%m5(^%p#}R|pQo=I*`OQH`aR)xNh{B@)jQ1dVvjodGqJDZ zeFnT1tWlb2CduP&)90aJmFTN*kY=6P|YSBGsKzdPY~gGP^D8tvqp=anm+R&3T# z3EBU;6-SI7pcl~fN-@uq@$=2|YL(7RY}P5Av*ByxcaKhrc~_fGvOKRz>23DtwZi`m ze*Qn{`R94DC!GFKHq_1Y=EE0)B|yh9#XQebKmRu#y% zo9ERkomh$64@=?Wz(k<80c`N-q%ppH^Smad)8f$y4rBix zWC2~DG<1CPycVTXflXbXA{pXV7*I{mKEqw@y*ZLqb=I_>kkxY8*c?)JAb z_-mKeZm6+u$3) z-Cff0P49TWpQE!4n^ib3=i%rW&If@!pzD)je#iLnP4A3KrBjK`YNb;HKMkDa(Md7C zYtu=R-Wl~uuL;|FUicLLIrz$>m-@Wmo8B3XN~dJ3t5X3#0L%b7eyQvDrguiO(y7O$ z9!C$r9|n(lbW%Ki5kLR*u2t!5_vrK=$GIO+1ay5;*YQv9V$V4Jt_qvFeQM$7f(tx4 zsmIMXtusoM&Sq@Z;JobLU&6lutsb2e^E%?@o7NfCN~d(Zo7c^R9}Q*$9k&$oI<1o| ztuq>xUV}&P1^7$g)&Gm0e_Cf4&pPcD+u6_ zY`2@>H-pT$aeemq$2 z(Mf$g`KEJ5qta>g=)4Jk2fWuM9p7}$XjVFf6W#jk0^c2!10A>2>w}I@I@hXnYCSr) zz;6S0c2%c+I%mY5Q^!AS#&KTuvv66&h=LrT>yvsv^G)ZBQl(RgO|5eh{1kA8M<>Pn zO7>^pbgokAZ1U)|z&{0FbV;YfG|s42dL_HK^*RWCD3}R!{8F!1hiRNquk_YoTaTwF z;ZK9-J$kA4KmRnYQRzf>b?1i>@Nr-w(D~D@a9PsL-zIdDz?DAl^vgQz>-p&}_(R}P zp!J`G+a<01%~tO)fooOz#%^w$i{K?-1dt_-{A~gq*6;BnM(l4+Jr`k9*YjfdW#9^r zPKxue)bUN=N|jDCHg&)G9{wZP?$JrH-`F~S*JD;HowD6sog?ALfGW_1xcMe<)k>$q zqw@^>dGKP_bbJ%IdZiQD!>!L~_*gIjbfG@}37l<-`*@XJjYsb~_B$ygZJ*0e>58_2{IS z$I1Tfo5+dzQZYkz*u1=Cfu2$*QVO!4+cf;=k4|w#_m>+x-xdx@v z>e0z7j~LxSA<*?oL&rCfYf?Hhv8nsR>F~3_xgMP~<{{riu0`oId33&je+9nnnvQ=W zXGew~o1OkwI@xWfgW!jPnV<{t^G)dDN@pE5YcMMN`J?bBz|$U`6!SUR|9lg=Dy3sg zar3!h@DZRC==!9X&$a0!OXwPuUbRPW9sCBc;s2!PpU|}`y%ucOsyJrt#kHRxAL#m} zn9q6Y=bzA(zv%RjN^HlK-U|3iaFRza#dWsS+cBZDJ?8mMN@o)`^?b1f{vPzbcN~|)_X7I@S<+k|`6hM^N~g}Fa}T@`JlHiI-^8v->9l%uy6waMH|Pbr zP#@pKu0`q0#HODAPJ^Eb&grs_Ph$6y)8Cq~8OM1!Pqe^41z&h{(&%r#iCtXjluUJX zX21^yhXWnA6!RauU;8F@wk7s;l-@dz-qY~sz~-*$b(r8)DZR+PZvDo>cLuwFF4V8X z1g}=<)nHrqj}7o!!0jHrbdHZnA0mnK4N9*S+j_ppuZS4EL4Tn0tbuS@(#`YAm8I7$*ZP;k*MpmZ*1rvIm$dRcsor6lXS68&ZP?fG&f1UT0LTZjq%n_`B}wxP z<7GAfV^i02C44nF#iNtryo`=-nrFn7&L(W?`fP!}2R`!Xq}YF?j$fK*lq;S1{;p0r zd@rysNI!1AX`WG~bm}}hcf#)mja}05P4kRerPJ!s>3INiKj;V2uaAG4*PwJ}VpF$I z4g554R+n^q(>tR{=`?wCK7s!eeAy)(-}KICQ932l-1A3?+oJ=XZ+M- zvkIf~cy>ShA@GPtC&m1Ze(jsy8Kp{RJ2tD8PJBA|zJZ}Y7C9fJnBTSOBuVd#YNfXb z+j?HO7=9VJ!lRe^yx^PO8TCr1*`w16|2O!#OFF*kozbXt$_{k71Z}1nvD_zp@Pw!flPGpALJ|*y-z-XZBlY0C3rgcW_RdpQ1W(`JV|Gpf4 z6My1l(g3UUmV^s3oI}irCJ}KsPS|?drXVfdb3T$h=74Vhdr2mVa ze_Cg>D7{VCu2uE>6#hB*%A=QJUgy@&Kdm!L|KYS-$wBV=a4LL1FdgW4rnt^VZ^yK* zQrWM=mYyH(fZqk~_1I6n|M{kKMzzvu#il+kR#!eY$3)Q*ww~pZ(#}!9gJXxKSUUbgotD)MGP_ zQ8_={2frUY?9oZRpZTV9My%QC&)YpZ{SW2(2T%lbeNxQlWPkQe=Sr1M6*hH!>fjfH zwO!KbFpV=Rm0q()?-%%QQtPm;)T_fZ&Zt&;<=EE!{5bexu*{>E`gro+r>j>w8$CLI zhrbG5Pf2I-@>L5~9ye#+0{QI!r0Gke(up1J&O>A1<3SnF{UZ51l%V6Ez8K9)rv{rk zZr8%E2RC_ilE*Dk$2Wa3T9r#2x2~O&Yj{ox8XjVF#u&Mjo zR`>_tV~K!b3mW~==vmIe<#d4{>yKpTItNhW}VVG3w{nb-=mX!{q3id zbop&GD!t7fy>H>)ga7;=^x7@I-*DQg^cZ*DeH8pyFbC-PC0}>@*DJ}g+o)7}4cLyW zI6eVy0?&E$lCOsn^mbf!8`a9baje_#`ojl;BB1M&a=%MhcGoNWRoK$w^i25K;5?80 zl*doPa=TI4Z}Qmx6#hB*sw?*Wm)S)dd}uNAm|5leNygM3CrwKWq&5NwEZ*SwP20Me)9Eo zV!!oWUK^E4r^%!91^g@UZC7+UUS1p3O0Trat=CNW(O@>vaZ9;g9WSqqdZpKZZ9RUT zhi?Wid-PK7cmB(3qfzO^=D72~t?)mC`+!Ns1 z%dq0Z^|zJs)mXc={bfggw`k6Zi{h*42;;`?7M~qIdi=5SOPTwhc{f4)=rN_T9J|_n zVe+WT6?VsopMk&mmGe0LbGvz_VV%i~w%T5%i~pr>IsM<5>(=)Q_>JHepzC`(+%C!X zWB&hC+r4b;AaiO} z_A9WZ*Dv$n$ARNL_LCn++U)ygOtH6}_S%Ro?f=v8=fGx<{p91oweOcHl`8v@`L6we z@FAcCq!AzA45?DtU*xfW4*WcDVS4s`Goxx{f3wH_7x1sZx9QnWk`dVj)S z`@yGyN{~jJd^4g(Wxw8I|IhGy!Tssk_sxWwmHk$a{hZ^-fj|$ChW{MF+xAx4-c{GC z>{nu|3S;uPx&*!)tn}DVzJJr!Puq;Qy|fp5@pqhY(1@*SW&bt!n_!E_e)4^r1p7%g zY^sz_;X-#jkB3hLy8&6`e38O<_RSP)mHirz{mbE3fpzKG_stL+l>IH(((}cS@Snkd zJ@!+WFMKn@CS|{Dk!$}5_)%aM(D6yZev*vPHes|Vod#^`dG!(a&;JtZ7QlGT>D4Bj{>uREHXaH^B}i> z`e$~w2_vp_8az5r!=D42)6?lNvny9Rk>zfEhQmjKF+i3S>(gOISEY2Sv8l(!TKE;< z8jns2<045W=ftg6>1^@n{0#pU{E?E*iAxuEvR5LN8kA1?3U?kk7G4GB16ewrM?5+{ zEB_{CzX4l1UXQ__1kZTvCy$rce*2Ywi?VN2yY~CQ`-4G1`=641zm@-c&N!*^*gqY9 z7C1Lu`#vlGxU%2mvHvmrGq5dP`yH(O%au;a32vPBf=>negS6u0v+}P}_Uk~HhfkF4Ywa3B|?<-hOB-!@@1D4j}dR`Dx2?=FK^gH;}#am}E{ol^MZw3&1-|4r7C%WT$0(=*+2aqM@aqW`bUl)<|2_77GJsZPzY1G*7?b1S zT=@CmB9Hy#>;FXi{uw~&2Tp(8?9urO{x9%-7j^tHfLf(fdXl^TKOBA}I2P!5C13xy zua92_(5!UUVKc7c_80hrV3S8D`TEVHd^I@5V?U+w;gbQBD*Kx}_TPbT1s|qs-!}uWLts=Yop_B~kKN&uz+OPd zDW!V&WCGR7eyzv;jqnC=YZvS%W&-ufehaqZI4j5Bukhc2d5Y_QO8v+u6KGWS%dw^H z&wL3#+RXW?SsmHlEEn;MVY+$PT#Ne`Yu&<*xa86o$ z;^I|AVaMBDb`gC=uYmKyaO^ZH-74&A-5U70pblu=OW<}%w!hL|wUS+qLG~_3J-Zyh zSZT>u3EQQ-#fj?{>}uWb;6H(1f!6&UE=%J4CO4->jglKrqmCXs@mO|u7B63DSN4z@ zaw}=MVJ$a|axv6&s@kaZDo%Ixj)gA*%YfE90WQm;+i$Wz_50=>y#*)is8&$5YPMOG zGdmN-+o&WkR)`U1)TsK{soy5->H7Ty|6OXG;p$m%SvqLXb~{&d<8xQ6SnBSs)x_KO zVB@Eqp?1`cvcs_2uvW|6rM5P2QGQjTtNpqJel55G=s4U2w@b42?wVIq=o9^CgbCMa zhIN`@%(r4rU#$AXiB}7{Qd!P_JCQw$>(;}s1lRt5sC(G*r3uP*m5c^m zZ?yFM@{8nWaf}DLJto6tS^77pU#@!0`8;mfDgwaIVWUo7xp>ur$~p7rJ0qc>(Y(RD z&omp&yPS{kee}y;#dpFu$1D~(p_pY^!K~a!i4cO<%!dj^wwaZil`)ua-Nm%rXgoZa z(fWlc%Ed$x4%#C(_L+mOzKeC;kfWHO41G0?*AitJpl7sEzH}H+y(Mz4r!ch(O zcaPuIbLJa{^L_5>gPMv%mP!E&9>|0jCondiJgKyGWe@DyH=eUD6-}S`iDL;&9Ddu!dRy?eWB`4-Sqf*5&kjw zFVOWLa5mQn{`v5@ho{@RI019jE?cN6?s@B+~N_YJr#SqbxrryoFP z%ZY8l9A<8jUp{G)Sza_LOlzNI{9z6eVKLH*hnddzw#K&|z*?1l$vLk6;qZmv3ZUC# z#JQ{sK;rn>T;a4&f*-4wFP^tzK3!0e(W_S-S2pV4)yo$+Yuths^CLmeXff}xKC*k{ z=Yc<&xwo2En}0H+x0=B}nc4Qw9v;qbUNVh(Q7l4Py+fAh-mR#ou!15WqTvwL>m9K~ zZxOJB6%wIfP*@_$Z*uv}wIcj1<6rjQcXwEy%_8@CzU?D2L_Xg~Hi^JPR`?q;_^Jr~ z)e3)Q245FFUK7E$Md%4Dyv+=56`_Ay;p;`OU^I8%jDo}I&>8Aa03HbML}z$Uh;ibw zfVrPFNsji<10t6SiKrQ5Y6yxR>N8tbLzRZ_RQnU#Qhq1rgH7;e@D^xm|20ngpZ>fv zZ&hB?ZvK+(FAro37p$cH3+m0SfwiVtZ@%VyJSNuKfxa+moF6Em+CoG^p-{G!CAxRd z5tfx-V)YGWWs9JdEi!^38Md4ZQwB&_S%K~%NI0|ivknZ2LU`_k%xH*855|tGlo!F$0N+**DO0@E#e1bAv5rI6EBVPo~{M z0sC7v-{hYW{bdM@w*%I@mRV`ln$Daoo1*bYryWYp<2ne{4tv07fJ1?9hibSiSOB5xpc34u|u?2N3r^S>j&-v8(yHDJHSVZuqZL@3ITr{%`>NP%snddas1b zVm;7ty=ArY>&>IqnlkjOjhjMl=zFRrh>ED3muFkKZPT+6|4p?&I(mM11O7f}0osp0 z;IlWMV;FZkAg1&)j<1E50|Bret3eM zp<2v`P5T&d5r=|I!t!arcsNu{myF;?gf5vC2{A(-ZOzLaBbG5hXs5l!3^78C=GYt$ zEElq?@=NyL{&3>74Sjta{S_X%kaOQa`_~UHOX6`X;rKOA`d58{xx%atuaLvG(KOx; z6c4(*=`0vn=pF;h_unWS|>cZ9q;Yk;T z3oi_x9y{?57Ur@1p1n&&Y~W#;t9R~h<^_5da1gP2go>DfV;NDAnHR~;2=&Yjejg04 zVM<_T=oQ|V<9oK<%-5RYf`B+h+-Hg!@vvZ>C>Dr?;vzHSdJ#M>Rwi4*shc$|U|Ev_ zh1TijiB!%C2X?cY!)S>(?XrpVpiG?|x~Pnl+u zIr}LNV!w&C!dOopauREdqvTO-xwXhFu~eF2v}QPZ_j=aZ+p!(Fg!3Ul>-B=mqQ`58 zdbcLmGcp~$9Qv5<|BJAFGC19%SEuw6&-cjn%I@}Zg{eta?-A3u8@VA2wWDSAP87S# zk0zzlj2*4>CH#NDy40=L2)Hc%<9vr6ELWv+xHp@3iGP@8v$>1?bJ;&^KmHvs9wbAG zMe{8|U(FClSsB4Vs6vzy_^kW^_&2+Im|lr<7nowDxWzQftsK3wXv%itQing%BRL+M z;C~1206iYRhi?ZJw>j;u&zrpL8IQ{soLtFi8gB2?Ba!hqY}DfA@-&ra0-Hw)u=2R2 za~8^@eL?vO@_@mUWK0hw3&g0?14XfwA*}1n?%~+2X6_AU_$srnjPM9?ru;aR z)mJQ#OO=ad9BXr&dQ@EI)?+4oK3EKNe>wv$%TnKUKy~%7QOB)ZV28WB*2J;CwqsA4 z#(I|Z5z!yN267n8H#6jncA;tQ37Or*ej)a$j@j#Z2?N+W_Fpo2ZD`e8;*uIy~T4lG|W49K*23(ku z-KjJnCa*N{mml{t4O%RaS+GaLqA)8noRN_!3WK3orpU?7upQ+`Jm$n{I~rwtm;EiH zp7TJUKhXVc6ns~(@rfPhnJqiyb9UU+xdbMlyLOm>{w$2QMe$$FQy({nK4u=ZN%oqR zEUNV^R4h(4hYEXc;ysOdj$id?mMXvQfd3Ud4zyn{!?%D{5AEpJHh;g`vU@-8J`=@H zn5RBt4t?4@>d6khqkngE{42Sf>wA@dJHsb|y@BrE$HQfbj8(_Y_Z&ZEKbu-DN9S>} zA2gX?5vxp^?h;}AM3*N02}CR}qJdy&a4;Ae#tLVQJa;lsOcN8tFflS0~ z+wpn$Kfs$n`|~4QmLZQie#D+~{W-+-r-9?f2HT%cOyjD6<4+KOT;z&!JQ?D6QZ5b@ z!{i)R+uiY_;tJP~L*etmDxll#8u$jF{rKid$B*rvcH3v=$`vc^@HCjW;*Qy1W^JHd zeiKXXFiSU@#dnzDjeOr2kZVA9Eh^Wf{jUs^UKJ?5G7!E(P6!8EL&U+-za^rSql7xS zL>#JmIR3WcOF7?V|Njjhx{`Gu&~Y0Emu3E^j-PAVwWHIF&8it$d_Ahd<}{;E^Nn?z zC@_)&vSiSlC&{4#JQ(0=?GF3YxOlC_`oqrtpgHQ#2_cz=iHbDFKc(`+MXw!!wH zr?kM)-;Vuq?8`WWuHu*pdH}6I4lYabI4rd%wkD2?PKPEEzos6E(n80NT6FZdzZ8BA zxB+NC?t{w`yT^%xH-D^@!^(Dp%w@@1yBlA~i6E<=DDZTXv2utXY>l)J7)?rdJ9c&a zLswIO&;w}Qk#Jd($KR>{4lS_W@(v*17O3x~>WzIpeqVvV5B>@CxCvf^PvGuHoO(B_ z^E-EYj{6H2tWsAT=uIO1dH9^As~3!NE;G`<)1PtyFiL+}vUoWsi3R7hPrOf_(q4I= zJ?>^_T3NSpY#~$j4!FLT2dt|Cq0pG%STRO+rwXfz{5(|FzLDGEZtNRM!z+?;Mg^o`I6-;PF^nW4dOVr;JBp==B;XruhS6n`j(}O z?LfDfcL+PT{oVPPFVAxRCWd7Ovi=t|zO{y3pBcC|GxO=dh?fJC-w3RVoNa~|M3#j2 ze>IT(N?^`r8R}E4WunGB(V7-~!xV!Sj=gygb_=1&lX_f&E z;+Mb%VK#^xGByZVt*>QP_8iGa#G-=VhKzH9lSKG~z`maZ`o0?&(h|rM*}ukukM@c^ zFnqw5fs-QxKMxEJM?MI|w+F%^_DkSNGra8c?!o`WtRJF*@1vpb0)IAt2<-hm|Fqw? zft_=M9|Wqxiz4&GtKXNAS#OFJ;&8Fbd{kI3o58!y$T?>C7Be~{<0dmJhr@xLwoMiL zntiPy>_G%YEIc53vKW}TQ%*d)AZM0YWiAT@gY2H=hPwUP%-g&B$)aD6U3*rUi*o0i zN5T<6B~X!vp9c%bK#Q{l4s=l60wMUR@oS$g7_U%Ja^v$WS} z*{_!wcLxWuz8hplL)l>=cU||iO5F26%}ReW_6xBu=kxdApMq^b>;DFqCHXoS{n8re zas9RCinHVz#Vp#Zi$X`di(0ii+$Y=T<{|1_qg;XO1ZE6O^rZ zp!Hx-_MGZrPCa5bxbwmgcq!N!=z7e9%TnTdK25dbROhUSD5yGyZS1qfY*~x{31gi+ zu@DN;oVyFW428wmaJYMRemFKEHxd|oJ)5fwv5L^ zC82;Q5Rq$xqi+dj26rMc9DZkT%DutZJ;6gF3$F?WL}vHw9zjuXV=#P;JRsa=ijRaS zkzVi5$+*SVlt9cn#9U}jn(7i)}V2?oWaHwx!aG!8tS%JvO$c&Oq7F)%fIWEhO#@HB;onRm9 z9UbVFQI3D{8{OmAc=$AM5YTbn4F3Ua8>;3<^;!8{gYEYYe#&!UGUp!95O~4b5HK48 zR|)&$)#wJI@|$=w&$uW&K?KS}fs9@9MAnzVtIcnN8UG9pZVie^VR#s8%iu4;=gr8s zW_aHpg8APEpD-iE=Y&LL*YI%pm*<8CUKEO67`nmyFc|zG_!J*l3vD#_$(~X*IeX6o z_6Uv-j>(viCl1&pd&0b(gZ~Wn_)NCgqo#GbXcl6o`I;$a2hTUHI|LiRSDMz*V(-AP z&}AYxEHpr#)LbC0Hq8uca9~>Kc~iv0vB=E8aiM)P@}slDv!lhCD{=;AM{`aS@!Vi+ zR$xx%Rx8AjM@^PZ6IHw41|0?%Tgr$KAJm;;Qa-mi@QY ztTVqe%~tdI4Ev+UcXlrx!9wP(sIfIX;;$j=$xu%*G%GMXR}3_R!ve#ZQAY<^;lP!(+rIWPK%r@_RGk~I!MH` zgB)y*%p4q@WiB!21g|l(I5?SMnc~@{at|k78;M1n-^lU)B>XM#DbVp6-oW#Cz`Bo| zIBnbPe3rC}7h6yB7FEt+1J;SxI6F>{hwKj-JlPS?V-b-xkxKwJhm6}J1I6x{E&H3xa7j{{+ETbFAXog zKHTHFaJW|1XQY@co)B`m^B2L%oYC@k=b6N0A}7uF4fo~fyjxa0vmk4Zd5n2vxFl!) z?ChMwxiBCr+#|<6U{n9<$xb{PsjEKDy$H{~nP=AlJ#QQZm!)Q)GcId3y6Z`2-di+h z`TV5|oJ-5?L0Qklw^o?-VvF<9qy3lPy?=9?_Y4169x3n1Fg}k=61kDdvHU`|cca<; zOZx3*#l&7>C$>C$2KR}z@qPiZQ^8(rhweqP+A|o>mwz)({;Q0hvb!u1v*<}nM4wZA>OtgO<;H+FZ@tzkM z85WU02Uy~Lm2GU!7{&HWkrnIB#_&y9Ebg-2DHJkIRbp8IYSXMdS?#ib0Vm zTh{FJ1_zqia;k4Mtz2=P85k2P7Z(U|hB)60yqIB*7gv~aWpkA&cNGF7g)sjd;P^p( zoKio-iFetb+kBqwVg z7yZmN_lPVNg*~n{1C!!ePh}RjWM)TB3r`n$A7{q5Wd^^<{6svHIqk*F%gvWFqt9j* zziR*eG?DjC=Hq50zBMEGZpPE*bD5L>p1FT>X8u1izc5L1#GqACG59_ad{7iVAc8lU z(Ro=nME7Zo4i&*Wqurm3{y)y%1HQ^)c^`jw-*);r={-5=A%u_sLg=AaF$#DQ5fUH> z3M5h#xt55ipePX$xz?zNs3<`}v0?03i5)xFih9*tZ;@-`|IF^YImvs%GgtOw9`jMpCbr$=6#B-@lL$L`2Twd2(2t(A%$4zz$NZ?4o=L(j@aU+`x(;)E3LkJA&aFWn9N2ea>{V4B()+L^?=U`r_rMDjrw5t2-@V{fYSGtlUWgqv zIC=0Xytg^T^#yZp)_pU*pRmAI=HE@^X6{>VtYvm1v(Jltk#o4V{K33$vA|q^EB7t& zj7fNc`CehZ7npZNU`fmg_Ce;F7=J5I`=1`T*uRQpZekf5IBxV63*5zGPm3$l*Rs$G z@2?CyUio?%jP=Ptkx`CM%-)T`_#CXCYwu^S1tjDItX^v^!)#$L!@kP&6u7@)7!pk1 zVvLlbz)XFfdt&HXhB2rh=1Ug;1g0MeX5vhJPRy|6@kw#XXW179uVksCQcBX})7J6K zaTz1iFXo#W&(1Q#n^;y#PB`1lnaRVsW?qf^GL|x^;98bnQB+ZA7R}@1yTuisrJt9d zQ=)fIEq#jhm{_)!@h2Fj6g}T&eT@^+E3*5YUU7cE+5v_A|HlT68Mu`V!CzzyH7l#x zWo&TDphZ@Am^pm@F#pK#2y^62_eK2&jlK(WuhA<}Q(pj?6!sK|ck&1gL&S--f&;K(zhjK!<)E{rTu6b&H%n zU2Ph_#;|Kl1{3rJ@T+~nPt*ExZeQvSY@BtvA7sYEVuG^}rj?WM_;9<%6;l3bkWH;q7J^;_Tn(sk`fkuvqSqFY~{1GnXMrm$x?>Z=B@AF1 z49(uawY`Dv7)LT$IxX=y)}%b&%=QYi!PU$-zk?so!Ie_3M(|bpmUn@E7m!rh{42Lc5<{bL^XC+_w)@&{>Ve?E32c!1^} z1u%^y8sl`oaVk5N>?Jg2QfatA%2{!5M9xW|X905oCFgR`7X#69t~*N3MGKZLg-5N^ zI*%pj7lDE&{bQc-Cq4~9_x|4m4PPYXJO~+-UHRXj&HM120VU@>+cB30lCPJ~`Bmrh zz_jRbdTw2n+P=wZ(YM7vrLz|O=fG1?*Khm^hPm<^Zd`uR?PS+ay6tuC4QXwG;Vw7} z_)M41(k$!?`>a@FMO7_mX2yoMj>E$(Dz0l)KeJObIs!*64kA`CVg3_%;+*}(P*BElI5537Yg+i|zE|}!5 z$jrJPhE`X`hR})EhUVB8eiiTiGX84jx{BE*{@W#?&)CDklNmY>ZW|}^?9>W)1}1o2 zJT7fCBp_D`zu#MAJ`~)?t_=FUvE9cS+~uSF_kZn=74)raO~}3?Wd9VjyW7tP16Ky&#`k-` zem!8P+2!^Tzx{q0EnyjQvd4>CR()0_p) zMtv-M!7#FQukly?M{b>L=DA||$?oO8ab9=eP38}UTs#z$6;IuN!ikA<*oBz(UX8&j zDU^J=--PvMxxUDJR8QTy7qcZh2ilPWBL&HutB!iA2V_cx6X~UdqUynkhvqY_>*}1 z5hIrR)7i#F{2SpP*+Nt0kUkb}il(&~%e8dsCt9zS@>fH)FuqeiyBzdoz?FcK{~pi} z1M6Ot>s8~R{G51HKjFwPw_94-E7BL^^!=hc+ox;)h=HR$mI$Rh@N_79U&!}j=z?cL zo~J{XvArQkTxo1zaMR+0Xx(`^rUcA~<&?(=>mK8D>hnZtx=zX++7apBvOyOCC4d?q z%0N?@c(=38?%>aO=EAz!rKQNpHm4lgCMz!TPV*_+DnKjZ`66UyqvW%~xew`Q73dAX z9f0Dq+xfln_fVfSK1#<99C(w7sE=K&JsfE60e0?tEam{qc@N4l<~G>_`M}%lm^!lo8b7Vao4>}FV0+bv%pvB)mDC?{C-#Wwzkw^elx$As$O%A_$ z+)u6FSAo77*Z?Sgn?Q>awJ+2jCluk9RMiJnKUG9RZAXw0pv^N1SR&Q1YLl$rLEJBl z8X=@3k+2L1( z`>FcP2YnuJ0igJ;1x+Q|4j#=fV%n@f50>yu$KkL+e~M`r6mZiuSI?5$Itwved$jr+ zWPSJH{%RiaG3bN97YIIYpSZ}`E;eNO;g0Sp4D{9o=n zqNW~y7{q;p+N~_8H97ZP)8W34g5C$b2B?1Gd(i&@qURG6TjjVNE&r5uC+q0noKm~A zmKteN*;wqZ^UDPtJa*T+6p*mg3v=&&ZJQScsj=N?i zJ>nB!q7=_s+*WIK0^M}MmSC@hXm>HAC(Dr&^$mjTrebneeLA5YFmXA~vv4^WnIJ%hNLXlAP9y@lBuNU-Aw+;)qU zw}Iq=s_Ff?5p*-K8&J>pW6)G8o|E!E=lH`!Ki^YoYv$5oms)Zw`eueibG#{NdT63FPLAOJ#byZ46ird^Z@x{+TlPp~ zJQ)W1MBo%a$vYD?mAt6&OUk>b=Iq+Z>V>Pnl%ZD-)_Eb^ZnQ?puYsZ1=Mp*-h+Gg;>AqS-=!A`rSdLWpKXw}2;Zr_>;?TI z@G79{a|rbJK=gB{=;Ap{s$D^o03);%(>Nb=znW{)05iZd5M5G7LN|XFw%nD z!rbmcn&9C{uxUcBR!6SN$0O}{I_NWjg@BUlO3;l!bUXHS@jjBCon~x=Mnks#&NOo! ze5%ZtYmLB0M7xPaHBb0PDAmB5Ny1?-4OdvoSqWaY9zsm5daKmmA(Fw-AAbTqZa^xa zQ0zLsFRyxoJ2xTrM7uPP4-T;m4eL46K6obD_ga0ahFW2T37^xl`F;yk*QQYf_ zGt<5OV(lb|1+&=Z|p#)eo5$N*kTO*sy){%owH!UZ01g zH=zFu{0b<2>(3sq9gMA6itwFz3vgR%h(#1^Irw550yiN13}J<*kS%W!!r$>BN~^=S z3inlfYe3fl%K*jq0?<^B-TuLMG7L_FFJi=3i6~Dm_Ul&ZI~ZbMyCZZ4wTBHm*Lm|A z9+LIlhx;nN?}Gjc_zqBfgU?C6;XShdR(1pV98amOucbIn+Aw+y;f(MEpSD9Z^j*5v zXcu_gMqk$;gtp-^a2+0srB+Y3-)#nLZ>F9};prD4bx0HABUDFKxm(Ir4ZcdQWuR9B zYXK$KU7)GVaNE;YXxgYrt2@wHfs7z*a!X^%!U>J|~{%Xgw(% zHL$e|-n*;dDXsk$CCyA~J!6d$-a|d7R)@dq1(!A!_ox0T6?6}v7ohl00Zpaiec67L z9XRrw+Fuwn+$N!v9`xGSLNh-zZH>G0gHpYC1|MmZ%1OWsgw8r4%dLB)UYfvH^;{>MVL>_$taWTRQ zupGX8;(6izt&d81%3h4fGYa%H;0!>?^HT0rq%4w_1I98=`|nOu*vIVJyDV&bz> z+u*RLS7iu|IHM88BuAXGz0PyTebsY+1N0BTzW~Lz$IFs$krPMMx!)gk&hnatqw5wr zF+kVKu792w0RASw1mrmIjHzAY8^wEKfn4nI@zhwiC&LwI_^d>H;|RnLSs1>JM6V~q zla$BL@MrU}Q zYGyB3JfUVuJ&h18>^JGhp70byY~vO1X2(Z5`LwUn4;b2EUpIK3%22&-mW5TPiCuOw z0@_%kB5e@jv@x4YOIm~=0laUNE{4XpG5kB7r#pi#MBwlOfh*t=S(yZlWLyy5KQjQ=Ee7lA*gT4xc9Hp47e{0KF5~-GPsK zuhpmILpz0~=stO#wp!2AioD!sNRP%g=f2vj5&io?R|B_z&Yd(CPH{uhzG_wTf<*+XxzNk7b06SOiWK7!^D- z_G}AA1XnIxWKEuKBqpW%d&3$zKu;`68+z)+2@oQNHV7;Lw9!z0|s z`P~fuo@^K6|5N_{P5b0?biEeQLjvd=pb$`c=ncASJ&d6B6g9sFwwQYIVdy|s>u<`P zr9|r_eK570MIH8=8(xxpSKz)O+?by0)u0=JjSeqrKV9wD(fW}xy2<^ze57v5*ZLrx z6giTRoXyVt4|KTy51{`E{OAAS{*z_O_#hYrwedl%#kp_A>k)lT0zDI$11Np108J&@ z&M4buQL&PrK1p#^TWK4lCt$;hcsbk@w5kH~Z{gEmGE9XNOm|B}vB7_;ri1@f%ga)a zt>9M)ex%1kpnn7W`y=a{BGBbPlQSNv{(oDi^-X8FhKWa7bu&rU7nlMBgmmArovi#p zmba6^eZ)hnWTgE=);kmSgj}2J-A^w+HE(L53J?8!<3c`-MvL#@D1$r;!dj$h;a8>H z4Uj49$bBQ|yMg-vrN<{hQ;D`C9!rnI)#8xshxuZ0c)7j;J`XXlx`oi$**w7(Cc|^u z7l=)c9HG|8xLyLfA20@>HmC!$K+glB?N)ob(4VxkIT9t6oejHHK~FCpY(Js7G@-d% zk*Ngc;kB%M9ZS241>k|oW2wI#Zp^1wrk`W6$|W68seVoBZ4YEA!gqS!Z-V|3_!dxl zv)+(;JNA0I^K(|#!0LKfi6~-gfMd_RT;B=H6*h-sU;)X25~U?GEzZSzTVhzi(tnwl zBR0J*<(dY*$&OshKwk{32b3P~2K@jKt;c=G)uWQIY!39;UFflA2R#;Ptq{`vI4j@F z(w<}i1iV66p~nHnBGO||M~|d3QL6V#d0lTt<}I0^djlr{O5RIAuLYv#E$gD}!|HvW zTw8lKz0YNrGKg9PtR{l&tC#DeJG?a$I?x{N3&`(6PPjm<`86y5mgRlJ0zaS@NpO*a z3$zDUFQQ$`zhHTvv%u>#4LjMmTy)~2o!4ptJd5)XK!;zUw6@Cn9fa&^{qR4~!M9vm zJfPZ11!yYK`)1MaSEv25QR``+e7!W8ovWm1x-c8!>xAqnWN=w_j15? zzLYOp%J&A-c5z&^7Hk(dO2YjPI{aO4NBF0J&I7suihn6+D#xDBOsYLkHUK>OxUw2N zaG!YKS0OtB?5OCz_-XXapy#(_eOEa5qx!A~eIsxyp!jWbey`>;>QmOYeIGUAZB^MF zdw+#UYuTVL(w@^Z@V*w(T)BW((#-jw!?z9hRpYJi9qfkyDS+ae1)55JlxSMgm3dOdI*px!g$c?-Tr^F7q5U!ZzN@$Utd zmtYcEqP_0H?n**jBF6s^{4V7DvC83p2=`X}jdyY0ACL&BdKZAE5`T|eCx&;(&o1lT zo8IyUHkPJ4eZ_j|cBDe{oB#t65=81no*;GOiw$gGiW|S<=)vJb&;0_>>wud9CC7cv z@742GpHhxao^SWkxGWQ4PyK+M`#wwjfaSc8W@b#C2FJJ45~suM?JwY7!C!G!i_pxw zQjWvmqxxy{J@^*^F@TaI2Q-yKTRN|sm)0#=RyrAZl;+H*wqCtrmRDP&W2v|z&y|YV zb+%>eUSBW`Y)^$NjI2BE)9moA$9+|Qv>Nm^z;%G)y8|>8WzV?T@gwNKS8f}Kjg}@P zf}`{;Yjn8Yzsj=Va^5*T3auP_k`xyka`96Ao>PDDQF6o_fG&V^K*A+mx*Tf4*b}?+LbyCN_o-#XA21FHeW_ZHApT8_nc>4JI7Mk2Qav4mfi?9b1ku!nW}Gh7>s zxm;pVT#&o1IBO8kgu7=v3(_9MB>t^x@gF+%2cIzbQ2l=<{vW_E2vBmQfTnWH`p>Ve z!NZkRZ-R3THMw=j^q?*54)ahEFJyTXN2Vu}5A_Oui{g#@g+G$~=i~lL4;O%516&O# z{&$0>GQ;V2I<>b&wR0ELEIw)8l=)7Mu&VR%>OaIV7hk8p&f%zt3AmH8DA_fTBhZNV z@E6e_I|hL+yhkLCq5fkj&tdRW^0+?4ya0#;lss9WsT}*coL5tSO3h-CizKdU=1J(r z^z)G;I}6b#Wh{xtn<;n|X#{9<_|3=t)cbZW=qrGAfa3RW&{U%RvPAob3-p3>>!{^r zHS(XV^%Si7sJR|HDC_ihe8_Kt$WxvgNQ-yJ#l{=PX>g!F(Wo^%F65AkiB0$LP^sTn zW6Z!$+=ffXP7!_zBXBoQk6df0XI!e4;tx#nrMr6@o?wEvJ9=<`zQ214(v@c+c(<3X z8->)Yu4Vik6I=G|Geh-kRbNPbj{PX2&uO3+0E+=tzfGX29P{~}vwXpvvm*`c1unMQ z9(3B-O@`Knt%qVB=gGmWDi+xsOAx1sWSdDD+>`D>1H^Bw!rqYZGR9wKyoQ~EAqZbF z-}uUD|KP92zkh-L1vmmI`Me)X`EK4R-~UeS&k-%Iz7Eb>>)`IMJ*ej(4JkSuYGXZ- zFWO-T&qm3w3ing|W`Uj!%yW3qm>)gPi|4$kX2rKJ-4n0{TthT|m|6E6`MqsqZDV=hh;%4vYs&#a3(8NYR96X+NM^0cQwF zq4qn%NRS4{28VCaCy{<+2Lo`kIbKME1*y>sKOwL9kGM2C_ix0# z)O&I_=m&vE09CIiKvRicj~s)KtXuU`XEC=<-;4>0fr~cZXy3RlJ0zc%>(hunvp^RE zJpskH4`?dU>&c_|PDbBA{dMSEObN4t^ok;7{iaXnEIoOv`^^J_bNlog0=c@WIfw(KgI74(AGhWgMi`} z0R1QYoZWfF=D!`;Xl)LkX}FJS|FxhO0`-96vl29wW4~|9YGyAKw(!bvL#Z-zwU?2H zrd;Mh?ukyRJri>Ex3XUQa6eVAcR+s%d;uta*594y7qt%}^te>Kbzd-plgn0r#rw zx*4gkOZ9@?vOo9Z%na-w!08TQTCz)RZj=1C;r?MTAiX{f`X%6XK=J<=G?in{Upmd- zX3bNZ$xRI1`8E18OiP3Zx>3UVs5#sievUK1HT=`5|L2kV4+1?NI0;bv=Yytl?D>K- zk85Y$0Dm7^IL*T(@*4dXt`*T#F2kA1^}tlFOikrR@K$PJO+QIFn!zUwKBR}|K)(*W z1t>Yb0!`(ZdQkJYb~&2ZPhyb01_^1jNtn!Wn#^Un(rGeBBmN46wF^zO{7dpL`y!%; zaiFIH(*ebQDQGIkY~P*caqU7>&cVukH5=-ID&Q)7mYmkp$|cDv;~6ljWVthFG#`YS zCC`#`xz>M6d0N0vjTdi${sQ<0Q1VRuQp$6@d6kj`@7!uRx%!tuZ`n2a?OttzoLu?R z5E6$BD0~7YS3`}zAc8ZOyMwXFG!@G88Lu>SK_K?J45&y{R%jIU{g=i z{sNC}h@ypmmwfj*_a*(j1^N@sMwi#sePL`ICQ$og5Wn#GmrswfPpM9 z;{Uff{F-n-HLg7j`YGU9K=FG4G!->J=rnKbz|WbM#8r+S>Z&A$^_qcs$|S=l8CL%x z^%y!7>0b&!_Xa8e#cvR3D$)B9N7v7peoYh4&aNh&NY05g6IdJ>Sxz;zHiz#T+&7H- z((~H_dMEHOp!hxpnu@Z2M%A;!46|EDlf-Q4DpXJ0VWcqt?F@Jfrih#2(s)GH+x1Q4 zxn_ed21)_NzZ^7`E}m;A{&I@z50zjBme1*=Fs;?k-*T5`KHE|#L6&v>@i~R}#1guaqM!so`d&7u* z)3Dz#3em0^TnZq_NIni7mW{uVrCB>s5Jlfc+TU={Rlwqp5dW4onf5k3gLd4N;8<()RNIKZ610>yO{ufMXG9g_PlXC3=PkJJxzc)dD3VaTz z=k*n6D$)7IkEOTC&eXYbBnBdTs4d#+uFpD1D9tT?ItzbK0NiQ%TysL*1zN?4Zvg z7%8zseLpL2W@$TE08xSv`Zzn(t&Y6gAd8ycw}5^J_$Q#`&HX20R)A=GP>InbDt>f( zJkAbvqdvOB+cTj9?SYGZ`wsQ{to$RE_aO@$jNYMso|V7L^4?*A7Mh$MZ-=_lBcDeD zWLNdO3G`0jVL-K)4?t6i-k(0YUY&NRhlw5PtK^P>*r9IJw{WdN>`;fWLyf~BaMDih zv3968GGj&i4t2d(${GGC(r)^L9tn&EsL->BKG*eV`P9yIoQPfU1#L9qGvWPzrntvJ zhfgE!8OBej|Go?K%fNm>=_C7Jl4pgJ$MCR|=TY$!JJIzE;Yvx~bqEE%ROSmgEPc`T z$#0j+Z*$4hY=gcZkDwdEfeW#9n`~v;mT_^wg%|`nzB9(-#i9>^uGnQV@IBv}Ze>|v z>^RZ4FrRHqAG4M*b0h*ZgS<`GVbO z9WzSC%Fz9q9RAwBBjZyx=whHJp!kmfO(hf+N2K&k5 zHaTJ_r|~8q@@&qM<70Au^f(FrwUcnh zBrKzA zO2ifT_;`K-QcfefQhal9B-_9=*=DhnPts1n{|f*kvh_h;o(hWA{rz!3T_Rt~LT1un z*Z35q?n}0o=*tmrUcyhroHw{A2HxEUGV0j#;a|#-906XRI8=(+S)fy(n{OCmWy|>E zTtD4f$^XUd!wfljeKqbDkTiX(|b4UTmg0?)?+7q|0p zWMraW4+H~9z=`P30Iu=KdxfN)`*iP%I+8}=xJFO+UO(v5zt-c7fNd6`@?>E6jT=j3 z57gnVs3b~#s;u`O)G3VbRPT2{e+hgGsCE+mS+~9)p9%`oY@|5%4&RZmMC^DG11U zng&-@yN3uK7|gHc{4*8ip|zw-x$7a9YTp|{ZvpNBl-#>PQ;9x*N6B4OTvK0PyI96H ziWjcKvA$7<-E7ct6wfxqVy}czPn@^2q{A^hf{oUeA?0!%j*LUSKo1AT07|aOps7Tk zzw_sEO;#Pkv83D8m2}}ODOVHtDt$cz`W2uRP;wmtO=bJTvVAMRP9>N8l!}taA4lYA zV5`X(y+Pj!tCEpT4ru5IkhK=b0ZOTp8f=`vizDt@t&Ut3|BLk7Ge9o{&H67!cJebTxr&O9dfy`5H_UTwu*)Hg#!umf8)&QjD+mZ{J~GGm<`_drH0no*Pay(s0^o3PN7cDIj6H zo>+sBK5p2VQ_>dUXK~g5T!YpC!?cUsJ=|uJZn$FoF}%V=)R}Jdu9-H&&UQLbvRY5U zt_=T(A)V`WoHsI<(sL=xXixM|@&w5t>?I2s&wF5hEZ=GWzeb*CG3dU)KtMguv7o6m zw#as-&M{JY5FTkrXSlFds-r`vl2mmGt<&-_ZQr23$h5Z+S5D!q*9gmcAIuW!BJC?& zAm!N%enrl6d>Zt7z(;_R$NEjmvm(cNjv3M8ASG9fmZswz0jG8BwZv&1=Zb4O9oex# z|JBw$G6!0|Ko&3cFGEJ_YZ$+ou?4PJ>qI`4jX^e7ijby!K2Ygt#$Alx$k;i?uMC;4 zC-ccHoebGpxLDR>KIE))>Tx~joxsC@YLEW~?fxBcRDVdlZvM&nJgPk&yFQ&7B}az4 zZ{RwPbItR_b&j}BKO$bDf128AEAKw$#jzmwiNite!+uXfGxKB?rp-b7qP7;a2IK1H z`R?M_UItAI^50?;_aKXrsP8zwn=-urolLi+ zp5rB;Zvbuv)N|Yeno8I6JMw%}t*PVl!(QbfIlq?~TWs?4+@RmfwHB+pk!;v#VgYVi znffq~iRg$FTZG~u8QugwqJ7>~RqC|=KO)bm2j~&NSU|~nE@&#xJujb+iX&3(zo@vg zoSmNwrVEegpVAyGPh7L)oZ%LXu2whLC&n8%AqMYe2|8Py7X=f=iCO8s{GgeblV-}? z_>?eYJjWKvot!7AH>SQ!%D)ftDLwxP+B|}NZ9vIi0h&t487EX8q0aJmes?=*yN&&- z|42CvQp7dzqtN#AhIX@EX(4Y=&@?hE+j3hYjXc8(-6y$xya@YvHOvfDrlrPXidTpl zAP+Ml#Md!?vZz8!FDZW`}o={b@+uxJk>+H)$@ejB*I~y+AF6#~!;28UTHnIfqAWI8T98E0G{nm7UgG_C?cFects1MCdoTD}Z zF0H07Jg#iGn7UKPP>$*i;idc$&cEP1mwJVFIaUIF`6vb+R1Q|ide);3s-0d9dJ}LX zpxWtH&{PgZoiC%>>B2g=oh@C4lUo+S9Z|)K8=-39fV>GSzCBoK1vySQp-cd^D$t{< zzvO=y_YdR#q-ShkVu#C(tacGSPX}EMMB9_MMd`VySV|3^Qo)mP)QOF#ORw(nnLJGS|59R7ZGQkRJz5`%61=ZNH>6b#l5&pKBklM! z&@+H)fC{yQ=<}D9#yUm>ZbU@jv@QYyn;brSI`DZF^gF=&fYQfLps7UL@uK*hQhTm= zP-lzgvr#`!TN#7JEAq!9_9_yK7!!l%QcrCuJXqGV0%2yV9Zv#16PN=i{uhF#(p5W- z&OlPXonfo4)QRlhsITUDEeebTk$fb}U5?}r>15>WE|5A^Zm>6m$>`lMM1!qd+}OYEF@B#(?JBe8jDYfTQ{N;ATDD(D$NHK6z| z1O0#DE0Su!ZlhSg&^2puztB)w?-txYjGxf^{4VH^fxiQa|35)f>B>&8>h0KX=CTJ>MJ^%KMCiF%&vJLur3aN<| z*SX@FDy|hBe%?>eapIc0Uc9@jEbRkU;6#af5fiE#u}(~HxfKsbC>%@zN6ke%-pWWA zL&rkKB)f4)qmk_Ht;hEwLyj=M(8zo`a(MGQrFlhb7%ue-lSI3I2ZH_!FdtCk(v_e$ z0@3>27u8>iNLghhZ(!Br{WFp-B7h=HR8Oo$H|kHaCz-vM4M!N)UhH+=3#)?H@Z-E| zL>B2iJaI3Z_S5F@7tFv*W^zn-8d#C1Xf{8KUWO+r7u;|dq)yb@Mo9S&k!*Ml)IO3C zQ#=r;1eE;spw9;eMfsoaIhOpQk*Xd9mWbo#etBOeeTmNfLUsJkKvr&%^(7uFZOkQ- z^(t114u4=EFKZ6+qg%JS{kOP9&KJu}N~c;PX|QqH*C;J=%HyQHQWo z&rd=B184(Od;9}5mFVZBYSZ2x+qbGJouSJXufsF?u`}$nIQ+-D-P%}(|8&sj0T%#@ z{~pj(wi$Ar7Ck<}8ZfzjAsyIF1Ju9d0ChFnLE}_dTyy1U^|h%T&|$U|S>*$+N}hzA z>hV0)pA4I{-x`Ibr618h@vgqSKl5euF~^zNC1~YHIUdM|`sPs(^mfjQjg_R<=5bPg zI44J|gnXi%fX)Vx_N86^?x3mki8_Z>=}!nh3DU))>=64NTv{Q}V?d-HRhui6jwrOp6~>uCD$lYs<+{gAsJj@mfRIfx{p zZhitR$=EEwF>?vnDB#9e1G@y-rWc~Ctut^mNiO8%F*yN*4)a3SI9Rk7SVb`tu$&2u zfUF;3n~1GMc=j)J0)RM#6#6?@CFPz5xzzKW2YNlQ5m0g;08J(NM@R1eb(VX4-2(EF z$U@#$^9W}RdS7u(71#Ti`1q^1CLDp?VxtbbR|`(4G%OsU$8b%|fWvE$`Ca8W5VRQi zlF|(wQGwSnJ{~@?Gu{5ILOsp$z^t*E*~>EVhUg+o09;^e`HB1)hSTo&UY+blRH~=S zdR6!%?PwI}8Nd~Q>Q9pbm{S8cJLg8Lb;^OL{`5rQC5}W{m$^hftSoVTMc*MR^BI4V z1^2SIamt@(FT>R@t_dAz{Nz`Tp{G1?IE>OR*Kn^M7==M10Y-M0&-Wq^zKaLf&6Vbw z!V|1iq$xwfJ6A@6nVjgW$614?!rbXgFzuX@lgh(?=lX8LUSpfDaqAJozT7rnqJ*#J z^W4H&K&x%@X>R??uphQ_&E7mOW|MLRXhCQZbwu$FM#| z8-sH#E3+zSMf4dhtlpN^RX^sJv@1oQeyWGoaJtlQBXpRMcf@l)L&{YYjEpb+L7xbm z0w}pI08OQ<@nuTgRM_psajBCCy9l4@_edg5SEY&3+posd(J;<8S_ zUW4I=#ga}8F>GT%Tzp8h(K@4&&Ei9-mus0R<=Y4TVeqH^`+d;g13v*uzVy(a$v3g? zyyMDujr;$PeBo*--+b^_&-EhER|6XWCEvZEseIIh9e+wxCa~&r;Nlh|d<#i`$o=1n zR6#0BASD4Shr6zbxE^6lizJL_b>uk=eoCHTj9W_uvH&H|P|$xSPp3>^^^5T^PZJOG z8>W5HNtg_mj&vm5c}gS&*a!o5)ed3cEj3R22VW)E9iZ<49srbFdqGp_`vv4EPTUD+Xlkyu0wl~JLXcQ||-a9>s5>p(XFcL9p;ZqQVs=cj6XBO_0T3}0u_ zM7qqGNNZcXx!6NZ!^An$6Gvw0nXq7s*IKKeBkQfjMffLyE&#d%ivKXsRJvNn9F@^a zyxp|UKRdC?l~EALU6yc!)ohjGtj+>iQ;P`q0!0m^~)dV{7CoyV&qzeprH&04$8 zq?05O$D6~6a$KH1?WHHOPLCf=Dnv&-gLiKhyNPf zU)B32&|87~0LA}N(0|5XWiX4X{L9A^pkcmKf20ivg8{XNG|)Lf0igKz0!^jM@eO)! z&tO(PLA?L-w2u%LOnq`6G9V1XBn%(2v^jhmaNn``5%Iki^!>ntfa3crXexWUIs05u z`=}i@O%JkD#pc3ww)hw%u64B2uu@Nw3`J&b>1U@vwxGYhR^w5jGr zQjb+hk^W>3=my|2K-K3d&{SN{$@y;d{H0Sywnp}m+~GM**gW2nUy7vZ<84Fx$bSMa zgj+=pa3kTD@GGCvQ)OiPl^N$Sa#516fflNl z@`sWm@)v;~35)}j{1<_y(p7&b`r}R+*&5k?F2t7xotc78mvy+p&|bjVeFkE;3pylY z3&1r*CSzNRWNb(a6PGlR$8}7{)`#CO)3Jq@NV!`axu_krf_@8l&-oekn=0NzeX9PV zLx!}?9W$g=Irj~xMD)=U^d-RMfYQfXppT~yF)mW4(9G_Zi~0mHDNPjDmEtOYQXy!0 zl|LES;kN@i(CK6e*sQ;9YZc1$MG4Y^NRXCc6eB@e6#}^^LE2b!dNM&;F&zC$M1r*b zBl}E9g9!|q?(V*w6QnhAv}b-H!Zi53DnDBIT&drp)QBGXfgTQw0hAslgFc=f+B2k8 zPe;ex4;}MneV59QHc%HU_R|cJ@LJsGpu@Kb_YL7E^j!CXei3*DP<-D2P35R~BF9cZ z<6>l-YL6*W8Cy2$1GFn)K55U`5(`c!;7g;MnnQYh6~nsF9|QuQKM;T2N9 zD{vn*|F{nHjlivd;&VG_D$)BF9nKw7EF+nRs-~lITbT^qDC7BH0E`zpTf z47U~!qyUO<252hL{;ciij~&G|NjPSgoa6!LI}u_8XqPfBP9cMT$@#Lr^KoCr_gc`K zftvxv_cqW}{txv%mLr6Cv>j{TADdWI`&NhlA>3c_4`yP$17reP}QqU>!))w@gX zBjDqbd6Eq+T%Z{j(AFak)6uF{I`zl>)%@ma(6<100E+)s&{U3!({$crwcjY+jJid+ zav|z{5zYLOY`6i3i*3cxNSXm4(yWgY>-ASDM;rJkJ;Y?WwL+i-P;v|cO=Z60FR8}o z`kH0)d(K<1u$Bl!yDY3(dH(F>^SYJF_CP)SLH4wCi7XW}j{wa)Zq%EQC56I8?qGUP zME{E!|6k$eFwdEPULfUa1m7_D(tGy{=-4p&S3vbQcV@e_M}ZYz%Xvf5m2y6`dB*J| zuGU$;5esW;U_Pr`S~_lN6$G9Pv6s{=tAqWa^B;Doi1aHw&L4=O9Tm-L*1w3|p|fWF zUPFA~Y+0BhZq)CEchJ~bV~nwdz?BS_V*KE+1;PTc44>N!5b1yk>_mD8*3T6autTTs zX8L2yx`M@o^0{k;>GBz#7n!jSUSK#m#ubZg9N%lqc%4~RPnRFw>*Q_ff08BeK)&%A zGt}+}o0%oaugSaN|5=GwaAOU(-eGo8M1U-Qzuz((LCm`DhB&5=`M!pxDb0Y7> zPSCr6JpdJYH=^^6bZ*{sBG_as(dXlj6VO5vw1b!un~=Z~cYyuO;p57U%x}^`=K_U* z>KFQfrV_nB(3ziOwT`PEhXv4$`dn>`9x=QW(fBvOSp=1>mGxVL`-X8}dhc%ny$xsv z)O-IN=$C-#b=QFf^8N43f0T2$(P`Mb3W+WK8}%M|(?)B%uz!_)ovv?$i=~N0LyQ~3 z)X|Q94?L&QTC*chC@-RiJkY&>et^=$NYGS{uZOdw^&a`*b}{OgV_=cF8E>XGrOZf# zG2{X(R^}5jPIMl4)0Iv?=-i+5u?6%lU>~6Pf9U*P%{$a*XFYV4CvN&-Hc%hAxzUXIpAnOV_SZ3AT=P{@uCn~d{@4i6rvhgJ>N%|fy&iD= zNA}PAewCloPL6e5CjAYTRTwt2^l)*O z9rkDi{dj7sCoUhaTK|GVoL;Zzre=hO+v6bSaHK#Q&ZqN2+M{@b!N;3kxngVq<9pjW zDfdChRN=I*e}VoDUb-5a zTJoKS`zpQ*L9YU?0Mv7A0!`&+$Bv`?X*=^BjRBVw)x<87IiUvJMqbfnwBy&LU#Dwl z4Hfo<6zqrQdvX%bw7VyT^l}Mz=GB{e2!p4z%C?90NBXM}JAL(qY(UVuwS;==YweQui zLCO~{iu6+hK@S0j161f8m>YE-aztN?>*_}=tV065Qt^R5hm}`%YhMXZw?^mwYdYNj z7SLOOZGfu(9?(>jUs{`!rz^r|lHvmnarHCn5L1h!Y(KCJIO0ja{=w7%pCmir&~>t2 zhjCw}_n2;24*);wmz;qaEp56VK-5*sdA{L9lwp{ItC0&=+Uo!-B_pkD{R08~F}cgMOH2s?R5tDJM)Ce}64ZM2Afmf$?!S_F74 zTd=6MR9vPIHFfcV6_aWf<77+mv!Y`9X*c-?%kjI(wc;e1Ms}yPrg_K`b%#FUD%N)$ z^IXMJ*0HRs7%YJvtu&kGT!Ta?@jmk=?l~Ot{VQPqJ7E1B%G!txSAGk&YT?y7jZdTw zW`tGFkn0!ciDLVlWmzsvv+(1V>t(&?Q@tQR)%zmQR|4w+^?bI1rV_oLkJOhuEZZGE zld5)7OhG(Wop&JSTkD&RSab`=zv0kASUG38{T|_kTf%oTdL%fXTFTJ|KB~PNC1~$J z3ZUfZ2b#)iC(fbl5!qfMa!kSDk52c8ggO7w*Hc=mOv;yYhyJ9YRrkXI5q&w1_8W{P zXe`7E@NT~H6mG|nK5#Z@4L<`X72d}5I7rsES<1Bre3gD~1ARa6AfV*h3z|xFe%gp! zoljrK*otFtKmcJnCc7lBs+CD$9EsgybSpjF=9h+dp=AtF};PUnkg<{xmIVYnb#`D`Y0 z>d^g~Z<74OrSks7zYO$1U?`yY4|jgA=3(kH!oQP6XpFE3U8GUYxN<()F+P#}H%oqv zxSwjD+d=OJ9t9M?CqPr_dcIOr?DS-gkpP{hKXd{n!;}o=G|f1TvKq=HJGf7y!`Ia_ z(oYwI?hW(<6yE`$sYKf+BK3^s+umg#lY5)Pw*mK6RDN^4c>7ht`IHBDf(s+y1w^kO>cLwMppa-D%mxHEqJbky1@Dwm1j&p!L zX7R;dX^OcCya8>RQ4CW|*{zcA3fxz<>rJ3<1MUPA->smjMBBqU*1H2=HMQ`Ex;sz$ zB+WR9W~R=QZgBXv;l7o)FSTb+Ip%*rDxmmgf~K-8>O9d1-*&DYDqE*2dowBvzz3~| zv^#}wll7gC`>Oh00lE>`2q?aHgQn6P^_-W~o(b3Wo=eZi!H6qLvC5e0?zmNqDboJ27Ih*V@e=*4trniBxf;K*?pe8S*E_3zsYHYQ*qpvK>GK%WOx zM9HzHPR=*Gl1EvOy86A04}iEcA#O4tm#16wjZ8Z=gn`S81b_+H_b~<-1I_Uq`xk!Q z8fWz3Zoe7R9W}whAGj9sFp@5qh_*FY7&+F%O;W$DkXhBMus7rf1_P>IXM?@~nE$=( zxBszL)~8}v6SSdeo#jS&MZH*hbpCNs@f`UJ#N5hm?RdXmDiZcK=x^%MX^oSk+7|t8 zOS^;hZ$2t?s={eEcjw zu&ALQ?vWpL;!BOV{vdyJlP<{Gi~Mlz@rJzPI{BB^%Ma(JKU3VAzDR%^qsSe`MyJnWZp4%HZzZRYg_p>u%W;j2+ird$4 zM3N`X*v)Vw@t0R{`%2E&@}z0^BPBrA3^%r~3tc^sl(fhgWEG?mzn=CWJ}{~57M9{h zUd=vuWpIR9De`=oAH+h-#8!8NS-er_+xTuaS-J?F1*1pckWqSd&M>3`F$A^a20 zh8XW~eTelvl23Dg-w@m~v0@z@cUt`5xGG>Tw}yn?;=v)YAMuzW@o(|8ySS^&9BWNV zJU?Sncy`A5G|#(ShbyvfbIy{CTNrXN+<=fy`0OURZejKj=KC9C`EDDDACi3cGjB|Y zzWeO}_a}vRGlRax*zkr;ioc)5-OQ8mB<)0=kd%B2OFCkt-+ zo{<#3pJm15(f4dShi50{;kSCBuLwU$%-0Jt@{3FK?s+8$piS&%7iV?z7x4VP#k^b3 zk{6l&8Y@gFw!7H{LSf{5K#Fts6z^x-T623;yhW~OBbNiBcD#Zd#6Tu+3Z~YTej;e}?9Ce`A0oMYmzj+Y! z)4(n#4@1~F?{m%KV~r~vJCmA)Bo88cZ{VV)nyi&Ic?>ln=@04JKD}g-kFTuHMj$+$yU0CR zywEnd{ny*!B1+=IVPh&AXiSvCm(V$8*sQ;uu^4*1T1$(R{{UnQ)FZ6zEkt=28IwmV%bIX&)OKqFm zH()ProfP_NZk!&eLO-ekqIqQ%TAq>eH$pZge>3PufX4yVp7(>M@_%p7^$VBFBgQHcf=zKgn<7tckBhdIxF-ZKk%#KoT;v;JrA?qmSWpxv`2z2gLqU28So~Zv=;xi8aiCz}ho;Pv9vf3pz z*tqFRE%=*L#Bz;Zgeq}7(b?n{qCdj5fAE4wV0RC|IG4&ykLv++KwdohBE&(&nJJIM zM2&z5EA;_-T|Qw(cLZ{XLu?9=Qsb`(<-(7tw7xFuxd(Mn_OiD?e*%0CsCNA`Xe!b6 z#LluWTCkW-e^tSsm2)xX`-jro+sKf{2_gHQQZg$t?h3?+qt$xyzX(yP_e(h{DrK~ss&o7-8A$oqv5IH_dJKq&YBR%a8{2YqGB{QrGnJ!{YZ-|EQG3O?$& z{{!@4;CDbh_v~S?YXEbfaMpj${KIw3b!|i*TFKyHUPji|5#nKf%d}>_;8*c5W9eZc ztcL%Dg)~kOa?~?ZTmqyGk)>BaJe);jC{BR;|X%&LseS^6)wa~A9I5Vw4 z1h8engy6;419uD;++vZb5ywyS1MCsJyGUdvYHYb&4y&>sVz0jix@BRY>)$`0DOok{JCTY75E!UZBXT>TRi zhZE=kPaWywdXCt|0vzXqMD7++IT&szBMFBrp{urn2|;hXY0`szgc(z4cBWMwkaA9g z9O}JX0eT&9Eufz3^Pt}W%64^bhX?+o|C!@-$+T(wn=s#AE3R~A_*Q+djcm~Y> z@Ce1sCe`JBM5pH^TBt|gu9xnHBaLXC59{L)q$omT`cs_S0JPF!ypXDaJ)80HkQvNs zr1p`o-~(B&vXPN`O$L1yPzR`b-2?hj;Lz)`UKcq1>%Kp!7iRahOBOq)Lo~DNWyscz z?S^yFICbqe_y?=HWqVAX&vc*nyN)$Hs26?X)G+&7eR2#24pW%Z?_tK-9B-moWt7q; z=hIZjB0ij9HjDC+teI66ryyutFWEIX~!u>>OPj{Nw>2h^(f;W zj)bngxOi@`mwzJV-UqqLAQ#P}z9o4_yEO|?&!rCZ6+m*a(|?r6&jXcB_+MR*WpnBl zF084SqkJp>&fZVk$?tLTfiLt}{*7Zh&3-&~r$Ku>VqC+vn7-W@iY~$L`X@76*xd$v zi&*b1hIuFc%4D&Ke`Y=_lf znop!HTCE!}g#1RisHn~MKwd`i^KpD8yWKFR!=?i25~uF7?y~ z9aP{aq^I-8!2Swc4=6nqjDtT1u>A$8pSE>P;{R{-+%7&lKj+B!Ft28gaI5R;_h=Av zk%&u8Q~%`8PI0CWo&RjX(h>7(mW+TO6D?$N4qESb|I}g!t$yNq8T-_t$MI|rZ95XB z^@!!^VU~+TMDF}`7x01?}0+WAEYaL|3sV-*5B?yRe(;nr0Lr_-UB2;2klhwBPu3tA@YL*nR9hOWwHG ztyb<{cb37QbWcQcDR|6{@b)L&({!`N?L&9$(t~(q;+}Pz&5+yRvAek|IZ%-n@O|dW zHuNuD9-li!ACG`#xRPDM471$Ni{VY97kj&z$lH33CkAQCI0h;18IOhvZ-~FyII$A- zG+=c_SnI7Y^PD_PAAZ6x_wYJ@+Fn-(TbS`TAdU;|E+U_;zy}gO?O$Mxgd=AgYP=|yK^Z0HZmJHrtAbT30i658o zJ57GQ!5`%qX^lG=zl>2T%p;5sWUF*zroKhDrkP*s)IDoKPwuZqm@;bva!+lWq z)VOnf+1~R4DgHA8VOEZ$M!oI9p}gQzX6%HR2Y9GY@IyMsx#1W2K4{}3>#rW5M*-sj z^*(F?{Sa`_$+NW2@fY~Vuk!uq+(IMo!;;!Xb?4Sj?A+=p`r#4Tr9Uk{KEMYx+W#2Z zV{QywNEBa>NrP_1y6qk=n747-@~<}fjz4T1Tx94xB|bjR4a&G0%LsHC4K9Afro{r^ z=o*S+g1z#a`HSr-Mi!woaXRy6X3XF>a5lk6AYYsNIeet1A_9>cv3d>W+ufj$-=#i6 z6C(N;40;N18ld#?Ea+Ck$Fl!d>xPMcZ8~oM&`BTa^(K96mLuJ2`7ukX<5pAKip6~a z++N{i`Kc?P8=tu@Ks$$Oc#1E{E0pn17gkG5|H|e1(nTup1D;P@SXSm(zas3zNWp4L zjr{A}3D>)6alx&m0R6S+H$O_@z@g9$t0I3OA;;0AD^g*NBu^XlCiwMcy~OVAz)lE2_xOL3L_MRt?*&T z#V?^39u{{_2ev#vp2At@;piCMZR+!;WNYwu{lD2+{ce)gzx2H=-mkoCJ=KDtiQx5= z4qkVdPv4q2W?sKBUw&kM@}+tG$NbxB^XX3W>4+e%OU!pi1|KS~^`x2nxTo_? zVqcvou1ccN>m3w{O^Zy$vj4~kePW+j&m;UPnZx+3tI{6*TmM?Wcx1$P`xi7uy2t%U z|N6w3#C&g>{F;vWB>(tKF(#f0yP`jR@cI6Qsz2Vf{X~A;->)XpcbGr8|32PY6`7QX zCT0pj9f?;&N)wqxfmacEE-%BVQEf(zzvsmw)s=H~9Ro+qk6xMVtG!#3(<9xV(|()o ze|u6!eSdr2ROZq6Wad|Se(#K5vhQVB)tbua(e!lQ!z$hdOU!;z@GMJ|M8+f-eE4Qu z@a!^*rC%yhk?2cBmW!OD6Mo4^J@EXIv;4XJ2ZXtr=r?8#PRvPYve3`3A2V+tGmLVH z#Tyj6TKz=%tJMhqMYRSSWYyS5Ebye2tXJN^yv&EXs;VbDZijrOql;OpjEhP&bPmU1 zw*Fk94yVs|H~MI7oaK*WaiY)i&~KTFebEP1{{3!YL+Tx+&QSkS#lwr<(3yu->U8(N zy6hk^0|J)MQfLXg=QBs1 zM~V0ASu+<-2u^^C8XMUrEEy+kHanXO;4E1fEA=zDbYQ1z3|0-IPNvrIGlTT(e#m*y z*MJ*<<>xtQ2`j!c?cLfh>Ri63iC4^yiy$UYr#&nylK*&S=5$5G`FjByHq~iw65Fba zW|8j}F*S_?2IL|n18kq-PsJ$;0eWu<=KFz1cufq1_ek`o} zMGE~j+8d+>sL{@h-bPN1M`i2VeCYGR#lV*Dv(SNDbM&b?mv2@+X55;8%DiRFx#ldA z{-&{2Q{V1TJg$<*{^LY0kND14g}7eFmr0qIma#k{ImQ@TEXwYK?5tO_;4SkrD&c4H zu2y;1bFxy;I!$&WC2xJjO8AlL7OgAo?2+>C8yd3d!(Vwb87SwwMJPtD-!vaCnAYHD-#tT#QX;pf1_~}KA5rW2{fO%R44cO*AS9 z;{7g-C;v;S`q=dv_$`{(?qzX(mHhJRc-$Rug;3YV{Tt-N3QcKd?s*NP=po_z7!|{(R9Xk z2HPKV+8bQUP{Z#k_~DjbAlIKkzXg5+EWiJSmarvb)@OSqSDDDnw)fYtk87Piqmki%B?2mCj!)uHuMET`H<-IPN0SBvjf$X=BGW^Dl&&vI9 z=u5$s!1ihB4EeWdp{H-WMjZ2j z_=)(^4PKkP;PnsVN#b?mL*mrnyRpHu*9XBS^t*-5wk{*c={VIRnZeE-9ayZGLBDqo zE}`oB1wEG}aFUj0%p1{bdhM8K0bNT!IgsWKsK_X#4^E`~iSb0Ych%z2`lM6+IWy;` zW}P%U6|bnmLUwY9-d~ST`tbwu`$S$*?zqzZ^ZbDfBI50-JCc1@>Gc}F+zhc}^;8zq zF*MZ<)U(wh@AUi|RN+l3`k78t%Bk0tF1x2~5w`p|DV)h7;3V}QKd25)(?nAqHzR91 zAAS=03-B*s%j1p{u>mQ#!IZ-nSDJU(-js)J3f$oSTOzo+eN^!5+u_O3BUigWG_UJ) z@aaugZg}78zE^eQ&C5{hq4?p8YUI|9;_l=c$M@L4byOm9% z(=SM#>7|k;5ao?OgWUDl-=hV z3_SrH0Bk!x3tGbN^^k(|AS?CKhRte_YA6HU2Z=Nv(#{j*Vt?L`w#gGr zX?zr@;?&JZghpM@j8!Hrco&1|;rb{-)TAX zmClXQ^fv8^4szHSSX7(N{oQ-rkCgLuIV(MVly`(opr(5lh1QZCr?JWK(L_3yj|I>d zfJ=ep;~r=Ud&9?(GqH7VhQ#o=8c%i%jE9-A@LBDwsu-Ef=UlpunIBuEh|TkQaMAh9 z^5Ad?HQC;wjkT5|41e26-||;5GwuuoLxAOP7WCfoC#n;3W_RH7O*4W2zzo^b0%qfe z*++fn#fqNn%;E4;Xv2)3p*btO*yw$%og<{!*bLx`@C{mx^mP=Z{;yp zVl&RGqus&AH18xc=G9C${4}1NEH}t`MC;uZ}~Cu+#Oe~d*F(Dh9O^DNY~2g z-_VI!aVH;Gz6L<=EnidSoWcQhb|TTL-ZF#m2r~vhsGUc;4)r1!>rAktAT791?;ndr z>fDA@RCd8`!rGRu5~}8CBexZ#Z|mU=(6@uTf#vTlXbH*iesm`EYp}ESYRAyh?P`_x zc`*OF9}C-E`{)7bUX)-z<>$$bf((=DiR`79qJo#>4zN_m4bBnxfO1~IP zB%6*keAdj)@;L$eNN_Z;eBJ;pVci>M9%;`-cE)EY#}4d%4!gKiY4|*teLaJNp2|Mn z{>*0NDkEC3{**){7LCSXerjS2&D(stfAFoiw>h-LuL&=PX}h<47$qM#A*wh1SiH`=5ThE2GWCHsGRGoaPL4@nSwnoNSzbj56YZq(vQu}?t9ch z_XK@_1et^6`hV^$pZ0VY@#{hoEM&tH6Tj#ygz+~MR~hk0{;q_+5!?)H{_cmCu>1X~ zFrCn^wU=oQcg@aqR!jCcFD!6f3;gTxsM4xwi9}}z4aic^<*Q*dGKiK`=!t~f>vPj zu^##vkZW&h-Y)c}nwBg+rB7C%OwjHL^uS8c16%D*?LED|u6MMad(~)=SBUW>FMqio zYih1r96gmH?$3&+3BP%eQ?Z3xXN-j)%ayYXznN3B?PC!1NH7N2a-Rk*VfXE$zOUhP z>4N#qQvwxAFC#W-((t$tFT}ET;D(6N$`RxNe5v*{`d}n0TyjM521`%~GY0FpBk~wqdugE>)sP8NFwa-AK^Vy2)reLYv zH+ZIHtY7W^UG+Y;{@6goYglV`!4+XaMJ2a2G`j@d21vi^*H=A*&B|%ds$m7)s{HFz z^j`kd8LTJi8p?$2k9nx?^UWCcWSh}bsfrxyPh-DJrV4B4m~yz8JlXpHIP?qPC1A_p zb7%>B(yO)gW#$rmMlBMZM=x_SB_U@GQX1DOTyYdc%CQ=N3EV^^nJ8i0)xL{IiK2)X zQ|UCy6k^fNlugrI!{5k-*?N5}^b9Z?SpJ%!CG5T*w-P_B!?{RN+d<<-VQMQQoAjsKIfBEdzAiufw-PGtnzCkB= z^!(Y&*k{wF4Z~Q6_6GG}61ZFzr?Wvdi__Kae^9z4f9!=)YXRL}1ntC_mwZfDZ_vd* z*M~l#laK4_Cw1{J^r7oePpPgVSATXfR>qtCU^!+eM)Ru|8h_By;uy3)KH#(ERFmIT z=^MgM5>Yt`*!0lV}5vDItuAAjP~LAJVece>GAh4Y>E zkG3KgU_aIZYYrE;TY? zIhdRByn?VjOm{W$+Ww#odNX(%*mVB|En$oG2YRpR2Rqk?*~?FBmL7rByS3>{yp3A5 z>F7pw(pJ0cJ!gYALT3t(Er=Bt=}9Hs=&aIsvrcgGn9_&&-}8fl{gLvzs!84ida)zX z{toV`Fuz-5$zm^ce zJX+vv_4cJz$Mh!U;R@7G$d%g-D&H@jQsgH$sJwI+(GX9?9#p;2dyJep$nQS|l|nx{ z1$8PvdS+L@Y)Yv=m>==s8O^Qnun*s9j>U?=crs_;wh{REO z7pruYUWmHMak|W37@Mm5#TOO?J-w&_eG|IOsrwx`db_gR8}KVao? z6|{ubN6mW8+TH3b5Ao_Qb_clFb^3C-@*)k%*i%W1>5$;jPpH6i)qQ~#v*62G`Eq42 zB{@XMVtMpsa&o`>pNMlFHsB+;E=r3seTs!q{=WI+^KqTYjgF|xt^X9;4Hv1BWFlUb zM4i1io@Mf*`IWfUQ718*&R6@5&iBz`KZZ4w+zl#<_9XKUYy1G;$%edA&xAWto6k1# z*h+qF{rC@ba%tQt09GF5%ZxlS*O>M)^y;0pn=_YiEyajLn$BjIJLs<3>|R##8a>AS z?ggdJHY{s(Psh0)(4Rek+DM(Q&+AuM$RT72T1W+6&x#(wlCWBLXGvI&A@YI~QX{*d zDm{=%c~lJ3c*T6*P}IFoob8{8zf!rWWOZIDRvk^uNa^aCskzm2{CQCGQ;VukD}9ec zwFCHzUZl|vtBl;JiWNmslha)n#Ci5&pSwKPBT{g?@^4i&eo-=smZ|)@7iVaqSD>rA z=<2HSD0)(CTEuZPCb5+y%e$qzlym0MKUJRRr@AJJ9#HXSpIulkdc>JK=olwvP;dmxcY`@@##Z3;lg?A+YuBEoce3 z_dhzfzd7Lnv781zXSU{U^n&fgJlUbU-@PQl=!|{i3>76B&%_IO7iQQ8#f&M2zUvZo z>~UA`lc4@2imQtfh}rML@`Zzt>imS%sIux(KQ)M*J=V*4Y@5o+S1)Fp`szXMiTbBn z4bv6!r3p<}nEW-Ikt*fK7vCKN0$$oeJ`OxH%g3qEE5P@G<>Llu3DZJ- zSZi0fbGc{bGOGh0D>-tPZnPrkM!!}#P)E~6@9TBLO?_`}n1$>2A1n6Gg8fF;(N`Jy zY$ILU|8-x14HR$zu0uc)e`Cd^-|+8WcQlGT;55`Jwr)fABAr52Fve z#=WD~sos~vB|MfzPNK`|LdW~2%Bw=#b01FQ&~)jYDdP|jW0=pY_;af4WmOTWd|eg2 zr+Vts^Zk9wZc_0`m&D*m+Dj!8i85MCmHtF|$yF+O8Oj0GjCL)mEM2P)zf%>os-E|$ zRNT8&#cokmcdKH)U;GQjk#_9Is%nk-e4Q#T&MU<9z>%55M=@u<110W*i(-`$$IOD0 zd(OgTW@HF^m}QBE{PWzZL%Sa9&#Tqb<`%w1%Bm(D7U)b zRCKH|uO_*5N-vOuM)c`U(v$P9QJ9!c9h~`#(qAckj^3{HM=pnz4`SX}GhM*o2*xV5 zsV)yGf04`)E{?GwR)*)}B5ow8?XH)Uld)Bb{g<9@K_uo^Meb3ke8i$vv3pc>40@ga zQAt`rL9%Dw`#RAz?kASV3lhEKILeGF>7Jb#x0`x);Mt~rOFKLsdMUUB*!q9)Ip*JI z{J_jRwhg;W{ybO9a8cj^v98VUyU|x|{_XX_>#yEMTHU?sj8*#gy)V<1tMs3|%jl53 zGlmvm%|tx4wf}#+%8TAc3Fds={_lGvt_|#q?D)JvjX*1ywEYpqBco^*cKokU?bUzR zvFBc#Ott?wF^pn4Tw}-~hpp4{PE6-~wU-~UK(iz7=9^djNhD`N(>habIH_zOXS+l9 z2MxfM+Yo38x$Di`exdzFeuvGe6qinn*|lRF?-<9KfHAJMVY(}b*N*QuL*EI03~ajh zLhmfy4)*^$vtTU{6g3_p*M`+X$79~w5SqbvY92HB-A=qV-Sqd_{{_{+rdtOcgq(BI zc02exPqnn^2zFX0$WE(z3>#p;In%3Fp%(!3pu_Z65Wh|TX6U=X&w=faUx0oI8y+SnKB=molqa5LhD@t;`NaTbSNF;}A9@wI8rbx%gO;#MzZ;!WE1j{- z>YsD5!@;Hx#>{nprpC>WoBVAdKAYa(q1_A6kq0)teW4{-`xu?iEphO0^895}mvQXd z2ZP;9=g7_gbMaTqT>Lk5v24}4n>^=c)sIPPDiVuyXB#!eHI>3hiivBC<$rDbxV&2b z_|#ZVTYL6p*RLQ@;NZ+}sv6+U;F@A^EiK@q?H7jco8fCD-^e)nH|UZJDHmYt&8&;? z*9=yLdT`r{%)D(`{H`D#(>=leX)|Zdo4-gb-!3_8!pvCd5RXg#Mz9c!(7Q-$-bI+9&O^y~A6mzU}h zWidUe@d&Rj5pPlM_al+S1uCrvH^pjkjLX6pMHg=4`IC|d>k-wuVG%0Ki!W7Y*Q2@{ zyFgWzXNbYm4QN#nY2p%fsVYhq`qzjBvqU*_VEIQTLOTCiY^?E5so$fn5Kq*3@z0d| zSLJ<%WsxBmf%dq{@eg&4Qn4?TpI@cribfxn>J>h2v~h4t8Q!UNtFDhkf1>poPVZ8> zEMAs(R0&qR-&Ux)K8-pnS3H*Ywbc2ZLLaW9?F zlhx2vRhmPGq)Mg67Bbf>JhEU|;SW^7+c8;?^E;I;j24t+IFc5YIB%bb4P$&x7~R>R zS~*)cnflpqakhRQ27NBL0N8f*610S^IsVPst5Qx9K7@3HWq9lidT^IAaZf_6GVok+RafK9NYTv7R@LQ9bE$0nhi{K5DRA z)lYUfoPAk8jMq;nHD0gM`YPp~$R+~cU+sH&s=t!+V8k4Rw%0;AT$&wU8=(&ZhXGse zGodBqj;}kGduR{X%Y2UkEKO!k5Lzo7M{nsuCd&sB3Hq6w0D$KOr$b?f2Kue3U#IS=U*mb^4U(3f-Ja53Hf;*77TUIj*oVfs$eBY8Rys9ZmH2>sW2R zs{Jy*OF_~6azCErT4&8s(QDo4H#%Bd%^44Uzl;N-p0vjG9u9UFzRy;e_oUd0;YP*J zg5BEZ;`&>KgG%~}Baz=HMt)7mrU7|MJ6!<%5O@^WdUN=drrvzK#njsyLwhkh3TW{n zoK^+;OB_|*>Ti^zsu{tvDtP{Y!sDx+!E=1@934EbbA#9ADtH~ZF%aZOY3B=0w@j2*XkclN8fTAaWyLP8HZV1hS-f8PiF&ffTC@pZqvnrJE>bOiIz z=8acJF%(gSyrlv@&AkX$e;8A9y&*a~Ep%!=Gjd&x+^jz1v(PVt*MXJmm(UW{g#Djg z-?Yp1$nZdC_Tu0$SZZDi#+|OkGYEa2a@I$TXAqzMZfBS%Bf=Wx)rVWKe>Hp^cojZQ zNmt7IchFqPaY}$~FPA~D23yvdb`l$5-Z!sq<*zz4j4XeXR?L~Td|CVTsE%z33u^~0 zYF@rf%#4e(@-TONZAa4f?>fwY?O#neYng29wu_{FDq?@ozKHI&R$t`>R_q=##_X;$ zuOAsZcOUUdhKjEvEJMeti8O(z-lm-wkYSfd{MSCqL57aZ3%;MhQgBzdGE&%8k4Y@k z!(&DI5cc6ujuz?OB?XZKs8iVa{Ls%U(O>&xKldkY_oJWt(U1KJ{LA1E{gPMx)QA2+ zo&MO*`@}Cy^wz~&{mh4c;+jZwJS8$(KO{E~&f{Q(N#8;G)M!0ZLA@wmAG?Od2$sn8 zVOVO33tNOb4`=g3|hYg93nE(nx{5-1HNrW77fgWodk% zdYJTLDmvJo*mHmX=(>TlvuL!0zKziUvAiu-q3F=?sm3R^N(MTfC5!IPT9PR{CNE%fC==CCQ!n#R!_Owtv;D%qp-WpR6JX0}3-oqS ze}`#z2m0oH)!D59pCMnt1zXV^oH}P&wuyB5HgF&z$MQ^^HkjKv@25YID?25@^8^{z zDY#d1ApRA47q~m2pOz!;h+KNnhqymkjiWqhSntPta3Xls|X+L#> zzrgp4-B?8XRkhWbsz`MNWTJk)`OWA;zd(MIsu`vITE8w+>()hTqjhODGHdv)p*0Dc7((gNrB2n-4e5FX-&uH@$0J)#8?1OAo%zz23(e$soOyIwo36 zli@J##v{cXDPN=V@{?m(IMaT(98BgP^}I%1B2{p^Yxo;^eU`sNp^pbMf#q)lw1j1^ zn0{gZjh*-l+rh-e&72@%(#roV`hl;u`r|$zk#+8GV$PH9zOiZCWAj~44~v|q-@|Qy zu8eRl?u|f@h3Vm5d9o6%xk6UJkpyj}q)M)C_D+bd27*o%`O|7nPaP~nE#;ig?u+z? zQ#o(H+|@tww7BhdnqnqD&JEfAt_yTIr~(qCE$!SM?Z73{WERe!HHQt&Mf@@k=JT93 zFE98*9y7xD=Mk5k7o88i3S0%Oyjq|o>|Fo6Q#zqe_gI!sQIb2@dDc5voCE|LZfnEz zwh*6PFMSUEHTVYD^qd<_dbxi5!upfVSG$h&zF~Tko#(yDjx)}r=fsWtnuyP?TN-ZS zt`s;F*nVgO^c$dTxTyyl%3Fi{dY$a64HUPWo9O({7*zJ6x9;!2**do*oaJHC;C&}?GYV) z+>dfz#l`nPhhesE)Y!9WlpT-DwV2bp6l1!wG&)?rfi-dO4duSC*j7q%DjLa~p3bCn zCaDMDGBG*c^|=`v!G2m4o0z={qdrdVq<>)FI~~@8A7tynDbP28TY;^2Z$L|U@)xFG z_&U4?8;Uk`F40~E#Gv#~SiN#>cXaTq3!bBb=ZN507CcMj0`EHa1N0;CYq~jSYsTcK?1$O$ zejn(eU?h+rbvt)|yuFGX8P2!c=ai++dbbo`OFkDP2n8nomBeM+%@3jP2KNCgub)Fp zu=^^V^%tmYHl465EowTBgQ!XlqSm`Np|zl@Vho_MKB`z(N`F_cj}N90tzr7k&Dnk; z16>Nb0-JtsXbHRMCnj1)DY)F5zBopr&CV6Fq9>bUn|(*n<#$ zHkTMV-3))WUOWW-6nGZca@h(k!H%yxoL|^_af&&+nDPD4Xiw2eBDae)7gc(3I4U<( z(4wG)U`c~XbTNzubIpo}f#u^1XbBraKdiBEe>UXfu;ok9hYy|n$R5nGcghybzm;setjBnl^FDi1##5#r z>FaI_wmc5h)96f&XHDPD^m^p8-0*YYkFxWJqoC)41;Fxi4zz^abJCEX)0Z!n6|Y?I zzslS#944Aa>)nr)b0It3=Gx9FUSO1EC|8+}4VU37D@^)r#Bb}%`_LbNKZI#YyW07^ ztq%Ril;x*QU4Ak;pKy^+!uihi=&A&LyYSr-rc-}gHlLHB4+4h)36jn(=1JLp$|PcS ztZGTA*1_L_`?N8@8 z22=pKt+n3$rE*?Hzy+)yu#fER=XJ&5HrZamVwqPH?w^yj&`+NS*tia3Jb$oMWt&i>Y~o4IL9b%(a~#lxL@-BmQ`s<1@=1x(GB zRr_2nftV`U8m8Yy{8mmMK>r172R8l8ohJQVtjBZ9$6gS_%Gr$y77htmxIhO6sO7XW zscT}g>l%x7_ZuQ&R}?GL(tDqbZRS}abL4kzm66X3(y!sOjCbciUjuFcmcRR;CG5T) z2Rm2UYCK~KtnCjf+NJcaa@P2w`Tmlv5!8z?y-wA3r8?<+nP{BtyvSzu z5mFzI^UCaniJEREpIeB(h6F_JUqI`-;!YIU^z)%5?7m)x>Dy|F68y?Q6Ek{#FjjGQ z3YniJHS_$iW^NACKZf{i{?CBE5L^aq`u9Og*nPdU^3GPv=DS2o_Nc{@{w>;h&+mm< zO{tbWV;ral)p8`&GGVLb0#1t;Q7yOE7`bdG-5Syrxg_sqt_Ny>{*L$0et$0$}3Fk@dd~XlqUrSszAFn~b0p95l|K8<8 z7QbdI(&Xa#tib9_`IOz0&BsXS(O?{qAoAK}JvlO5|AfXw+DE(^vQp!0#_(5HiK8Y= zXH|!E?uC9BJPK^Rd=6T|n4Q{z>@bfpR|&)O0bSIprrpUMtM%?;=Y39NWFEzFxE>GC#@YcOdi#FdA4s4uO`i%YMV=JK&>z@z;@$Kf*`gHUvJZa`|w&8@b<1 zI(GkNE%f8yDPZ|{9a_TiIet3Z>rp2@C@VOaZY0s{Y=;B%J_1RIH0p$lBLZnOhv}Ey zo7M9e4Sfh`0yh0Q&=Puteuuva%Vmf3u|d0V=Bzp67cOiU2Gi{}9n7~2&2;-4?X*Ql za0emA$$0{Ady%QWFEi{D^iP#uDBZ^P9!4%}Np~daO1pXw`eX1XVEOXz>&(}*kiXsV z71q#p_AsOIjuJB(>s@s1-;dUET9Q2zv-Cpg^>4NAKb-A74S!9f-w^V5CiDg1QegRO zg_iI|ct5Z)_x#?LTdv$DFJC0b#VkkP!FsJQ_aEhKkM`)qoUBAAM<&WbAJ&eRe!rLD zYa8hv6Y}M+M&A!~1(vVxLra+UtXT)Ye{HAraCZKV3ze`u;ilVm_np+|F1qCJxSx~S zdiR|I=UXh;7GP|oHr7`!!uY1{Q_4O)u1pJi>w`wPBWrLj(?uT;EAujml7fAUiiZ^r zFDbxi@P{}dncD?b=)}nQ0`F?Qz%7o&Q?5UkU1&Kc&1Y%qMhB2N6s9lIYzgag#dyP?V;{TKbYR@-&q=fT49KG(T4ZfdemZSF~Jj$sKoIV=^_=kMt+m7XH?dF4Kaua%^0 z`ML-CA@C@$e7y_Zk*^-%d}%j)Wz9EHSvG~01$(mh$9u56&(>tAEOz@s=%b`Y->5eL4bzqK+z9~w#wELdWZxk_qI@)v_Nfn|t{&vP7spsJ zip0!E!gwmNGwq6|8y^t8;6-0_7N9waspzP7#^ZMdsrD0HY zmD@kv&FwXr>w!h(ZvSp>DqdXWRwo9zb;tGd8)%Y6!3`B`@4Tz^?>Jm0I}IZZ|1;pv z_Sa`ZUk$DYmj6efC9Dknadoy=)q(%X%!Q=It<~3%q~9cB1)9?bGr2|XB$0G7Y0&=PX}pYKq=g};Lq z%?>QMQneqWYO5CAD|oV+7ACJ|n9Cc%$eXR^9AriY!(gxhjlT9WTLaea8Lq$g^zQ}?ilwxTp!AUT9lH1it@E+w|V9QwEn&u<+Kb4~@Yg|#Kii2EFW1f&NKstVNCz>rqXZd5LJ4N} zGyH8OeLEiOhnX{jDq#5=1})*OJ_oLX<|vkj7%4MpUcS9D|nWe@#)W;k0b|St0v}k>CjHb z>soG{m$7kwfpRg69;?sqo#1Roj)k~&cBnXJ4vv4FmPW(($hBF$pCh1;12cf-`!;9^ zn|5l4u0y+?w4!;YY1ys%N@j&Jvw2KA+u%}EFQteD3D9w{vfs-)75+x({bjs3QL5>< zprLObZ}{B?Kh5wX{b=-O+yMt&faP~Gw1m|!@1b8e{AOEHtNx5lW8wOT+WD$O!FS}a zO9u|^_W`G`qHPc~`Rx-7pDpmQD&+I0&`*Gk!16i#5yR)Fzc%x;*pOY!)7Z%k<=Upd zE!illau1*pC;iZyrOvm>qcKNQkDBWDImGCOvS0}|U#7P$MR59wDu5a;FID{4?- z!}+codre16Gkr8>Z{_P3)%d~*%lUefjt*6YT`LNbXe0I}f9~+PI+b?Q zs1KMYYM8Q1hHdC)dF?^I$w>Z!*`t=l}s$fK3~Hiq(8 z3;has16XQ!hbLxkGofR=T5~+3v`x znQr*r1YfqF|2yIws_%tTy;wU}q-*)Q0{TX93$XIMA6i25FZZIH&G@r>zHWoBf{?GdVy`VetwcwzIm_e zVFzjMx<1}m&|V)ACiT$>vvYlHooV=-0UwsntD%1kRs+lD)6f!Zd)cErI}IrvTK6vM zC&|eVo2c5yR zqW55wltiDoH$(RY${Vbo(fTpX9PUvS=#Dg;V)C&GKFi=!+SkX>pMx(#-ZkH^*s0yE zfjesYiUE(JOeIQxQ<#sfb5|+nEp9rBjhPzml)*+2+QM|3p3JUOPldh^Tm~dfIj{cp z(~K`084E)@T-&NzgTFs;&RxMflw$||zd+wOFeB3D{mS3ysW$J5zQOBjy)jUo`{!Wi zD{r{xVw|(v)oz!H>TeNVeE6YQMnQddDe5D#VyIrNN*}=D!s(-q<`}t%`K!kCEsCYS zn~ZQ%1~)i5nP}jSbPSUpY#qeCA}_H|tZxslZlwyE_K!2+*jE&S=dcoq+gPXiO@(TH zB42kqwrqGoJ!CyA3#jn2;|^NhlkH_5oOAHdd6PRwgOzi%9mSV7!hdKuXFevNq%EPdE0sy|V& zkC5N^cRT&Ln})GZy%g5^^U=cfKM}@W^?s@Je*AIq>&kzF8|tHf)#;De_loKY%f)c= zC((?&!qwNhZVTFlUAYAFH3kGxHF#Stpq59sVHPv}OG9t*m{`j#RhOOMADQn~XTK|t zejxu?9^H%RP6{}Uri^~1GmRQy) z_f4(m>GRl?s{DtprK!x;sEF(8=_eR zC_~}A{6)9Ie(h49qot#(`E|EH>l*vD=4)LdpN6Xlm77oQaK%H_psQI~ffPzhYIs)l zE#_I!H_bEeOw`UrHo@JG#tTgUk!j1`Cm01iQ9c9P56**@Ff#N9yUYF0-1Cd}=1j*Z zJ)*3b(L#GMIMONT;c#d6#$cMr3EJPI!}L>Hm}8ge zFg=^qecEcNp}%*r;cq+XTlp0|8+W>cdSLk*1})*3l;Q82r*<)a&GOgIRkzI?Z@eas z!q0du*l4)Pb*_)I_>BCHE5SthwCqwU%`4_`VtXL-0pn`T7D{ zg0+kHe7H{Ep?-z)=Z;cZZKU)AUa~gYihGj$zFZGy^X&(Ltp2UMDd7hC$}0>%jn8NK znFGBHoCPdDmq1JS_yr@M-R>9I^;(vxR<+32iVQ=MQ8ef*7Hkb(--c`IrO0R0?!pvX}9usJ83QvqD z2ia2w+TB%#uX&_v`MLr6Zg3y4d_4*+VQ=NsVO^GGZbxa|o7t(fI8VRY@a4Ra<*Ocg z6c`IEU&ljBxH;_a8(!N*JWtrNlek)CFD?Ua{M|!j8yqF2jYS2x>TfM$aMaD4q zxk$-%0_hwM_ukh`ZsZzlrp55N8a}N2-iH1d{0Ue-zl4_Xad^(KOFj7tL z-UUVg%kM;J341NaPWTxvqVO{aa{U zqA0L$erP^ki?A5uc);05AA;c8!gRJ1kCj8|uh9hn)j)!*S$27^BfPmLcDMQr3{F%# z+12hsikR85X0)8GVR|!&+opE`^u=J+|CV0p;2|fan~eN6bx7w^=+D7F{`Yi@J@g7P zRpEFQ$fYJsr{TqHex^Vl0j2{9doMrJi}4rbq)_g7Z%o_Nl@uaq8leNua1{R$!m%JjXlFaYnIdDi2gf+rspmm$LaO5gJqi36h^(+NJ80 z$|$li%JD|=2R|_7F{4AgXF;z77XzD*%b+FfIUjQtVaaKiIawK|w~6>{J^KLqBk;#C zjlIc-O{EVx>En2P0_J$E4dZWkIUE1s&_{vefX&ZI&=U5XpAL$oGaJcZ>Zncko z;AWG4{VQ2L)$z~=gDJqKe+0AydrxbJby53`O0j(>S4C5q{%o#DD{gYUCXDg~oyLqX zy;kC@AwKB`pMZW2ya}WXWk2O3=>G$`dgJxE`v0BM4X%!+*wIm$DiR)gjV`^KMXZiq zEw%xNKJAr0LTfzyEH?+oa3KyE!4 zxf}l4ZQF^Hn2^7IhO;)W-$vo-7{gQ7z@nY-G~*UiK5e9x3FY+;^l!lLfCS+w_x{Vt z%jeEt92`T7B?;^&&Ocl3-{d;8%COSRBn1l8l!T#U$@(u+m7B)Fy7b7aKFL*H!9Vt500cp#5sr*U=$}FJyuqD zf5MZGtgeRY5#j225=PK!Wy0b#-)iKu4c=mWmiqK9bj9Yl(+$}Adn~ksh2eg?t-rYp z&Yd5e^k;5iSeUZ@KlgRiJ-Bit0@;C~lyGbd$W{%S|g_n*IX*32bnNabc}!t%Lu=Pa2cx>KbMcZrXW zp5RE(cTgT#`ag}m2Arlw;xQD0Z`85taG;u`uv`>Z3eJk1>z-41Zsj@2Give@K6io& zuhy7^_xni!VR9_c&zr#3=_uU!V2Q)6rB*dFn6NJlo*x=ryHCvP1@l@ebNLPK-=ogA zx|f%@i8fOG1J(T|mA+Mcq5nu#+@ZSPuF`j_R0IQ4TyMtV$z%Mga)avea}{5sdb){< zD76_c*srkRTJfr?e?`ULzyx&xf*x+BkH0@VY6ThWjAXhZp!>D=g)6pw zhlxrq#`jfsTx!&L6>fJgjqjaE55Gqw?*C9>k-a_^XXDXGjdkOXjoelvlN!F1cKa;! z>);(=<@RrA@2wrjfz`XH_aZmBRT5P3GpX2PKs2b_zf;b8F1I#N|4Bzvy5MiB;tN&& z4;B9gyBBPp>MmGOAR9x)vUJel9FGG1r+3uaYM=;d7K^&A3GSeDuZXNq{I_qk^nnZJe}sB7=E^q zo^5C4Z_`JBiNMP5TIgFq?)~P4uiY8&nah{R&rHBW2gZYzFPl4Z;N;~C7l!ll(iyMH z&9SHD@sK)6s@~!cRs18hUVn&d?~hc;hbsCJyRPDbhHLa{;%hp-nZ11!nVupa)lci5 zPwDuxsADCO@?^}Ii`lQbJpCK)=O$y_F)>y926o=5X|L!g{#&G@@2xM#rK2>;#YEX1 zFJwK@gxsjGU!qF*i8b)E`933;?c~{(Q}P{rV}c?eL1dG={>hbtDW5RQP2{o3d6`?B zTqMS@x;PEO*0{t~v)ZJ03w@g%pJ$NHEO1JP^m4~%T|}Hk&PQI6#Ns%OVLTi78{3b( z3B4730&IB>c$f7o$Q=i++D&-|20Wxe%(x7X%rkyx3hh$Q`L~o%L%iRDbUfpYPLJV0 z3A0XV%+?e!u5}+!tG%C~E*HDoExpUFTkZPyx#=5S+^%776vfz{oKlz#jo$ikS652u z+=Kq4x?Xu1w-leMKE1%)Ab(Bw8#%SWyUpMI(7ysN1KWPQE#WvF`UO2S+~3PBAE~E@ zV*gdLwV9o%*JS_m{NVYF`LING`8K#8dCtdNV(YCl)jqx>8u6;x#jA}Zy%BEL5&gYh zc(qA#zB93?tLu*pDqT6o^o)79LHd5Jv0OI3U5&_TTVwKZ41C&rEQP)ZtO7P4zl4@h zAKo(<6TWwrkKh&@89{6L(P*HxTqRn|Op2n;hRE=w?;XJ&^N8erT+Duu>K-rX5@E-t zB$>f0^$4u7mC?_aGbK9Io1kZ?=n#J>ZD%5-F_+EX{;V`OwYfoYn2M^_={hZ=ciUQ% zkDA|P^>@ZVPX>non~!6mB|I70JKY@W@$4)g?Wk(k}i0nS=rd^B!M~g?BX^W+Lw5UIr zsoaslB<{~xmStXtlVzS|*9KhPA93ypxs>}t0e%a>?9SX%Q!@fn4^Hk2knz|5u{8gqzAB ztX*gF-AbNpzMp{J1YQAF{vSX~u=%!na=G#kJorplPGb{SMn4H|aSlZFZ-e_K!wGqt zAIwn8{ob62!O(f$Nx>%W+Q-6r@Y`(vH5_^r*bhh$mUH_rn|>hY-1WtlSbp$_Jlewe zR}z=)kADb#H@L4u{JH1$x$%eV36AW=tZE74^al58=8VRf@fNG%s03% zy3Su?y>xLT6*&Y?q-C-!U>rZlE770Iw}@nwNcn|A(d zHW>alz@Hsg-h_S!ychDkH{~+^jG6Nn&OCXcbd+Yuxg#z^PGcB<+3&LP4~8BFMga+X z6F*hXPQT6C@}785_Dx~@tBA|?lXpTt2A%*Cx2*HGL;n}#>Va;_Y1g)%1#eRhpE3MX z4!weBiIM$Fp0k#tuP$YSN)tt0ihFxLnhF_RBv$5d#(8{Ul3nCX&`@jeby~;81pbp* z-^U6)T|L*Rfj6^7@=IaQX??549lchg<{;zUqkme8jMGt|MXOm2|6-24l}=hwmm zpJhH>^Z|E!KqIhxo(6pu$ejLwwC{ zaG!RaCldp_XrhP(MB*;hh4qu3j3xGD)(s0zA-GLTeLpf)T7g>M?V)9 zoyLtOA2-9J&Br6q?}GP%&BwqG(aQq;Uo`8(l^>XQeeYI@rhWNq%SYxxlb0+$jV6Ic z+sFDlG2!zI6}+xCuUpIuw+@o6FCxxIiT+P1uT2%E6J09M1YfA}@|sSgDa0_=-G5WX z-cor6e*S*>9y7Y)_)xCj_s!og>Bo;L3+_gtS;8*BXgN$h z*FV79PsThk9(1XA!954pJC6pfiSgjsP!8nLjt37xKMtM-wqJf3TEed8=~KB9zeqN= z%yvdm(^xh-N3+HHgnKi_UKLh8B9(q$T_{!R6y4j73^SfH>1RI5w&!~2eqa!gAZ3wz z@7soECG2XQ*q+WbbAP?4c^c-Y zo^ThVV^GJ$gEinJue-GhK}64+e0@#4cD$JIhq!Y#I3L*hb@a#FUjqBLn)P3-u2tA@ zj(Od@cgUwOlC5^_Y~eB@ko*q6pE>)CnTux0a8uXneGtFXQ>_?54PLM7;59aQKIjFn zE#{v_2Osvm6TP=5+!srni_u8Ksj8QEy;?@^5s#%~7)90914q85s>h@Xd(i>P-djne zhJQ#$3L^V3v+d1yiKIVyh#s%}5iwmd{CKF6>0F?R`l;$gJr|TM9HNIG5E~W4Re@iM z>x1!_x=gQSyR}!vpvP4#QX%VvuJId{%Y<3SGG*~RU6@L^WgFBGy;!A+Fj8IE_i^Pv z!RLjzJIXw$O7hEIR6Us&}+|b)RSnRgs3r#PA%Z zW2{|Ky!x|>zpIn<7h8JkU56iIN@hZ4cAW{4skEc@Xpg z;80-O#o5pogD>7S{jJ>}e!0`QDAiw9omf*ejLlxMxOw7{NTqbfBeEef2Mh)Epci{1 zPslKGKTC!3NPqS#+-}`;ylzPMXqhgI_NnbZte+m-r(__@2=<>;v`27<=vcAZ9xSHM zVqbL#{}9Ip>oA(_}7u*rBJFs74)GhkJN8Q=zN>r4(kE@*!key&_4k`4SAHZ_&R4l z*p|PHb9T%#d)vC66P|j6O64?#@oy$BJHBp*{s;JHhxqqCA7KhP`DhN)8TsdIc^?h^ zJ#ZqBu($P9@?rPjI#pWYXbsb8?U2sX(9eKh{txMddtw8S*8s;G;A{@#cm9&iM>ps? z&gz0SVkj`h&+rbwd z(m8%F(h2&LX^T5G#ilU+hEKEg>k#NE;7DNQwKw(4?iqBYFuFQkU=OG{jK77r?0EPv z^dn$>hxm83-_o%ic3j(6l18QDg;oZ!>ldc;HF4Vhs^~NB1cM4-^RYMmRUjv%B;MHY z4A(>cwk?eR7~-nov-DSILZ1!J>k$9m^jAUrVTaXGR+7%vFr7BywEf8k&>w+6c1UM$ z`ja4?u(@~4i=>m;V(M@GU$gc1Am~Fu6ObV7{rP*s^;qcVb7$j6kWPCA?wnF%m`+QF zbRL5K8F;KiI(t)pr7nbPzxG6$!}z}@u15Hka>@UkG6&s&oo{uAmSFFp+4+viPqvl~ z3v-o%vIAVJuHm$V>24$5M&gzHeg~b{&Y2Ie=@vmtSoTQg`P~lb zO4cdro#pp1uc1A^4ey!!&LCb}FVBI#7_0&|-7BFb?0kORLC!*kZJ?;>fWu==lHt=G z?{wTj;uqRxcx{;OR^qK8Udiu&p(B68raO>2DogDV(EEX0J6>g@I-dJ=NWasdp2|#Q zmvtE&^uAuluhX^H>qD;N@`vv2c)h=J<6pY9U%A=C$<)=Jz7)SO=+j_?glBKg=xWhN z)ck=7D}QU`)dEkpemnrZ4r~BcUcZ2ru*do#tcPv6Xhu_5LC$u(vqfIR+U4cEZ_>^D zJu9yP&<&swSb0gB)A_tE=l)pz?&TG7uoy{|29hejUiZ9C7dT$&i(dTKUOCU;xG?pm z#}Oshw>VJl$rQdh?DKAJI^*&mS`Suuy-t# zH}g9qkFtMc(;Wgm7EA;--2tVtNJ@J+aorA zVDkGl@zxNp$T{;ReFLZhHr*O%3Az2l4*j8>#1u7-9T#hqtj=@1dD6(bOGdYb=`|Cd zosVAyeJ!{JbZlRD^Ep?4F}ADr)p2q&)HE+tcS>kjx5i_)#7m?x#S||SYPOnuZzqjL zzLI>$zG5v5%7D#xCA5S+jstCUONt441G1Y4%l>WgqE53=w7 znP1sT3M|iI>&{iEn2KcBHwpPzMVhvrz6kve_${#V`xCT;dqVly`z`-J__3p5Y4gPj zo5JbEd2sfa!l7tA{cPJb&Swfl?(WE?kT|7wLCqOg||G!_8O+?BH*r0rQ2juemkkcN_fJerNQ5 z(A@yX0^9G-hh74^Mq?052E>nEl>Ho&{h zU%@xn@&;u-(W!0dD|XU;YFw zVa4ZW-LdU6^ZuXtY@WGf=^PRI)S%)Z1?Gx`5>+kIQUkwGI?nu5I@ataY=+fHFPf=j zIc%@~fkXS5%d30+IhpGnha+RD*jaM%Lf!2S%=dEgE;Nrkq4Zi*Qj)KSyK#Pi_83dx z2<}CWOViopbLeO6D$&V~w{`v%W2f^HHl0cV!sk-2TcEQd{78Cz3-bHG$ABs~{5M%{ z+KyBHv?fTOPy-IjU61o|)D%9%v>kevR#VODRysWgQo&ef^rM8y&|veP0bZ)Se+t>F zxwR}nm4`);F9n)wW&YP+DWBtyzrCT1?4AurRizd4S1qZ;uH>Iq28u=NOUUHrGv+;< z)$66~}wSXI`>r=xci3t9t)ebni=~-Su=6`Z|Ua z>IpEtfcuQFFIvS$7-``F_Zv7a0ne$SF&lY$f9$}+{^-}T95qANMaUv5N4a1_IadUz za&#(W3QyT~nAN=IPpd97t2G~{l!s_BuIfy5vYDcjh0l>%+o_8@PG`cobSK^!mm-qH z;W*=*){^y&OveuJRORYB$mE&@Zf0B45f7Qd_`k{a^SH+cA?dJ-0@@imEO@3k80e>i zfqV74QAdnS7~!Pz1d%jcSZWL)?)5hBGVoHo{|0$KK*j--{#zhZ*pMje!Je4oY!?;p zF%_$VMHsdEZ}QaZgYq%wWjYT#jE=zW)$cI0N6EioSdzO3&i|+DdzeQS#~67BJ@^u%GfcXG!%$ws;CNlg;M4Gf zs+`5+-=zTQfa2eq{uZI_Jny*qk6659*@BQ75>--;i>7v zO^HX*kCJx{cm?n?>HQVR{{Wf+#rreJ6x6x74y)HTWjV97wZ9wMr&|3c)3)GD_%IwY z=|S-i<+FLNEWm-EB=17_qEPD@8zA2f+zBY&FGHqq;J>oG?6Ajo$E|Nn`YKkzO|9L< z(dh0fLk#6El_R=E;s=Ku*X_2n?PdXwa>qD_^K$+%D6h-O=O3Mmp$3 z$zHM{&&&8M93;r)X^vPcNgOsU`$eWV6F;eO_UVu>0xktqdT)YEVXbW+;i*@Sa~!MM zvFeIt_Q<4$y&}#PM$j3&g!3q)Zsytxa1Nag*M^;prMgc~r0g1K48*~RG@}%pYJQdc zTOh0a8s~Itvw-=48kd{}c|Gv1UBBObRPt{e+d=K|6gwUB$O$)%QiiJoGw=cTv-APy zzeg0m$JpS+Av3iPPz1+dAlc^xO)6nf<}rrx*-YrY{x_M< zCZwSVKT~~5z+gQW=nJTPnr;u^_t^H^;%$G($6YRmRaIfRg1X3N_HX??GI-HbeBKVT z7nE1;np%z39W4T`_~1m=RGbD(!}DpTCpvQ@F2#fLZh(PvPd71M$>;JabTPHO1gSy# zC@prnG&j-+OaN5=;ZCAf1UR?L{0cXI=gVj0SGR0$; zeC+1prxoJ!A51(RmXE9CBV#Md;$D5i;LIVu!4X4#?xfXO`9`O*%u?Ufh|=k}eU}&+ z9~SNoi;duC;oMr7JHgQp^9;9pjg``G0w3rMgDc>X&cQ~4bur_897FgVeNI9l?>=HS z{x~K+z|)=aEIcwRtgE9>M2^XwGjS?7$JIG(rYGDnE(X8X4QCf?4NhtHF{>TJm-^md z;qTyFS~hMYL={-3-V-L{qD_C#s3`kiEjq|@zGCK6u!-&H>o_0X6S_wX2HHb|KWItDD5^IX zUX_-gfqOVXwbx=2B}Uk>;?qG_s`u*C2PX{i4vrdP4%UZE8tfQ?@0=MHY#5>kqx0|P z8;*p74(~r5Q3oC7KOOo(N1++_mc#K9bxT9Af;5scX*zB}d0_$(2eR2DxsFs7W$VEk z?B6Cso(aqbRK6{TOrh=i{Bh@-Oh08?4Vw(dZhQ4*+M6M{mMe2j9p!Dd`8I%$>W{C- zsP=B)6+q?NFOb81Zmn~p?8inbdv!O~iF6zX?~^LlbBL#;l9SvQDH2Mh+7SMif?=l|z@Mp5|Rl1<5!MCv$ln)A2ukF2v2$ zLOs#&vJ_*TK8$(bL*6LhxG(7R@;q0nyVVk1OROw!RmdAP9(e%rL%?GI1eYpZ;pp5;r1fP@3myt(vo6s$-gmP^@TM%~u zaZ^9=DdeAk-vCt~6Cx!yH81FZbqi6h1+VGYagn84Obn`OaI(8PTR$Har1JYenywvYv@KyD759F7C*8r8C|3RjZ+aT-f z>rWi__*tX}=Koi$Tv%DXTqzvhz4pUAEG%ht7oWYp6!qgtQ`-mo8vWeEE#75Hy57Z| zp2E9e;?Ro^wE|ec8WEP&Bi{u}0Gf6V{}Coq`BaR?{WK7uP}fPOvjmq%Rk_{*c`I-m zpwf94WD0HXH5_mG4(w6~z-B25w;_>IU4--v+bICP!~;SYF&i#_|Q5Nk8ExreP(R29CPm z1_orD$7lVl7<`iqTepwEf0FzMRtElzn=Y7e<+vAVpz}89JN!&9nJK>W$?x$U{X3ud z+YI?PRxrJgDVzX)Qj6kzB-D5b)7}KfQ>YMT2p5GS z-X@!8EqDa*4e@*v@GKG%jIc&>Sv|kcAK}%aHmkglCrkco5GT z$Qytw0LAlK$P`Wl&m$E2*^vruv3WLwM*uvCXI7$H%LDoXisxX+6gryc$ko;5auW(W z^{Q}w*QRhH-l}d=pBuoV2tO0g*C8JSJ_HocFCkN?v;EwudD!vxM^l$9uNaNtLAjXo z*0BxZ*vLNpPNvo98KPI3NkuiwfSm};p#qt9{$mcGYx6x9@+H7VK=Hi>GKCI12a%a2 z#xum18l_scn08?H={VzdnV!aH5y^qZFngOptG9VJgNN!jdv->>2L=I(=S0X98rq!e zJYKy{SiN#p>zE|2Xf7^prwk>&*qOKnij9KR_)h5299A?|H?%CioDzWb`R-D`b>O9V z{|ecaK6fSF|vPyX$?q60(U!O%tfTZ0<1J4=PPI?-uY28PlXGdo)=xB94rQYkoPx1c=vMYdbFrfGcAfG7yb|2Xe{R^K)O3sy?`mt)(-j`*d9Pc?TD)6EKCP^BjaihWKY1t#&M% zY~EGiRRms?54#~h1w02R-fu&uu+3ioQ1+ybm-kpQIg8U94@j-2%fZ9XO#2vG#~~-2 z_v~VI!9q7iI@9^-v|21eQ=VP^y9CEOD zODe~ejbEYip6GF%+-JoS^8#b4u6S4FOWw`kl?z^^?`~b)T0T$!DBfcrpBUb1W_AiV zM+wfb$8;Ue1oYruY@kF~(US9c$+@@WTMIsl@7s_+0zLs0-yb2LFurnPQFa*PyW3}6 zYx6D22=d(kc{8vDP<(elJ~4dNjO}o`&$Lfh3-potZ2=#p-vQm++9+Tgp!m*$eB$`F zr{IG}VJv89^)~Mv;8ljNs2qO>*~&zl2Pod@kSUbdc5ynY{T{pG@YcJI-64-I_m)lH zFHHLm`}C^a9)z)D1W&X2P}!bj!1RWsrPcS9`mX{{k|-T}Anya71ynlz4Vgl~wx8Uw z>7X{SiIJZZYD4zJrm}_6u4uA@Zim!CPjSfeGA2)X*7TG7bGrw}0p~)#6u1&l{BMCw zL9Ih}6#psZD;8CRHiactM3kKQZgTBq4wqgnB@swtG8hVejW*n*&kG}75nnZ14cd@)( zEcY%pa2K0;7t7qmy4}UP?_zm(vA(-7rg_r}x;D?^F*g}WJo-i>_a-dbd%}EI!USv) zi=b~kHyYh;GBA@2v#!J)&&-<)*oMS@py_Y|kxuh6139?R_+F=i3cs*~FS$~nDnt?Jswcwj;r{`_R zp8#I~Dm^?~rl;^(nV$GJA#iWE8ASje@(+sYY5v zz6lmtMj>Co7qV{jL-QcXzXbdg|801N#pDz>ZH8%glcP??K zVZSM^F*xY{!an_frgn{^0EdL~;Q++#Z01%b3?v(w9%15eATQ+Sa2PdT4ST5Y%12C_ zhstzi<^=K;tc0RILQ z-yb2LAin+j9Lc!p=!^vot;ObDoEPN13GxlVEr8-(5BWs!rcv;bwBP+b+FIRksc$Vm z$a^g0QeXz4crS%~qIkEb@I$}Dykvyry$8ICK#aQ&{y5}D;6*_3|0iS$ z9e7^7b^n0M%V8S`7va2>TD-`oZfO!u$;tR@ZN8a(f_&FNJ|9>QD85@DQ|Rb+M4T5m zY9m-1aw@T%Mi6|8MoE1i0zaki-hDCt1%?BP|5V5)jDNe0;VsAH-eU8v124tjfOrfLOLs36z9DKA! z@pZxdcN#^UZ@1G?3!bXnybJkXz^8yp$4`(cbacBIOh?$P^0gb={8Yk7(RGf7Rg)X~-`FuLFwrzaXDD-XRTS2<;87;6h&8!csF{^3EL;{=nkhci# zhc}SoRx*tlOH@q_OqA)U2hSq#q;&iOnXUqa0V*AxAya5;59@g6p|YJ3=|BUCD_a}v zMg|9E?nDaI@No(aA4_4>O487pY~G8(OX>eX$j<^V0E+k5kSQGSNd0%Q{f-|mZ*hz> zw0Ue{&+6jfZ~rgFRQfhU+YOHh(HN_z^HNx*_QQLT%kqYEuZLgGSft(`eu;ajdgX!B0`8Hq&pwjm;j&^w<#FUNw>A}+38-|{Kt5sVYHfboN!FF_U}5~@$3^rj}Hgj`L%%lJW6 z&&p1f>DvJQ>fXSskPiYM0xEsKK&H^xarge@x@pBK41L8_l(@2+$wYgV*i@?L+97ua zk9Bt_Z6m~r? z*R2~rIPUdp(Zs{k#qde+ugQ@+7c-GNH_1n>eBkmaWm$Le8M&3awP*A@O>J2L9}FLk zy;x5p!ku6R;yWdH;fRR7%VL>^$BN-y&90^ym1&BthcO)H2WIh7{Tyo|D_6ZU<^g4P z`bP!NrQ8B}H}DXk(*GJ{3dOelvkkW0k>e<*D*e?JuA=+T!zcL9nV^rYA5un4U$D*8pb& zDm~XgrqI^k-k(m-{ACs8D@If+Xzep6#rWwQ)o<(?Z!tp$>*QuPq~1aW#2c$KHHD_ zd$iAXj`)0C?zUYoA8W*SGimGX868f0_Ol$=Yz%H4MLT17UTl;#1gAv|>r~+*vX+_W zhQGlQGhxzWp?(o|Up)S>NDuDXg~QTPxFbnuVvYeLOD{2YDKju;d4TD;>}==R4&fkD zq&Ihw)Q?t-^L)WRw7gDOy$l6bdW_&HE&Lhd zOU_#ORqz3f$7=EE_)_TSH-~l$94f?Ph~~0#jb7XxIRXAmw(+PrMm6Wr1N|pO^#~KL zcgy&h`~}7@;(RK6{qVkAIE51F$URM_`v;_}5Z_R`r;K%L6~IzJrF%VO3LSWUEHvFC zDp65atQJS)ZHF1;m+k`LWT~6-6!nb$8rNRMfgzLkL!yTmrq!3nxiccTtFup-ttjR{ zNnfnB%VfHmz&ilml&++4*h2?;0V-YnAyeqE^Ztv=SC+1Z*+rONtXMF4b)|GITT+Z8 zip7(tT;C^8(&zF~4BnpMSr6lEyOM%O$#Thi19++PiEk3$lW@ibP`u|trm*-%S^l>8 zJG30CJ`lF9ev(G6u9N1io|2CX^?S$w)=2T0evc@SupEDxet3l~&Zl>ahT~t;lRgEO1tL&^J;Gts z9OF60pJ057KF)fZ@l#nR1~=_!%c`Zm8lVq#KB9TNTkA0a>oov}j>x|C;)!l;C$Q}A zQcugSti!jO=FIu4c>d}3P1z+8r5WYy&)VcMma`%fq3l;J^yk& z0N-QLaE}uos`rBf05xI(y-YU|giP*asIwTN(NfhqEVly=b^! zH9Em(wI8Qe{Fd`3!{wZMjnR)gUn7sT-2bZX)MNC3BM=>MCxugs``RnuHkg1z&zahJ#Mtl*Z@`G$@^cu5~%Ij<7$HfrG( zJq6?7Zy7AJhqLl9XQxhPS69IE66+OcWS!o}`H;Mfg;p3m91l$}6Z`iyyEyJM9QPWI zW?Y7J{8M*4rK2LC{UCqNAXfsDZ&z~I-J1eekox`1`jPWVjtiOlZDwA?oKKR$lsk1k zhh3x_&$5J^&i`XLiB_137vx(7`Y86I>2y0DWA53mAz`VWO}ck>_z+)e#C{`kwtskZ zbkt{-HPQDN^P7?VBTOf%A?y}Rt!lTeoc- z!K9zMyWW7i>t*uldcDo3A%u^+1b1YB7(lg~ogq``!28CnyoOgUAd>@8CBt!#w?Ut+ zElcBl=`QJd-$-(yOe8_hJfeo^~GSA zGP7FwqJ_c8jOGaSe79`S^F)LGs#88>%YQ?NVZ#RfTF&D?XM;XtH?#jR{}=2d2I~fm z3>FkVW9EOD_cQh=!@3ZIC*#Hn3IN&J3A?c55n9l z*_F8{Z$bb0-ZEtB{R{@x;S=p1#y?{)#b7RGf9LKgu2YOxnX}Y0(dg#RaxF)fp-~d} zApK@$_*oCwXDC7nu4=W<;CPg|FJ!JexqG;43lGcl^bZsFmW0~1s>|$hKP9*?a~9;w zfK7lZXLmrR(1H6hq4`GFt}ri<*@t87r*9(f#EF}*gx5eu2=5D-5@chzlw=t^E*z9f z4dGN-3tTSK(E^^i;7R3hP$|}YfH{Cl#}$w%Wd29aOAl;5?r}zII$)Bpwfx;E%injh ztfh(acP5Q18uSB}*2oGBua#rRS}HFB8>jN7l2={|&X1&}UEcb}=Sg9!`;RJtcarqF@*30u=$ zT)tAKJF03Fu2MJXW!gsc9_q|+1dpMc$^(oPJeqC3Tfip(KE(GU$o~Pp1Qg%jAX7L& zd`}bY1bNLQzB9EgA$*gli5p@N>AnyY11r*=sAX6y%r(Le{JFZ+o zzpdlfS`>jzWY{=Ke3oy*3RQ!CwXWTYxs%tu0KIaumF$lZYdNu0OmM<^F)WfLnQ|N5_<@VXnKRsFw=`S%p$0CfK3iO$e8={#K7JnP` z?+xu!USLGSM!ls7}@Q~kVFuRr+&73a{dhRZ|R;Ft$cn83n($xt0 zRp2c^rRzh;6x2Mm1MFUg=1a(N*9IodUN(@~%d2q@vputyTHrd#J9j4Tnc2M0g?uHj z8Bo0MfJ|ZSFS4Hha8<|EbIJ+SbsTr*DNTG2f0?r;KJ#T!!ynbPI(-Cccr0JXry1!H zF?oH3(}negDy6RGO2jCUr%cxP0MY`&u0;@IvMX0(v$ z&gn4S*$J&!BDG@8H_CJ#LOKFS2bHsdr(oX~C}%MO{&4mc0r zTCc>C!006v%NE!(mbj8xSO!W0;&D^H5%V_f>x~_^&^`|vhSI0hX zu?8zee8TDv{cw>}Ja+TPF|}{hpGwoVu{nm9=ZB?xXCQ5E!|lS@Ei9hzWu2U<`sifm zN}klq$hGKK{f!}3SQx(nuIhc)@(45RTJABO*WzMCBz_y^#&2{p{#qVqMqkUL!qf73 zr(OYbH;dTGBErLVGEca3C$7ZeA6xjxgZ1$Eoh&XqdMArA!_!>_3)1zF|7gg8-hCRa zfzH890oK{q@p3ZK9{TZ*!+%_8oW}poJafD=!sqyAM9hiY&HQtsXGG13tw>1le#`t) z|8@7s{3@OkTt7YtId?A3mjkMPJq-CvV2ADhAU;F3hX-yv{(NhjWq-O1tf?-qk_Q}= z0~uHqepQa6O2jzoHu;17*erjVC4O}&7mtIX|NK+=!({QBL7OnFZ`2?3YP;cLqDz=N z%o}I)fgMJ}?~do;W3bh9YPOM?(W$^in@gRNePNN-WlX<@dEh#_9KSvz18X1^;feNN z^uSj|_=_A&2)l^kti^hti^sD}JPN)Pt=-`1#*Ax?>E0Pn z(6Z*>+qkhE6NwySGM~=J8-sbIvpb5of1$S`)>+8AF>Y8e06EMzgb)6OyJ~bC!&r|7 zE@C>iEh5m~nKjr4w;ZO~GktOnbqD8T#Tz9O_H$oh{1VPDq9&`FuhG|8)qIZULFPzc z_-BI+L%)^`n>~xOI*zX}5o>r{=GOt_g(`pP^D*8BN&(d#oe%kHpx7bv%NZx1Kjd^= zeoc`1#bIjj1NJ4E8oWt9++=I8Q6E^EGIiqDEbkkZ`ZbIC23H75O-yIE8QsN|0rMlj z`EY{o!36h*{yd(v*~t5gk$RI6bsfgqecYp8_nZHwMtDB1U&Zr9aMjdD?@d*7Al5y6 z%*`g^DqX4-Wnwc|)OS%HtDcbh`2lHH`Wd?bXDWbofYQ$$koN#>^)n;4Q$cWl4we*1BeD43FrNEO?Kfa2fer7g}>P6 z(>masp!64_)DcxS7dK=Z^)t1Duy2qku929q6^$~UjW5z|%ZPP0-v;ne`RQGVwO=3s zP<*>XJ|TP$&%_|>Pmje~(*jRPJ=cI&5s1;a{0+$e1@uM1a<~}s6@c#|SwGi4WVf%! z>nF!+);&7a+n2(}%q}*^IEyRCIEpj0-Eb^G*4*iu z&nljWW8$;8BRMl^JVt?${0$7#EVpU6y%0TSWIT4^qs;j2EF1$pPb6QWhx^`w1Dj`Q zx24%IUpAagMi*)`dvxmQc+YUWZglR7yqm_aU^tif6z8`yHremiVma;_)gFEY`6ocFZ{^zarVTe9r=FIq9JRb^ z)jG9shc)fb<)EcN3|;z(&wTMYJ>;9=LhdggtW zUdS&4{{)m?b529w0|e~zB#l=|eU9(Iag$vXZ7-G>+WhDggPCSSJnobuoFT!X&9^kP z+2zspTZ8W~jXSYhA3C(@2hRhOxc_$U-Ogj3BduI)!k)x0;AXC?Pv>6PWF5T8a@AUE zFvMZudf${8QA>xX&(7)M=q9wM1~&I{J`M{qG_09nX2CJ8yV6|etmZ4iFJ``rSzJP* zqZ9sshB)8S5a)3?hjM&ml5!F1{wej_0Ntr}-@gnpFbq)ot%O_ywC%?;JFp+0A_t_l ze&P4x18I4DvwXP8^7xUXo%M3Gv)f^hc3$_|qn+2h=*Mq!#nI?jVD^14gT03=j=M zFrfJFg-oFX_oLf8-O;_(6>L<=B&?yu%2y(TnF3^D8223OrgW( z`^vAX95vI~ouEtDs`>JmsPH&`J+c}=Ru6%P_1q7o{#w9C=`ZYbw-yD&0g7)TWD0H1 zafIaaDfzQ;>As?RVfp-uz**;@@aK&7{fX-!(T06g@0w?>#!dPpiiq-a``ZV%b_yv~n6ycpt zypQ5p1bHd2A|#&THuhzY9SdA`Z!l)84_; z4)u0C8}Lq*U$;WO9oQKX&(ZShuy`t0&;mA`En>L#0iFmA_WKXvU8)?iRVWL96QDrp zIPeG3fwF*qjN{6>3tNEF4{MYC{$jjK^}F*SF9eo`y#J5rNsWnR4F44|G~4grfp;nX zPeFbbcs}I)ZR@QnXQBF$n}0~cTqI#GJlgt=Fdl2fI$}|I|0T<_Z*?#qxyD!oivS#{1}vGSt}b zZNxj2-rt4%8SoXL+84(elDlTx!-$WP^J%3Yny+Cgaef8e9)R7PH~Hh7HSoz~H)p^8 zimttcqpl_PY{owy2}|Og>zXcF0&YE%1rt`2%R|B2f()feIM>3(O7!;kkg+woQ5-2wbe@m&o08sG*% z>E(XN6n^+gw#x_pC!b0$)fLMt&!`YPiii`l#uZ{Jh-o2dB5$AvQfMFT7GGIL1)Q`(n{BpVKO7lg;A?#G~4g$aT0g z4x|B!M=oRv#rD2;lg+1H9dJUk!Lz0BEpSSN22NCK36iaoo?L4_-J@y z7{|Lg20D9t1flvbCI1HSD*`_%zi&eR7WfHJ{Cl1y`5(%W?OpA?N49$*{c=jJe#qFQ zvs(QfCLXYtOFzAf2j%Pem{nU7VT27k89rulH(P4u@Jv{A&A>XH5r^&jaGa)e;E-~1 zRBzWLqm+u@9OLf{Hq>#EV>9EUU=e5)9P^yZhZ`e3J)FZuf*QV&>Dd6jsvX}Bc_;8U zI}Owx)o*Wqyq1}@3S*|~w&RQpaL&-4u}q$dKSpS=MLT_# zY@u&v+ImMS){IRw3??5&)iM=jLfKntvE#49`-|{?($D>n9|v9ls0`3T+ozDf19rbJ z^|I$f`P}u&k>y*Br{YTf#n3{XH;Jm^kZCa|A7azYlSgYiV7JO;MZ6;xVm4>SS+B4+ zz2@8AWK&eYQ;eS(4hT9(Uqfh*NyjNulZ^%ooG<-R>Z|zNV0l^qc?GZ%Q2II>GKHg; zr!(jpswls~^3=>=o>G*jx6!+T=1yV5WIIEnVe9`V8Gj?*ujC@*^%Ip}nOVX3TlG~o2NSFbm|*SKUt-#;h(FRAV&?PC6#2H1ejXarsFJ~$UGCRsXs-jXLO^|LtsP$j z-WNc+D8Ba~e+hg8sQA1!lHrV0SuT1$d3gC~GtO#_6nF7{V_(uGyvbjRru!$ZZ7>Rq zE=Ff_01p@eGm0GYvQbQ|36H^vf??FZ@sr?T*$P)`(R{y1y)3qQ5YLMsUk+>n6wl4} z@0C8(GgL3Coo*!=)Xa@mt7a&d;aA3vx7mI##rrd4YQY_Viq{XBf{IT)j~Z|OVL7tR zN=3^r#yT=zn(TOI*zcuyS3y1tI1f382r#@5OCSJFX7|S0M2R+8yssJWRq_4|*}M?80{|7T7czyTw+kWTP1P_& zmCdpvy$F#4+C(ED*AtuVcuVkJAKpv(uoUug;B-4KYQrD>BmKA>-XF> zigzbu3aZ~cR=hGlql!ikbrw;yRhm&n(NfV2=rWxxcpsWdQ7*&QW4;R{0xG^_$Q1h6 z=YHG9*IFAwSF@tZX4~}v-rWoUE+_lTwAS14F2;LRyyru{4A=yycsE0)Q2%E8`VGb# zEKPIlNH-u-KpSslv?{pBuh z?o&16R81RgU=<1bbawn@c)w}~E`z)oxE@gP-w2t)(aY6Q;tvik!+n`HgYlX%9%dYf zL5oU1-ml^h+kmtK34n^fGvq%Pf5?()y9~r@wIWmI!(zm<7GF_&SOfV|;7UO8xEeBr zO#A*q+j6H`lk8yjFR-)!N@PEPqr}1N*P85joAF+i|Gz*sE``q|K*bvlnL^wA4_WV5 zU65*6s5vQGK9rW-FGtjXmJ7?#;yANbX36xRToD z@M_+++be`~1X0{^v0TPmg7+5M@h*Z~1*`&8y4OIau;cFb>v=F<)rbzT8_@-tv49#D z*@#xz@ipLmMR*^j^G(R_0UrV?zKv+he zz;r;xHw!X_w*7BNc{-){|6~8C#3l8*1MgMkX&>YlfmZ<)@0*Y*9DV=jh**!gf26r( zyn&6u_G1X-DZq3<#aj)TLfiHW4iy*Y!1wZkY+SI%0}bZdD%%blDo|Y6k7R3TAP@mK z=3)e+f5EjPOpSRs*Rf6+X(d|c;GBGc>2o_`5K9)vHIH$+jIYWg`86Vb)xP}?a`Y8w z-vBjFJ_+(Ppe?_~8FC(UB+rTP2H8q9`0Mg{D`94>Hx2*es|JD-rV|hWc(Lg4 zlD@;xCQ=IE29PJGV;#6lv^&rlhmsQGa(D`h$JyhA{#eT5osG^(k-C}T$Po$qT$d&> zX7DhWior?ic|xi9s0+9AA8Ane{}|+_fJQ*&!&{IksPjqczEm&)xcyvOxw?8jZ4E^g zojla3HR-2oQOG@lJ-tPGzeJqAF2Y3eY~-;oLdIW*_pAKf1Nm9t1wh5$ z44FdP{0+vh%3mq=F^Ndgc=)2s0Ng`~$5y7*;_`4jN}L-D<_3pZ4iMC)8L2FV1R3gW zKDnEMe8xg90j2_q&kV>EexDCYQ$I1O%k7;*c`*_F$wW=dLjy;<$38p#c%MrD!;qf< zo(5EW&q4lU@sZIvQGBCvvqgkswOwp1IpKwCYOTbM&sQ6aFAH*CU;v=v8x8r7$0xn+ z74?U;MBoB?D3D!x9D|8RUFwmhNa@wm&KhUH;##W_Pia!?_=`iEJ11maMBsL7JW;r0m=|)&2jBDY=S#S*^Z5NeAOFl)L zgM4N{UIZ)y6rZyp|1mzuKdGf*P!P3GQb{|o@Cibu70xq^G`S^GWX!REL;ionZ#Ps$BK}k0F*wNyyC*P%=JSjAvsL`fD*brBS~qBh+yZ4CLy}L+Ge^@C9lerzx<=~h0{L)Dbv?>jfinBANH~g7cO~m z?8%`CPUFxJhL&-i@XC37u;|>IZ640+gXfpxA*TT8fa1{&GKIG1n1Vd)@kLZ_FHvZV zwfzPXmT&KX=O)VZR^dHPyodCEKI9F+MnJ_=3;Edbh<0A|Fe;)~DWXi6U`ExbvEw;_ z_o#UO4fzY;zkrJ8JIKEq&tb8&gv5gUu;VG(60G+nkf#Hu04kojkSVl1FB8<8-R?yd z6^J3}6zxiL3h7NGN6YOb^|k}=QR#UE@;=}hK*h5kGKHh(PiVWABeG~5+;NU0&2>_( z3G`>j7k@)AUHu^!0V4qw-xSCcjy29(RyqH)iUo4e-95WC--=EZ30~ z9mu*&nDuHs@2Pc`>8?XOs$Jg)`8nW4K=Jqog+cOwO_)R#KYtpxIZ5N!%MPZ!m#H|3Q0cUtdg#FCa zojBvuhX&L6bQw5@_oo)NE?M$Bg!onYN%#xSxd3T^njaIlD*W7bT(G6Ej((*D>uF|I z^@>HRFw4vf{*shPvwdjsGnlN@@o|k#!%QdKO}Mzja6275vWL!GFi>ZparR=cXJ)zb zqHu+(_2+D(w^iuqAESQX&%(d+N4TO)O*@kpFqbhvH!RC^Sba=PohbMMGM!CGgGy)k z%{a#dbOuy9`#>H5w5_iP+F1t(NvB)jVHhS+9jOhKtJ05*2!sw$T`+X*f>b+R)e8@oHOx@uon|0I~oT zZ#LxLiC5N%etqmFUPZ0?n0jlRruE{nGU^sP-nDqIYR5K1z7g08sCaLKOrh<(FJv7t zSSV?Mjgnh(1`eNXXV+j=8o;XbFnd)R=k?R2o?Gx<6|buf>t#R!pyEw}OyQ{Oh)2X4 zS5k?==yc4UwzETs8PINK@?;D8(=IaJ#dxoZ_j1Tr1J?m6-WwoO_(SOpZ7@Z;XHBAO z6RS02HC>zN9MX-#$e?)dA-rG3@A@m!4I}_6{v^mE9Bn;5nC>HDABXg(iS%EF^aI*5 zBif#z)!Okd#`{(L=R@8AYy?#Nn;=s-*1Bi0-lyXGH{?%&FYGv|O+0G;o^p6B1<-4OW)ui=_$ad9UwCWq{gWZj08Rx|dgel= zaIEy?_wDz)>8ZEltHb+LdLD%QFtFE-2k7F=ZQN5ykS98dR7BVK4)Np_1P!MyEa)-F+8*t+NX0nTGUCG`hIldiRJz8lm*X zV)G7$qu8Z-qID(LPqhj?l3znlnVwqk&9u|=AmnF(7XXzHA48^)`K8qVp|Af?J}jsl zQNE0hw!{7RXZ&R{jGyzeNXTQlwwHD1lR?#oUAz>STF$_L%IEKnUu!)L%%8=mYKT;P zO}6A&czdus&V{@XSPCefHIOO9@0R?Ooq*rbJ3LD+B5NLK%jqiE>-xFcyI4Q;@n|g3 zn*dCI!ypSf^GqCQ_QHaY-LGpocD=XbrSk9@zD^ip zbcvuw_7u%H1*_CNT{bsmcD%*ggZelf@><{=K*f7LWD3V<-`l4!rD7#)#0!lay?4Wl zbM5pa9@S2K51HSA^Im}B;ekxysO{hHu!t*}ht|GSwDxbIwFfku1#aDeZMJ#LKs;(Z zx&ZQNKqa7foC}#k+wt7o`HL#&R+X<1ys7qAX8|Y&nqfcWv{HPUNwB(l+h#l73BA!9IZ;m z&RKD#M|(%Vm}#BUU|A@_7=ZZ}-Z2jAH4(asUJK;g>BRe0d-pu#cY*f-6~DDp{z+zw ztanWtWqWr-{A+MPx3qdb&HG@Q;0l-_fN6qFuuyO{4m|$4Q z=Y+k)95G?Z`ZN!0RLhmv*}RD3bnGt1Ut@e5vm0lmzooC_yBK^F-vv)=&-MrZ=)02l#+DG?)$@lfSWpeBlnR`Lt6Z_7d-nKBWG8)p_}7)EAw_8A9ydfQ z*Na-Ycl0+n?}`)WUbyYjrpiUkUVJ20=LTTEEe~x9YzRlsuq@AWXjDdE^b*0`pE2)O z4BG_Jd2tzDdxD|Z^HXk{red5C&1@+oTU4<^IfUgd8%|my%p5`MIg!uZ3nY!8^*Kt`wQ<1 z)`Llq%YX_%rSC$>6h5-oPiyUY{}J(&t|_mggf_6-jK>*kV2@xKm9nhH!v0(af1kla zIeOAk9&RSF^DGoS@gH9QE%mmUyt4_pW{{n3#2Y}oVmttO^e(q{5}lKtx$O-xD-B;ht1FNQ-5i^rSssX!+nJl+wXgJ%SQ zL;mqmN?YoQ#9wLPS}^{2v+lr8fnic_zQ0MmklwN&4**63s-B(BP}I(4PpLSg0`3iD8NOSV;Yb?zy`!(3&}U+|3GRv5?K4vOl)OIqF+8%jI~NRQ z!30cyJ(Y$YD`88$8!nhgUcTXy=MHcPApeNxUdT@XPXiQ)>tEX3SEGELw{AlD%F|Gw z7p+=smusp@9_?YnBmNK{0sH;FyMyDeZjgHeg@7tQgCSFBd;ao>cvQLe)zZpHY6K-5 z*V7(_l{F1nZYUQZBV@WZ;JvDy+zR65_FZ^~zNv z#*W15HHU-5N$6qgS=Buv%iqVUkbN;P8GCt_6`?1axO767@-Vnpw|FN9V2*-|G>qa=?&eXzXshCB(F3Md{mkSVm+j?cH_E}ajv znna+6ji5!Mv*^Q19~0?g@_Cd;wYqiiuAI3Gy)(k8gBl$LgPa*h_-u?yoN8ndL@f~un&DZw3725C2hu5jf6(ukmvt+Go z{^P2iq?0~gfILw3t0boTb=+DFGVNy#uv|{Jk!sMUU>r|!n7osZTe_}u-Jo$)gfp(I z8J^~dh6R6z=|~Xlzme>7$J*r|ywv*F7RXzH+W^IT7i0=;*S{#gSFT&Rs$%(w$`#aO zM&%C7acT$kleH;HSP2n_N%{nLIBMXW`!i1UA&3%q^9&KX0*Lkot zn8!z^TRuHJDh?OxBE!Q?_w+oo2NV5TDsK>bhc)A+p6bC%_3O_WjWyOd^G&heb>5qBVL4B(BDdt%{Xi}3MJf(qqyLP;}_Xq32I>$kF4f-y#`v&3Na3TaO3GC6d8P1@6{k&iU-FBXf>RPmW5KIQlF8!5}r z^Fsb*==WP?91B8zE&q7>5#NNqTK=0E;@@~_NPSTMmGeTj%|I2-;U}}_oxC^u5$8S7 zI)1}ow>nba&W+otl(4~8wv}%7^W{$Q?cjxX;5b~8QS5W^u~zT+_()u%92h;anYo{2 zxYcZ>?`9|elMS?T-My`FRJLSTOyZ98n3JtUzQi*1bVo1U93PL#y&l1NoRy}h(MCDy zWtubHla`P^GczTI_jJa)@f%lqR60!Fe1+yPjJv!RCb^d7;PKeLpubJm)0}DHhA%qK zNNoMtNbi*vk=7$o@8ULHv1dBAbH{DeDlIThXG!S7cXA__|H@&KY$1P~IdZI5nfbi| z1FK)^EEX#z_@}mN47Z+RoUDhc2KNhR$a22}WlPO#AA$S|@Ft+jeG6m?(e}7*&pUE_ zLPcv)<;aS8s~1hIST%BDDYe7(?0-!3PMPA#|2raW@{0(@&(#y+`-vr(PRQw-9rqF);V_;xlO*wUr zQDtN2Qai9fy8yeg!c;7^1*2>?4_etNGQPqGgX@IjAuk3l22?xn2IPal2HVer)3(pF ztD#Qtp!`_AWW~hF6=zmdSJEMVN_sQ9LN2nMCDzy`h|g47Y5PDQ^*lT21=j0%Hu42_ zD|?(cy4`}W-0Ca$6DG%<)8W>j zM@{o)!+DEgK5Y(qhU6H?&(UCHA2(hS$1q13eX!f+fHS6E?kpj>9k(*96gZjb7=$K0 zhKXibtC=nJQoJXqmomtw17`p#AJ#*r@a|=@J>2touzY4_ja*W`tO71P)m;bDNfUd8 zi7D)*c#tA~=Gp^DaE3L+TA&x1BdO|~YD~wm8%$(f^7WcFSMq5_d}WA_`nPW(`yax- zC!q4F4DxBfj&R9mt!>YvkcTQx=*x7b0)^!C*xyc9*?ji^I8Rs3YeB$_UuwGru;(TpL5=O8%B`6C2Eo zcR5s#E6sSl9RlSty^Tmq3BIHBz606wF#1WLRsWDF6x}J)yCX$DsXPk%Q)nI5R94gC z0c>ACF6~z@*hHR0Zk0bAvcymQ#OE&gT^BNK{ek{L7#yTXW0=vHzC~M^9xNkx3p^Dr z!%Bjgz=W_0zX1nEVF2f;%rFvk1B=HPFzEsq?Uj1Z4DZk5@tqIfVG6_+B)V`tI~QxR z@tEP8&LVS=X_`Y~D`H^W!gQn{MHBeFjNiuiZ;W4R@QDnLao{F19QO+sNxd9Gx@(Yb z(o4Z3@LvjS1XMZ5e-t)YfL&AT@UL*+e3N``{4A&+auK((avA1x-C=xLNVM)UehIZ( zq(J-E(^f258@eE)euf9HR^_JEnm_8BOjc{&#Kq$>CLXuQFZcSzPkZF==87L)mcN>@ z$@DpVwo;}FE<7jO!0RKo8swWO)-nQ zndStRs25PwwJ^YBXP3W zB}-!PS9U?g>L5p%d&Ck&>0v`WP2hYc$2t;l zqo6zLZGZD5|I+Z2J<*;~IHTZTPV)SK;h@O^EWA@+p5*Q6$@H2L{UZ8dpQ|fWnygO> zbKJtvE_%@}-ix21)su~zIUEb}X2$Pl{C3Xg!|`BOY?_TQO02VC==2KaUlv`61)jvH z(Xn&Td?Y8F6g$Imbj2U%`w@hO7rIK<<>3S7XtgtSTLza|`k9JlKkY;dL?oNUL#t z?flJRHIB97^A;u^G2$~td@d26H_2b{-z>_k@4~eP3;E+r=K){3@fb@U0ed9LyzehY z_(iy)pXKzpQ#^y=Z8Xml3+JTpYi;>>Z)ZFP%yHqv%tF_&a3@yZ5_zs^!r*HsbnnSs z$44bQt`p;crLbBvkgw;kYchZ(!+y{zoJGE#>oct#%7i{z@yVMI9vV!4AH>rIpg6|7>9V z+yb9=;xSQte(w+uI1ffa`9Nq zkLInv=VacMJnZ@XS*DezKhC?q&iy?fVm>4A0Q(UhG14Dk>3?UKP&~}iA7Y-}IMa$` zzs8JN)P_xggN+hLt~;4k8IN=RHiyNNL(Fv(gP|BwPh%L*#cMF3NQW)&boAl&igMjG zQePXO3)OCIf&3V-4^aKLZy(-*P`6F$X-`Q1P35dqY(Jy2%LmEt@Hrxq{5ZFWGwGEuE+s~Si;QO(e~j~sIfG}y4;b6d*)80f@9-Lvx4|0om;* z@F*+QIn;o)ahD&BZ5KF(P2^{>3bvFj4C{{B_V9$ub@T5mAiN7xVorij?B`9sg|Y6i zjMW|EJwD2FCo^KGOpDO6L#8M2RInZF33&!E8&K)l0hvOTJ+3TH3Z|!g#mY70&X>$V zz3sS%94KEQ%|Y##k2|^e@@e^4K{ld3)*ta{Qwrdo!)tZQFkw-tuQ!5s_K%JnhH1N( zkBJM9KLtzvraLj!m6nv6V#H(E@hmq+Sl9B&*r#)26>hqtf5fwVe0nLkP31R;!xI?A z{F6a9|KPB3>v(`WyYQXZ$5I6|_g-dx4;uz-5CE8WAs9nH_7Y7loKx7@!4SW zsY85fetRF}*MYYI#V6(&$*2AK?a0dI<(Oc@fpZZTY`Ir#J!ZhtIuFe?- z?w9&313&6qsh+Qdd?By_Q2cL!OrgE~1YEg1ECIMf2+up@*k#Hlv|=CYmvGph>}9|Y zGVVM?;&A9_!!(6Yuno)@&U%LU8PDA<`5Z!g0mMgq__JtZ02e@k+Mf3JPfDtnR8}up zwQhQaINl={hdp56(f$G;6xr`D!MjxbKMnFKU@f51doE-O?eAk85s%n|GkoKbM@fio zg?5V`%Q1djr1V^G$J>baDm{M)`3vA{K*jq5WD4!+dEUA<@!ESgQN9wyn-C#X&9rS8 z*=gDta_6S#?^2&djluG{5b_FOC7|NH9x{cG?EBv8UMkg>BjQ~tuec1i^^6>eD>jPQvv-fGY?Fp_+9LWzGdqk?1J;X&hjFIKAg=1TQX8Uq7P{8OyTNaLU znbuH@aIs?nAfBlPTHKS3E+%Z%J}CLEMf?E}pz^o@^5wuLo71t%W5vSOojfXq7pa}R z7W=&i@D5cDKY{#T;5$I2`zOd0j#duE`|Z*<7NvmNu4&qOV;b4ILHks)$Ik!#!E!el z@~J>MpyF8wnZnV^9pY)fv~3V}MC{Urb$C0zdc05N=M#`$0p0{ue1{;5`0V|;w)u(p zXnU4&u?|ztt#q`&LEEw)>z8uu4X5LLO)4L2oCLF(;x5-{_*}=rpQb_MTA%rAA2tD+ml+dGqCPE;gB_^R+qatF1h^WY_L~K}q ztYt;kf*oCySQpDmR$UhrC9=1$%t#Pa_po_Eg+=Faa-pEKv20e>avW{_IH z{1yDGpxZu>?Pa_?pys-2UGe&MmwouyF2^v9f%#ODR2hGqt5PA{C? zXOg!@C{1#q!r}{f8{;+9DnHh7%~u}`l}6`xbokYgn_! zOL>mi&x%2kqI$KJ#WTUfzH=G_ZRAM{@nx6yl0R=7$8;baHv*D%;*VkHQ# zEB;sR*~EB``zl=Rf_0*a(kwt}W*CJSu)O+z817>#z_COhDwvjMW%)Lv>?-k{`u$e$ zuYk1I{pEW(_ecgMu(^n|$*HZ@H_mMqYqh3} z&!3ri6pGJY;+h-ei{|bZ(I+EhyHL5tQIDUu1D_vg|il z>YMBwQM!Xfv7f1Z$`gX1*x{00QZbI-h#izpj`aM zW1a9O-H2;RF-}@RR=>*)T!+5VC~7g%HX5-lPz0u3Yb0D}nE%wh&fp>0ZyMP5M`Pdr z4jkf(9Fd>1!cBb84cyz#20Dd>Se-E%yA6H`n(_qb3t*KrfM1HunAzL-A2Z@RuM?%En9*4K2VqVTGZC!n~npqMr84 zddfbC7$zujs;BwjF92NuQvKj>;6DMi-Y4s6b((xS&z8^b_0-g`X3FwvxgzW8BXpQr zyC^5WvAO|D#wiOI;!;XfB!ZFdmcdAWFgH>Z(q0=ewH?7Vp)u@MxArg}=n3M%UIRA? zx_KTSW31$^^bF^D?qpsTp2^oUI2}w(NjGj}#xOT#NCO9Ct~mIu4hxOo<{2ZWnr>2+ zYR_}yBK|C6|7O_W?_~UD98J^j?R-Rg(_WY5QPS?8S7w1<2)Yua%Hw13zksf@_599W zt>W+32khHugEOsqeqF-?zY29i`O5y(b~}uUo-NUoOvY*B3Lj1I0C!$T^AJWZBH*z$ug@|kTcg{z1*kZ+p z;~(#`z%mcKJ9R-m_8CfzO~IBL{|Y;fw`6%$zTrRDzX<$#(DfiSU)>L$(q`L^BXE5L zUn5)ZtQv^&xhdaC4!~=sPzmklaC%LF?!vT^u_Z5Z4uB@c?FiDR>o`d#H6*Umn@DRS zO3Cj?TqlvQnnz>a#2yD!3R1Y5z*E{1E8FoNEwDXz$Awlsvwi^%(@=#N)&DM44ryZa z9w9!%)TalK*IC+eJss*%C+u;Y&O|E%YNl0Io;B1u$C-`oD+J*Qx&w}1X%4p@?g-bz zUBENR2!(#-9;R<)Ryww=V_X^TK{PC5U_K<}Y6or~zEgkwmgIR0YkZKBD-=AXp6vsA zkZa`p^HE#N6F?RF2Z922_ZXsBLVUDenHLPWASqECR~PVkPm;rj+s`40n6sr6P_uN5q?ey4SvcPtfl3N#qC>NiPCgMD0_>-V8^{UiEL zm-dn&&wiqO8CZUV;Isy+pv8QMwSfgCIFpUD^e{)TCsvO&P0y9^#fB9NucA?AHUEiY zZMC1tIuv;RA?tAq@TvBBFZjnmdqE2StKcd1wC}B2Sy#KjKI*Ql!l81w9b)K+eg~qx zz;?&9qOBpW5JRlWs}L|!z6|dx{Yd5?{f>W}>j!=oXbwo_e>-?eTkJUPJHGJm8^pRt zb=l?Ee9K{u!s{n6#25MLcm`w65gp6ddl4a{_zG8{Zo0DELZeZ}5mD%M#vf%+&`q>Z9U^=M z@V0zn_kZA5)1AfwHkMu;xSQtMsE`{%To^R1#2+W1~_WqLs*(~7LJw&(yI6% zGs--ZLZfLUpGRd_!QW@_Xv7gcjY1-oACdS=|L$KW&jf!iXaPv!zZ5*B8e1=xZR^RX z92MpX<#d^iu(oZ{|AeWY%I-x|I|?||5Y}LF&*ZbP*wIaQI3FB}SC$zU><*Us1W90RJ;cKjg=i1fEjK$Fkk3b1*sn`1`*fBgO#ODZIcAi>m#M zY3oHCYpFwxKnyAAmpqCW$ysL!FGsiX9hG=$ke?clHh_N^^f*YBQ_*`8&%Vf3fvaG> zeEvF~(UV6`8rxOX&5q-~U+DN`ocR0+=Og&iE)Po_bXamke=<_r>=?`k2c>V+Z-NSJfFImH|t6xj=ER!`_iU)=RPID;oSO>_DT#~erp@82pu4n9Ug zfxM7!H#iKDv8wnzr3~Mx9-jgK3g~r^Dz`7dQ=0qo zAFD@EYO*S2Xze39LTmrU2{S#kG$Mah4&%A1D#d{&zy9DWK=VLq9lP*D+{FOe zbEm}b3vLyEf8;Ltq;^T$^=jNdC06h9fDadeDMLN_KdP5Eu4t&9R#(>~Vvpf^(ZBKC zbiL@NDDk*aej6gbh+9U#&@WHWCJu2Xz~bG@oepP^;c*7Vpg|VH*guhH!Y;zW!ra+d z{*-%1VSk&zqphU$xS#=i3QVo9W!7~pLD5D#1%YTqv_%JK}GYd{|Esb~1Gt5;+Y_FK$W;p)m z8ZIkQPh$p8FdcWYShzYWiD2dKh+K_5c8FsWsbd^a%3MWj@NvcjJ|90b_Ji`4(bBIbu&M1%E@a4BLI)vsjuDQH%O!dMlxV25Mu4qldQ}e##Bexa_iUX;BI|RH)-Ta{CIE)rwh89nTFte+clCcnM zy4NzY;y%VNh1MCja%+2G_=L+rX<>>V3r7Nmdn!9a{?JNm9={lc{)MpXD+rdj)+1kq z>rU{yL63qIuKnPD6W7!g)s1umd?2z$0(Jw1{{I^0rP@&d8wy}yXaNCajv3=7Az zASyUYm0pR*ci6v=$OGRO)DJ|7>bhtDAsP{;ovVsSKJov1kiSRUfce7`FTh8=oli5~ zspQ@Y{(jIdkdpgV@FM+MeFWs^uac`omE0q%yBf}4Wv3XvtyNPR$5 zhgRydxAs|Y> zC*P!s(}a6p2#3E-w%=cYcPaUngTDxL8A!>u0lY}RAs^-A7j6^@cZY1umvil7Te_D; zy%qDiz*dZTI!wxW2>B>EJHh`4^qrme@5woN`e|~WP;!>q?=St>FXt@q^FcKrC1(@( z-;^q z5d0X>1dx(%CU}v4qaH;*zb4?#I5;}3l|p}H=f4H-SMvQC{G*^fcAmc{-}EUXPm}La zTfPqa{o1E~`J%vQfO0`fzG>ipPd<^4U%n=4sJ9!U8$M!cPuc>;iRr+e5W+wAvi{|b;Fd_PbL zNXdT=cuFe1?Wy`XIo^wWl>BWBOFZ)Yf>nLsC(Qv{b?sBTG-8}QOb?C1q(0u6?i`10 zeu^352nh>G5Khmgjq&%&WBRmNr95 zUTMGI_nE&uvcL}j4F;+5m<3*>-)Qe5A5|XBY!1u40Q zfd4(Yk&j>MQ-`saY@tt?i|BnFcK*$Hzmjh&_}f8u+Ijx2d?QDmF5)36VyFH7BY2mZ zkF+Dm3)BmwgSGxQKthx!I8m1Fw^l_ z9+MePm*pMAi?i_$8L=5dTyC#*GYdC;8O5QNY4tH3(=&=3y&O@(U}mR|6Cgw>mS|y5 zoh;=`{=zR`0r8-*ASK_~;3>7+{ze^#{q2UNgKlued~w`f`4fX0HV!oOTxu`haqV)) zJZ#w(IDp=5hFM`t`qR*#hsY1H{33oe9K19wRpQt|c_SZcH+#Xq3OWc7n1XPKqB7XoF?&^Bd+m3tNyASSNK+f-vqh^r0~50p3)xMZz|fp z_mld)tUrmclij5sW2}=EiO&JzGmq{Z{96A2echd6#2Oxl(`g0}0{S@nI&^0U5XT{e zv&oB%e!;~deO$;i4>!c#ixV>bFDli_9EmsjEB|=e7yNM0Xpq9Y1iVPUHV;l}TvWE; zlzs9RF;rb47e-H+Sa}8RlY3eiVb4q*avtfP$HNu`Z6G;M;@gA#vjKqW`vCZ#K>TYz zzH`A-QhMj;d@dW3Ec+TnJInWx`uWx_HRn*i6 z^E)_fw0Cogt%Cnxz9}>v1%P}OeN6C z|7snh>+Y`810R>kZ&BiRWyi!${$roEC8)2FV0mEuVA@m!Uv(csbo%Tck2ME+-bH+& zvk1XEEGUSF@!_yO`2r`-&ePb#Opo?Pj}B(^;%>d&M_ z^$pfxPBnff&h&!^!u~%vNc=#L9ffuYZJwLOIFoyoU}V}Xzs5UFeC_&I^|em?zxWmc zC=>WqoL93KnNg!Zz^rPsl{qIl#Ff&b-L?;xa7UR+lF;kn>K~kmIX7;It*g z3JD1@@e?L4CHavV7j_wk0eNMq#9aYg3ilH54WN}Eh5KUglzKY9%+3Y+abt3Xqdnk; z<8EW8)`xv4Vp`Y>GNi^E=|c00fQc%SMIAA$b@bPS~O(~ish4)u86Z085F6Y0MO zyUQ!d!XSDIBB|@oFl|9^oXN+*D>y_ClJPU3P|m_o&@xiWTZZ>5dFOy%0;&h8{F}j3 zTJWT7cSr3w?6RKh{OPO|^5PWW8ENu0>lai*r@ohK^?61ws~1j`_1E*Wf4r2WL$nj^F8^O(ziLA2cSc72mM_E|<@>=AGjEDR}0? zYOPwVUZA;u(-K7%*qJK+^O$mu3c>8PFA&xMebzDyVyN!C#%@SChTPWcCoX=qazB#(;{NS zGa?eg&4>-;Cig!3mYwqZ;E0`Fe-yWi6>IC*C})&CDMs+3q9N9xm4Oajx0===7V<3f zAzp3o*z~CAXkTnGK6!My4?+Dbx6=iG5Gyk0bLRSjjr@dFeaa#~VaXrj3WvgAi-jA- zZ?KB}Y{JW|-yYVVXMT;)>p|b>g~#=@Z}iyXh=!5&m7egmZvI;zIn#>vr3?s9=I7l^ zey`-;b-P*EZzK*0@Ru7*{N)X1;U+Wf1~Yb(iNCzwOxR!sUuE{i?2*$8#ygP_ITfW7 zM#P2bIJH8EL9$GKfC<<`f{tzT;2Qt;zEl>v(l0$%l29SUw=PY3;tTrMv&?! zw}Yqjo8!XhrF9~*Pb!<=Ys!Z`Obzz0gZP4jIZk<<9a*a zHoUh4FQ)o?9{gLNFF~sQLQW!{EvWo4Ili{PD4%&f)t@agmiw28b^cbdh40kQv1_Vu zC#!5@;dV`JwpCWjyglX{s(2TaJz3TS0q3N{$b~{~NT!w9k!gzx?ZZk^`2-3&u6nA^a_m>cst0Vl%J{ z4{CNzwlHVzWQ+a6wCXv~KKUKL(taXgcJVXsK$=GLv(ME!gxbq5cm(RS*^w2|yGW{Q86A<{E5xF=LaqyNBL}>Z zM9&h{q!rAR@+JS^Z*Tp>5?A%&I?_l_?sNnP|Teq(wn^SZ&IX}NTkJGeF!h>)`!|>OL_JHYmME14ubCh zeGgLd6#nSehJp5nN&HHlqdnD&kjHL#t^8BAjk8u50B;iw?`hTW#_wb`{&v^?8|_ZD z!Ni>;-A8=<-+2u+zc)#`dzf(xf_(rm({iFi3ShrRSbK?+ZTca~^+|^JzUMDCOvWu~#ek2oD)e6EzI9$1w;SAo9; zv;(B%c?tX*piXkZ8RtZfn+&P0dAURwYEx$JNp+u?!n+Ef#!h} z?p5Hg0Ijy;JilPueMAS?yLav97Obcz$j$7KPzB8+HFf-@g!)1Ox@ad$!1`YM40`l< z9`4KhpFZ_xz33-BVJ%#d6R3gY!x#|`trLmA5P*vi2;^+wEjUl&Z3h-r&YyzUG>>M2 z7&yY52%eI{8@LY>abPB5h(pMN3FU-zAG=f-qFg0yQ$od;A{qqWNL?bZOCDhb(j~3&xg2p)QZnuhfzEy^uys=O%ZxtoN=}_2Eh+P zVS}1uO~E~Cp++=a+{F{ELXJUcEVj1&`FD(8rn6-!!FjbXtqg(lsMG3?CxU^Sk+|y% zKf1{x3VoqZFdGHM)5Efl}V4a$T`is&(QILzi_z-(YI(Y#e$>9yT)3k$plYpeQba z0=JZp3NdvNUU#Zd4Jk6%8kjHkHT#KSN=vSnI7{&wg>x48M$l@I!nqYZrPa25^vSPf zy;6M!;#7KvPIf>p2vWEz!T%v#lVILf zJHM(?Xq0{%VA~%6Sa5;F*M|JnKIkRz?}9!6DSSu4Q!4wjthdU5a~BcXol0%gnhDDn zRIjE|>qJac(Zp6z6GM4%t(B8U5n5T6UgGXgs@OdK5>5ieP}Y2*#8HA^Ov%WH>Tf3a z^Fb>?3dglhltxB87vL<$@T9diZ_$lxu*LxUzG%*_e}A1UGITQR}p_LB>H<3vZW9w|d(4}kl$46!JmQSS)<2Kf$$E^}Yaxr4E3N05Eb>@j1k0?lWjO zuaGmC?{d4|9sd3?5&Zd}tsu1?_y_p!L5GTEeRoE;3YZst2tYA*RDgDz%<6q5QQ0M0>QFyRk$LOzPbmz(659rBU)40ci{^`?N9uw4(RefasazEu6IDlV9^ zChii95l)}C6tWLAMuj4VGDe5-8`+%8*_6vzToXhrl{H;u+|B5!(7nRLrOB@1?YgMq zICO!I>uveno-V)T@!%JLR)UoLkAZ&`lx@c;dguk&54HrXhpPg`Zr87{4(hBOI$QA= zAwEM6BF~e03!3@Nzp#m-&BIS&JA%Nj!yZGl=M=O{ua{bMI4n8lW;iofvXFyp=BsSt zD=h9wHk9KO*c=gV77Qvx98+q$pK-)je}Wu(-ebJgK2mHk`AjwuEgBhUzD-ijWRJg| z`+z?KG!LZYya)U~P+p6auYQw!?m4ynQVpZQqH;ghMSXrR9}~ovTv?s}H9Rk{ps$$6 z3`+IH2ZiFg-7#*Qt|QJ$A}*2Bal9JN|ASr&v+8gbuaCS73$*??U<<=f>{k92yOW!3 zJR!rpOgXT&az_f}eVZ90u=#r10G2`&$Kfw8aP)PlIj@m+S}EjLT~ zql5hN4+1{{G#RAE-*drJa{egW_x{i1lh!9)?faB9KvzR=b|Cp>!^AAs_=k?w&vFu0 zOTJsmGqK&j|7{2M4$!{>K;GE(*9V%iX#+5%Ge?gvjvokIn#Hz$4Iw4MSuQf1jTt`&sDA&?wmh*RoE5`*X%Gjw4>IGmr)le*w&1@}ul z>yckF@*_OAfqxLx22yxl0#E5z@pO%~qV=4G#*+c^hz9f!(|$e$O}c^G6lCj}Cxc{l z*f^YFejK^r`+y2TlxXhjDL$5{mkDZ1Dq?yEqA5hPDb!l92+7m5 z{Jp^s28{qITrPX&%k9a#BdQ0f#9vcjcN-$F*W zWd$X>a>TMLDQZh(PR8?lla?#O_krL;C}?MNPqbyfv40{+%Mp^{SwtIP~S|m zP#>FO@pOoO)yjoihw4`eP9F^Y@(l`~6laO`+Hm8L*wh#NS>mchzRAd!+VK+b%Rvn` zmS1Zx2$4H(97?e_3ad9RtE2f3E_7%uI47~+yASUuv)}s~_v1F81njgs<~yeHdB zxA{Z~s;0XH8p1!9J!7+hd^4dVPI87@rLb2dU;Jbv$&==qjGIE-W-f|9BwE~#03Y&` zh$iVDPnsXGg4A!frfO!pbS;NF#vL5@CXa#ei4jtJ|}1XPOuBaaLd z&vw~Y@c5pP@|H*YP!z$-5rBkoTd}>!YT6b(g$RQdJ|H8!jr^V5(c|U~YLVdVF|CyfGTS+ z?uR(4U#M-z{SZ`U#dHhjRAnO4V&_|q_m)CHYUc~UUkGXjseEq$Pw7Mtc5tZgNmUJv zHC0Pzh=AS{Xb@4kDd6QJ^090ql$1yHL%Q}CL@{yU%GLArcbHj5;!ihjA`?+oBFduv zNm&jZ$WM(2--GWJ>(OFC3eQ0B0?+HRK056C2W>rbc~1V!<;%K*8X+**u{ayVm&}b~ zOxvJquTy*#m?MR-AcWUQz^IGc&6q>q#6o})QPWZp8yTk{_(JJviE}-0D825@;CF)_ z1u2}bf~S<-!@W%?x3Ls@l?L2qHlDh$I9h8H^W2{h(+p*X-rQ;SMw$5#eJn!%Gc)m@ zxI@H7p5!<`o)Yk7ph+M#58Mj=eo)X}S#HXneqv**z)9r?T(~uQ zehn!B##Jq=T`F$j+Q()JJ^l00(^IG2OD-J#HOio$Fc+shfoXAon5ZyWJ!HoHgq?o( zUru|(G@s<&lYEq5JSSlzjzS$y3M>f2<{>&gzBgb8Q>DjQ{dkpQn$u)nbCh8+50h~a zI-ZmAI^+H0b0YY@p#C6L{xiT+>S;aJSi7u#X*CU{@{T#wgW+3@ppg{#HdF+UJgVQ! zv^%UgxE>oiwozW4a~%PT5kcC+!`$A`FblnDqX>N~@@alv;%Y^{svrLu{F9((K?>Ig z;3>8BxE>%(`O|AJkakwnupo#R3xeyJ_C8KT)ch5KMNhopb{NhOI=mdrCs4tO_IT}~*R@X8`Fo=~&AmLbdw4JhdtP>|_47*Hth zRy*HTyjS&$z2IL5y#-SF{uex@lRe0fHb_@`OkT0nGL=Xv>K%F zZ3Ry$*^V>w!W*)`sPScTbyH40B4{)rPO*JT^j6?uvpjN+lwD;v*B)?WA`*rnZbNn& zsm>?_QbxdQD=au3iWUcHwsMV0{5~x1#RyaSvc%Z|9MQl*q$352ogl-3)svAJpWxJHE zoPUk@L>Av^KuI@=Mn=RXe@m8YNvgj+jRk);=vmb;;3s+H!iUocI(>`$3Em!ihQVk4}$*+bR48` zq@~&Y&W=y(O!cp?1rGbdPB;L)EPZ`8%EuOdjNF0x9mCe^sQ#Ku+vAqexJb|2+ep-t zjS!xRKvE|5%|66fWN`@B^)e405&QILzX^0JNa48~Jf)uFGb%i_jk9Z)E|_1{AT76xFtKOAdiw{xQCpY_zq1e{ zlUC<5)a`AUuRf6ZpTzssIGC2<(TYIhKx!O32YfY1wOgehKKiA<-OzZADGQ-yY_oUz z(q&~ht!kD0&ZA0KBUt1BkYj`!;Ib1U65TwDWkZplmtZC$S_QOn{DO!z2xxw8R%Q0N zj=6cO%?r_VrWzMf$z|hI#0@{2Yy@40g${;}PFs$Bz*vfMqIUm2_-{ZzgOnUmnI0_# zRAc+uDEpE9r`&U-K-2#3mXfH_N{yX@OK{dT(c`Mv| zeiJvX{M*?sX_1>JKyN$^`zsRrkA!_%#8iphv4 ziv3;;BRo4I%d+6ZYAw>=<&MfsGY7C?T#JL9HpB@N#N7!@r8e%Q zY>!q98Vypo7l2<5DzV#3v~6!R@n}!&UKn)Gs3Y7oQBsGH14UguJ*hf6*mnIeLx}a= zOgtQiyBblOtca(flH0wl+Cft}35C@1g_Nrmm@Dy}`uAS&Z-71msru4#J(>r!$F?t0^%eB% za&b~U*BNs!M}?LdyNq#TvNm~6|@0DdEAGf0j1_kyRi<0HBL+GFb>s981E z&0kW5<|G>$X+suoq{YGxCLY(xM#?Zqf_R;8t+$nnHKP^pnE_n|2FWHdeYPSyPGN@YOwnd=}fG?W9X*3pY_+6 zHV&E?>k>VdrjlCYYD&HVmuu11q9cAL~tH&8kN$E;x_)TSQHL`Cp9%pwL8Mhne7Q=BX z)R@}E2v`maTCsoY_7|F#d|Z~_K42?F`B4A(3jEI?y^kONXz(*ZhwO29i%0hVBi-=J zdEDh-kG>55>M)XKk<-Vx0P87=&bSjgJkfrt_44>XX*E4&5zeasc^PI8$> zd6*|8*bI&jLTC}(S7ZezgrpDS&J1U|BO^=?ruAX9v7c@v!e-`0x_=43c>;k*SS*yU z94fOAJ{Ajm2g{*$Q2JjfcN=6<^Uup9ALt(-)o#M_WxFZaAm!chuT%HietB)bk7oTv z{tIW#`X>DsA=zaX?v)*g1&561YIb|};pYdH>id`@(wT&QR;LFWA-V`OejP*Hee6vS zz-&Wq7J$3_q{LkVT&4I<^>r!ut)Oinh5Iq^ln!*$r>W^h;tp`YX=N9Q6=<#a?594d z<>NXQGAWIKQ93#RuJNk&^f&uc>n}G}b6hA0Zr}G3m)6%m&PIbD02&NZxTb=qbRQ)-qHw&?~U4L>iyA-~rD zNqjqyznb5k2mcx91W5JM>;jKA5L9E^8&pMDN-%j_#si_(^b#l>%Ap=^5BT~OG zP|O2^#AlnF6#A3K;b;A6u4ft9y2E&vYe$&e0Vy}1Z0tglouOEaxHqw^YgzVn%(0Q> zIR?9i8;!cl%%g%{MD|uW9F{5dGzLG7fZt*PjQ3G$`B}=j9x^!bo!ZA%@OOgl0jYY} z1)fs!{ZhV4JMM<)uPf^7ai>e8t(pigFUMY>*;t|tPr%iNy~rW<3?tTdnEyrQcM|VY z`2`nxvxFnLgJzZHoG{cq`w=|QD zZ#+)U@@P{JZ!#Rc3IMnOpfw+{RU$>)@~T9L1+uU+6D13dv!xSj=1>0}S* zX|T@jU$IQ#qai3Fbl$^fZ+`hfq9e2TmB zA>-=gItTKq)$TxEV=1q4Bh2o89d>@rcwZ@ANcH~^`2T=Tg4DP+cYsG*3Yu%*$IJ7-FF@y?$wJ6FIn)iyNJ&Do*)T{=yZ@=NHo2s0Cqd#G3IE@p-pgIoc2VF0WI6 zdFr>>w8q5LAENEynUT0AF){)w%%pr5@9V6zM&sVh2pIMy&6zr5==9pjLnqaa8#*=` zp%Yw|i|fqeG;txV>4__x+J9)j+LECIYcq#t)W#2utMv{Ijy@ZzHxsuE5hV!o>p}cs zTuul3YmZS#W9WT4JiUg(PHw6`6l&k8=1?ozyooudI)*~QH`O)NjZdia@EJVRi_egu z2uCo4%Bk5W+tCq}rD{k218)^${{T|;n*^RxPwUM_RnFwHK*fohM_75(6e<$LS-n@6 zZeR#b?aV`z2eEJ)#B0QHcxkB2zXtDD`CkD38qh|N%D)vnrPdzeq@7V$yWC&Rw9?%x zSGx7I(rq^2ck_~sApxhs#`)BT2Ep2OtKYAnB~0SzL_U?shuU4(K#w*SbOuP_Xa`T} zz^k%ol&CkNu|j_6QS?YvnJC#g{|)LdEw} zgw~-~1o>HS9BlKYF3~RN=^bRx!It)Y!nL`(@(`D#A zmS7z8Q2QNcH0n!5;@j$I0@Xdz*Zooa-My$sY#ZYV((juBxv(uNIxUwz@GV zAGTcQQFBXb*N>aRD!iBYyohYWFE^fMy&htb&%%!+vZ7afB(Cc03lo&wh=E=@L9lH$ z!_URtwmCS1&V_MJCXTZ*apD+ixS}ExWBQnBi8$hlhP@NqwDN4#cW;!%1d0t(M$^PE zj4yO#y5p%u!D;y+#-61;ZUs&m@EfFk$#yvm^3P|L;Man#2B~)S1b9kwZ9DM-+rLrF zAGolDJjSup<^rbR*U)MTlImw+yFx~runhj$*EUL2g zXje*v8>`=F7HdU2;$x!qXxxGY&{r|UR4>KRLy<8;notm~)>J8nZ!pg9@SXZcI{180 zKai568a$=_c6|n}hgF}Lj(xkhzzTtUoOicq!<==%hFU!SD_taCl;76LZ#jptJG$K1WcIp|MZTr?3XS}M!yjRw5r#Rv z54QP{xP`nA9|60d%b@b{hT%fx^igh}7I>8J{gy>qRpNhhn4crY5f1Q!Mnt+6xPyJ4 zvk8#+dS(=0C9o7dv4ivFd;y>D$l}*>*Gy*?zgw&h5D%vhU#P#O;}}1P0R^SjTvn{O3C8ggEw1<-Zm@tfQs+(W8bdp%vVz7OdKSPIlBg7}pV{xIe z@u;pfvlLu3Wg3O(S0kWvzmvf<3LATxu+HYM*w#>$c@kF*@-4A(T?l>?=oXM_S1*AV z>7R0aUuy4TsDIeFFv&|yNiF;pV^99U>m#nC_y>X$dJ|uP3kIKguJm?b7{f71c&%vUhlVP5} z6jzgx8nnzv!AX)Hi@WWNa(mrcUL^7DNB(LZ{R8;q;n)v?)cE@{cxwduv>oSa^}kvP zuD0|PJ)!?T4vAB$bGy_zKt7>-T6NQk23l#Sb|Q-1F^hFtpUB74PVo&B9R2bM;}~?E zYmI~6tnBP-SyozhF__+2X7&M!T0R)k{lbhAjsRj4;lenH&veEhyr0wSPKr-Tz*Y6} z{S$Cief-$5dRaKUw-*`Nv7VTceF%<~Jblb0r#pxHe!%@L(U0i*aE~=! zFFwK3zT=TY^r68+dR$V>W-D@hUWMsA_WfpP{E=so@AEm6q(v!JmKSfx@N) zzC&~iTm)UHJr28N3|nb>F__+lso%{pS>SGDnaYRCdRvV;QR|^=z;6X@1F3fP7nGts;)ym>Jg^AL-EM_60B}B!LV1pBU}nsb5ay zSI~utf|qy-hD$uoQhz&22R{T<3Q~CHfv1%HiR_<&<3`}RNVXrjASd(JSD^n#q=~WO zb2GkBGk*y;65!r(vZsvXR!|T$v_@*kJmIgEN#p)t1l)LAx+a%Od^?c8(u2GR{&mn> zAcgNs@RWY<9vq2J+#G*ZDg7;niMo5wc2<}Mq;gl z-_Sfc9sE4dc_4-78t{}(?EfR>g^1ZykuC7@+K4UeTH|)E-E3b2rnD_RJy#ICyBM_H z3g5nwvb+uE-~2md2s8|B9r1D?|F-Tx%ZYZ9hhs!fXZOz?Iy?E#qiomyH>*qi~z zOrsoV>PJZ&mB>foxB&cG(A6MSPIrR;<2WYcrQL8m{o6Q_M@t+>kdMNlkM?N6pfHfa zkqiEh<3Pms(}2AB+d#zI5vS0`vl{s+Je$Ga0lEvM@cb40AIC#0$I}3H{t-aUV`TX_ z$H@GsJ;#9`2pS4fcoy0JUT?2kowh!m<~h=yt5riIU_h_Y_jP34Op6l*xQc$NJZyv%oijt^uie_X+T?f`;1npvK=I$M2J;oIm*IUDDBt zqSJqoaUpM(AtP6bf&F3p4);eIAF`b2+}=59xv@DJxd}NTxlifZ@>#xK{2X`qZ4@-| zcC+^#X4>s$>>Vb8Cf;f$Y&An}GSm2KV|8e6zJffmpc1@{VfN+CI!~m*7T$ExtT)z1 zu{fC_yIs6gYdurSnLN(lPKSb@1eyj?k7BpwfkBnmJBJSro=xan>xGt~kT)S*0Q(aY*WPL6QzX7h zeze=FeRX*UyF{ES+$RC9vjHB|g+)n7bX8Ow zmN2GwkYh4THxuaiu@cv9RZGdWEA!8*3E=ZV{Xh!eSn!m7Z(f!70_N4V zY#ZqiZpDMjZXef9pzIv(I#(*608rvewzG`Ua7d*(t(+$Dv>?A`JIea3L{`6+t_%9nM<>ke%lA8h1e-7yV! zKaRx`F`HvH4d>M%BOH(6tUKDl(qe!PE2wiwGjcD(hL)!|{Qd?7vn1}a3I2LM5BzG- z#UO?I0q~U4uaU;`>8z;(~z zd~C=-H^5WPuY}tWu-}aEM$A;m+bit)Kf{kZ7JLC{07&7U3!YL%Ux|CEy+7+2x0s({ zN_R}!&=nse6S`b7p<8GCU}&%YD(;#5c4)&r1D&}FaSMaRoUY(%<#Qz7HsDeH>2Kiw z3Hl7A@CKbJ@$TRfud-w98Lynjp{95ZdlJ^n`-x9+)8IOzUB`As-ZZGjC0Wn`w+%|X zON^1&vB6so{sZ$Q&I;gAIGey<3AzTPaNY)<(jOZ){qs95p|PI6Uo6Dd867a&##Y7Q zz7*YRD!P@pd~>c*&K?lmN^3qx;yHr+lwN>Mgbg4l5~T2yfTz@xUZ4zicB`rygnr8J zk%Ud`o5n%14~wA9>w4pAQ;Q`d!2a+fG;pW73yQXE8no;6xy%eI4HwZ~Ch-$GAKtZI z^;JoHEy!QZP%%L&0^?T(Os&I@%(vV*McKt)@B=kwak||OD6eo zo(cXu&?1n+c?tOSpzb&i^?*}YQAwcdCBh#hUK{8`hIX81V#{k;gJ8%}sPEy9;tVrY zfSif5TiVhQ$WQ!sH~Xq3&JJLRMt#ya`XBK6Waw!@3TG1d9MGq`WO=Iifn`15RN;oB zDrdu#<9&_~2kbdM)IZR*YxK-P5koC25&#qR-Q1Br%p43@;}M+WHL-&ufSbAiwl0$R zR^IQAquUG|SAebpDSXrxZ^Cz9H$V9b8y_Ex{0HOg!JO%prs ze2(B9svNW_CK@8rTJ zV5dT}{7qM{ZR=_sIKi!#cuS`F@y-BW16l@Bc-Mh%0d>c_r)RvPoPQVay+-CcEaFfA z;P;sM?r#DvZ;*I9fJK$>aq!x7#KQ!sc`pJyC53mr?O!O@3vxc8+qr3&ZkE1{~5yM9=isTOs%%pi+>+F%~?fp8Y0- zXUXYRw@&PKKSZc2?Ppvpj_4@1w;$|M*Vyvoy{f(J0RK4XNs!9-b@0EQFU?J-XN!QX zXfP{edwGi?78}`x;-J#11bbjqP{+{+q^9MOF;hq zmSCZkTH1D}xcj!!et&(y`>zAP5p?7K>HPsUEOWS=W0!xY&(E=+WD5@y{i6d!7l~X z+j&vB_2g&RQ-0lxZGh zd#nUcspoz$X7cpz&9Rj|Cp7~#q!{>6hw(-y+M~-FjrKU6N2u`%$8vlIE1^N2QsqTb z?j6WajStU)e*v`L#z5uU^S#V|9R70kB6F{{!Q~b2ueaatJj?(7H1L_ATo9!{^!|YI zOh66^hz^*5ziqMKUypZ{;5)U;E5UCBZ3e0GdgCl9wex9? zSGOLtLVY63@kyrbaHSY7;TcOxOSsN~L^OcuMjp50_Lg5P%kiY058?2f4P7`W5~Oe> zgQuk8tEea8XsBLVU4^TZY8rq9#S&hS*O$7)csB<(ug-65s#?APyVB8QHqlU9 zB~L2x@Afb1mUsOx6b5-knw9shPa>W6W#b1{@|EhdadBe=Hv3m0K>9B!bsMaDa zu=W=V{)OT*WFtD$HO2#6y9NOu>0BlT-ocedJOKGf;Wy04=lN_f{1&BaaPs96mp0dr zD-3)NC?BM7jRQ|9+m7FSJVtLhh z(NzwzsTqcY;Kh7AFB3{hSBESX4mU8O%_Mcq9r)9bP5o#*)oXosmNmVEI~^fAl=RT~lxHMWAAk%6|}eN=tjZ zPYV{I2ZDCX^Ez2B1?TwjjsrgzR0UFa z*Mg_?Xty~2)Q%Ni8a4b{aUKE=rSJL}{Bh8CAcfO?uEe>=KA)|( z&$S6>U41p#IpDnWbE%dYO{bn6`a!O(hYnlzF0XZv>B-dl`x_&$w7y$LG-v`ZCK&wD1|7*ZgYI#N0XY?U|y<&6|E9iZ!NtDgCV%gZCZ|CsLkohOVvTFlLU5v9iD*5JXWxnNjubSV^1K$8z1ycF$1W#$T9aml1 z^-{SDJJXR(lx-uGe>>Z393%zffPh3E6SwLD4j80PYzu5zy5zTxKFm*3B>z zMjVFG$8^JO-W%*Cl#`*>hdN4L-7E6%yk6qfs{G{?0zL{92U2*Gz*Fi;FN%IQuC{vV z0s@P5;W=0rcIazx&VgOWSc6UrF`jRb`BdUPsy-HjUk+-t-%WF1Pw`6@G}YDO)t588 z79W?xtvMD0s0*Ggup=YW=x5L-BNIBc^UNw*I1^+VW07&I~2t1{p*4ed9bybvY zGixM&h0IH-QDfcoH8M3ZS!PieD#B6#t*zh&nP2jJe}28ej|7basr(j#|F!&9s0>@# z8*p4YXGn<)F}cjN8knMR-=*e+TqFNa6VgJf#^u_>olAV_;iQCIjE^V>inocbFJsM$3Ws30>Q+XQK+DVVUFN z*I^~&%nA{{=(wu$Z;T}gG_VujEb){q2xtf3$AQiOQKEL;Q@ltqzTlsWPzXiZ(|QD& z9imu>xNhb4d$$Casik$RsvAa5A3b4$8mjUjNuKtFP7&%5unB+H zZoj_fNfP0 z6hN>?qX~O7j-=(xU4OI0(Sm$bdEE*ADbRBuh2vxJl$3u`;QX<$4l9fKHELj1;3@Uwk7MH#a|T)$#-TSk4Mbz;Ba}WU#%_oHp00fwP+l<@kB5av z18Rsh!X4?z;xUfWFgVn>L@1Hr{0+{92O;I#eyhZJ2sqSya~%9nAYS9g=>|{fNDuxN zjUrH0V_8+>bf}VRSC6X`S1pBCEKiZ!pZeOi`d`$%3A2bN0>UTPLO3okT zdhLk)l>Go3^A$^_9S^?&r(tlemvNk`$;G}y-;C>aOjtQ#*e{2TcPMOOhdS_GucWDG zBF0--XTpiLNCrJeKCQP)Tsx3&GQQJ#@~`0k4*C$Ja5)!CTqXAY;J^X@dU8?SnCkOZ zEb<3&>0m$d!{n8Erud8ypJ|6h&)80J@=~zGLsWPx9kT#ui!dR_!Zt@YQuIFVSfiKA z;qg+~AnF?fcsnDT*~vVOWN6!boIBzjL*R~` z3H$G80(dXyWHs4*r^Kl(kvOPa!@%c*`hgVAdi&p%-P@69|F}&1nCaCGD{JSA^(wj3 zo^JLA<2N@>T;8&@WHNh0jCf-rI=2_o5rSyL&%M|Rg~N9OPsB1S91E^#E-ybX$t;K* z2qQRzKzD@LhH(9GpIl#f5yHf1F|4%)@u9BS)c-{4xLeB84!ml8@G2YwN#JN~ks@lQh&2|)UO0MZk>c1C7gM4}(*ZXiuE<87p`bs>E)0BQ6666Zc( zQ04qC_|HLKgA`6{Io1@Q?l>!Y#@S_x(9A@Ub_04|X1|EyQ-KaN`~Mcu<_GQe01OJ} z`QV#Ct3i|qYfo|TMLm-%E$KUR^6fH=LG8w9*RdG!x2^X3_XNEEP4Mr4-uu73U&$^r z*eo;HXTLuiV~*-i#o(udmVs0`Zv}rJXp0@+aP0?j+&vKBZ`6oYx6<3~LpU(8;C@a% zio}-`T79<|Pq75t_3C<^jd)F6!23G8ifOqiRxCW#uo-juxX(Ed>t#ny&4c_fSrPsv`gYKWFZ__okDCKtch=l|QMUX_A*rTGNqN1{j ziW(6Sd+g|{#E!16QBl!#HM;7DbuHLdbS>ZK`^=f#o6Ak{_up^wc-`|#dzYCxb7tnu zyeBuOUDwuWZF~t`N6k2VFN)?#8({QRz%#9#kN$j0YM@QKcK&o< zJC4i3q0uaeZp*}!*YX!Xr0uQ6o^{wG?d}Kg)+>2u2TVDxhF=as*Xie1k-5%`JkKPW zjJt1-z4ZUmF{tu)E4xNrqvKNPZ#KsHrnhXozm`yxJvQ2TpW8j0yj}9~vfZP59#w93 zWVvEH`e5Udb9pcyKeK(PjL{PNWX^Qv1lVtxsD?WQ^O$!`Zk0CN{Y_!J^cmgTwxN^c z#*#Q%y-N59S@hD2qZNJm0m}Ad>8cZAf}!f?Hgj|A*>PB1%tcz)bcKuJ3 z`@KIwDha7%m$qXaI*a&T?6?g62zU{gatf{{{s;(XRms0uo4jj6gLd1q%PbnNQlb@ypl#dMswl81kd@Pu zJ;)E)Dcuqe;~XgBiRFj<1!>*0{28JAu#=pgom!aI>NfsR99>_BrReMOc;^}~cb^^fcgsrMv%v`sM~lNm;tB5O zm3q_NUHUS{{aHI%!+5Q;*M7^MvDfbZmfdNu{lEHe$gI)UoA}owaJZA0H2&ZAj4$o} z|FJtAkZu2T=ZaPP>_H#fGd{KZ|I5z#&~EQ{gD&-Bf_*J3Z|xJE5Y=^nzi+}b?jFv) za@cHtTA=^gG(r7of=0W=ZB;y@^P>u1&G_jl_wWU9WW>^_eUo7qi?L^c~Euk)LVsEjLf~EhBIp)-g`KM2|R&H!KEz!OA-Vu!05 zDHC3gN~nYWR1P#rDtSTYM>W2h`mqPT4}1+we)vvfy%)I0TbE$gNezo`-(>yVqEZf~ zl*d(hg?o@JFNapsplsrCEK>tpoE2}|N$=RXZ`;SeW2e7ucY4PjD(hO?r}dkjG%a`b z@w3urcRH@G)ctvE)UBc+7ME72Bs-UbkJBmBq1avXqPBYpHktXQ4e%}CK49$L4c`L_ zz4u7Q?wq)Go5xB+`{%m$U+&pIyP^F#vQDZn&*?WIX?*UK<0q$2$(e?|M_~Ip>A26X zH#|rDsC`M>9a)_{sSi1}2+FgGf%%3%UL|&lZu%w~6qmMs4oyU6P zhS%-UcJITc5cx0d>wnT|-_F@b-qrGMCWpsD*1a~TpP!U_?D5B@&&ipI%|(ok-ON6g&RCK! z*O7XXBe`!`uV}kBVUw|YJN#krDlqx|8T@MyYxnYocE_xzYnkC67{ebI!%xm#;2M5X zlZJ=>rtK~|BVzYl_{rdWVC=pTz8%Ec{bhsx@#-VX$|}Y#U%J*?*t)zycF&EQ-TOVO zvtJOa*XEYHR-cU3N1E)OduVotU)6S7XGZL9B^-3)X**hF_8@UfjfoA6n=m)T-}m*e~& z+U_f>Wo&cSYvax!ys)V>U2MNC&52d@n)YKCHk$UO7XB7^7f2Fc;=Knc=rw!17q4@A zRAlq5PFrh;2_RhK$q$_skv|kZ4a@|lAG{DQDd9hQT(GY}yt#Tk(Q{AND|bk6g8SKB zMg&_Oww#TSS0O`r|Max&oS580?v5fB3zjm&Fo4sCrpx3Fv1fKw7 z*H>^!@z*QX+to-Q;jPXpt2llj;aaUfd^U9h`O?mu0AB{q1*ZPo2;TsQmORvN-Z1kT5=fLc#c8xX)(W zf1R}9jRp_K-a5~I>zv5*w4HEpI575~1YZIUc0zXtyU#{NuZt~!F){S5{2?RU30coPlTB@f9KhYHZedxxQ|-|lm* z|3s``p0zB%KEU1X()yGAr(pAB7EgcUuKty1wcGWiP55nXZw0m(doP3E0`39E-sj-2 zfmnNoHDRxrxMkP6?`b{AAe+R1V7W55Dn>^=j&9+>sh z=6SjchKL~(T)dt`K)6d&uWm*UPR!+_q4tH zuqA~3a$o)kPdtxxZNS*u7d{lk+B>IFdmB8ODxQpQ^1a&RNJ!(uJd<@G5NrR2M(v-@TZ`qTdI5LSxqd+G?vm9tz&3Jy zLw56rsNap}I(C1g?Y1t6JV(;u9YAMbo+EwXlFW0&wByqL5lho+zT>dMQp^L{7D*w-UML`SCaS``~L}@+)OM{Zs8db1c z1)o%X{$~64NNatRj#lsfUxR4%%wN>$e6GNk5dO=3c?EnMxE~mQUxDuhvGrqTZ2d5H z_v|-z!Gf}i)s%p^Q1Q6jm}h`q^=*mRvs>S5pZoIOv$HhbsHGF2f;^! z*yqiz#_f)51H4#O8KwgEf_f+y}ii$b1DU? z`g3jf25d5R-wNLjb^=Lad%X1+G4${&)*gaXX=@mNfV4u+M-EY@njJN6U*2-Jht7?K1+~p&B6h%P{#2M-apF}|3-Hr z=~VTN_OtksNck*)SAq+Hd7fMcmt^AIFNxakCG+p4_%plQYt*Xklkb<^-jC~Ls5j|L zTZWa^%?@umyGp?OY~P2x)Sv}+H&k&DM0Z9|YN;MBSykU^yY{2kjF2*I42&Ij!X?F9XB0JV zHCZLCXv4twH#-ErpCTKa8U(&i|6c1qh;(U!1Ksl~KPu2Y z=V_YI_*Tge+TJQ`G5Pg4{6+9LVDjrjxTL-J>+$y?<)+7H%!JpE&noSC^49!lMjJOf z@7h)g@dKE)l8{#%wd5QlHD|1vr{C*`f7EsqY>d3O7z{rGOaaD@qv4VUdF!a7?U2_L zUX8A@FVTa-RkCa4W`gNkE4uL7VYO2(YF9XScp+O${;T!wL~apsrM>$*{8R96V9KlS z<&0aw&LrJln0VFeqV|m}ET3R3kalBL#Tq)qYgQdG{ixYvj~P38DwT*gUK@!X&AYB) z?&s9qv==u!e+^h?Mc!RW^oI@ zmD|nk)&;wW4djIqtNlgW6S^W|&q(-0a3nDH90!+V=Eh{;j?AFCc53HUSM1z_~Q2A33n{~5I|(qD{h z#~8+TjGLWVRu!6iN&lSlm)+hu{U=Xv&Xp0r2f#;xFfe+j!zH!AZ`q_#?{!;3)8Fiz zZSAagIy=!dV45}{{HykRi|9kX)cZT&kAWwF(f>YN(njyRp6ECy%iY&s`i>)}+;_y3 zBUa{6i7a=svsV$r`p`OEM2y^HeC}J;yKI*DpXRN5tolvcQ@AOTA7OYgSOUy_crJVc zF!^ET0s1tYFO3@1ZL*_hd8?ecePvSpLp%4MW>Wn_o^zb(B6I554s*P-a_72pysSWM za*kK>rRH~S_kL^&@xA0@$E)b?f%(AL{TKLluuB+-EuP4xlrTBzYBo9{K1AapsY?GmkvV%p(_j@|Q%(KNtQNa04*) z`5w5W`18p1dYYa`-Y)aV;TFv!r~5p=uZi@FI>7TlFJSB%43`wYUsP{bBlF1HnMXb* z?mY4)PyYtwoBqgl_(R|&VCv_;;9r2)d4Mk)%mZMDe$F>FkG$O}n3PqNlutC){9r+! zN&ccFVp=nGvdPZ6Qik@E^QRO{4o>WIh3&tJ3fSa4a)qPwuV{0momvP#6Knv+{@dX9 zg4lED5{{3aN3OTu%p>yy>K!|PZqTo(qfesKeq7?X4*XplsI;@r)yKK%qv+1@pC|S= zb{3tKXKg^+pYWGR|Dp?gG&m9%`XzR?5evZ&ajn4k~C(>|+g*uGVbAUd;V*-CfXVlt;P!Q_y^B4M z?yI=<#+?eEUGCbg$A(bdMXw(l#y^ry7e%!$ik&i(n3vVVJ(BKkcKY9=j->1E&&RDM zj-6`1cz8AK;L4>6-LUs#Q}5(`|QpQ#P*z-Lk16U@_~Y zS@7;1O!pr<{c8eGH#nFs#V@Na80R)~FkO0U?bom^k@FK~!Po~oq?iO9)zLpBtIV%(hoX^R0SE=;PQ76-Nkux=$KAA4Pt@gvZKC-Se6+RFg z4vZfw;OB!a-{^ipc$2PoTW+gz%ULR!j4Hf4g^+iA5$tZg<6a)H-ODx|2k(5oOR}~* z7dyuV=l)-Ub*)e4A2R-`(w|npa9~D4Sao?$rN5}QGYQeA@FA7HOJzPLpHF)e5!-BM zi;q=Ak2>l}8;|ATeKxBjf8p=~Unvt2Klu{UgPBR`iLdDyiA^1~pLO^U!eVJ3zK5sZ zkZiR9=J}Qnm(=upg!YmRv5n40?2!2g_W-`8=OZ@dYP;5<*UU#;3BMWK28>+~!X-8H z+-+n&Vu#E}#6N(~l}f*-vsVvpjEt|_!Fz&!z}PVyE-C(eM13RE_@H_C_1M=)jgA3axhA#-&})(+1=9@mG?B{}nbNo=Bb51lI`ds!0tlC3J-4()+%+RlC0VV;Wz#J-z| zgAa_IBjJ+FIe7_Qe1kZ4dI#lIaZsLnrqgS_TNt43aGnfUs~egbeO8{FlUL+>M@;S- zOeN%QgM;!ekaetI*(_z%-EgZgU)#M2yTaHd_v=phb6^iJc7F($6#tw&>Z8uz(~eWtGdUbTImyQTn~*1GAOBR?rR@^>Q3w2v>q z_k#Vvl&5nm=U9Q*@zL^z{SEXrKS27_SHL;GNjdr11v$a&K0$v1;Y*}*{=A*VDG-5# zHu-G}+5|KEu$AzIW(G(leRVl5!8Vis7r?Ir+kvrvH~eJ~`yQ^KVgJ0|{$>`cXcx9~ z+5@(4726-QvmW3DqFJiK8nlPR^tg*vD6iuF+V0S{h~1;$#o$C>>|O^yAH>={tSP&j zSg_K-aEY?b;ayqRM;X4w_TSiq;o$+^{f|vy{E+tZzwp%ClCAc@*gX_J7Q~K6=QLt> z{eYAbkk&Nrh*TSY3Fk#vCM>+P%yFg|iR`uVp1LNULwF=^F6ZT}W*Gws)d@Ylfy zz}WvY+}V!(G3TQfHDkZFz0m=w_TXjhL1clG*dG~?>SazRJMjjj;UU`oIbxfa|7+kI z!S%q{{~-Kn5IY`S(uDmoKG4}8e?!OCH1%8QO)a1~#W~BD-Ahw(Om9c|8{$La^{w;#92C?JPdz$u7s#jA3(@%Z9 zDWX?`ZV^2x1Jlf`jQWA;Z+3d6iW!)u`{iuRW(THqW3*qj*jz$6%6UHMZpUi-5ITSH#CY=CbCw*uqOF8H$`cD=%eL)wFg zxq9J`*CfPQ`SYo710lYBd7WiRSY*AAUKAF0wGZ=wM`(L88 zz0bO4?UgLn0eKrN`1#a#wPXF@MbQ>x^)eqFMO%!Gv&e`1JTOVyy9ZlL|KeZppTss` z?9I4~xqJ}&oZixey-h6i`PBEN8$Wnf)-jRgJ;(ZIQx)Pb?x~xs?JU6tW9J$0v%z^l zlGqyCpN&^drANwNcc7Qp!P@C9?3tqF*CNZjC;t|ndN=n!F!_)V9{^(4_3UaQA6mSy z=TnKdUG3zp$yyg#&U3ndEx8hRF^~8=RolG*n?igq?bbHO?0y^m5is|MiBG(< z3A@dL9tlasYv1qdH=Td#`=8Hx)5*Ke&boo#Ne)l<0^buV*!M=;zeRc{69{1ZvAcv> z)^j}=wN5pCy0&-NJ&}Aaf}aA`0%Pxu@cY4*Z}s?p=TG|DCu+ZkzLUNCm#Bdk`u>o^ z7q;rCf#2!NTl$A<|G=(KeJ8dHwy#REzIOUJ1qq4o*}*y%?zC3lD<_ovkxJ};tCP;W zfj3!pfdtUF#;35K6HIH}A@+%^arnOg%XaS6^J7)Bv_A>=M*1r`@Nr-^F#cQ*zaNBe z(Bs8DiTXMxYM;{@9`3TSN$;IKz#3F{@~^A=ImZ3`Tu%hPrl$o{Wjb&tktg3$1NW+t zZ>d&$IfTyYIyBJ3PRJ=FNJP6pM*2KPynUQ*Y$+XKckmYl2K)Vf{=)Ci9NEU-e*Bn$ z;gMrn75FncvFp1a(VxC7)!qJmgK{{pmD$l~jG%kS))xZ1hMfloPBZ z-505US@79AJQxa>bdMJoJ9_=Ane<}b-Rm8Px7w^EJq#rA4q&JAKifJvkL{pW z+D^9L9kS1Gs@xSGg~w_AmBEM*f9|IJFLRvwH=$#W7^4E;SYnyfwAK?xTJXR zV^@{0KD~ljpXqKz%q|?mS+TkGkn(uSwl=f&!`-s1I{Wxa$(3F5_t@MXTzRf|cBEHF z#`Oj8-k?8_B=sVG{AZ~LdfuRZVph~9S=CxP|9FD-a~-lwdwn(hCa?_{KktJ}+PFiv zAJOq=3wlNLm^z46*@a7Rwo`v95knLSRY?1Gf-hSZ@(oc-v<20k{sYK2{j9_Xh&>C^ zfh6%SUOc{Ny-^FlP?t@hwiK2r1gu(5{v2e5kt6kbCHw-g0T}=8fJ-{-4ej4PFAikn zxp&A!DJ|u5x@~-qi{$GwgrK+k#LSfTbCMG#`|q>;tz=$ou5&kg;W_S0mRFIgPSW{* z5dCJHmhoV+)fMCeW8X};r2T_*d$;aQZD&0Dyb00+>Pp@4{e_E|_jiZLxJ}KF7Gmle zf359L7gIOd&c9?X_dc=pK#8`q3OmBsA^G??{2lNQVC?)6E@^ArIIL1n;!KEMpx2;1 zt}lnXo0SI2g0!8^8$Rn-Do$1)k>E#z>}+uwqYu$r3+t9j>4^Akw9%g(eXM37clgvzLKb15g|M0G(gJbig zyf@1%=rUo1amcs3(gYP+p+#P~V_OJ2rQDx{zXaX_#{SRXUjwsl$IRpIX`)|LzW^<} zC+eW{qw`4vG-AATvNY5tz@xl+J&~YS9Qus$@b^uX8XJL>VhGY zoD4ULX~kllPc_I7Az$+8efVeK-@xeq2`ZA|6gM}x(}xT9oY9FGj2wcU5ETJdm z&f9OXox@ZYVq|!YDSE1xYP*Uai@Z-Rg`Wae0%O;ua7lZ-_YT9_>vmP{ta;-PTSRn` zdBl?~Wr(wM#Ul5`O~qW6;@@twE$%MoR>d=V0AV!<$(oXs*q$gc?N!Ibk|G6$_7XMylC--Dn59dj=j@uI;Ntzv=J% z1-=zj0b}1zxTJXNJLipevu#p&{Y#40;lV8Jyvr%JzN06PQn8xlL5t-!c z=tuh~r@!s)0ITuzS0LZK_r3(a8C(yH{yX53_CKWSZ*+W1Pygc5rSn!1+hpa+a(&9r zk<^n>ZZ)~nwr*ytnKodQG+dLZ9GxK*D?I;^A4b0T?>vG3pdB#!yTc`|zEkUuZZ8%r zE}!nzgW}mU2@dQJBLg0OA3{1{T0YJ<$Vc!6W9!l z{_Eh9;`MJ$rgNmkit@;b9N}@4`F+lbR`^8A>Y)a>kxeT-efyAS^7}{lLGY`mL)xc! z{n&py0OD)r?{<$m`wmn3X{#hH;abI^=#GuzMTF|*SQ|I9~& z*1E%ZJP|!OD~*;hkyx?`X`zGyHN)xXbo7T+Kc^e9KogzJK;D-Q$K!tE3_9R+`^IU1 zfB=!*{^NA|(((W3v{8dor>eqa{y*r?cAOqgS}-xGjgyw@&%BI744q703K4o7S`w9% zljtP%PJGxM#2&5|@}`II1d|AQ)J;uPr>Spkn*#+oO=6GAxYqrnR~%L_52`<2*KcDs z>2#f+8_26L-%9yzgTDse1tvdxKFxYWu%%Gv=fNTRnh@1btItm_7^Ro3ovYNBzFQP0 zMU8Mjzp~v+q5FA{axa`7LRbAh=L>sU%JgRvtY__s?z!=U2+NgCCobh-a@F?`2RgEf zSf#fubTWA&`-uil%xX0-+5JqrM0IGJLEK~c>u!Nj$qB9eDFm*x-T2*$iMn{Rt?sbZ z2`to9(|o6@F3!33G+#MU9ok53`+^vCHp(T1&(Zm^1)t6M@NW1c;0a*r{rhl91yAaB zYN~hj>b+!vuKUtV=^a8+?;j#eGTprB5c1MXZAUZ~Kc}W9Nt1az@%-JfldIrdZBOCu z$aC~K_&MNWV9M!Rc-I>G5y@5Vzs>2culwTF`^m-LLAhdW>4H<&EL|BnO{H_4@2aGa ze0H7h6WhIfrY~>lOWH>?srNa@%xFLJziHOB>X`e2?e7eRI7K_4g3jS|z1@;3D0EUX zGo93ckD!5m;-Eak3Yk{^^m2-9sjA>TOnF+D{`pKXg`7d08(P$=Z8u6V_jfzBo8wox z?fki;Iwb`CscokOhq{61mN^wF%tM^mYNORpHn}+6zCiJK$xYsFr**Nz8C}|5Xmhqz zMxV^?5~=POVo_tFP6sa1`B*_7nfCuY_+?-dFy*=(E-A-bkH6Ym|LK+MX^Vt<(V1N~ydbRJxP$lNxhSb^A%RKS(s&Zr`g;KPdmtY@J=4+Fy+mccu_FdjgG) z#Lk#VAPu!y*(Gw$!Dl|gw2p~tYtW`s&1Ihd_-6WpDbLbYgE7GPe=htwP<($w|98dn z-yHW$7F@2gV1v$rr7>BMGjm{67BDOLMB`cTj-sJ{PYrxub$d^>e_yiTZPn==<^Km+ zP?Fk9jW{$5)~d^uJwYYtlY~6+r4bp-@Tx}EC0i-4;%b3^-OI5c^RQpRMYc5osE>ix> z2$WNiI+jB~o>jrOZU0DlZXe0bI!vu0Cf^h_h}+ezDUT@o948;X$M)6Pt$Rp!e1kux z)?ib~wK~5Fo{!X*(ePuyJYe$cO8A{%&Rx2`%;~7FJLBcoSbEJm&zQ^lub$xlNl$6r z$3<@C@w9871sINv-|BCF9r5xC@nMR}O-OD_X#J$^cCtSsNoAyb&kRUlcydN7f3UUm zG3PinwpvNgx7eQRbWt33$};EHk`3c&hLGr`!W+DLfXxN`OzJ_}3$#g~6EN-2aJZxr zZ$D5~!{^J)vbAL#%2eMNF&%Ob(;?yk6YO6wZ4j9N3DQOB?>0*A<7FlR6C;lo>qc$Q zCiD&S?0F6T1qi+v$>$mHgmfgwOasaqGp`vn zetz*R=wkUUD>s&ulxC^?OuYfyPbnIW3RKvO(AS{A;G}=jO{S412Ou9Cs{wx z{u@u(&O|)x#~B6=rqdu_X`7w4YS3<{NcDZ%DSXON&pLf>b^K4Nwsm%gm)WS?_j#xA zIY-sVZrG!xE44zMONdQ1Rt=Sx7HeqX7Wt+G*7yqp%HPNF+imR*2{VF)37mNCx@{e} zN#|cJd1LwuAHcr@2`@$RZw$N`4D!y`+OXH_H$=UcT2Nkb`eYgh#ZG}K?$p}_KKIf^ zRwLf$3>=#}E`RK&_PB(x{&CmXV>^yZ;@;`0lD@Z7|7+)eZ{z$(0$^sVOujmAcM|S) z{MC$oyE2og?sVu7$=43?mSg58&~p362S)ljN(CNBEc$$Q1HWKXRs22wJsdaX>DJ#|L9lQ!&AVXV>+Z2 zo}TnQ5j|bt1)vWwdJ5sq>p84}p5LSN)Ovc>A;djcp(@BjGkfe=JgN>GfK~f zC_UAlo=W5xf3AXW0b7C5Qw48c4=rbuo=cRwV!)D`J(@Q_&>qN-p}NjZQi4qt2_{*^hyI^qtLech{e1g z_2hA!{CF#aPMa=kSjN;O)wVQ>Zs+0J-L-pa<7AL19t$EUr&3#H};yV*u8Yc z($&1(S#(V4^7_^-yRev-fNT2`uf(_CwodNiv{K2cFJtefnSb!#n;Eo&qPg2~k? zyj|y8!fTQG(HlMp3t zj6&bXwsp|XW3=lhcppI>v7oQhpQqdaj-C;7tk4c^&ldEV`uYI;N$?CX_Pha?WcJ5I z&r^EmeM~3Z?etmoRA>he87`?PTlYs!cwAqlTnc*0&L|1pFIP%vb=kVr^>%cw<7~{26sI<1d_?!+ z6W{g9dc{99p`(8Uf$9^SOef@Tt^7_dYy2HCY?3pUaZZR)XFxgyI@R5w^Qi_q%y@Di zd_VXK7&}|NuI)S+)b`!;a>UMsSjS1trOTI>MJiC&8s~D~ZpW^1=(vb^U;C`OK#^+0 z@h544B4>(yIN^%B`P!;BR4l*BNNp|S5uVq#OB~~Fgs9KP%-TD(eI@8O{mixSv%z`5 z*mogZQbn9|c*MS01Q=ajR-bvTD@w}~FzPJpiG;H(YpIjs#VshlOY5sep6N&a3Qws` zwlaXx*99&q#d{yQ=OtaAb-B$fTUEZCo^8*5X6n$Js%TiDDZ&~ZR=kab72ofx^jUj? z{TXGPP7kiFzpdO_)72t%l`U&nq_0+cx3;eW{l>nF;7@^Pfw8aO8`{2o-oBwFUq|ed zl@(0&uUQbOOsvQLO79Tfp)Z48mpI>NyPucoIMz$tZz}cgi(kjKuYLC?TI)IPazcBh zI?_Gs!lyGL^Tb}gaspwMHo)H}Gryba=pQ?zRaPRAS~Kl7oUERx=5$U7sqB2;L;?~_ zWx^%%h;E#Om=)mUDCM;Ar)8(6%nAB}-GZrJUoXg2*0KJkxXo`?Hq-I;Oy?DwaDn`k zR9UU_WdnYje5rze06qpLUuM0j^JQ08U4Qpa5Z3gBs*bMBp4zFxXjB#zu8I-hot46OkOvKs9<}J+PixOKvRkOV$Q2H7HRH9ar?oxn&}Z7k&G6g7UBKA$DqPaR0p0!XfxxMmY9){nc0eGOIoJtOLLW_#wNR`&rM>$ z8KUVP!<<@A;x?v8=IT^ZqwOttJ5uk8;pJd8F!nwPmsISvr(b&gyV!P>npd`xAIemS zyaA8oWi3ndUYEvei*B|a)0b+Wv{;qSw~3s@G)ko>WwSFT*-7fodk6w1Cv{46Xufvv zbfRy#gd1=NQHfML+hN2kQ0x+R*dXi#+W8-~(^t!lwnDw>Q)}(pl_KO+Kh>GSDS1Kr znf^|so(zId0F#07^BB0K9Iqd=|MKW^i9A2_%*bSS4}QImOf%FecV?l@>pVBsJ5?+u zmiGYaGn=73mT@vb5ic4zI>Oghw~#MsyQdPMZ0nqy0$bEkf{4S7CrS0kSH+{_+ zQRUhzzupNK630jXOa84%>6vp{VZ@ldwoPd;8N%N)JN37M^*nv)UZcY z{v#^wQFYQIYJlNKu~Ttk{anaM)g{nLWd@c~qq2CwbO>~ES|yBCXD77J=^Z%F@vY15 zq>>WOWXA6#->i4-f&1+K@7lxuZs)&dr|q&i(soFPZ|nh8cK$7P+7`RRgkUh(nrBHi zkP=+z?Bh09ciQBfdcbDwtUb=T%;vC(zseG-rS^KeRXDxMmU;N^Q(5}iUj@|wUp|N3 zoy0K|`NXI?%FUO$*S&Jz7s=nA@FK7Xn0db2;Wc21w;z6&_k6x5YW}3bx!d&_%xkD8 z^qVIlqs!ZObq zy36+G1?KqEq*uuT*#S(r^tZcl2t~fr!G}6h&0Ai6ycf9-`oasrARtNdB>uToUb|Gv z%{`InmijzMk+b9kFe8OWPM5FkWUjph7iz2acrOKf)(DY{j}bXv}+-FKQIs&JBGm}rNoIh z7Vo`dy&0Tt`I{}v&y&uTxwAW!^`^~-HA#+Q9xNr`ri!<<9UIV-z)vJUcEaxm4*_Gx zV{l3F&RcKP4tE-=Wa>Ow94lk%VD9KN=Xs>|$xaP~$!>Fgl);-b{+ZC))~ z&e_lV1||(maleva^7VtArpD6~l&@)t!Rzckgti*j;A>Jw@O9qRdSB0Tf@1DtG@b6( z=bBvLOXF;!k@_pKeQp}XKg6CI;M9Bb)7Wdf8NuLsfBKLy0lw6j&34g)_Q*y3A5U!i zL}Er+#shZNHFlPr<er~zkspShwmrGv_@9JfXuQi_hVIM{8o&`S!%mtDpKbo<7CPyc)E{mg} z&Xd0dSxg4H`SLLQG4R(Y`5nD=Y7L(c_4(3p3sbZQU+H>sFiL(-9ec$UGL0YS!PkQge@c&AbsAL^_VnyQW(d7fk3NV08+;X|C*FCp zZk$S8@5wLmr~c@ldT&ZR`2`pb$*<<+yM7$1z?Hy!fTw3ul%Ct+JHb6I z*W+ygtG~^xYESNdWSDm0H<9-V^WZ>I*p3^n0Dbl_ygdPD7o?PuX=kAX%`ATxd)=;CjE>3f*=E!d}u~)qwPYmC%+h3 z#_nbC6<}q{?}wdHdY*#UfahDT=a6ncyi}N$vp*L0amwI?jg;BRprU8Muxe+UV!fbuSUs@fBzbL4`~*x8c%M*|3&0> zfp-T5z~n>IavNomBx_<0ImT4FM1^*m;5hXwVeQWZi z(PqI4dGZVPN90d}PXW_`$)9HBH{C2)VNcJdC_UBihrnZhMo-htf>q+_If%><#!I`< z=HHY(=m?BI@!N%{{EFW!Se2gqImj~d*TPQ+Xa5=bjWi2Yp8Q==@?V9&4&G|9{6m@p ztJag7{zarc$burwV=>xZ}_1 zX{4pldI~)~`=j*y4!6Ii9|T(JPi%`(;>j&ShPm$+!cPIG0vo|Hu2>D16mK6_L9c}? zR`EWL)0%a6!rX+d!xP6Ogj+GDudtj7%NoHc%57aSR;{PE2DwIW9sJ+mD`4~C?FTl4Jap8bUU;uC!O2n_S7E5IgJ}ZOZ|y zYwhK0hnzZ3Z#8m_zi+_b2Ok2X_hY!E7Ugq;#v;DM#Xo3&3l2o?>nZSAU=A>PPk>80 zc#nQxAHA;Wkn(NVh_tR)Se{TJPIDN918};&oa;ROJCSeNmA}K^1s?#TzYhLq^v5(Z zjoMK0qv!v(5&cKO=YSJ|(O(MxGx}p2pGFP%uhzd4`NL2k{gmh7uYWDxGGO?=(|XL8wEcCOa?~pRJf!@>szrK4x`2Qb^1@*-z~^B^?Von8SnxydiTIv zthWXCb)}~_{rgBh_l6GvBZ1L71}>@5e2(_F1^0F6p!RnIa*e-t!XE^W0;BhFxTF^4 za|`b4O`cxshe*Bd3hyo71EY5kTvDU=b+o^K;=T_3to^POeaM%3y#szfco-P{yWoFD ze@pM{YEQrQV?=+xa4;Ac{lnpZMt@81>+mn0|HwD@^;Y;D;2vP~SHmT>sJ^w}zOM81 z9zbpgxsvZG|7AT0XbmLE^ZMc2bvxd0UU_BY+{m8&xTjaIEMLyw*UysjkN?wt&GBT3 z{IlWf!3JRb+UWh>$TwI0esiU_4he+YEDe|NYg*qp&?rbEH(?-gs z-&XbSH9h_NJo%#E_fxW!1k!-fp8=O-^qQ;IzqDf3YTB*wr4^;~mo8trdTH4z&xneZ z<@3uLSW)SWw8Hg9R2u)0Uxa+oe+N>-qBX@?~o(CKr2p zdGU4$N5RPgio0#=d|7(KSslghd&RN>$km8Z8Dxkm32_$sgt7`5UvI!a1fKw-_cOR8vp%?Ce~hZs zZ}O_6SFEZiTd;J|(lWRASv(EJ!J~r3(iJ<$;uKq=2Xyv2+;yJb!e1hKC&FieV}a2- z7v7v+)&^C~=k}5txk;r6DzT1s7BM_`Rb($N>{CJf#Nz( zZ^8c}dZ)pU0gHgNk+R=?4g3rco6lR0i(VI{^Lw(a{aRGIfNf*ERgAVKHGNVmJ3W_t z@BgA|_kwEmq6)mA+FDNkD^$D7RjVsh;BvmTPUL7Mt3Ru|TB(5Tj)Y2Voj-f9!Q{_= z_>bUcVDjfzcysx~$=u5hF|C;rs`K<0{Tk7~2)+uO28{kQ;4RkA@VSM>WR)n-f8-ng z{{=q)egH=QPw?jSPhy`GCwjC{9EKXdKCNwPzsFRGPtDp@pq(N%q|}!^|4|; ztMfSn-5m&BOOpe*{|33EKi&)aw4b|>7eb!g_j};~0N(*qA3OX`94`J9q^mGGj}0&ZMh-#Nofr*LAbc z+vwJs)f8zeXFpLV+Mh~n z<lZ%&dQ~?L@UKg14dsa zTvGh=O|+jYS1sWHPxf#~b=hREz0$Tf*}*IAq)m1vnjb(ju%Y7sNWHMM?ChN(9=O*bXl3UOV2(jAPyGf8!nV|jN zhg_4-U&4O|zXPLJ*;;R7`7EVNUN1evJ-V@}oOaE((i64bV&odVi{PukI$-pk1((!} z-WHXy$f@%5?m@26`w#dh;B#Q~{u?eSR&PvyZ`vHm>EgMZQn|xkV>xT2qt_#{6=sKFnYJaB{lEw zj5TGeqc;~WsX2e6v}P9{jmLdlk8i_cU|nE)HMk;8 z`@00WM(>62jbIZndar>?YTn04|sa(kZbh*4;~1lSjoWXZ3TBz zQ}vkgjn>*!g|2F){VhhW(Yp}77%cO2Nna&4fA#ZCSEQc(jxAj-4|C~@&eyA!!4Kc9lX4E_#` z-Z$ZHYN{Ngw7R3r#crLwfk7s)p0gQN_xJA8!c46scjT~HaVw)y9GxV82-Ju#v` z58e+91V;Z*cs%_v8vm9X6Nlm`V z-QZoDt@Z9luF>mDPO*|e8Zde@;F4nNaZI_gU3gWQak;4pv2c#oTY_Ap_jLGra0xJa zFNeFSDSsPiZDvBOoz}Y#xkm4|@Ppu2VD$b0m(+~E@*>+?ogClW3Qu2AN<`m0_{pFg z7=5eYZfeTUC~eJnX%)8De%2t@`1w!xXW$E9^nMMO)B-=vh8p*_ZM0SHp!E(*jp&^P zKM5=VM(<*{q}b=2u20@Pr}*1I>)QIRQ!RH9kjU(A*QwUiy9>F--}m8PfFFQ7Q)NEt zH@K6Qa)`hCV&Wn%TTy=6is@ymPb*)!%&pH1w9GtjrF}|+f!5GR)sRQjAj=uLGhxUb z2~1aISL58!JR(I0^SS^ZG~KpV9n)XDQ7`KEkMgP#M= z2gd&k;gXuEkMqV$MUgPC>~^15$}GGWeYbV-0(Wet=Vyo4kIkw){k6z9`hOH%=_!^U z82yQGH#K!1HlckyHMG!uzFb8O1=eu(v10>VQfxlx zdSD!;O0Fo6s+o;;AFLWr?>^+3@;@m0GU)FDbAM#Qvq5bA+uz{+h|wP%0yZ`MFs}~w z-r#dCW=6~DJ=!^(iLJ2I#@=iJl}WBpXPplv=rZ=41HTwt224I&0hbhOPuzTH!JSay z>D`B1lm9=9j!fDGVDtvzl4A2e=6P39zI^F|(`T2?UtV?uZ~IPn#~h>G8hD)L97pLp z`Xx}Ur?(inMsGQMEjR-hy=TMS)KvY8tMzbK>m19OBU*F3S5Ji@ozHuaYx4PH_!r=7 zVDx?qmlQvr=btX~JyXk8EMC2&XFsm^nVR0mE9hd2fYK~Jl5t3-r!U+(;^$oW60i!G zdUiJaLJ*t32OHG0hI(h6R$3tspY)wJnhRPbxlP@~hl!ib$y=5)aTiO19&@N(@7rwT z4O!Mib*i00=Puvc)J5k*t?0x~>0f;T{|WpGOg>myIv?WCr#7@_YT2q)QsBfKiA+uZ zh1(wRD#D$0E9|QE79rQ<|MBpJUpd z@ae~vEnU21byFqdim^i7bw12NZipXA`K*PX3$6qvA8v+k2eIW-a7aGH>i0_O1af4c zE~%coRcejuq)Te6ujh@v)UCcwH_G&PrLBvqr=6-gNm12!_8mmGX`k9=Gv5XJ0%PA0 z_-GJYPQ#k9ubC37^3A$MUVg+WF`a*vJ#_wULbtK+Uiib{abWJFr{I!e?Tcx*SFBn! zUXFlXX(qA>jCg1f0H zf1|Z#7q7$VV%O;}&0Vmz9ORmHFy-)-V6CT1?zuh>##?7puSkawqeSK1 zc&_E-Y9q-XPyQ}s&EbdA-n;{U5BxJqexIuu1J+ietui%K+gq1cddG;~KJdX{I52ug!6n7|tNW`B6tY5WdHE{$ z{aNGdxWj$4-VMk#{_cc703HEG?=EXcId9=HQM5A+5`Z-2O?`0s&Z z{B6N{&*Hw?-*w0}{$3B?26h0W_fEK^7Ugpb)_c}?dJiDC5V>-{WaiT5feTl_K&pJ>40puI~ z*`4tn^Z-VGPxznF-_rG-75zQ`kv|LtlK&gw*MY6T=&yoHYEgY_!Ftd1Lalc{a!q}6 zLMc`%$N)xf7F<$`>RbIxQFxNKKjT!(IhClIk#+lfN%H6{~0r7J9lf!Z*wbb$7=7I{YBSMdLWUx3l~8@y%u8a5(vbt0(3(_7Rf@*FCG zF9Q|8=v@t$lvUes-J`Ud4gHKXBJ0d%klSgifpwfS(5!R_9j5)QL9X%lL-_xJ{{W-+ zYq+H5^EajuX~f}8p59?yQ|jZ~9t$r4Wx(iN3YS#v#Y2l;f7sC9*hXYYd9u3($_zA* zaq@7waG>_L8o9;DmHX!{_y^!)VDx?lZ?WD(8jtw8MP99^zpz_G|7`e)U_LPV7r|Ss z|Io&xQ3EOldHy4R4hqEom*IQCd%)=bCtOnV^(?CKXriKp25Y?q-6QpEEPM)>4vgLz za7oSAvq<9+uZnH*^ld?22zlb?1Mnxn)4=F^1}@2*$J(HNtymS=mC#(fF+}^9&?BO+ z2fQCR3>bZb;VskG!gj;cTZ!B-g2m4*@Y}#nVD#Ptm$cgJCpYeAq}?bt?Z#Hx4Z!(p zeNDTOK2-aA5V;}bir%()DOP9D4H&(7a7oSQZ_C<^N>6VEa!q@6C439G2^hV%!X-WL z#kFbN-`I9zzPE{NBTfUHmQ7^o!?eHqk!$oO=cia%pdB!JJHcD5_mFlYzHX6M<>_C7 ze4~FO{4d}JVD#S%Z?XPE+l@vIC>-wjkNhwSq`d8d6e|T}0HePRTvGG(EUMjTqN3G$ zdP|U-Y`I|!H5 z^tj1g@8W6;Ph(k#GbYIJ)9iZ~EPG9AJbmGw5q-zQ=YvJS=vxYx)H46Zj%~t4S5A1O z_H!3>hD~Rq zki!epHBPxyIl7;ZK0w!03Gr z?xyDbb+u*}FT&ZbuCr!6;22J>i955HNa&!X>rH-|4gDhK;*z zXp^U}5_!hY>)_kK9l+?j8}6p&{nXl;DpUj&j?sP|M6S`B*_USl=md=35L{A={M2U} z#dp+|!gIjWTY+4ocLV$yumu>sTj6eM-d|5^(+-Ej+TZ=iHF{M)*1v#O!02ram((JE zXB{=xon&olgVb29w*hK;a0xJaFNeFSd4G-8bEwD{=>-X-u=U>z`e&w{tqUsr2(u}m({ zaBti^cnTQ3&%h-$GCqj%w`Jpl z@FeYT!oY~$-ta+SI52t-hqqYopBNw1dipmY-}rqG{1Na3F#4Z{w^;w57$1}rdHxTI z)Uz(|K41Va`Uk@$HDAwKHa@T>YrU1oHSN}R_}$=sVDvr+m()zV6=%b?J64FdRK=B7 z;_0^rNA!1v_XK@`(O(F6Q&a6%W7^{^S*h{#Rvpz-vz)kbUE?U? z4Vj!4pTPhn!*VjTu`Gf0^z1{Xi7)*<{J-FrC_UR__9g50I7=(m4w+lNqHKKWf+c0V z{O44`SRGSz`3)Nqkv|)LEI1xW5_2+N@|Y|t@#N1zmXW^(z7CxAXXPI%-m3KE*C5Nh z&-f?&8}I`#_4goLQptUX&N~rvwmNR4GjnS!@Y0=HJ;vG$TjuiUHB*9 zb71uT8}6p2?%TLpWrbrd(eroMXITzsER{LwtThWy)&3R^kLaBQF9x%L(R(ahQmnuF zzFNuV@0HI!c3AY1#`v#LYCL^a$TRQHABH~#o&iSR^KeNyuO3>yMq6ZMZ#dqRtNZ_j z)3kr-BO?CwhYtZGfYEn2TvDumG4nMm8wBuhOEdnu)oM@g2IQLZyd7Q*9sx%0<8U`M zRi1IQj-fRBxt(XTJmM5b#=PO_+FxsAFik& zE}k|K#fx^?)4LA2VdP5te+B${a5FG^x4|XFd)`L0Mk{S%G7dSFM`?c#AlKw`t5K|b z0qud&+X*fywq1=X-{S|I=)SdDu_|g4Tm4J{O~7I6l!7o~&oQL*-WKk|+Kl*3c3)*u@g z{q5nBn(}+N>vvR}8CeoL%XMDAkPO#5kG#+ft-l2MM*sQn3&ACxPI*o??subFkHP0- zEaw<8+p6^R>_Mh^-mD#+Vx11o29n}Ej~AD7T%TTM9y&9$>U0h*nYM<-Fe5`!#`8~~ zUV2Jd=##87W7!ANer$?$IH>T>XWExt<^KPx3-xtj>FUz?rK`&NuR3*ke|8se=wHA2<>kv~ zOZ*?!L-GA;&edE)i$+PY&~0r$cNfw){)U>wsY!qFxu+uybw95RxR*z4_j13!%!~fn z2g?0!wEOwJ<6Z{J$x4qhrEzMHl|S33X07y}+8*q3R)$`%*$w$x;MBa8x2jXyc)$3~ zxAIKuoDph^y*NG4W_hC8Wjn)8b5!~Yf4LKAd$PY=sYFh@O7%M&KX#r?SSZIuj;#VG z`#&L4Lw7dE5VC@E%Es9Kzyo%m+HPmQ`>WkQJ8RIH>4CQE64iUQGv)&RJ>v}jnaE!2 zKU1kBWT&~Z%j8ro7b1Fv|F8BEzcbO7Ck@X%%6UPlgFfF8fwR>4a^TBZffsCy=IASR znT;zyjQ+mW4= zscA=EfWHj>4kX2EN8*+9A9T3;Me8UA^8qo_>PgEO#wfY3!iCxyg1roYnf0Ky(RAo8wl4 zE0y)EFHaqIt8%uf`~UYeVgEuMam2ezxN#cZFRE*m^Q(P}V^^_1#=Z1% zKX)njvdsOQ<$m6zf3LsMzgXk`;&%OuQ`~Q^*57=kFZ=Xm#4QdH0-cSHn?NB9N4lq|Qwq&pGDT+bn3EHB#Oa9H~y=Z1)>&b&h|top6Kg zf7?lz9ehP46{-2j6Vf%hs{&h#T9_tyycSa1X|b{4@UHPQc#XY%ZIM^#9W z0(U<}ahzF+;$>R@2IQOjyBhuwc+Aro@BY^PGWHWTr?oe|h2HE{a;>Mo;OVm_M)dWD z9|nd3?--V-18ef#_tEaX1cmcBD^=*f9V;4om{Zj@fWYOP=Da&U}V?WGhCBy(UxUs!){mBs63Sx$W$3B z)2XtPGv)3-ocMR=*}_N_<=Vb*QKWrc0^b5|0>-|-!6ohU&a2&Y`=QT;ehU_iUsASU znY5&GZIEr9Yt)Box3X*0?Y4XA?0#OYf2O}_@BXOoZY8<;O3<1=RAr>JQfX;Z^4fDG zVq%~}po4FR?eF1B>LE>I_ducVOn)e&Lux;9=X_h0s+FqBR*Pxgu9HV~s`k>d!mG5O z1(PH7Vj6r7I1v~>m%=5*jvpG7gL!Zq;$-WJ#cZ)kFHgdLUPV7k$gCq|->)=H1JxWZ zb)Fs7q8mL@AKro=1it}eN5vFv$E$n1e4bM!W?2pGaQk~>S1w+~lWT=czPS+qyH*Fb z2Ja8p)qx!W_j0oPd5Ll_SKIdo#J-<0tiATp^sf@su*?Bjy;a-5NV-!!vs%yhcgl9! z1=0hfRC0zfPQKi4?d-!dw;TRYyLU=YGE<=?72c-7+xG{l84-_eZ5zugLcB^}x zbF#iR$S>*s(jOkn^w?rnoHqEK*E?oaTg)#OEN23B-07>!q|NVInYvN^kz!Y-4st(_ zcRz=^pHJ#vyy2Kz_-#n)O?h4!e?rwcKUtfOLe|Vz%t6%gVau}{C zyhvZBx!*ja|NJF=`9NPzaDVll{^kpPc~f5=)t49b<)FSitS>+5i+1R5`Wx-hJJH{~ zuD`iPU;YyPtG{VON4fgvx}TcQcli+a^E&=R>fKxZmu*hY4t%Bte6I38Q+c1O9xvOz zSM2j`_mcRs-TD=Kdw2J*9t>IAeIuO7{f=-_ImNGo9rX3{=NI?`ZP=g!U$k<<*o1;B z9p`E%aFc&Pl|TO$f8KU~kH07RUPv04aMaUDzP~0V-s!Y{+DXhx%1p~l8}XF=|9E>7 zxGJmk5BxpnUGBoYmwQ=cQQ(4xfQaCVJBqueh?cg4N@^jHVqu$9R<=rIW=#u~Q`T6K z(_)SqmD5;Rk~RITaf)gxTPB%m%2xm1=bZO&FIP~S|L6Zde7^U6*xu)Rp7Wf28#V+! z=o%Hzog^8 zMHW|VuVo#$zvGmc-q&Tzl%EdDp0A7;Fj@h1$9n`bvMzQ-|J zTz>tQi8iq%?%vHbPjc#xE16q&xqQ)v5x7^6ONqTgkMqX<%6g>7U#Iu*#^38qOi#E` zPxL0-Zze}4ZD+}AS&}o^o%EWKYNR}B1*6i&2d`svA${6;8BysMWvpfCPF!XGXgn2U zWe>`7@DR$lAik&i;wa=1B_3@$pvuA3kZ%Is-X_~IyI+*g&HWnjUlB!GIo;AA49XrLJeAx1}Ss7lR)6(61zA@i1C6KC{&Y6xRsugc#{A%3b%QqR+TzZ7T zxQ7`!=Xjq8tqu3Hc46@p@Tb9{F0vzpnH6+vT|$5*b%h zQ&F|Z9urAx;H%bg*1(Zd!ydQF@BWOQDSmfUe)ph!#IM8kr`wGY!X8iRD~De=WaYK& zLifsv7p^g39k;gGF#=b+ueHc9KEs_jEPeyiH!y$3ua=MZ`^6gavsGdYJ7T$iuqJ+O zxed1ycboGsm}?W$?`A&7ua-l1e2R)&dzKl4`2yS+x`2J68!P!#b3DZH{4_G)2-xpQ z-5PEVv94vN+nQ*uF=0)&*0e?1F~2lapU#9_0n`A>j%y*`4n&Rv~z;w*Yj`KQO4@|t@6=VeDfH-A+JT6-LXBabiKEFqA z=h?JX@+_Pi;&}?>74$uzc&>xoeV&*|5NAuAnCRKvB%1%Uo&MmV+RNH0nA-(10L610 zWC~6@{f}?YIkn4bZJQ>vvOBqOfR*C2kNCVA&OjzTXkZI^xF3w-DW3j(s!YET8W%~39@lp^uzpsHkt z(S+s*3^3+1j;K%2Hu3?YFv{mkxZ9d>6EC=)kGYQfZsmh?M-&*(p!UiZ;gC%n(HVm) z;&E`DR`a}!M{s_q{V)vjOkfV6{IL=;g&prm{s;EUX9xbJNX`{FjDS+Kk$oo{2|e$l zLzC~uH*Rg0@rJI=Pv?Hr=q_utHJ8UThu81E+)Sm+k;@-uJR6sXZy=AI{z>AVk3G@}(e5xT|46FtepBo@kI1;h$rURc4n>>}= zu_dJ#z3PEe4R#sVGVNbr;H0D2Pf6S9kTx<_*WQGnu+0+~Wv z#JZ3UJaBQ7sP<@-AUkh)MP&tMjOZIAWNg{^bDSV^miC*OfkVDcZUWKVjl~k$WFwj$ z^nRPq66o{ed*X8&zqC#uJP+v4bch^7*~s-`6ZcHP&CxBuiEq!_chYgE1NB!Z`vjOaAl0Px;>!kZ%Dt0E+*k zkSRR%vgBQ|;e`CLx}&0Y4$dT!XPP9Gy+U*UNkBB_|92U;bDRd7iROyOs^+oid?M8; zUraz3yDuLh%Z;|bNq$G5U-@IkSx9$aIH35Q44J|&|B$>|-Z&vY4EU_5m@qzM-+Fd2 zoufCMKB89>#Uo7n+QR(}a7ridWf**lOE~5jBLibysFSp|J(6D|^eg+l2>C7GUx2DV zJZGaF3v9I8e^32O@;fl5llr4$zEP(#VAAb6j45E|?P)xS-YK8+f-iW_&$;gl9N4d2 zi8gl<#;0BXu?oJkdVXv9j#w@X3ny>`vu>Dv!|YH-Pgr<}(UVu|)s~l~k(EzDJ<=2P z2wtI;y(;6g1YA{o)tXpkFuGI! zm@qy&4~O1OsHlnP@@M6QeiicUR`#oGkG&$=ySt3fb?s4SCI*6X+yQGMH=X0+{eB;> zbrnYWi9D6OXBd;F_6Oid^=;w6gh<8J{iA_;9iLDslIpyax?H( zK-vFe$P^BIF73bhEBTD@7b3sBg6atoHCotsm+kC3n05e7za(zxreTI52`##lsBj)) z485NG>G$cZQ6D5e zx8fUW9Np*8K6MVWOw%ba5QB<6_^5#C*D(m-vRuZ*D5tO1>g)BI4%2JK#Jt7=Tc|X~ z4HS#{GB`Mfs`B_sxK>&KKSij2OWIjm5UOW-L+%IU11dg6kSQGcr?juykJ}+Wi&j)o ztDs_GZMB#TCyAN}^{i49d)G6q$(4azC>sfM-i%gkjHX)8|F+~&PkNz;()$6(e*_+} zb(2r;jku4jYyGmP4)yV{T)ei;C6!tf3*;YLpSCcRzvCgF1mpoK|C|hYA+RS;rsI?W z@_D4Q@|D^k6UI}8-^w1-MStWp>W}O)(pNZY>kX~dmHxctc+nb!`l+|LH04@m4dn$! zM%2t`SfP-Qz|S#b1$W$xRxV#jKTXFebNFWw%HEN7Y62&fFJ6NDA@C`n(#yX{rq>>i zp>R(7vX6mcm*2oWB5N9_F}DJ)IO$A_O9f;1iTdQt03P7Yy=eVM#|4sq!dj4IFJC!2i{nU;f+=VtIw z_2vtZ_W&(`^3#KmKL#S#BdqPZoF~4pUToRPq5+?>!c#j|YluoY?C^Z!D5Q0pW6-a` zBL&U+vBCzIjWQ6 z{oT?Uqfk_FkJIm*h)G#2K}kWIqZEs~Qq!E7(U_%0PH}p8PExct)#2hj$%Ip}PK94U z!@?7JF^apfQK`P5UEFDnt#-PDpKA9NFZO7&fl~ox&-IWSf!fz)dIw*X&l}(ABp*qC z#73i&%j>2tsuW!#%=UHSv&+K%puMEgqkh2}74p4;@sInrQ(Ay~VE5ef%c<1Dn`9eoCbLjP-(Z%Rex+x*M24KKxGS61~ls_ZXjVL zeXu$QJ$$CUDx&8$94I`Z49^O~z;#!M3O52gzS=ksW4jcIIjo-%pq#rHznh3iBf(m1 z-c8`7((nHue+(P~l>Zq^rT?k)JMux7`4)VMDAI1m(sL_l396ucCG{Z-1m(Y@xem$> ztGAKialq$X-0jVD!oWJ#pS!0LdU1>9J1_t=v8_%QMnK1gD_bJVi({7uAZXN z*zhmO=MeNMyZO%ZXsJMNK=HW(GKId_0cNx^IxZN}Tq!vjp$t;FJ3 z9<3LlXOyX@8qv(X~ksUW|3{MBNqT$r5*rIa~#Z<8%&Zf1IOKn2#a?|Ax`j zQIJaF@k_1ba~bbe#7o8dCyMX+I1d|8@s5Q|A=1w~i8rnUttGFHEh@!5n7fQ++ReTU zo@Dq87mtfVd0Bwvb4exygl1cR8Q!n_;6})Q02%?Me>Y?bk^7`N(Z8&G)dDfxF|*<# za$GdB>=k7RMXS)6Z~?xtWc)uf?IB+#%%J6a$9gDf88yJG(3wLw-VKf*AcvYeOIHFlTKXpTzVv zuI=>=;BI$sGuLpLBY4mVnz7t8JS>Jvv3b0j2k|wMzM;_arR2E{JXF2-0p!ELcYxyA zYnkMk$R)ouJG;RXdygt=%=NTxuds#8maGQ&H;UMqFhvTbIwuBo0EqT|0m*Rad2ZfGT&LRVa&r#(O1S z&#UrzsOxgK8rJRL67W&b|C|Z>Z^~G#m5=y!qJ~}L(yoaf=1g=r(UeQUB!m~s0!$Pc zscx4)m*bGuVZT}dYZ{zq(oa^8qv&Q_>Y8+=!_70IilR+qVi)g`(1W5@W{l@2@m!u| z_A&Y!cQU>N`Oxd=;huv6=`8PsX22?-p2&R$e~7UjyoE73A2t6QX^*vtt7;d%3b}7J z_MQUD9)}@MsKGh7fku)3b$#y_&n;co$K-dNR>D;{|7@E0QJMIZvTGlFc9+qRqQ7849UCybS9M1hX%DLaK7`(WWxlaGhIX^yt z+A;uxk6PTX+{K-Xih019)+-@pG|%icFr^1~^~&a{mdi;cW)OcD=PYsz!gEA)u4^1U z9V615SaZ=2UByM*?JP0VbVrhVNEEK3NktJ6;8||=%IiH6poqc4(g zhVe1uBT>L&>3S)O^L&0P`Yg}jnk)SODGB3}vBn~k!3*^8wD|`6kZ)eT~ZVPtVHwicuqiE;6k&+Ukzu`q7=e6E;bdM;g?9TmgSmch7QjG3?yMQ=~Fb+Dr3G=w=aH5H4T1C!al-uPnO+C>RnvxB=UX*f?Z57p(}*^DTsYF|Zm?>3ln63cKxn5i{)eUMKaty|@5X zyWN#UayQ7d-7ZJl#3bh~<7Zv_CN{^)<7Mbdda$HuIKR|uQgiQiqWd;JMB7g&c1fOX z;E|6XP+QXE2u2X!jT&=0qH)kEhLo7dftw*XH9%6@wxQ#jK;N3zUb|J{lG?D-AKCvEIv zF)nZq$`$HSZs*zqaoIk@>-3p65>cvVqQ69~#W^&;IF#6FEpBPA#FelGz9)MPg?utl z3MgKeLZ+~Jv-IC)``I-wF=T<&%-0xVwel^xc*N79 zAAuZwAUDtl8 z7HG7vKiOq^I=r$GZQ}U!t7ANCW29TkX)QIqHHBOhw+0lG7o@{S@%I!;VkFP3i?D9Y z<~a^>DKHOE_FN8`!V-HP|2TeHAs6Lfpy+Ch4Izu~!-JgQDAyj3ABOTJM2)<(A1;ET zl?-Qo%kv75>A@Y;P}{F z=U@$vc<~t&pY^(UJjTT14|ovgTX8IB{1Pih&$0#?(U!B1lkZ|^I+kIK=5e(5%=CT< zm~^?D`)DLR-FTciCM6U_iR)c&Vn!q98yHsA*6_U?|FMQ)I%X1vLVJkC++f<4B;&am z@tBYA$)8_=+zNaGsCfPgnZh>PpN~_{iUl!Y4&A_CmIHQQ$mH$PT*@epVscsWxXWN`KvcF20#^gdpZ^GX3$XtGWPVfryt!+C zZePID%>KY=g9Z&Ndukh)wzWt4EwP^Uv8tR^&P>md9x?@0J{)I!0u5@hcnc1_Um9|f^yim!ZF`SMfA%@A=VmV1tsMOh z40d0I^@d32RLQFWdh2XnTOhv+ybmZ|{VtKb`q=$}nx`9yW@lq=f|qpYHtRL(u*KS} zJxn~-$j1wY`0hse9mbNePI8y=uwQ$-$C-SP;kTTHQE=WDn3d$Nru9Fui7SlJe5hFx z??TZ#-qqiMd6;5yaNEU`VwU0$^2{O8_=PzmX%e*zSMgtI`O04ypG=!fur4^8Ut#cZ z~I7!h0S(5>X)5emfymEN~>wiKs7Ad zFlH_)$Ubu5{28vbCS-RgdBS~(l|1@e4zKpC$R0TpH@fErWa^a5E76?!APWysbXJKdo_2>p~Vw?f_yya*^ez5)5~fZFe+%8w;o+fgm1 z!*pEPY8tqrMp~)%RAS0)@tzIw(`m$iG8$+0h<_cGS*nhAd2FqebKOxfeO|I=o%!K!a5-}0W44!6kfyp$K6KC>TX{qL1 z$!i<*s{HXbh#Ht&_b|EREfT^@Q3R zi33mxXW4ULBdsLgc;A`W{N0lcz%GP-4nKNWPF|GMgC|i(=wXbVU?BEcM!ODr%E2G9 z=K#sO2D}pSJ*DprkZ%Px0E+j$kSRpY=XAomeWEkAXtWrRoUdJ(l)(p3dKTdDV=)lf zZ0kLQ_vYJrSv@!aDS*;D5;BFlFJ=Cm|5=yi3Ca<%KCX>DCzlUR6Gh4GC{f7i|6*v3 zNja!D$O}ldxO}9jiX7-Kq_g_GthQl|P?=yd8KRP&{9U zOyRie=dyB$V|L!+<>d<$+x)r#EPwg{sy#nt+S+6q*7x!%b1;b+1N!Kg@QKwP}|%YW*;qdL7q}w0j|~k)m$LYD(#G*q&_njY(faq2yP%CX`Q4gGu0u@UASphy3O% z$iD#Wno#`HAX6x@=S90%*BBOmYTuOnohC(30{V)@wSVQ>%RRGsFHZu`!4kR{Of&Vx zE-eScO8TfQighVgG%n?5w-1cgkCgGRfqoVL8zJ8Y+ySWcxeqdh6V!i_pISi>TQ*uO zWtgwE^|UL%Jh_BHYqj+r!h4-~FWJSq7VG7J0HE}yK&DU`(LRmv*SU3ACwEc#(%K2w z+zZRdW3P7M%&Yf$WmtJQTE-oVdUqfeoXQo@C8O+g$NN>huY`Ova2ufXKL(k?ckjvk z+(o*Oe&LlORd!LTq>B`}l55wbV9&mhfKjbpyeEc-{LIB%rk|3aKXP;i%Q8mtfp&_N zjh4KeYeV_C2yzK<3ZUAX)sQa*;y&ugYfoqEpt5p^U#QmY#CS_r*p^Eud6C$c0mUK) z*J0UaN+xWWG|rr0VFam4_h4zq@aVBbc@SnCa`_5=8GW-1i%;($hRDZbWIUR|QQ7xB z$o~XB1Srs79(P~9_rVIV9w#U~DZfbCXUg><`z(aK z8dw7;UYj6OSZlW{m)PyhPIwhpFI%=$OwKg23Q-vh5TDI*-^g@XGwjy2BPp5KQ|06t zM!wO@a`G`&4`hH8p6bYn%1DBr4CV9qWniDdM>FO4<0aoC;1dKNDi7js!1_NR2T**c zK&H^ERr>v*kL9xyzRRmCD;JcD6H?Jn{Zg_ll`LDi)|8sg+t~#$U&d32qqiU`g9^&a zjWn!Q8qJ2w{!Ll2 zsiEdv9OgI6aH>QyR*blKj((w;?aC(WOyiZ9Q=W+n{LtC_hRtgUbgKGzE##+wmjT6V z%FUQF0**W_`=`dbMiH%TUGt*V0WMz)dgm$ad~(iZPb^SzknG?IBzYQXA)-^F7w zfXnC+XZA?+x-gC6=jm2FmS;I}12uZU&I}`9Cs~$$xj6_GPZV}>rC<++H_3(V1Xv4{ zrdJITV)Phu%gwE9svl`OJr|GNdGxFLjXD0yhCFA8mq6;RO9OsxMC5OFI%g zK`#yMy%Ndm2=tcNyaF&_PoNK=>@)%L3?Op8Wl7g|B7U$F2EiicTW(BG|1!n%wXjuW z2dJz0mf&p3b0av+w|PDX`4!*|K-upT$P`Y{pCtQr)tlU9_a@)t+J^K{@gsVZ*0W*- z^E5iwLG&i;=`sd{!dpW9$Wq8>0u_L=-_?+B1R}@x*LH0`!H*1h%=rGJ>FL*{dTvZr zs z&y{=|z^BmW`xxYBfL(yH>-&&D0V2nbH=e+*osS>Cou2;ZRL?VEh7Aopc0PU_JVo-% zzb%x1N+DMRwScng9gr!kwfEa>&g^vDQSJ!pn6uMb_2D@d-99e^%w&LG67}hF_0$$6C(D@W_51oP&~+io7fE)*i{o$^%&Xeo&IB*=a;mQ z1Djmr{IbwQEB*|@f12$F&|PNp+Y0#|;2(gp@2`+4G;Ni3Eqk&P`(mdcZd#tSyn0#q zS|6;5dr_`}dqggc`$0ZNh;?%I%D4|4+5^3(k#TXxRM0ond6pPldX#y8Wz38!a0n}( zX5h@QnK*@VIL!(z=U-w5UJmuPohjon|MpNj{c6a!19t%`9(y2DI6;3?+E?yi6209; z^pp0bYYF*JW4t%t1;h`a!PoD(cAz(HRF1M7yr(lJ+7Z(OJ~I%jcB1t}W_o&|tL{#6 z`@}+8nq)nX|C{mn_JN9;vnBuFhEVx27V=8q8bJBUKFD7HOCFK-pJJcuHvf2jvJj)P z#2>zb$-+D3WZ_UT2mYe`<^lPr5XzpT9??OI7l>LGPUdboQ_sVGWYoD zsJi(`s-Q6dixmULY24=wU?MpIO~}hFmvuMVAMQ#=KR&qk@NC!7-UV0oN#MP%>f<}o zTg((;T5A9rmpGc?O^grF*(n&@Z_sH(|5_LJGY&#~BNOS>uu$5k@QzS02Xr=FY03VU1AYwz5CS2<`6q_YjDuZ60C&20GYqOLh?NXKB_*5+K9F?Fa%J1&xcH*?0K1<{?7MbO1=>_ zDpvLW#1GS|-e=_F-}3Pq6F-bUEDEqcxwVFqW=0fXrB)438cZeFjQ$JUdCm%KAMDQy z%F^$83bpshbf`<{tbD7!XvNZFinkX2qP~x+k9_g@0~3!C;?u4~ zKDD%KGLJ3Y3OX;`wlWlKOxm}(O7hRYD`ekOAy)zy0E+)@kSVOO_f74w*X=~~o5TF5 zW6Pq2JtwD7=Zf)ZkDN%|fsI|6Y8W`QI)>U7Nf;?P%a}&>+!D-8pT)&+5&9Lj--D0p ze>whuJ^+vasB&xo(PQk5bsr{&Ko$;>|Gs#U%+nbfnVK`$Ns_;ZTic)hWCLHWTU`WA5 zlFuIK^W$48S3igBy$}200mY{XGKKu7B#$o6@sNCIqd=${u4ijG&DX9G=^7+4i9TdH zCy80y+f41FESx-n36ViYzUHE%3OHNYBI$@pvpUlpGnkiP&911diK8)bYN-k0&&)Y&;;Svev5Vs8uD#MtvD z8|wG#q8x}5pFPBxD@9JtVCxx<$RANXBYD#GM?fPR-RCH104)94v+_f9A#R44iy+!7H?&kIVdpNi;2NV z12vXSdfG0Pyn^?K#uLXtJ{4F7sCwge$PWNZ?0w3L*H@kIOOgDFt1DM7lRG2JZsvj? zD_ekP4UlpU+4>ob(BTY@fuHlS;u9xvBx@UUMv=v_n%#?1dVn!S_urmV(2z55UC!9+ za|T|Qx}bSsb@V#Bql1e>SIJYtFzYbH;AT z8Th9h-{w#p(fisd;}V&y(?)P_c07vhvC~xL*azf>0LJHbPlX;@o2E^KS~pYY5~*U=%>%cgBm( z(<06IM>)0j5R_qRO@uaEUp?Nf%DX>8-VAIB)3@Vz=Vj5ncqo2!dRF;@O48Q@k?Wyt zg+6sLp8rbeA8mNI@{g21!nQykfWq&L-vs+A6^f(nD>9zD!{V85>#c(hRlje7{1ot4 zfOP7B^C9p83fp9Px91!AtnBQ(yya+x$e2&9I=32S`^uUQJxENrG&;qEi{q%MQ6F)< z!UC_diLWsJDx0qD?Kc>+#Y1?OF&pQ9M&Z_maeTCMoHY(du#Mw|W}Z2~obGZPng574 zwPwFQQkeh%~bw0nG|7>yxHNqdE&D|b-BIi(mcJ4LO-Zh9* zKE5aay#eymzIyQXm7(FeH&ALaJ_FgNzo+<-XHya0n~ zZhnASJ)=Kk|H&=*D!1>KxxOR0jugarl99@5^#_=BD(0sy<;~2ofZ9(>QTq19IaGI= zMuFZJ1+Z|zn(L)K>JV4uf9oOt0k{uP_1?pfDV$(_&#qT!oeB&QS_koX|A=)EEw=vs`nl4-jl8k^~uB?_1+-dtCr8L!7tt9TM-YZqf<+885|$C*{u0Q)HZo21>g zfuHiD{g8hEoR5V3XawYGz!7`DP`!PwSYqe>IoL1kz`v~wb<|7rkpLtCBY?gDRbok^ z@~RU~lP(6Jj&kk#ygcsDDCGRkyn=i4((lRh-IW*3W8G<Ex)`Os+SPWyRWH!*F?0Bq-mHB5DM-~hB>13ZH=wg?S2kHSBN z#(7I2p8}i)P@wdja=dzZab@*_yu5Q)RxK>RUsGOjYY+4nDjMzgZ^pY+y?6lf$H2FM zDmV2lxXT@w@vy8X)V(=}I`?xk5@%61m9`KMqs**CxeHYvi_<#})p?RzWb z1FN9b>iL1?Yqc=-nT4x&@JNCG(s6GPH7$6nOrQDSM1lPGYRI<(cL6GWp0Izf^5^D$ zot87<%qsdi+4KA!2M7Ukr z!TET|4%v_g1H%Djhl%#@l^uficv&ZU<@rqQ>SAjaq40E9lY8HYb5z|!ad?!MIVe@8 z7$fYCZ-dRF!PY~5vm5ejz&=3nc-Q{D@^kgmSf%_sOoC>nrn4N%-6`4l#V>~b39GGGy)_$-IqO}kWxeTSVGr8&L}qu|9QHjido z5835I$UgwT0E$QKlahz39}7DhPnYL7h4CPxq&4ez8PDsiS??!4dp{2o>@qOY^G^Iz z42S$3LUy1B%ZC$P~I^ zuM243Uzj&{ZLmW=PMb^8;?VmGXv zfaiuKV99-wPm`^W_`C`EAkYdZK5h2z6`wB3XNOqyQ6nj*^of0zJ6CHf#6C4eeR?II}X;ovVRnh&D z&wN`S@wpuG&A@Gdvd?|?@Barr!j~J_TDj1)*L}iwaHHMEU@?vlbhBQR`A;>@6`9}v zfaG(?)<=B2&tTmLkO3$@d62tdA34vo(4NN+nWqseKg1$ko6ajtd#_J1&WN$;oMzL} zT5Udc(5Kor_d|XZcmhy-o`)>>*yro2dubx-)v$TQW0I_qT`Cvh-iv&7(kQXTDh4Cg zZfeArVAvxXLj8l%KF()D{+tat9~cZMK4a|PpCG+tf1Kts+HDhCGEJ8QP&{IvlRQ;BP(3^NNrwwVcN!?>?qIXrxDfNQ^*ZYDvHVtkhaT9d zpUvXfNw*>27?)*^-Q+m+I&17@srMRVzjKd$#x=4{ANgaiz)!sbhxNeIuDEaAarYQ; zm&aXi#XaZPX~~qW58LGc_&M=C@m~e`QlQ@EOzrp+ock8uudsWn@!%b= z;bdDGHcLItVR}A>{3-Co|E8z?>gjMzL0eD$_E5jO67mY*B0#0bC6Fl`Z`?}VH=RYJ zrSg_g`~F8%N*(V;?0@buG<9OJMZ}4FlFruN=4Wf#FtxcAdg^Und!Sd12mBZEFT~?7 zAzlXL6Ya&S+QpJlOk?BwZJt`kx2e|=Q4=DR=giPW1 z{kKq8cX@VRRtH}W{VLlwPSJ4DiJ7Zi@0v?neS%b7m)U$;p-=Hi-hnYz;3Pot$%ahf z1m#M&A9myub}K|Xp}~UCEbW@8S(-Ln>|klK`P4w4;`0pToxlr#;`3L?-QXifFgh|3 zrA+(28vI50ZoOl;-J0CaO(=X+rk{Ujh~EszbAWk(;&%q*Zt$aa#PQhKyMB&g^>Ru_ zR$7V8YcupJ|K1DvZQxx%@%krZ3X%D)7LyWrc}vPyEa`AVFdBbq!i2gKB?lSyU_Hcs zW10bIgXut|Bx*pE{7Kp+Ygb7BG|2OSGXbT)46+Cj>+7Zdi2I2nwLd~5ky~Vu`~%kv zK-;S+HXGt?? z4Ub9v`Ok;+mqI=pSO_Tniy@29EjvVL7uT0uAZn)DU29GJU)j^;RNeTLjATAY*hUPOh<4kJ!d-NWf{|P((&7pDNnULoJ zX8=m?*^nu$iHLuPGAyJuq%_}Fdb(zuj;d5B#d~UOy_@k~72nq&zYQD!l-_?prtmxB z+g{Jbb{b>xI<3XlpY=j0-cumY22KH#{`rt8bT{5%$~%pDev`C!Bi^h0{jZSs0xf{j z`xayh-Su~By4z=9ii-7gRICrNm71{F^UO z@`9JO=lTHBAfOp)np`Wh`6TWR@hOMA2v`D8`2U1Yd&cOf>t@xcW0Ye{#)#Z-nr56v?H2NhR$FiIuOYqTAWs0M02Ig$-SdNRZT(>J zewxuwyh8K;S*CwOn4ZTWKMgzwsQB%GOrg8+qlS`j_+z6c-cw`ib-o;mUmwW*fB}Hg zI}ox6-OA_fT1N|m&ex3jWYEO+Zl=~^>#fIoReC-E`4Ql8KBtE4mc8*<8eV zxoFhj;=c*`$cxb0^!Abcrm9n+WNIUA^jPU z`vU_3rGF@73f=SX(8YB^`{efG4pXWIfSvnx{PUl&%R9V33-71?@uQHp1Fr&t=1#tvmEy8}&YS=-HYv z>mzP`$a@{)eLmyansyCNBE|yKpr*~@7VE|PF#J$!v-#$~60+AE$fpBm1Ik|IkSTOG zz1n-6$4@S;=2>a4CcIzy%bSo70v`fO|0j?sbT7R+YVW#s!V9-a{rRtk)}fsNc?qx# zQ2H-`OkvCM&!uTsd`w51>>$<)I;wFw1X61QTnEtR7&&^9)@bwC20h9S??e6s_#99? zzJg4lyXhdCq;k-VC=|^`ANCfl5H>uYoK=x5|wO z?I$QZ=)EmAk7npm?S+pae+9GwipRH*DRiq{ETiAvCOBTZIDfmeL($%l{tC!dz;Zz8 zUkUkl>u+xZbj_f_*58cx2cdwE}J_9%hAAbvu8E`fXl&;TfVtcOhDck!W7)Uc&8-Qm+> z^J#^?AoLL*?G2CS0=$6Y1|k5=d@gd$1@tHq-w0jYrEkpY=P-3ji24I@A^ zhvN1T*a4e!HpsIa9ZxWKlc-*CYmNcnV$jKYP`n%;jk}~>YM@Wq<#x#T0uKO+&mSRE zh)kCb{)qhAfzJf7&JA?D{vpxKPj$R(!xv-quN|J3`rGh+rQh?WM~ej#0Hr?}GKI+X z;bG%wXAC}TDNf&5es1}~ir^)ekvEjg5$)V6%|K(ji1(!tSQ%<;y-V<3rT0q6HvzW- zO78~96uPXpkJXw`R*N-7K5QF!2ouQ~PUgdXe>l`d44DO+Wqc3ey(<0t@5efSU<{zz zS92iG2eKmS>pdgodaQ-ZSJl*34_L8sL2YFPB|L5;s;Zrf%aSmCTvNUr%TBxglkux+ zD<)!`oE!c!q)PyBXwAmuT5=B_>#?wA3`>O*T>)Pp#siC8WZ+{aF8S&Uf3f*Df}7&s z4EZ&n1yFYT1TuwD5&qjXsp9IIRphz(6V66B&hYqZN(YV5;eS~Xw#$cz!`K`tuyoa50A?solx`!;JShe~0e)`6J`!sNJ*J=li;}Xa0eZznucP3|IuH_$`M_ zp&R}d7QfE@?Qv`c=*r)U-jICuK%cVr`;fl}jCVuj@es(>B$Vw?mzl$5f8Z zEtQ4uMtSGT3$hHp3g5Z4mkk)a62~0i?&}HKgmje1ba0Fl+mKH;`a84SW>zuJ?mLbb z=_eabM}jj3J3suH?t)&9RN5Ro~7u*sSMf6VP~gQ^so} zIIDi$(~$oPyb35g{|K2vWWVm1d|itf*z;sj4H1V-4PCJ_S39*m#zopDl#XR>&HzXHuLS9$>hh?9a@%mw7B52Sw;EoQ=x8pW_-;2RbV};DblS ze9Cal%CO$v=UBnxEcY?ydx)Jf5PmdB8f49IGd^_w$SJ`Z$S?%I0iRFtEX>PTrt<E2sc-YFx48Rl z?tBYp%-qV15qoe)^}N@)V?VYlIzHg3Xv@HWXYdPAhL`f+7>Y+e*EPd4n9q*JFK{Ex zcy<%#St#+H3`ONdKnY zZQl>S=Xmx|_jEVvFIeJov&~FAZju+CO%UJUs(3QOT~XT0FhYvcZ4GwDThah7T(7!; z#TGP5yR73A8hGz@+;W@NL^IJd!#KT-jpVBy;}gw^+sGjIb4RQ&$TBSc7v{iOjJWCU zRIEy#%3GN^h?)e43>aks@6B%J{3*t82APiy5Yf_FKbH2G-x~7w<&ZB0t^iay`y^yx zhlqU>9TVU7i)Aa}7U)Di#zYTtkMSH<-|8tA@55saoLLg>cH&}F+{=qQkqsPh!jr6Zn|(V`lN#cNor- z#^1T|H*pd0sN zr5Sz{{7l-#|53;;{UMJA#sezd=0m2S?4tGwbee9`9!NTD5dB8(42@q0ZF`JII6g9Q z*vtf6p6i5bjbUhCP)=Nee(PY~$L{86C5I%h&CsjbL(Pz10bU0buXiC+IDUHwsWi1} z;UHQ;ZTLso&NM~)$iPZi95^cWu#F=((Hd>N!H+}d5pN#{Jm+)w397%kM z*Fj}cF29fC&P@6N4^U$Vq2^0zrvu=l=F{T;g*FC|1t`Cs0C^VR+#-3ZcGy>M9>=d2 zRnP!iv1A`vK;wEw)zILWYMVqOl-2 z_jvIsUn$R7Xl6H~TDz8BobXW)u*(`lJDVvHo-!-zH9nF-h; z8v2SaNbD1b7^<%r9@~E;cjtDBGvk{WOEey4`b6YT zah@2~xgM7GXhK{|Y6cQ$P^Bl(jIEvd`EwjP3uxr@fd`n2YF)?doMJU ztG#Mm#WfsV6hQArp5bYthMbALo+6u`&MPon5juybp-u8D`833@67t2sYC!R8f=r>_ zo^Md=wL9`V7ZWh(1km^)4WJnQpQz-g@x!3D*Lad^eLQIR1TcUSkJORvM<<5v=<2+_ z&KR!aIo$G{gcA=@+@hC@3KzWr=xzCrm^fZi$4Oa8tE^3%X` zfa3K!WD4u;@!I3sZ(jBCMbdr?L|L~N!_(_=T(cWrCYr<2V7bu7sm!C$X7flq6ylK& zc{nfzP(03sEdKtLj^)TP_E8+r^}LL>W9+4wv&}5hK4hnk_K73=U@|_Mo?64Vw*T9D z$v(RwzXf~@C|=*#zgKoq&yKu0YzU~pDuuu-+73|ifIjkmJ@9}YxF1T5l3je{P9E6B z13RhxTgX>ZO({dkcal%h=b>@^#gMCj<$&U|5;BFz`HZmngpSn0vnE`>tBL4lTYod& zpNRL9JwAcl2K*OL`hSEhLRa%l$JKt~iKhDhN;^#XBGkXFguEJ911KJAAybGvcd?^- zI>?SX{jy}r4lA0voMoyrM(aWJ*T0uMTA)YS<7>$O1%3n+k6$2D=yrOb$w0|a(#1-e zR$K3sFGG44L9PaB0j0MNvIyNv2dOooWGZ}frtnQPd8yf}T@qSDMDJ_-LB@Lz-mlt6 zZIFKeeg>3&{*}}pc^-jne=(s|RbDwj4(KnrC~w@vIT+%Yvl8bvEvLpxY%rMS)ZQ>g zYN;u>%^c;0{gBaWwRsdtJ@w>|3n8BioM-DMF5379#6NVY7faQldgfH9jMG|-I4w~} zIfar+e2G_x7aWoCZpORSc+SU=4+Gx;D&FS5WxV~5$#P2VQ?m7!SFFJLNqiQI2^qu~ zy=*nOlTh{`?b>&v{k|XL_uBGwu}6C-E_dmti~Z}l=p_vkz7F;C&xTwL)B>vg^#tU-z>=M^y^*i(Gw;~1?WngyKc9YeY$v}(Ut{jm zS&RO&z7Gc8Z#?4CUdHHl(28}U?PcJgLSG?zx2H{{9)EFB06pGW#&}mfn>>!6o{tVi zvSTu;{-E8#|06RtF`UhVn*^U`ystUSxq^?2a{FcnP^7=l`FZSLoO(q!Q(qRH`=(#* z_#Y1S>x&_u3!D$A_-})J0664rq~y`gTr2Ic`FQbH{rY<2bMvUq>WwqS=cl@OOc0-g zj*4jSi^AXwqK$5StTWyj>loq*i~M~whUK1m7YkTJFy3KWC!2oH$?^5UY3n;NG~(^rdMxMbUW_c4&0T`1$`6ieEp-LxGWiir<5fDI6z$i{!LbSp4#jx-r)* z;@5y<&2X1aXAzvulSKqe5yg1V$rz_9;zJO@I7IP(ir|{C2sTB__#FX%)xI3~4f?jg zL_qoT(~$oHM8>Z!t5L)|tlX@qt0}Kqgn@cW#IT<)udc-!`>-Ei@c@2+R{Vn&nxRgh z04e>ErQM4o6yilI)Wgp+sE_EyAv<~8=;^>5M1WaF0HYi(+yk2KjPdHeC^H(jN&D=d zWAr4)Yebul7{Al>87?n+@JYPJ7=n|?qA~X4bGhPZatojYH<9E|T1J8BVLA9ry##lZ zAE9_t2*%p!|81xq9{_n6FbYuVUksT->HiyK3Uedc5n=ji5=+!(P>X?=bH!O) zbJn5l{f>eA^olawQ79)oYzkfAGy%I1r~+$PwJc241zfP#PY$zC)=aEz)rYmx#EvC8S1cvi11?8;XAc zg&UHhh8Pu;?d=@jwC z1Uuf)r~Kgs$ZrDg0E*8c$iIh=J?Sd>T!)p6xNFho^BImwWs=a`5Fw126QPDg$tVB& z5T8kq7XnKF#b+I43VZDN?KOAE`mi(qAjfFt>x}0)Yv%LB=L<|c9M8i`4jAuQTK)ix ze)Y#e6z?)C+BXZu!+K^7i;Xf(ca$qyFEAG;i$nOP3di|U91MRgGxMD#a_+jVr{vuV zUdn&0AFvh>@B$RN??0k-CJJ_YQ3&wqrz zFc&IWi2gt^`U3~B7DQW+iEAFBEF3h4F&W!`DveT+Z(3|VtG!O?UK7Aqo zPCj8SRI;d@4^DizQ1TfX&S#m;r!hs^r^ePt?c*yTHvkU+iq8}F?^VBDJ;VH`L+8CV z)Op{ckF=tn)B{`ez@K0Pqoj0Xc68rBX<#;zr;x7^H~iM5N*;%#9??%Renj61@B$Qw zOUalAgdCrFxGU!|KUbA-)a#Le1Q+8Hhoctm7bJ> z&FOZz@N<|wATI)z$e)RHK1as>obxMIol`InIhLm*`svz3x_Ya8vwSPspZ0qkJQ9Bi#UlrDf1p7A?AUk= zAGiSehC<&^?TZL~;o6|3-hO{w*!!=Cd=qd>7w;c9WGKbQ#QRO{W&okVeou4Qd-g;A zJMeDT?;)Pj;OpTWG8yqHY$0sWY`-`7YbgFhArA*e%by9qt{Hbsxq%T4j4Mc|PSFk; zDcaqb|D!-wRz-$w=~i3M+AuwhkT(I3gy|_dRu5Vos47J5gxFvO_CZ>P{fx>!lwoM` z1in;;>gu@%1+|J(kbqGY6G(wZ{u_#X|W(_zTp0!QS} zWPR6FI!(ao)`2UPZj$iaP zWd|A4B2HhE`3jEOvw4b5P$;NH&}d3ewTiOtO&DZG#Cw8>u~qxL1Sl@ z_Nimwd9+R;?2D8NSC>(gxs! zDA#qh$4mY8#Dxa^Wys}SUAnx;C`dOrI+nj#u$0mvpC{BrX+(7(r6gq+*xAk`zlQ-b zl>b|CTQu4cV`aWtVubS5<&f6`HvuYN`Mb(j=zSnxVF~ny33MggLF0x*?W5=cgTwL^ z<*(!BD~rcaz5?jx`c7f{ZKOxj_W~V!7uQk5@X*Iv`nKZ-+&AVJ*Z6%{MM6T}SOL2icf)Dn#*;V|u4oU(t{wfFz5 z7j*z72Nj_lG57yTtr|lAZMt3WS>E=3|8J17qe3$Q3LH4@d`$Z|j+hq;@AoHTwm4Zc zlC>IJPZ8d!`q_&hF9yyJ)3Z6^9PqGyW#s%*sJ|a}1V)3cXLFdIy^!|-Z~bq2LjCwK zJx#VAT=LUCk2(VKWMDc#bspJmCS(ec^Qax-6+RM*dyHv76#pGtGzp{qjvV{&f++Hmnn4c%dyVSYnH+EbvxCrwf!bEm6J(8}?dco4g6RQ?2Ew9Q` zORG-!hb7_5u*$xtiA$V0?$%nd%r2f`6=w=t#2r{rNE4TFnV+&~!}^2;kZG~(KMHd! zC=}AfnnWD>>PPznjknm{%FdHZCa*Sgl|%>M?kG!3O%E71Sh!Otd^DteMPe*KYvt+UpC}HKp~*`l|w!OzwmLF zWBASeANjS}{5C^>5CkY+?10=1{MF_}zPKpj9)K{rom;VVMQueTDB;HIR_yc9&c-GW zECUKK0~0NnpJA46xE&Z{4PXTvEjYy@Q{C;R(i=wO(P%(Ki5WSMf$KV`wXEZ+7iz3x zJ*((`YbCR#9ZNjk_H~F$Ay)!500rV%8*y$@7|)uD<;!q{k?P2v1+HgdcSS7fB|lHm z(FDW)H`#ic?RSzr-h%uwa0pQ8&?BXfuvqoy*SvJjJTTERTbUS&rRLWJ-r-haHS^3uNI?=@Y_;5{?Mz&n`G|iRz%X}e!T?zRL;2J=s z&%KZ-9LI0ZUr}0Ji*?nMLN(hMc9i015EujJoj2;~d>HC}-Qh9%VtJz5Ntn zPOa5wsp3+NJ9VjXEn2P7s-@LRtkzn~SO3qMc_%ly5TyUlZ{l;`a}#{enKS#$IcN9{ zvOt;_N;x{fCk8%LPfEf;Z459SQ2qC1psxoOe<$rkn!c3JlEeFNc%R45lTN2IE(kY& z(=u$`#XV}MAUCb6uNIe!z|gl@8v2IF&{THG7we)cenKyJn)>4B*bu89?}y6e8poyJ z0%x3ZO6Z2&g@zAsu3={yMej2E8R~(T8slIb{0i(A$P}1*;OCifwmwC?U8_G)=Klcl zmf_{!js&$ZkOHW3$O28NhjUHJPS?>qKA2N%48QgXoof~x;apQ&?9~IjU$uveKyL#s z_jvw9d+4U`u9GkqY+Y?Oat(idk53!ksper{f&L!&5m5QmqcWd8oWD>$yYZVW2OHGA z^HKOIBr}>R#&N9FIGYc|RG{T#DbHf?Q{}!D^u@q-Pllf?_l@1f zNIboz(!W5IKK3I$e*5ummH!_>`;&uOHlW&hE$EFv!<#byYM!>{NbUSE{_)z7UiCcr zcI0D*^@&lyQu(Di{QpuhRdTfpS;1zs=(FVHiWbju`sC+>Kc0b2M|F zyx5AQhV2>{E1335`z&N`yzvdk)sOjVdUdIe>6MG=RjO#910?2q<}u|vUJKK!UhJOl%i{Uo!wRM#-;?9{K2lzXBA;@i>F0$i-vuJyWg_3h z?8zeE-*(IQW!>}LeyYrOEAm8%`t{dAzYnwns=fWi`@0(V)w4@|r}3ZKcO(mzDP>^_ z`}8x-_?e~+;X}zzNTkZsB)`(sct1K1^l89yK=E4%noC<+QKJ=@QLYLOIR%a#~s?^O=zruTMijPXML>iqCS; zlzOn|tzBEa933e=aG}DcwQ_d#=Pt9W&x}iT?c@R@%`=gYVBVes_mB~M0be40co*=0 zF+NNjXKSt1Qmz*8RrUO3&~F0!0VUU8K_9DJC$3*5W)-l_S&1?1Gvi`dWFRWOw{|F_ z(X|o_Q#`cFWs-kkdb~e79`s~jIzWlqS`YgP-Sr`F-VA|bNZS|^|8JG|{_S1fe-G$; zf&2f*_jes5!(bBDHhW$*@DuX*e1~^B;7s)>IU}fL0l9$E;{ecL4RHz_UH#x{GxkN;-8A9HTO|1!`w0=EK+|3{!H?f8UcV#cpM1uqYFds#Z!6$L{+Y2wdxqsVIH}D`LLtTBM;C# za?laxk*yy87QA28n-@U81N;e4{J#fHN!fcR`0Wt?ZuW6i&(luHWFUm0{DAQ|*G3f> zQCzc(#VzXvry}f)=t+Elm7Y2!5=uqIIG!ws)xBlfDyf%gS@HI?0`zL24p4HP1DaCe zeGgtakX*RMR+#OP+k@AjN=FTLAk;#wDvxL4yvy~W8Vtc!jvAJiM9_F3h`6tF-s6PX9KOYdn!t3wGub7ryfHSiYPUl>oOF2VJ3G@-6i zq{z>tUaCC4R6oxEeIC#ND7h~3{;uk!dUnyvu~bj3-s9IQ-`7C=-Ua;u@Uh2(ct*PW zA5gyG#6<(LiZ-#`*1jbF(LNN==XH^DUMt5DSxm74$8u( zk!SXGaf@WpQGRj^I_aYgdVo04%P}pY7vud$;bMX_fwF~YYf|5Bz2oikOVIxU{sSm| z9|BD&aei{RKN6{?bNYXz(8%IFRUY4IIdQ%#K(7Ys0L6DbXps`^Ry*TmcPa2LTziZk z-0Jad#d|aGVk+;CK_3LZ1{B|KK~qZ1Zx?oj1O9)^$13WizRPpt^MTo*=K>1>N8^lM+@khl=1G~)lnIODy)xy$<>0{uJSX+Y)gRnU}^EAWD(yK|1QCew)EZtsfr& z-3mMhC^=pNP3dU)pKxaNsx{t?;L`1z)IC#s0^8rCHEl9EKUSO}`9=D~`Sk-`3JeDn zzsaB}H6JmK4SMd=X_Iw56)lbIrPHADA%k7;yPmNu^->QRd2u}q0X+&B2PiovfTk2kXwRM;g#$5 zm59HLn9CF*hYoxq8zjH&c%Lfgn?c_T+z%*z4}v}hew|f)4D@afwoB=VX{~0gmA3|^ zX$>B~@9;j=Zv^s#S|-pNQ2b(`DIK}rz*sHwC#(3;PP8`4{MF-qDu0)Q{yA_5pw{OP zfqn!?)MrySKcY^)U8{63G7E}@sUR!fr{}+@hxh5e7jc?q6hFrDA7$aknD0>p=G0Du z<(XEDm0lPj7R6y3^4H+W=k%5NrFxeQIv?l{D1DTAe^>QQJ-vQ(Lv8gCan>d_(vwR| zFmLHFrfPkA!zDx9cs2yJ9__5nxaG+*x~I@o%gcrXZEGu zCd#ENUu@W|I=yDY#-c&9s@Fr3HOGsyzfK<%AzZbHA4A7!6#k*>|Lz4a5K$p=8}t{9 zA31B#+wpLbhc=(KVleD!`g10sYe1vc9!LcS^rw3os@D>j9eye{tT(AO#IS zCE`BoWQ1Ty(QVv9A2D?-2g0`Q;M1qO`1Jb%G5?%UR&XrhJ!M4@Hza5WP`vVoUQ&Oa zEQi|u@p<_Tpmzhm22?q;f_@1|^yk@|5Py~0SG)>$iRvXvs9Ow<7IyjrjJ2>69zdtw zVY~&?O00%`%)D54F49fwDiO+RH?FRg@#h93;Kj|<&M8%%FXfID#@90gL6-u<07@i# z59^qO`l1#xgCWOY?R}PH;7}O*fABQ%_-w~JRlj%x=w{$fKL%mK19+;P%FGP33)}YFw1o|KqU#v1(XVHguo$Rskow;axs=>@fc_1z z7f|ERi=Zhr@AJlicaJ8w+;PN(#Q$VZ>A1mp4&B|{VSJABTt3(+;d!Rxyf3bTUt!eo zm8_2;gv0yWw@P_p#qsmP3ec6nLO|8a8$jO)B*t;S?~!H_v)cd@uOG|lc0(l`f0YYo zr_;#Usl#|j*PcOq6(89&BDBwlfYHVxFSCJ0(1{v2-?M(t^p}|RBGdOV>v^WXz^rGP z4hxN^*ns|JNjXsr1LX5`KjW8qkq@6>a9E#()ue7&2(Mvb=&^iy!1DiGHFvG`BAH*O zB(DF#pvMD~0Hy!=peY@j{=3GBR@ptgEH2asbCd-HdtY=(UCW~M5-C?R_{PAO<|VD5 z+km$LCD(+3Qmz$`%KD(SzI3Y6Z#?z9dv*1;AW6gB!rTf0gxM?dMH2Aepd z2*S7+b`3C*aIAb-Mp(uGw-|SW;g@|=jB#ryF- z_=#A3m9udedy0NfPMhj1E~DI2AWb2 z@l{3tyNse9(|9|59A+3^I?m5wZkouh{%ZgiMIqn}E*WW?VS}E)x z0ZOF5mLB!DXfcIL%WF)#$G0<$HKy$^-I?Y>i}#Jv_M{CJarekq1jn308tF45T(uCI z@9vQUWtFObT*^@oo@(8-6ZCb!jex38H-n~>xb8Z9e@YawocKe&WVlAs$=wAS!pq~T zCv~G+hsXB--mCbULon6@ses~}37S%m@%Ot{=uWQbm1|&9SU!iUGj8BE0BtPag8roS z37Ow2@4ZxS&jfuwuoX~zcX)qS?M6N0?BM0pb!9aflbdgiDlJAUE3B<(Rx+5j`ynh|M;O8zkr2+8oyou{T`6GzFP2Ovv^N;{_zp4#}yWd8K0nbUt@Lun`n-? z?fMVqhdOK5KXE=p^Z(Y^5yrv!U_JpeivA8?={T0ryG~z0&z!aTGVxrkSBd8;{Z#Qh zT|Y%UYxI-FbGg1)JgZk@nR)gJM*TAT1ax@I$~R%Kq;7X6 zzti9!Gn@}qnRi*n68hcUj2FZ9tpuZH2}aEljG84FHB0<@s3fRIO2SvOq>5-o(&A`U zq>|0YPo?)WpFPf!>}V+Bb@ggNz%meTUY5(|vUs`t3G_EWbXdGxt^|D(khm_}UwGS5 z%jGC5Gtz#S1=!(5)8&udR%b68ovX8pD4^fBM#*jZklXdF+w|ny^=A$BC3L&K1yL=q zJiDF^xshevz>=HTakNA`6(i|VUL}@jOY~F4lI$e?6!AP!KUq8%>Wjs5zP?C2=jsc@ za}Jhnm9aT<#$o9;-dno;mJMlUS+}xK6DvH$9&67mUnS!3j4-Y-XaV!&wC zzX$voQ2oo_K~qZkrJNrn#6LnON^+=eteLp<>RaP5Cf7{Kyq}C_jeP&! z%lC0{zOz9u1Wp1J-_t=K6W^gjX+t2nqEfJ4tsM}o4Ps6^(}mb2CgyD(-`#kx%I^!H ze-FIs@gjZqaQ^P)Gp=uMrPc@81xVSJ3^?(U%wJ?goKG3(X~ni(|9`Mz6XIx9uSh*r zl*i>?3VI`OHlXCc5;Ucr*A3m}_f`uX`W5`3&N}q>nRqNZD8`5bhW4;d3%FvQ!9QRK zXQGRv#}x+LZC0|g#8NIq>&&)4Ncq~qzYzRs{N*EqS~8FUDEUqXO{q2^9%@hHU)L2} z8-HB}HMxXQRFiLw22*=UpMfP@FH|U6!jX4ME=#qrh;yS30xn|d5QgZvK)@QFZuTxK z^?I1(oK$ZC_iM(t>U^50CR*j|G9SAkr>ZAUg5C$b3aEVi6*Q&9eWdRBfOes7)Zp9} z{ZsaU?uXDjxz>ccW%@y2UzaeaE?+`=tVdjpDu`0`hLodpl;lJDoCJD4upCfwtn>b^ z<}vEoU5;)?x+h>oV2BmL>^Jm`*Y)%_bSM@pg4vOba60xDAjS~v+u(tI&y!;}_{8v? z$ z=F;>X-@5)_Ex3_yI@*uX%=rKGAC_PE4>OOh|NWBjBmQ?E;}86A{~ex(uK6JvYar|{ zTM_I%llL6@L+>n_Rui9{!GS)fk>P6ZU-t)MA=@lVL3sEfn#N;5ZE9b{mVZzA)`xz^kpkIfGMOBZBAxwH#ai4(dV)OJa5s zHE9PPWi+hxF2kjT=BTJ?7tBVaN($GPk56(bxRb+kx`nf!@eWvnV?xrJF7w}t{AD12 zRG&Wv{ZHWEfGX$oi9xL|kk}6`?y;OZ^)PWw-3H-o)X0YHWUP_>1@;k?--mT=KW5O5 zn}s-yCvvB65+BrW2~TGBfU=?hA`C*{TbXewW1Ec-eR+`a3bu)tvEEukrj*-2St+?| zA>RgIGeC)CPrP@M8?mZf78{?-Ai!NryAUx?{d}rXLH`3%X)pQSeRzj@?^mGz1N;D} z`e03xJQD3P6YImoy7lWf)o+}>4o8ZIMKIh5E9pbVHB8%O1}I;`JxW(Y2p}LnZo|xtnnD5?I<9*!Z`48! z8=VhaW*86Xd=k3~h5(p{_mSni7y7I4^y^LuYQ2D5K-K$Epr-=oy)N7PcOS~9(__7# z>Js(T&CjX_^yX7|Xw{Rl`Yv$Rv3gzCYYhRip_Uq|JuXpv)d>QxB-{MSLjoJShrGX zafQ@eDD&Hh{8Zq(=+8hO0({frQ{<%a5U4W&5Fhzj!N?-tmXIn|og5 z!WPDez<7v7f(ginR&HaN;a*cR?Oxg1g>*WJqRn%1nT}?Wg_S{?$M`U+>uA6hbKWF0R9E2`aOMmP@4lJ>S5Y3 z>p`9dMg9)nhvh9Xuj7%|S9oS>uM3dZa_wO+ulWufx)32GhK;$d$j0|9EAW-&M*Iij zd6ycnL%+4`FO&|XCP)__>c)7?WpHH6E`Tn|Q3;URi={q3Mtje|cd8dn$oEaatpFv` z$zkKgB8a?5d(LNaztPX?BmN;iDoW)0I=ugv-e=8#ZyYcXQ0;0OXiBPnsr|xu&5`qW zZv~&%W)67GWNl^}7mr!5p@rYg*1V(N#NXD_-_d8iO)L2|PqH$n41v@az01os_MGiJv5P5?b0SPUq>r+^l6CfpmJ$gb-+-hC;R*J_^ol*w96`zh0H zH8W9d5Yv?6nrdg`@CE$?rOHyNhZgWt`@V01{s{OSQ2oL;p#Kj@w4W?IhJK;TQfjR* z8+C=*=<0WL`)z%&W~_dQ*$>hMXQOdiYwMYswi*o;-zg1|@=co+*Vh`*8-cR{rLXfr zQ%bC_N2w=5mGbi2%2qaquKE5L3IeoY{0hc1XNkL^-u{uD!#``&}RbY0!ogXK~uW3O^(;9 zpXsbO^)+h;;qJQgKm|! z3ny}lT~GRH87AdA0KRHnXwShuFpvQ#xdwx#l;}6qO|JDdYwOOeIk6UQgB#%5FC!A% zz&yv89}L96t(SLR4z#e%3x^%kg69@VG#a*^Bv8X}DNh6Vm4hGk!`Fg-ANU+l_4%4g z>}LWk_sRK9MoKe@r|q30zju>MPRB4HVXGQsLm~L5pti=Y*UtF>$&Vq5Q zPuGnc{tb&<&x}AI8W@g$z`y)Luo@Wr^q zDe9~>D#B!y*l0UDF$2DirC$)fj`?Qdb~CeRPOz{4Iu@SGC%dLO^LA-UmJV~8ENli8 zVaiOA{%JOKGvn=al6w-CYkVnR$iHU@+VL8*|Hxci;@QZsmHiurxN^9#5VJ7*EyKT` z1%A$w?_w#l$gyij1ZII(VH=Yn*Ip`}B+ILCZhSs^Jm@*V0zlQDpMj=ic=OOB)@wNt zQ*n@B1iP9JSfe;v{lT~eVK8~Y0HeqpU;;U)I>+gptS819i>M~c)aJ>v7yMNH`4ebk z9_EXHl4mq%N{Rlt-Re!@fHi1l$K%GG)!jA#n%UK|(OoNz{&IxrU)RrU*&3fQwcUCF zte>X92Cz4br7C!c_JMKT>NFm5Ci7(Hd^6XV8_dnYVQLU78_LNhe!b4`6GydL^Hizd z?T|ME@=|;F73e2{X91O;cR^E1>_3l|pU#DR1KYz$)5-J^66*erX@7>~L0H(hR)v+~ z%Y^BSkZu{D!H@4$c=I%`{O8B#rN@Jw3CsnQd>cSh+V9y@AGWTge(fxBIG$ERx2~bF z_G*BC^N)xq@q=+A*S^*JlI@w;7U|_ZEAY$%NVm}270ft=7ts<5^X2JMu6^LE&bR&p zdh7!1$pWe$c^dRrK-;~t-`L*RO#i!f-}^`CM<#n4dYwvL)_t>9h@ID9U&Vj4ScCn( zBOVtS;_)OCk6iItEk1uQe>JenA3{G`RNLQWzto4^tM~t<9=ccm*2h-xzvyfr1tz-C z7-ekWC12@7zR~-Ct%oi&&b5BUoNS{K*B|i`_}yVN4n~{+T}Fq!vY0j3?Z@+saNUaa zmFS&(Fz76#byzG~ykX!P*EcY|3A;;nUZ$;^X3UJ8VlTC+wV!XC&L3s^zhOMi-(q|< zKbN1tH-^tl!ns9X9!-6jWt_r4VZo1CC`3kS@1i$h{c-!mw?1Qq{ukXCs6*Vg`LZ0Q zEtKU?^>+#AmB7ycRX^5xe^>j>>e;Dksvq5s#md8E&s3)wb#(kS!ZYxxSRncB#rrZ) zj>PW+(4PPY0LAZf(3BF}%aP_A#JWpIfU4R3x~q{`?`C=i0IeSX@p-%s2AHbmKRe@c^)@TFmK2xQ2yZ{=N58{$B?D2JjA`_rO5D~5M9sv>ul26L)bnCPyewR!wvC&ukO#(*9VOav%VTkFBjgZRXa4wR8cA($0v zRj`H^w(#O5i)6l<@J=;P`4aSxfU!8sNa6efs}#^(AzlJ`85_u&z3PNCV5-l6-;i zepv+XmxcCXVOn)8rc*y>L$3`O$mP)-ZJ~_Tls|8&LYygzrF9E#+NVK0R@9xh*dQgxO3dY$PUWBlX>nOQ>kAZicvC8RDZ4AlcNnhBKQ^c51)hn68I-TiDXISf5djv z>CVxBLH8Q$2V%YDy}xux{QZ@n=L07Kl#coR-Hn5Y$#sGWz2sD>&t|-{9A7CPPk??E zcmq)VoOO!i*?G>>-JgT>81Dxj_$@k*Xyrw*2d2z+n)yW2?IxZ$0I^wSKFTq zY5U_iJbF z1$_`mv|pNbczg0ptJ?Vs>_a%5H<-Ad`9^&d&wd=|aACvQn_&MloEBC0F++s9Si}n$ zPMfus6;iI!Q>EUhUQPr(1DNgoj$~8gt$KFRC(UvO4MBk#u`xK-y3m}U6^3BH5rS%{ ziOEzW`80Ro^C0LafL1`2-?QG|6(99X;0JCpzSEIsRXAVq_-Uub?TV5>rvX_2CF0rG z-L8n*moh5)FsfZ_;-jxLBBAr7PRD|-ZUtl}-zx_9k)D5Y<^P#ezzblQMW09d=|}%6 zqc^(6u0Pq`zY%Bf%jZY?$s?KQNAR^MDwp_STID)f4uw_m_B73uz)@<%-FmN7r-$U9qb0^b=<-vJ|qG{&iIyf8xQ;)utAv6-Dc8`Ax-mluhXP`TP ze*vl;M60ov4IFqz?kg!jpv{vL);V!Gj&P74|D!s&Z-HGu-Riu}gtf;rOziI91ZNi( zDd|&RN|yA-!fB(YMyExmLXdbMfR*lxm%C!+wh z$lzyVJK$#&A?6}xT)|j~w*6brkn%KupDNcIK|csQ3@CXHf~J)5gLjVkm3(%}gVC*K z`KqPw7hQf68-PzHOod~356hBZn64%hkN zg_)yxFuf20yVg>U*-a|hlm*AZb87#;!D8W2}uu#b^F&LiA4z?F}|KKvourxNBk` z&GEy2#@78#$cZ9=vjay3NFEH}5=ApRF@j^9vw4AmfyKyN_hYanP!-zCH;?#!25Ih|ayzK(8KN9f>YL?81b6VJd>13QiA z)0m$xl5w#&!wv+M2&v8E-+=e4`RQ*!KLfl7sQ&D4puYkV>&w0qd)Dvzx=rg=Xj-R; z8*1w|tywXTe!H-qge>ii5v zWhX)C3z<J~qdYedgIO*jxS@OTIVn77_=AN3 zVWw(LUWi0XtMuMqSsT~ya?tC5vjJ6~F9qEQC_fYxFKB;aea5P9%9^@rvTRJRUx=fX zd37#$_J2(`+H`D^-_80jG!`4yI9*(HIEt^7L4*3Ez2VQX1~0$hmEq+#xC(Ovpbwzr znGSj`ka&K+Z_#1xONfIgmNgqI*VE-AovK-jZF3BVqGioSt11C9(Xw`!4>RpaOxX-3 zE*8R`q*Y+|!%%48rod1bmaOO1b0cwRTVbM#!e*{}t%_frkJ} zl!rvQJB2D75SMqBG|xJ{$j@*t2BZUuPoh7~;e4c0 zII6J;cTOFKQS|>ty!Th(UF!Ykg5CyP0jTV~hm5teE7^x=Cp*ktj89`Vu%OG) zE;kCCAOg|*cHyiQmZ#oNkZ1nU7Z`^?6ivQ<+`0!Dwyi$5Snl<{aM|pkPLt2^+qYRJ zRhT!JaVz6Lr7*@9zy7oH#Im3XA-;T_p8XzBaC>lR>Wn)&WXSyFlLw zBQivNyj_u>+dpkY1E>?be=8ytR(F24Vs z*)MtDZI{-XSU~3^BX@dNTZ}}PQjAd1Ct%%rvDe;7HspxLfwXl&tppeeDET*m-U?Lh zm*qRmi?^}8$8tu$*jdyxfBk}qnd=zwc>&E|cbMn!$qZpXma=pNx+s3mJYr!D7KQa9 z950fP-9As6qPV8W;xeD55^7<_CL9DDPX$*jN^2xat6G%S6qFXiw~Erzw5n|~zx$CF z)&9Q*{Vni4Ks)@1MS5`nr`6CIxy* z(XPYWsm3*W?{Dt%{zpOY16~DG|M>xENWYyE|VIq3@R2eSaRKNt$51q2G5Kf{#Q|ACofrSJi66pOe; zJm$AB@}^mi8+6e*WLv*9{P$7_&%%NEQw+ar8e^;>0W%9NtCwADW)+}D+2KHv8>PJ* zLpRfKdtkbgC2 znu)_^_$r8HiadO1WPij$1y=3DX}Pk)oQZ%9If!(H+tBo8rtP z4WrkCcFIGx^`LD(WKV^TZA@LV5zqwM3L~etkarhVmzkLGKMvG43%QP{2Qf2J1wJU=QQ=CYyWt{;7+}N2XMy;f z_kie&%f(DO(}KnFYkFY6?*F6C+w_UA>*gE!&FnQjyk9r%I<3W_iV*mVZ5*%zw4C{s z6TT074B>a}Kp%e||JcS=C2(Zz^&7|BnrEPjv~W33FGnTG z#F{7xSG7!pJM7I2O|wpm?UZ_IA{`*d)Gq!2`UBuoKF%rM^`A(kXC~Uv<*j95ayO z8{%?U=_5BgnUPFQT>c|bJX)J4|6<6d%DDyfi@?W#l7HZtL2Wd!&%0mdfVZFJ+}p;8za?{%C&BB@+o$C8?9(9rIP4i_xS`=`6BV5xz z9Yge$WQjX4VESlv-{>p4i95KLkq@}cz;2%VQZ(?QxZ1(uX>RmchbCBqFLq+EmdN3K zO!p!uTsCE>DE3}{huL>=^K!%f2lWhJFk?FGD^_4f3g3#*w~QcXCo5o z2jF|rpxK+cRu}J=lWNx0;nzI3gI}i~0)2zNkP+M% z3i_7>(u2dbR^JGWHKTs5^A4RqdU=rlG{^7D#;(YBFQjhJ>k<#P$p#KkGn`NIzb@Q0klX9YxiQH#uANx!M z78Cc160c^D&tkk&@u>sd0PFx%{eKR08<6ov_xWX@$9V$!dupI6@5K}~c$ zD(u-}N_ogvKtc0yPZ=!$g3xQ`U1It__%kO4UmL?sw=JIUb3YX|)cM45Op_|&ZU(os zX>vNb9{L=K7g9ZRFi-VT<#kej#aR2Oe3hOJTQFcIpz?JA=*xh__0fF?WPR+CfpgWI zcmkV?_Li>Q=N4l(_6W=V@;#eN2$_)Y~)NsY5={OHVY=RBixl968jB*Q*bGLYT{eY?;( zVvp(pUAxzhsc4B)&wUq%V`N3h45;m=6QnU2!igdy~5 zPEB2=(i^4znjxpk$D^P>0zLy&eJeZGkU%`554G%2qaz1`Gpw z1C&LXoofy4;sCN!;f%!w)~!DO?Y?lx4AZ`rY4tYKEZgLPoIX>KA;*A)n9(~c+cYaE zgE>YHWpF971zX$s>>kgyassa1_`Oa!t=uK^*?>H#_1R6J4*>rFRC&!kUzXR#S7m?E z_=$WTUS47{B!{{VcEUl5?AKd-p4f#RDd;@$xwZ?vi-|9Pmk;^(oP(mD*=uY63>3M> zV{mPCi~&Z@)6AD`hJ1z_!By?_3x6;T9&GSa&kv-bO(dhkp&Lf<9n*v$PMd;(0_O5w zp(3*YljCS^c+SdXY-5n7@QSR*_2F62kqZ#N z3{ZMH8#JXRFD~X!=t-^xy6fp=p#rJ1p7ivPRM0m^(9@r6?c>nldI}t)o+4>!FdHX5 z#Xf}^&`DeH9Z>CNJLubijIivNr}^b` zM_n`iuWqvfZ{JZ&zIbjczgT~YvsV6Z`8ZyD87n?#Q3TH&<~5w3fX#@Ntj*Bgii|+S z7q9L7JLvx|Xz=ui&j@0_CgSw70#PH)=U6QJfe1|uhIfSXonf|nFq~92XQ=sY_)NbO zuMXOXeY4im9XPGGllzLsSpP{9m-DuXHQ zb5WtPK~8ZLmJi8or&%Pom6!c1@KW0Jm&(__t{9eY{pRY$;c)|+`-(SFI0DZ*lr3#bt9m<<8vtN^ZT%;W;4iQ=;sug zgl{r&EII>*F5)Qk4mdKf@g!vuUxe9ewi95Z%^7g)n1Ks}Zep-JgeI$gE%i8UYrK7) z26`p%GeEV^b3jvS_u_E%Jnl?bMhA+?6(bQ4Ylpc&+m!_KN%R$AbS+^z*(o)8d&anU zU#rJ|AKtI}hYvx22K*gR{J#f%Z2V`}oG$o}7yM7w?(5`_JyFR&Kh8gPzs!H-g>n9y zL0<-352$+dSJ37~IPY?0{i)5A&ow>H`!*ryMwj|ky=GN4DF$c97fI*u$89<_-eJPA zV;uXf54VQ7+Ww>wc?JfiFwZl3KN1|bHyCl@tdBrU6XEz_o24i54D?Y;P~yxD_;Y!l z{7Y{)$M$~fU!Llw*>4AzG}3JQI*uvg5}fDGG%w&gnN@49wJtF6TX7+jVy#1h0Cqjp zsVL^td!$}!k!Mvd4WO?F?gErv{slVu;=}c_qi4Nr*tAUQVUI2j&#T2}i>HlWkTxEb z+ITK`L`ohsk$G)s+;yP{4hRwE44T+b7=@L9!FxH=c*aQASkA8&>d4|b^yj+n+6boE z4}_K+B5mBrjRpJyPaD@VYk|>u%b3%+mw%*r^B5R|D4ps(wBIn$jNcd_ma* z9zM=*TDyrZ&BA*2Yq^lU4G*dZ2+weTN>Lh5b<&d2Nz}sqB{NVB47}p!-Te{txO^=RXK;|boxHqhf=%b_^d!(;_kWr8 zaB4J=Y*+!Z&cg_XIuk;SBm*`w*gQq3nRG<;#_Y9k(vT!QDG$aNnudtRFx_f-O3GUc zd18>C#^WuZn}C}ERsTN){cqrqciyny)AQyY=dly0Tfo`yr8IjLGxGr;ih#4kEPM}Q z#HAGk;C|L@IJe@wGb>_XHs-UE(^7)Hd0*IT5;NG2r)B=8T^i5dX`nX)=L0H#&x8IW zkeI&%J?0NL3CHvIG-a}T{vI*3=h8*~uF;*VVcnMnqrD^NFX{07O+^02i2R)p&mRuJ zy5{dI@PH<4VF znxB{QAAoEze5d;NBk1JI(0%|V{|wLzfJFKC_9*{c(ah89uU7I?@ksd(aP5{%A^%?H zJi?Uxh!Yc+zn|et$iW}Gx1WVEG})II zOxBaj-B6G_w(GOF8$#H0qG*x3+<0Ah`xU@@$}~cHBQplGLA2=6D)-5JZbu%J9pGJ{ z_W+Lqs$Y8rG^JA>koBzR`4jewIt|T|8`+Ybbl8zhhaJ1jE5+r4G@CMkJS#&dpCWCd zQK44g?VdcbE8_ls<)GIAn*pWwzk&V%DF0f@Q}~U1Iz6AyEU%_>_}n(V!Fo++ZTh9y zY{#QceD0KAMvE_H;&Zgn8s4OPe$Twj(|_VwG}V00VBH&|n^Q#||iQ zqDcX+`<#L#u7~pQk8mCw3Po}o7~j$t+wGk9cPq_;S1=sE6!miOQvk{aDonQuce7HHC_X?!+8%kZmWIhawhIKrXy6zf?OwRKnb-X6! zcCL(<^DxkhflC1;_n$z22~7Kkly~ue^VTPaY^5q$kwFGn#l5NL!YB}N z-Sz3#iRN@C+kTQeN%mOFH4Cw*#Q!Ez>zh)qi?53NU)6&?2iO9r_Pi4`rFw7NXnj`d z^>BU8m+c1i;0|Gly~})_Y0tqzAk0sI^>sGyMI~K^k}g)xv3PIeTT+e#;8Tk4)c>11 zVapE;0aW>J1l<5U@towZ?8d+7vHzS}w`}q{FYp}#yM3-d#aJsFE)E zneTSwN#(ns5x$DRNr1}touKys2RwiE!k4{zeYAY5I0KzV>7DU|)>W@R8>jcDPhPiT zRrR_->JBK{^`4C#i8gkrE*`Xbk8k<31%8Y9JsX`lX5i@XnBT)#SLi7UbJHSNC*>d- zPPP+;Iin$r8!1kppJ$aPb89448@%^W)Zj85YdXttd)e4i@wqTg-I8OM+C%K2_5_<; zcF#0+b6(9>8AWMe40TyKLxj{_zGs@~24O(`)> z#NqYUbGlqmvss*9G_%#>fN}1v=*4a^KV;e~*r+j`#ip=hoQ<$?Bx3V>QjR9@QRVk2 z=x2d_fRf{{pedEVD9dfH7YFNbIXaydJxS0BeSr>#gt$)EK0zIFu*(F~QGpyhvoYC! zmLU!rmt*9K$ z=0BLWxBzwt2JV|RMGUl==*t&-19j;KQjS*e$p9Z}-|vC`2>29Ga(n@rQsO@O;c~<$ z4OJ6Qb0EN}bQ$9*=WU3;LJ9(|~GUm;3_jeBhNEy?rxVJ_~!a zqnaQtsOvH{!^thp7g{jxKEPQEf6fq(4*6}beC&{qYq|K_Tkpd9;`|wmQzpNku^R08TMsec3=1xzRC{02anQWS zz?5^BgNXi3sLdg|=7 zZ9LVN_Be}HC#9n#U3fl@Fj8}zA6XRJ#{=I$p$)&<2{+;(F@L9%ZXm{>nURugoagr= zf?+bhjk(zvrY$GwPjJUJaS^F`0JnDedgJ)Q#_SOH+QD)>1D1tph-Awnh|nnzEbVQi z75dB%x$n}cCVW`$F)z7{K_WL&3P03o(jA#!`J6i<&3w&MW`^iyb3$aVea3Fao4=cSnmw<&xC+8{TVIH_iKhI8}tv7`Ld83U5JH~nC@N5 zjSm>ZnMXAOoQljKaD6^|of|&=D-u_v#&2Z4Y9Vtuena_c0DV2M3sC*^A3#%D{DmCP zY7fX~XZz|rmqkGykBq^~>+~PV$?H~KJPx74QTBG*FflDbOwKFNcwm*}8kU0+8I0MM z4_jEL>Cc8s zCjzGcO8%=rQ>smuUPk&Jm9@$UVE+ zyk1YXQXchdS6L%q0TYDnn1#DdEj`+ID5k=xM!wm%?-)b~D)|euK4Bp@&mW46Mm(Nb z2*@&;m-P->bo*7A&&I8rDOo|Q*czD}NI}5W)PcS7GAn$?6~V8~G;{9YJmNQd^H>lr zdw!;4=n3G{>J6?@pX*DtV|J=}oN(it%0FeiiSfyN96ZEknWOnQW2}CzF%JW$zucK> zoy%W_84`^hh*4xQh%ZyjI7twNH^s+`aiAvvlL1Pk%cI!g3ahP7Yy2iy^xdwiPk&J4Vd%IhJ}&j2q1s=n<9P3b6hJCa`wV);sIMfj*)&UVsnh`kd{rO8BG zl|=aO51em#a_k152)>g(9tGVBJO?N_UIR@jF|I>r`@=e1 zp5!K1OvcGplUb#mhiETgD@;ZU5!?qeJuPN=`Mx=x@8O^)19Jh@Ud{l0E|6&N^UC4p zHmV#@L9iTpNUnf3&TN0aKFAb9K1ff02K^E6DanaMvM1UTcj~8bfRK|+i19D` zK(;<`O)@!Rvr=mI-d}o4eBM7D^a9`{K$SxsXiBg2eEy*H;jv1tUyTh^yN=Y+$h3zr zHBlRMT`I&VW2WfPN*$TcR`5~n<89EN0$%~De3Ea4KPQk_K6?+Je+zl!sVmCow}+L_ zd{I8FtawDX@+n6cU_=4-N~j#=vIT26Swh7)bR(;*0W25OS!tOi3Q=qDN%ci!rDV6lR zZ!7gLPj%YaetD>Ok4}erP3CPlJj0Fv_WZ2vEG>lld~IhIu0^q$7%V9QnGm{(A>0?+ z%sXfS-5iv1?FZi&_)MVELUYj%2f}(G4Lh1 zE&;s@xD8PHdIB`1pOVWvMQLNV$?|?dKK!!Suhq2{-p9@2wdhh)^?-8`re-K^&g^7p z>U7z-%5mVlEJMDWnJcroVB(Ewazc^LP#&`Dw#BXzMZ!Y3fM>3ZRW4t^EMQoh~bAH#Rj+cTiw z0R9Ll`923tN!{%zdx^LExLWk z@y~8@+{3l|AO~jlXEvZQpID8{~M+Y&~t{AqYZpw;6wWO6!gD>$kv&EGyM3MlmnQQArhTl#zKW;8^w}^?D-$qs~CnNprw@Kf@f5Be(LPC)hZAA|k|*zd^swswPj?l|1}YrH|7+PY-&J?V>%(TymjSl`D&HS~{wJ_6B=fu5v&Wm+L%vZSUe+7= z)pEh~e~ea4P3HN?`NOLTyW zdZd93+JcYZMU?fu48b9n!rCmxhj!+EHFg6i_XF8w{IJ}&=E!_k-V-0!Ye26D&H_~Z zy8<+&qu7Coau%nw93f&y&`kM6F;i}#%Zm#FQMm4=q;g{t3ecoWQVsbK{$D^C=qguld{2~Xdk=DTE@pBeNG|TXfFJ|y zK^FFhJRuNf1wvGK{Oj><#s4zUJAg)@EB|JEPvk$X2mZpFQ)prq1em3L2LVDO>@kJI z^V7#6sB`?yJ>;|NX?}YBPO`ZOh^0cGOZnvO ze9EQV-i}_N#p<)wn0&D@|?<4EOcaTBJnei*w zd;w*EY9Dh!Q`(;3XO^gs4K*95tgl;3hm`ANtoBCimx)#OXz`g&mIqDdznS)gRnWPz zA@hSwrytK?`BtVMK^!%08m1f|4d4hEP@SKsH)}lU#%@E3Z?<%BwVA%2Rq@d_0>9`b6LqK*_TbG^Nd6 zd;oQxny9zql`t*rF?qaiKOltp3)4P}{$XPpw$FmsJelWC) z?GaWl%#lZ8t%F_3a3E%%!z0*JPJ<7Qi3>DPX})3xw*D?h>~z5m`$7Gse%irb)$f0S zPP!ldB7oA*KR{=JO86LYt6?FoC-f2{B!EBasYnc{PD zUniyKCeay2?m+IgS^eJ>zY(Vz^qaS=Tt3mr<=Ms<)Pj_cSCaXd4J}{Qp*+&b$Dvo(xJh7Eqy5GBP=sihSp~LC=A}9VB}9$QrRs0n)Wa~G$`s`iDV62hin5F0H`LF51)8^@ECE%% z^B+X~F~GT0mhYJSX7T?|TXE#_T~kxLwr0I3<<6ofhf?%!CrZ<>yawy3@Q)^IuwF8M zM15;Af6#q?cYrV3-O4}=1RmygGW-_8P9yX6a!ubn;2wtQXck)7X7^K$DzVUaj_dd) zxifrcxdHso1L0~s%BX_#bnb8MyeI8!#K_F%gRRgMgeiexqr)>1#>|cMa|6F|{Ck{U zJo0-dk{!6;p=$zdBMUw>sn0t8=V1Pm`n=Et{__M=LI_9g+aUq@w`U%H;ndsoDq3HcipVv zDuU7@y}q2H>2@hT*xR5@14)d0R~ettFR`++wBrO%an5GM(!{Do}4 z+q0X+|KB_^q5aONUS79smFSzzrogQxYc{jQXSVqKrGBeutL+S3axHMZ;T!Lsr3E{p6u$?}&IC{iX!JnK#tk?wY|&-SlVM*=AnYWzLJf zRM8t#zin=J?XW%hS7Isz*8&`A;r#A7of-q8N5Uk#f%Bj73BKil5j>Y7`NPt-NOY;= zE%_W_U#EvM`4IfFjGctj<&$Zp3QzMgdoHdVoyXkNoq*_Nsp~a$WM8I+$+CPhejBeh zqd`vwW&o<*ECWp`;?c(QFN=&Bo6Hwr2ITL9 zJHlaO!PC7x1;o&x>axh_!%L*;BI?Z)Dc4@`je#%q`+o*~5HKE&*PF9IUjuw{p|`G% zHRE4net5V)yjW*?@-3)aSF>i#s`<6m>sHeoF|WmJ3_M`67PFl_AS%!SA1cpg-wEz% zzEjbESD|VC**_Ema{!ly(|$r02I^ke%FAO#kqvwR{8~#fjT~#3?lgp;9D)EdXbUIc zj)lrB^Gbi$Q9QcCAKdAWdSm!-jNxvRzwib>ZB0+b*0hrsE}J>jd>AZY(uF;Vzl-~% zA2c~k2X3Gf&vNP@AHY;eRDDqOl9jG{O^^%lzYv!p(?N8 z{X(vvk3|Mc%>Moo*NqnF$xya70Uk$V_W2Pk>J z08MGnPwYF++)zuhwjgHS17uw5&Awk`T1TLOk3xMMi%<;SY244S+=p0{+C4eS_r~Rz z1$qUr3Q%%f2Aa~o`=q|qI05bRC=~>8t@A5qze8dp_{%08Idw&ewp`RenhJmqVW) zeVh#wVgrmnHfqA`V<$4`zzF0zE*^1ziskrPOKA(_^LV&joP)$JpHfoJST*QJ26{rw zSe{{f&)^rzk5N7Zb5axpkUfXb;V>DiVb$)i!yZu5pYv!3{bj(b0jC38`fmpQKhi&8 z5p^Y0;dW`c;#7eQSWuJ89OQ&A`_Bxq;J8JX}S8KG( zIjS|SqgtWUWWAI<9rcO<5{=d{~qLb0+@MgJK*3fB|29NShr^+0wS)AG& zrCDAPG5!TTjdPs-5BehbhWgc8z<&T70=V?&JodlQU%AMsz~PN@cm>d}?g;)>Ylv=j zRQmrx{O?46^L$Bv1L$+-sjGqS1l$X7>3{lY9(Fqk9W{j0DK5w1i+*V5`N(=Hf{bfd$`MR+}O{3X%y0*{}5YCY0NA`C3hx7+N0WbyNmOmRfT{XYS z`Kt1hW6WEQbuTR;%fzyAk(_1c)AYJczfe;KW%Dq{^tpwr!klgw({5pWF5DV~udygb z2`!X#?MAt7zi9=&AMhT)rRyW$bah?dj%XhzmpzxMNVmbBf zSOzU2qqXTgpOA_=S?^}NKZ5sDf7l27YryvaxBLsAkmXOkTFSrU_sM5_`HtMtZoQV# zsQqee&{(7PZzdjJa`9-Dj{zH?P2Q$o8B`kB00Y*~njOGyITXiYyY=?RdSYWvf(`;9 z33#|$28==B)1d}pl35%tN$n4zWeDV`VUUiqvT|UrV6v#>*y!AJo)I>oI|!uex)l%q z4ZS1`O+r|YiV0+8=tVB;&7U!dUeYiquF$dk2ARWP(iKX zC&1NjJZH`kk4=p2>o*tRg*8?`NyeEST1DRcPt2k@9D14;tG!kW4BFzTvgshjy4TW1PMGATX@KjMOuv3#}_h1I+4MA5eUW* zYd%}j)qrwc`Q=LBHv(=3xO6=XoG#bz?}&T^M37@t7gs+K#{&}=5hYJh6!vUHWHG$) z0cZ`7x`?X@)RRgeT<1E29PzQ1OFFElI_Ss--Vbmbz@_5^;B+-P{;jQ!-%@+Onhk}v zbo45q2kEz^fIa;llCNQmFUI*FGUj>)_ZeyG3dnuBpb7I{6(LH)3Q5lgT(G z?*%*saOrswI9)rB)n1+GnO27kk1j>gWyit%ZJRz_*{x>qUUHyE+56o4x~Uk&_bz`D0(f7$&{`K&pHzQ^_AYJq{$UOG@;B<{mV-?L5soxQ9Uy`rYS ztlF=rgJHH0?=EIK!%a_K$P*EIQ;dX%)uPwc^w(7T5fxVJh}>!6P*#u9RWT$=_zY~B zC-XHzQ23oP_N7B~9t^&oEBV?6nq9rP?-|&^0&a+Njm|rNt=%}xu<(b>{=#bmV@zkyPVu|o}{l4<-7FV3H(XG za{!mVkATy)!10$mq8~c*8|ZVrwaAKLoZ$8z$@)w1@G0AM#H$)fJCg{MX<;1W`3xUF z4~|!+egRoBz%Lo=kCSh*{%?}L!e=|^I|2AiKo!8HZvk++{=z>>+A+XOvZiW5$FjV5 z16ig{qE&gj{wY)D(yDx#4DvqBagM@!XI&uaXhAtHpFRZs6Cm(hNB`^ryaZ6`jvKYM*a&TQ+sd3am~{7XIc6)%zBpf zev0KAvFdL2B=bIle}HqyGq8lO6bCfvJe^rMO~Q$dmwuzGtwGjj4QO@ia|`gDfM$Tp z*WJMB`XBi^Zpy?7n0}(`r!2BSb)B+~W#Awbt9rIJj0XFxm9kuAUq`uVzzYB+0Jq#> z!0GCGUfVwJIsL7je@@A9^>Z*6hXG{Sxm`zS{%csamS`NO#z6)}?JKoG^tjNeKgx0C znd^by2DlU8(s3Vfx{fK&&|$@#1=Up~#z%`p7YV&hWxYO08K1#(sOBTc=TE!@w^>fP z%JUudj|QF$hydJjbAi)!OukdOGSn!J6sL&D8SC|VN@aqUVPsOcoJx_1q17pGIo{VF z@1uFW5%_h0CV)Gy?gIWeU}_ip+59iN$T800O#5kkTz!8qy9&%+kApa6J)p^)ra;5H%4)GQ@n0YyF^A$5--dyhyf3kA4s1Y=?lG8ewR%CH|zDaaDQM!5joFe zginsav0#2=a2hY^Tde2#=X2)ZwKtIn|B^kEQ)?!#cHW(VpzHp)N8*%#YNd2n+glKD6d7Db#OL~W6S#kMBh#0ED)XdIB3s-v>8sZ^`08I1RDV%RsRg~nv0 zS}Gy;{26H45=Nl{`XXOqjQ%y%bR+fY&}FiohfoK%A9`PcehiQdaQl53aJstY^E#|u z-3T&gq1$Hzl29K+tG^M^PrWhdayYn2_NIDm-9*4ZxJ*eb72eFy)`~DON~=RpBg(5p zc{DC=1O6D`Nr21u{{Z*D41eWf$?ttmoVy)I>u(E}Ef_X;?u;2EfVHy9S4pw>DHo4Z zX&PUz??r?*EX(0{Sj_t@?^_m1j)#xUKiL2quJ9hO|7YgmzC*CQ(#C$r27d*0sQoiD z6U|p>r0iwdt&9(16X92!OrvQa4g&MQ@_3A<0nCe}e=+*=3@nc}&`@G3}j%S%c5S?*!m^fZhO?-z(^MKJb@2~1f0Of;*i&m z0|SIxk21s1*vII`aJBL+-m97G-6(6g`2;t2ana-9s`ZwJL;M6jkh=O}9>@OFAjl?? z!IPp~DeHFtw7dQLTi|~Jv{yU$90E?)%wy?A&!}2lwG;!m3O$MXQ8W8l%6PWqH7sM_ zRSOU(;T&n4iy`_qo+4y;dT-%Xl8#v@$ED+J;Hv@a0B(D40#4U|r^B&CKMEb6{RJJf zu9kFshH~6~_Z#q-R_y-(E*;B&)8&6zw(pu7y0mjUKfsKPCT$zrs<9^RKYsDJS>1|l z@_PN7Fp?1s^hfbp9#T^V`S<|dFMe)Zzr^j#s^+!+({b`)@r8CJo<4pWg6&O;!B9FE z-F1;RGbIqa5S!#cV9`JvKt}^SI0;0|Z8HHl1(HGjheM2i#ITTHu<}_XAqpbHq)XU|68`beO*t`MUdUpd(*D?8zwQHDA{kI^dx{#u6+Ow?J z--aE#o(q-DEes*CsxT#kz-O6OD|$imR#|=}-XFsIX`C$rz8G+pQznhIWBMz#^IOF8 z<^?FRKxr`GCJhaq3axuIkqsXaSxzh7ISZeuoR5G9UWd&Oz#Y%cz~2G1`I_)oit^b_ zvV9M2lb;VC&mu$2Rxw0uI=QmO z>rF}QhQxFpp0p%srH*0$qaMJ~Uksm=8n$|ZRR)Z4ieYNzgYsgSaXQz%!}$tmN}3pq z;KBhU`Ox7(9th36mZ>$?<;JKl^gws*HM}bRb$u+K`n*2jSzTXJUXwn5+Nm3vI#S)l zE+lWr08A>F`Lk|*PnjgY)y?-cdmLH@VKP1>U1Lu~)Lwz-3iLVz%&Z|(o-B1bf0?sS zpt4YuMX-oi46Bkj{T;6{N)KDBJ3i3Qe-f4Kk%IRHcyhFA_ z#Ty;+zX)52q zybb*YUdLwiMnv$4;S<-I{Z^TQ`+4Q#Fkv-rGCe$YJFLt7SS+R*HNk#->J8?oYs|Q( zc;?-F&{`91i&ep-%_`)ey&PxHtqiwm+RaQAOWrBSy)lpDKv=6({YI+3Rz;J>X_@LE z1HD5HD~1_c$ zuDtXH@b3UW0o?Y>dmB1?z&=M_YIXYC@}tR1b8F8cSqXybqf$`4P3rbm$xo?LQoT!8 zUa|5)Y~t4@N#?otnIrBsg`~R64F6!p{9y)hGMLYce>Mky56|3DzErBj6-=80pIer% zoyIPK%7ea}2w}X0jgSH=ln*hmh=RO?UcXz`uL-m_g5NZs-3PoC@D{+WU(9~^F9X&+ z>da$_@;Uy@CTgaR0B6)LsGk^4>OOdjvnI7kKCo)hr>w1*x!3FOTgs1CDGyt-uC!u? zgm~e*=Aw6?nS~(!kr}1cA*#YvR{3pKbaL#aR>o#)k{!6pdVuk=D=qVTQygEQc8kea z1&6pFGX4_TZ;_0SF!M32j4i^H25}rhCH5ZWRy2#%GptE0p#Ml)5Qr{x&D!JCA9Zur zjeCK&0GYw0aR`KH&SCdWsQOkVXf*&gBF)&YNBSJp#TAWA^;Ki&vB(7{p zw$k{Rq`TrkM}EU9;5C2+0Cyan1Dvj7<~OWg=Flr6;I2mm+&!KY2zfe8jl8sh9|Frt zJml5pl-r8;y8Y#M;PyMvCjeZ2eGEM6-GGugrAhq5#ye$ysY$v?d~TnAo&GYuYB4#n zwSPSyD%7Rbi>Jas23;wmReRHZRYRcXJIzZfbi9DA3vY=*x*1>YUqS8{3N1AMW@GPu)<&# zI~i%HKpZnefS|LuqJ<*Q%l@?+Z5Y94nitxD{|@lH*U`>d!1DlI&jWWHZQrtVaaHXC zCq0t%Mt0g831X&p`i(52q`f$WMkTFMAp}^YoML&(Iv6e?JSw)j_Dx>x4zG5*H*kkH z9EdW|M{CG{yyI^{ccW8}2GCgH)MF#?9e}$4Zhw6n_{V_dxw4FQDU#=G8jpBh9kt4(Rk{8j!)3piDdCOa1pIZWJPy0o$`3RX; zeL(VS1wxpMK|d4wS{M$LGnnAhz{l0{qHKq<_dDpH47>)g5a7~(8Su@3uJms@I{hT> zKux_~O4#QLIop(S_Wi2ztS=w^-~NX;{1u{nE!U=e;vIg_tDA*haefU)wG2KLLBxf~ zGajlfYz&68(L`^<%aYzU(BiI_`riXecR&unrMCh2wSYZMlHZkzd>%O3dI_Uw$5`ed z+ag(BC|Lf3{O~Ukk$Ann&s0A0<>NFn)<{_C3t#N>;*`#7rSq|RA6@^&JM@rO4`vic!+LNA?P?HdZCxNCiZ8-4Z_zM&g^+`y=~)@QEwnaQaoXbWTjslYi0 zT%plk%RNx+3AgQ9)c!jtzOdTHP-wWJYQPBSwlP!>LH*fVsd&xd2h|_^p>d>tfH4HH z0dx^hns1eI&Jli^G(Rp`T07^A75Kx;plH-_djKNW^ZNEfu->|u=k(>L@dpU;C}FBkdEHd>Q!Wr$?mkJ+?o8;aEhN0mcyXzO-!rSJ{O zr<@Nv=pGFG1i)l~OZPdz*8p~u9zIUvk3qL%r_sz>q~@ktY7?GQmEZhDMEqudc$+`u zke;V4(x%+xAAXG=#7AMGrgPs0F1q^wX4Aqv91VUcM|XDwh_@u&2SJm|@9&7-g8{_^ zxODdgJ_6v<{lI&&y(^DKx3G=D@H{AoXA_enbDO5z7$~yRG<`4JRP1N{GLR5BuAQaL ze$GE>4>E=6F(CVSzj>b@#5NJ>b1+h4iS%jUdlToASf5UO-!JKJ0&On+_W^$jun*wU z{}XWSA4k%^`)KqpKXwJ4mKFGfD)80e75Lge=_9uS-}=o1|5F8Ky(8(L1=`&4wFLNu zfYkt({>{L*0lLP=>wh%*VWcZ`nN4irR!UMd~VFdqIXkbPOee^p@0>Ok?TfH+HD zpcOOtBan{Y&!#|369GaB-<5P7LYeM782BilqyoAFT)IvJUI)nOvhMhgcK)y!198zp znz|3N-I|yIo1CfdS6x|S=kB$pJ!yFj>z083)_@Og$3de=iwX^6rT#>IQoxL#)LY*g z7_}u3(qo>m(!aON?<|CO1MydKZ8gVf?wPWe=fX-m3a6-hRBaUEb*D25c!@t#3jZ$a z)e4%I<1@`K9|Q09Psj-Xw_f{!{|B(|2{}$PTjX=Db`<%qdU^c>IzG#2HSdXj)nu*a zekLA|%g66re3~fkr;7XM_=TkEuSgF3GhS)62d?%^ztrRR_x5}InST9RJB2nC-vmxc z*D`E`%ror7-|f_fpvL=6_wk8?1Iec*4da81l(9)ui@hl(whvjp`s2G#(7TN_)a0p2 zlj+AZlg{h-aY^^H^l%wZ(Pm^$UY3Bt2`?oxlxqVMXb!Nw)v!HuOW3RQdVx!_*za%wl}zgtm6C{4ac4A zU6o8z2O=NFLM;pn>oOcFK+3x~8mGtAI8~`sx5B56g#tODBE|y)AmEJ(XGP@%Gns9h zS|@?7cMGa z7nsKTJQa*fj(93gsR=cD40PLW2b7+di}xJA40ErBAn=AX`a8;qs8G! zVLzgNfwk1(DRki>$+s5p#O?1N0RI;7Bf#a`?Vm!|2dGSMB6cYwL$aUm*d{->Z*1E6 zc0y+*enyl3m$ISwvk-F=w@_&?AUcmroCmxN;)!y#UNML6b~uw{&o+6cvrov4ir zC&KylDn^mZ@c-@1O!7nVh7FBQn&X+tlYI@0&xFKx8GAn5_tLPX>X(H3UJTt_>_0-I z4u(>_u_eRce`hi7xrog*v&{EG=B|+09c)CFmj%e&!Oy|Q1@3xi;|EoKA?KK0WN|wg z`-y3DVWhQ*sZ|smtiNx#Iyq`-%9O}uEWJl+avENP!Bxa^*!PsK@>SD{F)O_>o||oN zUk{uO%oM1V-s^}i3B9a&lHmKSe|6}emjXW@a3O%n%w~8_Fq1IW#|-pCN`IARgfM zm+`JQ z_V`Q+lwlY{?u;s46Q!p@Ppg_YM462UWvP5l=^;~@I7=(To&%$#Se)m0l{Sy0zZtZ- z^gjjsAm9^#OaJK4F;4)>?w9n}IC+Y`+S^3z?byf*`BfUFrnRZ-__r!+Q$I7s<8R_V z>sz4@`opK(5nU=INF7q-_$Q)BE0lk6)QF3sgwm@?oBl<>kD#d~FCvU;@k`ber0uAM zUUo9CFcQC&f4(bf#Dn6`^#`JchhyX7J`ZH>(#;2T^CL>AvH}N4bNGF14G zdq2bG8oymnYNJ7}l1!VfPqc=bcWZup30E9(jP0p|u#Jr}NmKG_3rc<+059V46}9*0 zz`qCl1aSME{)Oy!2ae?@g6Ojqi_S(T)k34iruSAP{VNM=lx;%Qb$_%EUF`UFzvzmP zEVmr*b;|{NloJ7`IAu{=9kV=ydq-it5nQ6TQW=EfCyGJ78ssAOBAS8H;Jkk~-c|3^ z>qX#!F9S*%!0iV=1JC^mIw!~O)Bl{)ACB6Or7>ehv-YcYkH(rc9P!cPAub+`x_rn_ zx60q%mJh@tr@y=hzj;CP7V|ar_}5h(hH0;>uLqUK*+4BEO6TFQnrav&Q|DUadH;xw zRMMg3kd1H^Mu{Dlq$bBhcQD^P4Pn8<-!b(NON|<{maCYZ?oyB6rs_AT_T6gO7vOQp z9;1g5&{U(w)5EidmFR(?T1vtst|x$1Xn&DSR11XzvGe2gSid#boT9N1M zV(mm5ZwOuH$$U2dC#T4+&^Dy=J~UcLM!w(3*N0p!Er@+=WQ{O z>kH@S3~Yh^I$8FUL&Y7r86(SbTs{P zt)wHZN&Q(DD&>8ecuXhF@~!&xxS{bkve@WuPib*iv-r0V=r;bGI5Qrx%;IyD1`XL_ zy`DA$bI2#g&^Vrmw9Cjx9=unL-mRwaG`K+1I7l!pWRF7@b3alx#04U8;!~oL$Wt)0 z!V6D)PFuvGI>hoEG{$*?xjn7oW$I08ynj@m{vWG1B1sh#Rf(Hf2+Qg(s?~-{$dD~HX=~1(m4_X&!BVw=RvzoyXWcHEZ<03ke|}5Q&@lf zEoNByIfySDix-NGXk&(K=bCRi_Hh>hzY4Go;PN^7Tb!2xc3mXeNU+|a!#nv4ciW=W z=Su#pLEX#H&uN~%9{62=X8|sMz6SmuK+SHsKX>iv*Bz}NLjDy-F9_rHiVWk0*$U@v zx9X*F!FUUBD~mfVUXL3Gu)(80jM6{#;Dv^@(!l*zw$>;L75u8}^i06>7u`NY6}pe1 z%5xD&LFh|LFulK9fN1@T{UbcbHb8XTNvV?Hxjs^1G~zlXn{VIy_5$GQNqX=6VzC)BI4I;(CxEgoQxsA;57XN z?4*W6J>v0}Ad58lDqHMJ4j+JCU@ETqBFWd?;F-J5?g#!O;1_^9f98BI=g(u>OFDL& z6^j?muA04IMZ0fueKEwjmqA+nY7MsmfI`0O|T^W-aR-G%bvitb|lLPDd1jJ9K_J8c1A)eI@-3psx_$P`|$o_|t%Y0Nj2t z?g!XO0Gb^8qpO^A8~@@a@t(uhf%?vsIH7jIg6hSStB{)lb3{g)@l^0zgS8ps#eF{) zkCbl>s?Ta|KU?@X8=Ck%OQ=e0wh}h6#FtotnHYw5MKOY{STIqLFinf_8trU8u{4oS z`3d3Hiy!rLH(+BJi)9=c(W}zS$}%Ee%$H~4T;OtMEQ0Y1;^vJvrtxyfOG#q_C97Dm zo^w1uDLbRDzQr68n9*qU*sA*d%WtzK3=k zLR|Oey}Z#J6S5Hw^|Vfe@z~rVy-y@Oqz}T>kQhp=Fl>oHUPckIZSXY9+PuC0&e?Z_&XEE#XgErh??)BS6 zdS6oy6$Mh@3g^YN4I4!hfexu3)K8QBC-PIr{4xmm34nP3xBuJ)yalk+$s6;T6aV0) zBjfiWA#82|{EJ0?SP`-eh6b0Zf0DQBi?A^8DO>c+4^`hmOy?{Y;e!hK=`7%x?H{EK z$xQG?kb4jks_8c&x{~Qryf=hcAfb4hCyBrk#Rx3ngBYA-byqW@0tgx~p;*V7i+>Z) zwFKH`LAwubpM;=1h3aTy8Cf7?LfBo;U^nB(9;;A29R?Udh_bL+AT}s%GbA5!e(qSm zDuCAjwgFr|j5q}O2C&b`53#0?lw(@Ejw57;Tsn18dy?w*@r8hPB55@?qZKl;N z$CW`sr^@#G3~f_}_M~}G`2~F%Fd5*s-_O8feuex|DBI0#zl!gh@UJ@Q4LY@-=)-8Q zX4zgFwExmxKOC*SD!R7UE4=h>(j%<3!fWvCxza*=-NHLH*f&hH*frdD1;iGlsDQr? zwHUHUp~bvBR~%!TaNDfGvhN|iyxV5~`9HMT4{n=P{B@fVzw779c56bLgz%Z#?P1{01Kt9- z?e;rx>p!py+9l=1kmIlA@2VHh$rJNW`@kcM@K2<3^xRh=e{Ipn`o{Se`eyor%0>-m zCQxqLcc~PHz0WrYl{y4VuV0J%1wm2=6^DQ1kjyC3_i#2}8$hD*SWF;8*g{MmgIHLe zwNO0{R?B+SfJRqNTM7IMzzqPm9?t-81-$S06}t7v|Eqe44u~_CFLBs{^C*S`QXi&7oaf3%?zVD^Em?ghft8 z*8j)I{Ie>cp+dUz-`w$;41)Kizlzt+9T`#LFBGv z6uLlIIP~IfY<<`npdXCJ4yhwBebYi&uLGdj9e3XY{{`?nz~y(~Ps#7U$e-cLElvnp z9$iK$(YNR)DOc$kg3VBk$&~0g5F#}bU3IejS$Mx&{xaaJ0NVjBUq1%^9pJ#La{kJ3 z;z;H1Z4$3JO1sloY2+8n;KyIWoR%7WJh)o!ErO0N8_(V_e)W1z_Xa$(AOURChhj3* zZh%v|b=p+-%Y^ZUVn4$WkzcH3TK7NQ-T zAjD<;MH5U>9zYXNng~kq<7A~z7An3oo%Y9jUH*R!{1D(bfLpH3{YURoHvcoXGK(q!NLu&<6!C3E+x{;Ae-}{cmvYArCl2<4 zW6b*qK1c1}#BY$kbB_t%nl1Vj46E05+*jrArL^j$ur%t1xHnkBe$d1c_J9@#TlS&Y zkB6|BmBAA-cdtfawS13gh(AEBJWX4S{SORQr^zVau-By}4T;q#aF&nt5)HIe^0hy= z+t=j@z$XDt0l4*|zg>vWUE>Jv?rN9n&KI@wX`9{)j3s9PgFz5g{?PSDb>HK<@sMus z);)>>-(+S$h3ruZ9XfWS3|BsQ75Mvre*oO}{Tw)5UE{xY9akcbG6;xnV8vt{J5o%g zS21Ock%5RUV9#@7dq! zJq`HxjezR`E+1QfzW{LMn>HuT%2!T&Dw&j=xMHYc>M~FDLyRosQ`Rf)#*=3Z%{#}I%Ej}wn z8>?C2KsRhfP=$pd-ZPN8k|k+~Oo=1hNm{HC^1*kSbZXE^Vq3S3vjt3KED~fW6)Pm& z2SL{?d`0r(55Rr8jhsdu{G9}RHb8Uq&byubzW%OyRoL{8tVYfVIr<*Ju!GIgd-CxC z9<+O{z!)6t8;Nb2d~QRac2p|iazl8qw(5gl)y0wFn|k;P`Q4lP;5X!V@4|hR_Nee+ zI0g9~PSJ3bK8RYV0>^)@!)kzqEqu}kV-E})avdeetL+yhQp~J3AXVuc$uy~c1EIR&NH>F1qfp|+&j5cJ@H)Wlj~@c3>%b$jen*MlAl4Hn zzJC1;4B1ROFeUS@f`GqF>5xyZlj{-goa1y{R|7_rN zwK)EpuHA0e@!)tB9%S!GlTlO3@E5AeE;AQWk%cT5`G^Mz`3TAmur0!b_Oo+-@@lCFIyH-gVZ*WZDE4fr15(gmvk{QBSNYR`9b1YP_7Pjr=CDCwGoaw900 z=voGR9pDOpOV{1N>00-KY_EoEjy``l9Mxe`DV`4cVu7avvH>oAWx(lj%h}V)(PFLF{lAcDC=gzk` z0p9`G32^Co2smBG^c!4U1vS$dw4zlEo``s5dZm(?0-FkrCzFUefP!G--&d@Xi&0hY||fOJjQPqT=)-yI*YIqWtupc6K5$Yb0{@^=BE{?;^wt zOr~UrmsqVxO-FRZOu-%0Z;hB?Xh$s!0=) z2Z}%0h`*%2Niu(D_7)zm%!Ff;e*nDblJ~I4qfFhykajh84=Z|ztz}*dsb3Q@t@Om? zov9T-)bjguJ&y%;Gw)uO*}^7Y&C;M=!pfB3&*$O3_yWIvV7_jzeCED+8}Iu zGmXhm10p5Jz04c*tX2I*EX6YrdFnSZoYrMZWw(k2#Jo|DntLg!QrxLHrRvS8RK+L%U3RIyT7co~z`ik;3usCHdiesA$pBFME{h zd8vhzG)8~D2N_$~0TxIt^aevb)k@3ZdA2`P8}M|S%Lm6sA;CTJU-A)baPS1rfD}vf zC-GDhS!kp9@Sb4Y7`U_^&+4@~>dD3joS$IgY-%LQ_u^{4TGqD>^>Nov%eIvuAR6G- zHwidhe{pUo_r>jT%dCj8v)k> z+;Z;%PS=0ae=L-7gD}4#jm2uVmCT`E#)C!<%+I!~*;*go4a%W_ma2|cho~cI(iqLp zhg&hrqLp18TDR8>}8$ZC5_IV+?Yyx(RJ%>^oZ(>Rd_!7qp zv>vozXCrRGM6^obCRu(1-XFpHi7z(*e-Q8pz%3uvLR7rcwoT4Y<<7I~yd?CS?G$9R zX)p0_HP)tG?Gul6o^N5NbccRjobskR&`3piVMMIs@o{_tgb>OAyihyE7_Cq7%w+*}i8?QMK40pO^WZ${HWqg$>jwkh z<55YCXN7I07_hTToUZZ5SeFiq*VV$VRmFm|K->$(J$WyB$4>nr zJ~m<8y!~p?0k!Xb)jpu+jWx%`D>)R&tAgjk*+%6)tLP5Qnn4`4Ag)({4>x)5qU^p| zcDL>k#Pu~{!0HnTvu41acn9Y@MEIwNIMR*I!#dTMqWHp4hQ?vVt+Kw2sEb?QJAv;5 zybW;ct4G;N9N@Dz<@}T5oV)Ef#=iQn_+PDTf{>Qhs^YOx%1*H)JMGlBv$5(p-&j8G z8&#Q}3#Xk_EWydxuSQ$mv(zQNr4XDni0L@_B)Q7#xxg=u4C!$HENu%zU{4JOjJeX` z8pcN|x)f)4o49V5^{WBxZv8F+-UzrF;P&$-;B*}`&XS`qIN|WPVf71On=lw6{7xK! zE9YfnppDlC&_K(>K)axQ`cqmRI@(Z~S;Ymay3Mlfq- zNVy4#ls4r=&Z}Hm$I>-ug*6@i`UI)KqYxeJe$gFH;2C@_U+f5gkvpA!fb!k>`EKA( z1D*%C^t}z7uEHI%9~==6aq^;Nb#vj|8Cd&pnSuPh-Cj3sl%H8_yT#3&{ z@cz@)6`D<4`-W-V8SMX*ik*_4oR|)J%7D)R%mujp@)qFt1Fm=WI|p8ubR9Tm-sp}n z>F>)(tZU@soDC?pSs&2d&fLYj2Q!x`h1uR9*KSnpYawBHVhp4O(f!F@uc=3nwA`O> zhSCk5Y3lw=pPmi_X#5wvR1Mys#^Afj)IV#X+R9+>F)fWMHvk$W2p2)N4ExEuW&M=c z4tYBjcpjiPz~%Q8;B+njQ`W2Ud-?3tAH>v~Td)L1#UpDMSI-gJ?^&<0)7Y%a)2K?w zc-hR-?LwMM!*uM?==~!ud5?GrK1yrsjgae8^6t_(<#%($%4w*dr^=_eeT- zfQ}I8p!x7Q;BNum1-Nwn1e~rGCq8|dGfy0y&Q7T;8rZ+Z8A2KqU(Nb1j$Ai_R3uNw z5jm7F$*N(;^I%pYNoSJ8CA@(6NmpC5q_4bN2Ym~GF9oasxb&?BPFJHtU&Pr@9GyPN z$AWpw>gE*DQeVHFw&~53E}@0>2T}1@kJ5NPsS(Cu(Hi8YNl;qumGm4yc`mTCQf%a0f>L-19TgEtvm{B)_epwcobsss&IZ03a4o>4 z=MLw0*Wc28w)3a9PDY?FOzq7IpJ%xB>kZ33w&YUnytP{RQmx-wtnk{BsC*cLf7iLwn!;q~|kPUIWo{2>5SAOT6R>(KKu1Ho>3v@(~AT`gF9#^$hvx zaT}*YlY{?YDPS5f3_yB!1Tz)?b$udkKYoL6yEvI99JbxgcQ~KsR9@o)lCB0xgP^Ms z_*H<-o#<-pN*6*j9Y)t~Y#;wWB&_g3NmqP=;EkXw2Y5c9NPZ{Uuw}$i_%#Fkx|H~Z z+jfUJV3=T+%Oql(V2IFoO3LZ8WS8@c!z{@v(Jn0xUCo{7Y61Q<;Q3B;wRNS7_(gPG zPITe64#pD>zy42j5#6xH=}K9}F3GR*#14K{0zVmWn*2`itMv%FY8FhN2D(lLStlz$ z3bR|dw+Py3ZU?`d4nzjIftJD z9E#xGZn+59EXp-S$92kuj)@E`G`D2Y97^ONS?{u>j(Sf8UI{owekbbP(6#?UzYJaA zbYZvq5VZ+z7wb-&p!OzeZICmB=pXb%*aU&o^H?~-NZ?nJ?>qlX1ZKuJq8A->=xysn zua;~p79aqii^gShSAJn0fG%#j=tDOVy}13>PA{#&vPYwA^e2hSzM`RIqF8?kyf z-#Vzoys%sHb(5q?jKAA~?*ue=qO-m$Un!=IAhH-V7Av1QU5OYgnL;dbn1On>I^~2? zI^>;Rzy|_`0EibP^9%z{*I(=hhs~L@45ke$VD#3$NiG|O9ichYEDK`FK1I27}ZYZ!)(JB>X zxYiBr>6CW}?{mvbNX5PvkOy$f>jnJ3l-F6({GaMd?<;&n)^|DH-yff8{ka-=6W|tr zTmJ39>H64_bB_{_yd%POt_Zn}2Er*`-39O!Brada6b*p*t9fdI((07khWEPqz;K$a zBm&X^Zn@oo)78~4yL}zZ$?IC~N^_Jo;8a~z7Qn?l!00?T3BAQ9+ma3$NT9Z zkm|h=_;rA-0Jr>Y!09?>e4N9}pK?ZR{gnEuIf8&laheq&0%j`OOe)^rUcA!cl;4K; zm*M?Xz8yjR0cilY{O-W%>T{QrbN>t9p=z$KL*$MQ z@ZZ|w)F1D6``wkmuLm>%-12V*PS;9;Qxp6XVlJJT0@PG0WOPPq-cw%=rmdMtjA=%Yw+F(UQB#n3;Y_u zbpW^At-$H}3;kE;dUpyjPyLR~GEXx_-&+gb1C%nYL=e#Cl>Zst@7CLw0UVG5aLZ2z zPS^j5@55z~`{;^^6Iq2h(X61(*8mCtpn&GL`p2F6n`QG zU2WEMXRy1~?Joy=qf>4r-s|o^&IaB9xESD;yBauM*WY`Lan`Ba!v}exGssU;G*q#_ zGsxSVa$E7H1&F?HJ4>oFW%08V>&ZyMr0;X>`gh%<7oO&jx-D;BNrBNKV+^C4SEQ zMFlx|OO`HPHfL$%+{ls@b#n?%Shlo!`Eil>?`&W+BQ{?>Ig7J&y z(5YS+BP^_F-D0uF4x5#nQ*2ZgzaYcG6X$xvJ%Ddp6x}yB2WIwWcNP4IrWdiRF zC;_rrE=E+zZP(v z^BuLDTaNpjvv@`Q(nY-~@=5`fQh>>gM~8AyPHfOrcHy`;HHj?181gva-yd|!If!?< z^Z&2Fe+RIfj{Z^8rN4GAhnisQl2OCP3>!NErA^Q zJKxR*eg>c(;PUYz;B^L8$e7B{L@BRhlALG0GCpcTjvfNp;BVp3>K#$@m6HCmnW zTb=h4KR*WkE#L=$TmB!;?=C;xXXo+-UrFy2T{awIdl+VakLYzudy|C2 zdN;6{WDKWWKs7&CnVBJMEs6OVJcSG$N8sdD)W70cr~Y}e9HL_;@cDoR0GEy>&hKu$ z-DhVy1mBBMeq7-kR6hgN-=p8gl!58id8BX5=V!L-v6Sazx%=>5cb@qdaBok@H2~_9 zbOKQcd>LR(Z+U+9(kt?LAg2kxDoW?_bMod^pGBRodU5-XBCS!qmkTG;TQu>A756j6 zJwSe^d-Of(MZC|&JnJIf%rAyBj52F9AB~*ky||~_Sm)B+c?%)X8)OLd(f6Po_UNB6WfRMWQXQLW;U%dfJZ0D@(le3DO62&Ms?Fv(VzLdr zBVAUjy9sn%fIDYJhmlIqyu6&zx(T1l^tKbbMCZSIgP8^9v}v2R&!k zE|r0^;a>2dAx+q%CEFR|LmnBjJ+5D-W?9HJZDrqv3|-k}Sqa(0v#ji?pQ}Y*s3o6M zmLan+O(`qo0dE4_&?fUlEm_mcZ6qZNL6H&dw_`GQ>ed=~kL9h^tUL8^^$?DrFkUau zh|1AY{F!fRpepWDh8nL$UQ#C6(yIXIwFh_ZtqfuF$_{Zm!bafsEeBdRXu%QqZ8ppFsng~o@kH}-yj2*4d5rNHT$>-giia!KcY z=giZcP6O^{IEIV^1>Ca;5UO1joK zqp+A4vIT|?lmZT$8*s+ck10Mhw0&wXV4xFy8`^2Ry>Z=P1YO0ph6m%x3 zeL|&GrQ)oKK9B?BY7L+i@?ku|UBDaOmgP6%{jQwS4E#|*3&1V^Y2b8ql~-i>)n^{F z^tg)Cu}PgVkr?t%PyoQ}1(Rpl6!rU^`WJPqCw+mB0gMN@4u!+OYMn<~1hd~QKnXQ$o5isR|q@xMtRH7W}53d3L0bmz*jMr0vF9t-M zIQ~1Fd^9y(#_N)*f>CvXxQgRPOes36sBg!bhudejHX`IqQki#QAdQuA#LL{=^I2co=Y=kp2 zxMCz5)vz7Wjq&PGy~r$L{bNKlI5?VpBo@g||Afv*o%RQfZaqE*?(btOy#Q`K>VTgE zK*T-jj*1(v>!sOE;`6cVF{OIRlG;Ue$5*dt?+G{)TDqXRV8o)jB}=R7mQF>Q`cY?+ z9M;C3RljAdjr9=sgid%w;G@57ueIzL&mp*Y16YIZkq9pI6W!xYmU}!nQ66`rGwI)i zh~5!o1hFl@-v?o$877A(@>oxfFVT~Cm9Af>Cyww8@10{dc+A^r+lFwE_cG);rq(8Y z#fg6K9OVQ&i1ZtRz#}N=#5g*&FL(xc2;lNDv!AV$0_v}oeB9)f z&z#tsy7F;u*Z$Cn#|x_GEv=wki}T%4I69?zfv^oY_Fs%g%S>D>I1fjkNA#`aYEUKa zGsV68Rxu0*iXr#`8P7BO0=0pqUl43y>IEqcOur!1z&xZCE2MTnf?akuwS|qqBs5Sr zVs%vyYI2l*j&ScmZzaC+SQ)>X2tKP7@ss{E?Jt@74ND3czq8n|%nI{Mau)t4)B5sim}Ebss|~m4mS3CciUxBTCO07=#5w3E;s=u&PTmp?c_+n3Cuf_N!wBjo9IFJ(mi?mX;O8EkH354i;aoqAv%Poa}U znA--mdVZ>QDtZi}85!ewc^JNz;W3+3{bsc^BFw^6bCYS_PusO}%F?rkQmjluY{efr z?@n$me-jCK8SvDZi-RUtt{vj{Kb=nk43j=tgM^b79@nqL2AfE&59B`=uKFl{(bL?XT3+l()5P!(&Br{Z*~# zb*=AfTJ+l*GWqS-ir&@wzN6V6Xgy=|sLz!kwgE|WW1yeti`*|m9dpamMCZUQ^1ZCz zA<*vbhhmPy85kfF;Laa|fYWto=izcfr*SuDQT>V;wM%QpyK_H}D_a4fI~qcF3nnk+ z4`k^*p604C!TWp@?#^=&Gdv+RBbWRLm;&Ef>ITr#j$teYHvQ<1eNmSKjd^k z{AlE>%?*^NsMitqD)Egp)<5!B`OQ%Bynb4L$EWN;9P2cU`xFG_%kjta3~!Y^%z~Sw zmJUZ;P4%d1j3+xBiiaX+baeM_6!tly6&nMMB(-2vfmzZm4-;vD0qgMN3*riV_-_@N z4tvaWK&+66eP)(m-^-le&LJfAL_+b`G|~cytMzxur&jP`IliI(^A&K<5L-zGxcz55 z@Y#TUH%mTMc9+j}NA{m3w4O|vLS1`G)dI3+grm#T(v#(8>B7=)D<#gc$zkPbePB;g zp#<_D)qCn5vmgBWv6!e|IZMb|E%3RDENvbv7qo0l)MoLC{FLy3PgVU=&HR~0Ev&$o zBCJtgifYuCL-rSOv4p6Ad^wMj&4#;D6he_sS2OAoa_ajA@V5c)0_dVTclE>V)E{#4 zP`iosOCba=$t|E+X*BE%@y~*&Oi+0nrbk|-%qb^lXovh*1$;T+a)8U%SAc&6C@+%y zbp4|?9k~w^>-3ZAzTeh5kEea+?dAB630P4NM8ac#N)tD9hbH{RBK}81{hxm!1=W*8vnK4^a6I*?v2Z91jRNNpggs z2P2_bhWIQOLqNKGbsh-)THRsL49P%!(rJz7jh@C-1cS37McIfvHWgt$Pm5M#rl`@L zf`+sb09K zu3h6>96k;f*Pex}M%W7G7C;HGpq55Kg7T!EppY454E}wiQ%=tCj&U#s_^E(70Cyf< z0-UaRCvS?oA3bJyG#aRZ53>C-ip_)a;iY}_llsG|@(Rm^6Z;NkJc`AH7WJ(RbH{Xc z5;b>)SJr6(8+FLnYVsg?7JUGL(6Q?Z=!iCh+C4&ALIgb7!ueMW?tkne;j@3KAr{JL zhIcwwV^H#;6?Js`LC#29nF6>J;PT;n;8COCLvxkv=lxTf#2XI1A)m)=r|DG-YUiSp zbPD0qSOr_XHVX+H2#Oi1=_7U#`=j&hH+ksSs3z`T`eFQp-0iqFbI~XI|u@PDQ5ja2VY zmyZohd@9-t5&21dyP9j^AR{{O1)l54%gznwy~OYh&T8^LV7bA(M_I0&mz5jq8Rebq zIoq4;8H4BfeQuFGr{rrj{EeC~z;_t?qs_)g?~wGysft_9a?w$YobNHJ3a&rTg4QaNjpZbOUmMBmK=pX;*2 z=BD-HS*cMamBoRSWD%UF2oV%g7)4K*R^07PZXGua+aSLY1Bp|AMlE_=EqP20-=QYm zt`==mOAsp@r$_%Z%#RK8XTzR>9(giyEZ@e+p%&>Ek?|;xzpV0V+9bkb?*>L8HJVuT z>~23Z-aQF_zn#vNN?0^|fg`w9wiQMa5;zCrq{;IE!-nxuWbp`Oc>_?pMX?fdGF(q9 z5vegb-2QEI&wSAR83V8N2(+>I}3Z7emHyWrRhDp8Qlyk2a$#1z?XcuvLmcOe^#vt z$>>ZZE4Z1%*)^hsGGu+q$99}6%>+INFdyKK+jD`_mG9(fbnUJ>jhAYvr>8MH>(tX| z$gaRy68Vmj6PX4GA~80`YaZ+n5}bkC=#;+??~ma9BnNy5{9C|}0Jr?8akBh!$Nxro zOUhxL%14%=PJTfxY@Zao29VP}#v@nWHqzl*o5-Vd9Vgj3;zi~n)JM9W=u09$li^VI ztzvIJ>trjgr zwn(wXZB##%5uvAugZb`sF#n`}i1>p@^Eb9d%#K;%+f0KGxXcK$^A9Nbv;pfF7$y z>7i7_0H-59BvwT2Pu9+aBmkAqgCa!h0$MHZXWZto#HU+Ko+kpG6fvA}P~fbw*yUJc zunc`buH;)2c+%hD+XKM&1GMoSe7hU?CxGUMCBJrWY{Fk7F2qCf*{NL}y)~`HE!t|& zUX8VAdra{dAnwz}J#VjAgD<7Y^%;&EZ(!Ph$e?`H5IVuJP7aEOb!FrtN{B0LgZfDx7jZDIsk zFVpuM68vWTY}!AWND}EUGn07F%Pjj{Gw7SwvlmY_y7L$VTWicRC-NSD8sYYpy%+cX zVdP-dw*F~Qv@-AOFht5v8MxZCSD8T_r}L+yJxB#X8nY9@^92-48IhGU_-&kW`wYg( z(kdi00dhi3_$x)xoadUDo5bf%{n3%ECk`7`fx4s}#94z-!S3*h$4GG>EAE5Ey`FTl zPwF+a{P+1-Ux`x*_Pn-|MP10$mCPsZhPdZl$UG~V_d@m?%hmImutxRqD%W^QFSj5d zUTVeN>@3qC;yhBM>gBp7*TB^O(o`iYL~Zu9qi6eY<49V_d(L zmtJCdF1C6%Ahi*UJ1D`aYR-ZV_g^Gg-pTptP<+hg^Dsw@K`=JBiqC_ed=GxNM#@}T zn>$WF5y0C}#{xxqn}Do#WH%mvw4sgcIP19QjqnSG zZQ2`Hc&|p@jNz;pmhk`BdlT@eimY$^R^7V2r@ONU0wjbjge?hy1Oy3TN0zWJvLuiI zQ6P~;aT$rqC@O<-bd+%;ZpgUC9k&r@6cG_xL`6l7jykA}qN5HoZvWq@y44#AVgBFq ze9!wm&s&{e-_y4{_nbPl+`3h#&S~aWATbF4K2a|ZHVBh3!+31BKaG`%)66o*X;zu* zG-sLTGb;dan} z0v-S~|0d9s+Tefw$~BeiTIIbU!aHR1HKsUIVyn`==wepR_F}&A0U6jbY}S%CkbI z?3KGly}yhvD2I0m;|S|M4mlj{cjRGG)Ww&I4(@Kwyx~EP+>~0wQcJCIpeD$CRl-B| z$MBEF+fmm{8G~EKS;!Q5Ng9KFPQh_1Um?h>^YtakKOMFYfX>%!&}RX;399@yCadGo zw_7dGvYMsJ(hHMt4`Kw2Nw_lk-dn!!!|;%@w1xLc?2BiYzAwV#0q?#7c{|JP$XaWz zYmWgT$Fv-rq+&yK)|AAVSu^&~M$Zwq$l#5nVa9f`Zzebd2 z<&Tnbor@~a#6+T*g&l(DL}@_puWCHQ)&ugW^>7sQzky!>-JX(WsP+_Ze;iwD5#3kq z-RnCX(;EnZ)dlv|3jilFyqOt$;XB2GST1!R|Q{4HA`x$SM?or&f3c5QiBtqy#yPi#WluX%rsbwlBYkv%OAixKPHkW zUbam6laySI;G2sx)IYuq`gPzfK+AO$G^L*&RQ*)8{e0DiT;ZLWsM|+Sk-d=UDg+QV za~(d{2&W0Vk_@cfm3rD!B*qdkfT`JLqja*8t7KN>`E@?%^}q%|%e51h?Cm6Hs}(>PtpAA)?P_)PWX zC}{T_*v$c2{?kBH%C+smLrtyre>0|!AWJ9|M^=;hxOfOX5FCxk!^QG__CpwU?6Q6& zufYA_fmsc+$rQSiV+fvGa$N&x5`T(0*fYp8(JD(Wv1U{2TYxd=8q6pBgqYK`*c3e9%(LtLnGyLXgRTIo0WJSEpl<@=<=@@9 z{Fw5@s0@3$TFXKB2PzLYsXTm&17+e4)3^=c%aRJ=ePs*+eDkcnLELQU6;Ll%z~dd$ zi+2bhOB-wHCeRN4gu)2+8T(SU$CA+K%-6J_IY#&+o4Vm|u`%T;c9$?Xja{1wQb?#wxcupPe;_|!c^8IpkuFHPeIc@OEyw8+* z&oVx74s*FNp<-d)DacJ%YMR@HAR^r35ikWrU|$!)yaYu;f{#2gc*G=L5dac_?rz^$ zcNwoPp2Qb=6BF>BUWDKG_5_@u-825_EO^&B^Bt$Z$>r?g>?4ie4s!t`KK%WYaZG^y znbxwrw=n-c^7>12VH^C=@=RzsOV&QDS1wa}ZiEgiaE|)F!=RlDVFL?jJud{k7TEnK z)$jFwNgWThuIFjh=d49_uAaQaFk-89&B}9Wl`C8XIrY{n=C6X)ThB0gxJbT#sm>M4 z4;%0e)vZHbquxDO+W2H6yr8EjyMJdf0(WE&rjFbl%_7J6l;I9cHw`=8JFY8^#pxd0 z;8HySFTB@Vlk>;$AsFO0!a@RJV@qb?2UHKw5C|s>g;ej^9a`Z}^0bHY{dn-RDjzd}3zULCimt7EJ}WIG>S zQ@tD(tu1_0R$GffT?=1KA6TGUU<==dN7d->a+*5c!yoF%nmTS0@^BlIhmS0I_{x-r z!|L!?^~(p;cQ-lYcf;iSL3QpW^~2B9MZQqKw?A!GpPp5G?sdxldqMr*9`z4TtHb9m z`CSkB-mL!ZP4(4edG0&);XZY^HYiV?Cg1ZOLVUJe*1vpja`6^_X`!*na}g%(mFKsf zn7lm0k#8>Zb*-9?x{)L@96d2TNAbBFJ|AjDzFF+bH#=|sq|#Hg2A9a*dB0X{=p}NxIctYprzKJ*L(?x zIycFio-m0eHTx`I5*DAavcashvB{%ceXw>_lAQJ+!(?dw6i<7P@FaP>9t+N9a`v+> zBG+<^HOsp7Ky=3*PAjEHvgLOmmYC;dXWk?5uGYhAJuIm+eeg)`g7^3t$V7>&i~kOK z44=mnpakxR*Y$kgSb9haVq?!@mWf-FiRIGVQV-TnE!S9UviBV7A4;#l-ZEZ@Q>6(1 z0y3AECgLCk#?OXk6=O&55SR#;S~uWoJOP_Ry;ef;_wIHsCt|@(vRud9^zCi*t@X7# zzy~9AZHH#J^}Tx%a~*e2WERXfVT_F3RF(i6G}FSigB)HKtu^pTcsr3!?8KwvsYDuR=xdJ_V;M1H|och$gz zV)#AJG~4^Ts%tTw~=9bz|)*CC!s6 z+B@EGx^<@ZI%j2e9%%i|8Q=vtm;Gm_^@bDqdCTd`v@*^~xAIVG9pP4xUz}_qTzOV% z?_s^NF#N|T+V8l}?Eaux9B_+^QH~d58qkx0f`;K~534JJvs=E4y>2rB{ddU#U*Fu1 zP3Mmu=K(hs>|Sy^?{zw9ixBppt)yk0B90De9wyG0!AREimEd)}8bv;Z7Qsu|Br&?( z><;fs1JsQyHP`nB_n~IZWxr2nv%4cS6VL7AV`;%AlMVXk! zt;rk5i?c3g>5DS(X#?w9+*=@fD0(^TgI_Ek@>>ki1=J$dc|U!M2Jj{bU1iHzRel*1^W4&3H~H!Vj}wC{JT{D-B2B|dp-dABj8Iw_uu9c>}>^dj@eyR0FyCtGIR z8$bwYSJJh9@m+!^FJSht0?q*G5Hg|EiCIAs9S4BLHjQo&D? z3cIZz#iQK&828BcznPEnn#W)|AP;qznjI;JIpahJ^7aS63K=jLNZ_NeYs8mmrF7!H zR4YY@H12C>bwDJwj#hRzj`iWLDcsi$e!p@&w^-gAEeG7mTHdQIN0#W_iMxhdK~XdS zSHcaVk0|WMU6TWotOAjX)mXrv%lnIbJe%fQnIfq_?^Ns=oWrdRR?Tyk$Q{Ky_44$^ z=LY#XCx8{dWHaCnnAixLg^rADkI#Z1DE@mVT=B8AvKGgm*kM0oWep4oVc|I)J0%fK zOu7bJP3EW5)-G96gBf}>z~>lRUuPTr?c*c*jE{blcYBQA zgu-;9Fpb-IXOSv``h_)BhwyaD$;>fxJdPk{U3gAPkHBC@hbKhQ<8X?WBXXKVx2Hr- zdLhrTTEHj5`8n2d40PV`Zv1z~K7gk@YIS=|7)6Z6%==B4!lBk^?0iJ&vjVyb+Vy!o z=u3gi0ZOFP_;?1f^_QH|jFR^3tNN;K-5z6)jAH{a?kZRY+|t25_j5ilq`?f9nJwg52yerQGVm?Ph{!+_53r=Teve&S^Ljpf%`hS#)^;kw6E`R1>Ply5ocS-?C% z%drwPrIGf&k(TG9;q-A$O>DN4E0!;$vWBbB4Xg*c)&TQi$B4%fpx$Z>3{zBHe_YA2 z1AM~e5Bf{s7@*}4E0r8o`;UYys)c)9@fb`v8M{Dg498j&M4jGm@#qDxOq&sQ_QC zmwM2b0aw_vwB7$M$1$ zBm-I>T|iShd4CwgKcb8LbK$1N*^gAQl^I_^6Th{EE>Z5Hg+gIECWBS zhmD}G2ClJXXj>19!b=L_xtcsM&x6xyY!QJf-~q#hm1F4L=GTmC>v=}w9E_oX0HE{V z2Q;PldB)iKP+3=3y|OBHL1QPo7K@_PWFO_m^;mcFixkASO~wu#JSI}9I94F8NlrUR z(}%2t&!qa$_>|H^J^1SW>?Y8=fX@Na0U39XT;(^G0Oi}%cy2;PBhDJe-W}=~D<9cf zhnH(}n#GUeL&2Ki2v8n2aCz9I4&&s9ZTO00A5jn}%q?gKE81CwKbi$D_X3Z%5bjU> zg#qAlW;}*i4(@-lz)vs^%6guW5mqA1tMg!9?HS!=T@FmDI7U(~xHG?wb((yRISFw6k$qUjzC);6j^s+x309+zb@v-x-WM8=Fi_)~Yt|vRgZzBW->mT)Q0k zlH(uH<{I>WfUfTYK~p-Ers|dUZ_-k}<0hu@0QQoyZ+P7#Ylc164$HU=Ymi=sRc7uL z0nr|_I~W4`+#a7J$C~C$#%%f^HaT&c!^!K&MjjD_9%6VlFEhVadOG%3yFEZI-5%}& zeGhP-Ei37%>7?ZZZ$E0@aa7D85g`;UJUU@R7h*`-=|#owIIgYhN7h=zd;#(St*6sL zQ`-H)$;J~W@KyYAt4c3_itZD6@;>ofT3PN13&S}WN6B$93_=HUKklKymy|pk!7m&9 zsNA-Jegt?D(DJ+nn$pSbfNE>>Ez`bBq?i9La=Uth8DE**G0T?7lQ0D>2Ny7tM6rw` z8(2BO2-)&voEsTm3<5n4m;`8f7J;U8^6_PqJQ2+_u)nG$BPW?H?6Hnwr!2&(goRIM zh!tQd*y9YLR*DsRw29}4T}n?oz&9U!Nl)*AJ_`IB(EVn&^YA_J?2D@0?te)gH@5g( zM*U`Z6;9P4D!T@Dqmu9w9H_MqGlQbSB;P&8Edr}sezA>XS?)P>eG9hXz8||R2lM>r z_;~8~u`2gz)T&$sp7z;vske&VcD*Ng?fl#d`T^h(KM0GXSmM6`;=p;^kS_ zs(#~^aY?(^DcPnd*-n$nbwRfwDWZ6q1)pNj?9w+5$ z^7E3w$2vAKSQ)opefbG`CE=H-`cfn zR>LV9EE3?YVkwybiX~;Qbf^KyLxB@iV1HrFdQtpYdgc>UM0s7@X`7)FTfZO z$N;n)MW87a+0RcMo^A1Y0rf0m7J=!bCz+f+n)S78CJ%F?0sATngrBC(ZFIq6V>ica z8kC)m3E1Vlh*VYnnv$y?e6?J6f_@a(0cg1nf<865PBe39Nxp5TC||=qC137^k@emx z&})GU0NoyL2i*khw(aST*nY$IwrE$U#uH%;#ul>ra{76-k-8TS5Bi4rq15nx2mJ2! zl+$ozXA;1=Qef6qY)L(A(m;m&2K$DIFFD$n+r*w_&SzNNPB!#; z_6d80S>7>L1|kr6G53f?Hm~Iy=MRmSQY&brKb0l-kPBk zeScvW!{0g30np`I1e(&x?ICI2q%M9qxD&m&EK?OfO>WTMV||WC28uszKNG|6mt%}s zprRR#f%x_~qwxbJ-$w9X2L4p8AA`PeJ@!cex?CITA>So_W3T=Evu?}nQeIzmqddko zA^99sTZMg(C!UWs4>|GM7L4$6LWz6${zMi^yoAX^m3%Le?=PrRo7LfBc}~6mUH#8H z4tZ|9e81O}2lcOCsUN5h4~wXuJ*%#!zPVF<*r5*C??IA$tPV%j$>-IfPJRXMR9z1s zqOf?E|Io*H(V@%|sMdDHl4j6HQ^1*+Hs57ox!41*TbHm0;F81Ll@Ai5mv{<2+~x6@ z9vJAa_jP;REPlf5?_4j=+scx#V_7frUc!9s5e9Ts2QT97COJl6^J?;J6WZC zEd0#zNlb)z{(j!kHLQt?3=8M~%o6Y=nprIy?pT^o!Ur`mXMwZ2gNc{71I>`lrp3S6 z{Eq@#5;t;KdSUr-222eF4D6<$D}-&fpashcn4qNI$TBYE!`dzBa4k!(XYF^&oz^vc zRF|Wy`{bS_*jti2uE**;#1HOcj_a|c?__J7YjnTb!YKs{a_9B9nEKNL46FOwEJv}m zAEFIwQY{U za~j<*ySBPnqx(i74>j`rY97p7sv+y$fCV#Sh#}5eGfrn*~3Zh2N7w)iq39l4jiN8vKFNe9xJ7 zrPKF&r^n@SwL@6$rySjULpx024h-iUu5?#6cBkNx-E}5+y~C3-_+L=m6SI9h;L8&i zVX`0@_p?-Au&dXBz5WBt4n6KiNJ`NYyG^}V@$cg>tqc7F5&~GV#_VW<8VeO!L$58RXDKIp;L@j{;;{j3`*mg$%qkv))hpzi2# z(|*v0fcF92uYV4jQoNta*q+ahrby$-Mt1gAImCdo?cJ~(rw)8N-Azj1=-*@1dlcXN z4Uzls6wr%+rGVypDQHT|ZF|(_o7DZdMZU4CsXNVk`12;)Y5s*h52IA9JqY8VN8Nb` zqYuM=J?wdaWkzQ{ik@J`Vlj0Y%u%bjH1CvbjYgl6^N=kE-B*r+Hh+utIzY=g1~jF7 zdwx=SI+9qmmTu(Ao~@|YH+ODD1NcFiu6WUxseA0@tbWt2%6H#=QU#Fj@b%<9ad+Pt8(Xhj|%&PiD&`9IeZaC z0x3^YavT94J-?KA1>(E|-2p8}9%xGO>$$P@AvZ66oPcmk_7;a$C0UB_5s*ZsW41i& zz)zR!9iSfq9s{&IJ3v#4FW0u^2~T6R92jPt49jBFCo8?UHb&&g2VDw`2Xy_K0(v$O zFGp@G^$Xmicfv)YQ9(T`VhXCbQ4HKFiVRUaVc;1>WL-{iny}AtAj7Bp6ubU|x7O2M z(1(G~04?7?Kz|3s%U9Bxe36}UrzG3lfpbofjmo9jmT&Bpk@?+P(CdIp0WIIvpc{br z^{%n4$QM7OsF%JHg8k4=$zgEsy9C0{cQr)s1E%@9iS{>?0(6X!2)2kC{;R@eu%d-spg0?(YfxZs75zzA7 z1e#L3p5p6!lqEn!HN9=slpCU)W*Hq7 zcLCc0t&jUaQ#uuWXp4c9Ddd>V_ZY65jq8#=(l)^-7LW^QzP&+Hiq}U=cR9xKukvR00< zZb~j+j485h>|#S)Ou>J~=~IuFa8p(HHb-Kq;X4j|5Grt$Gp5KTg0xtquj+a4GYD*8%mJMM&luwEhV!a{OW97rvLw@4*ng%doFBbBX zbkjfGlqsm|tKa(#sVnV^>dX9JplEoe%u#_2c-_w==WM|v?$Mtpo4}yLV_z=+iKL$)HTyy=hM*3#mTjZK z=9~YA2;cFbX8>~n&36H4O0DPn1gQezP0E|)gvt5n`a>FE&U()Hpy(7yu7H%7+${XmxhhTT53 zeWowg?`v583r5$j8V>tx8R9p+d;wbLD74PK)@l8{MFRk5e}9o1NXAZ?&b<8`?>u-k z5bY|x^PDsMGu;Fl>Gg&mp9Msm26LGKFgtg`jg%XfOUX+9?5;}wEs!lAr)YfsD(H`Z zuK@kL;@{#odH~yRQ2O@mQb$*;->9(saphhqvod;B?TYc0i)$CvRIa3gXyog+Qmly| zxjb~-irKBbR&oD8(VHf+*3Nj46`vhgi3veW_hUW~tK76FIgRJ7_b&@jyPPT7^Tp^f z+oNo9;elcR-Y1a3PciH{-ZYU^ zK2;uWFy-MY{3#B-EbtXe`UeYq z$6Q@tiUcb*2b{7meG*UY$_L;8tQc5NWB+0o`RelDtYP(F>60_;r$in-_8Q} zF#j#EmqaBUigwkJ-zoPCVaw1<6#s?(;K~Ibqt9%H%@H0kd%+==#(D6$Hy-)T#lAhl zB7CZ6FiFEEx}{RuGAxswE~)M?XC&{#*x9!Vt8SZEHMn0%uJAgGZtz@K#>O~ekNpE< z;VU(j&xaesR4d^GDj_M5+AbsZfAlr_cNyEYwg0Wg^{n)(MP3qj_1Y);2KprB2l`#l z3h7eASW&?vtVCUPSn*e82{E3*QsH<|iIPyTG~eHEa9@9)!M**x0(psW3g_x+!4E&# zjLIIVeu!%Ku3IDX!~H;)07C)YADsc3(h%GJO7Ev=qrH!;gk#bg z2Uw2M`br94PPc?2bVI#)7b;_;bf}W2kz~MUx)1CJ-3;X27U_pR1KnvWeD3|l?*AWa z#IFtG#b4C14Y{hMT+v-oNc`&EFIWiPn)hQVW3TlJyww){mU;(x&@8%@_fILhjXI({ zU1sA=y^sfCHk1Bin6o1s<2IVc`L2w-Nt+YZyx;UE(r#(UpOg%9nMMq z#NwboPz=Yq#bnD2htXLGCP_X)UGTdPb23#=D@Lh$(S$NDMLAQwcn|caz!!k7r=CVt zPlbKI6!!XC8}(t@;>zWft0rPw3XKPjnGND=EWz!yo)*S&vmXq0r0WTnP4RKAZOPr5&0cleD&APvyvF&H!@?T>W# zk80c%UvDBS#u#LMi473&3YSBU;PzS%nZ_pqJ`FIqO@MRsY>|usRx);s7a>lq1&NRc zsv`a2cy}=w{HMagpnRf|ZzK3?`R)Y$Di8v+e8)jkI$o&CVRl~2w^A&x zbLD&I6W&v|O3D9h85^wbxc8+vx;i@W^PpIGsbe{g-j1$jPGXLg)gr`)95AAYCK zL&kEjoIikEX{VCOnh`8l`6$0r$w}?A26P>;2GIG~V1KXUcj{xjo@wQI_;PZcmMjB^ z@3n>@ym=;8z}3s`M%B)QdvN=~yxis=vae74zX1IM@FSr4cf3o& zHv`uJTCT_K@3lPo*rHqm3JY40>(GBAS7?Tk%eXu8T%88GBhVSpa`ggDDSm%yyjvXDRTMRUQaV%dU5D%H=lRW`{{Z|E(0uO%eM)>)8AbSR z!1mr2_%_*mkKwwSuVb6vNB|N6%{LSDDe+Zh5aD}$%Y3tE+2wCvSC&8M&A@el=KHk$ zy)JisjMp=@i}J!kRWEO{?0UJ+y47Li$5l(r9ndSmt12c{QM+>fU3-DWcx$eb&vj2k zFP%Vl19}2lzCzHaq!%Sya`{3`pzX6RFs4&+3|7@(m~O4u&tUUihwIki!laj*K;H`7 zZu6phQn|g4v^9OyfuEdEiJsEghbf&3uaq}r^ErZR*4um%wxgZ{Ie^aJEYOs4+pB)H zwef9)U(8fay?DX=)nxS|{a1_|_F0z+V@W@Fu6JYL2Rm1of_oek46PgQ4MRdWMnY}z zqi~W@NU89x;^P^Pi~;CK=V1hQsVRrTQl92{s(hLt-xi!9J?#hG3^@K2xo?jHJqwt9 zMXdZ27B$N2#Mh%pKGc*!PP4U5d}y&|>t6OD*zZHY%K?Fbvw;uT0PjHm0RKQYkRC<1 zGwxu8Fv=D1xC3`jJ`8R>PS?V~S#E5G>cqRB6IkPh;mm42_cz`({uTa}ZXkWN_bmTn zf0Y}MTYKTqWGTWh^Gi78`e%B~nhl5J2$2czIdC}c#zaxN3--P+3!@1mHIdT1Q0ZkS z^1RX3%g3OP0^b0-T)p?Ia-Dr?tX^8zNBEHi!@%b`4FmUCpL1gu>&K@@=M*sw$MMN@ z^Ft)tP8cD}LMyLSa?J)`(ma*d#h^C=zXP;fkAkMO+>XmrZ`)zDE?3MD6;Wlr=3B9Y zai4XIX&go|%!-q3OoGdA+3@hGB95=p&9*YrGYYb|OWdrh&3F~1dX3^b~Qht?^uMzxp zfBh`zUBIh=mhWfKl;YRFT9R+vYKnJCcg`lZU+!bvXMMwr?Yy%ifxDfS%L9Ld9Q&3X zy?K@sJ~-*+K#+R%g3og}P4^Figu}%)=_3zvRx3G6?~ly8&H+6Sr~oKYKep~}HJ&_K zKc-q@Kj^8S@f9|yaconw)nQcFe43*8yaM_F@D`x;@iAyh#~zGbuWv~o(`4Lh5u6R% z4JWu(8P}T>=`;zGJ9&mNpFBH+Y`(b?B^c09N#0(SsE%w!xE+M9pIM%e$>7W zf^G&r1++Zg2mcE_z=Ca+oTSLVmqbeKNB!SN%s6U`6m-G(8-98%-cGdlLaY>s<;8$r zc@xHF#;&^F)-P4^%?5v6Z_fvP8L$!1^8Fb!rCT0uyPT$0SFK%KJ)v@y-1#JeZ=j0| zrb5JjaAOOeGC2IG`90i`YPs>K-W}eilMr?@m3)mc2cB9J5ct4{$(96{y8z>Ox(OfR zB31G~woJ)uJcNC+I79mE06H7!22i50G?WJ_k(@{cm~jV>(ZoT%6L-g?PT|98O?yo|dq)_XvHgVO=|3AIjYOq;#JzQst3B>T#eg+9 z4_e+}+_&)3=FQgM2HPXR19LcBk=_qe!an5B?hCoY??o@}#?{>LRgCR!_~b;1V(J*Y zUGn95llrgWVzbcA!w8+D^so;39E)S`QN+QF?IM{w>#?Q2qBC&`NCgy=QlB$e4|u;fzsD@=p!GW zNnd+GzXiMpXnhTTROxGn?ccucB>GY#oM@HRTU%Y^&U2r&*Ja%1F66_}KHRc>xUm?S z&V87$?Cj{4h+c$l4~Pwf-0%VLZwt*JuZfgj+#gese>?Z`lN&*75~Yg-8uO-Mst{4% zcyKXt_W~o&gEiy<4?{pqL^ZegOH={rlsfcL2}Yd8Ga*eto&6{%8aO6r+t) z)ljHY>4tp(ayY=a3jPC3^pfbB!uQu^n{V*3NWIJlJs21UXg$|}rnKx&ZQsvhMr>IP z=A+^oISP7T7`J%(@jk3QL~zr~^7=d?2hJeU%+7EW*_~&5hcm?QqkW86=h!S`I!nH# zmni-0fE?PM`z_Fa2aW<-PT%9UoIfZzkAJR?E$L}`ZFq$@CnP>(avJL2<9*-F+Y4OgrBnrHb zP&eGb4wPS6hkj{sVp zA3#$&m2vL$T3eb%#H^)FE&HsuP2&-7XSh7DFp8xr*B+0hc%gfzW9BJ*nnWGdRi+pr z}q_-cKA3;KKD-?l8&f3#&UQiu7h6Xq2{7(!GjQ;}?&&)6N2e(G${ z7Xg0&hzI$x>Gzc17z1o)>iMbe7IobChemuGj@cJAKGu9AvFLJ|6aJC>VFGJTILbc6 zjUi;sFAkLC7Pmvp$3-RAB^A5eb3Fc%zKF9r|8^F*i@8NsB{`}I$~d5Kdoa3JhRe~< zpCf`i*Pp|eV2HgMyBx9kE7=jmO&c%xY@UOmTJ)#ZX#CRA8Gepd;u2$d2W*y_gHdQ1 zpZhyDr?aa^Qvb3-YoY%(7TCy~6EWPRC#EkL;-6yO^)Dv;&$4%Y;tVsDo5;oIVmY?;-^VJQiJe#1yZ0L*X*(;zA0*3*u=kGxO3>>xlW!-<| zwqh5uB;00`^T%V%-wk8_kkuP{or+4H!#$s~z_-}ZBbbk;x!ZZ9zsfqy(?~ZVy&<&> z4`%GN)A^m)KVfNlr3fTq-7?;Ahd+**G;VBnbQHR{$uJxUXHj!X9o-N^ky z$oi2PcbT1e76w_gv6X;U43{{a9X;TNv>Pe4N_0WD(>51Q*E> zgTnePN}i42Hyiw@T#thO0r(Nn<$B(;@Dm1%{k>{8`S!SG)1pQa(}?d!BJCDC+ZVxX zsY)%B#s6-#T=3H~0`cFjm1f-fTb|SCy2-QEMLByJV@b0Rk5s4QP8V_V;Avo4SF>D^ z89nPF;N&^yGBz;Ll`;@6fEQr=oP-*bfTi8xyc&9srtBMx4E7yhb8=RaG;3e&-nfgnbP=wve@%8=FNxXeSf%p5*S8;1OAP zf-0fW-Nod30Y~f~x=qPf5B{b2O!935-2^-iX!-sQn$k!+4p-~*WV+vs9d$LD2L;VN zg{)tM(b%GFa5nAf?{@hHVohg(&}9UPX=rmXR^d;BKV_=Hlqzmla+mx$((f+=y$U!F z&~o1bn$j}cf6~!Ex7^-y^GLJhwWx4C`-aJ=5gGh4TnfJol!N=7#uvx|I%(5|5b9;< zcIWWw9fy6GT_7k{v6zN zCEIa(9YFW%E!EGcJ7$CRVfr<=TZgPo8OHs1;O~T(fFj@uT5<63^RW_L$j`w$6e+2Z z@UT{l$CYznff=UcxkSgA@|f(HW`B-9&Y|LvFGbn!Ja`>FYTU|rC=F&}9;5MLyZ+nx zqxyd{==*>sK0^BUY5X*uf~}w!a~hpjy0TSq+-EACo6!JVz z4h#gc;8z$^GTh@E#sa=FRGXP%CaO{oabXufmLgo8oQMHErcW|l`dNKfo{>`K90AdX z@~hm)Lj4m;?$Q?`_u~zquLu4J=zja(pv}LWxUXz)D|Q4i^@`d-q=Sji>Z01(HOpod zBcoaM;y$Nbc1iseIt^K0IE@#b{dfns<4Y9Dris9n?z5B7HUd29tR$XQBhE@f$T>e| zC){}6^5N)%qx*#5_`Bib0ZSM>sS(5!?7nYgJrmu&M3*-i-kW)im|!BN2Q{bB{I}Qy z40Z+_st;ua7$O{nH#2iF{2@F;*_WyAX{D!S&_OoNQ2D+G`b*##p!M|dU;W1OK&kC- zNY7_goO`>xPJHH1&{K4G*Y=Os)UK+Qoz01NPNmiXvi@X0-)U<$Ys^mFnoVlGB+F=U z6(Rt^dZ+6Z*7-0TVawM?>=yPFn}dPloNw6LpBO6s&ur4=aAh{<3O=cUn!&Yv(oOXJ z&3w`x=33OrF~IV}*ho$lCEdl-9aeVfe%uzFP;y`oiU8s11syB-*)TYA_3RLCP{nSy z--mF4r?uBjY%m;t4z&`#l>Z;(fur>QUvfc5`v1i|H~@3B9i5dZt-r%@etYT^^QaVG zh5G~6z(o&=yUBaFujW2U1lA+J7!JJ!eeqNDbVqDT&A;?cHmfHosk z8v?DnfW~!rZnXI|sq57fzt=$@1P<9eh-c&QJ6fzq)Wjy#tXZ?XT0bpP1T4#_u;kB; zdi(mpmt=nA^$S230VV33%v1eIu8*hC>9vXpvN8bIA3&D&mVl>Ldf_Nv;m;6wr_Fa` z6yLi+{|R_7if{gi*7G&7_FS6w0nh(1FvS~8o~7N06O#fC2moj7c+oj}$C(q~;nbhL zkuUr{{K9$lpEx6bV}Bz^+mQcNRS(AQis-Ex^fF+%I;Zq@dh7B}s$Oc#Uj^~2jLpPd zPsE0m6{kF@PNi0oB!91xBNQda=b--qd>bXlv6GbFv~yNLhp(Ct0&gKHg^4_?LQ_Y) z+h-&dP0QcWuj0PJf7r6CU+7Qz%If!uOAL+wlE0-OzvV2QVRzKzX*QEM69i# z@_$Jk2;OeM3QD-&!s=CgmBZ&2RC$W$;xpD#wJUvH<*RW|Bwx>h-U+;<&dGd*PLi)_ z)yol`6uJ6$EGgG^H)nT+s51K3>YGSsXkxY`{0aXhJH+e* zO77XOM&w=x`Xb;Gbxz9N+@{<#AcX9{knDJS!lPu<(nMsBm7Ap0-8gmsQU4YGq?@_^ z7He2KCw8}PWWS;Ek-ayPk0GE-fl=z5%t!f2+Wq8JG#PwNKR0_1*Sl9YXAPs(bife$;)EW+K{EnvvbDzAcl6Wvd}QtDAVa}W`O&$Kk}^s! z`dg|2_UdvN0oPJC{o^2Ku-r|t8;RkNaJtV-;ARTxN2>3Jj!;wu_HyP zU5XY}81W+#S-EhfW}9DA6u%chzXa@wN5 zD~+r1b~xQG@koA8PQ~d=mzG^-T5^4i`n4>j@c9!5C%U}&^P1gXn(Jzu+P|M$?S$^?7}aSpN2LuaD;Oc9t7d~@;7vBnU)_%N^!7pc^2*%4md0;tHmZU7taE-txN#j54(g#Jqlr=?vYyYP-r?N|1)r#o% z6nSNRMjhL(HR0NVlBG$|sFI^rAcA*d=N3}^QKi?6wIfgg~;bGt@MmdmbwE2f{ z{SsV%Ddq#e2K^u4S3vVO-%QEC`A_Nxl>J569zVHa>Oxlq32>1iE~3nL(cZIA z|7`vtTwkwm9S8j@V7?pS?*L8dBz|(@MUi5J9fl;A&y}uW)*50hEoygAUe!v!v-6MZ zYyRhgz67`&(D}a#v`lg9tzmy^C+DvG<8+!#-qh|uF#uSZIRh(#c29fEmZKSbP%ULW zu-?NSCm<7`I!JaYIiPz0dYymE%W8cxqZNAzT6eH_+C+IzNoZy>K4h#Jp8dA5iQ9#^ zN8}n};yiIC>cC?1LpTx3BUB&izE}FG1J7)Hruw-B^nE}Rp!M?@Xi9Chj~IEPn@Cmz zzl>eOF}Lr$hI<-#J4p5#GzA!!GLdU`k=HN%LCIqrjrP-fN>8KL!>0-|59>n1RvdQ9ss=)cnQ#QyaJk1TkR%B zj&Rd~hm$Q#`ZjUGw@ITEz5u^@?^XpS(hIUdO9!%(DKX&O)1!P za(lfPd7{^mZ#CI+Yy_X#U_|}mqo8*IuL4?*{h%p@UT?d-h3iwS z2^6^ndO}64aAL>$PT6UHkJ=3wcQcW1W@AnJC%gTB6lrgxKu-l`0a~6jK~p-F_7;}s zg!YzPR~6+hbqizx;1*MQLYCJr|JiQ;;8%(>q@UM8{|z_-XnBr;rgSR(QJg%=K#Xj6 zFTRFCMp0O<2B{px*%pAYLg_|c{};R6f2{bCJd;4r0OkT(o*Mgmy}qlDcD-4>ta3m> zVP9J1?Tc;=`=-z9=QR#me_%##M;KG9mxnC83J^u!V>H=(x8u4l2ts^c2K_1!vUyRv zY-OL0%`Z2vs%B~RYM2^LtwxM=F#gU2SG+xj6;f<=!^*rr`ZWaGb51+qY!|Eh3Fih_ zgX8{p3@s%$8S_bPM%~{c_32U2uLAD_Br}ai&i@4ap@B_yJoJlRRrP#X+U@l3+RpEU zeAxaN%4$|tt~x*dXO%K+8}^>bK@qM0iBM03m%?jx-!hUfuL99oGoV4u}h7ZDUVCVba|{6Q{@qX*X6NNOp?ci zVuC!*KL<8`&e247pEY#$)cNxl{0#4}V@=`bJTs6G9CafvxP_m7Gxu*s0c1K8T%*7_ z)0^NMb%FCt*v~E~S?i>|W~Ou>F`2()@gofWi{@K*IS{}Bp7TWw*)%-P_z*br z6a7KCPmK18*{|-h6tEw~qsp`N(@1$<4*D+OH9(i=!q4zr4=n$yDn}h>v2ozZ%QNi1 zqU91@T)T4h+7;E|B86L_?*+M4pFwYrGJ0P|Z*}XbU~jZ!!Dh;WovZ1LdJ%noxp9Ct z&AIyfeGV}M#H z@&dxw%YzLO>6Y~+FL;Y*zRCT&;b;r5S9w8*XYS`2ySVidFWAX5pXdG?OlMDLUdcFH z+0^Pc33!g?`{YjWbugSWv6CPPlaT2=5$joacM5D?OLPlt&PntNAKnv$AMXKAFgq|M zDKl{d3N#Z1IybE#H8U+E)ygPH&&=>!&O~Pmr5p0Aat;1HazE|@IuGaz=zeW5Xi6!z zowfEK7~8K+s>Xc|;fiM=T=79`mGLz8m3G67NVWyj65MnD-|w^A6d3kK?+UZ`$Xu4F);_l&CGYvQOfK zet25V1++Rl8pS=@IA+Rd#7+k$RS^ou3&;!NEjv-=w+=is-|Il%0NfPCw-tXQC-5y> zUc2~gn>n?3k8u^cblAVxe424hJzoA5bnpwrK>@U0$APA_e81|aviGQCY<-U0H)pM? zSwk5`jPRGRw+6m-HXu|uasCoJFGY8ehAkBHumdp3)f>Al1k5Y@U~^50=xSQnZIQ<_ zoT<#pKudQzy|O>Qjo~StFQfP;9ki9PVKgQyJvBl;E&p?%KL-8|X!!$QD)}3CE4g>u z{vunGf7)6(OJ47Ik^gG3ddFuh`fyl%s`?drJZROs5j3+<^o6x?9-Lm$4(Kq=e?9s^heF5lY zzzRU;>k816zO%B}SqNx= zA!?8h6w-C*WQ;c;M|nrZx7@xi@vQ>A8n_J5d^g+Q>+!HY#`3kTAJe7v<4iolxdJrf zHML1}c}S!;3CBYyUokbiOICWegUs{?!1W>y@Oxm(u^W7J{yzqN6!^yGO|pby?eFY* zCG$Ic;z)bA==t(DTd@Fe$l7wTaRjez%tZ)hDbbs5J#;x1;}?>ID|3us|hw)0Hgw zOOggda;h+xf1=VC7JBp z&^1X4rs0`s3CHjTF z)QP^`0b2$+R-t>{v9r|uu>Ob0JoKHQw*mJ8l;}AuK8}MuUaDSPwYn0)4a!&5oLecq zuwr!%E|+T-M(}LK=NPWJ4A-OaS>nIo0}to{=<(Tj(3F;0YQJsh zrI_cTmiSGpS-KM3(nELI(C8{3LIB38c#11 zEBP{-zoJyJT*XVxbBew2u63KhMy_J4rGBN7v-EgG&bgq^0%`#*=dGZnoS!N^j{T(tea1S`#iQj)GX;X5NNi=IveU z^x@LwZ`n(1xK-vn!#TlY{D3@U{3Ki(v0F9oN@4vQuB0*93|+%g!;xZkw4BF;^}TS` zyPa2%-2KHb@F&9k^qg}#8WOqpg*Oxg;S9U?HR{e$`PvPcGwghQ0{Sc9pMWk0=YLc= z1nuXq`2F`XKTE1tt*BfRS-rvLdn^aaGC&}jTM&2^dkEpm7qj!0<&a)Zddi>=y?HzP z(YTVU{{>&sE2mdTh5a%wON*l@r(3 zBit&cu}8`G>GHi;zGHfuwEwm>JW%!x$J=o>+*?*T++XGfo?v)ufbBeX4EKY-o)K`i z?Dk}1_HzI>ITyKl@pi!_F0VVl+q+=x@)Qp|%Y#1bH}B~w0ebU}AMwB^Jkc{AwJRGF zoE^XC-s3#bFJbVgAG!Zq?*4}RKj7)^j@}`G(NA*!6FktaB(o&w?2IBD2ftvv6melI z;6Qi?n<1`XAjX07B3x<`@ILe2hT^6Ny0_uIg?+=}2=X{Nf~<5XN03jz-!qnIu&#Q( zUGC7K?kC;{&3;0E253EB1^P)K_j%Pn1TRfF)4$gYyh`us?qPfd zAJ%dDJ*L0G3|u4MshQM><>U{$7(RL^_y}EY5gu00MW2;PL4${(>nd~4^o{F=A72Eu zc7s-*u^a)*f?LfC;Z`#M?Y_m~XEPiYz^GfV^qc*2M8AVTj|9d7x?N2NO{w%A)nCLt z&+Gfe1&BE|wYpMT66NQ?-$wg>PN;C9aX)q>TaFG^Ds5_<0B>dXyl}|o-)LW-`m0Al z{}p%x(ER^yf3NxKV@&(e(+TCBFpII1;Vnm6(5!q+tb0@>J|=P=rTK)Fcd?=M?6f<1 z;$1v(ed3)oqfo*>Vsd8T5~Yv)Un2d?G|+Q_1%Q^P5;Ub#urHETPTj1}sHR#MYg&|# z($rDNu>NoJZ^HF;KleK5!@x&?=Km>ZO7Z*nPp~gKfqQ!S3@E0zRLq@N_ymm082rgY z3z$#6)Xx8}k@_$h^ju&ep!qKbO{q0|8Oavo6*)#hwh@L|+n24>_GLGNJ76rrLb5?Hbml$G+j3XPdQz+kH=N}e;di*dK^kQHcp!qKcO{q1z zfD`$*XcXX*@l!XW8~|f>q#T-UId*_gDfm!1d;t0j;A=q3@lVi{TC)deO^z620B-|J z!nETf5CbskM0c};yej7Bf2;IS$^+s1JY2yWOM&HpmZJ_drQL6+{xNReSM`tK)(~k7 zYjtDLR(^}Y9F3v;a>aKCu3L)hQvTlt-3)vRXuh9=rgYH*r^Gj^5zMw5!KKJGU`&w8 zZ?^g7n}P8Cb}HyIfrWtPy9hL;?XCE)lzNZkH@5Omv@5@|lbH~%{J37l6)N9NxV~=x z`#~Q94g;G1hoC9d+4rM1^c_|C2iuju$`H6smDmv|LpI-B5eTnaOa=`X)o_p-;adrs z((?CCN#8A0`s!L$>92v_0U5U=&8XO@^1YpS;`&tHuYx`VybtJne*~J6@1y^Mf26Yi zmceUXtkKJPsBqav_LYi%t`!L1cP4<+P?|XYd zzX`kxX#O97rgVz;y=d;rrdCBLh66zX7}x6?U&U2+{vDBeKNj>fU^bxn&jU@Vt@~b> z@u}YUuC~h`*Vpy_RnP~4cL2@*ebAKJy6;8tk81O+-}oAA{<+S`eQy%zS-_cq=Dz?m zrMB*SQT$`uek(V=;3hl&xW2ycy$bpua0t-+-vdplt@~aS|ERX#`i-yN=AY||-1nw| zo(EI{ntwHDN^RZuqWHJa2UOX8z==1$;O~?kn!u+Nd}O~5`ftDyK+ACyG^Mugdnd>d z=?h>5*ZPewWXn{MG^O6QJy*;9a9E1Sjc=X4@#)B?OXQ8OezTo_ zTz4$4OZg9heh2sf(0o4zO{v5CC+i0ze4`pc%QrrGHR$si#XsK@(f>5i^MDFK^Ir^_ z((yPygfY(}k=eQ!li%d>)^C6fHvcAEUyr{+px*)B2Q>d?(3C>0*k!BxZzTUwjiBWl zV1vqct~WByDF;0VSO93gi$GKA@V8Ubdkd9+S*=%&`d|Yo0NeoOh(})5Xtd>M0-p+; zqVhio`Xk^oK+Ew3Xi68o{olwDsr;KFH^LVo2LKmvbR)D=-L*;|CB8_1JRkH5U=^U{ z*bSOe??0${hpLW^^0QqJ)(yxX)UWRBnst4rj+`{D`kb|hJzU*)nhes78zPqfw)ixn>LB4Q9PSW)hvk7ocfr?*y2OCf!*GT>0&YIlIXUkJHsvAQx?E*^ z5Km62=KX|~UdWR?mJ@~IugwJ3$iPvJF8Eacma;$con~t^PzkVAK)$W zoNiU|(_C;PH-H6B7f8!FyOhq&Z9vpO~DOg6$SF(-Sl9W%$j+%)}1&NFpmSTN3lS zBzAp@62~{f4)H4jOZqS&d_{QvwC+wj|9rsi2nuD*&DUji4#zCO69C zI(y#tgmS0c_f-a}$ogu^a|53zH?A}Yd02)0E6D$q4&x`}-{NE0EZ2C`V}}<<@}$F7jcTuRliNic?fa@Z8?7i?GFTuWI)R~5;Ud8tVVfU{$eZTB;}l5 z8(TbZi1|ohtBWl-zoXy?lY14 zCi4+#U`^;^9)g4G!`5Gzu?v!4E~j}Gh`Gv^Cit-8pB;>h`zC^(4=e&S|2oi=g0|mk zVb7bNP~NpQRpV9;UxOCDXziNn>F3u~BmDf#%H?axnhdKFmtZ*pTZPhTQR1-mS8g0I z2k{Hg01+67R!RQFL>WY@ctpvy1AO&(@CfK*!1sWb%blp?n%(k!AfgupNUmPBre;aa zVyqucs3F_%v6ZVwt*fh9Rc&wlJ8M0Ow2>hcVh-<$l^lxQNh=ZAG&i(ZWJ0cEwp`^l zUuqvqL9YX@0<>Ju+28AOinAY$$ff7(>N;VEz+ng8?qRiL1hnu8ai`;Pk@y6B`9Dt6 zb_)x8^T~+h8vUA)=qyMa=}SyZ;w&-t)gLmKpdYzPdh#uOQt8u`6nVbL2R#%h1GL;?4AzO|H@W}=r(%%ly zuL2=J%W)7irQDYNq(}6p`_~hiZj-ncHJ>#JCyc0?1nrN5DL4%6pWOJH@%wV#^E~7~0Ivfw{`VlCT>Lc)8|oMFLlQ9zCLfPM^>c3e6C?Gp59GnX zFhIsX9x@BD^--q3vT@doh8mvfZCQ`A#8}=!>T!s;g=F*QWEyKqinU2@_CxVl#NUkH z&&2Pu=b;ty4qzuB)%w75JnlOpx6C*^B2@L zQNxDh_ri$^ROM_8Weft<;WXMYzl#y}*@o9Hp{1#sVHpP0)_PGZLC1GhirpK09!S;$ zzATXuRa->9?FKhFPxuP*_rSjZnQvyY;2w-wAC$b$SW>g-{4?unc=54H+eD^bY=Qhz z_zn_9R>}5idTC|6((ZEOorvEpM}DyKS^@c4;6;Gt5j*GePKu*^32ev_{dMz3abNwH zX8c!CWc*9oqL%N>YpktV7X1PKl4i8fA60&2^L=r0bDy|9MERTB#Q#e9i=jBwi6p#k zV?@={3cyD#9qx~*cMVN>hT59F7DgU?#>@xU ze=MB(SwpS9aAHf<%D{-AVT{p7RKhhmaqNI~I_!G*@ZI>YsQ0jYO@ImzbSnSGqWz4D z`zO@={OH$SR*j$}07aiUUZTQRJQPd! z6F7F(mlNw;&u;2}oR5j&;lqYkU3lPvYKuqjN7=|5@O(?)u~`RT_#7%cy0~gyb*7Pk zJ@N!SMeCr#(YhB(A2zvP^?QBswl|Olf6o*!;q#dS53>5fLgs6t{;qBpdF~&E`~?tXY#$j{WkT)=^Z{hN zmqTV@h-=SVo@F&nUaLi~QRKp0dCE67oNQZ(Z&zuVeLzB>%iFXEtINylzf?ej$_UFipYZ-wD(^ zDPJ;El}4QE!4K>Z@sy`V%IPe~lYp}U7FaxMPS7q!$5S<Js$BWP!y$JMWkbXRnUS_guB4sa15+qw0S9|mIm*_6){?VZeT z__Jxm83vxo$;Gurq<9IyJW^zGFjjYxtF)4pTHaNfy^@U@9|Aoa&tV)|2c2fAj)nV! zM#&>a-ou9dn9%KJLPnNO&OqJ0PQyuHplyTI(yv{ z6~pLmv@g8REq+VzTFrPMUe=G?4|xZ$6Og>Vg3Ln7VZrOjzr|hh!nzhW7l}#r3o4&Z z&*RquetlF}h#10V*n9ME4COMj3})UeZ4~-8+lV*Lrr#0`s#Iz>{R_SZFcTB+(=Z#` zNzp!Hp55}cTMyDBJSRb(2h;(Q=OvI?_{rT5JM7whIg004wgA+)_{_1x@d)4?@_sBr zLCa+V7Ggo~BdR=Nid;-b*MUiMGE@8Lg_WF7TyF|^p5GOGb|XI7@Ba;QL58E;2*`R_ zmWg#cpf)J#q2>C!&5P-O8)W`9(}#rRh)p^-Ad$b zn_xLix6_IpbpCc~@1XJgYH&N>&#K$$fE_epJN53MN!w}n9rR3I*~7fD*G0+gw$pw) z=#uTUatECh^}fBGnmZ87Yi5}hz+lKQvY}X(MLUy_f0EH>RzD^RLa4@67PG zroF-{MZSBlwn|o6;p;8?8Y{t%ulBnjV1{wPF;~^+R?haSJxF3ef5|L))(k&m+G{Mc zpE;koy;mmC8wov|-b%4~?97sOA{( zW%aCT4A2wcUpL9>Zl38a@r2Rm*7-|(Vf3Eua0X`ytt6A|l0X=}Dn=7*9Lqw(N1|RF zMwyr6HG7^4vaojnGy<|-ybAdsFfmWmi}HMN-`2mG{Y=}qjMs~SOBUDG;~*R~6l6VS zeMO`lkA4?b8m2y;(RVUaAJzQYlV6wPVZvK={5mA+AC)^rrLlM^_vbYM$MD~=%FvWp z7`1tfv6}5sgSL@QbBuoe(R8RW^htF}t9r(ZYP-#9nLZ#e^f~p+msR^EHFb+xw%;oG z(CYtzW#c#W0iL1+)8Rv&vng!&Uknw#k+4<&2dekBaEAH^5=ggg95_<8XmkoWgSI2j z6YWgZ#zIG#QKI)pkua+OJY?<{`CFA8dG2OGUI#n_$o$oF9Hlcb(bcQXbMFg|9Ni!A z{AIHhmTmi>F}IhJeY6X|ZqoRzG3qVxkKN)^GxL2mPu+~_I2 z!IN~zD2BNf6U}y_$ug)$yPc3}+GuqXG3LPTj{X;7-Ac?W2}!0MSbJWEKIdK%`LzsrA=~#=kk<2D5re83i)&f4*+gF9$GPfzCK!iDR;6A>}6~ zr)VR|18haI;ZwnD1LBqApO+!O3A_VHUOz!*;Y8y)J`1j_n^ix%rj1qA1yJ~!0*6g| z^doq@yg4+@4~MNdYir=nkuJw-N0$cCY?i@H&KeWxo9kIoKKX4v^1f6XeyvwnJk4u;M3iFNk?A-Exf# z9h=D>asC(nh4{$+a{3o)?V%U_g-+T-Kh*w0%{?@v?10z33>vgTa4{W#6VZSbveIb5 zUa$3u*OQb2XOHplq!_o(r(5HjeYtu(9qNnoO|#(1D?XPv=3uh}P4Q%qY&FG9p=qys z&C7h|03@)0)?&q&4j>&dX!!%tu>)YU8htrj6_bmwkn*7hE$I-?bX;1$68UkMr5~?Z zKcMAePXI^(WI1(#%)-(_g6U0PlI4pQ9Lp+klHIP>WcLI{fM#wB^kBjn%tuHQ*ae_y~odip2DOexg zqyLF0ANsRULs4hBf6oFsj*gZLs{SG3KZ4(v@%!^IP6x688GmocClS9;Uc@}&D`8k? zHVo^412pzO0SBMEPR<6tn;DRlD zR{bQ>UEVb^&Y1!EeBcH^rh6~s?|{Yci|2NtyAOX&Ou84&`j7cXhsY2gl9yPfvgL0`bk0>l3dn z-(dylV<55ibsFRuKn=hG%cEF(8uIyd`;EBU>ViLEolR^^l=V0|L8}qSj zD;sNQ=hI|0NaD?SHIR{jLqr*@=`Ela(dSiss(_7Nxv4Git=2_3rW8iXu@G_(pcf$1 zHyAPtC*Jqr<3QOm#aEZ}1;}yOz-G@IZ+^pCM8Ch)jdwMESM~#sL*5Gf5s=T<50K3w zN15&V3zL2Y57i#sF1q#U=#>Sr(1rD`_t0ChM@dW)c9QM1YzOVHyzg|zc*^sUWgo)9 zMT-v85_DUi@~Ks}$BL(+V33`LTLEiRq%S;97PDMr1N@yhd_wy3>`0GWT6L1saY2jzZnO#NUpA$JKfzG@Kf)Xs+cgKXNJt>1=W0akQlN{busF8r>H z_pgw@01g8(-XoAtB3^d{8i{jNOq@YWq;pttWc_mrR_~F7%i^yxb?pzlCCb02LY!6 zG9POovk;puS$^1STs)?30agfTazhJCP9qRX5#*3;;v#`)rc*q&g^ zAie1Qn1?X7L7(8&f_P>7_ZH+o0v`a9*M7(>oM>OmeJ*0m#$m)Vo{w1Sm0c+4p{#Os zhQ5WVG`aESl}6$n26;R%36SwFh0MZ#X?Kq?Z-(4i&2p!x-ksU(4rZ})oLs+xjT=ia zobF8HNCz=tJq=FcQ_&nZ_(guSB3@bF{{;B}@Has6a>8zY+`pFdljoykIq`XyT=M4~ zLLEAUvv`N_H=_I)%s~rjVe8Steh0Dl~Q;q)H2O+Z%n_d|m^dKTT@)2zacJPQ)nPbcBsNO^uG!DJ>UaC#{U<{$BX|sl>JQx!3=JkxkI~ek4U>qRhodB7I6P`bi1rQahICwCQ7dd9F8h}=r@&Z5X#@meF zmFe9KxfOU7knwJZ%tCB=A1}RQN3jRI>VC@8x*e4aP`Xq2Id7}q74agyDP@s(3nBLb zDgYVp5Xe0IxB87?5RdgPiVD_3d1AlT6b(@RKvBOh;|p-Di6Y+B_+2?4+ywb~;2l8r zr=LPT48*Qaq{Qs2<#iD=tNga5iVC!AEkVTEb?n|I-@Xta+c-@)fPm z7Qg2Of5KLO59)cKV}T)Yb)4dN4DmY{0k#F)g=j@4ebQaRp21&`TdZe z0JZ><=N}-y1t>A~%{pN|%B7I8Q4L#ovlf0@OH;J)m;UhI{b>q(7$h+TyfDpoIkgvj zQhG=DltLZ=3Hnl&VE$A}Y!Zx|_uEy_{<9AuV`5@%?fS&-F z4>S8G+ZA z9DtNbI#_36D^=e{g`tPnVRI`@tI{fAVWS(CLVIHWhMjrO()z4tyVf>N?|r1&@2ifU zvQxF+Qk_GF`F8_-9?oE4Q~_0D*dD-F@?n3YC$yqY!}Mt_p=LXLq&L>oLRiZhgv0E2 z5zJW1Ja=i9PHf%5-Wk^YF%je&JxXi3DA&WtI~G{}lD?SZ0hxd-*RGIRkmC_~kIGl6 znaWR-*PwQVc%xSJtk&llE%dAwdWLDGR*mR0JTxLS94yP}65fZi-)+heJQ`Tsc+Ge` z1bGwixEnVs>sb4j=hf8Bu3uC%w|>Ely1CQq7tJkNR^)OLx0&ZJt|^+)SXWXwe#YEF z_>aYmV#%z2t0W6%F_!rkKTRg6zW)@Q|#%~G^ zJsAfUnq3|%5U0$CKS16Edu~+TGs-#YYrNGW-GocRS9H-Oi^y-{UdxYgnSur9U%GM0{M0zmald3|G+mkE04pu zR4qA{GiX=4ybpns%;($zj#3De0>2i$4tHm{rl<>SUEbV*C-WfFpnW7 zhD@U-KFOPmi4YDWvo(+gm*+0T7+kc z;5f2vyFuCK@>~WUlILc~uK<4lB+vICv#`e1m#KF9{a>A*ZheF=a$%<^zB&^F!7|RZ zQMm|{Tk16myLK3EFcbw3U4>@7>^)30|y!$r_Aj9Vi1N@9~gX zur{yd_Z7Zh(LNpLc^4+E7QhPhY^Lds1|OPNH_+>uBc6MqZRJBE_QT^LENuyUU>0;8 zpCMStbx3z>oDp=;QJzUB(8mawttGZCIPdBx%3%ZeW`Ze8&*zZ82EGSmdO|}^Z8;2@ zcid9=?0BVMc|C2VP}NEBod`a%ey@hS9(Vwdd|!vmLhOFPudd%{FPLZKlG1Y54p+lw zww@HI_aeu!f^&p)#sNWC)g!vsu)~4&7)q%sMrv5^gXSsQ>^YClZ5y9dbQb)Bm67}& z1i2Cz4zR%bx>&u=ljA+F5wnPSv&Re{f?qic1kY0L##V#RO0}5%RxC1wV5F7B(d_bQ zj^gnd=bQdJNWEq}W~um2`w`Dw|A*Zvn|KFih}!;x)lf?sxrae(s7e8@qrXw22n8*>^F!crIqG z*V{x{u6BkZM*+q#i8Mg`u;b-*_{LGCHV-D@@F*#}^4#(VFUk8x$Qyu%0m=JS$Shp* zq~N{vWpV%2yxsndac+itAHG*Mm|s2Ybjv~gKB{a`JJWctADV7nVj9>rquzKgTUEaU zhYHa?290WE3v6g7`n^L*;=W)tXDZ z!8m50=od4vc7h_R_=+YTrqjNr+BdWxmv13oQT;I8qw(8J{}r+^+fF9u8MA3zazsvQiqk(2buiMqrnB6t z)-b=WqZQEbrI!$b>!kz-UHHyR1)AfaI?aMN6fY#-EySyP_P{hXnaT5~xJcBKVIw2; zq!se}z{h~h=fqKtk^yYnD(d&3kY$qqD+(AH8qlr;o%uoAbPXdyKO{fT_6E@krMDu;_jzBM6FWc%c1e$cW$b?j?_mxmA)ax zhBG+3H&5FnI)Ei@CMtmgt)c;NrGS?r>??8W!|9Rr#tR_-4!8thfu${0pY!C(kF9I8 z&4}iM=zLgw*R?o|V%U7r!fwAx3>+@N_<={IRFw)ohY+{S=e*H4*9!~+WIj)ZJPU}; z=WYLEKDW(_PMFc_by2;#p08izH2M}HqtDH*{cjmv5fdYm9fs=?TP2R41pV#dKI~Dm7`LNR3!_5bzQRc(# zke>%$0_3>iXUHskh6d9TK=+pk279RK1`m#!3uJi^ySx4{2JodE?@C>ZjG+o zZm`GC(!%~e(3IpjQfZdaPEEEt(?slVhiGabu3cPT=)5~Pcc%iKko42F zrF6YYySQe5mFjXg{bM8PzYX$}z_Wl%|DPeVuR;FoF2A)^R$7)$E}wf{0KA@s%SeId+VrxDYW;(_BcMVY28!jZQjII6-l zz<6lrEz(y!E|R`R$SZ;C0hzwXA+r$Mp8nSKMbE=AGMvQ*h5guN8N1l9HGNRuL6z%F z(U|t&!^2$YOh6l)=0j_#Ben>jO~U56BebuuZ@?0WeyEQ~k1{@zo)M6z0y6-ao(mzf z5Zf;O&*>T1I0!5DOxI5)YbZ-mA|LP`Aj-2xrARl5SvpjQEt8CZQA{z~#XetOk&bQP znF*e3ylb8bdoMs7Ak&cznFYB{^=s#GvEy7xKEA3Sw6YHB6O})k;$$sbnCie(GMZO;BBR+vlrK%F$zmpfJu0m$ z26GNuycwYN7F<`kJX6k!@SFsBHZTv6JbwrIRPu~isE?t$0>=eTOjil^cgr7qGC_#t zt3Cny4?qx*d@~`l5Nn_BH`U|1^WAB3eDz?St<#jdp=c@3d1kZHA0SG$SlbHhTl5> z9yfnpgDlJ@GWufnkjztdq0+J0wvA_`1A8z=$Y;61vAU_Ah z+M_K0jpH5G-^=4cF5l#;KG=K>0}eJ|59-ZCIe<>v%rdiCmSV61D;bX7i8`GE9k`Oo zIa&d0H@jgPH;ygfApe3DBEN%^Bl$fR@^oM}Ak(u9^2I=GesB1V>0$XElOC)y=Cdwf zDDMJb0`ezRR$wJzn@%vj*KH?%cX7o=U_te-~1g8`StDoay8vd54uY)ztg5d#cVd2piQF{>RbayOwORY2>l(siqMHP zJ(QkcvJv)V)Zw7Ig&3;7)T?=}p?WjHoF!3^ylCAkkIbm)zMiGzhQ8AnG zbwK?(dF(U|mM456+Vufb-3VXRm1 z)-#*QrD9pOJ)e8pVp(=4QC4|nGP_!~w-{B=@xY*?qD<1d&_QCH8XPXt(E^^b{H9FD zSvlY-K$c%owWIU}G}rFw^9MwF{FgQJ^!?iOEOO`1zilPd9UcDKNLizZRsc&Te-aiD z23^mVsFsTt?~0qv-#gK@lUT?)A6k??%-<4mPyovD7?M_!FQIPk4bza}(L!zwjpfZ0WFNQ4I})@-(YA&G(0_6fX>05U*EP9iL<3Kx&y2@8HaDnK=?gdcUS^#pDCJdU$cZ zmP$GkpA|<`J<;k4okG*(EVW{=_Nri-IZBj!Gs?6WCCKXUZpeQHJ_BU^{T4C{vHI>O zoAqsa8*)Ie1!rL~AO|p&L(D=~1N@E}Bh`*JaAl#@ z%tGurf#1e&3~UV4ado2P;%P;sIJ?LTl6PZg2KKxB#t_wq)z%>EA1{HG40dlgUF72- z@R0j)IWrxl3s4A1o)wT;I2HSGZ0!$yFeV-&F*-h^&rxo~wlSL*u@SPn(N!fjy7syJ zRv>=KZ!6^2ft`Tlw;%GUzZlpb2tJL&qgJffKA6E%GmKR)pVd$n$}E zK=Qi;@~Pxk+MV;8#rgdoEZMNFOoKnkF27pNZ&;;)_HH+bBz5! z`6$O%4Zz&|kUkma?IN=?Ru5eztRbQfvUrx)zr;hTq{m}3WcYtUYzxKpMe}V9ICnj9&@@)Vg$@f{vF9ELtlJC2aPbJ^d?!Uly^@;hmx_mR|M);ls`CMQL zAo*Sj`Bd@^m;M6ZyHCtF^9)fRc7czaH^J!p$k=waX|R);uD45RZ?rSod$Z6dRlqx+kMM3v zX?1z80Iy8&V(r5lkUs_v0g`w7d4l(ly=xhLMf!RF)%_^+g^tN#47f7+sOk~QZ?|Bi z#X8n2G#GpA3`3P(C~;S5p@c+_AKSp`usNprlYClS8n#5!JU*Z0w>)v?ko5EtByS4* zxZ!Mh6(8&D8Yjx70sN(&$-|KU1bhm}@$2++aAq7R4~ThbIT82WzZ3Ugoz6K6mNeE5 zu7y@AN(N`iUlwcP*NNNXDqj^Jz^}#pdImdPen@XMZ_-L`*81P1g>J_FxN@UfMw2l4 z)@Tx(#;0kv1v4$M(wUqWz?O)|3tyk`m8TJ$hEw5}5ysh5XsPE-rrDO1Iug^j8%fvr zY&|s|KF)$kjz|BaTJnV25&!l+u7<8t6R}YY+a+f30%ns426vov=Kt;t4YnN%>Ei@u zEX~)6_Y8I%vekqcxBgg}0WUY~n&{ShM`H(LJj(j2N&*q=R zebleqhi_}YQIC+Zn8@uHGq_f9yGz_U?c^0`59OKJ<0fs;%~~IxrM;Am8XK#@3!c$I z_t=f-)2D3GN;YEO8N=rXv_b2&KKE#$)tWcO45hOTh*km*p?&C5{UWOqd%cGu8+u^d zu0-vF9rj))$<=F{yH_5XJoUR5|0kXXAf&3sK*PA5I)$V*8 zJ9lLmqo0obfKT-Mh%%yMC^;b^fb*i5v)IIBHXg2nYXCL|?g&+o1lkkRj6{@*2&<-w z{IV8CcnpR-7MK7?9(9n<17gqJtoR?+1?2cRIXDQvVj5;MCU#mG!+^8hatBA5pZ+@NJOi14Oh*~y0YGdzCjO7< z;N$4z;Al4?LwG`9Qhq_laALU*vr|Y&N%un9&Fsk&@@P~-;BvDqA(_)eI#z?DOvihW zKL!o~G95}i+EE}j9ku^sI{0`y8KXZ@AgA$k{FzOxIu1`9ts5mQA*Xd8q7ODl@r1k{ zm5{MW2-awLiA)#is0K%wjx~@U1X=)@j%|>40kP>=_CKbBkIR#T%Z^INS43G&I!;fV zts6sFI?nDsS)XLiTA&-q&f z4%GPL-;Ru;y?6&E{?Co1ZxrO&z&t>v?*Yh<0uRO5o4@8)_8W5lkfra~ z@kj6uriG9U40j7|98YeOs=P)zUQ5z$BmtRV%X1e=dW3k5M0A9vYTr-7>j}Mwn9anF zx35JqyRRVnl?0983YOMG%&{rYhBQ)y(|(m&m>E!3JMb)#En@XdksrZDk$O7`ay2j; zko`vkWFA~Sf7vdd?D$0H16vPXdzXOOQ_`&*RQ_B+uU;%d^Sl z`5D$%GeLxnpMr~_vj}tqa~0uewmZzngaalyvwqQdQyj zg!Vc}^p9EPJjg2N&bBVP1F6L6VqJF84YNi5Z9trI-S=b2{{+4VB(KmCT21!})UkAQ|QeNL4)0XAB!=z(vGn+WBYF?h5Ev3{{<;tfEI;Fw= zofdpY&Lh5q{2xF)FH)aUAhWRkH|^6#>8oRW%k~+C)?wkCC3Um7UU=1|1gGZ@>hMlB zsGG))RU}#_3}Ix`1g!fa{lBB>EH^Uexb+`=B;WfWKMXtu$ol^W$ftxa)_oXX)~59A z-o`h+Y8j{dd!kh5bGiXeH$&2`6LghUmv73_2;XUt>wy~pS>OH!SzYERD+`;ri z`*$?+bewEE*fx)Fc?*5sHr^Rc>Rsy3lr*VVYCmIMc2EzGbVlWkO!o})P8juXGSc!) z^!i5qgN(FCIY6#*1qly!hI+gio+N5zgs>6UEu#zd4$bM8ji;Vs!fjy!-dimvanvle za-HyyQoY7ETc`cB6wKR-_`eFW1?bpuCJ_%Tzq79&z|$VAKlRe8D&K{0QHA$maw9 z2S~nGK|YmyWAxeDIK#x^E!;@^LH%i>{F!92y&8Uop$bLAO@DG8tuF7~;3e}p>jJc) zKmj0mmqTVD&)x5o_Tqng{dLcawK0ybo`l8WgZg6S3z7>Xh;TN+W`o6AA$6D_Ld61+ z&nv)3^4$&jE8rVI@^vm0e2;v#mVfccC*uBF`Nrx^w$aA1y{pBsy_bZM^b}?!9U8xy zvJF1QO1zaYmK;y=JP#AxOfLqTtl1l_!IJVhSU#dQ*BPv;6X~i3Z<((9AwLE@1;}*0 z44H*fRo~rx*S6%u7Z(02oNtmV_gy8`b<_Lo9*koAi7@3#1xO{^bMfgsFTnj7& zB;QLRpAx>Y>xXTOlPl(96)_D6!p`d<{W+pMMxoY%R!Xq-@9CXY#j3wWdHA=Qw>P|MUYvL`p5Eqa`osa(+7_bj100dGJsF6E!vV7w9pnU z`vvZi>ySEjTF$Fl=rt{LcIa4>>M;0rG3W`+)3c{tEdsAa?!3 z`i=9dqgAg0!5$c_bprFEEt>g)7TBT%UeHn$t!Rs7zF-BmT7g$A&>PEa02E;)1LM7f z(N&al1^!+;h1>+J1SJ2PAg=~u_Y;r&#&Ma{kO>4!!JOH!DQMNy7nwPjf*llA z^m7%gD}!wTh9r=yU7q{Ep#rp7eF$8PF)fe}$oeoGG7D?oS5WhyS$QSDh~U{zgD44ZYUJTxs9`P>YCvYxyQc@OY0 zAo>3QnT3Lv1b^9%pNRh~EZNVPSI6~kSHWWVG0FrcTl)S?UrDjq4NoA}Ff4GlO! z$CA*2G7R zYxjTG-<#RbDAByQQP!%FgU6Lb90apmJ51ixzhdVZ&f(W0etnqm+g@=C^A~gZHSsId z;4ff|dz>>q5QTdwUJSZbD_N~|yH&Hds=@JZlBk#VcxPM`+WxazdzdIwvoMNg9#V9m z3(Cy40+!ap=^2QE$7-)(KSXWsZIAN!BvHcHp!ccNz3^e)#(fU8(n#pJWtgUAVav^fzjiQn#O@yBbhJWaXc0Xf85Z!)rgDTz z?;o3PwOmVV5sb&<9ihMEbC$R?yZe*?6`D%roRDWY;^qT#iPqkH^=r4 z=n0!hx3267?M;W%-xC=2{fN-P`0Hz4>Dxl*OY$Yhf|sA|P(8I}MMX~Rm9 zPu3NYabG9M1wb(%%exn37KYs`%3F?`qMzT!^BWh}EF4>3zqpZgmUwjIi~AH=%3+u} z$V|hD+$1*M?2Z|isqAv&ZE}B?mCv1!HvkU{U@jo*$1{-s1nhJDSU;57%=4kV z-?8;$LH&%`NAZXzIl5-497TX&c8k{P;a*6?{MwaYhr%PN@=v|ethHYDnC;+q+-hnv7jCo-IKD%{)LYkf# zhGK4x(W@*jE0EK^15#dzjl&L@s@%)GTMxsO=0&D^dojIVWn=0}T1#H`(Dp2kSP0%A z@+ogcq@6zv@)%$oAj@eEWd8Y>b-3s(;LlIx;G-TM*RSF?@T)k8sSrgByp*z4-@zI) zmXEN?<*^y@6yr6kFCReu6!-y<<>kG~Q4)YyeL(9t<>j_dF^q6j@(!V|ii6QU90MG; zPAh5Fiq>iI&DsoQRA<_i(q1Kfi~7V5n!u)hJ!u~DkadgWFgq#2tZ)YQY;P3#Rtqk} zT)wLyHv^9YlJ5b?-vR}n76oASQEjD(G@yhF-l_# zM&IZcOo92jIp3>O^r>czImfHaEQ8qw6+5BH*BQb#-L2lCbb`O9nMdo%6+|_!G4!hq z^Y>o!4lhzOfEL5q78>1Frk8EAq+Wpi{4(`>70P_3*pOUxi%4hH%1Ap~5BV-&KOoaN z=W0i}3244cq%Xm>+vnfhjNCbT9MHggZ$+mP4@|}?^=0FFm8?<^5Po}1+|K1MJ{B*Y z61S}DQ5fIoS8F^6o*=yZ!t1n9v-TyK5}cYN-x$!W;cdHFgCj4kxLGS-rqz)oVy_^Dfel0--&nl3ywQA_zz4%-kNE>z zM_>*51RADOV6&o>*$aYCdMq^bfwu$r%JLP(-Gb9j)@(D8HSkw!ym+1JHFyvZbAt0acJ0P>r9J3D={d}|b z4HF~gNZU1X8{=}ei40>0Jh&SmewozvlAFBX?=58SjT8UyDc|Xr=-9~b40QsXU;#Hf zBO^o2fIXk_Rz|#$ggXxDdNm{7OUEaSS2MDZ4}T=u-KrR-Dpl)5`VN7A9{96%!*eZs zdjJK1Oy6Y4ER?(c^j3ermcNcppESmPbgJNV;}!Kq=5*sS!fzMw>os`c1^pik_`;7dTJBXpfe$7Z*j-q>(#I?k+{Usu1huFZ?t(dkLvM_!|Q3E4+3 z+KXP`JN=-ltfBev)MI1RkqoUSHSQgvwf9W)seavO#Dzjw?p2hhi1s)k=eiw7>w3Yr z8hkR5lPupagM2e^8zA}K3z>!3eWmDpkLpuns5Zk$H9u64&YJ4)^f%zk9tvAJU8ZHQ z$ERFd>7Eo_b+6!a81c#RVCZ`IvIph@l8>@V@X2%ageHDT z*Ai0_j07CXPr}u!c?~agt`bx2_Eoxvb^cb5P>&QNJ!!BrI1a=Aygll4 z+JmGRoxI6b4{eaA$GfCoH7(U>YS`9P!|P9^-u6u-xrY_Uzn6kJAN$LT^921Ed-qTa z=$T$Ut;d_B$39}_n9O&AGMbr9eomv^)s2S1+~e|PPbKqVkn_nPx+&?AhRF|%d?Uu|ioFX-#o+3x#=XOtrTqL5#0 zwmR^g{*$S+>O(Q?%cYfQ1;-ilX(73cc$2-lzdag^BE8ZVPdj*Zy(pf@{rn8EtJ%b73>(Jf zL)Y+OqV`}vZrG(#hi`yE?U)juu;df9&*iS1C(BOV*AE3s5+UEd$gYuicpY}dLr|+l3 z5777UDg587+-;P_Sv212F`{C4u);2a>l$xaFB=PFB+Hsr+^3gb+`CT~3h!WM-k{;b zb$utPvTKm+25lRGbzB@Ct5B=7^UPVaA01>|Mc}>z|Gg4#lOX212Bzm_`Ww{f1M4Zh z)#-FNT!9$Or~y7D!e)_wDK|yhi89E;fYSk4&eI{Ykk=yWt<-}!Cf|lv9hGfbu)!h0 zL>DHqXaiC9K)*7@@?tojWF>`?mvhQgV)5S`;Zq2ig*?}u z)3UXqJdfcsgg;bAae|-4D}^!S?7hs}qPU_ivKJqUn|ROM%S-hsQ~A*-GnfOZl!OGW zn~?z%b}$KMb;069j+GP2@oXglJ@f|gx^CG`j zfPWKSvwq?k$X@{e0Azlb-6GQ0A)^_eg8hhH;vStou}~M#67btNiva8vQ1Ytg(-rzs_X+$`3(hx7jpJ-?`P9>Tbbh?1;r;daLuS+N!#@z!~ zQ!qd=6?3o>T0>u@^sn$EmyrJfd<)3undM37 z_l~kVW`169oOwje{3TU2ix$pX4C}~)aO^ZX50Cy|+osG?WWrMAEpb*GPgPQ!9yEM@ zctH1ChG}I46{S7wqxi6_fYYVm((tO_T?Ony6;U+>VPUQCOU#lK&o{H^o(bppTs zmGE0Pe#K9*ChU8%SFPHou1>m3E4f?Cy-Tz2)`sp?Q}&?|hP#;4@#O08u`~wu{;y(p0Onoq|Qa#6{_yVf-HNmIa2xe`mUV2aR9!52CfuOe+~0*}6B?T;yByC`IdM z#s@rsJ4k!@ZVli!jo_?hf!j#>dZL?|7hmwYr{oDw?&BW2#bb9>3sT#)-%j;AHG8e5 zZ=o0X3N8LXVt%oYd40Q(u2b3LI))h_UqpW<^b2l_d=Y({y`D(1VX={*>R(CHewTSR zHSiu*6rhco1L%UcW=3A{x4m=p!{R17eJ+KRBmX)b- ziJD0V(hN0BGyN&_G1_g6W%&XDd>IdQnG>P`eDF$=Q^^)6KPC7+ts@IH&+V{r0?6loCFEy;1?eK6HeV<1U;Odd zejw&Kn#oL853UuvLecpT|6|I-kByQJr&GtGZ6dfP;KOplbH2rEMqb8ma}< zTbNEH&Zi2sYNh&bBH#1wh|C)&LcR#N9gz9{3FIR{`R8kSfgSpnxcg^|{EyC0KJJr~ zNOVOQ`pv7GE8PB#TQWzu{loNYzZeBRBSwKCJ|q;^?f4JN^8Ec+3phakjiJ=I0~AB4 zp$DkBpLSqls1NP@x6Q%d=mt&uRyXMd%rg;f9ztzp}bas7*xxY05<^g`Q8MXgere63!7%STaNOYG!`URO zg}g&H5z<29`E}qXo*(ez@_Q%8z_|*)*Kc7bjZIZOM(O%8Xu^Z}&6iV5KqD_?=OzrPHx^T2f)G%$$U?*jf2F=zyxqcjfLT z8oXB4(_wliYYDxJz}IVmIZ`DhA8Lr6QWo)B64YJF)THOARzgVI2+p~n8KFOb3{Xr)uh68#v(i^I6%baMp!uOflong z`cea%W>*ksLyOYIc;#D>Pr-GOaaI}R(|}QctPhhRvmnP=9UocCUq?UZOlNY&;w6h} z1}>P(+{D)|EEMXctS+>oh+br?MWrudOX!IHAL!<*MRXdb-d&6^TV#C|YpyI2JT!bK zcx^zua{RXw@`u1)K=S$=G7FN|@%BmD3hX$%;wvh!W0H%rdq?yun7P?(>N9fHJeF@I zbYvSJ<$J-WyxCEz5Fe{gXF;9=%m*Z&b&y#|35)uaGPaq&j?Sk=jWepojl-@0#^{SN z!)NuV$^Vq`vyU|Sm;Q{rIHG@ODqHkVUkPPXlAB5{6Wz8~{Ev}ne;&k8?jm?! zbDVk9Tv(_-rij@t|3KD6VRQ2n$~QMt`SmIB;!Q2;J@KDT{2g({J1pzp_9-{RKHXG$ zF(wCTMhC1_jIc83sH9QeEb|QXU}r+%p+>9G&bB(}9n>t0t$%1+Zr4(_ zZW|YMVTn3Km1eUuH#o*TA@?9YW0-Dwhk2+!USnQK<5>$mlip3}WLDo;D5ipUGkE3U zHRJsvkvT^QqQHRY3I82iB3 zXAcX|V73-#W~=xUys=Ou>|=swg(i4U1TVS%vJ~?5z|DZ<{RCtds@?YEc)aW9&1Qtz z6jsnj?Mkk?g{hs5117YAQN9VQL{^s8f&ZmgnPwIZ!}e1I$k;3x{H5c`w_-_I#BT_` z*7`_3=Rqz9`T>&fNXRVwG%|g_( zU|FXWEk~k}%oBslE;l~w-bnje3b`*Z5RmB~0hxtjcRl^E>z5-s-r;qPHM63d{g~D2 z7P1Co7nTQG(8BsU)9ZLa4AU0K)MKC1a?_9aFsbJC{&~nR0 z5B`$a>FlGKB!NPb@@F5^J$D#{BUkLZs2It zf*M%z6$jLt$U+zwJEFs_zX7@-!n-qM7W(cKQZeg)VD$a=RMG7ATv5c#4#b!`4L z%0bCdz4Ynx8pVdgqDA%0od+hEA7C2E^5$PeX+o1^O^_2Gbd*~GmPabE_#yOhz%X}ybj|j4jIL5$b{D@#mm^=8ZF?Z(`eUK^NZ~N% zlXl>F*d3WMa{(ObM1QmGOOX-myvDKP24WbAlw~*TpX%#$(yYHs_$`lLZxAoK@fUsh z^-;=i|LtR+h;J^6`lk4m)A>7N_*J}Pu0xI;(LW_uk!~x=N_DzZt>2@Stk-hy(d_k_ zhSwvaUZ+mCs~v`@_wJ#;;YlH2Xv z+iZKSo%(se-WPE8@+&@jot=wcU&($exk!uq!D}z~ttMKdr{DPSq|`w1Z2|qpz;Lzj ze!qDgJJ7$8;;c(orr|UkTVBg`c2nQ-urUNy)Vd+tq5X)n+IlYZ8#U~*kMNdwa=o?( z?sZJA?+9hcT%1a}2PcLDIusvsq4=o9IiV2=CGoilc6@4_9dc|t;3SnK<|f&RYe|Zo z{2J4DS&I2K;;C*go`>>>BmKl2$PK^}Kt8XRLT2ID_7j80j%usq>|s4jenbnx9@aI` z7`F4V$yEal)S;|V9mZz+qIp%CQU$MVh*!3+-$DKX__xdDzl|HttgD?-H+umFo0zmh zjblMu-&x4V58xw44*#?HbvTpH7$(oveAwy?x^- z(+|Z$wV^*6EO{bW`gkyDb1)Cb`+CuK{>fTDwac5qlC8ngSAqkc50*X`v>yp}&C8kZ ze&=haiS?WEGv)=I-o2}B7>U4d@DcS6lKJC~Warju71%0)_ z@V1J5-?31hdWq;Q6z4CxVOzjIm{tYeAof8TSWaoReYSIMu+CYfvc*np!Ih9wnnd2C zT8Ub!L1{`aMN6`UU^}DKN;2;xP^i|?hLpnk4?OS$0ztl{T1>~ajahY?KBE0dkor=N zQZc_P5PX7CL}&uE;Fk7KsMryR|3wqdhvJ8Cea z6{ywBq#wlwssWj8moO80LD*9=lvbC=2E-}%ed3xwO${c6 zX2N`_lh_00-j8k~IOKwzf!hc@pUl$UqUv`V>srw^sDx_0SSz3|XXb~yTfNW**d}*7dr+!cO)>&36H(5M&NqF?M#`F~!wqCT*O@E13U z9}>TC)Rzv4FNyy=;f?z058|s=iJSO9SN{JV{Q4mN!3umYmif^~hIt?QrU&h5*ODov zcq!gQ_jirxSn(EK+z|a@uP^FjKbTQ3j{4Z6YSe%J?TLEvM)a>eMiDtSsuD|S8uTo? zpo8c`!`f1P;_+8}y{razom(vle7l$i8H;v_AEuBsC@#0F?sSYBqp zx>-jf2SzUs5$~sXa(%nd{k=@z#P5#R65*4{_hh{JRJ;!+2I!OVmSr*Hwon%_Y3GOH z16Eds{>Q|UgNfmf6YYJ81qX2!eLVJ0&-#JrKN53ia>*OX;n$PxZOH|X67K-5qXEBL z_<$8;iWW4l5Bv5NN#V zC~%8<2Vvj)b5i)DBzt#KL4GC8oup4KxSMznH-kWUyIk}*H zWod3V@zb-lbYm)gfcSj=`w6YaD7=*h_4`vwmZyX-NwNQvT(F7$i5#T)pF)v7@M>bo zvx(tn678oF3p@olZC$Dc1MzA*(gA--B=8wE?@cr}ql)2SZlQF!iWx#TXh&laypy@y z@IsAtIK7>kYl$&jyOnqz!`)axe9sW$d(C=KWh>^ZNoXrE_7EHDNf&Ms|0#??SCY6AbpMLV5=jTazsO?7Gj){{Q}8tR@v_8UIX1*7(<9RnI=S6 zZHgM^%GkDk4Hb&m<_#2+k}$>ydwm#5gfScW!NkF=FlHS$P)td}7)Cs*#+8J^7*qV) zgMmaC1Bo{%W+Y+ENFHPR)Lx}}f@ptQ(Y6$$Wnum19?0JSKLE1dOng@KS>694`pci* zIJV!!4oqXsQSA;}Bye}3`}6JRPGZ3TEBU)pve4ncSEP80c5h4|z+ZXV=DU>P9!+yR+|hpL+Sz4a||k1l6-e;Fe=z9rb=SsU5}^_(O6 z>mlXl_CvI4dXtJRt~IK5kp{2j#y{Z)(;7{GqS{*035=kLj%Ro{lt<`|><+c2TPSMg zDz+Pl`&e4X4qo%HZ;s$?y$~tiEXXB5PeAfM4KfRIe{9=v#-H;VhY#%0w$qE%(w$=C zqpw&qeS|8l?Q<~Ruy96C{eRlN1hA^&`uon@_1(ARy}az}OMs9B2nk!l9#&CVBB0_@ zO@tsQOJq^BE|DrCqQs?&R52h$T*11Ox>DZKkYM=Q z|0L(mxyze5b7r48b55UtSd3g@T*PR%H#|?$u^#cLb==p1S3LpSod7kSc=Jiz?}EJ4 z)y;yQy_+@(Kcf@5T_M<$n6HUUULu96Q685by=V-nJfhJ=Q}QR7>ylYh^1H6^KC^{) z9TVOVaXn}X?=4+;P4d-~hPZoQKD<}nHHc@8GK>fDA&mrn*C#0-B2Gz1h5r(R+RqEM z*Rp2vo zU~y<{q^%*X&X0t2{G;b3kF3kd8sU&PfnB zs=@$bq7e_$hafZ0a)Q*a(614T&(#O}j?;tLS*2#btjH361`cEj5{}bdmK*(-b?=lOU)`a`y`iKfQgrZ5rO>-<}+a)c#1*C z&vO!g8mjq&(3SBbgJCyQpQ$JN%p~`KZuhsh=i1+9+u5Xh!0u;9anvXZgE4kq5PrH4 z0z8K#|F&_eHPGTZg{sUh&TprR1iiMxKc0Wcg8O+GGHh2ddRxzT()&~RSpFT)f0Y%! z&-ho2?>2h9#*6={_kKxY$$GI3WnT4jPXT`g@MnOkpC17y_t?|2eam_5&~|RAJnOF1 zdll|8PI=E@`;3p+dj>TxUvll;ykR&VIner8Sbp2a&}}RdOX1;bB^_12hn`ZzL+$P9 zz^?>615ovI%u~=G3TXA@2AtpACg@tw$vHP#ugBmX-CEtkr4tt~NnG+OY%;Gk)|sry z+{J}=p16({*WTjViua;IVZL6y#lRRhV~cT-81`Z!HGYeMYjlfo{Otx-s<0T1VKv?k z+hT+T{wmkL%RAMY>h$BI%OZ{sr>b3ye6e`+TuyXfj^XrsE5G`UeExcV#;^`X||LPU>VHHV#S}m$e@dEt|ivzD!(Z5_bH|aoF-8thkgOl*o5W>z7Sl zJiF635cO-AvUt&AF=Z>cGx@d>)?5NRh2)(jt`idQAp%dlE)q{J6xYygkheu|=)A9= z{((O7ef_u(^e6rA>*fdgb8@CLO5{1N$aCnYi47q2Ut)JIn}?j3LoKU=YF+{hOA-e2 z6P@4VX-dEEb7M!ROm=vBFt9RjU;#zx;5 z8}-Xrs40f5Khc=XzY~J7$6|g!2jIr=do2hf)0+Qr9Bu4voS)Bsuj9m24}AZkW5u96 zIiCgek=QGB3G@HaN=}QsV_2s79LLakR0RaO)<(1&3nwIGZ5rii#GSz} z=H++fw`JpR^84~XvODvG59c4n%YPex@l<}8m;WxmEr*}Z58Df@96r+xryzSv9GSV# zkhE2$bsMt+kPXYMOzn*>8k094M1b`%FXfxJhi+S#zLD!khl#BH+x4nV$S2+KOL1-Kks3ovhhRCP!P_F-1iRN|-)2``RfCKbWRS2mI zsR5^|Xrgpg&x&h$R$bjQdR@;dEP+(WDbulFPCqCeqq~C)^T#SQfe1#p@PjgaJ3zY{ z7rp^Jb2ntT04ja|0RFS*A&Y!{v-sV%k7YSMFyc0GpIBZGY2T*TpR>GvsaQ_h(dXU# z?S0seKAX7kh9q3K%10l$;@Q~=Zx#u>bbB8v!n-OGifECxu@`D`y!lCU3+V)N#4V-y zb4eh~PtVxEtn&?@wb1An_!(cohO&O#^fyCp_Npi625+dq#vS?O>azR`=)0iV@3b#ml z<{>^s&kewD18e~(dhP}OU(qv==xI22F>9!T0;hkNElj(|E%2y0!=nb{C6As1h)>be z^N*1C0#pJNJ=MVfD|!Y={``W)8T1ZLXM?2Q2nH>dB<=c>1^CA;> zkH|0nfIB)Kw91!o2JAB^C-jlnw#$qdugRV=l@GSKnPts^>M7U@iS?d}{V~g((C*=v zzKVUm-tYNBt6VoH*~oC#U<)YWN7$RppNjRV%+Or(UJ*?2X*L`M>M4eW=W492VUhAo zyVyNV-HfA_=uCBoC9EARzqoJ=zJ&bz&(V*gQPx)Zylpp7EnMtv$#>`FIN$pLKM8O) zK=mt+18)V~@H@%(dDlt4&+4S#6#Gkw`)_T>2QiyDRm@p#mvfp=ba8jD^j?+^AI3z7 zy3_Zu++V)M=zF`7w8c1RX)i~Pkz5Y(K|Lytg*KbVnEo%81kH5T!wkkDlijpr!=*z# zt~KLtk@D{%eg76odLwcQmi#i^t<28BnTdnUp22i1Ez@uVD@46$KzR-(teEo`@~b(& zpYvJ1lLOG;`5Ol5lA|JHQ*g|!7AGtE(`fU3KeQ+Hg@!Fq1lRhpI~GI9A~)AfHF{VZA@vyE z!A{UOa2CYL#~ZkP;@v5g_oS?3cc-`qqNp^1>QFAnx6USZDGRS;Cz!Y5ThsO9)Ey6= z`0r@t!RSi%@2LAiv=}D?T%KoUWyPG;{5W&^^~~Hvdc-2oiuEHKeJpx>8Si@5Biyqs z))ViDR&GNecSPN_(K~Ra=;siint^P7fgAU5>e1`@ot(c7iFE!~<}VK2q~mQdZ{^J?hvF3SRA_FV$;PU4MQ3CBH51Fd3;8r`{0sFz z6!DLe&Z<}9`oc~JJ`b<}py)goIJu5`ZGVc+0c91U%a870XJF+HMe-u;y4(Wj+;w#< zeGkW0a1tSn9v!<75ADbjzdi>31)vq6==cG6A|17!{Bk$wKvxm1od6xi2h3Wn2{gbW zG#0;I(w%#Z(iFYVqhr#maXJdRtX71-AMq$U zg0DkI7$5_n=qLi7NJsa}2@SmB3W6&Y| zc%>75gn6w9{{Z4qbmYDPy|{p4fTCjv@I*Sg&kq{-#re_F1wR@*I#wf|)rg47$KAm9 z0QLc>VblS6f5x~JFe})MJ577LK>8V-j6XUpub>9X_FmvZ!QMO4d!329>Eb$#l0%hQ8tof_`!Olp9U`#GKj&nB zkyG_?&csi0_{TZ+YErU?&GQ=ULi73j7+T0Wh7Km%q@!z-4fTgrd?Hrsg*@pltCo_b ztwtJEe%uTELBLLc%8zG(lT-DzyXC^GB|_u<0rN!dhuqFJ-pA}(5q@}YoQ}c3M*yk; zijJwk$sIWz!eD3{9c%JBr=!uMV?E+g{CE`ji+~n@qT>VL6G(`av;GYGJ+h zFxJ8z#cZGQekIrbg>vc(MER-y@}E58_tLS$%woHs|pb#UT#$cIkka+X50L$CO+b@CfsNnZ=%SL*}+0&f2WwqOB@K8R$BbR2$tpiKn1 zP0qd~euOnzJrPGm?a_91lD3tdry1vITBT8{OPOH5q+=H1QFN>Xz7B9bK+$m{aB_#I zqisjzi0Nqb=-7vN6dmEWlC*R{HbBvl2fQ;nmYv^FUsi@AMDx6J3H^mC@B}G|L=|_` zt(WAW`r>6|~Xu$aZ)$Tq9{24&U{Mr9g^X){ol(fl>W2K~? z76QKHmq4Qlsc)auVifE#Qd*4UJw{kud5bY*k72eL8R9B&yv37=>PcVCn6#FKdE{!A z0%P1(=vo%OkwFV0gm{MB#LTtKN=x3v%q?ul?aaK3CEv+tHV*B8Lm>FHgALiv`fA!= zn9;=b7)j6l1ByzuKSBi!&^UzDVl1KUFhM)wGGE+n!uft?+gt9#x*+1^zMMQ-Gr53*h8B z($Ph^R@w@boPSrPS!?v-uX;Bg|Ea*w1e^^}@h<`{TzAUzp|OucDb9mI$*tG~Hn0y| zZ-hl{f0aX0o0w>oo{q6IiUBq$bM{8%D&TtaduB8_4O4K8O zc63`Chj5!bI;!7`)3Ffv1%QhIijGTx|1=$)pBzmfsLLid9H|xI??ya|A72AMNHpw= z(_sStX*xP;T1=pzW*V}@o@Un&OB%rv08TrrX1~d!qXzLPIxYpi25=2P@#9+HKTSv1 zCsE=QbzVbSJv#Ox9z}=sK5WAQk^zd2G~k`l(MA2}RAnYw{q&kkU|(u0+XRLHAcQyu z?LPYB=Hyxtel6lrbgTt_6W|trqN5o&xp^Jzb#>bAcTL6d$eg}n5OF&w0ce+C3kr19 zL~BL(`w@?#Bjtl6tpHF2P;`_6CwKVz(kTJ)EQvPMVf`5f1RAK2{1TJ^U__);&lG{< z((2K(0`Vz&HUZxTxCfx<*$$jsM|!%*pEK%~&YvA`RhNnmdA8_~FV>8UsYC81I^>3w zS`lt5!dLO9e+V17fII*>>I1u#ADzV72MO<^8GS@RxHNn5%|qBKzIDKF1Z)7P^xg`b zTsPCZWbW+t+DD_+$Bm}p#{$h*fL-pk;YT>NR)o7B;j8$A9{~sC0#y73z=i8hdwodk z={3ip0FD&}@F8S7Ks(RKgM==Mpl~f79V;kqJfZP(`o}1TfVBWM?x2r*{1q~T9nSX` zZ{H-sIh>uIc{uD+H=w*>@q+U!29^)*54D>0OBU5F=#R(ZP1)?lOCaXfCRKmN{6%$3 z&M))41yG2$pnk%lIrHllm607evZdOcZ)=t>Q=jv!M*bh)k2tV*(Cm9NTd;v0)Nf{` z8(83G)+gaww1MGyPv}j(nH6+)#ald=SNToi6X3nXuMo1U<@KGjV5t2p^U+ce&wi0b zVHy*XUV;d^#r7 zj^&u;u4x%8#IsF1z=;*Qj*~SZ7Yc}3fET3?K_fjr%YcW>MgL(>d{w=_|?AVTHrSVeg#nU?F3G4y(hO=^V9jF+PAVcg@-U%a69(L{n`(t zm|<7}l{4LhshT*rI2U~)t!12SjN(1KMGeHeBd?aC*PPGd`Ufh2j{sBy6rIz6lUsYI zEH`TX=`eh3qjSb`Djd<8@#rHA4C))L*;-*CcI-^ZuLdA^0gfGQM8yC8FD2iKY;nIkyo%l1T4Wue6+9jw5wyY%UVmu>^ zS|jfbPC3vs*?Qsl12FoXiEju~f8r|?lK5AYiRIqLg5>T@|v zx>Rqbk_8#Wj*m*prY>GIyMD&}3rMQl)h>hLwMn8YZuIDBO`vDk7dTf47z6mfqGuXZ zc+Z2)=QeU`1UXuhN6%`+-H6C3zh4IaF5p9eDt~_iPVS4Bx?TP{GNn^K&8QbTYGC!T zNm_jzLFOJWv;M)g6DpxGB-{BTGxKa=NbEaitWYZ{;lf%$PxY5^dEiyRZvkuqD7qg4 zPHugsT%YVlz3CR+(_mfIF0($?wI!h5a;kD~H%ds)4v3*$q!_Px@ zFeY^V&8i3;0df*!Y2fXtts{BhT=soowdJ&F06zje9 zQXNAf9YZ0#pI)vTHjEni2lF91w<`52T!-qzbUIZ@f0}kHGg7G^=1ezqF}~0p9Vg~= zpB~V0XkQQNVLd4;nMZsndeoPurxp++T0MSdd=qbnHUPgL@H{~A^DE%mx0tV9E9>*> zuVj0)`yzRNB>e2G-Cio%qaz7rDU@*5OXMdg}z3swaVJb z*eNJkI)9Kc;a&Z{-AaO^CEI0R){Aonm8$JFE{4Plw4_Ee$CRhvUiz|!;XPpGaK?-;tIVP$h4yVBui}c zGqU+<^C)++7s4{og4o%{0_W`EMl^eD&R|Hh%;Uv#vckqWJqVRX)uanFRA< zwZr*I%gsXjWV_Bj!=8;MV-7NsW@~2|zvcX4SSR2(1Ukn)+8xfTXzsC}@v$tG$B>;4 zn`*#HCv>(td3Fys&4)u?H!v1J`)s3~#$nC2^^P3_YDGTH`+K||JOunDzyW~D=i~p8 zq%{D(c*$!|21vj7f0WNu58CpX6zTld7OHLTmD+Cp1&=b~Qd9B1$7VJbyO2GMgG`4J ziUK{fDV_)U+6j{XC*xEO<-t@VdhF=QXpLc|s(27MKBmWjq;N{E$eEJSr9DcZ?!uaY zdK1R^unEb-`P}{vbN#Mu9s{NYAOk-DioBVfN{5;?94M>iw?OWSV|I??WH8Xd=a^O0 z-t6T#Ihm<{#;iPuBlX~8eWTqTzJtu&#C!!V#t=5tP@DOJ>9|x^N&fExZ^=9x` zn*bF6hG&!qBY=}r;|S#+NekR=KX)-EIT5iCcKo}>@OO-~cMY6J!7lFcXAPg9c2;CQ z(ozM@qwvUuht>+eLDJDkbY2F0HQ;KGHu``D`=l9d%=n|dRV~nenW3$*aM_{Dc?sq$ zj+~9yBwUVqf)xnAn4I7ib8j)H5#P3-&sZ+LcZesk;k6W<<{U`U>fjSS#{fTt?g8ZJ zyVlb-3;amv)bqnrT40ch{X*a~2ZZ+k)~LpD_DX5&tW-7uVN#1HvgfFA}%v#?T% zF&KE%_R1A62YD|MB1T?dpCKlP1vs>r2Cdu{RE&r57ZF$T)9{zx_Lm_hm6#wRL$H{E z&_TQa(@8;aV&0fIb2N}U2Aj{l0m8;tO06SUeN&NqG-{dWDN9Dqj;nuJ;^9&Ui5-xu<7K|>Z>fx&;tYv zAWF4^JU;=yAfN=IJmb$XEK#!Y3-VE-gBW=be=K6Th*5A*lzs3Mf5p&8qPsz0*(j_% zAzU5?PAjDm@6SQPQp7td)Y-rj-zj@w^c(v9An|)DVToVSufhnsC$4UX5C-8n{ZR(t zTo?Xe>Jv(&&cQRv%M3bD?cD?O{ya{h0>vv2ama-7B*6=jTCw5+UfshygJ*3B{SGYw z{(O>KsI+Z=4z&+nZ2=tteh%&==Tu=%@WneAkFxyn?+_N%S2I8rKLiR^QVpfQHbmwd zSz%L4zb0s)nA_-xQ-qMbJjNFo5K-|0aFlzZ?F8>j<$GN5%7p>JR8bXGDg=k{MBJl_ zwmnx=2Lxwi%ZhYU>xlfJf=ygN?37k+I0@`bK*0+HEqW4eqnjaW#P?|MWPSEgjvJJ_ zA|GJ~1d?@v4>C@aWzu}*#hMVWBf^PuQwFQIaaFV%39%z(iLq0Qn1tGvP_lq~Wywvb z5h{h2EcsL?63a71+xZ(=mgDbGcEGX3-^Sl1K9#?tTvglyuc<-yIEPYAhahF`=s>@y z6SCEDkL{dChA zvY-9|8_jFd59z0={T1zx*RoN2W_i6Z>PfpcRkWwD>xsskx}tdN3%-aJ6)mS|>97)l z_2Lw?SZKsi$*5Zc?$0-`wn_e&yeQ=oVJF(eazkM{gFG=`%xh~OcQSzT{ZI5 zKv^PNdjg|^PJgoU5P?)}WwR!$KkX1%s05-DZ4 zx$;g_7W!5DPF7TM`D+~F_Tp;mPrb<6?!8#ie`4jz>rGQoK&dyS6cH^VRS2=00~VPA z*@bzdRP@^j%uubeYJG8(TSP#E648js7vf>UXa)^2a)_EO;x}z4QjXEsM0Sf9iFtn% z5T={d3W*VtY{ck0?~h^;W2A7WopV6sC9DA8k2-0GuSO${zgg&=We1RqR{79}pr@_- zLy5;9rC)%g(FBKyf1*3|inr`Eqv#T;SW9Rt+Ei}Pe9@nSFLFDLw$q3B1$E^e8a-qH zjaX%fG;FZZ2^@CV;5D8Bgw(xZLjYV(Y!tgQY)If6x(wMLBsA|9HNb*r?FJ5(_);{^ zl9#eMAfEm2h7cG#QtkHY9JSzd>-DyA0z?_6;w1~O@I_&!F@-30Ub0m0{68C0gk@79 zN;~2Zjmimo- z$$J%?8WX7C+QtQ5@My{qfgB%X@PG<@C3M+x$F`;m-xxJr_XuU*5uoGb$fx9jy< z;qSJ?ZE`mM2L1zpJ7Muo%-_fUe~b$nmd~dRylhO-vtc2JNR}-uVH7I%y}kG+Auc7q ze{WH!50TB=o(e5jyCSOJUMy-f{H{zgF(s*b;@XrBXd-2kG zkFqbI)_GbYH>XugS z#Z&H!$5R7*2H->hxg(3G2Aa6=o8E}0w^l=DjVPX4FP`-Y@jL{47vSk5iDxpBRZ?~| zw%`y+G&~f0HpxjgBAcr%icwXD)Qo77O;mZT8DR^BT#FZfh8s`kAmEjN;Q(^oN~eq; zI`8m3M7^veZ56{Z(mpTz6$#fQitw$a{tZE1w$_0o4fZcr@k28E&U;A^dpmkqD zJpZBa{b9`jkUN5OjIEnZ8hr~9O`&#+7Y)_DYA>Ey2s4IzDt|Wu-we0|Kyl~*a?j!Z z!4C3mtB1*T-$Tly?H{ZsPtMHYd1yV5 zzggJ@G$Y2a#Y9eLfbb!F3d`oDYB^Gi?X49w#scwlYz6)RU?)JO<453jFswCoNXH-R zn#J$CAhc%r(s^E9b@9c5x(m*irL~I>=EKU)l4U2l z`7_tn@S;-!MWfQG?~p}bM+ayy(WgyJJvxN#1#U*r^!s%;EjU|!$G!T9aAO$h93<9iZ~i_-3u(!#waP28_zXmB4QV{0gA>_!00g0ITnn z`(Mhg(%PTqqgNKwt9LM*$63c<_H3>7K2BuwqB8>vd=m~$WRP0R=}E_ju~8ut>9kMe zR_5F(6S3s zm}l2Tr8DrS!BY&}$&)24HJ^~03bg)mdM)_Rs}Td^mQ?D$UUBB}F|&hC)Z z6QY!!$wsS?f*>Uc)q0YFG_hQfU0U_qGCi@RczVVIuK^qnQ0Z9%{5n9(7MX9VKl!4i z8|fJ{7lNsxblyv)b76l<&f{ErjFL0Ii^N=vtns2rw*!&)yuDL|!%Qa=y(#vSd`v-a@$GX<>@8HkmwZ+f^l8lUT_1%hw@7017G z?G?;3lCeMUEYIWlvKi__a-B3kOTjg&`?0a6>RhN$Hc+r0&ce%(s-vKbVIcD87&eI# zsl8WAq-wiBt4hy@!2bp~07y(vb>z_WEa*;pRLv5}5n>J(h}68zwf$ade9&MiwvN3d ztzi&)PE1x1$wFfxni5BMykxnip9RTKi#CbZV8T04N4;VrM9M_EYWLL&zZtYEIq5$D ze-*G7keI%lt~0t`(qJrE3H5y8$}@iRo&^eMkB4zCWF=wpt~UwS|(kR+hql zaqT*tN+Htq5Yko9Rt&pJQ@djLpiI+DPAM8M%VEujGCh-`@p8Bj_|E~20F|D1fPVtm z>)Fk_(5qkDUTN0IbE0gW^jIYZgGo z>jEd&^*NVLV@3 z&0qllqrqc&m_`;_!>6?(*jWf)#lHslwSZp&RQy|klWXl@|MPJB>14rlz~I3ZL(68s zI8)t{Da#j#NnQ0|9R0b*s?qWa(IsIC0f22UlCB)4^l|L+=xRm06f=zjiZa4lKR^XQ z(KQMBC8*P<>w&_}5Nn4tvYlNaJ_F1inuLkCusFs8Gs-5X;odntkO2`+NTiUNmmpS2pv9eM`yp`$yC*!Y z7^fn_={Bh$|1&qBI8d1KzJg)RHKvzYMdppvIKb6>Q7imyNW0?CUx0rE_!OY>EtDnm zE#}EbcjtUZygV&UEKg7qL?(j#Nak*?UEH4sAxM&kc@CzH5P$L|IbjzY*-@UG>SRQD zI1`EZnQ=N41tpx%X#P^tJqvWH^0o^28o)Y_R!U;W@n-ijX8EE9IT8P!gGyX>Fxa^_ z{03yhd^*-V9Y}w61V2Of-Nifl7VrI#&OPGaif}`e5pc1uYlS~6JD%>#fUgBy3sCv> zF>rFKA5?O=-Alih`t*jYjm4Bt+aU;qeh+r<4Y}^>U5yB`t?jS<9V9NGHaz~<;VsO8 zXxa?p6;HmG!e5=UHGfSG8;N7vY!yRk*@N z`+onAP`cM-z3a!IdjOPf8UfRRXhj~j+l%oB3uQ)js+mCwReV-46cJ0TPaD<)0%{$f zb@sN0LCfuFMjA?a4<0@r34elw0DtZ9RCQ9O{QFvwu2^n-U2{6{Qvr1Va-s9YC;O7lMB<1*4jew}q)e=TPKwv%XaQ~t?aD!R(0U%IMy?R~Y+)!wIH(sHTX zCHpDta9`2pg$zyk@h9EGaPX%cC5cqYeLHnMoKKSx`lb3KF3=OYO3Dt8(eJwEN<1a% ztN4@dVgK7y%6%7kAd{$0EC-4MLZkw%wA`Ul}jnQxED=A>q5u+I7Gv&vhbPwx3Upg;6G6gap z+o!i9tuhT=r9{!+*;nzDsITHrx`+KQQ`s>$W!kA1BZ&=_YU!){u6+86Qry*hRa#`a zJO48NTZOd`RfVB^6_%p5qu+gA$@n@i7m60eEwL|=&;nB}Av(M3cio!A+Xsbp<#*Pq zwEtFpp?noRU3RnS9DhcXjxls|0rXW9+c zqlT6fl34~B3YA^)Y*H1Ap2(+%^VQcBj{N#iUp-ObsQb8oDAx72G8Xy1WAmZz|CiYm z=Mknf(uE^3pZ1rCJZYqLpw!Z^mI=rMkfV9bzUs{a@7{cL_R{m}XbQ6yyN?zwDX3PM zyioNbSyx%fq+AOXOP|qJ?c$jCRok2P_nn18A}6tAnVy}XUCEn#0{k<;*9qxqJ)-o? zT~c2!j?VvyY3nUq^2~$+=OSU~KgAQ3*nM!X=L~EKY-@vVEEkeHO1c>YYj--N)b3(~eKN z^Q`+-LB-#hFJn^iD>HmMvIXR<{6a z7IF2M={wj>&~eUou=BS=CC4omlzca_BA6=XIE1*I&axc~>u}zR`My+1$7;l**7ur$ z-vPKApy+r2c(>?i)8JP<2rI9*Skts-R>+G;uBVq$PJ)2S)4cSTg|$hzr*crKs- zpyC|}oZOZcxt^oesS?sZdw#>b`X$rH4FbocV(5+5d~GjcRg2L{JWno07n3Jkvlo9O z!dLO%1pL>4y8tTwr+|~2q|1GEwVrfH`~$~Nm;nN?Q+AUuIWg-JzqZl3j%y!)_ll5A z66EG587EOLj50<;Pms63vnyTlBiuhuPZ97zfS~|I&vC%JMbDTn$oaNg@ zUpXSA{CN!cOMtxqDw`xv^iSY{a`drL$)9^}k$&ITJvoFW=Qk`{+@H$n!n)ZrCXFFw z;`zJyU-^@q?ShGjC$Z4G(He6v8+RXjRM#%!mE4VFr3bNK4SD0D3O$YYvwHGHSYX}C zNQ3cYsEa=rYVO9GgPls=pG<*{fzWb^j$dn9EL+k&3p6RZ7ZH7civWs`*8(TE)3ejp z@{BBB3Hd7N9WZzZWor{#%hsVfZM5!VS~J!<{oY0gZFZbamFXCxGC{FTi$}*^#6vL= z|Fnv*rUPsMIpSeQy(QZm z_{D&g0F~}lz{v$V>^mJc-UQ_-(egq49dKcq_6DD(X#xq!2bpK z!He^V(_6oy0m=pDFB2?~B7835c5xWjOSV?+#XD&L_PvoV;`7)NSuRJG}uehXkWux_Pu6@!**S`|!nyu)HpxYeWOC-Z5=;w6VIl|Qs)k5=x*w?84i;GnRU0>}U;KI8x=ci3{-KHg4CWuu;0 zDj|R5#b1l?ReG-m-UPV8i}MK6+hwU-Nn3MXe0vdgBho|V@t?qbgTq<~pwe3boZM>j zF!|m-z46lcr7VphSsH(>Ype95(Ypsw9%;KT$=D5T!VoqILXy20TZ7_kdlNS<;vrQI zstaT}XapTi9-W(j-w${gpy+%PIJr}Q(QP{8rSocCC@M(aV07d5oz{ySeo3}6f-68FHU47jg^omD~n?eox4t6aU zqomQ>QF}MSh%*UswDr_^82%^2x^ol;Nqg`<%w?{bW`~J=ql^Z~gw5dT)QLCsl=QVA z{%XWe^c7ZOPa7~1KxK>irA5Fm0ql1rANT(#>HFd}d7se!5}o7b)!~0YxjL$T_#NX8 ziYFmDejX*Uk$o?0F-y!EBFo2kuE^s9(pc{C z;WOah0R9e8`Sc&)UOk7 zFWyO2kPr6atpk1z;9P);cMEWGwRcN?mwS5dI*S)^%P#*8YaL@vEPtISA^RtN1vKLB{amd=T{9^)!;OMK};o&&o7isFTozW|o04_r#&~aX5b*CieJJL>fI@(xw+J}7!?uUBm(4qINged=EP;A_scS7-K2R`gs`j!m6?%vi zqpC|~ybTCf#d`zrUjc3dsCaJ&enjz(U9foe*@r~l(k^lY*yP3EityDuIXo<^r3117 zD*k-nz3<9<-u?7WyvZ?ZFN&-dPB@839we&jEfZU=={cy9+qEjK^eq zup;%4cDOBGuRYj-`HJW4nAzk~yDB`e%WJGWbk1VZ*q2)3HDFG7@#w7xId=n6c zcul&`aeL!{-Vl8>2`vspt3ZE)U|p0)X%-_~Lz(1Tcx0S!g}{3ON&w`jPdUtbz>=kP z$Bw~QnaG(;ZM`XUUpIN-HY9|5CGaM|4FJWLEx^egCj9!@bLQ1g7&m^#7!gghe1d3k zYPF4Ku9ay*$A=yy8e3&=dNHh0B*MuUjxqtTxP8E^GfB@OX~)1f;BK zT{sVGi_pG-35vGMi*FyouJPjg5x8$O(hN}P%>z#EBTwE<$?+$|yKMgKv+I{Z&n*N{ z7b@fNm_k1(=FZL5r%b!cIfhqzx?jT7&&=cJ(VPV7DfiNicqk@H_hrC;3D^KobU4+L zj>&(LnOnK0G5VDTbx9HNQswnZ2D05luBTC;Vlt3BZqKyRRF6_|7y z8}eFJsZg?HR?tcNQgObR&KT2QDWqsZ7;^;qXrWxW0JACRuo8D6env&gfOIozM(wDM zKX&L}ke2?Z8d>O$zjMT?7n~a#EYn+y^r-aS0{nM?Cje?Z_6^}ye2{lKDBeKEKUh+?Xbx&#exp9%N6s4c|1jab!i6{PN6d?wtyWXJ!B>eB zK4BJhC&21YI2qPDA;Fo+lC9@hrtdVH2TvIq2>PIbN6%nI5tEvS6Zn-3LP5jG{O`q- z$GxMMrmIQoZOt>$@GSwlzylA+*a~PpM84m zWeoZyo3RX|z2Yn4ITrGk7ZYh!So-KEXBG`ZB^`SaPYm%89r{@Gb$|?jqGKpHNiuW~#bC6hSI-r6Hsu2a!}{v$fCAz5-``&U8$F`m@VmKGW)r zHWs=-bj*T$LI>&b9QKia27~TL3q^UuCB3UbPYm=By|)9u5AYj+qW1~lPBSp9d&2c>^<@8RkV&dnwmE&@gA``9m`$&u}2M~iDt!u4kYpDnJv-V?3L z{pO2C#UG7+FB+jg8kaL|t-lBjMqw!8q`SR%AEzoX2~9~~F)WXnnc=eB+(_>A{)#pJ zepmWK2i**wj{d0BbeTEX?rrx%k-df)v!GY+7G@k^e4ahm2~m~0-$akq4>M;(B3(nZ z%%5#Yvl_R)4*X-lX8@HyfeA8y4tys0lJVEWl;^R_=P#H;hE``TK7=oC>mua^GUc}! z+9&=3AyJ)!wltTIhaLBHtA?Lwo{xFSHL$hj!E;0DAghz7;lf2bk~BeNk|Hn z>y^N-1Kb2qbl(G<+zo4GySMAQ!?b_r(U=z<(d5NvA`|ml`IW}koVD_-ud#^RY`tt~ zYXg-$>^#e%N#YnDHcBJeB)<6vX1vZYSt^jKJ1M?><0XCC#Q1n12D~?*4?xj37&y7Z zj7R3w&#i+bdP2u63Vrzu3`?4=McR5;bIsvpRLTeOf!=_mW`c~r(F>pWvjzA=fJXo- z{z9YMVp-jfhoPdLo}|^@XCi-aO#! zVChp?BwCne4+gvXV{zdnSZiktV`K2m=wG!;e+MX14xcPGMCH(7>>2gvP_Zem22s7R9I%;ILN3#L zV}URQb0QoAO3q6~>6vNtLj8$Nk#rnDJgU8jPR5=upa`Jom<62NyspbH^kXcko4u^2 zZqA(fi_QcMM)-F~dAJ841TtEgwpEXC*GcETkl*J^mdfu^q52$?v@~cj@{^Ps_UEnC zd^0z_$j%3uA21_?c*9dAo!dZ%qVpi|vMCss0n~Wt-@r?zVh{8t*>5g*LHespn~8j_ zT{{!!+njpwqTPF;+4%T|cF)?UamI|v1Iv-n!WQ!zYmdoV%ml^aT z`*`Mp8QY-q*!qCo71g#G!;G<3Hk3U@AP-QdhtEyr0hes|*w>oYbx?p#rxE-x;&TNz z#_Be-j}Br%tJ3IW_>2*LJG<}s$AP60%g1};%to@6$Irs(D~bDIfsFUE##WeRqm#@? zU;lAK(s4Sz0zY?_m!4}ZH_r_^5sV9_8C5*GiMd-??hNy&T<+VzQjFu1+@zeL!K4uz zNsl`Hy~OMr$oC;%g78nxyBrIvDAMmS<79rP&d=lzG3aBvnfV3Gk@&#RG#HOMb9{s;a5 zU?)J8$G3r#+nXlySDpV#$lr!K=%r3v4oz=?y~#af=(Xn_bex;52Xq*FEx|ZW$Ei}~Biq5ZrlRI#u zr1Ou@NI!wj;?j6Ign22N$5NSUGGDXSnXJkD-d!h(%z+3_f(%0z|A?b6Jj+aSmh$0N zsTJWhw&A23Rk||~wgI5O#m4x`XB1C6$sNzqF&B*Rs6kIsd2hV)8z=WjO);a#73bs4 zF}%NVE}maQ#*iv=OH(Uxyvt|KK?WxQY~h;%E6*E;ds_@~n>YqV7x0%EKg~Sana(B| zUvl4=z##q@@kKv zgS|kI+cH@K!i0Xm6zEB^8P|JK+c4W040Z67nKkny zU6T;6qU$W+%K_(mv{0Yb@w{U@zQo%F5q43l%5mTo&E5q0e`Wg0uHd`ySx1ANVHrc~#2DFB=Wc&vZehlGLxjFOr zu=WZd>4f-rV&$x`_9wvP=VZIR?LW=<8uRlfHVMC7e#tQ+jGxVsG_@N#Bo;4hkqJsM z#W}kkWxkV8Py!E07)oQ|E^Dpxq{VhwFL2>~EbsQqyQi3V_>S~8>*8*U^jf8NkNk3z z{G>_Vy(aIxpP&3BmdrO>JM5Q?ikFR9FB$1C8<*Le^zdf=rp%X&p)VUJy<|jQHU=m> z^JODL;dp+u_N_Av`uj37@?kyetc>hHlA8lXB86_mr>9sc%hKkefP|nbu@8?1vJJm( zxYj85C?gr#>zp8-M;^c^+I|ELx64C&+=>Tz*+wUJtK&WZ(Jv?{#pL$|EIBpY;f!c? z%?qNx6JT1r>Bv2x5MvolJ9m3uW|fWJ1MK3&=pSM8pnU7<2E{JKia&} zN&e9;UFrBQb=(7X+V?g;U?+cXmwspa|7IsY=$Jh1A%{QgBtPVo?sWXWb=(J?B-j4N z7yj0VcTYNemy`UYQ~H$S|Gks^tP{n`X8H3Df5Az9-jShX?RI!ZvXN(1E;pB?eeCd0 zoaB$4{7;ZDQP?xH zZ?g-U?bvPfK6yomzkt^l;q8Uu1FUN1iTR8E)c<9ZWpYwW0%vLr0F2$ zORLYfR~Ra(8u`L;TsnXp`lmDWpkqI074NoU z&(W*Q{Z1O^pE^T7bL@w#;)ku+L*f@dxIGryQ_#Ak+EdWx-ph>ZbZ8~HgPX4~>lZGE zftw$=`4n?8CYkDA92&{bPwJn%i$U}jCLt^FC-6&I{^G)s82#{V_^$WcMrn^e2<|Ty z@5f4v3SMT$ESIITRCbXw0)w9t-yjzz!tG%J?oSRB`uzc%;17mEg+YJF4W>bDWik}5 z`NM8f8mtN>CznS2$;pxI6dp}ZDUJG5+-O=_I5iuKpvf7f>Hdu5^vPK~GZ_{j{aIO= zm$4k4ot%@O9m}z^Ps`)E$$6!@{yaCge~jn5u}Yp_5G#awDr0z${G$9`MMW-)^_X4U zr+2SnyZ1I$I;-Ra*olnw4KTB02P>P>?*t5tV&wsr-0y2PU`oXauo@W~6kx%MUPERL zKB20hGFBB}NrOiW>oc_1Fnj1lBZdyQM-`8ZjdEFJ_<-u6qwTT9V`5`nmN`0O{Lpds z#Nr9DiFh~eXlei(E|u+Q^~v#ebPn(f0G9yNyzCC(+X1(9kekkEZ$Dnj6UcUSY5k%( zV@Q@-wUQ+Dc{B0}A|PYLHIp{EHd{C9+6(?7BM8momN62VcrCZ#R$uW(U&^h%;6`78 znG(g)tSzJh=kwczp0>X;NUo${L2Z_3#ns3tyA{ zWXsE)^p_pzr$I#RH4Fy9lCWX3+1kalZ~bK$qZh%nyigNTjg9kcJ`_D;i$}+5#1lh2 z)Gs{%{0+cc07XaUsge%0Z}jw2UDC0zZbePq`3n};VL9&tvJ9m}B_MNEzMTZqKauk3 z$>QcKd6TzY@b*nZdm?~Mb)LbX2sn`ExY*V_3YN6YBFrSPwF7MyR#Gt9r_#x?M+B0v z7_O&dWMpUhqXY6rq8`1*jC&b|#fF$Sl&_L}o(KA?y!5REeluVrK&9^?;N*6C>-IYj zc9}l03Qjz3Vehd$G`-s=JzLK5KGn6&K}rHve5NiJ`;uIAcK z5LW680!8_lnHA^(pID$@1VhesoaL3RMJ`b){D z)tNXx0Tad;5Yq|bNYLF- z#cbYXlw%(t+S|>n$uLus!cO)Xj%jAjH3DV63_jN}uV877tcMTlLlK&hi@%^f4uz{0 z?eotA8}gSR&vVV|Bp>&IM~aWy=@^>>QUNModjKcb`o84j zVd{4R|0s8x*~@b3mn5ftja>T*T@GrwaVAX6fuw1u?;iFpUA}qKR9{m*kJ_a7+^jdTO?uj9y>^ox+N`g`&HT;!bIvB++zgr0O}f2V z$M_IeS6i6`19D#mdwvxpLo~U(kJ;y@P};UoHP3O3t3si*A)k7FyK8^0!#tf2vniWJ zaQ4gI;$nJb_;`-(PCm;RZjI4%9}n^;g6`wN{3n8Cj|c4ofgHbSaXos@6~^l0o7hU0{riQe*ske zuQ?;Eoe9{TF3ZR6u=M}i{?_zNsC$4?OHR%w1=#!!e z`xugT;gPi10?qFO+yVzuBu1VSa58gxreLw@@eqG3l*G-)Lm5wm${!EecZFsoyGbK4 zthcv^vUY^}Z4V_q7^=X?W4zth4BLJEVRIO@#jBYy4tm6HWX6eDA$f$c%XNBugAS2u z7#m<15W_~Fk)`*8>Zs3&4Z_84mHcV}FEa3i+RFpLb7o_$7@+vI2>6A7Nqb~HSMy${ z>-G{$|8o}9Pp@B8f9B$4^XryD{DJCy!$uCxb2)$tzx`^~}mC4l0? z?Z6)e6nk>otH1a7QPM0z>ZIJLWtwL8A?%xDt*cmE-CP9O6ww`6SP{IDJNg}?UMUr^Z@ zWlRCno?r%SJHEx(Q2i3)Vq)K~I7EL?Uzh9URzLGKW~G|28OBUBdTsTve2e5~tUg|@ zh5?@rI1xaMC!U@MoZQ~8yngr#>370MNNp_@i-wKtw_-UimzLuu(xu=MDmDAigCrL@ z76!Cwj+2oN5uXs*OEU6;8NvRUg|w)0rcnwTR7dGOtg&JQ)AVae=WfuU%Ku-1e-Aha zP;`doN;*~fKTJO-=xl2&YSz%2Pj5idG$QgNrtONBfd;hOPCv6)c6B4s)n)NI(bWll zG;Wo2)goR+S0nJXfNKGYt~-E}>jqu3iGNd373ZE$^{{pwjj&G>BkU%wy#}Ik&=~oh zVsiwB0;p2dq|!(mYjkWPZ0_P#Yq~?yrJWh4t1s~50gC{tp6mkt7GQNx*`7}7E&T&s z$k|}8Frg1#dj6u>bP50iLb1Zx#J)l&iZVxs*x-#2S4?MsC#fgY`98=VHAX*XY||e# z!jBowqlWpIu^Q8dXjxe%@15ntTt8r?e;pmYGR1(hFKT^5PNoy!WsVOz=6r!5Pd9q& zpU$Aa6c6G16GcU{tD*r5QiR8ucKS&xRQf zFzU`=(RDP#woO<_9w2(Smb)b1%I85}EAFYCoe6vnU_LAE`-I!XB!qy8zMl7sgAB5~mVL%DLC;mzSPV%@U zKN!)kcN*pRGUWJo9Qzw0zZ>tBbngdUG0;VH`{rW|2*?5`x{HC6oBW}yzlW(G)5guH zfz*2gWU@tdmdn?&c3{Eyjnqo29Y!BnGbVzZ5*|}EqxwEcPb1<}-G& zDS@p__Dj4%FTnZH3bO#?p#s6z#vL-b!;%gFt>gQcH_th zIL~j=Uu5fa)}*g@h4%+}_nq|45zj*FP};UwSFk-sMT;?Tj}dAyf{?tvis^aARkj{B zuHbu&fi1@HJ%-(a+NQo6t-f}(v6VdAO~q(1$U{RbMhqMtniTxX7x~a<8pm40zwqUK z>g$bN-@>TDA7^eQObitmL(nD6!tN3bxVaftVKf&@M%OSbu5sU|&Olfl_hXl^2TpUH zcs(0<0~>xlvzu772P}-6$t>A7z%_qXam>J@N8_MMs4p@Nx_<9qY%C5hph^FZahwVJ znoK&wvTg9>@b@g~O))ivZpsQa5Mz!Yr0uUFE38-9kgLCfy90g0VE}g}3sm?A29WE) zfuRsJBf_=pl=9vt{1L zXFeUjk@-J=QCt3#ioFNz_YAhrI9goqV#522^!mI9>!Vw&J-VKQF=m?aB10yw(f1hT zEk<9FiP+xT#fI@nz`*`$1WoR67e+a0-8c}nWYXqir$Ge zlZ-$HuXIl3#w$=1>U-6$3eU27ovts)bh6D-e=K$89lU%S?|TQgxAHXT6b=MKdQvdO zPV*I{`u#yW7U@H6+ll-|GK-4=46^84jGj*9uka+i*rW3tC?waRP5niNqYrCzr`+y~ znFS~oZpRZc9}a-Wsy{wyQCRyU;4Og4hgpkpZVTXK%X}E|h?gIojgvd%fM~``%4po| z%|+Yg$Xp2OEuB}7x$4q+C1rEwFP&Y7Z5;LS*yVFk15x=3n~i(z+YHuh3P0>? z`QxkEAs?-gk4CE(eq{Nt44h+uy2li@UDsMM(eqoUA}4+BFt?}E)5+ke&U!Z590Kv4 z^}NSARFonk(1RC+cu%XRHQBQHB&*i|=$J6F2gl5q4KRyi@?B3W3C1nQbM+kl2Q1|# z-ouY+s4r$$`O^4oJy61hqGTXV>p&UY53QUP|DbS&&qsl zL7u66?cEU8Mgpb+RKETk_$q*sdumnZ9XgYf={#Q>Ap1RY@{G3H)Gl+;nak=X4r#P~ zL(3#<8DdWdReBaJ!MUWR&=Ues z>A7P$`qOiw!zSUcE|Gq_OzS+K=PaJMe8GaYirJytlxHv?ggjw|6pov+ z6em&^)-6Gmhp<7r@a4CncOH)uD~I_~QqpCp&<7hiVE!0pjgf~U!aKl(cd0GBHC1RR$~u_<{4@42E;r3iU093vcOo z_rA}#fuj$C_W7{UUw_{+ZX&EuKUIt+dhan(T8u5m(4t|t$O48ZX)OkX>Z>3(hNV-4 zUZlNY{0uTcXw59_zB*+%Zaf8|Taf2;CYx#ejL(fBUl{#AH@>TGZ+kG)NoO}*!O-AnX<=pLy-Q&x-(^utYodz?N^B(2BU*H+f^PW#Y z@a>HM*h7A>`~Szb57_QWtE2Z-oOyzv4&Kvr2r z*8>#=k9F}_`F~&4bY>Eeb^kxDd|vmP&P-R;tEyL3uin9-&F+F3#TZ@%kJ{x%N5jv% zht@KP*s?4<$SOck-o-4{&u?U@k+m)_?}X)2CWO=N5wX7G7FV#@m8^45>*rmbb_Jio z^YrH-cPUTKf;Chg49yFSPKka#6$0u!(GxYxf++)KTjeu6GW!+Se#O7P^a(roq@Aq$ z9=Boe;EA{rn9t?^w^8wob@2s2zQB*oMMhhLvlT zfuGcgi4c~21d}D)&f?hfmEiCplP}=B&iabE|HQ|$G2$XV3$9=|9B5olb^@CasY%+#;c15mE?6?$x6Eqs2)7F z?9vYZV4c>nZm+T-+t{!=4r8D`d_>?~)}_RE>8S1_Kag9^rwkm4L4M2zh;jODmYHeX z%IyKxo6Mc*ia_xD3-=fL!v1!?Il*p$GDu6`)e|D24_w|w+!OSsvSr*AbeFk4FwI-J z5j69Ru}Kw)g-JPaV57--a7p*vCOw*=*W^Fxu za=w6(rmT@@&Ar7_@?D&2l@YOzRD1w}&yjVCj6Y zyiSl;tk1144gD*__!1gS`8 z%8ghaQZ95bT0Z-t*nYGR@M{5I0-W}L>|)5+0nWLrqer&mXy-9UFK7MC8Q4~yKT;Ym zMz^XQwjPg)EhK%vNM2{iYdd+JEw2qqI6p^zxF6Q0_^$evy85@smDD#v&IS2$Y2lB< zd&J>6ad>JR{(_n|j{I@_i`?3KpdgNbg%9zw!GFDB1YJf5UEl_e_H=}UK}s+Kdb*ja zhvB0g{mX)ybB3McPVsibAy^NdD%q9W<$u;y@q#NKJa)6o|G2B-Nmu?8F8{->RP0aj z-`iakce?WLaQUxr>0u*P_nX|mz*VuxmA}yCZ*b{|;q1TGRdKy5|2midbEq@t;_po8 zPy4^NE55VyzqS4E+5Ugn6?^Uc_ig_U+rQnec*D+r-S%&_(f&`7ycfYYB&xiqNN17=;N_((~hiGHq?{C0jq=Y0dCd#N_; z#MxrCUTN{X^~Ov3I)kk@K49{8v-(sbKjg@(e;tO$3Ud**yAWq!AyKeH^bldaUhJi9 zaG4H622un)=mMt^e#5p?X@_KHK%pA~!!+T)(p_WvjaK+tOM2;N{3Z)4 z0Em+Y@{YG!!6jBQOMd{fw4Badk!lX(6)bo=+CdxA*DT4%KWMPHNU9(Zbf~{@tNdlKLF3X z4Eq~^)8AGAe;!b`K=rrX?VIpz$T@#|e0Jq%KB&QMaY1i6)z z^lA|2$a~daV{+SbfiD590yy+;-+=uW;L@o4a%*Cf{N3Q+zMnk8S~suRctYP|ux6u) z$=g>#-X2q*K2^8*xX}on>vE)yKH3~;n>@5M$VPY*4!;2IU`EYg96!J+yJKY$!Z;@c z^t@DWE<6Sl2NK#}fW>`^w^L%jyev-&f1KUx?Q);D*S%ifJg=uf&v$V{KWRkOt<0OA z?G8g9#9+hO={zYld6GT>{)l>b5{!VyXa~~{s}tzEnh7XgE!Alt59a5<>;Oy5BzQ;t6a zr&Ja7zc}njy)5OoqGsldSu-Zgz!sT&Uu{rIS2Nd8=Ddc zo811Mq=P?6yc3NNgnSx(s$83pZv>xd+`j?*W5DMCr(E7ERJq!&TjExqQ=%sYL#B@$ z0o^`YI313e2~^7E(>|`P^%X$Ny;yX{c~c(LIg?zeRsx)J!7hl*M2J7#%|u5wTS#-6 zfGXb@j@9S)@ev2t@+r;}Q z$x8FqJZ(;Qo`jQjYm_w-nk6_gg0J#6S9tJkdEy10h^34RTp5Q;Uiy!HrWl9wG#)UC z?WAGjNLE=1aKV)gu2U^P`C!cy0$=xwj*thQAo_OEyP5cI0G&zdwTgTZ?C-(b$fpMW z=(GGpMmrRQ*DsRrJPm%%u(-mugbemPcI-O{MTGD8=o?sU>(G5bR4+S_68naH3-s@k zDA%^{LCGoKRJ=6;k!F=D6~5WatgwrDH&+mLU|pam3~^gH1<%1a;RRThSOm;GQLg&} zb{X`xy3?C1yvK((b>saRzZYYl9x3Z1A5ZU)iSyrdXxic!p&x^ZkjsY49ryL;^|De1{T?^m=Mt6nNuN1DnMOXDl?^RgG=r`2w zXmz2t`jzvG_Y(b+ML(+hoMZ6+mi|3^dW#&5toy(69w6)fKgnyVyynE=JM_2@-?F$5 z-|@H)uP7e@@xQE;|Ng7Iu8sep%H-JBOXA+08;5t0cprJa4KJn9xX`^&uUe!(%NOds z7wI>rEYz(<`Ve@l>JGcbVsy|B7-XsDKy)j&+skY0N$6F*G06O8d&r&)$espb2t)JK zNHwAJkG~R}rWRv&0dGz?e@TN-$QaeG5YfI(9ZE(SSZ0Z&Kxm|Gol`YF@i}(JjW{WG zLqP9F?~K?<_(Y%Sm;QqAxZYFUM%a^~8+zCkw!|>b^M+d^jNu72?udJafRP-8Vwt46 zrTfKk*ixr60fS5fqY)Zuy!-tuaRrWR!d5s3+B+!jC~R~*y!=XLL*Rj~hyUcd;Xk*^ z9);fqvF4+Fd-T^+VRnZAR^id^tzZal%E(N{5*UtU5HMHAvB4~yORQpg#s>^~D){Cr zOzdZ{oaOcbW_-iK=VHUpJKn%N^O$=GMz84}VhjvVfsT>sfi~~st&O)ec8b1r&yox=`d2eHSGP@|w^|X9lbhDl=z4Ff+ErMl45ciRHhBY(W8IogU73TNZz4*jTt76XA8w< z{Vn%WlEYL(Z4z8qJ|v9@7<-6ZD1!8~f(Xu61xB5YofEO~Kt6n-Wq5pcCA^csX-lxs zonZuut|u!=#dL`o5>8B$?heE=X=1&K0Xx4TgHigU9zbyPzryTZ=mZ~eVy?Rk%s7WQ zzmansWi96XN?q-rcl1{Mp%Lxvtot?rA9@3PjRKth&@fN+hq*r04+bawhW^loufAzW zCbeBLM#b$W#Bs7^@$5668J5Z~eW&>DL;ow|oFso8&nAZ}F8R+??K>RqAHfmL0C6)I zKPG}R;Di#xzEi5mG(#fYjV)yw#OY9!OnsciI9$H%PDh*t6Y2*3t68`MY^-4A4246< z@!Hwvat=jV_5Eb<7}yb-C-V?=_`m>%-^hG(;b#@Bu#;kvJ`<9DVoIqZ-Lx;6=9>XMD@a1y8`@5;F@?rT2MR=XL-5#_|HaP^wICYbG6$s?RVl4@Q&~tgd`$QLw)MU(Q zT`*R;oeVWBcaNg3a`-tzN)0S0R+W>FI)%T}peVz7o>Pwri2UXE4WuY@wp_l90 zZhrxcpI!1ShnD=Ad;m_sa#rYYTsh%IB|8(Gg0bBu~ z!~xB1?4VlFUCm!@Pd{5xKR6pUz^Q-$_~lCTDe@0gEWIVCfT|Uspam~|@(5YxSwB*h zYcI+W!4smBw-G*W0fhjkUrYv0sV$val`pPe(3!^U^V`g_IOP9D9rDjuP71(PbjZKb z+$yxy0npU#!%-T=5vOSkF*U(b{8;BCWAii=TE00r9)qWg_GuAGVW+<<7rqnu7mQD4 zHKI!Of#%VwUh7eAr@y}k{CmJp(YpLsdLO+$t?9j!T$vETeSr1=^iR}jC)Yj-D8i>> z#b#q1yU_p{+%`KwG0M^*Fg5~kndnopqsVEhykVTxM?hz4hbapX7YT47z-fo8fm50o zjSuhmp_KlBNN3MN=6}(a1?gB4yq~6Mgm>o0v8bPeXg*u<9)~X90slAPr|7$hF30c# z)oLBpa$X-#l?0Rl00Rr3EG#a~(R@#ctKZ<8gWB1E2>_>lHvp&9wx1niJZ=mAe~ia* zrz?8zKzU4Fkmq>E9*?)h_Yc)KzGK=~L8oshR@X@mOn z?>d|bL{Jv$4|7nin*a*|4!s_Vmi0(_HL?FFmHSFL*8FO${gZ3=g+MR3d!aLtYMkhS zb208obIkEi;}?QyIey)DoTCd4%31{d7(fMp(to8>tK)|Fj*@yLyJ`*{i(P4r zV^w(?k#_`n6I~t!{xV=Yz@ba}Evjspd(}Ml)*f|l#joICZI+a`wc%56+WL;zLUB)e z%WKsZIcxuf2`hwI8*44U4FQM_onjpQdwIaH)SL}P>jaV;7jS=SAPfx*EUMj>ky}&{ zofaIXMH;d2c>tkjcm4_ERgT)P*7zq?zj~D4q4#3oPXV3_RQ z5x$Y#tt@8!^GUf}UBhvB%6!S2n{;huLPt4)q+@lMij7Aa7H<9E<;ylb*y~W#u7DW` zBtWtf@FW>-uSH6oFEI|0x?`;bKQH4|y#_CiwcBjqHvk#|PQ6lYZQX7n+J3FtEsigr zQhVNP9Gtgp!1erPYaM6n`7n8%x=uFWDwlRsA}zZF8VdSfV9VGT#bkG)oj3v8B|j?V z!tU9|f-DW;uj8a{a8XH;xB~Y;xg?8V_f?3YOG~nj%-6{_>{KJUXsld~Qd`FaR!Yo7 zOM`rn=MhE@ah3_bn(?XB_4Cfm#h|1N2!}+FeyCO?8S@COq?Zm1D}$+ z65+GEL1^*{Gm<^Y>Df66hG8VTk^^od8TV}6fQZ6o?ohHT%W#jdP6AQkf%gW3Z{x7S z#t-q2pMfVV1>XlabUq6>rM7(a*ZLte8KG3)rW;}n`MNGwkJa*8 z66l3raaH>z|D1Iw(!9 zfmXwfR&sQnLw|sL1mH&<)8HJEq#cHxPHQ1pY^Hh)%kN4weCZZxliaR523Ae=sy+=U zZv^$D_IeQb(|{KMPJMm^PU)EK1>Y&H4rbdnR}*_vEl<^y*+EU2J9TYWifk^~P{i!j z;xq|Ogr&c1BA%8OM&metbRIL7Z>8lw+}WaB4Kr0es&9|A%QWCu1Fi>9;(%kW|BqV! z*3GdYez`$QQnlo`gKJl$#y5q_4&n$;E=56pNqV^uZ8~3-^B~F;L3xPYsmriO1mpo6 zdUpU$sqH$n)%ch~66>RL=*03taQnK_JV$#pH473ytWJwsoWA0{!C9&t^~lHR$4h}P z12jeRCVCxnoq9z6@w8Hl)F)HbBDFl4-#)zC(F^e20Y9aHKLeb4KMS1Fo~U2$=4D5b zD=GW_sI<{hTu1xnHH(k+ErKk7nM-8 z47n{2W;T&)=6W;TL!f+a@ouK*48`*v5mGyM|IMSo&r!?i1-44<36|W@9GV zQtuGn!|j9JY(R+n%#?dgS1{k_Umz+LiL!+vr9t=)>lIgsvdcxv=Xx6N94b%jB81=P zO2o=F2dJJ4J9nQq5%QztJSgB`aphGzq3J(f=v0_?(x0#tYs9N3Sx{ zNOko!Ua^ChZRf#N+(-;Ug71d`J2bAK75bs={nWPh*`%EB`_k@XCPQttKR*kvukoeu zbB%PPh>ie;hy@-JdoLqh!U1q*cm~{Z{F$eE&hXdr%Mu@BVi6101vWFIbNFF=jq!8& z*}PZUUukyV#-dvOC)t_SP23%HEwQ{Qo}SRdD)XmEJ*=`|O5m`SP!TFiC;7UjZVD9K;CD<}1(lBufFJTYqIMXK| zDCP4MJ%V?~_~Ss}=K$&f&bYq|_#*&^KMqb%g&Y; zogLKAkk=e}9ex03`K!#kxt=es(P1TWqPEQFZrZ4qWkOKS8(C3)K8$eq={V@`CNglQ zTm}^&aJOu4VRzk4Qo4JXScPpE8^~61A-(n84M`%qMn|VOQ5!d3)!V)&R_|Ki-vc(S zh}Cdnr?X7LSUtW;&q zfRTMiu+oJr(M|~_=4VrH8U;%)3tG*j_&>%DCUuAUzY8V{cIJb2WVN07fL-NI{)h}3 z*15uKU5FsE#x>Y(=f%A2PsV9Xp2))CFf>$eu_~5Wg|}M%MV1L4skzXUO!H>&lm=Jk zzwL;a1lvJaE7YYVJ-`c}(Zf&c-ql!hN@dDmQc6XzLb%u1$L+Usv1vHxfZgq&U3S0@ zd~fIc%P!ss_3i;s+0Yl*ftzjPZ+6u)w(+#>f65l>i5o%Bvc%AQ&jWU^9X8)?`#byR z*?}8ux+ZokF?ZTk@7TuQ?UWDgU8MXm^!WCHF^OJ&!jCwc^!&^0_MItA>j%^P-ZYso zA*Tn6!Cg0neQluPdb{vCyWsn%3TIUsSuNzj0;Bx9Hii%#Z*&E3B7=(gm@A;}2?MwC z9ANP4X?U$nhF$Imc-rtf(@SP1!(H}E1$I4-o5C3V9@ z7f8%WC=Okm5=b_}RjEeUkHfk^+BUen$>5n#VoVF9_>-%%tFnyjl&nK~BsHg7#FJx2 z%6Ua@VO~M*PVQgCeL;Vj?=#a}L}nDJaJwdTeist6?CsCQ-W2u|r0P|@TJg>5l`+0K z6Zn;YI{?mn@jY<=1K_14YMux`s_yfSrgwVu`J#>81XhXAG?fl6ZxUn;vC3Qn;R}qX zN5HIu<37;Nwz}FM=-M*UQHC{yTX^1JUZ1yyj0vsJO#O4y_zasothV-<))ywo7rE$>z^C^BKV=1<>`jmwY34oU(-;1m_sb&bohR)j)jagis*|yv9<<^0&UD8 zl30YHEYY;%Aw{=2ph-EN(YoUS;Cli3suu!|LBox7PaM(APCS z(6^Jb@(+|t@|)GC68UTmmpAnxN8+$LBI2&r9i9%>+5-k^^;oJ%c6zIT=Sa7af}dSI7F*#Ptf(&d%`si@+pXX-(gj}^Wh9X-^$Lzd;!~Yx zp2!|jEchoa14oE!$O-ik`r+gBenGTEcb`%eUwu?X@msMJrv4k;q}t&SXzc6_B;)e#KT}Uk~UF zaK_^T;Hv<03RFGzKd0`m{`P*=Ru8PJai={y^*{$q> z9F;*DZo_7YRt+#Hantr`gq^{kW1G#~$IS31vv`Bq6^4aXA{#=z$dfSz@aIkYxp)Qe z7ft&GlW#X8+Z<)@H%Zz15&>1cM;N9Su%d!T+$E;yf-eQGaE zVuXXxtUq9~gXVry-d<+%mM5>Ts1KKO`RU99k^?Rla#@AFthGyw>(jG3uTN?9R+sZI zuvipS7a?9#Pk4m4AVuiJPZT5grL?TL*3)gSr{}dE>neCP%{I$_!bUWthv$0ouJx4u z=RL9-wPCI7?qH_*L+&pAQi#MYUovLgyI3gSH%S^V_VVOeccCRs&vh` zSimr_Cst$QL{B|Wl&Iwh!Sa2m6PhD{5N9ORC&+*2VUptAYOw@C?A=KVrSAL){B%|9Mn@pGWUs zQR@|wtqhqy34T%FE2&Yy7JUQ9#ezZlDs(UH9k}_-bi>3qJsFd~;Y&likdNH%{Li8| zV5MXj(Ebeu^-7xh@dvjQE{j*CxKg<%;FsRvFA)3S!cPj24!)}DH5lb~+T$|dmjkYj z)`i-m;n(93QQXYhi~3H6>+@-F>QXuxp4VnV^=70roQpe+MU4`))i{Z+PSAp{seE@J zkHL69^#kJ}$QA*80F)<9!ZUzh3OH1$#%=#M6N95er%OrjNhA=43WIcPK$;7CqvdWynVj}}0r-c2gMgNDKN8eV1nj$C zwb$-!b)Wa&+t2AoiqE$0N6_PXMCoyzyqvVTM$79dq|LS3yoGskyeE6Y-pz(K58KEd zbbtd_)ja%@UCl#>fQ7!cCrIy>W1xDR48O9Y$;{N~rzaAm%RPrDllC6eh{F&og-o!! z!@W25e>Zb3L(xL3D~Fwo-7@lNeoM7u6YA>B=No`;0lW-w=&=v@w}92r_>m5Oc=bqn zz%fHbG-xmmuKt5f2zATcCs@BH8T?gkV!6kqr;^7FxD4oI;pEf>4dyJCV~(JGQ3-lo zf9&vp=Hh6lSjSJO-FB*S4t_LN&T+u&0ha)ra;^Zr5l|J4S2*}TYTOMwvYgWS7cmAdvSRu9SqC zUexFIfdQc(^KmMAOFOdz@98`KeO9rX^?#fB-=IUDvEp;a<})#X-N324-A&OH`@^&q zc=@}kzK2j3hd*R*3~I*#&H*^}eF*s90O6>A7{?#Vz9ZK+QGYNMovCwC#T{7|%{UEg zr?e$nBd^oQAiIDrVR$-RZ4UMnc>n70dcB^0kl*YUd2frv-NKet2M!*2oOT-oGM>!T zy>R6aeBYa74#h;1xyuWs(|>xsd%YfLWD5h90d&_r!Uf61qde~sp4bRCJlLgG+{W{k za{pqUrl*nS0u~uCKKow!Rv8RC(!XMB>*f96t1M68C>B<~d9eCDjyg9|<3AL=B9Fz+ zLyiM}5?~a-nWv`!r*w?-GU;Fp^yxPnL1TvWC+gskjFqPV3M3Fow!u&xUWFie5hgDb zsaBz0NQ15l0thtVxc5|fHX*-ie;m&f!zi}fzI=>98oFIMJ$!`MdREK(lO zt?_ccVbLWKFj1T==%QW)clU9c<3GdFS1W6U@$ zduG=3gq;XeM0$mp3=Vn2`bVZ2F`BsD#p-1zS*rwW;k&?Rvh?)k$-w~(e7*6CKo^+7 zZ|3mKv5(>GrArc?C3k_;3G|Pq>iw$!)^CpS+f~5d1ndSl<0<6{HJ-*js`~Gyj_Us3 z`t7k6X$|^Rx!rzCg@GO;KYXpW<3r?!E{ElWzuu+ohiQ@z&LWbqy>Y`pCxhCP0B8KZ^0%P&31CxnpMK~8RsVgzar{Qwh8d0?uJ zn@^MYyXv^~1$A6HSw2($nIZ8`zjA#}{QzOm>D+s&y!MLwu6l=hlD`EuH>=HuIQ%EP zsK#@l<9jX~v(kFgsgu#-PQzs)v>!SLJq zN_xkD8d5%cQDCQ0h)MDv%nZPisKP3QUku?6xJD@9H1oRxAWj+hL7_jY#-G)=XnZQh7hVB=0N~yd8y9~Dz7S9! zY?2&ha7f+99Jwwz=Dc>aO+a3w*l5fbtWlgTuOA9|yOGIT-}$ohK1kEkdIR&!?WzY4 zmEHAt?L)ICrzz!(WjdymrFym986BaI$Z3}aKAXgciZL)R40JM#ek_qV$QAfr+J7+Z zu{z(=rO_{pr;VGiAH`fnqlr_TyycLX!O6bxu6&Km|o7FZ5RHs8T~rv<^q ziM_zea2|sXd(y6gf@&B(K48OsyTEd0D4OJWNi1A~`UHs{1PyC|5&z-M(2oP80v!H( z3UErxqJCHB9BG$b?`$RxvTKY346X{T16ZNlXRb4}D$+%wc*P2`AyKknCvC%|uEI3n zuM}S6c?X0q3?y~{Z90Pr-LW+qMixDz#9)3RAHpu7smY1Y(QK%4uSdDYpj$nM*VPaI&z&}KXXz=c`L^$GRhfTzz!dO{;XOo;3v$irI3sW zj&YkYpCc+p35CG8&pc>o=aktVD+sNRZv2eCMLccbL{uSTNXAg#5Pj%qoW0YcGCcrq z;tAGCXv7nw#mE>m;Gg)X94-(tX;Xy-Mqjp>@eJm}xdHSd{47LNhaVGL)prT%LM=h{ zT?Kpt;BkP{PEP};^yIJ0Q>dPuQH{j%5m;p=U~_(-c?taNXCZ)r+>9f-wN~y@`30Ye z(KioxXFwl-L*J``-v*enT+ufijl((bNdK(Jw+rY?Hd1$*azC9+`|114vJI?X@VNWn zf<|j%Wusa)oq5h)Zde}d&n@&FvbpUCzulc+DCNR|a|k`9YnqbDPNkAPl8PuH`+0qp?}J&y-Ysp{AD zu2HYP)1~)PEau}pT$cYCAI4`Y-`&6;0IUHx<$D6S{Qfb^*Q#KNHI*mXC`gUA2xp=Ko8kZukkv@J zNOQvCX_{Z%4G0oHJ+VP737I1IA*7IROHB)bUeY zR`N{RtZKm&Rlg>bKZ4IxzsKA@N)$i44+)~G{Yh1h3&6siS?0R@^b@=vr z)^8p89a*OA`IPZq2l=Q(UJFQ{`9AY5UE7aMcoH-kGDxi`;a0>U2G24LSPbwCkLjkp zYDPf#p@fZntA|cPuY@X>ls=%)NX@CL9`z{a9DJsF%maQ8;9-EnU%m!zzlgfrtNPch zoF@9YR`aF0$JGbgvW`2VXpQm?idXdmf*ll}s9Wd&Ih8dJ=o@et6g>Yvb{*HQ*QdbE zY91D7e!db8ELzx)zXfYyL`^I?Dqh;ezha>fwbWk_WVrwX=|;}_L2>dp{vg}}Xxafi z%5EgffebJ&fXuY!3{~%OsFNdaxdQk?z!HGdew%?)s@tyQO8bwd_wU%*P<4w-TS7DJ zV9zNz5+eM_2766tTXjSukIue9-b)1FCi7gg%sA84i&xtgZSGE|fp#6^6ZJu6RC^x% zEnAg0xD~Qtl!w}>6YySuYJgMTF~BK}iTcTR=60%{ zji|>Gd?xxo0{l6^O8}>y?*gYZ?haMYy+`(!R`gegL8=vC{z?(rxyhj46OtEmYdXX11?1zpbg3Cg$v`9%s<`O068m2V{QiGZm9r+k+H|6j^? zzC7GHM)}_RZRKkyR^{7`{F_h!qF>T0IQszf12}x!cvd_n8BX0&@W~5K6%yVdop7;pcdfJ<00TL11{a9=&@2$_c@E3=r!@)N?Xxm zijw)p2oklEr*+?6{vvyyv%MS|uXMXfeY#A3m@Kcm)uW2{<-}U|I?-h)=(1Yxb06!m zfeqZq4x8FMql{y#$?eOHimQyFR~r6rSXPuVZx%h)=vmIWMYG-m^RP%jRFsR%Ygt+t z=V&K_zCHNtj)^>*Xmz2uj{B_9fAgdlcC4`}KYyO4Eb zxuRd>wb=aIANVN1=>Vs{KMI^uRrEY@|I3Px$MGGqt396rP(=0L<9z%y@%d_n{AXGr zuQl(nwEFH)hD!xM#6BB-sX|gL3BxH^q+!#6knV8MD)O=KR;~k-^MF(+SMK5#y_7Gb?9hT~ypF(9KmOH6>n9$IBWIE*Uy5`7@mffNCnhiC9R z$$&}DQ+xsQ(lQgNrWuKxBwAs1!U-(Wz)h?3`~X@R@)M0Z#we3Y^l)D-@l= z*Qk4|aiHvHCSrdbPanu7hf2ZW!?wIZS_p|^{56;4hilEp+*p72gwk#aGrbAe#Pou` z?Hb01A`EFhga_StPcaw<&``(_q2opG6hNxp0de_UB1e>9>0TIU=V}+~7%QmEK)xZ4p*!VaH_)Nfs0H>c^4}1~8iCaE* zz2XCNkCZX{J0Fq zX4cecwKHa`z~wC=)>BXp085c?z`oXOzkm zKQfV%sXfe0`HrS&J}cw$c?I}3z#IQR`P5FUpD}a%OmYaRa>5b_IjxW86L~YHk1zsw z9pEnjr@g-gp7d5w+aFzTzWS2t@57FihxDI1zV0-v5a>=3PU6~HO`j+N^aKAc4wHUh z2YJ0)9aa3o4r5+eZ=StWjJQqwXe|}t+eAovfpxca(XK9^C*3VvYlO8{Sn~}}LePIQ z&#>W&A0ahEa9tPP!iL|>^aad|0NE6d8WMnRW_cofecAoqXIVEh*8=8#4nDuzL9sLB zGZISz`Fv(#F(-u}?>xh}L-_9$#y^Bb8p?-BFZwL#K$nvSEVML9ogp1cFKn=o3)!

&;J@_7+BaMchK(kx2H%MoGJiiQ}U4K>c7< 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

56v&1>PgaO0doM-dp0;vVV_?P-p>UR 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

=>{bn)nD*#RQxb@5R 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 }{(=F_V7EoR-fcx2oD3 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

KZoN{E2$^EN<)ii1CeM(YtP|3Q{bJ_c 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

F}~0E9pe_pj~PE@{G4$c;}49*9RBW%eHr^P z4q!Z-F~T^KaXjNB#-kZeVLX#@Hsg7W7c*YOxPWmn<76)X-cm1^zk_in_OmPF9*hSv z7IVHF#`I9eV;RRVPG&rv@odJ68GpriE#s|>_c1=q_$cGkjE#&fjIT4k!}t;7=ZxPm z207kc7BmD zQu;WJ-=cSqj~_f&LsYUbelU&q!ff)fKky`q|Eny2gK-0oOYRXQf7{1?=iwxmSiHx2 zLjRlTAV=g2rbA4BXUId7$e+lInU-|yV$j0(!^UCcFTx6aMi4!m>0T!iT_!a9AHnpm zIDLCDe_zG}83!}6x>d~e;c({fav1p+xrrZ^ll&OgFJ~OZIEHaNW0Y|c<5sqxcog|L zmH7_iEXMha68>VQ?__+C@fpV3xZG=a9(@9*>mMv%m7wrGV0t@a_bTEa%qZbKb{z3% z4I%vOSi<92&*gAL{{+K+Cev|)FZ!{Oi}hb`6V1;&o(I>-{C*nAMc>3yp7%SfAFm+& z7}Jq6bK6V3wy)&&#+Z1L=4Up~%Uh2od6?(D-ZpCA@gYlfR3fuTUeA2*bfWF&$WP=u zqTQi{t=|$loZd)RN_XO2(htAL_G}ksy)f&U=@+_g0NGh{I3J4$MeYsaeEti?zh(2U zwWw~@HG~gx_&1ZD%e2`4Z)20x2W&WWhVzX~2X3a2Jf?$cLn4knC8k5AI8=FKw7_My7*@5=-ZMneM96i%$#F-MSxGr092U#BvLZ}(pVn1##xlLjwB7Vp z+GU55|L)Uv?x+f6GRt>81Oz@aneOo$qAy^2w>qMiFswO(La;`>^r92xduCT&~Re==#*i5@)ustq%h z{(YFYXy*Cc}Ii~jy9IVT?g=rOEl^$tdLC(kHkEZhWSnqwtPZ%fg zcsrNZtGn^|ww>kQGX|^4PbWsxzaQVLB)e{G_YKEu7p5hCyEDB9V}C|d?*Q&E#BQMB z$JBq1*Zso(g2z=Ew=d#xatQl5mQm(0qW{!TN=K0WRkGfA#!r|(k?F5Ep4T%@Wxn71 z(<-8U2Na?H%w&C`1%p2GPtRK{DjMhgRQtu*_LunBt2(AXJWj>_aiu0p4>R-a`5Amw)bf@?U8FrD~4uRW0j_RQ;^~Xy1;f4%hO?4H4aGg7`Kiw|;x-t2@fH zeB37yJ*X<;WNOd&S08=$E-jB-Jhsf@0;=VGL&zi7F09h>*lo+o0v(hw?im=8vbRdF z>!9VYPk65^SVZzqGvx8L8zSJ=H=e%7@TYkE3y_+%FNY)aYL<84`1NGmhw*5}N=9~* z0`FpKhxT&Hf9o{L=N87q=|o2uTNq=k-|{c2&vB-sV#gSE$UgoE`EOlJ`WDm9BQ#HK zeT?Mc#|i7+p?KB3P1wR1mUyO8K!5D7$!~A%u->{wZx166Xte4>Ri6k`oN77H!6UG_q7`+2I|4*TQEqoQFFUsh=%j=7+ zgf{0#3zu)KlI-m-DSj&Y5m`ZxyZIoW?1;@+F9f(qD!CRcyaurcThRC za(TucWC_c+V5s?~~t_Hz*ygYbYLx8p`KV z?ynujmIp}Rt)cWqxE)8iyyNr9Py7a!a`>Nh0+>M4Ffq1iDnGp$a{*Jp0!Pw0B8si6yUo&=`#o;sV$9M!| z1>eYsQYVIef{7AV4Tc2lkp9Dxj2|$5&DilQ4xe#9#v>Rj7$-B%WW0!R38PiuCw>F$?~HTZd48-(4E3e?#cJ_r9iG#?o7eFM4a1GtFq7LH)EfozOXxX~r1yUBHSBb!n9m0TaAQZE@D z)^pyZ`f0_f{)TI*UdOH`tYg|0e3$ec_EUEkg*%(+7-J1%^&KRyWQ;O;*Hd`*b%c@U z$ZwRzd zxYi(|onpp5EN67yr}(;z9;5vM=O?4f=rP(KvYgQsuzWoXNWpo)m z*7umUKV>~em(gRiCH;&Zqut7Oj4q?cXm_Ld*q^f=(=MYY@)AxL>$!{`qs{s22(rG% zwEZRfXLK1oMw`pUVRRWiuBY}_Y|rR2iriz`{+jg|T}JzR;@cLdBSh#*JUcRfCqhr` zzF~hwEN9wf^hD0}#+CXbw3Oq{WN&}V{uo_GkJ0`Q$8#4Bk7<|DV|2Jax>7HDalDz9 zdS>t7@EBc2yC?f+^duidpYzLQ^d$d&V1JA*qsM3`Sdu?MpyEul;g$d zGJ1@5caq!E->^SV%9Z7==mkjMm2@)NoL?@ZBYKP;^X*@dy~q9>p;^!2a&j3xMmxyq zV6>(GV%lSL*`K{Dr%UQ3qsM4-{c{;TvFpv@2(llK_3RETXLK1oMqBDVqswS_Vmn5c z(POkbvz*c8a9yT7Mw{D{EA5KW?n3q++d0g4m~ZzWxy!V}w8yl|>9u8?5L(71?w_6A z*$<;9wD@CmxLEN~5^1+u7E$iPqE+@K(_3tz2({3VpCzk(x z5z!r(e%{c3(V#yz=z({Vy{y}NFU$77(unU~SCCxdcjw~l@Gmve6S+Ct-=7Wp;;XXl zH{V6H#AmBPuYH8%T{ykZ{*GwL-)2KT=k9EOhu=c9P;o^ygAwJ!McR#>iN`O-W!r#zoUQ1j=wvPo$nDH=J_G{vWw>Ap{7$IreiJACIJqU&y=_-?n! zpX_T{jWq<1<#(FNofq zK7vG9mV3yD`frpOf+BYgBYPOa>Xo2`@8z+#ANp~7Cy(5IgzP(VfPxaflSl66iC^Ry@-OvLQ2e`jHl=#K-v=2LvJdsBp$s>32$nD=!{H5Is zO8mV%_HG`zmB;_MJpHG{L$Gogjn6_aV|$6WpvcQuF6$dXkvlvOkol{i$UFar@<-aO zpvddlzAG~XMZP>w{ARLT=Hr55AI>xWMLB$FcY9+;NK6){&8-*_@@<<+e{7p)q#9L78<9X(v@k4&R{1bWlpDB6r zPvRk1duMk4dP*MqZ7i2|Cn)~n`%?U+Tm@6|Jo&$d+gC?65EOe8<3{{VdBTt<^0W_k zAjMz$eL?Z-<(Yqpo?y%fKbB|w5j(*(hQ06wXXlZx&m*rfmj={{@fGdVc^j%=X=~oa|-YBq;WgJpFTJ9(fI~Z)M&oDE{MlJ&kjQuvV{@8qdTk5r- z*t>c9Z!gdIWe=nJDd*$_#s6|1A7xw+6nP!@kCHAyk#FbpOS%L_p1MwuVr2hu^Mvo_ z34c`{`$Qi3`aJTMJaUKE7qagoD5>=F#D7yB|M5Kj?G;qM9XUY3RQNo;2wza-kv#sb zJpSwRq^~|t`Vx8UTk^=)2+x5P0i*i{$tN={C~A?DKGc8LbH^bl@a z)N4VJN8Y0JNxKmgxxJnI^X<%*pvb-NNG_=o6uBSztvjbbOV@*>9&EmcXzBN>UnW}m zkrDqUx;qE-@t=s6c35IuZ#&+&-n!;-(wBXqDR&bs;q|>Qn>N!^E9dwa9nQ}|;LjwX#i=PV@Sb#6!^K^^D}NV6Z36 z|_633B_No%bW2QdW(fov$Cct(N?l z<8dk=pFdAbBL91^{Mgfo-jnIA`xEWgjw%xru8dFl#v?Ntkq2qKe})Burk)?2ID+hB ztRU#8Z}Jm)*1M*@Nqgnv=2e6Gljno`xP{TvE2K~ zz9S0+O+8=QC;o9>$4Yq$ntmKkr^p3OJwJNAPx;3R%s;>V61Twk$J-hI#CpnqnZFA9 zrMC^=C;z=i$gj-b1x^+8Msv&hY)}Z+$!Kf1<$p?-#yTsQsOV)lH z6D58n^94H@5pmiXzF+>?e=ICt;(R?><~@Q&G*e`oanPszxxA0lku3#Nj`)wm@sxFw zpsD9e`-Gn;u>RWZtUrGF@BWGMU-DD1O*(wy-%?=w{lfPOw0GX7c-kB>!8Y;qVYuxq zzgCW?jN5`)-rXxiI^9N zo#Urp`*8{^Kld?8r|dHc=8Lz;OSzs(z6wUTUlLkS>{94ge+#ttUZMEQK8>L3Q~s%N z<&RJJ@dCs5%YU~(`*=IY&!|uSOY%%?Qw~1qw+romUZnh&b}wj#>qk3$y-V7sV7S2W zBR?_yZQ|jR{>V#|E*Z}SP5T6wv#c)!O+8=QCw#BK`r}vsth*@wQr?1QJQ6s9%wJtDxC_{KBs*u>SekJM9eLEinBqha>%>pxe&)dj-aSyHEXZlh1w( zpYhKraQyN9OZ6{NVE%ioC*!`LUvk^u&NZ^9DiF zP2$)OHS0na2*v}%m-VEenLnM|8UNCD+WWTOLi67z|Lg+u&oBJ?cDCO{JMAOwjDJfz z!}kibw|W0S)*XUoJ@uu1%Fih<{my1;Cj&SDL7UGhNqrY=6Az#8;{}HASAX0B`%gdn z)&le2&)&MVuzso6f2sYt?ajXe+kYviQ~F22Hs$QYu-j=LZl`^uo%Vj^pC~l{pQmx6 zHxFEb?n}hKh4W3Y&G_ciexjT%(HCq}3_kW=q4D>#FR=c&_fk6l$Pp9tP9gqy<_ntf zcX*#t&R+;R?M%Pr7B>F-mB0M}*~`3J(2Reqo%PRdXa8YyI;DRWG~?+<$J-fyi_gnT z{s{VoXY%XX8NTbY|7M2cMH;dCJnAnN<`!HY7Y#(+z+mB!UaSE(Ie)jPK z?ZfRXKfmzZ0>e+Vv;6(SZ(+YO?h2aKIPw$A&n*80r&IcEK{Fgb+H0ZqC+B1Z{q)Ur z*uN+HPHZ6P6_|dfoa*^yY%dt;M*RNF7wl+6%-NUprZHd8?MwWFm@jCUTh40~e>ra| znDDv&X{O)heoo>gXoe%SS$-a`Q{-Hfpy-=u&aYeBS$~JNv;8@K<EpZz%L z$@nNJ>CK1kz})foeBy8BpW{=0`N9=>tey7Jc9vgtJMH7`jK9tIdw1dt5p)Y2zdfJ+ zKmG&N3po!WXx2abC-(nRZi4pH6pozx6BKzqwEs@_a^H!dpIw{!AENp@oDBr+eTW}s zzMxruBkfK9gB1Uc9FCx0{7t?+gyMNF3j`Cp5PyH>3!3vV_a79#Jl|H(3`giT`N#Vw zvhOJ<`X&ZV28S=}9>ECD3q)Vgtbfku6n|M?3C1~IlAnU+IFi_(@@YE9OVAod{G*sJ zDDjYFI6txc%=~lO*?-J#r@i0)fy?QV{1%jSr_g8q;uLuQOv(@c+0}Sn_$1?b=qDM^ zOPA+!Uoz<~?crPYWAq5Oquu3H}2Q` zemmLknlp6ETD5@$wjr1BYU?OnX1x`4hvh<>xH^yjINNtJ4Vlj8e{g~nOAUMJC-cR> zI#2u$%Huy@{PXz_vwu5J{QcGi`TP&e<6q+6W?jYc$>)E6_AmKwvz^eA|FW+Z zUZ@kiS48ZJknMJ|}Hep2sfS+*E3ia+r${hgs^(5}rpZJmR#6PQ9;(vL8_5W}-v>E@m{qK?>$Flwx|1u9W>*s8a zccJl@ansMgnLj_(zl?j5-x7b$E=&B2yyhpyzdPrT*qi<(f8=>SKh=MyJpQHq%KYG` z`j>o=d=mP93rqR_I%%JR@ntmcmhu<0ZYRFvm!MyK96rA)@fV!!!qs*!w1*;_(}Ni#Z60r{u_P#toPxI|7Ax|{PV5nJl=nhb9;iV zK78@Np}^-0wQxO=dL!uh@WubY0{yr8`SGc@;=iOo|1CcGywQg*{*N)%5yCgI#;2ag zefVO3Xo1h?iTXTWs@jJy{(BXeKbLYo$oxt03Ln1s-@8Enwof^RefZ*k*Wc63Cf|Oh z&Fj?uY$)jQa}b3V6#s)yr1rIkFnln+ko5Lu`NiiFZ8JUGc)rl9#`A}+c%SqS@$tXx zB}%8X+cl#}U;3@NhX31INniGZuQq5im?0OFzU+Gx8P5gVdN0XkKC!ZqXldt_4-xHG z4&Gq8Vp+rQ%Mv=q^;75?gN_??Ez@TFA2i;VHpzIu*uJk({AB%g%D;$~`M}(3iI)8% z)Box9B$x3oZamL#%-h-i%;y8%u$<(6>+e~{eux=X-kfKo zXP(htOf}wjxYc;y;w+;-`ONUwx`gVB%xfjRg8gf$Uhl(nWM=0?!@lb;?KqlhM-$xoQ(|gK*!E^^B1471zT0kZatRIjK zSfOP=VOn6W6($3ku4X$f=?Rnixj@#IAc5%z8@C7PT|RT zv($M1;3q$jT*~t)<9&sPeMxc|zyI`Sq9wboH{J(%#*tKi%=f%V{Jg%jUW@EO=rUS+ z674W18121?A7}I!BR1PJTK(9bF~Ml>&Gw8QV`Lw;XSDjWJ!67V;w?DkW=g-5Z>#Y< z#6eGG=g$|$^Lj5fp69*dF4C9z%$bJ&m4-ZS*bgR$5iGH!Q?ZWUy`EsV37?=aRd#u(S%P4)@K zHH`I)lCJ-4j2iPiU;mqnt1_n|(@n*qbGFHvLW^Fw-S4QZX;~1xvW5C5S)bdNe5~!N zjCFH==D&Lb>33xB1DOAbu}&Mv{LaRDJIwssjd{Zm=AZJ{?D!02{%nIkjQPL6jr3)F zjWFLc_HW9W|DrJ;t7QHhV_r6n`8PgI{$>6WW&Rn)d#J0JZ)W-?BYyLY`P%2k_|V6Q z-$llAn=doyxIzEYSf^fp4aHxkw<~``w3Oci23>E^U5)wYwMKewH0Yy@`Q{j-9Im}O zJ3e<9`SGPee`@#(T}JjYo*rn>CmHFTYouqsK|8OKKdJv_`3dd%yw^;Y8P2mbACz^u zptS9Tk6hAWCvw}%JSpxYmvZ%dvy6WBP=mh9=$9Tf`mYtnd7%+Te0y)E z@MS&FdOOil9_uZNujGf*g=iV0dK72V6?+mb*TGgA`EiqxzD@gN>$e!~bCt1vTKOWy zPwK%^@A*PuOvw%_LT zaeN%6B|OLQ?;7$1%SGQFkR9K+L3;)rIUrl#HE8R=Y`MdSdwJq7@e!PC*xOHj zphJ*+7nJaYmVWJn_1XQL-+S7{Ug9nDnlFE%y~JDg0j&6hVlL&(Ld@f@-Oo|;Sc$c_;M~v@@b?G|G`$$ zm-(vbAMq{mWu7ScdZiCPY@AaU{j0jtd{E}w(jIU3;V(AM6Nvst#<>OIFE!4?OS!G| z;qN?{;v?slME}iS5?`)kNI91d&CNd{Li|45GDUx*aXv!IztxA|*?2#b=x?4v{`X}6 z!tXnS_;SCLj1Ncq@NYHFgNT03MdYU+`~<`E_G=-& z)Q4L3^Og~=@GqWA{_RwX=ubBzJ~GZcVZ3Kd{7jrlex&}2{zgMz_|vOMe-92<_zx8k zU)HUXZwZ4h`LJd;(wF=9e#MTCy_op@*nfBCe`@4|B>P6AKM?(w4gbQQ>f`@bBR}Oe za~tCnpS_LrUTT!DFZ?fz{QMRBTW;_r-2O&A6hA*0>wn?@$|#p2_P^U+6o1(- zNHG6F`Y{6EHZs^?B6e|vEJdjyD<^e%CTmU&mR5nkBvf4os%LyhZY=XEE4 zGXH(o@MrD^|KmK;m;BxDWTN-r_!b>bwB*O#Us8Idyr&uEwbj_K-S>Oam-Mc=g8cPk z|0Z-fhU79YE;j1dw&5g~dB?Vch?f2GZAN|#HuihF4$RhH5hc1WN2GNa(Gva#hQHqL zQhH<_d6c2Q1JAHpCC4H$+`xyJ>j~L+{ID+)0e2y~eUnir!?D_?TC-rHP(H`sXCVw(d zuQl?!?|72;<@6lihiK_<688`-^Z6%lB)UKAe?OgQnICq4gXqC5zvp(MCH(I`BwEg| zk8LLUAl5(4xE|ALq`&u>q%ZA#^Ejd<{!bb8tLqur`d{}ZTGH3mNbe6ud%el%FD^IQ z_f}&)^4jj%{tuc(wB*n8#&}R+#OITxq`wd6$CDQjZ8N>&0HUS6ZaR!;>0ds6m}pr~ zRo4+M{)$?N9>o4ymk=%USJ!AS=J~=NMtkdG)b|la{#d`VAL1<_Lf zcQX9NjrRY55&lr4eZOYp_x8`Iy~y}^tI?iHj-~LW|B4v)YmM-49hn{9qm1i;w;JjF zd~`R+zahwLMn=axm?)HBZ~i{6|?(E;RPv zL@#(#cKnKs>%4w?$Jb`ZL-cks{Qb+=|Mb&)r$D{U1?qiRpx#FX>U~n6-j_alw;1~Z zk`E?+{SV4lnRh*GjI*NOVNDBu{ZG}kMc$4L8e^j{}ia#(U@n6y@_3n`L!t*dTN2` zO{}AI$bPEWo4BUHdhlqR{K@`==||{S3e@{gf#EK`jlz}wRKhXw;{wAC`Sf?DzeeNS zpD7o5>qitn8MlOQ;>H5YZ9{?KzGsZ5W_UvHZOmhZZ{nx|^JQ~^@rxVt5i>lYR~zHJ z@J)O$N%<`6EmJPEeGTc!cqx1n?=#Nxm~x>XC{S;~(-f{;2N8P{$NYx$^7XqH8S@p> zkId|9(5(@pYucq~ zxuBY2{QT$V9QZj0e$IiPbKvJ3_&EoD&ViqE;O89pIR}2ufuD2W=N$Ms2mW8nf%^3; zb&@^Ci$@ZD6JtH&i;N#KPGubM7t)V0)-!Hr9Pk3kmowTg5?#&cGPW?*ay&{mkY0o_ z#^^G(F#c*d=?QLUe)uKg#~8OTMqeg=E#rE|p|3EXv4yd;h4>N1dPeK7#OLcx5x;t) zx(RFy84rnXyWIeR1Q!+rAYjdvlNQ=pG?93@V}HrF7u=npd-CC zA7qK^KVO_hUpbcQgE0NW>N;_oR-E7#QzS=qg z#!tjZ-(3aT#f|hmSfE|25#G~=UC;`2HlnD>L`!!1UMSEm_DZ(hzYM#OPk8QzY`blS zU9LDPUcjech+MHG%Vei<+4T?U&XNm}&ko_)qMM149ohB0ml2+yUFni+yF=UB<-8Qv zdR4aFSi=tKE6A?OutPixvK!ylPS+zdS7YC1$8)M-C-v{A+994gJahZr3~z={ct6!n z!jp6EQubzej!$?$)h=oE%h@jNKz2L%>oF@ODvY`93?<973t0VfUP5s!3a{>FDo4{! z;%Szj8PC7_#M87h<7wJSJWV?@o^9=Zl`}sRMmsvkD8GPJmea0&dv?7(->{QQ+=NHegkuP@|;rZFQUuCE7z5?wM?_}GpHtdkToR?0`e*R&@&Tn4q%v+jO z75;Si$}Ae`%c4_+VfUC3UeKpsvbdiRKhGL=e)AzSea!{hxkkJFyJ6>7Us_Ji?ms^; z?EK2z>XvQyxnbv54)w_^B}+7ZQ=pw=*zG(%yZrpZix_r08Fqg2uhPlc?XRa{=a(<; zqU?ITmtp5u4)zz>b^{DMzj)@e^Q+fh4Ts15(_kaKe0KG0f7nm7i?Q92h8@Z;X9Kh) zo{WE(oL%mI@%*3K#g3tJ_pYY=ImU=5$}g+_3X$Kgn;yq%ew!Wt)_1ua*ioMm+47*( zLEFvGW7q4%Y`f6^(9W-3OF9L|82N(o%Q;SqzMyG`@wT9T-n0{cCayc4@?#PDj5hRbBj(q4R*xs_pit1nF8luDJ&^)b_G4cx6v#G?7oKBcHnJ~(7%Ok&SkmF-k?wXYgP2@pBF9i@ji-5B~-q{>?u8 zyL|X}`tVo!@E`W!Kjy>#*eAU=G2cFx`Xx#4Gd_MAefTf<@c-(=zsDy&ulwlV@1yUr ze*K5p_38~D{l7E6)u<0!eZrOeNOlPXx*QY0WGZZRu#P)+(4cNzhLsH)J}la;%Tf05 z@!h(7_UzNvX{Q})4H|T;HLUUwYuNCKR&rC)N+y%m=<>s?y{_$Sof{hhha<)vUo~ms zkkxgsQ3u^XH#A^Wq5=6}?BkeP48JsA%T=OJd!+bnBw@)JIJsl_l=fU zsBnZoVb-ikAg#+jd-|Jy0f$wU4IeiWIH~Gnja8$o6pk8QG4z+y2#*AoPn$pEC|g-3 zlPdo1{omZL&>E1`uMUXxoYYg%cF!RiTUI7lYPpx(u5nZHZH0+W|LLSKzWa*Z6-N6m z?5i-c>f%)jtyKqUjCXoO>sh}&NQd*q;4cR&c~`ret#D*$WJuwP(Atmov*AfjUr z(DDQ912kIQdfNk!tU&rkOdK7pvWAVWm{>M`q&0Ec`F3yIERYO@I_XS^;mY~8gxJR;NAyDXk_WK2Ps2hvmR zK>btk&cunMD=HLyQrTp*qPFsi2@}UFei`c_KJ#bHoj<7RlGuz~`r@x_@@QMhsn01* zm8(@AuqrAtR*8Ma_6bM4vAq+0iE{^4@)V2dq7N?}cCe>9G*) zvcA_>y@+;$0jmXHDF>@4U`@a`MTY~{!9z0W4gqU_d{gp)2MZxgYiqBy&zj?-OUE|B9ZbQE#FG$Z~FWD7IoR@Z=4 ziLdB82xlR_LMM>V+wm1Tym}H+GIjM-PLI3$M+p7X-M8ace>x9>b-44f65mx#s{+=` zt6s;i`b1F{3p2{&9i(+zMtb9Yo<&I~`aZ9FSs3)}ivGEzXAj*=!~PfN{vu$-elZ`v z>JxvU;emkl#shETSA7B{N0kJuNXe=A)gO21%79h3vKhbngS3pwNDq7?ZR$&(*1?~n z-`+O(JKcL*R?GLFeILMRN~4HnIsNAK3s_I|f2BWJJdLtfU$Ot-bBwY03SHc*o2r>V z?EC|B0wvaG_=^0t(4RuK^~_$+>_wb>^tsb6m_Oru`+^x~o^pQS?$&+Ro_p-I?*Ru5KHNHU&RJ;w_RO>9o^`?O8Plx`W}JT!;*+9J z!{^vkCwHtB2o`lNwIlI9N6gvu;P~4I2LeI;5eO885VsIwhgb$f(oIrfpg5(!88>6@ ztogHPL|4zuQT?m*|Cw|d_^Mx@hOg@Hl}vqY{sOGM@LkAXB~#;?&ELVX^XHv8_<|X8 zW)7ZqVa-KW6|(YznKRBGG;;2l^QNCQcNX+AKOY4@M(gcx$iasMEccM7@SFW{cl~Nt zw4hzT$8YSxXCE}>?}k1@>x>Wl68+7$1C!kAqlZv`1e%9OU;F^(vQK4W!fX zohd?~Jm*Sg8NX5u4j)k&!hdAG5ZI9|w~7PS;rOb2I}&&t{}=m~vjf&A_$qlT@GJf= z@-W7>GkJWQ2UK6BoBDJQSVQntyd!`k_M&wt~$wdc3$|1Xj}cIYs630U3nRpIXnJeL1U`1PPa zVqPooTSIOm#Yf_+?2iMgZ)W-uT>{nz_$uDVz_0ng__wwMtVVp5{CVJO{68hP{y+BK z13ZeGYa7x)E_a1sPy@Tm}aZK+mArP7g#5E!GjxoLW8mg(G znw|g#?{{l<1{MdylPBMIz5n%Izii#-tVYr_&FJXp=!}uPcNoPw-N3uZQZy6#-D+b0 z-w3po$V=tpR18^)Nb64m{Y~UQZ1+yX)mZI)2zb)_67ZV$b(iaNqd!Avq~&9AAG6mw zd8s_X+ba-}ZVv$s6M1QS0)Foi(++~3%e8$qWPvk?wERWTY>}7B$Km%9F)aZ!CD(R> z>+LIEa}y|yv@R*cp*mvVQdqIY5K%`|hgI*PRY5PgM9q)<#`%}<2A}?(x zNC-g&g%?Ra^xcl}4QZP1Q}8^Ur>Pdx}U)yaRQJ zyi`Ar5F-4WdA_3XA4=1BI)FnklLQin(Kj(e@-=I4oWy7+h-v#!RJ>XA(LfO(4x|Pu9{7XYvxSUf75&$ z7@IgSk#1L`S3v#vV=#j}0qDGz#l-P?2Vyg4nxf6$mNWZ=3yQ@)%6gxz2NH=lB7KhiK}(7} z4{8(n&z2Jt!{yB((Y2Cy0Ctp50#21r1LgQSWp_j zQkq0F44H{Y^Cf`ND3m$Pkm`tEE1!wJ;<+f3yaatE^4Xvck^jQc<3VFcS-b`5exgB} ziF^!bcai^6`B;pYW+Bq@b3v0tJ_U56$bYGP0_2TNqRg=!^n}Qt26c%1m&y~!R@FrL zsu8GNGQ!tsN)68ZL^9Yj9w!Wf^58>Rkqe6GxvT)%Vw{95@!xeMg_{k8Iv9F(irho8Co zUr9cb+AA(}*X)*atYk_ycgEaXT>G zcocZtcoz7(@e=U!p*B++J>DS2AoN4SjKh#`gmDCLh3882-o4EI@mv%SED@Mjc?GY; znOpec!15RXAz$eY^??l@ECasj`xax7x4#2FAEFJ_py|#q>;-P{-h?sFR`0FA4XGPb z8L}mH3vgTNcHrkjL#`o4ejW0~d<}Tq~a4!-Z2@c#B$7|r{Lzc%= zjA&yl@fM7aER%ss-opEkLM~@?H}Q!umil}RaW+ECl?gdm1rlL3675%mG}=>>6dqhV zZoXGt^Y-+5#d`N^@P;k;SvjmkP>8u)sWN`WBLYJ$MS@EQ@WsOY3zsZwlzHb@Gd^x| zt*1(-%tt&pjX_bsS91IL;ZVx{!|X*iK(r@Xwr1wf*<)wUi9sk$%pS!$t{8D;egBR!~uxq%Ai$6eqR5N@+*~ZBpqVz@=i^Hb3TlPR>36B#l?X-ME)t}%N)j! zb7rn}(DBD$L}CAUlhL_aI_5hC`a#!->o46G*Rlf7qJhY9@hPPNvr|Ma;{-~7%UKz= z%j9C9Nv?s~AIk`9Mj>!5{XlWuTk2$_sF}lWP##oA$K%qN+_gOAsV*TBk&ch4E$I)4 z8xYSTzCgsQSx|O00PRap)FsT3AHcz%ls^DImA?e~XP3p8uY7hTpf%eHjLxnMteRa7 zSR=b3&?UI^HioxG^fUS1<^$$`TL5T!YXVx{T7ZFX3j>4R76*O|dzt+VOAauHfQOl* zz-P=0V4P_Z`rO&3AAkv_B;Y#J9`wa8OfSH@1V*V+YqUDO!RVIHJ%53M9-dy_KE8hb z0VcDhP+;M2+H~(dbmX`3;}4&|c4yrGMo&{vSUH=*;1N(Xw5(OG zFX&$+q)e1dSHO=^=kvA{53j&#+ zEz)+0O8NfV^3wbKzb&7;4dp(ruN}XnSNd=FPv^;8!#~|Wonvzi|FnE=F*2|6QvV@c z@7(>FbPWHryj0JBTV6Vzua(cM{Yhf_e_LKU->;RIuAg+iQaMR)D3zC<2Wi+KwLd9; zmF-SWI&UdmDlh$(>XFLlK7UD%C&?#Ld4l?TA<}wcK}U;x9Oz_`pAEWDm&p5qT0}k&w6Mq*1uY@+v^=%_NI-qJ(g;}&x<A>o=i ztNJX4K;PU>o-QW^su&brZf1=tpSd9F@eK8W{-9f^-Ok}=b`CRLC<)!UX{(oA(bpEb&y7K?Fe(AVe>vZM+ZT(Vvb*;KyGJGqyw@EO&L387QH^H&=b%M~iGUU@Qn zS@8vLLse7yGT=&Bi*M4w2a7?11&G|l|X5v zd2FCGO2?SHYUl5NA>X}*4EXk=toOP40(`E23Ct_B%a3_TM4DqiY`YGM_FW5nFjIg?)2l!pmh@Jx zx~giB^J?Uh^>Xj0F!>2~3Ma-HbV{evS)&MpK7^z zry2Jl`Q7`y&3fj@9E(V%;|AobJC3_wkg|52hjlw5Z3o$)1ur=HGN27bzCY*`kxv2L zBl1tP81f7;@2i7KbsT0{xuzO=qdoCbk%@0baaJ49bJ83GhK6FOI>SV zjIJ}Vo31}_xNa=)@1YPWg#8EMkHK7F8gLu_FwQcY%&?q0a{YM| zuyRf{NQtb2#g$Pyl)z4o&Y!(X(mwNgKS=$bl&_q~NO}aRoJ4buLiDFuLW*YZvk#s?*$%E z9|Rsz9|vAgUjSZFUj<%Q-vZuMzX!U8Z#CmIs9!S!I7>4JI8T!dOx3IguGOpqZqRH2 zZrAJs9?%>D9?={Fp46NKW@>H$?`oa_-)OL2(zSXhKOInihVo%(72)AC!?86YAOdYK z!cH+|bP7^_S%DV6`oezTkqg2BzxP0XOKj0JrP*0{80<0uSqs0nh2q1Fz|>0W)>C zfOmCIfX{T)zT?xtU@eF9n5m^@QIRhOT2bUHfkuhE4Ya<c^ha=k#7XrO5|PZXSAFa?@z4`Xw8q0pq&bw zshtg+tNk9hQ2Qfrv6k8cE!8dquF$RoCTmlHtF&8y>Dt}E{n~@T!`frOliHI&=T*I{ zeGA?S*?~rSJS{+Jr2J~wHql7=9iTK){x`@MG*Z4Ro-Gl4OcVHl~+*2deb2ipU`^7(tjl|**_T=5)cxAJ|N%-aDaJ$8EYFY zwJp#J2agWUPyfzDNc=A017Hd06>sW|_w z_`}}V%{bc(b{8;{y$y7(8Xw8g6`aBTy->GvUU-rJPVmk%9BUqn{meEm2F6;(;%rYA zzF(N0^BA1-;>0DGJC03?O~R2Ty#cmO>yY+w|4#j{(`GasdOU0?KyCUYEil#PH8nQ{ zjxvt|PBTvfx)*XUBx#3zpy|VNDr)+o!Ta%kI9qDNkDeG>KlI$9)~_Yb+*OY(U4<`D zJU%pFq)a*I4>3h3CGejGZ2oMzlt`RU<`?!&H~kOq-+9WPKN0EJq!Y?bKVRz8TwghR zRPmqG@@bvYum7av*Y=-#yYyXaNuHL*$&z7@^j&Ic99=-HKpJ05cIhALWmt}rVR~Po zP%2d_wOXUmYIQoj-e52q-Q4o!b4SRJPynGIf(L>pf)|1}f{z${#o#9fe=!8)3Z`7) z!-3?%C}emWDHK|uUf~0DuILF+1b{ayY{1HjI>6?N{=fl>E5K_C2e6THEG(cCRO>Ou z->BLFJgd3^yrrU+)s3=u!4lw1cGP?D?`Hw$zCQqb`u;sIHfJ!N)uB1>T;5fmJHq0S zz)F)bB+{5}h%zqr=%B1&wwue7nPzq1C{_#0Hxua@G$e>6`-A=nvXJ{hPr#2azMwcu zelLC*_`Y~xXi-^_(Bjl;l+VYrq#*AL3=l?w*7sgHmq=NR2U$`pr*)1yX`9m?yxI}v zC{5a7R49$iK6i99O$Cn)SO`F(Nh1@xS5G&VwgB4fyrPp zG3<rqd(-2*pE>4ds^OJ(aE6zL4hxnrUA`o1Q#g)Kr z%8>HdRjs%>*j+Oc6W2@FC643s!MXnGBzp>P`)EZp?%G?y<46rd4fNQ~o?PRl!R%92 zud2W#pCt51W&Nm~(kQ=CK<9i>I9~?u*(Ll^;5$ACSTLbr0{WsvT_PmGloJ>y-A%a* zj7^PA#fq)etH2kjFM+X+*bnkx?xSpvYsQjf@*6I|da{|w$ZmEYj`cKq9e77r{rs4H z0;8Fy7_Kv92sfTHk_p@nQ+dCgrd=jjC7DhDubQp{ADf;4-h2b1KQuk;+KH$iWfpFEF4-4t*}a{ir>#@ zcsI1d0=y5kymzai-zBzp|$DUkGulKw%OFPE;Lv@T29f1$Im z>_Md4n}fCx`Kh4OL_QsKr^r7CeIfEi&q1?;NXxbcZ6oqCL1&5lZqPj<|0n2QB3}Z! ztdfYdY&p2*W!aebX-GZFI6DB%yN`7$S<}Yw=xbez)=_Efh zx3%90*XG{PT0-C9_Vd|$G-txV243{yM~`%SK@G9u_OG}w0zPB^lIq=SE{egnyOpfD1Bs(p?z&~Tj{ zW2eM7)!y%xo7^-7!5gBRbTRsHP2TJHjls&#+j!88(BJ7@Jw4`3SVG5 z7G8v7eo)u}92ztaNB%x|Zus}IdEwuOqoi|O4!`-prj=wOlm`*}Qt z4L1#iqXj}*IcfAPC!M^X!M=M{7;~>1NLq|4_dnDtKPb*Brdbuh&`37l7x#BT9h7Il^kr)z3;BHsw8So z%yQg4G&5xq1G!Pu*&B&(&9)cp6s?^$MXftS+f%ijhFqu~-HWg8m`v%}<_jF)}dj@c~`##`7_w&Gu?rvzK z?)eJ>z4EsPwiDh_arqa5j|-U}0(m$j5ttmZ3b;CCBXDy_Ixr(-Kk#74ap1|2^T3NC z*MLl#0@q)iW&q|(^8lLDiUNzJg#vSMC#Y{A+#&ERc;|dq4&+h?qBC6vUMBK#@YGhA z=2w7Mh`bWKQsh zLxTFwq3N;QAm|o`aKnHjxiP@8+*sgv$Z@bt<0b+pb5nuSx#_@}+;ZRw?gsEF=KvP< zFM*cd&c7qDo1mlEDQG8%sh|mW!Q>A#o2mnAnd$=@nOXo_nOXtcnA!l_nc4w6n8pC( zOzVLgO?!d+O=p1TO_zaJ1dS%p zJ+UFudZ>?x-$mZl-$$bYIA%m452)m)!PV!6tA7W&ezyW5&7TRm{XQb)=~{wThysr* zCh3%8dVO4b>1xM!9J3h?L?QouX1<%gzaHtrjA|o8D~vsynnSa(IC}bMx7xUNv)vW~ zoxW6@t4wPMUKUPz|Be+$aW38!8u_;J#na`x1sE;(CTiqI&)S?=JP|cJy@92uQ@{(J zjh?2w0q^uL3i^F#0xNhbuwi{L0BzLjD>_duaYGGiS7l-8}@sl zz*WP2p=9GaGXxR&`$4;F(GB-2AMH&`&ZzyKx?B7p{p}0g{?i)#{{8+hA;TdS3f&8o z3E}5&4%yzEkXNDo>aSV@{~iyDj_W>LMIL{@dzQR)39|h0(c`|m&yXT3iDug2Lb5HT zxrj|Ke=V>?>GpQsfv(+G3);T@!uZeG!#rZMFq#?+ou2~hx}z0;kUNUIxUVmjuW(=A zDt%ODQdm_?B_jjWH4Nuu`wj2h%CZ+ct9tdp=y15-DQ1M<7+h;fU%1FWkSrGUg=5VI zQB&yD4)zZT3(dd?GMo=45yA*El3&7iB1`#qe0!|QbB-flue>FDv-15)I+`4tI7rkf zdM26BN5v*hPVy2pizhI?^u+k`YHD9`Wa-p3#yXZdLdi0hSqEH5F*vRK3l}L;v}jOJ zP_bggikB!+l7?U*&_yeuLI?{B`*}sn+WtCP`sX{(23!m;C_50i$7{a)N2Pn*&4)p2hp5K|`}p>2ozNum{JP?| z!p1i}MIM{qt!dNiNP2}j^;(`d`6M;FYW-3Zs=r~!HmbBNx$%nVS#y_^f3&R8At;36i`X#R4fA8vGQ{5fYrp8(~bgRYvY3Nv{#g>V? z{FmN%y&zxD-)DZeC}7h4MM5D9kab^vtT&_FlVx$i@cf~pRDmUzY<-rfnPaJ=`{_ddpzYH$)$FF53+SvhqOq8h5u= zL2-{d#55k8;=Q4cKIG2GW%CX#ev*(GS$|cDSE~;`+*WB^(}f*9OUmq9hn+8aqi2E6 z%`CbxBrZC`oDh@gHoMVDes%0q)#O?SizWBC=e3~a#qyhnzm|=!wzu%gF1HJO_s!YT z>j%HoO|N$}_?JG9{1&&pQfd3>cWiu>-GzSYbkluqlhYAv2R_$Kt#i0UYOe=AKeoP9 zaqGypiitJ$7ftMT*JFP3^JO;<{nIeB!ST>l{jvg8IZ{?rY^h~LBgI;K-)jd)&t@lIUMQtueZX1=YoK*8bP*V3lJb!3$ zq1>ine;H>rJQ4O=|0kwp9j@DUj&(ps4D((1utlVrScy`e>Sc5PmeT1qslF4jMdU=&<1>nG#?4!|@7(9glAUcUPC zuh(zhX1{w+y;O@qm^6@ne59_j&d1dMO&k=?(7iy-EGe0Z1{M)IqQ@+;5sKz~#2w1! z0#G-5h(4dG%Gr62~v^-V_iombW=PDClSz)mWE=w zEGY-&bOmUuB1t7!R9K0PM3auB6X{I4kgo7s*q!tsbVjx}=|lRGexyH?*8|8vGKdT& zLv4C@m|V65DRw1wWkJ-qqEkjkVAsYhSSclhh)$NgYzcQV&)d4M;;M!5fn% zWGwRyl;O=u3(}Ib!iakm8I3suJ7&S9xuU%2?D+Wj$%qme{~;iKGPWe-8H6H}Gx7|m zcXD34{gCcP_k#UQo}3v!nNW88_{kaA_xQ|s97(% z!u*^|2;{iZGMTKJ%Rcp<;(VD`fS(`!o#6xHr_gA0dWA}>(Wta4g+hU4xIh||Dx*TD z(c>lhxu8<2^!fD$g^|AIX%V?nNfB>d)F6~FY7Kh70v-hl&>1~pPS4W|(|TBdO6T{m z5EW@&9tE)(zdSuWypZIH2|)0kp3XuZo<2SW@*^jm2K4py@$$}JkWyc-f(3ni{4gb0 zzza)S3)14=-dimo=Msd0pv&*vEVh4I;L{A)_5b|a zwItp|`Gj{7EEe!aV4)>ngLmNt=)le7Pfnq5W0eXO#y{1}O)z>HX&!BcM#wxJ=w*qv z6eE=_)u0EcYng4SPUcv?1OKCC5ir4$XyM2z%W;dDoUoh*f7bF6{40y25JSv?mO$(= za1myP76+~aek_7k>>N<*5m+G*QV-(z)$|9IARO}FHj<>q;t#?v%qtMBi&g!uA*J*;`z=Jp^W zvuXFMwv&n@JtmC2ZcD6qp2&A)+6*VZ4+!6R!*+V4ttPkmrmedr;qAJ#TefLJeYb6; zmnsKp{-fMjh_}MBPP%1(R@wW+dAp+GMG((^^1hwZDu1)9SXnr~;R(|HK z@>CIU6oIM|Lbu-giO#jrdg$EK#VJcJ(&?eXC`c*o3FzD%El>3XlMpENJ21eH(qg|Y z-%jW7x*<^NHL;@?rJn5upQ5^qDjsWRQ%aAA(ua*V2T=NGZ-Ym4Zm&n!@*R}oFy~TQ zqh(f4N~Q+T%p_J|)>WDmpg;?;EhvE-9F8pCeMm_~rJ|=|;&(vAPSs+oeO4!~i z-vGO)yQ-m&b*l?aPpABypf&BDzX!0NM?Vi(0(zE(PK)#6pv_Wyse#qJt3&sb?30FB z>DIn&pzmq#+W{EqR|z@@yYRJ)O6Dj$tu@WHfpjbnE5gu9K$d5DXt#tfZx|AdiI`bT zd;$DR_*TbI;R_qblTTpw$LT-+V9KEsXbT1Z!%tJ6r84AU+QT%4G|6d#r>uES3n1gb zA2B!#K$F7+?C9wDg{SOSGL4(T{lxL|82M!RZ247%P1QlQ0X|H}t5ei#)YsH9O>s@Q zrnIJrdOs}=0hdJf;$8k4M__5Eo4*3&X5BkCqgcSTo3s%G@73k zZi;Y3{FZb)#gP(}7M4~nJ1X0jT_wAEcGH~hIYV;(a7YcRIdq0C5b1lWCfYQMvJV1NYnfE`sm;86?htH zdO2wS$|F*~8YqpFr)$Qgb>ovSK_`w#)2UYvHRN?YzQ$4vl6M%S>)McX+e51E4q196 zi6>LYbTSWKJr z0*nXa&G<0^jD;!86k|e|vP^jdM>(3Tqi?JoxU^bL3&6Z;;vQ=Q8S&wbVHfCF~ZQ0IjH?|Mkj~&1cVu!H9 z*b(e#)(*>=cy<=MkX;1(%@yp=Y_h1I6)x3hfRASi@p^^2#Kc+?|I$N1krOVSF%qO} z*m#B^KdcC;wDg+%QvTifW-OU`YwUr#_SVbRIXa~cI#{gtR<|zklky*H;pHfHJmaoG zF{e@Sai^Z|DRKGYx7jN0sb=c6t^%nfqH@tlI<($jq*rCh4en>oe&8)6nws6lX zf8H+F=~=73DU}|VUc6%F0i107MKo$w2$e ze-{iGU;AS8Tn3}#N*KX5$7r}WM!thF-kn5dk@;jHNgyln+@|8m-2hvO4B^Q=P0r!D zy-n_s2jnq%26KP+%{wyGi{mf%n)WA zGY?N_GM>yG%r0gRL;dI+#glo8IfJM3B6A5(=so5+^A4RF$I4kOY8RhTcRZyYtRHJ) z1KA>YMkCnrY&2T~&u0_1IopzLjVH7{+lB4U_F@ML&*oV6TXqUNot?+dXBV?e*#zPF zOkz{mGP&c0^fV{yHL({MgqF|I6EjjO}egU`5D zTpOY3)Wx-G3jIKDjQIy)oWB8IxY~y|*>$os;0`Hi;c@oi_#4YKC3~5D_}h=ay*Sf@ z_&bEZ1I%Ig@H>L@J__y`&h|Mx2)zJTom)uG61WV^ zMDF5NaJ#ugZaIX93D?mTinL(V<;TY=o?kh`emBx*m! zy~M9XTo_gsgz9v@Aeom04t!Wrbu_WF=&EkQ(P#TK27ufur&Z%E!a8%e}#~v1h#gPP4=sk7!%MDe~a)J z6RVHm9W&sRoh4EB-X{>WH|VSjRzuqu7`jQ7x}56(?tFTtP`>kX&y6P z7m`2zmay{dfJoCvfQ}V;*Y5zh`q}k>MJl5T z^R9ZMJJ2bOcNFCCzJeV7(Btt3Y5c6`d7S?x&r3koOO9)x%0n`5CraivT$?XT=9NP$ zLq2B&`8-FE&-J2wPQRk}cgg&Ki)4OX_!g6^eBMZq&%bez&vg#n2Pxgh;hRfV@8an4 zL1O=>{#ks^;(0-&_pt%!HzH4M8@r2qJm?~k-w3)z#B0mvynaFPiJtOj2pvv>kvV}k+MZP&`f03UG`m@OI2E8QmS3qxw z{5#MB7o7EYfclDjSbhpUw1wAD4M?k5cn--Yg4g}5Z z??!qyD0SK&{N0N1%N7Yv8^gcbB{;1P?+R9j(z;@5d+4-La9SXC6D$xvXQ@DK5?w77 zoc4)M52dbOfceyRfqwJkKe1hiH4iq+$dFGg9GzZIr&wUA^cf3BC9mOJJ-fo4)JFkqbFx`atl4t&&47(^5iyrI25)X^0es zW*$w~P5}z`OgRc6zfwVMmKEA8T$HLJK*7%Gol?l767nd8JZd42O2{MFKfP8t z>(PYMQqCGQ#c4fix(Yqd9=q^O1bTIYTZ zyO5&esKBEV@@s{?3zk(GS{3z;s??XGdE`|0qZ0D#h5SlGeVVSMM6m>VB0ZjeGiG0o@w?nCAMKlQ`7 z9u*_F${-{Q?|wwOPdTVb8Yy1| zlt#+e1f`MkwLxj5d|gl)DPJG7p~yD|Z6fmDfYM0wv;d`%@~uE=q2p}X?l0iULxNIbfCx&1|25yBS1%syd9KAS~d=JipWm`T_p0$L05?U z&!8zHp9Z>3bQeUa}0`mM+>23?9s<%DIRKO@q2Ln3I3 z$ftt-f=JJE73c<$KM8tYzAdde8zQ?*Zy3^5sD*hi~M0w0(qh=ntJ7z|ml&Zj z#KY`i#&cyZ4U9HN13L;{?8cbw;Afa;0#BN+0B@LY0PmRZ0w0>609gx*ep_i#0yUQW zz=D>7KyQmbu&|{tu$ZMdFxV0T46}p-OIgYTD_Ly7>cZOM?=1_#FSaZLF1P#yTxt0k zh$T(H6w9x`)s{8Djh0Qo?UrM}la^D!GnO;JbC%1%tCp+4+m<^(RiHKy{@4RI05=70 z0-g*!3A`D26PQqBIXdZ8MK%Jr7s&wbFLD5QxX2OUi6Uo!H;dc^-Y#+*_(zdPKzUI` zQCy{>(ZDK2s{mt)b_Vt>+7GxdXnzpoEUeDM_bjkF57y6Eorkq##oq%v=5&N^-MMnN zM@|p$l^m5Iqgx%;50d(4Z=c|gLh?y*2Yr?FExax0m$r)Ixl+&#OWzHB}JT*aSq&)rR7>z$hNB{d)90_0gxmf8yig=NGXg+DJ^FRn(bXqA?@(2niGD%Mn4M3D;LR6Z%98^i9Y3&;E{{eOE|d-s`?V zqu1UM=lofJfnXtLRP9oC5%CF;!e{~o2|`@g;?25&+{T0fOVsr*UhX!@N{Du3Q%o${wm z%@8xvU43uR??_V_bO6$+_ntoyX+6~2$=77jZFu&#i_gESTpEpMT$)Q741S3C%+q<8V2XFD4_l~-No zm8y!*c?_uZeQnn{CL5mR8shW(Bd9dTJ_^ zfz>nksa4B4m5ec{^a@sM)Tx!6Mox@66)RISO1YLZXox~@WK;%)mXoQKtX_w)KBt!{ zjjYOmQL{#&*2;-NsnuW~a+OY@=2)X%rC~UujMXZX$Zk+;h}xjwjB-Y=Q)*?bO0Ohp zPNvYXD!D?tCTXMfz!%aolDmiC_#iZJxMT!!~ z3vWhP5UP-|j8>zEt(aOTS8&9j#n)gMTp;X2t&zz&?8K;M6)K|VWCmOn4bDxeQ^T-W zZy;Jur8XF`TOFq)GVE5XkZ~-w8Z}x2qf|f}Aj6cY5tPIAm1|InXqC9W8UrWSu}0V} z$+UWuHfW64ha7v->Q#(Pqg3Mn4J@bAG!w zQk&SG9%x`o)Yr8I46SKv`o5}-ONh3OX%l6O52f7waUCB)|~4HtoO_8wVwSh!#elfcI)dtTdddaY_JA&Uu&KF zbd}X3KFvDSH`#i0`%3H1uFI{}JeFE3AOF$1V8##Dh;P2LzOu}*9{F>Ib@Az`)^9dU zvR+#{-WoLPTWdw#7;78lFzX!S0PFU`y{#EFx?0B$>0rISx|Q|d>!#L1^&40({94O; z&ZnwX`CXK?y?1%*;nWDLwN{Ar*JnXieNrK7vmXA|v1Poh6AbySU0&#|zPDA@)J)D= z^z{3vO>bXBc|<;lYCbPBY8H1P>iV=}QN4rrMs>KeHR|EUHBt4JCr9mFxh!h=uK7`s zuV+NPt~DX*#~vf1Mh)o^wSP;Cs7qyQMm5YT8~}>wTJB}^5gJ5)n|`rcf9V%Wu2~%OpI?nYJc+PQHB1{jQ-Pk1-GYUXNLkp|roX zde|pz2(-VC;_bV$BJIO2*RZ!M*x0@2^)0-S)jH z`|OqX9<+B|cf|g9_;LFHk5l$eGtSuEub;E8*Il%?^}J-4lPmU_2d>(8_PcJc`Ddm* zz5PvlO7boHptHB_LvP-(zdC)_ZchBe?$-96{n*QU_L{Nx?X8aAw;wh3PVK38mvwcX$ zTDy7iFZQ78KiiiLU26BJH{ZUs+6;TC=yCR9p2O{>7WTILOl@a>yrjN;)9vF=^|6AMIm|8GS{YGHR%0;K(~&&JQcS;xWIn zuQsgq;R<16yR;75HgIs*rrHz21}SER^*;JT*k9+Cg~ilK3L9H}RoL&B*N18Sw}n+L zxGSv8@%>?Y8XgVnnQ$s>-oEo;XZKtV^H`P{wxRW%u!J}F!@AkC!fHKy9#*r;Utz%$ zvcu+VaD)wh!0@)`9KZXyoS*VY$-8H&`LoBge8r7=K6Rmyj~kwkFVHkUzqxope)BsI zzTHtT{?P&-eq|>=eoyfLenOUsH?OhqM+XG*+xQ~9DXS=7EVUS~=vsom9T3bvyAZ-R zn;phS)e7fNIU@MTO{Mvt`jzFwik9a!*DCOB=120i8b#eIw$|kJqigdsY;}1*d42wmqYZe!9~$uwIyd3tOMSz8D4O$^F1O%i8(Q&4=Ct8^ z4Q$5;wCKPGMR(-)hjiwvn7i_KJ-hSo3-shKd-mqfnfvl}`2PHlH3sk@T?X+(rVQc# z*f@-rKOVui3?9u79b)Ilc8TLp&HI)&9*XA^WaIh2YE0l~&7R0VzcGp55;=vRwsb0A zR6Ct-8$W~hka<-9zK^pb#)$p?#J)>*j_*IM;k2UN7h-y&x~2Z@BVHXzv|&~ zUe|jiU(zRupUtN7fAPQaWYcQiW7T^8Nu@3PpFgGZ%bM=v6*Z6ZH=ADJ31n!NM!W;! zL02P&f?or=7Lm${n?N^iiz0=f;6UWe_V>09^juiF`UJ4>^Az(!)U` zMA<(Qw35hML4QH)hdir5e-qQG9>9$8e=nq4K#L;E!7DK)P$ANNRRC>)NJr2uL4QD` zHmYG56Ic=HP?LUdb`2u6DP0fRxIeu4G{L+#sPs+PuBWhO7m?QKI`+rUF9a3whILC2 zX0S_RuXV8|qrG6^G7Micp9;IQ6|lG7K@PzR?KXJ`Uk7Sfp83LVr94xGsm9b6?N!<_ zJ(yT#D6GuBWhOFHm>IBKS-`A><;r^4bev#LGnbgF%mdhN{K>p$nT4(=FtiM!3+=lz%z z$&zHh%GS!Z$acy0%MQyf$!^H*$nMLY%AU(!$zIFeVX2NnZj}4V3&~5$OUWzBYss6* zJIQ;?`^(43C%}eup?sM7Pb~3KD+($KDM~0p6cLIt zit>s`MHNMDMSVp}MH@v&MK?t+MPK+I9Hbbk7@@E$CM%{XW+|2`QWdKd>lB+6+ZDSM zhZW}(mld}Ze<&U*o+MTi@V?(8V3ywt;48nsfW)jdLpLDkfxDSw!4DR+!Eu5%I6?5jO)Nz$m=_SW zyH34seWWxLeb!6^Kig6i-fE%?*8#>9cG~?9Dhca{lHUUtl-vT`QSu=0aLLoaMrKl*K1kNXDBwB{T(EU%|syo3u7*c&7+{f827sp{M0V z+Y7o5p+`<{pd-ftWE^H_ZX@Ae3wK}mnvc^9nA10Grr?wOo+Are-#FfXLC5QApA^mf zGy9~}CZ zgU@6w{Qd6KLgV*|*WaT^fe&R}3Bn4V@GA=*@8bop*XgzW*7ZU6i z?j|SY-6GvMQpv5kn-6K>*2zsvI=gjogSC=dU*I^m@xV!L(}A*F+M1lfb9?{^1)%9{4^2pXK}9S4Lj=7WNA# zMf^(QeOubE4Dg2EbH9A#1>V3i(OY|9a$&rkf|BEsTaj;**C&@E8A6`l+K*L&=!bhpGKYR_YU^yh^>5mPKx- z-A!Z3A8Gf257Hh1^A3sV)36E*9@khBFPkCPGBf1{MI13It|?BC`-=C90whQAr}8y< ztB%zUWnO4sqeZ;cj@3;d4fP}RB?x2WaL4i+3mUPc$><5*$7lkUHkL<9x^W-)1LD`B zPk?v!U`ySW;V#V<{0>EXU-Mo{u6sLhH#++E!c`pXI~qtV4Eh<)q5!HaYG472hlM4c zmH>;Am@I)vDS|$VC83sz79EMS)Ug;zJ&Uuanrew8(=6XxG-Q6BGmv!d@wZRr8_%J( z^OhG#CxOa9JcofMV4=Wbz>Sr%G-qEbd3$nhTttlnP7}J;1F` z!uvhR;^^I?kl^nv@3$N5asfls^Fz~3(!g9PEup(9qv7|0D3^)?2 zgjm?=$Kl?OVxE=wF7rLZk%i2UNMFh<2T#`x!SgHgD|G3rG0Kw>x^@U&BAJ~? zr*{0fny}x8zjavdGvqkdDzM}#^8`pO`0=)8-k?-AV?rAWWJ>`nu{M??(O5|Y52{#6 z#F9qrH)vBx2k-wmTimh{9rBUs2{r4dU8VyzKJ#<1gnlQ5Qq z*J6w&wPYz?Hjss8N+uZ0m_Xz(n{_yD*@IBh) zqJZTA3bF#;|IinilxS6Mg7-7CDF{4oDhG@fe4sUk_cNBnn7Sh+R`7VX+O!6Iy6L3J zot!ddnvCRz>5fSTKY`;dWeFeL9xbe6aMxfN=@#4vEo@NmP_(>ngKvR<6r2To0cQ`e zT@=6d9TK7-l@t4-<$asD2pE_YhPG8IsXuUJ(rDmV_#0%&^rSgSaxyRJha?$Un3RH) z4e&k4lBQ{~Y5rtD+Rik*3;ynDFjr&z-23l;>dkiyt@FeuZ@ZUB`SU-1&&6^B(I$q% z|D771?pgcG?dA-37VYWc|LEIpvuPXJ&_UA?;HU4lY^1OjrA1D(7QF@S z(&7#*Xz{klh>vLLRKmjI%@=}n-ckx^6|I}bS*(QofBY?2XjQQb3&N&WIo9<_;GAmZ z282b{e{>={W5f2#Q@;KA@`n56H`IF3W_R-n-Y4Z7pXGbjYEeV)-&V%k=6ZeG_tLrc zerZ)$ZpDIB<;C>=vDKM2mBFzjL|jgKV{VO!R^uqu9@!lkHRy%jkN{)J=&D>ukNi(nJoTPL8E9?;H12c2 ztI3n|-uLF7a!cvjtgvF?`4Z*CUYW?OUhwt8ip$o_OBIh(n~fSc*{RU|Gr_|v{Ioi(fUZ_;H8Z25d^`sFX99pF2Dj4bfgu*=2f6+RF>D(!H@ z_VhyqHR($$)ziBz-rL>3>c%S8Bk5=N)hl7|`fhRYv8^7xJzp`c|B()!Eo;`9?p>{q zg#@CvrTSHPMTX{`6;=Riu|~)S8_a0<$?+r93$y~ho;M-SPUy>avXi*h@-s{uc?a|< zQ{)-)a%7Kuznmj4DOYi4v=klzJsr%73zk zsEb;`bXCWywdB3}spbWFsc&d#L!9f0WWq|K0>%l(0pz6dEXFCn8!rLtxHZH$CEG0~ ze^>U)D~v7*D~yPsfl~?|>78r;1AI&vM<)0r0+W4y1-AB$!RY3luLBtA_i?pRhTj2< z6wmm1n5%N0X0usMEM}*V>+)vgG+Tj{%~gRl&5eOg&CSd#X)buZeiQr-{a{Y80~ia} zMzbMiD?;T&8LEQ5O&e;!*M^Ou9^kz~y@9@=0Z1{0mI&37l7i0xKC}YTD}~yCl|!q- z&wDjNSLgJb9ffaPrxVw;PJ5oO(!cT^rRwu(Irt(<_H1(9}8R z;|qA41M>;O7w|OjX}}Vr!v|hpec{1`bBQnE}D9Q!h0QFpJ1;j zv_R*#1_-q142j`70-ajhal$un=E#?$1+I{90d9l-8ZB176Szyh8@Lz#C`aQvIZe{fyen}ZMr^fYHR{~lEO;3GweejL{4|{h4 z59Ry!4S($Wo_#N5i5XI|%#5^95v7t=N!mjx?Ig4*T2z)qt0kpu5h_X>Qc_v6mTZ+| zXU6k6XU6~1Z~0%p`@XO1d7k@zo_c+c|X$R2G;SA}U2$|EWF|`(7h&VIO>yU9&D% zI2YsmKUJk;=SgMP^|BJN!fXIdWCq$lSMFlxQe{`5`g1KQb``0wtW2w1thpuH-&9j% z-{~|u=k(XL)Yx}Gjm|mEz)aHUoRb5_?0R499InRV#^RWr5Vt_ft|DP8J|AOtR@b}Y zcQH=q)Qrl-_|Mg%6eJXJW?*N2og!h5Sq}EBm5)Raj)zE`KpQR*f%byL1+2Z9Q=HraY{eRmT)j~oC)laDSTL(*&Nz5a? z`L}0R(zva1Te-K%MavnIV&vN897!F2x|ehGOiNV#_@6z;N@`Gfq&R0+;*2_rb4Fc- z@z~w*?49O%sMCV=0n};v&vt_U)p?l6=t3EDE)_%-7tCd`>bFoRRLt1K;q1Enzv=8s zV>mCMGbEXBNK(J8c(8Y@Z(#C~HnG+{xH#uhVVqG#MXslHcGcK${BQOs^nueav8Sg=Vj57{Je~L2>M<2}@6Einu2ns&;4f8#g&iFC<*PQVi^gW!hD;Pi~Sf$^p>2lHF`VF*a`gt&e#q8I?kB%3v*xy*59`q@2+~;<9hTR zoN*`me$E)vW~3bm;_(6K-*LvIe!L4o5XU9a+j7QE=v_HuH}pq1<8bsToH1ztpNn99 zE_xbgY>nQYGj>A1nKKSRe}OZ8guVf}b8^ z=Xgk}2Dl$%w8BFaac>4|zURE!B{j^={)71*cDDPm^F0CTN7V82Q~d(kIQ5%oQ#m>B zvoOwAFTmVSAt(R+GaM=7WWoP{alQIiw4+(@`!E*P6vvgk1nytr#T`oKntZr7iK>a8 z{H%ME{%#J*XVMPL8~I`;3A1IB_TfD>dp_y&q>f2~r0o< zFk`g+=5CCCpIbVGxOH=|MBOWulABq@Hlf=(G1TiM|MiD`bi9J%I`=LluICmh3 z;}g-FaK-`X136=2pA@k_ig*mMH_8-2jLpy!L5ykWi6F*x=vz4BvGrYuy-|O+AIcsd zBR+R*Ef!*5)MzahVqetg9;g`@6Z@cu#}j*@h&@iknAqo(!P(P9>~A9WH4(>a(0}5L ziG5DQUMAwWHF_e5aWeW0&RA6**RlxWIF}N>#}LGL3VLEM6EU_#PveXipkK}zA4gB@ zZz3K;>~A9Klo8`;=!v~f#P|&Qo18JR?Q&=N_pU=!qbnlc>`>TC10W zpPf@VKSzmuRHOT+VsmlsLJ*H9)njJ{f*1>;SKy45(Q9(X6VPjM#yaTrIb+*aycUA^ zT*^17-x(R{p~OI{f%y{{Wl57F@*Ix{Kh+U{3fp0?xRiRo(};| zJT7Qg^0=e*<=KgrT^BTnwe#jM?-9&iyYji>3^sZV_vfp(C-^A)>dgf^j&SD;e?3}u zeStRq4vZ-Ra|O6aHw04AwzDb@Ci+RqdO>s_o6bqHKQ3X_+;w2pmCqH;6~$T=t9rDhm=&&R9K?t#o0noQ z(b|gJ<4R>d>pJGScrnK8Ym_MxQ}DjqOu`JUIj&UjJ;qvJ59C~_9Kn$yi6Y`Ll4ekE zE@^@Gh~!DMVUl5Jqa>rzzK}1+_xmULPiV~*EfsO!k^<+C1Wq+kQ&a?8cZ_gFxYp2TC?^Njon4`@9OrAf*{^o|9|N{_2c)rcMU-# z{vARu`++^4g5Hrc_CkM*GfqTb$QhG9{?ET3|LuPH&i{ShoByBoeth)%ezey@u66v*)=%X*^&QQCC*+RpMULq3B&oHpOsBn zgdewU{lzYrE}>sIhYt!3q5UcBE#go5#j1nuFX|{(M%p7r7ccrR*b!4LZ>_kFtM*Sj zV)E1 z_P&@u?}B0Pb{U%)I#BPAIidf%_Pnrnj{aBed?Ed*0_*5r7-Dy+A8QxP@?^cCQpbC& znykaD`oQi?56n`pW97Hr$mAV~{w>QjyKXBx*Y()Fq{F}MonaYx_j`^mBDV(dUW&-C zLFCpT##hi2L5zu98$_NBVoc=P7@K2bY#uKnmlyFEBA-_wXZ#fX|46UZc4*{+QEiG_S@Vb9#;D*!W{kFCv#0 z@wJWJm-+wav0?w4{J$ZO4L0hKM(@8LyO(vJEQ~my>qyM7!QDbvYO5&RF zpUiiT;Bka&Z0P%6n*03U@%tYwQuKcUfj$PGk7_*-FjkTUBB_M^XV~PO%UsuXtDWp!?;r3O z_G%}WFfj*4`)!5O9!C}kFF?y);oK>_6Jz!|=kF_=#W>z5+=O;eco;2vos%XqQv_Gp zB6eu!iP)oEf*tetszlbJ4HOAP`}+zfd*3{E&J&68aOM8{+NM2@EEZjY)?IWh+C!ZE z^kdgHi*cO2lfF^331i%Wk1Kte*i5veYn$x-^e#B!F18kJpx9xwuf^V>eJ}PN?byBb zV^=;M#2qk8@aNUe67doo_mMb+If0X$)yrIr4J4;ZVmGNIF=uEgNkh9t(iQD0NjJ3a z*q2Z2$lrk0N75HcD><$)j@ufH~%u25P#*V@Kv*?5YdmS%Ueg<9sKfu8gmZuM@jn_>m)5jbBVa67xnMS`ORx!Uwy0NRrPaOYpl)(m~n@b(GyuKRFzA zlkcNa@^fif8KN>WQ5Tu0icIXWCRRL1<6`9EeY`9XSQXF;&r7Gp4gxNf0C)@=Qp!`dDSlLX)5>;XyRF0|;dxXj`XGT($ zRVQi(Yhc$bvAf#|du0Q#67n8(fV)utR}yR66zmN0*6=}I)))=q8n8^GQ-h>=LX)_2 zkGOBoO>2h%akn0EuU;PR(If8ABVlc0VA4dQuBai!aJ`|Ip|_zw>O#jE&M^uw`h}8d z6=c>O2bA-aNXiI>&)CS=*f__SxGS&IIK$zQL)&FiT^1~;s+KZt~Vvwb%W z5{Ucptg%xl0K!U9=D|Z7=SvrwTV-ctYM0%bGribYSqN7S~7n!QCpg* zEUkgH5O2(`5fyMrx2}Fj{ZRDb)rX-Eq=Bu2-h-8c#QF%aI--i}u<{`~!-)~bIKz0x z=)@Hn32WaPSm*X;4rAv~{z$>dvyqo0uSedFd>E-3sTrxqy?n&g*BF|tAp`Fx>+wFa z34i(@U2B;pjGt!+oU=&8t{Wo1+YOAH(G%-1N?1g~&BUzx(}~9r=hoQ>V(gE8?0U>- zF1SCg$BfMjN36*Zxnd8YAGuV(=9K&6ee0h1TpoPxdh}Zm#Mk4E-j_2b)^A4h%Moifqxt3jxMnk& zYwnM0He=UmM)S@Q>olWz=fn_F!x{gt ztRej|7vI0~?{SHfejr$18(!P#X7>W;b<+nu;x zyv2hQjoz)hQcmwGKB{fc-81~*i{pn^`cDI9PSFXw>Yg!Y+1=Xp$~oE>#oJ~zJYufo z-bpT$?zBI2^}_6vMFZuVzpf7BiHJEP+rD?}!z$N>5r&8J-<50nF4fyuKWFCi7pFEI zE7-Yv&#CUsw55@se6lBIIyU6XryT9{yruCX-J!rZ#GfyPQ-+$Jx$Fw5WBz248` zZqV(`4^-j~G0zzY4lLbZ=dH+?6?SAx?YXS}eG4a)??`Usp10j4Oub1zd9kN}Zu>o+ zf(&xhzNaDA1nig3 z_|@G_-yCP&cyh_v$TV*8uPY`E$N6@)_g*vaI4qL%!_Auivd^jolH2kIj%(7W{GZO> z=A(U@o!9J;adOdVzLigWyx#Hij>tN>X$@UeywIBWzIcZ9F~8W#^?5cesYg#76PUJK z@oV+>=X-30_s6$N*zA9y7Sxab4$|R}03o|?1}3+>rPStcU$$jvM4Yi?TCjv##ck?D zbHk|~l@h|5H&$$TvuJs=h0#>4yX%ETCBC|xeS7|UdhF?FWyhzF0-rn zC`fKw8`HAyfn~MOZk>{D1=np{Sy3GcQI3b#ZHs6=*gTRX_&Qg!xkdIzW%Spa(y3l^ z-w9oAd%r(b@6Nqz#>Nxq`jm6miynDinPQeZ-}lDLz~R)g@Os&gHz&`%$osRes$;si zQ;9#h_q6=U_YS)pQh&@?jL*7plsMYB%Pdm}8|oJwj~6hbzInHceD8=5zYT@W)F$)&#xU=bdR%;k#msosG-= zGVpf-e`oM71po8k{|fwnf`2mjp9TNL;NJ`Wr@>zv{D;B+1NaAke;D}B0sr;je-Zo} zz@HoZrNRFy_!oiySMZMj|90@N0)IpBF9&};@Sh3(o4|iJ_-_XPPvD;k{_^1O3I6He zuK@mm;O_?hv%tR|{DZ(>1^mx}|5ET*1pg!8p9TICz`qgvUBF)-`~|?D2mGVJ|2p`0 zf&V@5&jJ4x;BNr_XTZM`{NusD1pF(&Umg69ga0M)j{|=b@ZSmk=HQ2>5G({{`?b27f>B&jbIX;6DxgtHIwE{9D2Q1>qn34}-rQ z_}>Em`QSeU{!74L4g4p9zX$khg8v)vw*ddU;4cCGZ^1tn{2jsn3ixjXe>w0M2LCVM zKLh+#!CwUYQ@}qP{GWq=F!a%{|Np+!2cQeKL&p$ z_)i7@*Wj-U{yN})4g5cYzZm#OgTFiY7l3~Y_^$&09`Mfx|NY>f2>xl{ZwdZ4!G9b0 z?*o4!@b3nHF7QtP|8?Mh5c~zfzZv{1!M_yz-+}*o@V^88#^6r@|3~0&2L3m|KNb9C z!GA9J_kq7S_>;l^B=|dk|03|O1OF!QR|fz4;O`Iqyx_kQ{C9xA5%@0y|ApW`8T@6y zKNS4;g8wP-KL-Ba!G8+)e*=Fj@OK4&I{5Da|A*k;2L8*ze;oLSfd3)zr-A<@@Lvu7 z+reKH{7-=Ybny29|61^m0snCDUjzQ$;O`6mHsF5~{MUj1HSk{r{+q#n7Wgj(e;)83 z1plqzzYF~B!T$sJzXJc6;C~hTmw~@B_=|)8BkM2Wfd5|bcLo2$ z;I9e(8^QlM_#XrRJ>X9Re;@F71pgH9zXkpl;6E4qjlq91`1^yuANbz}|2XhB0RIi( z&j9}|;NK7a<>1c^{$b#s4F0;{UjY95z+VvjkAVMm@ZSXff#9zK{^{V~1^$iTk4b}y zeDHS%ephrquT z{AYlFEcn}i{|WG44*uW4Ul{x)z@L=>8T>=Q{~P#wga3B$9|8Yq;9mj$=HOom{x`sX z5%?Q{|9bHM3jXK8|1|hN1%D0jp9lU*;GYBj`ruy={_@~22L8{$KLPv`!Cw*l1;GCk z_`89>4*2(gza{t|1b;p7F9QEz@c#+^HQ*l%{^P-43jDRep9=ma;2#hEWbmhe|3dI@ z0)IL1&jx=x@b>`!Q1GXN|0M7a2mkrt{|5Z8fWHX%9|Hec@IM9q55fNu_@4p)V(_00 z{xaZyAN>2k{|@*Efd5(WHw1ra@Q(!l1K__F{2ze-ZtzzC|19v20{?B`-wgh*!M_Fk zqrrbF_zQvme(=8s{u99e9Qb>Je=hjH1phMd{|NpU!M_Upoxr~r{NICrD)>8qKQH)a zfd5hOR|o$E;NJ%RQ^4OB{HKGzD)_$z|0UpW3;t`sUljbufxi{_PXzxL;Qs~u?}C3F z`0oJ!Qt&qe{}S*|0)H>?uLl2L;Qs{tO~Kz9{0qTf8~o>he+2k*fqxqKe+K`@;2#A3 znc%+y{9VAm8~mq(zdZO)1pj34zXbk+;NJxP6!6~#{>9+W4gO!iUmyIZfWJHV-v$31 z@NWZuCis)V-yZyDgMT^rhk^eY@ZSpl3&B4h{C&Z{9{gW`e*yTP0{^AppAG&E;C~eS zHNd|V{OiD93H%p;zccuIfd6LjKLq}Q;BN>1v%tR={P%(X4)C7`{_5br82sD8KLh-q zg1;H~>w^D7@aF-4Iq-iC{(Hb*0Q@(Ce--%ifxjvE-vECj@c#w=$HBiB{11b_8~FQx z|2FW~1piOqPXqsE@LvS}Pr#oa{GGu6BKYTlzcu(*f`1G69|M0y@P7{e`@!D^{DX*} z|KJ}0{s!PL1^&yxUmW~{!T&b+8-l+C_^$x}<={UR{Dr~a1^mB*e>C_%0{efgec2>fS&{{-;=2L7MH z-x&PYg8v2ZF9QF$;Qs*p2f$ws{A0oY9{7iV|6}k^1AlMuKL`G;;6Duho#1}}{3nC| z9Ppn8{x8A*9r*Wv|6cIV0{;~7w*dd$;J+ID4}$+m@c#(@=HOol{wu-14E!s=UmN^y zfxiOy$AG^j`0IebEBHr&za#iZfd2^i=Yqd1_uLJ*8;2#S9N5EeM{MUnj zHTX+{|9kNN0RHjd-w*yW;GYQoYrtOx{B6PiE%tC-?2^ z73=C6$=kg7{ar7w+C@*Fo_3;8+<3USxD(f}FFjyjutbr`{ObPULq>CQvP0CaT^+Mt zz6`q*7^rUj;>EEe2M!F%4i5fkcXhq@!q)bbNN49zM@q`{_3z%LF|J%$-FD~BtcNi% z6Z)=Qb3VU)`{(749z_>qW$jd9FdA;3JxkrBqhr5p>eMaM>GXr#eSJNS#l?qLn3`_r zzJ7gy>6b5W1b_Ysz9=uR;KFCmBGyfqFnd*D;U!%K1xoz+ z^JWr!e8L$~QDh+j0r9EQ(pu300m{_I#yXw$_L7YgC(bXqchCRw&Yf+_LPFB9hYzdz zPMWmTNJ+`mP+58Ey=~iSzAsyrJ`@+Xym#TkYYvu{yVksapH-Tcc3_{L-a=Ya(6fG=N4cS)Z%=2;2>IaP5Vd&nWY2TK z!BVeh%{neQFwn}+&CPqr-=Ep($HT(- zQqG*A=U%#`X*X?}H*ZhR&$`^)wU0A1{dQJW-C3)tX+x2e)KD53`6B-77h~(&w-4=0 zN)C+^6;+rbBcns^=qPMhy*mHOg$q-PXU;roE-!E7^5n_cuA4U(2Oc~)Y)hr?z2)KY z{OihdufHfcJlyi|(W4?SXU`7R z`~Lk|`ThHwt;UVh-BVk8vvJj`TvZVfxn0%ODVFv1)k{oFJmy*(&?onG47bGI8At4VP!>={pt_6G*>gu#l^X8qe$;(?4a^i$o@bTjk;ojc$HZhMEp9lOC!T$jGD}ui} z_&0-p6!^~q|4ZO+4gN>KUl#n^!T$yLi-3Oz_^$_l2Kcvu|3mQa1OM~jza0Dvz+VOY zZ-f6P@LvZ0)4`t`{2jr61^9P^zbW_&g8y0Y-vR#4;7gH0sqV3uMGaN;O`6mM&NG<{`bKDJNOTQe=qnufd3ls zF9rX7;7g$O ze+u~Lg1;U3^MZdJ_&)~!o#4L~{3+nC1peaSzZLxL!G9e1PXT{2_&0$674Rgv1^->(ZwdZOz<)mYtAT$t_zQ#o7V!TJ{wu+M8~FbK{~O?+0RGp&-wgaufWHa& z&j5c{@XrGOQ1JHv|F_^@5B}-kKM4K;;I9q-cfkJ?__u<;0{B;e|55Pw0{`vcuLb@; z!T%ZfF981u;J+XIW58b%{6B$z4fuzEe=zumgTD>Q}CyNKNt9~2Y&~xPx=P_ z8sI++{&&HDIrwh^|5xCj5B}!hKNtM%!G9_EzXty@@c#k+N#H*O{xiVe0sJR}e=zvZ z0{;Q<=LUa&@OJ`#EAYPz{t4i}0Q|3lzcu)Wf&UrszXbl%z`qClbHP6o{HwrU6Z|E? ze+2x0f&W|ZF9Cm1@RtGq4)9+M{ujW1Ciu&P{}b@P3H}Gcp9=mS;J*_56~TW8_`8As zA@Fwu{~GWg5B~b#9}fOU!GAXRe+U2j;6D!hYr%gN_=|vlHTc(qzX|wTfWI*K&jEja z@Ye$W72sb0{^j6*3;f-||1|hVfd6Ok-vj<%!T&kzAee+vB1fqyjktAYO!@NWhGQt)34{<`2_2mYbp9}oV=z+VjfAA)}~_}hU0 z2JoK_{*mBs2>ue_p9=nq!2bdG%Ypw|@ZS&qe&D|k{JX$^Gx&Rf|5Na%fIk=buLpkv z@MnVm2k=h@|6Sn!68rgZ~%s{|Wv+;QtZ)jlo|Q{CUCu8Td~C|3dIr z0RQvg&jHe{*B<@4*nCt{~q}71b-p$KMekpz+VacmBD`-_%8$hIPhNx z{+8hX9{kh5Ul077z@H5MLE!HU{w)9C{|)>#z<(J0?}Gnw@ZSXfufRVa{LR6CF8JGn z|5EUO4gO`|{{#G!z<&t*XMn#0_)iA^VDO&>{sZ984gUV%?*#r<;C~tX6Tp7~_+JHo zYw!;P|1;o!3H+yle-HTQf`2CXSAoAK_)CKS2>Aa3|F_^@0{)`lF9ZG^;J+IDFM$6{ z@RtYwC*Xe*{11XZ75qKGe<9Q==h|7`I84*vJS ze;oMNg8wS;7Xklj@UI7d6Y#eHe_`;S1OEKruLb@qz`p?e%fbH^_`8GuY4DE#|IgsR z2mHT+|8wv+1OKhye-ivFz<)mYCxZVL@LvM{-QeE_{_DVhFZkaEe?joi0sr0LuMPf2 z;I9JyH^4s~{ENW91^hpOzc2W!ga176&jbGx;C~$ay}_Rb{u$u!3I2BA&jbFw;4cpT zYruaB_`86AHu#5t|6}l11^-y^Zvg*(@V^NDQsBQ4{42r#6!@P5|7h@61OFr7-wOVv z;J+CBb-}+5{6oP%9{i7izZm#G1pj96w*mhR;6EMwBf;Mg{3XCY75o>0{{!%syCGuy z=2k}C#p>-0a#o#E*|$3l_s<{H*)%JBe@>+Tq@T8t@mhUbPNy|?aS6%|p9=n{v2pFj z`7SSrq7H%iRW4F+btEE2nll?Gpo^f6k`Oa>)6>f`vX)kU*m%KR1 z{i2&Xi2nH(gPjUfMEU>Q2a___M9s_e+iYo~EDcwRYvxM1x*q1z$PZ zic+<+N1`X^yuY*JwbqtH&L(^PLLzi8+J#x($)2}ax#i)Lvzoe|#X=v~oKDmna=W$P z&Lp5?<;s;oKkn`fZsne!Q*%^#UHc*0u?bIaoiG38wN=90ru%TyA0i^`+-g@fm@NA>TvOFMG`@ydHEQf7J=gk2}5UcW68gzC2UO`o^Zm zOWc#n=kxo~r*5xfDpR?mZL~g=nb}DTmzB3kR7XGhIp@W8XMugnkpUm~ywmQhZRu5V zVm4XY@5#)o-*O>`{}FGdW8&i{ZkMeKVpptMtF=k-j@QtJ4CgJh_Iu_sUL6Z9)fXUp zTLdL~=Bz`-LV2t1@Rl{@Gv-dN70{LNOq*w<=#ud2k%aH_S>~%n-c}ElXXicIvsl=~ zO{s_!|9;Q*N!Cp5%j=7;st@(IUO&}8-lV!tZl{&(<~5AxYEIqxW*E-PZ=LcLxZEjgl8y-~idH^HW&aO9wFk;(d7I~F^JrcPYG@%hr14_00s zX^4~Rynm58D0%;|CSyy+@Z9C)Zw&W*c8*#%t3NY$&Z)QI7l!6lb$x1>eDKw^=`us^ zEk&P8t6pmS;Ij9d%8Wf&mahKOz@e%-;^OJ>+dijK+TtqCZZ3Oss;pl7*&Xt7t5aF$ zcAgq)><#lUknWPcfApwIr&xI0suV|+!mtgef4+W`@;D()VLX}aCoi7QG~C%1ug-l! zqB!nLi?3J4`(L*dA{&pD);lJoXVuFv4p~0gUzw2d*7M40IX=ILfN?vD&-#s1(p;yJ z(i}3F;n!oc=-KNjmxe^|l(fekqwOnKp8kH$LABe4;@YHDX+9bcNE^oAslV?MJ=H@? zEnBEl_4L}sNjK_TkIi_z+uwOv<(1_JG@fRE;oilgb2#yJg!=}?=Tg(>?wJ45&^B#u z;<$YaNeh%^^_-*VE)wrQ7e(jpy5?p;@@+np;gut(-m2`fx#N77Y^9jK=DM|+nFHBh zjrdGQJeCAMU1^x=93OT$G14|iaFamrwpQ=G^JeO$Wf%$Vte&8w_$2klwv+>PH|N}U z`yS(Y?^~EpXi~?BeALD*3q6)J#NI8q&OKF8&t7P!wTx>V%|hXG)Wt>gb(d_GzyBPz z`8~ZaQXuASd=I7NNAom8hsP_mJ3}-++3U1>2Nksju3c5E#!cV6LFmPg9NIXA3s&*o zn>Ghc@!t^A7`KqmIVQ_Yz$r;3NPxEDcCCNM%mb(HcgeY!RavBpi8^)is;hL4q>;Fl zdPHyE^UbhYy7#blo~BUEfXwMPz2wCGJ8VtPaoP5aKlJ5`MNL(Kndz>K=Qlt7ikiJ< zW}-MxnFQ_G^N#6iJFi8SOlu^Iw^_zN2rw~DqbW=~v1qG1P?H{O`}-_;!n<@)i-r11K(E&0KkOV@Ed@I6!reI%?MMXV`RM_1SMyhom>i=^dRS{$9QLS$tjX`N*85yRQfJxUAhi zUU{VOaP;}v1xoG0X(fv&M$Vt@D#LV*bGQEJYG2wmQe?X3n=W&Q)&B35S;sBaWsa`~ZMtoqWjxsQL)Fr89iL{&^w>RWAD=k{hitN) z_u0w)5Vb4b{q<~}lgr}{A057$`Rs9_maP97-&Y$&jtAKW-#fE}^l-V*B|F6w-@ESP zNaBGL^iSF>ZR=SqO6yKhUE@ukaHeznPoD z#IH0cK;TBKQ@`Tkk3U+bT&P@=baP{30l(~`p`KQ9s6EWy^ZJkG-Rjuz2n|xw7ENX1MZ6S(Gq;Osas=m*1N13ch-=cjC#%0 zX3x^P;OnS4&id$yhpNL74tGvxoG<^>?LCVe=h-2Y`!M)I9#7fUTmHPkuZ+_swx6GF z&RE=Rt6dc({4!a4x07zS9C4c8ri|WDw98$e?Ku_+Olu(h3XQ8t@DgM zuj<^p(A4HTxXr?3#_~^nU#D*v(%AiSevk0bg*4{JTT85GO^mS1v9NGneB|U|jjY7Y z%y|*#%W~HzEM6KV8^2aBv3PQIL*$aV`Zor&jp-@}yI1Wu)(huu>1TM8C-Sb4eGt$z zNte$~_Ho4ctwo>dGLP+QLL{Dje=#5+q0T$~+8$eL`E5s6wl7$1^5#)=McCuqE{`cv z(@l5p({_u|ce~osU#Glft$IPaw0NvZ1NR$8&pWb*-n^`jn6SCw3~jQzh?eE}?ELTI zSMCKzisdwiif*sf?Ym+)YqxY6<6KsRyWjzj&Yt40URUQV8niobWFq5Iq1s8>ujy-T zg?&eiB9pgyS(q{UyWMJ}6Z${3$J;k3M~ZFURxP=BUy<3Q^;<39t((Z(QdaX!Oz-E_ z5mNCP3G)n*ZxS1aF7NYzV`Q)yV8uz&GxuT z6<=u72{1G^>b{v`v%%6}Q&F+~PHB~&M!U^yq&IzCa3-tyK|H_H+M#(0lADzVzrB?D zn5RvBQP|MvDrYk@L`GV8TZd?+ep_&n*1x;S!L0DdbUKXaBz4 zZVqldZnF*c*Y%ddEN>W9gjZ4Ub+t92fk9+0|v70D{!CC*Rlc1vEQ&FsZ% zjFvtO>s~tl3gc7Pv>(3R1$oDg6b^Vg`<_aBzPM{=dUoaT>@_;=dxPp!PwWxj6x0~8 z`t&K+ZL_^y(lt&mt_ZcS<$lp{OC-CDFYtk#dxBJKqVLX3MgJ_Jn#B5eAw$o}vrV3G zt1oK_&F>V_j*FZt$=s%@O3hZPyLMefqAMhREOsOceeKYn|+!VLa|HM)D{JL^Mw9wjYxBe@@_p?rvKmRj33 zZNj-v1Ixyg}0k)?LV`B_4cNa>`M;Y z)0aP18onP}zI*YaZyDEz1q&0bW~Js9uX_f|&HM_Il?|URi(Q|(!p7{XqxHnV z^8D!B$V;cBDr9#^JUpmk_~ z-$y9y8b$tHdd;0j4SlF}>`efA5@av3AM^}+|!*vhQVNefOGa9iA} zIDg>A0j~G7*Kc$U5A1)feOW#Fepkx&^!Ll`dyX#ixusX%d|k1gaVym}dhqPGlTXT9 zid`&q^*k&3b&X{9oaS1+d$HTjZ!^Wu_l2%1Z+f?tPc~<3_fhRN@jQ8*9(=N~?S)rd z!mT=#CSK4Nut<#FN>}dDT&p(Z8PlWqt42q+a`Mg|#^Sqyrb~DpSmhj-@>`(WUnyL$ zenD~a>N6?D3*=iIPSsGRxi7tBc6vbLY(enDa`@J3Hf0U_bpQE8tZ&GL9%yJhL^=Nc-X`tp}spIoZ!&-J$W zK~wtXgPX2=nl<8TF;jR7t)e77H=(p``-32l!Q0ZFCvCl~9+N!c?Rl*heh2}i#r=Bj_Z#;0)(co@)=_U+eNiqy?xMX%>uwX12=&W#XUgjhOykPcx_pjJ_Z3zSHN84d z!zcggN0VKJCofN_Ga^Su+j@yKtNv_~SX5>I<@CoYwby&xOT7-#N<8l>$nmL8Vmy5t z78E&tsMqD!gq{hzOl}xYNjS@0QoO|dQ0J|T_MOWvOqJVKyyNZBGw$bW%jRSsQVw^r zAGf5)C+}HNv+%gRCj4a$v!eEO6*8QYUXUab+#4TiKj?j%H-&Gbw9j~M-h2CBzsfX- z*;Vq0Cgoh-WG&~GmprXA#a25;V_MFx(%F4aYoMY1{l@-x;c>MqZWw9{(Jwa(7MQG=pS8Tvue7Ny%%ypIp#`!G z(#iVX^vS`VbY9)n^xcB4^ok5;dUp4G`lg9={pUq=+$E8bS1f| z^m6)S`nDq!dV8xO{fUPG{Y{T9eQLB0eW|k+y+ma^-L+Sp-dL+j-&&zeSE^K`tGCM2 zi+JVe8x6+MeO5@*mt2sfM^=l|i*&{4I}VD_X*ELhm(vC5Pj2(mYsT}@UtZ#&+p2TZ z5NQZCt%H{kgwrF)^LAj{a}7;#KXmA0;g`iP_DxuSHEXGp7dH zAyy7w+kQ7V=8lX9DOc=0V-_Q53D z{#yyO`?WV{uCmu@bDXZy{KDdCWp6LjY?NYYIqPC*dKpo)gMyK?#MKvQQ8^K`8H(p< z=k}eU1vG@y`saqxeq^1bE!7RBO^i8Cn=f;WR(SFVZMR4W%{?@Twp;Qr?bd}us5cxy zJG1Hl&C-7_t?arV&HAk`&5w6G&E3k2_H)k`npECK+C9GYv;t=j+T@#SXun2Q(YjZz zpy@nzrR~*op*5agL~{~aNXrUvqzN$WX;Ti)rA_9wqxGDcMcbw}gLd|wHEqc}8trzA zCGFI4b6PvajP{_~l=kbm3GFD2Li6r5q+PjZK$F>_M|)s4krqbMriGM@r(KNIpylpR zqqW+r(B$=%XjBme+M-Tb+M-GsnrV>~?OUbYdsmFpksMCsDsMShes2jW+sO80NP2y`l~jTT6ZCZYUGkc z{it%2`l012Rr^64HSg>tYUK7PYP!n>s?dyc)U&3isScA)QBCzvP-hw)rS8ENtJijc z)R6px)a!k_sXbOZsM}9%r7Co+r#3Bir@nc$f?Dg~LKUuAKwY%Up87z=mOB0QbZYZS zE9$MKX4La!6KbNgA+?1|m+HzGPvz!Qqjo4LV$=3G>eY1;)ZkcQYFQH>_3RWbYUacN zD__PBtHT}5Rw6y0tjy#qtfn~^Tg^x;vzGye_&}>4b-q?FGS*p@KU-quEN^F(b=} zf6Wjjs%xmuSYY_u8>M0H6NbYMTj;~L4m%CM`Q$e29^ySLdDMS6z2oGtdtUVLe(uEK z!orMU55a_d$fj>#RQ=q>uqEweXf*6)NS_a2q-%sQ zf&))5dUC@VtKLK~L>@;mrk=da5H!2Sh<%vA;MYxIO!v9Vm>rYBU?gTUW=H2Sdc7Yr zJ{mk_+$w&~FkDp35Gj1k_@P+N*z5Y9F)Of=@#S0%qxp0lqjXOrL*3yEW1(mZqc*FJ zVe0gakzetH(PY=f;7{si1P$~uGR+1U-5x`XlZP0LvXdhW!Q))ay}NjrTb%irDw+b! z7j=TnRxEl82+ z9j?TDAEwMa7O29E-k{3Vuu)^`NT@S&U#l~}9oAqL8fY?SJ=0|FUNWA!x^g^o$Z-O5 zZq5Ye90e_A*G4U-)g3LST8kF*#5irHucj&XWo4WmToBO_s;oH2aqHDj05E5^kIMU1rNj~R`VavA&unT&k-yNtE^ z$qYu%HHP)BSjOHP7Z_&_g)_Rijxho?4>3+v?q)m~@6Gtu?a45)UCD@%aAp|Huwz73 zSTUw%QyAB3Cop17qAW0}SwCBFMZyGh4}u1hT%;v*>x1)7!*?mBaL(8N+_P{lB7;7UAY zU_$4y{nx(@%{C-s^)bQMT|S11R9>ncyE{zDQaXUuV-{L z$i^tF$knLG)5|EZ?vPPs$O$9aN9T;}VlElo*1ci$)a$m9;NDClule~#uezQZ@oXtE znw|g7i2SYEsBWmyNcvl=k!fM4k!L`k(ODg)QPy&9vP~2pIp(z>dHt{m*-TS{e3m9n z?pq{FuJBMGU)ZKhzPw$HJljW;+_XuHT)287+1N>+yxq!>T%<)IZx)(Nj&7Sm4t+k2 z>~qzUyni2!TU$d&`XWjs`P;cD@|3}7vWeRz^7o=xvbRwj`QiC^@|Te-Sc$kZH1r@5lnB735hPKael;SCTbuRFU7=){vjIe?B`X(M3KmzMJgY z-b1#_>LV`?86aO@Iz*mo#2{-3jF5AENR*pvxF{=~xhc)Fc_{O(cqws{`6yo|@lyaf+;y1SMj%BqiEMieeTbP1$!zhT@ks zjzW7UOR4`QN7*5#KoPW3q-1(1QNqKODJc(CC|X^r6j5DuivJo7%K2DL%9gtE6jd!P z%F`{{l%Q-K%5Gs@%9GW4l%v`Dls5TE6v=&t6pbb$$}FsPCl(k}_E}7(w4pYn*aj$1nK3uV*RQb=P9QCxP zEOePqxwp`XqVKwpGJEqPO3bk(l+yI2loQ{UQNm1DQf?k!O}W>(hH_=S2gSeBld?H< zBju{q7D_O;7v*f74`okL`KMp1SN$5I~T##8c3uTu(^BvC%>xI?jY&Y&Ez z$fbL3l`_z>}N{CSA@GkQ6MJVF6M{37mUChiGWL=br|l@TfkRRnQU4W1Hp za`5?xVSf@ygBatrhKbk22Q~5Mm55b{)d)Al8iYGyEy4q_4&jMdk03VtZA1_?*@-&w zTM%0jMD2Djgg3$mLDYL6M(jW^5JPya&Jh99F#2ISi8P)#?oVRf*FOPcUW68csPC?g z&_PT@@FRQ?I}y4FJ%m02{~XBfh`b7jNeDrN5W*1QhuDqSgV>AMhhXBhhVe-Zyf#A} zWBmI!k4TW-j?hV8(YGMVF@A@rKvd%U;ywB*^wo$O#3w{80{{P{I`sG+AmMv}^Z}2n z$Di@NKx#nWh-gB5M%0X`<9m!w`hsyK`eyWB5%`|LbJOvh>ZDe@b~VN|h!%XT6;X@h zZRkJYSSVZG@VfBAgXa>!a|yr=4?a%-4)B`lcs+GI-v|%<@W2k?OaRYEJdZ#JUKdXA zToQN=;@^SzzaSp3j^o7FPyAhpzt0F4{=K;1i3CqLKEl(DkK_M=2d|Ci8R5a#!-Llr zz-tNMwFK}O0eoBl7742Y__zR`M*zkwR^Fb&~OKIi7zZizm)HtNq=`KXqT z$wxJsgDM!6qeGC*T7Yy(a;3~8?p2&jRO65t#6;c{?bu9I>GBykk|m#qwn+YkJP+w5 zC-1e0f)Pm+*?myMhLfjCL(z|&wuySL|D=8=;+nLf5B}>v$ zR^}=d`iGvTk>) z2$1?&`L-Xia%>N=a%_**BKo4iOKL`jATAO+qqe_cz2O>C11n>eKE;rN?5&h2v|cxS zZ}5?JvNCG3b7--1X>%v=C-9O)60{SPNIJ-(9ZPzO3_r@G239U@okT-q&$3NifHoj8 z5N%pwW+D$MD={16Tx8VNLvAgjBrcM1k_p-=oIG3hNkXLk$gpMlhYVW}@tDU+9Z3eH zZ^#lPMEa84lFUQ;maH~p>_}otAnP_e_x9-d;TW>N|37_xVCT1E*Y_f7xG(ta%y1Y- za)t77_IUVPemizGuSQg@8$DML`R%NPX{hH;|4+^shw;ciM>elGgGrq>aimwrDN8Az@}h5A2d!uyZf^rL4Xb~b%>ZF(Xf-pc>vEL4v3&nNl6 zJLj8gyZImX_#-rEfj3=TWn|F*K8i~gUp&zXkL*yWv#yLK= zR?HuBkS*an#ufe8d}QZ2$1kEE%}qvu*|GIxsQ5GSxPv1O-Vlh~%h9kYon4DCV3Kt~ukb-&4cj>TJAW-}k%k|91bLb55VG?yl~xbgH`R zID)#sFBw|w@Kuj;l5r69B;y6>8^&AEPYf;0Sm-U43tA(!A2dul3|3Nv*jslL6`?k-i0w-giVE-x)HBXfG+t3;`V~Gahsz{Jz60m&_s1Mwug^$7N1{Hp#Sr zK9hM1`a$L+sHyBI%o*I~X{XIAJe|uFv)akN0@atZ#r(l8asxmY$W?+?%hiMKlRE|4 zB-adjUhX_-o7Wv#c^kBg9ONB9$H-3x4V8}qrSqM_Yo2^AXuf$iD=Y#oVWutq!xFGKd=65VSX&2g+xgfm*OFL9H<_Dq_wa4>}R^p<;$w z_9D71vTQ1VyJH zC||)0)Dp9(;*Jy?K*uXg0QFUv3>u0VRPkOEVnO3DlPdDHLNaKoLMrGs%&Us`g_%`h z1z>JfcnMS}2d%^$tGGKwMYNri6*-`)iiV)Q70o~`Fw-i7Oj4W-8mbrtx=}F}G)^%W zG+(g{v>Y?9!aFZ!T}3UdcpFq!NfB))WhD-%s*)jSZzUVhNlKGJ8OnVzLoiR72g+AA z19evJ4=PX&23?0aSm8lPIRcc<#41fTDA6BcU0~9SiEqoeb*7odx||?mWl~xq+aIx!btCNG`X4D@}^I zCD2rIt3a!{)u6T91E4M37hGBLk^2!c>6`)|cf!seL5ZFQ{1nmoSQ&)Q$O^xTn3ENG zP;WHoSUn$j?UCK>h}c=(hmkj*98yxi`NU(g|`_rgZBwk*0hf)VmLS}9Tc;sg8rXcjPZMC zUm00q!jogNOy&7zn7&iN+(MC9T3HhtDQWByE!Znh*lPdaz1!Lmdk04+XBStueop<} zJ&32*fPsU^4}*tz4;?mq#K=)(G#N8?oR8?Vw3GIm1%0yUlJ#xtkDcO2l%`IbKBKMs zRau3@RaH~h&_qA%Y=1Im?mR8+`Ly5l4;I=bOP7V{kfq(JqGhp82i+y&&eG+yqx9dk ztX#F4o@x!Iq74!RhY+$Z6q{k;5$iWZMn(UJu#Nwgr_r%fXT2`^UAx7^Zh~{Z_|02z z)`Y~ZNrWV)h%b-|o<_F){^imM5&q`hjO`>dnC!?RB-<$mA#(Hb;cc)mkQBkI(JxC$ z=}yrG?TaV7e$oE}QrYf*An@-8E&uhdipnao=hy1LqN)D#KsBWH&jZ!{d60i9ME4#& z4GeqrHlpJbe`QgCpJGhaPYLE5=Wwa;&7%5^{C`CBLHRo#h3tfhw1j2*PEvr&gUM5r zh~Ly{Wct5a{?5SH^|Sp^KF$wVFlS-lBC>eN(q+rZ3KUOk+6tz1p|nsEJ=5a)Fokyx z9FLK_e3S_Vh26UMDC%iIL}|phuZiSw|MYfoNhutf?J9#gTu$>B*;5S%)U|c>d-v@> zaPU8b9r~wl|Jwt3rhGGV3smPewsv1DW7NfmQ5TEDHGnsgBi|nNy?hkYpMS3rZyi5D zPF9jrr{OMT&Kc;=HlHKp{Dq6Ky)J)qz?G}lL|Ydrz5dOPzb@Xm`Pak#LC9Ob-go=X zU2?BYegDD3M~|PhJpJ+6z~?Vsz8duFz~5_Lf4})#TW`qQU#rmo`l|GP_nr);1Kxkb zB5GreMhojNp8Nm3@|QuouCSn?ivqZ91f8v*sMOZPq~$Lie{UOYCoHb2s=9_~`>zo+ zQBg{E(Cyf%V_PGrdk55rUyD1MHGesgxdpNOx@AQ~`IR^jM<+tt&!ivntS2E}2qMn6 z0|$L=NRJpXV$|p{BhZu{4-w0R5hEs!@TI34F=EnWk!p(HRBWPFAv0#8R)B8KTrzJy zbO8%Qb%W?r0(!{by^Q$%3oNCdEs*83hC=IkZ4g20`D+~|QA7RyS$=CzWR$XKiB?wL z7!#|!DK4IDrs1}XNJs?RO3)&eT#~V*0IA8zY1`;V`;y)!2xxYL^TFEPt)ml%Y_mCBQ9RLe1%-S zcKychoc>>}5`J~OJeyt#O)xaV2+9B|e6w)Ak*WAEZ{NZqD=T}O@_%Oev-qfeAK)L2 z@ApUl<`%xwKu@bTFaZbxJ^}512ituPQh$RffKUwTXONB!1)+B}6%YbVz%79K93<#b z?FJYF0|0Me1rP)r1dagb0fHXWG(ZUC0i{4Qa0zGy2>MJ703P56%ol^8htv{ZrZ@v5 zfl0s&fZ$6MS%3vt1NLG#fo}tHfD+&q@D^wVbkRSm2hg5YCozJ+D}h?zG;kJ>Ll37S zKzmHvecMpKHXeXCFb0?eqyzf^>gT2fcn1*lQd$7C?{g$D23QCz12zFk0PW|@14;mb zen|RNN)WIM*ay4z+^_y|y6IEsJ@zyZ_%8-R{^QC~P7fG02zpgwTC#h`w0 zC?)`YK>N5@yYCx1>6Qm0E0XY2amvgZvZca|FxaC z51@4ywrd$=HV^=;0)l`DAQnghQh{`UG`0B(C1=p{3iJXN0(5-p5kSr&egJ81^Zz*s zocjKxem|*y-ge)-?S6TwPhR$U_-O*DUtH=Fm-@k_K5(fIP3ng>@(Ritfcnv)K6JDJ zU7$BW9x=!vpb@wLkjFR&;0=rgCIY?y^fdz+kOE`?H9)%` zbn>Fj2RaWt9uNY>z)s*T(C(9y`s4Hm0)Rr`0U-4Xc?7TnoB>b38yE^q0;U1vHNH-I zhxY|M1zrFj0P-GRNC82>Ie>gXuRg#5JOFQCEHDWO2V#LDfP6$afCCHyya9h82uK8| zPfUt-pP2NE+Y8xfI_F3c^GYe=40NiJB3*!tQ&OZ9xYdIFAE5sPF7`VlS%u`2YE+^% zjC~AQvR^b3w^^!5)?WI|H)CF1&ADCI7JDJCrI^;O>iKuMXVBv|f#(++O??1d1)^5-W_yEMHyLhC`TV72( zQnpZ@mg2uZURHsx6DvjIWp(fr$o-8`v(NIfY`g+<8J$K?0(U>8}*imJf-5S;!Iq`V{mg+P(rFiff7z{ z4r&#SH@Y{6az;WP$C&^+nKO+eL#A`)aagE}1E5*Vq2IG?gr`MUa)$E>@=qL3Rg_q& zKY)6xjshK{I!;xJ_`nY%o~>#G=mz*>M9x;Fb?`3uWyIGYs`a4zR1YBJL3n9I`$_cz z=p|KJ7ptmifKsoG$nR<~pbT|dH_q2w3o6h|1{G>P0euM%j)=dOq83I8wYZ>Nv`j&r zwT6OD(wYN0Pb&a4NUIF=npPL>enel}RU5SpygEX!y$&>7I~SCCc$6bM;pGwM)ak5) zJA#Ktl!fr|h>-B|h;{`0JYsJLP1LDfI*b67)iuMHSN-AN5jC%_5VTmg1hiWBJ}Bwf ztt0Y&$04BOIxYo$-0>;svyLx8-*$WlYN2nfj}{@kGvX@n&4{}*&IZjjE(R?%t^lnv zt_R&`+yHvS_!MZ9@deOJ#y3Fac=kL?j1ngBP)qSLcv57$XsnR>bCe@;@ac$geAA7f zLilz>>1_H1l$e+Q06O>y9Z3|b3-MhvJU!yfJKlqmEQM^8zu9`Ay|ax#=Vc4C`6MIz zKI9m9fSgHMa~Qe!rY2Vwl$py0Rm|-Q>YN)08k}1O`YQK5Xe)d}N)dKmk38IIo;&Cy zc!|XLa^5b`TY2|DALcy={gn4JD9Ja>$9eKyLHp$o1f7&WA9O+f63`X-Yw~5t+WZp8 zJM+sSSLE->mnPNubhoUO0>dS^;%JLYJnY3DhTDRJRI<`7P@6zf9 z+OO3e)T4DL^v$gfKOq&tZzWn<@LY)}kH7eEwx1W_i`FI7cO{wrW&Ri3*OxR=?c*8H9SXL^~b+Eb%P|JX#_qq6PILL5_f|1lm(98-mj>PpIA=)Ilsefm3^k>f3E1 zD!1E3A{q7#wRx!AZud}`+B|vym8sq1ES6oty~HxLgBFWrY73=_Wg$4Vi|Db`Haabq zy=B_$BhmR``%qhm%I)@$NH5oB3sJe<9-?x)O(Y7#YO{-|Ol>1JfLfg>fLj1mZv{?m zCMr|AiP}u``!8qkkz)NM@Fik72%OqfH2f{_S7P}MIJK>)p2#zZ20-O5;MB&VGOd}Z zeMRMZ@V#Q0u#tx-pyz_C0W^#TxRzMf0XGxN)ZSVpmV>}k#WJ=130zyXg>wD@g|G) z)UGoJXc!Oh0b-fjc_m``5cpxSOl?1E^U+~c0eCS$kG%wbRV-5*&;+1*Y70`^&z^<{ z&ll_4?LQiZ+IrN^V}L1u^QjEIEjYFN=znPA!KwX6_0$GjFP7WwK&q#fQ^GpG!HX@a&oj4ny$Iby?D3%w2FBQwn!B>gpHQ+%2Jyrm|UaXG(pbr?w~!({87UWU;MA<#v0G%I!8AmD}w$QFyWKCX%u5x0VR0jx6E% zm{0cjnUgNg0#sJ`s0z$x-IRR`edbqe(vyP&YQeW z6emdNN1v*guw2zXc&CKkYETj!Wo=Z1uFB|0E&yfrP%%Hn_*}&_x#semMO0 zzTPD6O+0xzOsFfNzhBr}Yb)FQxrKy&<1UNdtuw55c}wW+oEpyFJa=TBzl6T}WOE0D ze%B9&O6U`g_NY0P?jJ9d(67syvby`6!mHI1`gd1+mBvgj$UHBh@A>lJjrb3DUO$)6 zR|S2^&n+r1XX9tbZ|^s9z^Xa2zEi?`Na%<2_M1=oQhU@%LO-%+^`@xM!3pCe^mS`` z1$1Bf@#Z24eN5H;s`R>>*)bCO&8rthoc7K8kSC!(ost_9AJA{lAql;|hRWU#FIXFH zO6V(0O{b0QQF`*DguZa?%BF@pPD$!*xBE5U$=Mn8KExS+udjr@IWBNkQuprpUJ`oc zV-M=N27_vYvLM zRB}x2>a>Cm8(EDZmn6a`cUs{3vD1V@uO#$i9_nWIne{`Ql0+fW(W068Zs4 zpC>0}&fV@Rp%3+6y?f;{`B&p5^h>p`FVDC)V)s%B{ei6DEEdzq|LAMhX30Utv;Ry8DgW68audHdoCLq-1@T(2q~wnz=B!;hiR}*uGg# z)ju9FeDAeNQwjYYm#(k0UVn}lB%#k*HoiIKRF@OeCG#ux0PIIe3LT}5{OT1Pt zyptlKPbj-Pe)yToxfK$6`+hk)F0V>yZIaM)`t8UWG-yc;?b`fy>5%GN@qA-Jq?|;; z?XzxlHs`rsQx^$+FVjtr@9*HG*h%Qq6jL)=Q#cPtO6YsNv72(ai(z4agg*3i&Wecx z`vpZx=#8%zN;}`v-%&fXF$MT(tNcu8*w{r91M*=qZ9qwSxKd{PcuyPE97j0gL_`+tM} zgV7*$2K1KHJ zhBwHVzy@yr%VM%Di%gLXhvwVAEV_vPulT;N`Mw;7Jdk@P$NC3)oZm3tqTd zgGGCvJFvR5*u;?K%+e+jklI#EG z{%9dbm1KziCu!uIa-)I*)q zK~{Gnk^2YwsaJP|wbwBM^w+)Bq|;t%>v#U+KV*FIhs>nk_&4T&o(wtom;a4f&}D5G zWfI#ZwF@jyeWt!FVe6}*uUtc4M_-0?(C-AfyMAwdDPp8=4B15A2Gm~P3ADey7wBO9 z5Pb`>PM`EauUenJeb8gkXCmmNKKDRd`aA=D)#o)RG46q$bOU2!V>xkO{CwjeV=fW= zQ$6w~ePwwU7;-#Qo)O{mEO@Zy(MM1JycRZl2kMcidJb-=!b`zlQ?!RLLZO_3O;{tBtu>n8uzcNk`kFf$bJj2c4^qVvK zJlnrJqcR;w_*=&h&fyy_fL?19c&b?522Q^@qk8(?8U5yrn!VZJ^t&@E=YtmlG)yu0 z9HF_-leob90Yl3$a%bme(#IhZ@qgZwZ?J!KCyfN{EAq<2L4Gbe+E~_h&v6h32rWyEx`wiWpD6# zVmSajLM(3p&lSu0;0MI=A#nN~9zAFKw{{}=G2S^Kk})>%-!U6}@PX&>_m9~im1N}R z5(&_y zLPM1VI3MD{7sMv&2)1tRAV^Bm6(lFSSa09%VV#*d+@*ha+Qk=?mC@Nf5sxIkAO&&A%Ha$0 za9w=gE=a;Z&>ZaBoFR^1ma!l^yDg4+d3-@Wjbn)>;--bTX}6uP+*nXi!536k84LDQ z^940~MgJ!Wb8{~_=H(G#Y3VJ;ojZxJtn88F?%h&JwY4ntsmTbUqxrZ`V?kUTUl1RU zYi{n?e``7&Ba{-<){><9dK!+t%WZukqiA@Nl$bcae`?yC{^W}w|`w^W7Ty!j*krd~u=o1l9+$S=!zE70+oC%3L`lqHA_D@Tr=cMnd zq0i>c^!lRNPK9CNr}}Kza0AC&_-~)DDI<)WaeEvS6QB4qiA)mS zWl~HG5hf*la7<1fW0IPB*ElUr(|DWcxpfs(?U6zHp!eQQ5P@H2VIf0Dc@NRH4Bqk9 zBx6B2-dSa(kzfz@aY(L4g<`{Ur<#2>3{UGRQZ4q`!GRM)lPX@ZaI4|-I{&teWF^P$I z4qNH_mJtYr$Xm6>$VYAYqI5T&4^79=)#2V)WV&%s&^%*W1_cK%F%A*mUqOMfps?fqwG%OKBE9lalMxe>=e{EP)#kmr(9j0LIbd|a0y*p9qkRKyqMZ@fFi z$4n+jKoCEIyiLFILYcFPA&8^-BatE4nv6V)@*^XIA;_ZnGRIhun~VIL$H4UwpAuSb ztaOzkRSbBJC;0_Tf-eVzv9Y2uRk(Tc9=qg}M!Vu-W#~`YMQ=QBN7K_U`&m>IKoeF2OU| zjrT~eP4fxmbOHt%Cz=LndZFo6DAE}V3Pfe049X-LMoLs((y%x$;!U6LFJ*FN6<<(~ zc+xZ_5Xhh$q{qmJ%5juk_i;>vAcfq=vuH@GB=?bL8up0ppELx;llv%V8n%>>`=zC% zVQ0HOlHA9$Zivny_fc0iK<*b7l7^yoeK@%v5kVT(XOjCnc94cF=<)m-g1+kIkp5!b z($X~WoTd7ur@wH^FL=|hu<&!gq9RYX;+@mocI{r{R$j5et*R=)ZBI?HTW#%bxB7ZH zAVGs$$hu2zVe3D;ZP>8PEi!VFTU1o8TXghUx3+gf1Us^b=v|{aCufauadCt(+C##fyJQ4(S`V5YgMy?)^){8u%cYR6q!1S=0nJ-|Sg+gujjEtV{+qav$XJ)#(@7Q64vW+3g$>Sj(83~Ga zq1?uMmB%{>LYpjfy|G|JB-$cHxBA!AJn3Is>+N1wH^;rcexiF@8MDHj=2d#l;B{?z zHYkiQh}epyJ7TLWE_k`r80Qhbqyf?d|OHm@|%?^#y%>vpdcv4p;@?JF&6`x>H6Yl5~YEe{l=qoV#D z?cg{4+uFfj`v3jyU=?Z9^(fQG|3mFz{4;{Sxx&ITq^PJrDK7RRr8^&>tQFBH<{GePb0M4r+-8QZLpKsv?;|kF|iZbu_I7BD{H)NHpawCN;V-q{A{p$_tu^j z6)eNb%DLLLwXuH&8rV}2{(}{=(&|bfOV=vftBt2apWpg~)xw9A9y+;e>`3#ww z8arH*OX}*=a6KuMyZR((y%yQ9VTMd(q#cQh;*#i%AtW|7lAynV#Kr9-@$oW@&6_uo zEn5;vLQ)1vPR=1IsYyC$*WtSVOxvCbn>a|Hw#k2Kv;SF}J`n#q{z;pD2W_9wc71x! z!lLY+B_$mVX}jU~+xSvwi;X5hF}UA6ebj|CZKm{!it@v^Fj2a@cN^=Ji|YF}J3xwT z!Lyr-_tjP}Q=34Ftd%J#X>Vt=*#+pURHC*${WiX=3^UM^M2(=}5{;0MMvZl$7d67x zw`gpL`l1mX&D7kuQAIN*R#$UVypiVS&1RZgw#cB)L>dVC4cnsF1bt3rG8Gl!tg31` zgj18=xl>De*DgEQ8@kfFce}vm(37sL>?U1RWgxw0&krK|gSPM5?FVV1B9)q|DwUQd zX-C*;mX<2w$`?tSt^Ie{6|{fDN;5UB2V>hdH_f(Z^nb<9plw@eA`rFR|J(llt@bx< zThlV`KeruD%L_LWloUde%iPFrl%F!hhXh53kd2$;NkWbr$%Re<(_sb)LP&6m8%a&| zAluT1knP(?lC10rB(HD=DJ~Bo6?>vdP0c1!Cpt$W2@1&|p)qbKhtMX6jzvnKbHf~$ zUL<_OND{qy21!T_A=@h5kUzah4a$63%%2^!&XKW1b{7Fz~2nkDf zgV7X1s-cr6F(fG7jchIoA;qFFIV33DjYMRGknJ^Yq*fGWAPL$MLJ~^cNaM=)}7vKhI>z9@fd z7&N|0q=gX_;UlwteIsMTh9(C3IvG(>pBT~6EsTvDA2DKL0vWNw2*fv=u|3yUCNHms zk&pC9`$PVkZ6$>=*AMmOP@N4M1Uj%?b)urS>qJNI)7`kSSSKcCrA~hS8l5(~(n%*a z))3*R7zPFPG!zJUhQY!83`5opHVh53H4G0QV;B)JUm-U3A#2m7-?r5LtNq`40+`hU zr4;&Akv8P$oLT6v2tuC3biG7?{Edl>Fgg-ULdZJg5)KK)^v|j!jD(YjZ;oT)D7w<) zC})d~>;w;Lok}}w5?ruD*tJ5{(Iwl_b)w8yye4$Y%6H^FyfFTq@&73D=J>CbE7ka4;Qzwf3Qv(gk)MeN`2thS6O%j+ zAOp!D{CoTZ8BB&?E`gy$iZKjrs1al&5zU%T#=`4`G((1wPGlK!j1WB8CR41LCU zgzw7e#^}!IAqv~}oO^yFR}%wbI|0aLfr@O*|D!<=Cu zI>wS=#js}BFl-ri4Et}+;sBok%^-*VNz9@B5*(k2i3UyjlDahHsrE8_>mZ!lvB z!<#Ym4`P~5hB1aSMu^|7Bke$*da`M2Xgnla{^bB+DW$A5peUvH(8aSWe7 zI9pq5VmxC4VWKrl8GDXCF$s{rvo^1W##a1-&E4w1mE+n(QhMkQ&_GiptP?rvK z8S@y6F|i#z=KH&n+zP-^3xI`;K*l1*VjQuAv6QilvHa_KC9nH?+kZ8seIIVcH)-Yj zJ^xc%E5$Kb^}imIfBcSD|BuCa%|DzTelMN;o_+~DH7_G;8JLnEo~TxmRY<%4$oglk zCu;don~w`?P8C+28n^;%Ed{Z))o%5D%iAn4rpN}Pq5uE93K+qncND^)>$<=FeM!EX zfA!hu{moDJ&(g=gy8p?Stu1B)-XHeyO{jJmuyUVDiQu@};fZQ3TikNSx5^CIc$%}c zW5}bNgZr&w9^IR;IxqB#+tSneev?0@&mJjv-1Y3mN6u%C^qeRB#5LC&n&UOnJG-mb z(jOO$H-6&VkUlDk zC+Zr#KDPPdCPqo0yWP$Cvz?688G3OiTpMNvy&jSt)-|JxO^E?Fb7xjU+JU-{JD5IU zJp{e%6MN6TJ#5AMt7bc9Z#%ldZl3<;kX1=OLl5T#U7hv*`0MAd4oWNPe|ctluRQzh z@Loyg!;dIGKEt`mSD)S2Yv-A-;W>7yo{LWRcqg)ekJ z1kCC|!g7baQ{Qmr{h+{eyO({Ow_{_Df$8X%Cd;y0QqHq=yAuTa=%~^{P0ZTNVzrXbIEjxB%C#!R7S8E%`c3$3cD`wTo zu4}i}v@oV9FSlNByX*48je>s8%~!k+Ul=2ooUri3=BmBx>Ux#kbr~9(O_y7AG%_(8%Adz4eChirLhk*1Y~<)U92zMUOYV z?dAC4szS>Qtyf9IhQ}@JUez*a;<&{A52}q0+Kty(_T=fjM}?z@PwX|ARZ}!1d3J2% zQNMogX0yD1`g}p>r@~O_qIBCcx3kVYs7aMhsWeNM|7 z!8b;vn|v6q{Jboj{YmNetVFk!PcO?q;d&1`(Rgs%(DQfI4yh!0DBSTmb$ZP$rc-@a zoyw}FvssfHR~^xN(z*Zj3oqZ_nCN{(_HjqD@#4JJ>X~o)S+Y-DZ0gmo?^V+S>dg+D zW0OyIymRJ2jN#i^p3}=?GzU+bfB5>lPdiHs?hSP@*pqYWkw?PQ8dkrAeKZv6OEuczgb_ic0$Ec@buNr_A$suzT>Z zFNzDIvXZQ~WsQ2&Jy|x>aYcRd^Xxk^1dX72KUPKU?8Eb7?YbBw>UyzIjLpAu?0!xoUot?|v47C*}{ z2ecNSn3poXLC3j1j@MWc`DFdFi%I1#m?>jERe7;*XunViIl5r5mdW+d8QX&@19sO> z+1YJ!Wp#XHyML^h zvSM4#rO)b4k7{L4AF@4UC1eSgAMW3zx_sEih~ds!E7J{k31dE7sgvq5p`>-_I*((j zxzhJGc<)H(TWw#X#ClaBwO7XJxY>_38yu%5H0n(Cxw!3O+)ss%#_T$xKU3fIvHQv| zwhoVH8&!Ue3N5vq!Ts_u-F{+m)`5;TTMoYIy<|zteCAJw9t1x8(X_Svxp(pBt7FZ& zubq2UMcLf>Vf=!)>kT^s_1?xz&+GVU-oW9TU6d|%>A!IHzBpM`ojT2vylWTwD30;( zAN{=7y4gy#Q^rrUd0dq@c#-Gr;&tPL)t_sd-&tT=$?rU1pW(1W2J@e(WZXM@%dYQW zch;oa!Ea{NbTbI-{>Y`At8%fV_iDwDtBX6>^ifZEb9=-h*H1m(DLZ#k+jfdGJwYz% z%8C6K&Byld+9mEvrH!l0gHa<5-ffCa-(9!CaH@m#l7 z$gi~1*0iVrYbwS}-hR{X=7FazmOtB{`Z9HRmQl;SiZfbEm9}Y}oqyG%t7YZ(1$*oc zbI$iTegEp@VS#}~hAQ!qEo)^M*SCxtw|h*W^Ufk(2xri;B_6xi%8g*Qym{0`_wv5R z3TIz~YX&MSv#)eew^MN%TTuDx^p{2G4qhGnDFKB&# zuiA5O)uYjud^(POyY&@8%A0ZXM^)=>E!<}@;&6T; zGp6>qH7BCfH?X>X&d74NSLf0n+VRrW{T6p$pyzfY|J}d?$16r>ogK9B#;pB|XVvPP z3zjIpiF$u5T|;%ilPLKfPIfU*qP?7qPPP`=Seqwiex!+p$>?ymO?B)1oiu z40!IR`m>(Smu%nxw3y|Lx! zaSsdMQI8&9u9BK!UU;>W_7krSE~kbY?y1cgZaY82y@y)<_9=!(2l`Fle_??zzV_7Y zFL6Vk%*hMlJFnFIsy& z864R=b;~g+>*1V?RmWysUfF%LpO>XSe^<`!kC;nZWESY*5-%Zx!BxaGwrl} zeU3@#iES%y=TzziALw=Yl%A21lIhfmRbE^+`AuA~ZeWk5 zTW%h4`b!rdR%R`@+&V_(-bAh2wM9ObCzd&E;m3w75pG#G+-|l_^S<>l*%6l_I_9SM z33A3SO^q&biZ@If>ZEk&$)VLZ8!wsu%(!}CwY7B6TbbNE{U9r`Wt$7zua=32I$2y%TyWeS*{pEs*Q*yW=GJQJd zD(>!hZ{p{@o$k-{v3C2i{o}a+z1hvlrq9X4XE@^Qt) zF(XVTuUR}umZQ)yIFco|?j!efze7Lxn@q~7wCu6=W6zB9VOnPKR~Lo^oXk6VWoY*i z%yADd%50iusFZPkN6CY#564@&$9C)SI>>C58q3#pVxBfPli%4W$a%8D)H>geMlYM} z*CgcZsb2eNJxAJwijihgAuDN!<`&rd3=WY!Rj(pH7lXaZ6c)&iR z9%+2fY>N+}xjIi1-zORT!1?jjl6^(C{j_G>TY6`;#ripE_7%m<egE$4aSpGPJoZ+_zD??4v9*`Ov@K)a#Gc@u`CwR( zp)^wZs=2Pw_!F+n$hyMKmMN92KJz}VQ#ikHZ|qxE%ZKFwn-{WVgY_%t%*r`$S$NbZ z;@s`TpO=?MRL%M6p3E>#@a8EDt38^m<0s>w{p<0iANRkzw=6`V_NhN>W8>%f`x1vP-u6M}mH9K-8Qll< z)I1-&IIhuN&3*BXmAA|8?9Lyr%XP|}*uza-bECudR6$d}GQ*diKXfUuY3+JuPQGPK zx4oQRzup^U3`|NTXH9+ zBwl^5+DgND)PCko}lD0S2bc^FechMd zW!U=0tE%wfwB*iub9^&1Z*_Tfu-_Ub&B8*XKnS4!hB(zOI*ItF>m+ zJkRZ8ytl_(*L%Fu`?R+HfTMDA?|W5z-t$VQUh3iV>rI@@xdAgDuGP7)JI$|U-MP7s zb2Bu@ehB`_A!xh%ps5%8u{+pK$sbl8sokRkx2{Wrc7fxkq$ix~gNK|on{&c)S`VAK z){iobTDL7;Gikx3IjbCMI>(vJ3X5U+S0^k#`}310z3X-ratdDGIG|W*bhV;%ooYv; zxG!}+R}Y=L*txq<7%T8`Dn31FP5*bxbvJd^-W+8*UU>elS?Pl8AoGzq)vXh^EMI)F zw4v$U(WM4%eWt%Vps&)qHYKco?e4GxUT5bW**X1=!(mtXM;kp7WOa)l^o^X{Jb&qv z368c*mQ%@sd7YX(mMQ<7-+HJ-pm);w=rU%*g8J_I3A1HxRvhSbdXCDL_`#c-n9iA< zWo9(qX;?C?%h8Xz!-h^=aM5Umf0&Eq@+kYoi7W0+8?a2L@XD~3_kpVvxXsMUUWaO( z4E(d%BNmT4V$9RLac>kmpxODz7oVoj(!;|qMD)0uCHG@}f$eO+4?U-CSZv+p!J{iH z>KW`ehkP3AcON~tKb?JQ){1LW^RKe)L!CZWoVVFHt;(}L^f>c%#0j%uGWXnPjEZ_A zh~sh{O^hBsIB({*azfGFc@yvU+sppYV%Ntiq1PveA^ah|n%A8t^4UkUZZ$I#%T8Op z8pW1BW8dsHVbcA^6}La>^ea-H&)IjRep2t1(z!M3SC7nAwcnaFYpCDnbL)3K?bS6p zf_2bw@U@&#+*MK9aosuNK6G3rHO-@+!v39Q6DDk|?3`ye<=tM5X{j$VYYb;Ec*!$4 z%3Sj1Vo_SS`LbAqVU7X!-pLlyZ+T; z%?^6qL$*zRyKHV$(fj9q_fNm<-D%*_`>I{job)QJR=PV#t?_^Ste|K~!KX7*{NpZ9 z_;`BB)rI=m%eLFjIC4bienD{3n$Wi|qqzsngXX9?S1bwqWO5^U`=F+rt!o}G{h?Gn zeQt)wkC8G(4g*d3o#OA^-!_Qt@Y*e_hq}nRtiF?^TXOwi)qSC}!Pvw({aUjIf0oI9SmLpE%)Fu< z>q1tl^%-$vd}rQDmCq`@-)xw`=6T2lFWfxxy$pAa|8J`-bI}-TpPMca}&W z?L546`K0%5+Sj(8j*{J9%q`X0t+h^f>h%{xuHSgdf8^E8Fx)Dt_0dDkh?*DY-yFE4 z;^|!xI#*%Ikih)@tJPU&hljdO8GGpAOdX+-vNM_VK68)G8m6N3)X6a;wK}CAez4Ee zbn$YxOLos+on4wd|288$x@z9^nPG#LnR8mJ#(W9df1}SjybyIRE-} z53jJ1%g6iu96crFqtiJX#~EF_zKv>}%Ua_%J#|g`^t)EitRI!^@Tj>MS66xG>dk^} zdS~{RznXn)2)~!E&#++`_r@wOS{%(jvuV|(Eyvc{4qtWR>dvsh_pQ@a>kgiAub!Sf zvqM06_niwa4E$kV@iz8PZhb~hyM0f~RDDdhLQmD2!(&1Yv+oAgEq#|Cv-ZUfgM~?- zy>FMMPB`J2>ymP>wDSV?)MYluItllFp1Q8l|BFchd+WppuKC_G#@oDky(MALleLB$ zT;F+VS!!6~cYf*755Dp5E>9nND6gYi%y#LwIZrwDLl0&)4}F|qs2Ox?`P=S> zU3{z`m)}=xC>=YXb9F0oSAMTC({AMUwT^6zmbr2J;>{H&62=W*WcOlXU`od5H4Q!X zncA|2HvekB*}r_e5Ffe-MQ3S~exDLi$nW=md-?D8{Cexpj{o*t|Ksv}lSL*G?#oRQ z-BaB$4U_vFlZPe+?yV;Cc!9iSyuI%D7tPcF9^8+*pK`yBE&LO0T4h>is^Vcmr`;wi z`9XXgk5Im$hp`6{T6sL>BS!vx~e(q9f?uFFcO9wrMYOWm7$Kx(#Pr#}3nK^DU+YqHwYv2_9^Z6psU@m&{L? z-Z4L8`q2EjsjP)6-_XLAKhk0_e*%BC#SDJ9#TZ8OpCh|Orb3pUg2_S<;dVXkRwC)+%0Yuhr5!+4eib9Mb-R?j`L;>Ve6g0&F7k~F~4g1()^a`JM%EpMDujha?!nx<4yni1nKqT+`D;H zyASm6wRvW1Z*$!ClKU)=F*Xlv`|*86@uOiR7k<*$Rq$16)8W5tXxfovhJU8oRx^PS z{s(VgdkK08jFZ~dUP--v*+X@0dk~h|sfW8!*x` z(30i&HH`=nydCXFe!ER&x(KZ-XITF1k!We?nP(aBC&%ks86z6HZBY@*e~r=vtNvE= z>6Vb5QhZ$@xNxYISl7OPM@^Rv)caT79t+Sjmc} zI1aZ`keurHyX*aW!&sC8+EPK=8}5tr@a?;9PaTy160Wbn6kDr6g&U= z3cneSUbUw&5%vWv0Y|{ySQJz^xQ+kbaeqlKCHTfWtZ)?0J`o_oU!Irby;%r)<9YV_ z=AM5E@y|(Scq67bC(YI7qIYF1NHodhXP6Z6vrTsK3rs5cC#-#J51BOaPnlfdUpINo zZ#KEfzhrWc|J-_w?K|sGTOD2xv(CKUW->PMw%vFpW_+HbnKy5|nJ>@ZY$R{8*;HPD z*(}~-vl3p7nSxES?H=ASvxB^IW+!yLnerGxJWSea$Uw4%xcdoV6WbbJ=#N%`Mv@rjyJ^m`*dFXgc5grF*bP zqD@b`rKS<)0@FBi;<3qNn~kwumW{bxp^cqgtZ9aMvT3P#vFRc6Jk!1APfUr$M^hDx zH>PZhG8*hFNRauC-RSt+)Qc zcC&Ri+i2^Kw%e^uZBwj!+a9(aVO#F*?m>8pW=~B%@UK|UvTe4WV*AK?sqJm+0NbCe zqii?v(#*1WJIx-tFY~Z8^)Sb{qpglju5DkNI$Hyq3fuKI+IDkoKHE;Wd274UhHbaV zM%pgehHH1*em1?@{Wp(KFjK!L!(Nn`ecmre{abDu*Ku`y84aX!r_` zT8~HeAM9VykA$)G^)&Y!>^0qMl-E43iC#;*4tN~#sQ0|!+2DD@^OWZUPj}Bjp4yH) z$1aZ6j)soTj;B1%d1yQE9J)AII~Y1RI}Gz2ufOp<}FLF2X!OD{3b81pvz&R(S?{uJKCn3iI0Lwb3iv>#4^pk7u58 zUhh1Wy?*x8^!nh@*=>_$cek#dz1=b`d2ahHE!{3#+PejKy1LQp2_14B*12qV+2~T} zvel)+<&ym^`zGgS&R3j2INx)Ya(U$N!eO7w4VPmsk6g~VymDbVa2ym}db?=4n7edw zadg?|c*OCuO9xju*Y2(y*S@Yn4iOHXF4J9xxdgb3cUj>QYPr@j)*;ezD`Ly>EOmHm z@!aCB#WUAd3nFM{;8Sx!j>RR1G|OAqZ|nKNfnoW^Rmt*`tBz%iU4mVjUAbk6C2_ph zkH)pelH+JgcJ**-sX2FR@=O;_K`q+pph#WpT*% z&EMd{Z**;;g+lur`(pd@wsTS4pPz-a#Yl86A8nnB znDFc2!dtk;Bj5$_0l>%nLKeUQw1F;wA;1HyopGGd8ImX9O}E+?;TY#h(9LuX0A1!B z1RCKS3%b===-eLY54f=X$zKx1HP^Y+xypH8+mXT};7iq76`R%4)kZ6~$lYWaX&PxN zuzl6tVX<6%raKE(rM**)q@&k?4`;f zs#4z&{c?37@}CB zbdl3d#g4gF-jChLPE>GG@lo;TMsoes@2bC6H_;f*T+11veq6moL5sPRIfEU}F2P+K zR6eep8o911`Om#DsiISa?in53DK$RR71C9dMPNRe=tyrc$gIT~fQNF1*L!nZ^ zP02*1MqP{bg_X!|R@77SReG)Dp;DtVn)_Z=T5YuYMfDKYKxJw9MrD7MaMiu)1scs7 zR!RoS2f3A;gPeyPEtPa-KQ%L^k*Y3Bfu*2er1+XMoGq>VT=AjWL)8NHZfXV!;Y=TS znyyMfZz@vhJyTERu8If8k28a_lGCc*!kN#dzQza{u15DW)y>o?CuE4maE;L#H5x|h zjq0PBE15COfvnN2MAkt08S?Yx3*;;1;As_SW3X{0E0*1C(>A?|W_nVHOi%t&S>(}U%QI9SPh$ot8c$nTYxW~;D` z*mmr03PuV(3M&-~6b>qsAx@2m6;shy(O)r8F-7sFqKcB5l7Ui=QYGGukMeNDG6eBd z((9o^@9W>Sw937flV*BodN4;beVBesf98C=u|Q^-tdC|4GoG2qEMpGRtdvb> z?q!bBJk7kwv|`?5-esCS@=SR(c`bQ8c>{SPc{6!Cc_*wM@C(5VDr_0C7=g4Qu*T^r@yeNNF{;vFU`S3`}8qB zW`3rkG;_fgBQqNnWszM4RMb&X$x?AcMAT7nEse|!jchbZ+KjBsiVThXpL5@P%p#lC z=kxu3|G)0>%)RH_bI(0@zwbVL*V)%O(0L*=#Cc<{jlIsx9&moZ`7=pfuhqWe;KtoA zBs1Wy-CXA)=XK6kB$p){oVWJc`E^3#DT*kOeaXH*;y30hDCtR*dX1UCF$#t3I^0Q=x%Q~00dYy8)<#N&G zmgKU_P04l1afg!*BG)S}TV)fa*cW|W`?`j@Hue%pN4Tn8N4t)5z1-^w*9TlDx;jXw zxIX7P-F1%ZcfGP)oux&t*Lp2=b(gMl-3q<;fa|Zl7WKN>>!K^=d)f7>>u0VvU7g+h z+}z!~+ydP~-6XyaZZU2n+`Ob?+(x@O`KsNfySe*%`_6F7g&sfO%~x9Jwi@o!-Qbqg ztJ+QOd)O`1_Z-|z@UvSVUk7(*_x`?vd?Vb4xcf4*Aufy&--}`+Z@{N%8m0our>-&iBUvq%ZnD;W5MaHQzZNOFiPHt3B3vZ170)%>+2$@qjef_l(CmkB6iSeXn|qmfrHX z4p&Go_YIVdk@l6TW%06c()GS?`aU7u;`@ZG(szn%28_quz9!!y*&*K*viEyEEv=MQ z%ce;8%G6HBec$mt*Xv_w?~AgZy`Gagc#1roJx9>)o?f25o`IgHef>N`J%@P4ct&`R z@Eqeg#Z&G1fagP=qdm{U4FuIh6(i^=sm<+$;5b1@t)y5%X_+a zmUpgq2(#3CsdTk>1hYbV&ilC274Lq`z07LqI;odW46{M1W%|NAqxKoeJmj-U`h?FE zpXolce6~tQF@-*xe5!parPb2CKBJkv(nlFR^AvN@=YaI8&vl=hKB8XEy}Wu&W&Vme zNC!$D=M)8T{si!6173ogrI3Yw4fu$cg~(z3BjA681h^pb3*Su#|5Gl^^DY7XE18NaaStOPA(tl0#5EUCszpcLOZ#|KqI0X&3aT3(1_^XWj(4GXhd|USdS_J zn!Vr3V&78WA)@2+T?RBFx-+atl>&`8fuqr14m2XVbF4?fhieETS(z5z+Db%78{h*T8zzTA&d#IU4L7qe*MLSu z$J_i9(1_Og{tPstb-up<-2!Nx@2@~3qFcx1eH~~-bnkGy-+&Ip46Ww1AfOS^&Ew=k zfL7bd4FehxUEfI7j{$nPom?!?i0G0zefI&4h^`Npb_CE`z!5wRz7FU(B4-&3@jxS@ zi{#SXv9D+U-XlJM)c=+=>H37!~l+m{urPU z@t#K1kN%@TBM#zt=syPZI6yVWLthUx;=LRX{U?A%9L(|1e-dcK(Qjf7tUn%TL~DH$ zfJS_XlS6+Z(1_8TKJ+I6jo62iLw_>RhzT4I{i#4B4&>6Jp8_;ue~yR#G@uc!(>@0@ z;&l~kGy2a1ji}@DKz};Wh}Qa2fktfO(xU$|(1?Axe9@l?G-4#jLq82@#LHY-^wWVx z?9Iucp9M6cH7^%v#7NFQ^z(p5w3f>U8u0+95B&n53jrfI9{LM`Ml^9e^p^mQ7|!v~ zF9RCUhsziJwLl|!ay;}$idcMs(~@6U-+?aTcq2Go3DD&nFNou90D7w(ZyV5v z7r1&sA1@EB1iZ-c(60jeDBvZIhyF335t}$3`p1DjWheI@(1=GkIrL8h{XXDPj)(pk zpb^o*m(Pj&0BFQxoE-Y~KqH>yc<46(jabj|(EkW%#CJI!`saa0{Eg$G|1r>40j=Be zN1ze6aB}Eh0~&EB$3y=opb;HdbBX^m(1;5;IrM)48WG)F93St5L|o6&=wAo=HzH@5 zCtHC=MAyp6-T?Zhom?Bxw>UX|{eX|!Q2ZT}kFY8z58w?1L>EMUVLuJ@XuwOHe)Jy! z`e{Jx@{R{O1JJsz3V=Rr$2$TvB06{0qmBaozMb3|pb@We`J(>;&;uoy$WjNln!|zF1gIEN9bn&jkuKKp`Qsf;u?;JeiqOR0M~Ln^s|9REaQ0S=KziP z2FF7`7ih$b91s0Gpb?Mdvt>Zvpkz^8!1B;f10Len@To;~#1DXdJD_#luLc_NZLXft zUkfxMI^E}Nnb!k-i|{P%1|J`y902*cL!SoP9S|K~haN!t*vTjU&a zJGm&JhuFyt1$u;?oEGSjc5)8_{ji-}63~d&~I%RtWre2n9v|0>Y40H5V} z=)VTE0Wh88p+6hwIe;&5JoM)Rod!6MDv*{q4b4`>r0I^LH3Kp)_Ed$_)T5NJen*E!xHpb;;A zaqAZH(LW9}qIDkc0DTG&9lx%;2Q(r&Uf%~m*8^JD)yF`aIXT|G3qW7wcxyOYE&<&H zXr1;epb@RtsBeI721Li}`xfXc9Iu$u_Z`rP==ingXP^4hd7?ia z=;@psH|(N%H0Z9pTUtKoRtfks4knB(mL8WA0@ zZzs@*=ziejs(?mB_Yue21vDbMD;%#HXhd}DxxMRdp!X7Y<)<)I%8qhuHvDVDvh4(P`Lt@pN+81D20MAwJ>f)Dg)z>m4HiaviQsI?q_H>kB7 ze@7+CY4Hafe^=!ZP9OSs2jXEsbV1}7i7Er-}=t4NT5TNl6xKBBKtPi*4 zG^H!rLrn##|2y;M*@Q-y`DmliIhsYQ!iFD+h7Q$?V|8Ff@93U}^IgKtpl zg}Zj82&=0fhHp@pifU?VoA&H62>0&I7w+3fQznoXP_#N7d@(%Vq!&q=ir1Bi*H_Z; zompIkvYXP2MoNm8YpE40Y07A1s8#E<@aG{kRSxk^m{*QKoSUnq^70rezd%bBE@Y@h zMOyeyIjt_KWoWo(OMMt*ohgP+Pp8!xnGBtkMXMKNGc=S*P0|+8bnzA~wY8F_ckb3w zH6RbSSU9EU(k^*M+G!QgZfGabPrEEyL^~~BNxK+V(@tx)&@NlI(N5cU(k@k1w9~F# zv`h7F+NowQ?Xu5AJMD+GVv45I-=x(WchYoKm6qBCJox%2ot{rS6>Oo^TdQe$cMSvI z{$=R>`?VC_2Lkm-rYCh zU(itn3+b3ei?r0@A{yF2OO-6AqgJfYQY+u2sg0EkwUaBKE1y0~OD$MHQ`rl((2r

a^Gmy9&E3fo~9 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 DV1hx? literal 0 HcmV?d00001 diff --git a/Makefile b/Makefile new file mode 100644 index 000000000..ab270d4c1 --- /dev/null +++ b/Makefile @@ -0,0 +1,156 @@ +DIST := dist +IMPORT := git.kolaente.de/konrad/list + +SED_INPLACE := sed -i + +ifeq ($(OS), Windows_NT) + EXECUTABLE := Library.exe +else + EXECUTABLE := Library + UNAME_S := $(shell uname -s) + ifeq ($(UNAME_S),Darwin) + SED_INPLACE := sed -i '' + endif +endif + +GOFILES := $(shell find . -name "*.go" -type f ! -path "./vendor/*" ! -path "*/bindata.go") +GOFMT ?= gofmt -s + +GOFLAGS := -i -v +EXTRA_GOFLAGS ?= + +LDFLAGS := -X "main.Version=$(shell git describe --tags --always | sed 's/-/+/' | sed 's/^v//')" -X "main.Tags=$(TAGS)" + +PACKAGES ?= $(filter-out git.kolaente.de/konrad/list/integrations,$(shell go list ./... | grep -v /vendor/)) +SOURCES ?= $(shell find . -name "*.go" -type f) + +TAGS ?= + +TMPDIR := $(shell mktemp -d 2>/dev/null || mktemp -d -t 'kasino-temp') + +ifeq ($(OS), Windows_NT) + EXECUTABLE := Library.exe +else + EXECUTABLE := Library +endif + +ifneq ($(DRONE_TAG),) + VERSION ?= $(subst v,,$(DRONE_TAG)) +else + ifneq ($(DRONE_BRANCH),) + VERSION ?= $(subst release/v,,$(DRONE_BRANCH)) + else + VERSION ?= master + endif +endif + +.PHONY: all +all: build + +.PHONY: clean +clean: + go clean -i ./... + rm -rf $(EXECUTABLE) $(DIST) $(BINDATA) + +.PHONY: test +test: + go test -cover $(PACKAGES) + +required-gofmt-version: + @go version | grep -q '\(1.7\|1.8\|1.9\|1.10\)' || { echo "We require go version 1.7, 1.8, 1.9 or 1.10 to format code" >&2 && exit 1; } + +.PHONY: lint +lint: + @hash golint > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ + go get -u github.com/golang/lint/golint; \ + fi + for PKG in $(PACKAGES); do golint -set_exit_status $$PKG || exit 1; done; + +.PHONY: fmt +fmt: required-gofmt-version + $(GOFMT) -w $(GOFILES) + +.PHONY: fmt-check +fmt-check: required-gofmt-version + # get all go files and run go fmt on them + @diff=$$($(GOFMT) -d $(GOFILES)); \ + if [ -n "$$diff" ]; then \ + echo "Please run 'make fmt' and commit the result:"; \ + echo "$${diff}"; \ + exit 1; \ + fi; + +.PHONY: install +install: $(wildcard *.go) + go install -v -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' + +.PHONY: build +build: $(EXECUTABLE) + +$(EXECUTABLE): $(SOURCES) + go build $(GOFLAGS) $(EXTRA_GOFLAGS) -tags '$(TAGS)' -ldflags '-s -w $(LDFLAGS)' -o $@ + +.PHONY: release +release: release-dirs release-windows release-linux release-darwin release-frontend release-copy release-check release-os-package + +.PHONY: release-dirs +release-dirs: + mkdir -p $(DIST)/binaries $(DIST)/release $(DIST)/zip + +.PHONY: release-frontend +release-frontend: + mv frontend/siteconfig.json frontend/siteconfig.json.old; \ + echo '{"API_URL": "/api/v1/"}' > frontend/siteconfig.json; \ + npm --prefix frontend run build; \ + rm frontend/dist/siteconfig.json; \ + mv frontend/siteconfig.json.old frontend/siteconfig.json; + +.PHONY: release-windows +release-windows: + @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ + go get -u github.com/karalabe/xgo; \ + fi + xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'windows/*' -out Library-$(VERSION) . +ifeq ($(CI),drone) + mv /build/* $(DIST)/binaries +endif + +.PHONY: release-linux +release-linux: + @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ + go get -u github.com/karalabe/xgo; \ + fi + xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '-linkmode external -extldflags "-static" $(LDFLAGS)' -targets 'linux/*' -out Library-$(VERSION) . +ifeq ($(CI),drone) + mv /build/* $(DIST)/binaries +endif + +.PHONY: release-darwin +release-darwin: + @hash xgo > /dev/null 2>&1; if [ $$? -ne 0 ]; then \ + go get -u github.com/karalabe/xgo; \ + fi + xgo -dest $(DIST)/binaries -tags 'netgo $(TAGS)' -ldflags '$(LDFLAGS)' -targets 'darwin/*' -out Library-$(VERSION) . +ifeq ($(CI),drone) + mv /build/* $(DIST)/binaries +endif + +.PHONY: release-copy +release-copy: + $(foreach file,$(wildcard $(DIST)/binaries/$(EXECUTABLE)-*),cp $(file) $(DIST)/release/$(notdir $(file));) + mkdir $(DIST)/release/frontend + cp frontend/dist $(DIST)/release/frontend/ -R + +.PHONY: release-check +release-check: + cd $(DIST)/release; $(foreach file,$(wildcard $(DIST)/release/$(EXECUTABLE)-*),sha256sum $(notdir $(file)) > $(notdir $(file)).sha256;) + + +.PHONY: release-os-package +release-os-package: + $(foreach file,$(filter-out %.sha256,$(wildcard $(DIST)/release/$(EXECUTABLE)-*)),mkdir $(file)-full;mv $(file) $(file)-full/; mv $(file).sha256 $(file)-full/; cp config.ini.sample $(file)-full/config.ini; cp $(DIST)/release/frontend $(file)-full/ -R; cp LICENSE $(file)-full/; ) + rm $(DIST)/release/frontend -rf + +.PHONY: release-zip +release-zip: + $(foreach file,$(wildcard $(DIST)/release/$(EXECUTABLE)-*),cd $(file); zip -r ../../zip/$(shell basename $(file)).zip *; cd ../../../; ) \ No newline at end of file diff --git a/config.ini.sample b/config.ini.sample new file mode 100644 index 000000000..2f8dfd556 --- /dev/null +++ b/config.ini.sample @@ -0,0 +1,14 @@ +[General] +JWTSecret = blablaGEHEMIN§)!§ +; The interface on which to run the webserver +Interface = :8080 + +[Database] +Type = mysql +User = root +Password = supersecret +Host = 127.0.0.1 +Database = library +ShowQueries = false +; When using sqlite, this is the path where to store the data +; Path = ./library.db \ No newline at end of file diff --git a/main.go b/main.go new file mode 100644 index 000000000..0c243632d --- /dev/null +++ b/main.go @@ -0,0 +1,63 @@ +package main + +import ( + "git.kolaente.de/konrad/list/models" + "git.kolaente.de/konrad/list/routes" + + "context" + "fmt" + "os" + "os/signal" + "time" +) + +// UserLogin Object to recive user credentials in JSON format +type UserLogin struct { + Username string `json:"username" form:"username"` + Password string `json:"password" form:"password"` +} + +// Version sets the version to be printed to the user. Gets overwritten by "make release" or "make build" with last git commit or tag. +var Version = "1.0" + +func main() { + + // Init Config + err := models.SetConfig() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + // Set Engine + err = models.SetEngine() + if err != nil { + fmt.Println(err) + os.Exit(1) + } + + // Version notification + fmt.Println("Library version", Version) + + // Start the webserver + e := routes.NewEcho() + routes.RegisterRoutes(e) + // Start server + go func() { + if err := e.Start(models.Config.Interface); err != nil { + e.Logger.Info("shutting down the server") + } + }() + + // Wait for interrupt signal to gracefully shutdown the server with + // a timeout of 10 seconds. + quit := make(chan os.Signal) + signal.Notify(quit, os.Interrupt) + <-quit + ctx, cancel := context.WithTimeout(context.Background(), 10*time.Second) + defer cancel() + fmt.Println("Shutting down...") + if err := e.Shutdown(ctx); err != nil { + e.Logger.Fatal(err) + } +} diff --git a/models/config.go b/models/config.go new file mode 100644 index 000000000..e2f997f3c --- /dev/null +++ b/models/config.go @@ -0,0 +1,57 @@ +package models + +import ( + "github.com/go-ini/ini" + "os" +) + +// ConfigStruct holds the config struct +type ConfigStruct struct { + Database struct { + Type string + Host string + User string + Password string + Database string + Path string + ShowQueries bool + } + + JWTLoginSecret []byte + Interface string +} + +// Config holds the configuration for the program +var Config = new(ConfigStruct) + +// SetConfig initianlises the config and publishes it for other functions to use +func SetConfig() (err error) { + + // File Checks + if _, err := os.Stat("config.ini"); os.IsNotExist(err) { + return err + } + + // Load the config + cfg, err := ini.Load("config.ini") + if err != nil { + return err + } + + // Map the config to our struct + err = cfg.MapTo(Config) + if err != nil { + return err + } + + // Set default value for interface to listen on + Config.Interface = cfg.Section("General").Key("Interface").String() + if Config.Interface == "" { + Config.Interface = ":8080" + } + + // JWT secret + Config.JWTLoginSecret = []byte(cfg.Section("General").Key("JWTSecret").String()) + + return nil +} diff --git a/models/config_test.go b/models/config_test.go new file mode 100644 index 000000000..000253e3d --- /dev/null +++ b/models/config_test.go @@ -0,0 +1,61 @@ +package models + +import ( + "github.com/stretchr/testify/assert" + "io/ioutil" + "os" + "testing" +) + +func TestSetConfig(t *testing.T) { + // Create test database + assert.NoError(t, PrepareTestDatabase()) + + // This should fail as it is looking for a nonexistent config + err := SetConfig() + assert.Error(t, err) + + // Write an invalid config + configString := `[General +JWTSecret = Supersecret +Interface = ; This should make it automatically to :8080 + +[Database +Type = sqlite +Path = ./library.db` + err = ioutil.WriteFile("config.ini", []byte(configString), 0644) + assert.NoError(t, err) + + // Test setConfig (should fail as we're trying to parse an invalid config) + err = SetConfig() + assert.Error(t, err) + + // Delete the invalid file + err = os.Remove("config.ini") + assert.NoError(t, err) + + // Write a fake config + configString = `[General] +JWTSecret = Supersecret +Interface = ; This should make it automatically to :8080 + +[Database] +Type = sqlite +Path = ./library.db` + err = ioutil.WriteFile("config.ini", []byte(configString), 0644) + assert.NoError(t, err) + + // Test setConfig + err = SetConfig() + assert.NoError(t, err) + + // Check for the values + assert.Equal(t, []byte("Supersecret"), Config.JWTLoginSecret) + assert.Equal(t, string(":8080"), Config.Interface) + assert.Equal(t, string("sqlite"), Config.Database.Type) + assert.Equal(t, string("./library.db"), Config.Database.Path) + + // Remove the dummy config + err = os.Remove("config.ini") + assert.NoError(t, err) +} diff --git a/models/error.go b/models/error.go new file mode 100644 index 000000000..768d68ae4 --- /dev/null +++ b/models/error.go @@ -0,0 +1,177 @@ +package models + +import "fmt" + +// ===================== +// User Operation Errors +// ===================== + +// ErrUsernameExists represents a "UsernameAlreadyExists" kind of error. +type ErrUsernameExists struct { + UserID int64 + Username string +} + +// IsErrUsernameExists checks if an error is a ErrUsernameExists. +func IsErrUsernameExists(err error) bool { + _, ok := err.(ErrUsernameExists) + return ok +} + +func (err ErrUsernameExists) Error() string { + return fmt.Sprintf("a user with this username does already exist [user id: %d, username: %s]", err.UserID, err.Username) +} + +// ErrUserEmailExists represents a "UserEmailExists" kind of error. +type ErrUserEmailExists struct { + UserID int64 + Email string +} + +// IsErrUserEmailExists checks if an error is a ErrUserEmailExists. +func IsErrUserEmailExists(err error) bool { + _, ok := err.(ErrUserEmailExists) + return ok +} + +func (err ErrUserEmailExists) Error() string { + return fmt.Sprintf("a user with this email does already exist [user id: %d, email: %s]", err.UserID, err.Email) +} + +// ErrNoUsername represents a "UsernameAlreadyExists" kind of error. +type ErrNoUsername struct { + UserID int64 +} + +// IsErrNoUsername checks if an error is a ErrUsernameExists. +func IsErrNoUsername(err error) bool { + _, ok := err.(ErrNoUsername) + return ok +} + +func (err ErrNoUsername) Error() string { + return fmt.Sprintf("you need to specify a username [user id: %d]", err.UserID) +} + +// ErrNoUsernamePassword represents a "NoUsernamePassword" kind of error. +type ErrNoUsernamePassword struct{} + +// IsErrNoUsernamePassword checks if an error is a ErrNoUsernamePassword. +func IsErrNoUsernamePassword(err error) bool { + _, ok := err.(ErrNoUsernamePassword) + return ok +} + +func (err ErrNoUsernamePassword) Error() string { + return fmt.Sprintf("you need to specify a username and a password") +} + +// ErrUserDoesNotExist represents a "UserDoesNotExist" kind of error. +type ErrUserDoesNotExist struct { + UserID int64 +} + +// IsErrUserDoesNotExist checks if an error is a ErrUserDoesNotExist. +func IsErrUserDoesNotExist(err error) bool { + _, ok := err.(ErrUserDoesNotExist) + return ok +} + +func (err ErrUserDoesNotExist) Error() string { + return fmt.Sprintf("this user does not exist [user id: %d]", err.UserID) +} + +// ErrCouldNotGetUserID represents a "ErrCouldNotGetUserID" kind of error. +type ErrCouldNotGetUserID struct{} + +// IsErrCouldNotGetUserID checks if an error is a ErrCouldNotGetUserID. +func IsErrCouldNotGetUserID(err error) bool { + _, ok := err.(ErrCouldNotGetUserID) + return ok +} + +func (err ErrCouldNotGetUserID) Error() string { + return fmt.Sprintf("could not get user ID") +} + +// ErrCannotDeleteLastUser represents a "ErrCannotDeleteLastUser" kind of error. +type ErrCannotDeleteLastUser struct{} + +// IsErrCannotDeleteLastUser checks if an error is a ErrCannotDeleteLastUser. +func IsErrCannotDeleteLastUser(err error) bool { + _, ok := err.(ErrCannotDeleteLastUser) + return ok +} + +func (err ErrCannotDeleteLastUser) Error() string { + return fmt.Sprintf("cannot delete last user") +} + +// =================== +// Empty things errors +// =================== + +// ErrIDCannotBeZero represents a "IDCannotBeZero" kind of error. Used if an ID (of something, not defined) is 0 where it should not. +type ErrIDCannotBeZero struct{} + +// IsErrIDCannotBeZero checks if an error is a ErrIDCannotBeZero. +func IsErrIDCannotBeZero(err error) bool { + _, ok := err.(ErrIDCannotBeZero) + return ok +} + +func (err ErrIDCannotBeZero) Error() string { + return fmt.Sprintf("ID cannot be 0") +} + +// ErrAuthorCannotBeEmpty represents a "AuthorCannotBeEmpty" kind of error. +type ErrAuthorCannotBeEmpty struct{} + +// IsErrAuthorCannotBeEmpty checks if an error is a ErrAuthorCannotBeEmpty. +func IsErrAuthorCannotBeEmpty(err error) bool { + _, ok := err.(ErrAuthorCannotBeEmpty) + return ok +} + +func (err ErrAuthorCannotBeEmpty) Error() string { + return fmt.Sprintf("author cannot be empty") +} + +// ErrItemTitleCannotBeEmpty represents a "ErrItemTitleCannotBeEmpty" kind of error. +type ErrItemTitleCannotBeEmpty struct{} + +// IsErrItemTitleCannotBeEmpty checks if an error is a ErrItemTitleCannotBeEmpty. +func IsErrItemTitleCannotBeEmpty(err error) bool { + _, ok := err.(ErrItemTitleCannotBeEmpty) + return ok +} + +func (err ErrItemTitleCannotBeEmpty) Error() string { + return fmt.Sprintf("title cannot be empty") +} + +// ErrBookTitleCannotBeEmpty represents a "ErrBookTitleCannotBeEmpty" kind of error. +type ErrBookTitleCannotBeEmpty struct{} + +// IsErrBookTitleCannotBeEmpty checks if an error is a ErrBookTitleCannotBeEmpty. +func IsErrBookTitleCannotBeEmpty(err error) bool { + _, ok := err.(ErrBookTitleCannotBeEmpty) + return ok +} + +func (err ErrBookTitleCannotBeEmpty) Error() string { + return fmt.Sprintf("the book should at least have a title") +} + +// ErrNoPublisherName represents a "ErrNoPublisherName" kind of error. +type ErrNoPublisherName struct{} + +// IsErrNoPublisherName checks if an error is a ErrNoPublisherName. +func IsErrNoPublisherName(err error) bool { + _, ok := err.(ErrNoPublisherName) + return ok +} + +func (err ErrNoPublisherName) Error() string { + return fmt.Sprintf("you need at least a name to insert a new publisher") +} diff --git a/models/fixtures/users.yml b/models/fixtures/users.yml new file mode 100644 index 000000000..dd960387e --- /dev/null +++ b/models/fixtures/users.yml @@ -0,0 +1,7 @@ +- + id: 1 + name: 'John Doe' + username: 'user1' + password: '1234' + email: 'johndoe@example.com' + is_admin: true \ No newline at end of file diff --git a/models/main_test.go b/models/main_test.go new file mode 100644 index 000000000..f75ab0051 --- /dev/null +++ b/models/main_test.go @@ -0,0 +1,7 @@ +package models + +import "testing" + +func TestMain(m *testing.M) { + MainTest(m, "..") +} diff --git a/models/message.go b/models/message.go new file mode 100644 index 000000000..2e71a0bfc --- /dev/null +++ b/models/message.go @@ -0,0 +1,6 @@ +package models + +// Message is a standard message +type Message struct { + Message string `json:"message"` +} diff --git a/models/models.go b/models/models.go new file mode 100644 index 000000000..de04002b7 --- /dev/null +++ b/models/models.go @@ -0,0 +1,48 @@ +package models + +import ( + "fmt" + _ "github.com/go-sql-driver/mysql" // Because. + "github.com/go-xorm/core" + "github.com/go-xorm/xorm" + _ "github.com/mattn/go-sqlite3" // Because. +) + +var x *xorm.Engine + +func getEngine() (*xorm.Engine, error) { + // Use Mysql if set + if Config.Database.Type == "mysql" { + connStr := fmt.Sprintf("%s:%s@tcp(%s)/%s?charset=utf8&parseTime=true", + Config.Database.User, Config.Database.Password, Config.Database.Host, Config.Database.Database) + return xorm.NewEngine("mysql", connStr) + } + + // Otherwise use sqlite + path := Config.Database.Path + if path == "" { + path = "./db.db" + } + return xorm.NewEngine("sqlite3", path) +} + +// SetEngine sets the xorm.Engine +func SetEngine() (err error) { + x, err = getEngine() + if err != nil { + return fmt.Errorf("Failed to connect to database: %v", err) + } + + // Cache + cacher := xorm.NewLRUCacher(xorm.NewMemoryStore(), 1000) + x.SetDefaultCacher(cacher) + + x.SetMapper(core.GonicMapper{}) + + // Sync dat shit + x.Sync(&User{}) + + x.ShowSQL(Config.Database.ShowQueries) + + return nil +} diff --git a/models/models_test.go b/models/models_test.go new file mode 100644 index 000000000..06664fe70 --- /dev/null +++ b/models/models_test.go @@ -0,0 +1,12 @@ +package models + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func TestSetEngine(t *testing.T) { + Config.Database.Path = "file::memory:?cache=shared" + err := SetEngine() + assert.NoError(t, err) +} diff --git a/models/test_fixtures.go b/models/test_fixtures.go new file mode 100644 index 000000000..456021074 --- /dev/null +++ b/models/test_fixtures.go @@ -0,0 +1,19 @@ +package models + +import ( + "gopkg.in/testfixtures.v2" +) + +var fixtures *testfixtures.Context + +// InitFixtures initialize test fixtures for a test database +func InitFixtures(helper testfixtures.Helper, dir string) (err error) { + testfixtures.SkipDatabaseNameCheck(true) + fixtures, err = testfixtures.NewFolder(x.DB().DB, helper, dir) + return err +} + +// LoadFixtures load fixtures for a test database +func LoadFixtures() error { + return fixtures.Load() +} diff --git a/models/unit_tests.go b/models/unit_tests.go new file mode 100644 index 000000000..e6f17e577 --- /dev/null +++ b/models/unit_tests.go @@ -0,0 +1,48 @@ +package models + +import ( + "fmt" + "github.com/go-xorm/core" + "github.com/go-xorm/xorm" + "gopkg.in/testfixtures.v2" + "os" + "path/filepath" + "testing" +) + +// MainTest creates the test engine +func MainTest(m *testing.M, pathToRoot string) { + var err error + fixturesDir := filepath.Join(pathToRoot, "models", "fixtures") + if err = createTestEngine(fixturesDir); err != nil { + fmt.Fprintf(os.Stderr, "Error creating test engine: %v\n", err) + os.Exit(1) + } + + os.Exit(m.Run()) +} + +func createTestEngine(fixturesDir string) error { + var err error + x, err = xorm.NewEngine("sqlite3", "file::memory:?cache=shared") + //x, err = xorm.NewEngine("sqlite3", "db.db") + if err != nil { + return err + } + x.SetMapper(core.GonicMapper{}) + + // Sync dat shit + x.Sync(&User{}) + + // Show SQL-Queries if nessecary + if os.Getenv("UNIT_TESTS_VERBOSE") == "1" { + x.ShowSQL(true) + } + + return InitFixtures(&testfixtures.SQLite{}, fixturesDir) +} + +// PrepareTestDatabase load test fixtures into test database +func PrepareTestDatabase() error { + return LoadFixtures() +} diff --git a/models/user.go b/models/user.go new file mode 100644 index 000000000..7b80c9e4c --- /dev/null +++ b/models/user.go @@ -0,0 +1,93 @@ +package models + +import ( + "github.com/dgrijalva/jwt-go" + "github.com/labstack/echo" + "golang.org/x/crypto/bcrypt" +) + +// UserLogin Object to recive user credentials in JSON format +type UserLogin struct { + Username string `json:"username" form:"username"` + Password string `json:"password" form:"password"` +} + +// User holds information about an user +type User struct { + ID int64 `xorm:"int(11) autoincr not null unique pk" json:"id"` + Name string `xorm:"varchar(250)" json:"name"` + Username string `xorm:"varchar(250) not null unique" json:"username"` + Password string `xorm:"varchar(250) not null" json:"password"` + Email string `xorm:"varchar(250)" json:"email"` + IsAdmin bool `xorm:"tinyint(1) not null" json:"isAdmin"` + Created int64 `xorm:"created" json:"created"` + Updated int64 `xorm:"updated" json:"updated"` +} + +// TableName returns the table name for users +func (User) TableName() string { + return "users" +} + +// GetUserByID gets informations about a user by its ID +func GetUserByID(id int64) (user User, exists bool, err error) { + // Apparently xorm does otherwise look for all users but return only one, which leads to returing one even if the ID is 0 + if id == 0 { + return User{}, false, nil + } + + return GetUser(User{ID: id}) +} + +// GetUser gets a user object +func GetUser(user User) (userOut User, exists bool, err error) { + userOut = user + exists, err = x.Get(&userOut) + + if !exists { + return User{}, false, ErrUserDoesNotExist{} + } + + return userOut, exists, err +} + +// CheckUserCredentials checks user credentials +func CheckUserCredentials(u *UserLogin) (User, error) { + + // Check if the user exists + user, exists, err := GetUser(User{Username: u.Username}) + if err != nil { + return User{}, err + } + + if !exists { + return User{}, ErrUserDoesNotExist{} + } + + // Check the users password + err = bcrypt.CompareHashAndPassword([]byte(user.Password), []byte(u.Password)) + + if err != nil { + return User{}, err + } + + return user, nil +} + +// GetCurrentUser returns the current user based on its jwt token +func GetCurrentUser(c echo.Context) (user User, err error) { + jwtinf := c.Get("user").(*jwt.Token) + claims := jwtinf.Claims.(jwt.MapClaims) + userID, ok := claims["id"].(float64) + if !ok { + return user, ErrCouldNotGetUserID{} + } + user = User{ + ID: int64(userID), + Name: claims["name"].(string), + Email: claims["email"].(string), + Username: claims["username"].(string), + } + + return +} diff --git a/models/user_add_update.go b/models/user_add_update.go new file mode 100644 index 000000000..7319bd11c --- /dev/null +++ b/models/user_add_update.go @@ -0,0 +1,125 @@ +package models + +import ( + "golang.org/x/crypto/bcrypt" +) + +// CreateUser creates a new user and inserts it into the database +func CreateUser(user User, doer *User) (newUser User, err error) { + + newUser = user + + // Check if we have all needed informations + if newUser.Password == "" || newUser.Username == "" { + return User{}, ErrNoUsernamePassword{} + } + + // Check if the user already existst with that username + existingUser, exists, err := GetUser(User{Username: newUser.Username}) + if err != nil { + return User{}, err + } + if exists { + return User{}, ErrUsernameExists{existingUser.ID, existingUser.Username} + } + + // Check if the user already existst with that email + existingUser, exists, err = GetUser(User{Email: newUser.Email}) + if err != nil { + return User{}, err + } + if exists { + return User{}, ErrUserEmailExists{existingUser.ID, existingUser.Email} + } + + // Hash the password + newUser.Password, err = hashPassword(user.Password) + if err != nil { + return User{}, err + } + + // Insert it + _, err = x.Insert(newUser) + if err != nil { + return User{}, err + } + + // Get the full new User + newUserOut, _, err := GetUser(newUser) + if err != nil { + return User{}, err + } + + return newUserOut, err +} + +// HashPassword hashes a password +func hashPassword(password string) (string, error) { + bytes, err := bcrypt.GenerateFromPassword([]byte(password), 14) + return string(bytes), err +} + +// UpdateUser updates a user +func UpdateUser(user User, doer *User) (updatedUser User, err error) { + + // Check if it exists + theUser, exists, err := GetUserByID(user.ID) + if err != nil { + return User{}, err + } + + if exists { + // Check if we have at least a username + if user.Username == "" { + //return User{}, ErrNoUsername{user.ID} + user.Username = theUser.Username // Dont change the username if we dont have one + } + + user.Password = theUser.Password // set the password to the one in the database to not accedently resetting it + + // Update it + _, err = x.Id(user.ID).Update(user) + if err != nil { + return User{}, err + } + + // Get the newly updated user + updatedUser, _, err = GetUserByID(user.ID) + if err != nil { + return User{}, err + } + + return updatedUser, err + } + + return User{}, ErrUserDoesNotExist{user.ID} +} + +// UpdateUserPassword updates the password of a user +func UpdateUserPassword(userID int64, newPassword string, doer *User) (err error) { + + // Get all user details + user, exists, err := GetUserByID(userID) + if err != nil { + return err + } + + if !exists { + return ErrUserDoesNotExist{userID} + } + + // Hash the new password and set it + hashed, err := hashPassword(newPassword) + if err != nil { + return err + } + user.Password = hashed + + // Update it + _, err = x.Id(user.ID).Update(user) + if err != nil { + return err + } + + return err +} diff --git a/models/user_delete.go b/models/user_delete.go new file mode 100644 index 000000000..7ad532f56 --- /dev/null +++ b/models/user_delete.go @@ -0,0 +1,28 @@ +package models + +// DeleteUserByID deletes a user by its ID +func DeleteUserByID(id int64, doer *User) error { + // Check if the id is 0 + if id == 0 { + return ErrIDCannotBeZero{} + } + + // Check if there is > 1 user + total, err := x.Count(User{}) + if err != nil { + return err + } + + if total < 2 { + return ErrCannotDeleteLastUser{} + } + + // Delete the user + _, err = x.Id(id).Delete(&User{}) + + if err != nil { + return err + } + + return err +} diff --git a/models/user_test.go b/models/user_test.go new file mode 100644 index 000000000..34e01022f --- /dev/null +++ b/models/user_test.go @@ -0,0 +1,147 @@ +package models + +import ( + "github.com/stretchr/testify/assert" + "testing" +) + +func TestCreateUser(t *testing.T) { + // Create test database + assert.NoError(t, PrepareTestDatabase()) + + // Get our doer + doer, _, err := GetUserByID(1) + assert.NoError(t, err) + + // Our dummy user for testing + dummyuser := User{ + Name: "noooem, dief", + Username: "testuu", + Password: "1234", + Email: "noone@example.com", + IsAdmin: true, + } + + // Delete every preexisting user to have a fresh start + _, err = x.Where("1 = 1").Delete(&User{}) + assert.NoError(t, err) + + allusers, err := ListUsers("") + assert.NoError(t, err) + for _, user := range allusers { + // Delete it + err := DeleteUserByID(user.ID, &doer) + assert.NoError(t, err) + } + + // Create a new user + createdUser, err := CreateUser(dummyuser, &doer) + assert.NoError(t, err) + + // Create a second new user + createdUser2, err := CreateUser(User{Username: dummyuser.Username + "2", Email: dummyuser.Email + "m", Password: dummyuser.Password}, &doer) + assert.NoError(t, err) + + // Check if it fails to create the same user again + _, err = CreateUser(dummyuser, &doer) + assert.Error(t, err) + + // Check if it fails to create a user with just the same username + _, err = CreateUser(User{Username: dummyuser.Username, Password: "fsdf"}, &doer) + assert.Error(t, err) + assert.True(t, IsErrUsernameExists(err)) + + // Check if it fails to create one with the same email + _, err = CreateUser(User{Username: "noone", Password: "1234", Email: dummyuser.Email}, &doer) + assert.Error(t, err) + assert.True(t, IsErrUserEmailExists(err)) + + // Check if it fails to create a user without password and username + _, err = CreateUser(User{}, &doer) + assert.Error(t, err) + assert.True(t, IsErrNoUsernamePassword(err)) + + _, err = CreateUser(User{Name: "blub"}, &doer) + assert.Error(t, err) + assert.True(t, IsErrNoUsernamePassword(err)) + + // Check if he exists + theuser, exists, err := GetUser(createdUser) + assert.NoError(t, err) + assert.True(t, exists) + + // Get by his ID + _, exists, err = GetUserByID(theuser.ID) + assert.NoError(t, err) + assert.True(t, exists) + + // Passing 0 as ID should return an empty user + _, exists, err = GetUserByID(0) + assert.NoError(t, err) + assert.False(t, exists) + + // Check the user credentials + user, err := CheckUserCredentials(&UserLogin{"testuu", "1234"}) + assert.NoError(t, err) + assert.Equal(t, dummyuser.Name, user.Name) + + // Check wrong password (should also fail) + _, err = CheckUserCredentials(&UserLogin{"testuu", "12345"}) + assert.Error(t, err) + + // Check usercredentials for a nonexistent user (should fail) + _, err = CheckUserCredentials(&UserLogin{"dfstestuu", "1234"}) + assert.Error(t, err) + assert.True(t, IsErrUserDoesNotExist(err)) + + // Update the user + newname := "Test_te" + uuser, err := UpdateUser(User{ID: theuser.ID, Name: newname, Password: "444444"}, &doer) + assert.NoError(t, err) + assert.Equal(t, newname, uuser.Name) + assert.Equal(t, theuser.Password, uuser.Password) // Password should not change + assert.Equal(t, theuser.Username, uuser.Username) // Username should not change either + + // Try updating one which does not exist + _, err = UpdateUser(User{ID: 99999, Username: "dg"}, &doer) + assert.Error(t, err) + assert.True(t, IsErrUserDoesNotExist(err)) + + // Update a users password + newpassword := "55555" + err = UpdateUserPassword(theuser.ID, newpassword, &doer) + assert.NoError(t, err) + + // Check if it was changed + user, err = CheckUserCredentials(&UserLogin{theuser.Username, newpassword}) + assert.NoError(t, err) + assert.Equal(t, newname, user.Name) + + // Check if the searchterm works + all, err := ListUsers("test") + assert.NoError(t, err) + assert.True(t, len(all) > 0) + + all, err = ListUsers("") + assert.NoError(t, err) + assert.True(t, len(all) > 0) + + // Try updating the password of a nonexistent user (should fail) + err = UpdateUserPassword(9999, newpassword, &doer) + assert.Error(t, err) + assert.True(t, IsErrUserDoesNotExist(err)) + + // Delete it + err = DeleteUserByID(theuser.ID, &doer) + assert.NoError(t, err) + + // Try deleting one with ID = 0 + err = DeleteUserByID(0, &doer) + assert.Error(t, err) + assert.True(t, IsErrIDCannotBeZero(err)) + + // Try delete the last user (Should fail) + err = DeleteUserByID(createdUser2.ID, &doer) + assert.Error(t, err) + assert.True(t, IsErrCannotDeleteLastUser(err)) +} diff --git a/models/users_list.go b/models/users_list.go new file mode 100644 index 000000000..6bf4d5f94 --- /dev/null +++ b/models/users_list.go @@ -0,0 +1,25 @@ +package models + +// ListUsers returns a list with all users, filtered by an optional searchstring +func ListUsers(searchterm string) (users []User, err error) { + + if searchterm == "" { + err = x.Find(&users) + } else { + err = x. + Where("username LIKE ?", "%"+searchterm+"%"). + Or("name LIKE ?", "%"+searchterm+"%"). + Find(&users) + } + + // Obfuscate the password. Selecting everything except the password didn't work. + for i := range users { + users[i].Password = "" + } + + if err != nil { + return []User{}, err + } + + return users, nil +} diff --git a/routes/api/v1/token_check.go b/routes/api/v1/token_check.go new file mode 100644 index 000000000..615d0eadf --- /dev/null +++ b/routes/api/v1/token_check.go @@ -0,0 +1,18 @@ +package v1 + +import ( + "fmt" + "git.kolaente.de/konrad/list/models" + "github.com/dgrijalva/jwt-go" + "github.com/labstack/echo" +) + +// CheckToken checks prints a message if the token is valid or not. Currently only used for testing pourposes. +func CheckToken(c echo.Context) error { + + user := c.Get("user").(*jwt.Token) + + fmt.Println(user.Valid) + + return c.JSON(418, models.Message{"🍵"}) +} diff --git a/routes/api/v1/user_add_update.go b/routes/api/v1/user_add_update.go new file mode 100644 index 000000000..99970f534 --- /dev/null +++ b/routes/api/v1/user_add_update.go @@ -0,0 +1,101 @@ +package v1 + +import ( + "encoding/json" + "git.kolaente.de/konrad/list/models" + "github.com/labstack/echo" + "net/http" + "strconv" + "strings" +) + +// UserAddOrUpdate is the handler to add a user +func UserAddOrUpdate(c echo.Context) error { + + // TODO: prevent everyone from updating users + + // Check for Request Content + userFromString := c.FormValue("user") + var datUser *models.User + + if userFromString == "" { + // b := new(models.User) + if err := c.Bind(&datUser); err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"No user model provided."}) + } + } else { + // Decode the JSON + dec := json.NewDecoder(strings.NewReader(userFromString)) + err := dec.Decode(&datUser) + + if err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"Error decoding user: " + err.Error()}) + } + } + + // Check if we have an ID other than the one in the struct + id := c.Param("id") + if id != "" { + // Make int + userID, err := strconv.ParseInt(id, 10, 64) + + if err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"Invalid ID."}) + } + datUser.ID = userID + } + + // Check if the user exists + _, exists, err := models.GetUserByID(datUser.ID) + if err != nil { + return c.JSON(http.StatusInternalServerError, models.Message{"Could not check if the user exists."}) + } + + // Get the doer options + doer, err := models.GetCurrentUser(c) + if err != nil { + return err + } + + // Insert or update the user + var newUser models.User + if exists { + newUser, err = models.UpdateUser(*datUser, &doer) + } else { + newUser, err = models.CreateUser(*datUser, &doer) + } + + if err != nil { + // Check for user already exists + if models.IsErrUsernameExists(err) { + return c.JSON(http.StatusBadRequest, models.Message{"A user with this username already exists."}) + } + + // Check for user with that email already exists + if models.IsErrUserEmailExists(err) { + return c.JSON(http.StatusBadRequest, models.Message{"A user with this email address already exists."}) + } + + // Check for no username provided + if models.IsErrNoUsername(err) { + return c.JSON(http.StatusBadRequest, models.Message{"Please specify a username."}) + } + + // Check for no username or password provided + if models.IsErrNoUsernamePassword(err) { + return c.JSON(http.StatusBadRequest, models.Message{"Please specify a username and a password."}) + } + + // Check for user does not exist + if models.IsErrUserDoesNotExist(err) { + return c.JSON(http.StatusBadRequest, models.Message{"The user does not exist."}) + } + + return c.JSON(http.StatusInternalServerError, models.Message{"Error"}) + } + + // Obfuscate his password + newUser.Password = "" + + return c.JSON(http.StatusOK, newUser) +} diff --git a/routes/api/v1/user_delete.go b/routes/api/v1/user_delete.go new file mode 100644 index 000000000..fa794c7fa --- /dev/null +++ b/routes/api/v1/user_delete.go @@ -0,0 +1,57 @@ +package v1 + +import ( + "git.kolaente.de/konrad/list/models" + "github.com/labstack/echo" + "net/http" + "strconv" +) + +// UserDelete is the handler to delete a user +func UserDelete(c echo.Context) error { + + // TODO: only allow users to allow itself + + id := c.Param("id") + + // Make int + userID, err := strconv.ParseInt(id, 10, 64) + + if err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"User ID is invalid."}) + } + + // Check if the user exists + _, exists, err := models.GetUserByID(userID) + + if err != nil { + return c.JSON(http.StatusInternalServerError, models.Message{"Could not get user."}) + } + + if !exists { + return c.JSON(http.StatusNotFound, models.Message{"The user does not exist."}) + } + + // Get the doer options + doer, err := models.GetCurrentUser(c) + if err != nil { + return err + } + + // Delete it + err = models.DeleteUserByID(userID, &doer) + + if err != nil { + if models.IsErrIDCannotBeZero(err) { + return c.JSON(http.StatusBadRequest, models.Message{"Id cannot be 0"}) + } + + if models.IsErrCannotDeleteLastUser(err) { + return c.JSON(http.StatusBadRequest, models.Message{"Cannot delete last user."}) + } + + return c.JSON(http.StatusInternalServerError, models.Message{"Could not delete user."}) + } + + return c.JSON(http.StatusOK, models.Message{"success"}) +} diff --git a/routes/api/v1/user_show.go b/routes/api/v1/user_show.go new file mode 100644 index 000000000..891122378 --- /dev/null +++ b/routes/api/v1/user_show.go @@ -0,0 +1,43 @@ +package v1 + +import ( + "git.kolaente.de/konrad/list/models" + "github.com/labstack/echo" + "net/http" + "strconv" +) + +// UserShow gets all informations about a user +func UserShow(c echo.Context) error { + + // TODO: only allow users to show itself/with privacy options + + user := c.Param("id") + + if user == "" { + return c.JSON(http.StatusBadRequest, models.Message{"User ID cannot be empty."}) + } + + // Make int + userID, err := strconv.ParseInt(user, 10, 64) + if err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"User ID is invalid."}) + } + + // Get User Infos + userInfos, exists, err := models.GetUserByID(userID) + + if err != nil { + return c.JSON(http.StatusInternalServerError, models.Message{"Error getting user infos."}) + } + + // Check if it exists + if !exists { + return c.JSON(http.StatusNotFound, models.Message{"User not found."}) + } + + // Obfucate his password + userInfos.Password = "" + + return c.JSON(http.StatusOK, userInfos) +} diff --git a/routes/api/v1/user_update_password.go b/routes/api/v1/user_update_password.go new file mode 100644 index 000000000..f1f9c16d6 --- /dev/null +++ b/routes/api/v1/user_update_password.go @@ -0,0 +1,76 @@ +package v1 + +import ( + "net/http" + "strconv" + + "git.kolaente.de/konrad/list/models" + "github.com/labstack/echo" +) + +type datPassword struct { + Password string `json:"password"` +} + +// UserChangePassword is the handler to add a user +func UserChangePassword(c echo.Context) error { + + // Get the ID + user := c.Param("id") + + if user == "" { + return c.JSON(http.StatusBadRequest, models.Message{"User ID cannot be empty."}) + } + + // Make int + userID, err := strconv.ParseInt(user, 10, 64) + if err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"User ID is invalid."}) + } + + // Check if the user is itself + userJWTinfo, err := models.GetCurrentUser(c) + + if userJWTinfo.ID != userID { + return echo.ErrUnauthorized + } + + // Check for Request Content + pwFromString := c.FormValue("password") + var datPw datPassword + + if pwFromString == "" { + if err := c.Bind(&datPw); err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"No password provided."}) + } + } else { + // Take the value directly from the input + datPw.Password = pwFromString + } + + // Get User Infos + _, exists, err := models.GetUserByID(userID) + + if err != nil { + return c.JSON(http.StatusInternalServerError, models.Message{"Error getting user infos."}) + } + + // Check if it exists + if !exists { + return c.JSON(http.StatusNotFound, models.Message{"User not found."}) + } + + // Get the doer options + doer, err := models.GetCurrentUser(c) + if err != nil { + return err + } + + err = models.UpdateUserPassword(userID, datPw.Password, &doer) + + if err != nil { + return err + } + + return c.JSON(http.StatusOK, models.Message{"The password was updated successfully"}) +} diff --git a/routes/cors.go b/routes/cors.go new file mode 100644 index 000000000..16ec23a5d --- /dev/null +++ b/routes/cors.go @@ -0,0 +1,16 @@ +package routes + +import ( + "github.com/labstack/echo" + "net/http" +) + +// SetCORSHeader sets relevant CORS headers for Cross-Site-Requests to the api +func SetCORSHeader(c echo.Context) error { + res := c.Response() + res.Header().Set("Access-Control-Allow-Origin", "*") + res.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE") + res.Header().Set("Access-Control-Allow-Headers", "authorization,content-type") + res.Header().Set("Access-Control-Expose-Headers", "authorization,content-type") + return c.String(http.StatusOK, "") +} diff --git a/routes/login.go b/routes/login.go new file mode 100644 index 000000000..ee3c7a00e --- /dev/null +++ b/routes/login.go @@ -0,0 +1,51 @@ +package routes + +import ( + "crypto/md5" + "encoding/hex" + "git.kolaente.de/konrad/list/models" + "github.com/dgrijalva/jwt-go" + "github.com/labstack/echo" + "net/http" + "time" +) + +// Login is the login handler +func Login(c echo.Context) error { + u := new(models.UserLogin) + if err := c.Bind(u); err != nil { + return c.JSON(http.StatusBadRequest, models.Message{"Please provide a username and password."}) + } + + // Check user + user, err := models.CheckUserCredentials(u) + + if err != nil { + return c.JSON(http.StatusUnauthorized, models.Message{"Wrong username or password."}) + } + + // Create token + token := jwt.New(jwt.SigningMethodHS256) + + // Set claims + claims := token.Claims.(jwt.MapClaims) + claims["name"] = user.Name + claims["username"] = user.Username + claims["email"] = user.Email + claims["id"] = user.ID + claims["admin"] = user.IsAdmin + claims["exp"] = time.Now().Add(time.Hour * 72).Unix() + + avatar := md5.Sum([]byte(user.Email)) + claims["avatar"] = hex.EncodeToString(avatar[:]) + + // Generate encoded token and send it as response. + t, err := token.SignedString(models.Config.JWTLoginSecret) + if err != nil { + return err + } + + return c.JSON(http.StatusOK, map[string]string{ + "token": t, + }) +} diff --git a/routes/routes.go b/routes/routes.go new file mode 100644 index 000000000..15e80e251 --- /dev/null +++ b/routes/routes.go @@ -0,0 +1,51 @@ +package routes + +import ( + "github.com/labstack/echo" + "github.com/labstack/echo/middleware" + + "git.kolaente.de/konrad/list/models" + apiv1 "git.kolaente.de/konrad/list/routes/api/v1" +) + +// NewEcho registers a new Echo instance +func NewEcho() *echo.Echo { + e := echo.New() + + // Logger + e.Use(middleware.LoggerWithConfig(middleware.LoggerConfig{ + Format: "${time_rfc3339}: ${remote_ip} ${method} ${status} ${uri} ${latency_human} - ${user_agent}\n", + })) + + return e +} + +// RegisterRoutes registers all routes for the application +func RegisterRoutes(e *echo.Echo) { + + e.Use(func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + res := c.Response() + res.Header().Set("Access-Control-Allow-Origin", "*") + res.Header().Set("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE") + res.Header().Set("Access-Control-Allow-Headers", "authorization,content-type") + res.Header().Set("Access-Control-Expose-Headers", "authorization,content-type") + return next(c) + } + }) + + // API Routes + a := e.Group("/api/v1") + + // CORS_SHIT + a.OPTIONS("/login", SetCORSHeader) + a.OPTIONS("/users", SetCORSHeader) + a.OPTIONS("/users/:id", SetCORSHeader) + + a.POST("/login", Login) + + // ===== Routes with Authetification ===== + // Authetification + a.Use(middleware.JWT(models.Config.JWTLoginSecret)) + a.POST("/tokenTest", apiv1.CheckToken) +} diff --git a/vendor/github.com/davecgh/go-spew/LICENSE b/vendor/github.com/davecgh/go-spew/LICENSE new file mode 100644 index 000000000..bc52e96f2 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/LICENSE @@ -0,0 +1,15 @@ +ISC License + +Copyright (c) 2012-2016 Dave Collins + +Permission to use, copy, modify, and/or distribute this software for any +purpose with or without fee is hereby granted, provided that the above +copyright notice and this permission notice appear in all copies. + +THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. diff --git a/vendor/github.com/davecgh/go-spew/spew/bypass.go b/vendor/github.com/davecgh/go-spew/spew/bypass.go new file mode 100644 index 000000000..7f166c3a3 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypass.go @@ -0,0 +1,152 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is not running on Google App Engine, compiled by GopherJS, and +// "-tags safe" is not added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// +build !js,!appengine,!safe,!disableunsafe + +package spew + +import ( + "reflect" + "unsafe" +) + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = false + + // ptrSize is the size of a pointer on the current arch. + ptrSize = unsafe.Sizeof((*byte)(nil)) +) + +var ( + // offsetPtr, offsetScalar, and offsetFlag are the offsets for the + // internal reflect.Value fields. These values are valid before golang + // commit ecccf07e7f9d which changed the format. The are also valid + // after commit 82f48826c6c7 which changed the format again to mirror + // the original format. Code in the init function updates these offsets + // as necessary. + offsetPtr = ptrSize + offsetScalar = uintptr(0) + offsetFlag = ptrSize * 2 + + // flagKindWidth and flagKindShift indicate various bits that the + // reflect package uses internally to track kind information. + // + // flagRO indicates whether or not the value field of a reflect.Value is + // read-only. + // + // flagIndir indicates whether the value field of a reflect.Value is + // the actual data or a pointer to the data. + // + // These values are valid before golang commit 90a7c3c86944 which + // changed their positions. Code in the init function updates these + // flags as necessary. + flagKindWidth = uintptr(5) + flagKindShift = flagKindWidth - 1 + flagRO = uintptr(1 << 0) + flagIndir = uintptr(1 << 1) +) + +func init() { + // Older versions of reflect.Value stored small integers directly in the + // ptr field (which is named val in the older versions). Versions + // between commits ecccf07e7f9d and 82f48826c6c7 added a new field named + // scalar for this purpose which unfortunately came before the flag + // field, so the offset of the flag field is different for those + // versions. + // + // This code constructs a new reflect.Value from a known small integer + // and checks if the size of the reflect.Value struct indicates it has + // the scalar field. When it does, the offsets are updated accordingly. + vv := reflect.ValueOf(0xf00) + if unsafe.Sizeof(vv) == (ptrSize * 4) { + offsetScalar = ptrSize * 2 + offsetFlag = ptrSize * 3 + } + + // Commit 90a7c3c86944 changed the flag positions such that the low + // order bits are the kind. This code extracts the kind from the flags + // field and ensures it's the correct type. When it's not, the flag + // order has been changed to the newer format, so the flags are updated + // accordingly. + upf := unsafe.Pointer(uintptr(unsafe.Pointer(&vv)) + offsetFlag) + upfv := *(*uintptr)(upf) + flagKindMask := uintptr((1<>flagKindShift != uintptr(reflect.Int) { + flagKindShift = 0 + flagRO = 1 << 5 + flagIndir = 1 << 6 + + // Commit adf9b30e5594 modified the flags to separate the + // flagRO flag into two bits which specifies whether or not the + // field is embedded. This causes flagIndir to move over a bit + // and means that flagRO is the combination of either of the + // original flagRO bit and the new bit. + // + // This code detects the change by extracting what used to be + // the indirect bit to ensure it's set. When it's not, the flag + // order has been changed to the newer format, so the flags are + // updated accordingly. + if upfv&flagIndir == 0 { + flagRO = 3 << 5 + flagIndir = 1 << 7 + } + } +} + +// unsafeReflectValue converts the passed reflect.Value into a one that bypasses +// the typical safety restrictions preventing access to unaddressable and +// unexported data. It works by digging the raw pointer to the underlying +// value out of the protected value and generating a new unprotected (unsafe) +// reflect.Value to it. +// +// This allows us to check for implementations of the Stringer and error +// interfaces to be used for pretty printing ordinarily unaddressable and +// inaccessible values such as unexported struct fields. +func unsafeReflectValue(v reflect.Value) (rv reflect.Value) { + indirects := 1 + vt := v.Type() + upv := unsafe.Pointer(uintptr(unsafe.Pointer(&v)) + offsetPtr) + rvf := *(*uintptr)(unsafe.Pointer(uintptr(unsafe.Pointer(&v)) + offsetFlag)) + if rvf&flagIndir != 0 { + vt = reflect.PtrTo(v.Type()) + indirects++ + } else if offsetScalar != 0 { + // The value is in the scalar field when it's not one of the + // reference types. + switch vt.Kind() { + case reflect.Uintptr: + case reflect.Chan: + case reflect.Func: + case reflect.Map: + case reflect.Ptr: + case reflect.UnsafePointer: + default: + upv = unsafe.Pointer(uintptr(unsafe.Pointer(&v)) + + offsetScalar) + } + } + + pv := reflect.NewAt(vt, upv) + rv = pv + for i := 0; i < indirects; i++ { + rv = rv.Elem() + } + return rv +} diff --git a/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go new file mode 100644 index 000000000..1fe3cf3d5 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/bypasssafe.go @@ -0,0 +1,38 @@ +// Copyright (c) 2015-2016 Dave Collins +// +// Permission to use, copy, modify, and distribute this software for any +// purpose with or without fee is hereby granted, provided that the above +// copyright notice and this permission notice appear in all copies. +// +// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + +// NOTE: Due to the following build constraints, this file will only be compiled +// when the code is running on Google App Engine, compiled by GopherJS, or +// "-tags safe" is added to the go build command line. The "disableunsafe" +// tag is deprecated and thus should not be used. +// +build js appengine safe disableunsafe + +package spew + +import "reflect" + +const ( + // UnsafeDisabled is a build-time constant which specifies whether or + // not access to the unsafe package is available. + UnsafeDisabled = true +) + +// unsafeReflectValue typically converts the passed reflect.Value into a one +// that bypasses the typical safety restrictions preventing access to +// unaddressable and unexported data. However, doing this relies on access to +// the unsafe package. This is a stub version which simply returns the passed +// reflect.Value when the unsafe package is not available. +func unsafeReflectValue(v reflect.Value) reflect.Value { + return v +} diff --git a/vendor/github.com/davecgh/go-spew/spew/common.go b/vendor/github.com/davecgh/go-spew/spew/common.go new file mode 100644 index 000000000..1be8ce945 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/common.go @@ -0,0 +1,341 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "reflect" + "sort" + "strconv" +) + +// Some constants in the form of bytes to avoid string overhead. This mirrors +// the technique used in the fmt package. +var ( + panicBytes = []byte("(PANIC=") + plusBytes = []byte("+") + iBytes = []byte("i") + trueBytes = []byte("true") + falseBytes = []byte("false") + interfaceBytes = []byte("(interface {})") + commaNewlineBytes = []byte(",\n") + newlineBytes = []byte("\n") + openBraceBytes = []byte("{") + openBraceNewlineBytes = []byte("{\n") + closeBraceBytes = []byte("}") + asteriskBytes = []byte("*") + colonBytes = []byte(":") + colonSpaceBytes = []byte(": ") + openParenBytes = []byte("(") + closeParenBytes = []byte(")") + spaceBytes = []byte(" ") + pointerChainBytes = []byte("->") + nilAngleBytes = []byte("") + maxNewlineBytes = []byte("\n") + maxShortBytes = []byte("") + circularBytes = []byte("") + circularShortBytes = []byte("") + invalidAngleBytes = []byte("") + openBracketBytes = []byte("[") + closeBracketBytes = []byte("]") + percentBytes = []byte("%") + precisionBytes = []byte(".") + openAngleBytes = []byte("<") + closeAngleBytes = []byte(">") + openMapBytes = []byte("map[") + closeMapBytes = []byte("]") + lenEqualsBytes = []byte("len=") + capEqualsBytes = []byte("cap=") +) + +// hexDigits is used to map a decimal value to a hex digit. +var hexDigits = "0123456789abcdef" + +// catchPanic handles any panics that might occur during the handleMethods +// calls. +func catchPanic(w io.Writer, v reflect.Value) { + if err := recover(); err != nil { + w.Write(panicBytes) + fmt.Fprintf(w, "%v", err) + w.Write(closeParenBytes) + } +} + +// handleMethods attempts to call the Error and String methods on the underlying +// type the passed reflect.Value represents and outputes the result to Writer w. +// +// It handles panics in any called methods by catching and displaying the error +// as the formatted value. +func handleMethods(cs *ConfigState, w io.Writer, v reflect.Value) (handled bool) { + // We need an interface to check if the type implements the error or + // Stringer interface. However, the reflect package won't give us an + // interface on certain things like unexported struct fields in order + // to enforce visibility rules. We use unsafe, when it's available, + // to bypass these restrictions since this package does not mutate the + // values. + if !v.CanInterface() { + if UnsafeDisabled { + return false + } + + v = unsafeReflectValue(v) + } + + // Choose whether or not to do error and Stringer interface lookups against + // the base type or a pointer to the base type depending on settings. + // Technically calling one of these methods with a pointer receiver can + // mutate the value, however, types which choose to satisify an error or + // Stringer interface with a pointer receiver should not be mutating their + // state inside these interface methods. + if !cs.DisablePointerMethods && !UnsafeDisabled && !v.CanAddr() { + v = unsafeReflectValue(v) + } + if v.CanAddr() { + v = v.Addr() + } + + // Is it an error or Stringer? + switch iface := v.Interface().(type) { + case error: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.Error())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + + w.Write([]byte(iface.Error())) + return true + + case fmt.Stringer: + defer catchPanic(w, v) + if cs.ContinueOnMethod { + w.Write(openParenBytes) + w.Write([]byte(iface.String())) + w.Write(closeParenBytes) + w.Write(spaceBytes) + return false + } + w.Write([]byte(iface.String())) + return true + } + return false +} + +// printBool outputs a boolean value as true or false to Writer w. +func printBool(w io.Writer, val bool) { + if val { + w.Write(trueBytes) + } else { + w.Write(falseBytes) + } +} + +// printInt outputs a signed integer value to Writer w. +func printInt(w io.Writer, val int64, base int) { + w.Write([]byte(strconv.FormatInt(val, base))) +} + +// printUint outputs an unsigned integer value to Writer w. +func printUint(w io.Writer, val uint64, base int) { + w.Write([]byte(strconv.FormatUint(val, base))) +} + +// printFloat outputs a floating point value using the specified precision, +// which is expected to be 32 or 64bit, to Writer w. +func printFloat(w io.Writer, val float64, precision int) { + w.Write([]byte(strconv.FormatFloat(val, 'g', -1, precision))) +} + +// printComplex outputs a complex value using the specified float precision +// for the real and imaginary parts to Writer w. +func printComplex(w io.Writer, c complex128, floatPrecision int) { + r := real(c) + w.Write(openParenBytes) + w.Write([]byte(strconv.FormatFloat(r, 'g', -1, floatPrecision))) + i := imag(c) + if i >= 0 { + w.Write(plusBytes) + } + w.Write([]byte(strconv.FormatFloat(i, 'g', -1, floatPrecision))) + w.Write(iBytes) + w.Write(closeParenBytes) +} + +// printHexPtr outputs a uintptr formatted as hexadecimal with a leading '0x' +// prefix to Writer w. +func printHexPtr(w io.Writer, p uintptr) { + // Null pointer. + num := uint64(p) + if num == 0 { + w.Write(nilAngleBytes) + return + } + + // Max uint64 is 16 bytes in hex + 2 bytes for '0x' prefix + buf := make([]byte, 18) + + // It's simpler to construct the hex string right to left. + base := uint64(16) + i := len(buf) - 1 + for num >= base { + buf[i] = hexDigits[num%base] + num /= base + i-- + } + buf[i] = hexDigits[num] + + // Add '0x' prefix. + i-- + buf[i] = 'x' + i-- + buf[i] = '0' + + // Strip unused leading bytes. + buf = buf[i:] + w.Write(buf) +} + +// valuesSorter implements sort.Interface to allow a slice of reflect.Value +// elements to be sorted. +type valuesSorter struct { + values []reflect.Value + strings []string // either nil or same len and values + cs *ConfigState +} + +// newValuesSorter initializes a valuesSorter instance, which holds a set of +// surrogate keys on which the data should be sorted. It uses flags in +// ConfigState to decide if and how to populate those surrogate keys. +func newValuesSorter(values []reflect.Value, cs *ConfigState) sort.Interface { + vs := &valuesSorter{values: values, cs: cs} + if canSortSimply(vs.values[0].Kind()) { + return vs + } + if !cs.DisableMethods { + vs.strings = make([]string, len(values)) + for i := range vs.values { + b := bytes.Buffer{} + if !handleMethods(cs, &b, vs.values[i]) { + vs.strings = nil + break + } + vs.strings[i] = b.String() + } + } + if vs.strings == nil && cs.SpewKeys { + vs.strings = make([]string, len(values)) + for i := range vs.values { + vs.strings[i] = Sprintf("%#v", vs.values[i].Interface()) + } + } + return vs +} + +// canSortSimply tests whether a reflect.Kind is a primitive that can be sorted +// directly, or whether it should be considered for sorting by surrogate keys +// (if the ConfigState allows it). +func canSortSimply(kind reflect.Kind) bool { + // This switch parallels valueSortLess, except for the default case. + switch kind { + case reflect.Bool: + return true + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return true + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return true + case reflect.Float32, reflect.Float64: + return true + case reflect.String: + return true + case reflect.Uintptr: + return true + case reflect.Array: + return true + } + return false +} + +// Len returns the number of values in the slice. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Len() int { + return len(s.values) +} + +// Swap swaps the values at the passed indices. It is part of the +// sort.Interface implementation. +func (s *valuesSorter) Swap(i, j int) { + s.values[i], s.values[j] = s.values[j], s.values[i] + if s.strings != nil { + s.strings[i], s.strings[j] = s.strings[j], s.strings[i] + } +} + +// valueSortLess returns whether the first value should sort before the second +// value. It is used by valueSorter.Less as part of the sort.Interface +// implementation. +func valueSortLess(a, b reflect.Value) bool { + switch a.Kind() { + case reflect.Bool: + return !a.Bool() && b.Bool() + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + return a.Int() < b.Int() + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return a.Uint() < b.Uint() + case reflect.Float32, reflect.Float64: + return a.Float() < b.Float() + case reflect.String: + return a.String() < b.String() + case reflect.Uintptr: + return a.Uint() < b.Uint() + case reflect.Array: + // Compare the contents of both arrays. + l := a.Len() + for i := 0; i < l; i++ { + av := a.Index(i) + bv := b.Index(i) + if av.Interface() == bv.Interface() { + continue + } + return valueSortLess(av, bv) + } + } + return a.String() < b.String() +} + +// Less returns whether the value at index i should sort before the +// value at index j. It is part of the sort.Interface implementation. +func (s *valuesSorter) Less(i, j int) bool { + if s.strings == nil { + return valueSortLess(s.values[i], s.values[j]) + } + return s.strings[i] < s.strings[j] +} + +// sortValues is a sort function that handles both native types and any type that +// can be converted to error or Stringer. Other inputs are sorted according to +// their Value.String() value to ensure display stability. +func sortValues(values []reflect.Value, cs *ConfigState) { + if len(values) == 0 { + return + } + sort.Sort(newValuesSorter(values, cs)) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/config.go b/vendor/github.com/davecgh/go-spew/spew/config.go new file mode 100644 index 000000000..2e3d22f31 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/config.go @@ -0,0 +1,306 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "io" + "os" +) + +// ConfigState houses the configuration options used by spew to format and +// display values. There is a global instance, Config, that is used to control +// all top-level Formatter and Dump functionality. Each ConfigState instance +// provides methods equivalent to the top-level functions. +// +// The zero value for ConfigState provides no indentation. You would typically +// want to set it to a space or a tab. +// +// Alternatively, you can use NewDefaultConfig to get a ConfigState instance +// with default settings. See the documentation of NewDefaultConfig for default +// values. +type ConfigState struct { + // Indent specifies the string to use for each indentation level. The + // global config instance that all top-level functions use set this to a + // single space by default. If you would like more indentation, you might + // set this to a tab with "\t" or perhaps two spaces with " ". + Indent string + + // MaxDepth controls the maximum number of levels to descend into nested + // data structures. The default, 0, means there is no limit. + // + // NOTE: Circular data structures are properly detected, so it is not + // necessary to set this value unless you specifically want to limit deeply + // nested data structures. + MaxDepth int + + // DisableMethods specifies whether or not error and Stringer interfaces are + // invoked for types that implement them. + DisableMethods bool + + // DisablePointerMethods specifies whether or not to check for and invoke + // error and Stringer interfaces on types which only accept a pointer + // receiver when the current type is not a pointer. + // + // NOTE: This might be an unsafe action since calling one of these methods + // with a pointer receiver could technically mutate the value, however, + // in practice, types which choose to satisify an error or Stringer + // interface with a pointer receiver should not be mutating their state + // inside these interface methods. As a result, this option relies on + // access to the unsafe package, so it will not have any effect when + // running in environments without access to the unsafe package such as + // Google App Engine or with the "safe" build tag specified. + DisablePointerMethods bool + + // DisablePointerAddresses specifies whether to disable the printing of + // pointer addresses. This is useful when diffing data structures in tests. + DisablePointerAddresses bool + + // DisableCapacities specifies whether to disable the printing of capacities + // for arrays, slices, maps and channels. This is useful when diffing + // data structures in tests. + DisableCapacities bool + + // ContinueOnMethod specifies whether or not recursion should continue once + // a custom error or Stringer interface is invoked. The default, false, + // means it will print the results of invoking the custom error or Stringer + // interface and return immediately instead of continuing to recurse into + // the internals of the data type. + // + // NOTE: This flag does not have any effect if method invocation is disabled + // via the DisableMethods or DisablePointerMethods options. + ContinueOnMethod bool + + // SortKeys specifies map keys should be sorted before being printed. Use + // this to have a more deterministic, diffable output. Note that only + // native types (bool, int, uint, floats, uintptr and string) and types + // that support the error or Stringer interfaces (if methods are + // enabled) are supported, with other types sorted according to the + // reflect.Value.String() output which guarantees display stability. + SortKeys bool + + // SpewKeys specifies that, as a last resort attempt, map keys should + // be spewed to strings and sorted by those strings. This is only + // considered if SortKeys is true. + SpewKeys bool +} + +// Config is the active configuration of the top-level functions. +// The configuration can be changed by modifying the contents of spew.Config. +var Config = ConfigState{Indent: " "} + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the formatted string as a value that satisfies error. See NewFormatter +// for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, c.convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, c.convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, c.convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a Formatter interface returned by c.NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, c.convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Print(a ...interface{}) (n int, err error) { + return fmt.Print(c.convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, c.convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Println(a ...interface{}) (n int, err error) { + return fmt.Println(c.convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprint(a ...interface{}) string { + return fmt.Sprint(c.convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a Formatter interface returned by c.NewFormatter. It returns +// the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, c.convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a Formatter interface returned by c.NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(c.NewFormatter(a), c.NewFormatter(b)) +func (c *ConfigState) Sprintln(a ...interface{}) string { + return fmt.Sprintln(c.convertArgs(a)...) +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), and %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +c.Printf, c.Println, or c.Printf. +*/ +func (c *ConfigState) NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(c, v) +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func (c *ConfigState) Fdump(w io.Writer, a ...interface{}) { + fdump(c, w, a...) +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by modifying the public members +of c. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func (c *ConfigState) Dump(a ...interface{}) { + fdump(c, os.Stdout, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func (c *ConfigState) Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(c, &buf, a...) + return buf.String() +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a spew Formatter interface using +// the ConfigState associated with s. +func (c *ConfigState) convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = newFormatter(c, arg) + } + return formatters +} + +// NewDefaultConfig returns a ConfigState with the following default settings. +// +// Indent: " " +// MaxDepth: 0 +// DisableMethods: false +// DisablePointerMethods: false +// ContinueOnMethod: false +// SortKeys: false +func NewDefaultConfig() *ConfigState { + return &ConfigState{Indent: " "} +} diff --git a/vendor/github.com/davecgh/go-spew/spew/doc.go b/vendor/github.com/davecgh/go-spew/spew/doc.go new file mode 100644 index 000000000..aacaac6f1 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/doc.go @@ -0,0 +1,211 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +/* +Package spew implements a deep pretty printer for Go data structures to aid in +debugging. + +A quick overview of the additional features spew provides over the built-in +printing facilities for Go data types are as follows: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output (only when using + Dump style) + +There are two different approaches spew allows for dumping Go data structures: + + * Dump style which prints with newlines, customizable indentation, + and additional debug information such as types and all pointer addresses + used to indirect to the final value + * A custom Formatter interface that integrates cleanly with the standard fmt + package and replaces %v, %+v, %#v, and %#+v to provide inline printing + similar to the default %v while providing the additional functionality + outlined above and passing unsupported format verbs such as %x and %q + along to fmt + +Quick Start + +This section demonstrates how to quickly get started with spew. See the +sections below for further details on formatting and configuration options. + +To dump a variable with full newlines, indentation, type, and pointer +information use Dump, Fdump, or Sdump: + spew.Dump(myVar1, myVar2, ...) + spew.Fdump(someWriter, myVar1, myVar2, ...) + str := spew.Sdump(myVar1, myVar2, ...) + +Alternatively, if you would prefer to use format strings with a compacted inline +printing style, use the convenience wrappers Printf, Fprintf, etc with +%v (most compact), %+v (adds pointer addresses), %#v (adds types), or +%#+v (adds types and pointer addresses): + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Fprintf(someWriter, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(someWriter, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +Configuration Options + +Configuration of spew is handled by fields in the ConfigState type. For +convenience, all of the top-level functions use a global state available +via the spew.Config global. + +It is also possible to create a ConfigState instance that provides methods +equivalent to the top-level functions. This allows concurrent configuration +options. See the ConfigState documentation for more details. + +The following configuration options are available: + * Indent + String to use for each indentation level for Dump functions. + It is a single space by default. A popular alternative is "\t". + + * MaxDepth + Maximum number of levels to descend into nested data structures. + There is no limit by default. + + * DisableMethods + Disables invocation of error and Stringer interface methods. + Method invocation is enabled by default. + + * DisablePointerMethods + Disables invocation of error and Stringer interface methods on types + which only accept pointer receivers from non-pointer variables. + Pointer method invocation is enabled by default. + + * DisablePointerAddresses + DisablePointerAddresses specifies whether to disable the printing of + pointer addresses. This is useful when diffing data structures in tests. + + * DisableCapacities + DisableCapacities specifies whether to disable the printing of + capacities for arrays, slices, maps and channels. This is useful when + diffing data structures in tests. + + * ContinueOnMethod + Enables recursion into types after invoking error and Stringer interface + methods. Recursion after method invocation is disabled by default. + + * SortKeys + Specifies map keys should be sorted before being printed. Use + this to have a more deterministic, diffable output. Note that + only native types (bool, int, uint, floats, uintptr and string) + and types which implement error or Stringer interfaces are + supported with other types sorted according to the + reflect.Value.String() output which guarantees display + stability. Natural map order is used by default. + + * SpewKeys + Specifies that, as a last resort attempt, map keys should be + spewed to strings and sorted by those strings. This is only + considered if SortKeys is true. + +Dump Usage + +Simply call spew.Dump with a list of variables you want to dump: + + spew.Dump(myVar1, myVar2, ...) + +You may also call spew.Fdump if you would prefer to output to an arbitrary +io.Writer. For example, to dump to standard error: + + spew.Fdump(os.Stderr, myVar1, myVar2, ...) + +A third option is to call spew.Sdump to get the formatted output as a string: + + str := spew.Sdump(myVar1, myVar2, ...) + +Sample Dump Output + +See the Dump example for details on the setup of the types and variables being +shown here. + + (main.Foo) { + unexportedField: (*main.Bar)(0xf84002e210)({ + flag: (main.Flag) flagTwo, + data: (uintptr) + }), + ExportedField: (map[interface {}]interface {}) (len=1) { + (string) (len=3) "one": (bool) true + } + } + +Byte (and uint8) arrays and slices are displayed uniquely like the hexdump -C +command as shown. + ([]uint8) (len=32 cap=32) { + 00000000 11 12 13 14 15 16 17 18 19 1a 1b 1c 1d 1e 1f 20 |............... | + 00000010 21 22 23 24 25 26 27 28 29 2a 2b 2c 2d 2e 2f 30 |!"#$%&'()*+,-./0| + 00000020 31 32 |12| + } + +Custom Formatter + +Spew provides a custom formatter that implements the fmt.Formatter interface +so that it integrates cleanly with standard fmt package printing functions. The +formatter is useful for inline printing of smaller data types similar to the +standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Custom Formatter Usage + +The simplest way to make use of the spew custom formatter is to call one of the +convenience functions such as spew.Printf, spew.Println, or spew.Printf. The +functions have syntax you are most likely already familiar with: + + spew.Printf("myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Printf("myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + spew.Println(myVar, myVar2) + spew.Fprintf(os.Stderr, "myVar1: %v -- myVar2: %+v", myVar1, myVar2) + spew.Fprintf(os.Stderr, "myVar3: %#v -- myVar4: %#+v", myVar3, myVar4) + +See the Index for the full list convenience functions. + +Sample Formatter Output + +Double pointer to a uint8: + %v: <**>5 + %+v: <**>(0xf8400420d0->0xf8400420c8)5 + %#v: (**uint8)5 + %#+v: (**uint8)(0xf8400420d0->0xf8400420c8)5 + +Pointer to circular struct with a uint8 field and a pointer to itself: + %v: <*>{1 <*>} + %+v: <*>(0xf84003e260){ui8:1 c:<*>(0xf84003e260)} + %#v: (*main.circular){ui8:(uint8)1 c:(*main.circular)} + %#+v: (*main.circular)(0xf84003e260){ui8:(uint8)1 c:(*main.circular)(0xf84003e260)} + +See the Printf example for details on the setup of variables being shown +here. + +Errors + +Since it is possible for custom Stringer/error interfaces to panic, spew +detects them and handles them internally by printing the panic information +inline with the output. Since spew is intended to provide deep pretty printing +capabilities on structures, it intentionally does not return any errors. +*/ +package spew diff --git a/vendor/github.com/davecgh/go-spew/spew/dump.go b/vendor/github.com/davecgh/go-spew/spew/dump.go new file mode 100644 index 000000000..f78d89fc1 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/dump.go @@ -0,0 +1,509 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "encoding/hex" + "fmt" + "io" + "os" + "reflect" + "regexp" + "strconv" + "strings" +) + +var ( + // uint8Type is a reflect.Type representing a uint8. It is used to + // convert cgo types to uint8 slices for hexdumping. + uint8Type = reflect.TypeOf(uint8(0)) + + // cCharRE is a regular expression that matches a cgo char. + // It is used to detect character arrays to hexdump them. + cCharRE = regexp.MustCompile(`^.*\._Ctype_char$`) + + // cUnsignedCharRE is a regular expression that matches a cgo unsigned + // char. It is used to detect unsigned character arrays to hexdump + // them. + cUnsignedCharRE = regexp.MustCompile(`^.*\._Ctype_unsignedchar$`) + + // cUint8tCharRE is a regular expression that matches a cgo uint8_t. + // It is used to detect uint8_t arrays to hexdump them. + cUint8tCharRE = regexp.MustCompile(`^.*\._Ctype_uint8_t$`) +) + +// dumpState contains information about the state of a dump operation. +type dumpState struct { + w io.Writer + depth int + pointers map[uintptr]int + ignoreNextType bool + ignoreNextIndent bool + cs *ConfigState +} + +// indent performs indentation according to the depth level and cs.Indent +// option. +func (d *dumpState) indent() { + if d.ignoreNextIndent { + d.ignoreNextIndent = false + return + } + d.w.Write(bytes.Repeat([]byte(d.cs.Indent), d.depth)) +} + +// unpackValue returns values inside of non-nil interfaces when possible. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (d *dumpState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface && !v.IsNil() { + v = v.Elem() + } + return v +} + +// dumpPtr handles formatting of pointers by indirecting them as necessary. +func (d *dumpState) dumpPtr(v reflect.Value) { + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range d.pointers { + if depth >= d.depth { + delete(d.pointers, k) + } + } + + // Keep list of all dereferenced pointers to show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by dereferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := d.pointers[addr]; ok && pd < d.depth { + cycleFound = true + indirects-- + break + } + d.pointers[addr] = d.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type information. + d.w.Write(openParenBytes) + d.w.Write(bytes.Repeat(asteriskBytes, indirects)) + d.w.Write([]byte(ve.Type().String())) + d.w.Write(closeParenBytes) + + // Display pointer information. + if !d.cs.DisablePointerAddresses && len(pointerChain) > 0 { + d.w.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + d.w.Write(pointerChainBytes) + } + printHexPtr(d.w, addr) + } + d.w.Write(closeParenBytes) + } + + // Display dereferenced value. + d.w.Write(openParenBytes) + switch { + case nilFound: + d.w.Write(nilAngleBytes) + + case cycleFound: + d.w.Write(circularBytes) + + default: + d.ignoreNextType = true + d.dump(ve) + } + d.w.Write(closeParenBytes) +} + +// dumpSlice handles formatting of arrays and slices. Byte (uint8 under +// reflection) arrays and slices are dumped in hexdump -C fashion. +func (d *dumpState) dumpSlice(v reflect.Value) { + // Determine whether this type should be hex dumped or not. Also, + // for types which should be hexdumped, try to use the underlying data + // first, then fall back to trying to convert them to a uint8 slice. + var buf []uint8 + doConvert := false + doHexDump := false + numEntries := v.Len() + if numEntries > 0 { + vt := v.Index(0).Type() + vts := vt.String() + switch { + // C types that need to be converted. + case cCharRE.MatchString(vts): + fallthrough + case cUnsignedCharRE.MatchString(vts): + fallthrough + case cUint8tCharRE.MatchString(vts): + doConvert = true + + // Try to use existing uint8 slices and fall back to converting + // and copying if that fails. + case vt.Kind() == reflect.Uint8: + // We need an addressable interface to convert the type + // to a byte slice. However, the reflect package won't + // give us an interface on certain things like + // unexported struct fields in order to enforce + // visibility rules. We use unsafe, when available, to + // bypass these restrictions since this package does not + // mutate the values. + vs := v + if !vs.CanInterface() || !vs.CanAddr() { + vs = unsafeReflectValue(vs) + } + if !UnsafeDisabled { + vs = vs.Slice(0, numEntries) + + // Use the existing uint8 slice if it can be + // type asserted. + iface := vs.Interface() + if slice, ok := iface.([]uint8); ok { + buf = slice + doHexDump = true + break + } + } + + // The underlying data needs to be converted if it can't + // be type asserted to a uint8 slice. + doConvert = true + } + + // Copy and convert the underlying type if needed. + if doConvert && vt.ConvertibleTo(uint8Type) { + // Convert and copy each element into a uint8 byte + // slice. + buf = make([]uint8, numEntries) + for i := 0; i < numEntries; i++ { + vv := v.Index(i) + buf[i] = uint8(vv.Convert(uint8Type).Uint()) + } + doHexDump = true + } + } + + // Hexdump the entire slice as needed. + if doHexDump { + indent := strings.Repeat(d.cs.Indent, d.depth) + str := indent + hex.Dump(buf) + str = strings.Replace(str, "\n", "\n"+indent, -1) + str = strings.TrimRight(str, d.cs.Indent) + d.w.Write([]byte(str)) + return + } + + // Recursively call dump for each item. + for i := 0; i < numEntries; i++ { + d.dump(d.unpackValue(v.Index(i))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } +} + +// dump is the main workhorse for dumping a value. It uses the passed reflect +// value to figure out what kind of object we are dealing with and formats it +// appropriately. It is a recursive function, however circular data structures +// are detected and handled properly. +func (d *dumpState) dump(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + d.w.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + d.indent() + d.dumpPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !d.ignoreNextType { + d.indent() + d.w.Write(openParenBytes) + d.w.Write([]byte(v.Type().String())) + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + d.ignoreNextType = false + + // Display length and capacity if the built-in len and cap functions + // work with the value's kind and the len/cap itself is non-zero. + valueLen, valueCap := 0, 0 + switch v.Kind() { + case reflect.Array, reflect.Slice, reflect.Chan: + valueLen, valueCap = v.Len(), v.Cap() + case reflect.Map, reflect.String: + valueLen = v.Len() + } + if valueLen != 0 || !d.cs.DisableCapacities && valueCap != 0 { + d.w.Write(openParenBytes) + if valueLen != 0 { + d.w.Write(lenEqualsBytes) + printInt(d.w, int64(valueLen), 10) + } + if !d.cs.DisableCapacities && valueCap != 0 { + if valueLen != 0 { + d.w.Write(spaceBytes) + } + d.w.Write(capEqualsBytes) + printInt(d.w, int64(valueCap), 10) + } + d.w.Write(closeParenBytes) + d.w.Write(spaceBytes) + } + + // Call Stringer/error interfaces if they exist and the handle methods flag + // is enabled + if !d.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(d.cs, d.w, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(d.w, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(d.w, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(d.w, v.Uint(), 10) + + case reflect.Float32: + printFloat(d.w, v.Float(), 32) + + case reflect.Float64: + printFloat(d.w, v.Float(), 64) + + case reflect.Complex64: + printComplex(d.w, v.Complex(), 32) + + case reflect.Complex128: + printComplex(d.w, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + d.dumpSlice(v) + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.String: + d.w.Write([]byte(strconv.Quote(v.String()))) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + d.w.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + d.w.Write(nilAngleBytes) + break + } + + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + numEntries := v.Len() + keys := v.MapKeys() + if d.cs.SortKeys { + sortValues(keys, d.cs) + } + for i, key := range keys { + d.dump(d.unpackValue(key)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.MapIndex(key))) + if i < (numEntries - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Struct: + d.w.Write(openBraceNewlineBytes) + d.depth++ + if (d.cs.MaxDepth != 0) && (d.depth > d.cs.MaxDepth) { + d.indent() + d.w.Write(maxNewlineBytes) + } else { + vt := v.Type() + numFields := v.NumField() + for i := 0; i < numFields; i++ { + d.indent() + vtf := vt.Field(i) + d.w.Write([]byte(vtf.Name)) + d.w.Write(colonSpaceBytes) + d.ignoreNextIndent = true + d.dump(d.unpackValue(v.Field(i))) + if i < (numFields - 1) { + d.w.Write(commaNewlineBytes) + } else { + d.w.Write(newlineBytes) + } + } + } + d.depth-- + d.indent() + d.w.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(d.w, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(d.w, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it in case any new + // types are added. + default: + if v.CanInterface() { + fmt.Fprintf(d.w, "%v", v.Interface()) + } else { + fmt.Fprintf(d.w, "%v", v.String()) + } + } +} + +// fdump is a helper function to consolidate the logic from the various public +// methods which take varying writers and config states. +func fdump(cs *ConfigState, w io.Writer, a ...interface{}) { + for _, arg := range a { + if arg == nil { + w.Write(interfaceBytes) + w.Write(spaceBytes) + w.Write(nilAngleBytes) + w.Write(newlineBytes) + continue + } + + d := dumpState{w: w, cs: cs} + d.pointers = make(map[uintptr]int) + d.dump(reflect.ValueOf(arg)) + d.w.Write(newlineBytes) + } +} + +// Fdump formats and displays the passed arguments to io.Writer w. It formats +// exactly the same as Dump. +func Fdump(w io.Writer, a ...interface{}) { + fdump(&Config, w, a...) +} + +// Sdump returns a string with the passed arguments formatted exactly the same +// as Dump. +func Sdump(a ...interface{}) string { + var buf bytes.Buffer + fdump(&Config, &buf, a...) + return buf.String() +} + +/* +Dump displays the passed parameters to standard out with newlines, customizable +indentation, and additional debug information such as complete types and all +pointer addresses used to indirect to the final value. It provides the +following features over the built-in printing facilities provided by the fmt +package: + + * Pointers are dereferenced and followed + * Circular data structures are detected and handled properly + * Custom Stringer/error interfaces are optionally invoked, including + on unexported types + * Custom types which only implement the Stringer/error interfaces via + a pointer receiver are optionally invoked when passing non-pointer + variables + * Byte arrays and slices are dumped like the hexdump -C command which + includes offsets, byte values in hex, and ASCII output + +The configuration options are controlled by an exported package global, +spew.Config. See ConfigState for options documentation. + +See Fdump if you would prefer dumping to an arbitrary io.Writer or Sdump to +get the formatted result as a string. +*/ +func Dump(a ...interface{}) { + fdump(&Config, os.Stdout, a...) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/format.go b/vendor/github.com/davecgh/go-spew/spew/format.go new file mode 100644 index 000000000..b04edb7d7 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/format.go @@ -0,0 +1,419 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "bytes" + "fmt" + "reflect" + "strconv" + "strings" +) + +// supportedFlags is a list of all the character flags supported by fmt package. +const supportedFlags = "0-+# " + +// formatState implements the fmt.Formatter interface and contains information +// about the state of a formatting operation. The NewFormatter function can +// be used to get a new Formatter which can be used directly as arguments +// in standard fmt package printing calls. +type formatState struct { + value interface{} + fs fmt.State + depth int + pointers map[uintptr]int + ignoreNextType bool + cs *ConfigState +} + +// buildDefaultFormat recreates the original format string without precision +// and width information to pass in to fmt.Sprintf in the case of an +// unrecognized type. Unless new types are added to the language, this +// function won't ever be called. +func (f *formatState) buildDefaultFormat() (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + buf.WriteRune('v') + + format = buf.String() + return format +} + +// constructOrigFormat recreates the original format string including precision +// and width information to pass along to the standard fmt package. This allows +// automatic deferral of all format strings this package doesn't support. +func (f *formatState) constructOrigFormat(verb rune) (format string) { + buf := bytes.NewBuffer(percentBytes) + + for _, flag := range supportedFlags { + if f.fs.Flag(int(flag)) { + buf.WriteRune(flag) + } + } + + if width, ok := f.fs.Width(); ok { + buf.WriteString(strconv.Itoa(width)) + } + + if precision, ok := f.fs.Precision(); ok { + buf.Write(precisionBytes) + buf.WriteString(strconv.Itoa(precision)) + } + + buf.WriteRune(verb) + + format = buf.String() + return format +} + +// unpackValue returns values inside of non-nil interfaces when possible and +// ensures that types for values which have been unpacked from an interface +// are displayed when the show types flag is also set. +// This is useful for data types like structs, arrays, slices, and maps which +// can contain varying types packed inside an interface. +func (f *formatState) unpackValue(v reflect.Value) reflect.Value { + if v.Kind() == reflect.Interface { + f.ignoreNextType = false + if !v.IsNil() { + v = v.Elem() + } + } + return v +} + +// formatPtr handles formatting of pointers by indirecting them as necessary. +func (f *formatState) formatPtr(v reflect.Value) { + // Display nil if top level pointer is nil. + showTypes := f.fs.Flag('#') + if v.IsNil() && (!showTypes || f.ignoreNextType) { + f.fs.Write(nilAngleBytes) + return + } + + // Remove pointers at or below the current depth from map used to detect + // circular refs. + for k, depth := range f.pointers { + if depth >= f.depth { + delete(f.pointers, k) + } + } + + // Keep list of all dereferenced pointers to possibly show later. + pointerChain := make([]uintptr, 0) + + // Figure out how many levels of indirection there are by derferencing + // pointers and unpacking interfaces down the chain while detecting circular + // references. + nilFound := false + cycleFound := false + indirects := 0 + ve := v + for ve.Kind() == reflect.Ptr { + if ve.IsNil() { + nilFound = true + break + } + indirects++ + addr := ve.Pointer() + pointerChain = append(pointerChain, addr) + if pd, ok := f.pointers[addr]; ok && pd < f.depth { + cycleFound = true + indirects-- + break + } + f.pointers[addr] = f.depth + + ve = ve.Elem() + if ve.Kind() == reflect.Interface { + if ve.IsNil() { + nilFound = true + break + } + ve = ve.Elem() + } + } + + // Display type or indirection level depending on flags. + if showTypes && !f.ignoreNextType { + f.fs.Write(openParenBytes) + f.fs.Write(bytes.Repeat(asteriskBytes, indirects)) + f.fs.Write([]byte(ve.Type().String())) + f.fs.Write(closeParenBytes) + } else { + if nilFound || cycleFound { + indirects += strings.Count(ve.Type().String(), "*") + } + f.fs.Write(openAngleBytes) + f.fs.Write([]byte(strings.Repeat("*", indirects))) + f.fs.Write(closeAngleBytes) + } + + // Display pointer information depending on flags. + if f.fs.Flag('+') && (len(pointerChain) > 0) { + f.fs.Write(openParenBytes) + for i, addr := range pointerChain { + if i > 0 { + f.fs.Write(pointerChainBytes) + } + printHexPtr(f.fs, addr) + } + f.fs.Write(closeParenBytes) + } + + // Display dereferenced value. + switch { + case nilFound: + f.fs.Write(nilAngleBytes) + + case cycleFound: + f.fs.Write(circularShortBytes) + + default: + f.ignoreNextType = true + f.format(ve) + } +} + +// format is the main workhorse for providing the Formatter interface. It +// uses the passed reflect value to figure out what kind of object we are +// dealing with and formats it appropriately. It is a recursive function, +// however circular data structures are detected and handled properly. +func (f *formatState) format(v reflect.Value) { + // Handle invalid reflect values immediately. + kind := v.Kind() + if kind == reflect.Invalid { + f.fs.Write(invalidAngleBytes) + return + } + + // Handle pointers specially. + if kind == reflect.Ptr { + f.formatPtr(v) + return + } + + // Print type information unless already handled elsewhere. + if !f.ignoreNextType && f.fs.Flag('#') { + f.fs.Write(openParenBytes) + f.fs.Write([]byte(v.Type().String())) + f.fs.Write(closeParenBytes) + } + f.ignoreNextType = false + + // Call Stringer/error interfaces if they exist and the handle methods + // flag is enabled. + if !f.cs.DisableMethods { + if (kind != reflect.Invalid) && (kind != reflect.Interface) { + if handled := handleMethods(f.cs, f.fs, v); handled { + return + } + } + } + + switch kind { + case reflect.Invalid: + // Do nothing. We should never get here since invalid has already + // been handled above. + + case reflect.Bool: + printBool(f.fs, v.Bool()) + + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Int: + printInt(f.fs, v.Int(), 10) + + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + printUint(f.fs, v.Uint(), 10) + + case reflect.Float32: + printFloat(f.fs, v.Float(), 32) + + case reflect.Float64: + printFloat(f.fs, v.Float(), 64) + + case reflect.Complex64: + printComplex(f.fs, v.Complex(), 32) + + case reflect.Complex128: + printComplex(f.fs, v.Complex(), 64) + + case reflect.Slice: + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + fallthrough + + case reflect.Array: + f.fs.Write(openBracketBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + numEntries := v.Len() + for i := 0; i < numEntries; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(v.Index(i))) + } + } + f.depth-- + f.fs.Write(closeBracketBytes) + + case reflect.String: + f.fs.Write([]byte(v.String())) + + case reflect.Interface: + // The only time we should get here is for nil interfaces due to + // unpackValue calls. + if v.IsNil() { + f.fs.Write(nilAngleBytes) + } + + case reflect.Ptr: + // Do nothing. We should never get here since pointers have already + // been handled above. + + case reflect.Map: + // nil maps should be indicated as different than empty maps + if v.IsNil() { + f.fs.Write(nilAngleBytes) + break + } + + f.fs.Write(openMapBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + keys := v.MapKeys() + if f.cs.SortKeys { + sortValues(keys, f.cs) + } + for i, key := range keys { + if i > 0 { + f.fs.Write(spaceBytes) + } + f.ignoreNextType = true + f.format(f.unpackValue(key)) + f.fs.Write(colonBytes) + f.ignoreNextType = true + f.format(f.unpackValue(v.MapIndex(key))) + } + } + f.depth-- + f.fs.Write(closeMapBytes) + + case reflect.Struct: + numFields := v.NumField() + f.fs.Write(openBraceBytes) + f.depth++ + if (f.cs.MaxDepth != 0) && (f.depth > f.cs.MaxDepth) { + f.fs.Write(maxShortBytes) + } else { + vt := v.Type() + for i := 0; i < numFields; i++ { + if i > 0 { + f.fs.Write(spaceBytes) + } + vtf := vt.Field(i) + if f.fs.Flag('+') || f.fs.Flag('#') { + f.fs.Write([]byte(vtf.Name)) + f.fs.Write(colonBytes) + } + f.format(f.unpackValue(v.Field(i))) + } + } + f.depth-- + f.fs.Write(closeBraceBytes) + + case reflect.Uintptr: + printHexPtr(f.fs, uintptr(v.Uint())) + + case reflect.UnsafePointer, reflect.Chan, reflect.Func: + printHexPtr(f.fs, v.Pointer()) + + // There were not any other types at the time this code was written, but + // fall back to letting the default fmt package handle it if any get added. + default: + format := f.buildDefaultFormat() + if v.CanInterface() { + fmt.Fprintf(f.fs, format, v.Interface()) + } else { + fmt.Fprintf(f.fs, format, v.String()) + } + } +} + +// Format satisfies the fmt.Formatter interface. See NewFormatter for usage +// details. +func (f *formatState) Format(fs fmt.State, verb rune) { + f.fs = fs + + // Use standard formatting for verbs that are not v. + if verb != 'v' { + format := f.constructOrigFormat(verb) + fmt.Fprintf(fs, format, f.value) + return + } + + if f.value == nil { + if fs.Flag('#') { + fs.Write(interfaceBytes) + } + fs.Write(nilAngleBytes) + return + } + + f.format(reflect.ValueOf(f.value)) +} + +// newFormatter is a helper function to consolidate the logic from the various +// public methods which take varying config states. +func newFormatter(cs *ConfigState, v interface{}) fmt.Formatter { + fs := &formatState{value: v, cs: cs} + fs.pointers = make(map[uintptr]int) + return fs +} + +/* +NewFormatter returns a custom formatter that satisfies the fmt.Formatter +interface. As a result, it integrates cleanly with standard fmt package +printing functions. The formatter is useful for inline printing of smaller data +types similar to the standard %v format specifier. + +The custom formatter only responds to the %v (most compact), %+v (adds pointer +addresses), %#v (adds types), or %#+v (adds types and pointer addresses) verb +combinations. Any other verbs such as %x and %q will be sent to the the +standard fmt package for formatting. In addition, the custom formatter ignores +the width and precision arguments (however they will still work on the format +specifiers not handled by the custom formatter). + +Typically this function shouldn't be called directly. It is much easier to make +use of the custom formatter by calling one of the convenience functions such as +Printf, Println, or Fprintf. +*/ +func NewFormatter(v interface{}) fmt.Formatter { + return newFormatter(&Config, v) +} diff --git a/vendor/github.com/davecgh/go-spew/spew/spew.go b/vendor/github.com/davecgh/go-spew/spew/spew.go new file mode 100644 index 000000000..32c0e3388 --- /dev/null +++ b/vendor/github.com/davecgh/go-spew/spew/spew.go @@ -0,0 +1,148 @@ +/* + * Copyright (c) 2013-2016 Dave Collins + * + * Permission to use, copy, modify, and distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +package spew + +import ( + "fmt" + "io" +) + +// Errorf is a wrapper for fmt.Errorf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the formatted string as a value that satisfies error. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Errorf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Errorf(format string, a ...interface{}) (err error) { + return fmt.Errorf(format, convertArgs(a)...) +} + +// Fprint is a wrapper for fmt.Fprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprint(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprint(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprint(w, convertArgs(a)...) +} + +// Fprintf is a wrapper for fmt.Fprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintf(w, format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintf(w io.Writer, format string, a ...interface{}) (n int, err error) { + return fmt.Fprintf(w, format, convertArgs(a)...) +} + +// Fprintln is a wrapper for fmt.Fprintln that treats each argument as if it +// passed with a default Formatter interface returned by NewFormatter. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Fprintln(w, spew.NewFormatter(a), spew.NewFormatter(b)) +func Fprintln(w io.Writer, a ...interface{}) (n int, err error) { + return fmt.Fprintln(w, convertArgs(a)...) +} + +// Print is a wrapper for fmt.Print that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Print(spew.NewFormatter(a), spew.NewFormatter(b)) +func Print(a ...interface{}) (n int, err error) { + return fmt.Print(convertArgs(a)...) +} + +// Printf is a wrapper for fmt.Printf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Printf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Printf(format string, a ...interface{}) (n int, err error) { + return fmt.Printf(format, convertArgs(a)...) +} + +// Println is a wrapper for fmt.Println that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the number of bytes written and any write error encountered. See +// NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Println(spew.NewFormatter(a), spew.NewFormatter(b)) +func Println(a ...interface{}) (n int, err error) { + return fmt.Println(convertArgs(a)...) +} + +// Sprint is a wrapper for fmt.Sprint that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprint(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprint(a ...interface{}) string { + return fmt.Sprint(convertArgs(a)...) +} + +// Sprintf is a wrapper for fmt.Sprintf that treats each argument as if it were +// passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintf(format, spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintf(format string, a ...interface{}) string { + return fmt.Sprintf(format, convertArgs(a)...) +} + +// Sprintln is a wrapper for fmt.Sprintln that treats each argument as if it +// were passed with a default Formatter interface returned by NewFormatter. It +// returns the resulting string. See NewFormatter for formatting details. +// +// This function is shorthand for the following syntax: +// +// fmt.Sprintln(spew.NewFormatter(a), spew.NewFormatter(b)) +func Sprintln(a ...interface{}) string { + return fmt.Sprintln(convertArgs(a)...) +} + +// convertArgs accepts a slice of arguments and returns a slice of the same +// length with each argument converted to a default spew Formatter interface. +func convertArgs(args []interface{}) (formatters []interface{}) { + formatters = make([]interface{}, len(args)) + for index, arg := range args { + formatters[index] = NewFormatter(arg) + } + return formatters +} diff --git a/vendor/github.com/dgrijalva/jwt-go/LICENSE b/vendor/github.com/dgrijalva/jwt-go/LICENSE new file mode 100644 index 000000000..df83a9c2f --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/LICENSE @@ -0,0 +1,8 @@ +Copyright (c) 2012 Dave Grijalva + +Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. + diff --git a/vendor/github.com/dgrijalva/jwt-go/MIGRATION_GUIDE.md b/vendor/github.com/dgrijalva/jwt-go/MIGRATION_GUIDE.md new file mode 100644 index 000000000..7fc1f793c --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/MIGRATION_GUIDE.md @@ -0,0 +1,97 @@ +## Migration Guide from v2 -> v3 + +Version 3 adds several new, frequently requested features. To do so, it introduces a few breaking changes. We've worked to keep these as minimal as possible. This guide explains the breaking changes and how you can quickly update your code. + +### `Token.Claims` is now an interface type + +The most requested feature from the 2.0 verison of this library was the ability to provide a custom type to the JSON parser for claims. This was implemented by introducing a new interface, `Claims`, to replace `map[string]interface{}`. We also included two concrete implementations of `Claims`: `MapClaims` and `StandardClaims`. + +`MapClaims` is an alias for `map[string]interface{}` with built in validation behavior. It is the default claims type when using `Parse`. The usage is unchanged except you must type cast the claims property. + +The old example for parsing a token looked like this.. + +```go + if token, err := jwt.Parse(tokenString, keyLookupFunc); err == nil { + fmt.Printf("Token for user %v expires %v", token.Claims["user"], token.Claims["exp"]) + } +``` + +is now directly mapped to... + +```go + if token, err := jwt.Parse(tokenString, keyLookupFunc); err == nil { + claims := token.Claims.(jwt.MapClaims) + fmt.Printf("Token for user %v expires %v", claims["user"], claims["exp"]) + } +``` + +`StandardClaims` is designed to be embedded in your custom type. You can supply a custom claims type with the new `ParseWithClaims` function. Here's an example of using a custom claims type. + +```go + type MyCustomClaims struct { + User string + *StandardClaims + } + + if token, err := jwt.ParseWithClaims(tokenString, &MyCustomClaims{}, keyLookupFunc); err == nil { + claims := token.Claims.(*MyCustomClaims) + fmt.Printf("Token for user %v expires %v", claims.User, claims.StandardClaims.ExpiresAt) + } +``` + +### `ParseFromRequest` has been moved + +To keep this library focused on the tokens without becoming overburdened with complex request processing logic, `ParseFromRequest` and its new companion `ParseFromRequestWithClaims` have been moved to a subpackage, `request`. The method signatues have also been augmented to receive a new argument: `Extractor`. + +`Extractors` do the work of picking the token string out of a request. The interface is simple and composable. + +This simple parsing example: + +```go + if token, err := jwt.ParseFromRequest(tokenString, req, keyLookupFunc); err == nil { + fmt.Printf("Token for user %v expires %v", token.Claims["user"], token.Claims["exp"]) + } +``` + +is directly mapped to: + +```go + if token, err := request.ParseFromRequest(req, request.OAuth2Extractor, keyLookupFunc); err == nil { + claims := token.Claims.(jwt.MapClaims) + fmt.Printf("Token for user %v expires %v", claims["user"], claims["exp"]) + } +``` + +There are several concrete `Extractor` types provided for your convenience: + +* `HeaderExtractor` will search a list of headers until one contains content. +* `ArgumentExtractor` will search a list of keys in request query and form arguments until one contains content. +* `MultiExtractor` will try a list of `Extractors` in order until one returns content. +* `AuthorizationHeaderExtractor` will look in the `Authorization` header for a `Bearer` token. +* `OAuth2Extractor` searches the places an OAuth2 token would be specified (per the spec): `Authorization` header and `access_token` argument +* `PostExtractionFilter` wraps an `Extractor`, allowing you to process the content before it's parsed. A simple example is stripping the `Bearer ` text from a header + + +### RSA signing methods no longer accept `[]byte` keys + +Due to a [critical vulnerability](https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/), we've decided the convenience of accepting `[]byte` instead of `rsa.PublicKey` or `rsa.PrivateKey` isn't worth the risk of misuse. + +To replace this behavior, we've added two helper methods: `ParseRSAPrivateKeyFromPEM(key []byte) (*rsa.PrivateKey, error)` and `ParseRSAPublicKeyFromPEM(key []byte) (*rsa.PublicKey, error)`. These are just simple helpers for unpacking PEM encoded PKCS1 and PKCS8 keys. If your keys are encoded any other way, all you need to do is convert them to the `crypto/rsa` package's types. + +```go + func keyLookupFunc(*Token) (interface{}, error) { + // Don't forget to validate the alg is what you expect: + if _, ok := token.Method.(*jwt.SigningMethodRSA); !ok { + return nil, fmt.Errorf("Unexpected signing method: %v", token.Header["alg"]) + } + + // Look up key + key, err := lookupPublicKey(token.Header["kid"]) + if err != nil { + return nil, err + } + + // Unpack key from PEM encoded PKCS8 + return jwt.ParseRSAPublicKeyFromPEM(key) + } +``` diff --git a/vendor/github.com/dgrijalva/jwt-go/README.md b/vendor/github.com/dgrijalva/jwt-go/README.md new file mode 100644 index 000000000..25aec486c --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/README.md @@ -0,0 +1,85 @@ +A [go](http://www.golang.org) (or 'golang' for search engine friendliness) implementation of [JSON Web Tokens](http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html) + +[![Build Status](https://travis-ci.org/dgrijalva/jwt-go.svg?branch=master)](https://travis-ci.org/dgrijalva/jwt-go) + +**BREAKING CHANGES:*** Version 3.0.0 is here. It includes _a lot_ of changes including a few that break the API. We've tried to break as few things as possible, so there should just be a few type signature changes. A full list of breaking changes is available in `VERSION_HISTORY.md`. See `MIGRATION_GUIDE.md` for more information on updating your code. + +**NOTICE:** It's important that you [validate the `alg` presented is what you expect](https://auth0.com/blog/2015/03/31/critical-vulnerabilities-in-json-web-token-libraries/). This library attempts to make it easy to do the right thing by requiring key types match the expected alg, but you should take the extra step to verify it in your usage. See the examples provided. + + +## What the heck is a JWT? + +JWT.io has [a great introduction](https://jwt.io/introduction) to JSON Web Tokens. + +In short, it's a signed JSON object that does something useful (for example, authentication). It's commonly used for `Bearer` tokens in Oauth 2. A token is made of three parts, separated by `.`'s. The first two parts are JSON objects, that have been [base64url](http://tools.ietf.org/html/rfc4648) encoded. The last part is the signature, encoded the same way. + +The first part is called the header. It contains the necessary information for verifying the last part, the signature. For example, which encryption method was used for signing and what key was used. + +The part in the middle is the interesting bit. It's called the Claims and contains the actual stuff you care about. Refer to [the RFC](http://self-issued.info/docs/draft-jones-json-web-token.html) for information about reserved keys and the proper way to add your own. + +## What's in the box? + +This library supports the parsing and verification as well as the generation and signing of JWTs. Current supported signing algorithms are HMAC SHA, RSA, RSA-PSS, and ECDSA, though hooks are present for adding your own. + +## Examples + +See [the project documentation](https://godoc.org/github.com/dgrijalva/jwt-go) for examples of usage: + +* [Simple example of parsing and validating a token](https://godoc.org/github.com/dgrijalva/jwt-go#example-Parse--Hmac) +* [Simple example of building and signing a token](https://godoc.org/github.com/dgrijalva/jwt-go#example-New--Hmac) +* [Directory of Examples](https://godoc.org/github.com/dgrijalva/jwt-go#pkg-examples) + +## Extensions + +This library publishes all the necessary components for adding your own signing methods. Simply implement the `SigningMethod` interface and register a factory method using `RegisterSigningMethod`. + +Here's an example of an extension that integrates with the Google App Engine signing tools: https://github.com/someone1/gcp-jwt-go + +## Compliance + +This library was last reviewed to comply with [RTF 7519](http://www.rfc-editor.org/info/rfc7519) dated May 2015 with a few notable differences: + +* In order to protect against accidental use of [Unsecured JWTs](http://self-issued.info/docs/draft-ietf-oauth-json-web-token.html#UnsecuredJWT), tokens using `alg=none` will only be accepted if the constant `jwt.UnsafeAllowNoneSignatureType` is provided as the key. + +## Project Status & Versioning + +This library is considered production ready. Feedback and feature requests are appreciated. The API should be considered stable. There should be very few backwards-incompatible changes outside of major version updates (and only with good reason). + +This project uses [Semantic Versioning 2.0.0](http://semver.org). Accepted pull requests will land on `master`. Periodically, versions will be tagged from `master`. You can find all the releases on [the project releases page](https://github.com/dgrijalva/jwt-go/releases). + +While we try to make it obvious when we make breaking changes, there isn't a great mechanism for pushing announcements out to users. You may want to use this alternative package include: `gopkg.in/dgrijalva/jwt-go.v2`. It will do the right thing WRT semantic versioning. + +## Usage Tips + +### Signing vs Encryption + +A token is simply a JSON object that is signed by its author. this tells you exactly two things about the data: + +* The author of the token was in the possession of the signing secret +* The data has not been modified since it was signed + +It's important to know that JWT does not provide encryption, which means anyone who has access to the token can read its contents. If you need to protect (encrypt) the data, there is a companion spec, `JWE`, that provides this functionality. JWE is currently outside the scope of this library. + +### Choosing a Signing Method + +There are several signing methods available, and you should probably take the time to learn about the various options before choosing one. The principal design decision is most likely going to be symmetric vs asymmetric. + +Symmetric signing methods, such as HSA, use only a single secret. This is probably the simplest signing method to use since any `[]byte` can be used as a valid secret. They are also slightly computationally faster to use, though this rarely is enough to matter. Symmetric signing methods work the best when both producers and consumers of tokens are trusted, or even the same system. Since the same secret is used to both sign and validate tokens, you can't easily distribute the key for validation. + +Asymmetric signing methods, such as RSA, use different keys for signing and verifying tokens. This makes it possible to produce tokens with a private key, and allow any consumer to access the public key for verification. + +### JWT and OAuth + +It's worth mentioning that OAuth and JWT are not the same thing. A JWT token is simply a signed JSON object. It can be used anywhere such a thing is useful. There is some confusion, though, as JWT is the most common type of bearer token used in OAuth2 authentication. + +Without going too far down the rabbit hole, here's a description of the interaction of these technologies: + +* OAuth is a protocol for allowing an identity provider to be separate from the service a user is logging in to. For example, whenever you use Facebook to log into a different service (Yelp, Spotify, etc), you are using OAuth. +* OAuth defines several options for passing around authentication data. One popular method is called a "bearer token". A bearer token is simply a string that _should_ only be held by an authenticated user. Thus, simply presenting this token proves your identity. You can probably derive from here why a JWT might make a good bearer token. +* Because bearer tokens are used for authentication, it's important they're kept secret. This is why transactions that use bearer tokens typically happen over SSL. + +## More + +Documentation can be found [on godoc.org](http://godoc.org/github.com/dgrijalva/jwt-go). + +The command line utility included in this project (cmd/jwt) provides a straightforward example of token creation and parsing as well as a useful tool for debugging your own integration. You'll also find several implementation examples in the documentation. diff --git a/vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md b/vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md new file mode 100644 index 000000000..b605b4509 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/VERSION_HISTORY.md @@ -0,0 +1,105 @@ +## `jwt-go` Version History + +#### 3.0.0 + +* **Compatibility Breaking Changes**: See MIGRATION_GUIDE.md for tips on updating your code + * Dropped support for `[]byte` keys when using RSA signing methods. This convenience feature could contribute to security vulnerabilities involving mismatched key types with signing methods. + * `ParseFromRequest` has been moved to `request` subpackage and usage has changed + * The `Claims` property on `Token` is now type `Claims` instead of `map[string]interface{}`. The default value is type `MapClaims`, which is an alias to `map[string]interface{}`. This makes it possible to use a custom type when decoding claims. +* Other Additions and Changes + * Added `Claims` interface type to allow users to decode the claims into a custom type + * Added `ParseWithClaims`, which takes a third argument of type `Claims`. Use this function instead of `Parse` if you have a custom type you'd like to decode into. + * Dramatically improved the functionality and flexibility of `ParseFromRequest`, which is now in the `request` subpackage + * Added `ParseFromRequestWithClaims` which is the `FromRequest` equivalent of `ParseWithClaims` + * Added new interface type `Extractor`, which is used for extracting JWT strings from http requests. Used with `ParseFromRequest` and `ParseFromRequestWithClaims`. + * Added several new, more specific, validation errors to error type bitmask + * Moved examples from README to executable example files + * Signing method registry is now thread safe + * Added new property to `ValidationError`, which contains the raw error returned by calls made by parse/verify (such as those returned by keyfunc or json parser) + +#### 2.7.0 + +This will likely be the last backwards compatible release before 3.0.0, excluding essential bug fixes. + +* Added new option `-show` to the `jwt` command that will just output the decoded token without verifying +* Error text for expired tokens includes how long it's been expired +* Fixed incorrect error returned from `ParseRSAPublicKeyFromPEM` +* Documentation updates + +#### 2.6.0 + +* Exposed inner error within ValidationError +* Fixed validation errors when using UseJSONNumber flag +* Added several unit tests + +#### 2.5.0 + +* Added support for signing method none. You shouldn't use this. The API tries to make this clear. +* Updated/fixed some documentation +* Added more helpful error message when trying to parse tokens that begin with `BEARER ` + +#### 2.4.0 + +* Added new type, Parser, to allow for configuration of various parsing parameters + * You can now specify a list of valid signing methods. Anything outside this set will be rejected. + * You can now opt to use the `json.Number` type instead of `float64` when parsing token JSON +* Added support for [Travis CI](https://travis-ci.org/dgrijalva/jwt-go) +* Fixed some bugs with ECDSA parsing + +#### 2.3.0 + +* Added support for ECDSA signing methods +* Added support for RSA PSS signing methods (requires go v1.4) + +#### 2.2.0 + +* Gracefully handle a `nil` `Keyfunc` being passed to `Parse`. Result will now be the parsed token and an error, instead of a panic. + +#### 2.1.0 + +Backwards compatible API change that was missed in 2.0.0. + +* The `SignedString` method on `Token` now takes `interface{}` instead of `[]byte` + +#### 2.0.0 + +There were two major reasons for breaking backwards compatibility with this update. The first was a refactor required to expand the width of the RSA and HMAC-SHA signing implementations. There will likely be no required code changes to support this change. + +The second update, while unfortunately requiring a small change in integration, is required to open up this library to other signing methods. Not all keys used for all signing methods have a single standard on-disk representation. Requiring `[]byte` as the type for all keys proved too limiting. Additionally, this implementation allows for pre-parsed tokens to be reused, which might matter in an application that parses a high volume of tokens with a small set of keys. Backwards compatibilty has been maintained for passing `[]byte` to the RSA signing methods, but they will also accept `*rsa.PublicKey` and `*rsa.PrivateKey`. + +It is likely the only integration change required here will be to change `func(t *jwt.Token) ([]byte, error)` to `func(t *jwt.Token) (interface{}, error)` when calling `Parse`. + +* **Compatibility Breaking Changes** + * `SigningMethodHS256` is now `*SigningMethodHMAC` instead of `type struct` + * `SigningMethodRS256` is now `*SigningMethodRSA` instead of `type struct` + * `KeyFunc` now returns `interface{}` instead of `[]byte` + * `SigningMethod.Sign` now takes `interface{}` instead of `[]byte` for the key + * `SigningMethod.Verify` now takes `interface{}` instead of `[]byte` for the key +* Renamed type `SigningMethodHS256` to `SigningMethodHMAC`. Specific sizes are now just instances of this type. + * Added public package global `SigningMethodHS256` + * Added public package global `SigningMethodHS384` + * Added public package global `SigningMethodHS512` +* Renamed type `SigningMethodRS256` to `SigningMethodRSA`. Specific sizes are now just instances of this type. + * Added public package global `SigningMethodRS256` + * Added public package global `SigningMethodRS384` + * Added public package global `SigningMethodRS512` +* Moved sample private key for HMAC tests from an inline value to a file on disk. Value is unchanged. +* Refactored the RSA implementation to be easier to read +* Exposed helper methods `ParseRSAPrivateKeyFromPEM` and `ParseRSAPublicKeyFromPEM` + +#### 1.0.2 + +* Fixed bug in parsing public keys from certificates +* Added more tests around the parsing of keys for RS256 +* Code refactoring in RS256 implementation. No functional changes + +#### 1.0.1 + +* Fixed panic if RS256 signing method was passed an invalid key + +#### 1.0.0 + +* First versioned release +* API stabilized +* Supports creating, signing, parsing, and validating JWT tokens +* Supports RS256 and HS256 signing methods \ No newline at end of file diff --git a/vendor/github.com/dgrijalva/jwt-go/claims.go b/vendor/github.com/dgrijalva/jwt-go/claims.go new file mode 100644 index 000000000..f0228f02e --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/claims.go @@ -0,0 +1,134 @@ +package jwt + +import ( + "crypto/subtle" + "fmt" + "time" +) + +// For a type to be a Claims object, it must just have a Valid method that determines +// if the token is invalid for any supported reason +type Claims interface { + Valid() error +} + +// Structured version of Claims Section, as referenced at +// https://tools.ietf.org/html/rfc7519#section-4.1 +// See examples for how to use this with your own claim types +type StandardClaims struct { + Audience string `json:"aud,omitempty"` + ExpiresAt int64 `json:"exp,omitempty"` + Id string `json:"jti,omitempty"` + IssuedAt int64 `json:"iat,omitempty"` + Issuer string `json:"iss,omitempty"` + NotBefore int64 `json:"nbf,omitempty"` + Subject string `json:"sub,omitempty"` +} + +// Validates time based claims "exp, iat, nbf". +// There is no accounting for clock skew. +// As well, if any of the above claims are not in the token, it will still +// be considered a valid claim. +func (c StandardClaims) Valid() error { + vErr := new(ValidationError) + now := TimeFunc().Unix() + + // The claims below are optional, by default, so if they are set to the + // default value in Go, let's not fail the verification for them. + if c.VerifyExpiresAt(now, false) == false { + delta := time.Unix(now, 0).Sub(time.Unix(c.ExpiresAt, 0)) + vErr.Inner = fmt.Errorf("token is expired by %v", delta) + vErr.Errors |= ValidationErrorExpired + } + + if c.VerifyIssuedAt(now, false) == false { + vErr.Inner = fmt.Errorf("Token used before issued") + vErr.Errors |= ValidationErrorIssuedAt + } + + if c.VerifyNotBefore(now, false) == false { + vErr.Inner = fmt.Errorf("token is not valid yet") + vErr.Errors |= ValidationErrorNotValidYet + } + + if vErr.valid() { + return nil + } + + return vErr +} + +// Compares the aud claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyAudience(cmp string, req bool) bool { + return verifyAud(c.Audience, cmp, req) +} + +// Compares the exp claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyExpiresAt(cmp int64, req bool) bool { + return verifyExp(c.ExpiresAt, cmp, req) +} + +// Compares the iat claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyIssuedAt(cmp int64, req bool) bool { + return verifyIat(c.IssuedAt, cmp, req) +} + +// Compares the iss claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyIssuer(cmp string, req bool) bool { + return verifyIss(c.Issuer, cmp, req) +} + +// Compares the nbf claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (c *StandardClaims) VerifyNotBefore(cmp int64, req bool) bool { + return verifyNbf(c.NotBefore, cmp, req) +} + +// ----- helpers + +func verifyAud(aud string, cmp string, required bool) bool { + if aud == "" { + return !required + } + if subtle.ConstantTimeCompare([]byte(aud), []byte(cmp)) != 0 { + return true + } else { + return false + } +} + +func verifyExp(exp int64, now int64, required bool) bool { + if exp == 0 { + return !required + } + return now <= exp +} + +func verifyIat(iat int64, now int64, required bool) bool { + if iat == 0 { + return !required + } + return now >= iat +} + +func verifyIss(iss string, cmp string, required bool) bool { + if iss == "" { + return !required + } + if subtle.ConstantTimeCompare([]byte(iss), []byte(cmp)) != 0 { + return true + } else { + return false + } +} + +func verifyNbf(nbf int64, now int64, required bool) bool { + if nbf == 0 { + return !required + } + return now >= nbf +} diff --git a/vendor/github.com/dgrijalva/jwt-go/doc.go b/vendor/github.com/dgrijalva/jwt-go/doc.go new file mode 100644 index 000000000..a86dc1a3b --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/doc.go @@ -0,0 +1,4 @@ +// Package jwt is a Go implementation of JSON Web Tokens: http://self-issued.info/docs/draft-jones-json-web-token.html +// +// See README.md for more info. +package jwt diff --git a/vendor/github.com/dgrijalva/jwt-go/ecdsa.go b/vendor/github.com/dgrijalva/jwt-go/ecdsa.go new file mode 100644 index 000000000..2f59a2223 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/ecdsa.go @@ -0,0 +1,147 @@ +package jwt + +import ( + "crypto" + "crypto/ecdsa" + "crypto/rand" + "errors" + "math/big" +) + +var ( + // Sadly this is missing from crypto/ecdsa compared to crypto/rsa + ErrECDSAVerification = errors.New("crypto/ecdsa: verification error") +) + +// Implements the ECDSA family of signing methods signing methods +type SigningMethodECDSA struct { + Name string + Hash crypto.Hash + KeySize int + CurveBits int +} + +// Specific instances for EC256 and company +var ( + SigningMethodES256 *SigningMethodECDSA + SigningMethodES384 *SigningMethodECDSA + SigningMethodES512 *SigningMethodECDSA +) + +func init() { + // ES256 + SigningMethodES256 = &SigningMethodECDSA{"ES256", crypto.SHA256, 32, 256} + RegisterSigningMethod(SigningMethodES256.Alg(), func() SigningMethod { + return SigningMethodES256 + }) + + // ES384 + SigningMethodES384 = &SigningMethodECDSA{"ES384", crypto.SHA384, 48, 384} + RegisterSigningMethod(SigningMethodES384.Alg(), func() SigningMethod { + return SigningMethodES384 + }) + + // ES512 + SigningMethodES512 = &SigningMethodECDSA{"ES512", crypto.SHA512, 66, 521} + RegisterSigningMethod(SigningMethodES512.Alg(), func() SigningMethod { + return SigningMethodES512 + }) +} + +func (m *SigningMethodECDSA) Alg() string { + return m.Name +} + +// Implements the Verify method from SigningMethod +// For this verify method, key must be an ecdsa.PublicKey struct +func (m *SigningMethodECDSA) Verify(signingString, signature string, key interface{}) error { + var err error + + // Decode the signature + var sig []byte + if sig, err = DecodeSegment(signature); err != nil { + return err + } + + // Get the key + var ecdsaKey *ecdsa.PublicKey + switch k := key.(type) { + case *ecdsa.PublicKey: + ecdsaKey = k + default: + return ErrInvalidKeyType + } + + if len(sig) != 2*m.KeySize { + return ErrECDSAVerification + } + + r := big.NewInt(0).SetBytes(sig[:m.KeySize]) + s := big.NewInt(0).SetBytes(sig[m.KeySize:]) + + // Create hasher + if !m.Hash.Available() { + return ErrHashUnavailable + } + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Verify the signature + if verifystatus := ecdsa.Verify(ecdsaKey, hasher.Sum(nil), r, s); verifystatus == true { + return nil + } else { + return ErrECDSAVerification + } +} + +// Implements the Sign method from SigningMethod +// For this signing method, key must be an ecdsa.PrivateKey struct +func (m *SigningMethodECDSA) Sign(signingString string, key interface{}) (string, error) { + // Get the key + var ecdsaKey *ecdsa.PrivateKey + switch k := key.(type) { + case *ecdsa.PrivateKey: + ecdsaKey = k + default: + return "", ErrInvalidKeyType + } + + // Create the hasher + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Sign the string and return r, s + if r, s, err := ecdsa.Sign(rand.Reader, ecdsaKey, hasher.Sum(nil)); err == nil { + curveBits := ecdsaKey.Curve.Params().BitSize + + if m.CurveBits != curveBits { + return "", ErrInvalidKey + } + + keyBytes := curveBits / 8 + if curveBits%8 > 0 { + keyBytes += 1 + } + + // We serialize the outpus (r and s) into big-endian byte arrays and pad + // them with zeros on the left to make sure the sizes work out. Both arrays + // must be keyBytes long, and the output must be 2*keyBytes long. + rBytes := r.Bytes() + rBytesPadded := make([]byte, keyBytes) + copy(rBytesPadded[keyBytes-len(rBytes):], rBytes) + + sBytes := s.Bytes() + sBytesPadded := make([]byte, keyBytes) + copy(sBytesPadded[keyBytes-len(sBytes):], sBytes) + + out := append(rBytesPadded, sBytesPadded...) + + return EncodeSegment(out), nil + } else { + return "", err + } +} diff --git a/vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go b/vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go new file mode 100644 index 000000000..d19624b72 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/ecdsa_utils.go @@ -0,0 +1,67 @@ +package jwt + +import ( + "crypto/ecdsa" + "crypto/x509" + "encoding/pem" + "errors" +) + +var ( + ErrNotECPublicKey = errors.New("Key is not a valid ECDSA public key") + ErrNotECPrivateKey = errors.New("Key is not a valid ECDSA private key") +) + +// Parse PEM encoded Elliptic Curve Private Key Structure +func ParseECPrivateKeyFromPEM(key []byte) (*ecdsa.PrivateKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + // Parse the key + var parsedKey interface{} + if parsedKey, err = x509.ParseECPrivateKey(block.Bytes); err != nil { + return nil, err + } + + var pkey *ecdsa.PrivateKey + var ok bool + if pkey, ok = parsedKey.(*ecdsa.PrivateKey); !ok { + return nil, ErrNotECPrivateKey + } + + return pkey, nil +} + +// Parse PEM encoded PKCS1 or PKCS8 public key +func ParseECPublicKeyFromPEM(key []byte) (*ecdsa.PublicKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + // Parse the key + var parsedKey interface{} + if parsedKey, err = x509.ParsePKIXPublicKey(block.Bytes); err != nil { + if cert, err := x509.ParseCertificate(block.Bytes); err == nil { + parsedKey = cert.PublicKey + } else { + return nil, err + } + } + + var pkey *ecdsa.PublicKey + var ok bool + if pkey, ok = parsedKey.(*ecdsa.PublicKey); !ok { + return nil, ErrNotECPublicKey + } + + return pkey, nil +} diff --git a/vendor/github.com/dgrijalva/jwt-go/errors.go b/vendor/github.com/dgrijalva/jwt-go/errors.go new file mode 100644 index 000000000..1c93024aa --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/errors.go @@ -0,0 +1,59 @@ +package jwt + +import ( + "errors" +) + +// Error constants +var ( + ErrInvalidKey = errors.New("key is invalid") + ErrInvalidKeyType = errors.New("key is of invalid type") + ErrHashUnavailable = errors.New("the requested hash function is unavailable") +) + +// The errors that might occur when parsing and validating a token +const ( + ValidationErrorMalformed uint32 = 1 << iota // Token is malformed + ValidationErrorUnverifiable // Token could not be verified because of signing problems + ValidationErrorSignatureInvalid // Signature validation failed + + // Standard Claim validation errors + ValidationErrorAudience // AUD validation failed + ValidationErrorExpired // EXP validation failed + ValidationErrorIssuedAt // IAT validation failed + ValidationErrorIssuer // ISS validation failed + ValidationErrorNotValidYet // NBF validation failed + ValidationErrorId // JTI validation failed + ValidationErrorClaimsInvalid // Generic claims validation error +) + +// Helper for constructing a ValidationError with a string error message +func NewValidationError(errorText string, errorFlags uint32) *ValidationError { + return &ValidationError{ + text: errorText, + Errors: errorFlags, + } +} + +// The error from Parse if token is not valid +type ValidationError struct { + Inner error // stores the error returned by external dependencies, i.e.: KeyFunc + Errors uint32 // bitfield. see ValidationError... constants + text string // errors that do not have a valid error just have text +} + +// Validation error is an error type +func (e ValidationError) Error() string { + if e.Inner != nil { + return e.Inner.Error() + } else if e.text != "" { + return e.text + } else { + return "token is invalid" + } +} + +// No errors +func (e *ValidationError) valid() bool { + return e.Errors == 0 +} diff --git a/vendor/github.com/dgrijalva/jwt-go/hmac.go b/vendor/github.com/dgrijalva/jwt-go/hmac.go new file mode 100644 index 000000000..c22991925 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/hmac.go @@ -0,0 +1,94 @@ +package jwt + +import ( + "crypto" + "crypto/hmac" + "errors" +) + +// Implements the HMAC-SHA family of signing methods signing methods +type SigningMethodHMAC struct { + Name string + Hash crypto.Hash +} + +// Specific instances for HS256 and company +var ( + SigningMethodHS256 *SigningMethodHMAC + SigningMethodHS384 *SigningMethodHMAC + SigningMethodHS512 *SigningMethodHMAC + ErrSignatureInvalid = errors.New("signature is invalid") +) + +func init() { + // HS256 + SigningMethodHS256 = &SigningMethodHMAC{"HS256", crypto.SHA256} + RegisterSigningMethod(SigningMethodHS256.Alg(), func() SigningMethod { + return SigningMethodHS256 + }) + + // HS384 + SigningMethodHS384 = &SigningMethodHMAC{"HS384", crypto.SHA384} + RegisterSigningMethod(SigningMethodHS384.Alg(), func() SigningMethod { + return SigningMethodHS384 + }) + + // HS512 + SigningMethodHS512 = &SigningMethodHMAC{"HS512", crypto.SHA512} + RegisterSigningMethod(SigningMethodHS512.Alg(), func() SigningMethod { + return SigningMethodHS512 + }) +} + +func (m *SigningMethodHMAC) Alg() string { + return m.Name +} + +// Verify the signature of HSXXX tokens. Returns nil if the signature is valid. +func (m *SigningMethodHMAC) Verify(signingString, signature string, key interface{}) error { + // Verify the key is the right type + keyBytes, ok := key.([]byte) + if !ok { + return ErrInvalidKeyType + } + + // Decode signature, for comparison + sig, err := DecodeSegment(signature) + if err != nil { + return err + } + + // Can we use the specified hashing method? + if !m.Hash.Available() { + return ErrHashUnavailable + } + + // This signing method is symmetric, so we validate the signature + // by reproducing the signature from the signing string and key, then + // comparing that against the provided signature. + hasher := hmac.New(m.Hash.New, keyBytes) + hasher.Write([]byte(signingString)) + if !hmac.Equal(sig, hasher.Sum(nil)) { + return ErrSignatureInvalid + } + + // No validation errors. Signature is good. + return nil +} + +// Implements the Sign method from SigningMethod for this signing method. +// Key must be []byte +func (m *SigningMethodHMAC) Sign(signingString string, key interface{}) (string, error) { + if keyBytes, ok := key.([]byte); ok { + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := hmac.New(m.Hash.New, keyBytes) + hasher.Write([]byte(signingString)) + + return EncodeSegment(hasher.Sum(nil)), nil + } + + return "", ErrInvalidKey +} diff --git a/vendor/github.com/dgrijalva/jwt-go/map_claims.go b/vendor/github.com/dgrijalva/jwt-go/map_claims.go new file mode 100644 index 000000000..291213c46 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/map_claims.go @@ -0,0 +1,94 @@ +package jwt + +import ( + "encoding/json" + "errors" + // "fmt" +) + +// Claims type that uses the map[string]interface{} for JSON decoding +// This is the default claims type if you don't supply one +type MapClaims map[string]interface{} + +// Compares the aud claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyAudience(cmp string, req bool) bool { + aud, _ := m["aud"].(string) + return verifyAud(aud, cmp, req) +} + +// Compares the exp claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyExpiresAt(cmp int64, req bool) bool { + switch exp := m["exp"].(type) { + case float64: + return verifyExp(int64(exp), cmp, req) + case json.Number: + v, _ := exp.Int64() + return verifyExp(v, cmp, req) + } + return req == false +} + +// Compares the iat claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyIssuedAt(cmp int64, req bool) bool { + switch iat := m["iat"].(type) { + case float64: + return verifyIat(int64(iat), cmp, req) + case json.Number: + v, _ := iat.Int64() + return verifyIat(v, cmp, req) + } + return req == false +} + +// Compares the iss claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyIssuer(cmp string, req bool) bool { + iss, _ := m["iss"].(string) + return verifyIss(iss, cmp, req) +} + +// Compares the nbf claim against cmp. +// If required is false, this method will return true if the value matches or is unset +func (m MapClaims) VerifyNotBefore(cmp int64, req bool) bool { + switch nbf := m["nbf"].(type) { + case float64: + return verifyNbf(int64(nbf), cmp, req) + case json.Number: + v, _ := nbf.Int64() + return verifyNbf(v, cmp, req) + } + return req == false +} + +// Validates time based claims "exp, iat, nbf". +// There is no accounting for clock skew. +// As well, if any of the above claims are not in the token, it will still +// be considered a valid claim. +func (m MapClaims) Valid() error { + vErr := new(ValidationError) + now := TimeFunc().Unix() + + if m.VerifyExpiresAt(now, false) == false { + vErr.Inner = errors.New("Token is expired") + vErr.Errors |= ValidationErrorExpired + } + + if m.VerifyIssuedAt(now, false) == false { + vErr.Inner = errors.New("Token used before issued") + vErr.Errors |= ValidationErrorIssuedAt + } + + if m.VerifyNotBefore(now, false) == false { + vErr.Inner = errors.New("Token is not valid yet") + vErr.Errors |= ValidationErrorNotValidYet + } + + if vErr.valid() { + return nil + } + + return vErr +} diff --git a/vendor/github.com/dgrijalva/jwt-go/none.go b/vendor/github.com/dgrijalva/jwt-go/none.go new file mode 100644 index 000000000..f04d189d0 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/none.go @@ -0,0 +1,52 @@ +package jwt + +// Implements the none signing method. This is required by the spec +// but you probably should never use it. +var SigningMethodNone *signingMethodNone + +const UnsafeAllowNoneSignatureType unsafeNoneMagicConstant = "none signing method allowed" + +var NoneSignatureTypeDisallowedError error + +type signingMethodNone struct{} +type unsafeNoneMagicConstant string + +func init() { + SigningMethodNone = &signingMethodNone{} + NoneSignatureTypeDisallowedError = NewValidationError("'none' signature type is not allowed", ValidationErrorSignatureInvalid) + + RegisterSigningMethod(SigningMethodNone.Alg(), func() SigningMethod { + return SigningMethodNone + }) +} + +func (m *signingMethodNone) Alg() string { + return "none" +} + +// Only allow 'none' alg type if UnsafeAllowNoneSignatureType is specified as the key +func (m *signingMethodNone) Verify(signingString, signature string, key interface{}) (err error) { + // Key must be UnsafeAllowNoneSignatureType to prevent accidentally + // accepting 'none' signing method + if _, ok := key.(unsafeNoneMagicConstant); !ok { + return NoneSignatureTypeDisallowedError + } + // If signing method is none, signature must be an empty string + if signature != "" { + return NewValidationError( + "'none' signing method with non-empty signature", + ValidationErrorSignatureInvalid, + ) + } + + // Accept 'none' signing method. + return nil +} + +// Only allow 'none' signing if UnsafeAllowNoneSignatureType is specified as the key +func (m *signingMethodNone) Sign(signingString string, key interface{}) (string, error) { + if _, ok := key.(unsafeNoneMagicConstant); ok { + return "", nil + } + return "", NoneSignatureTypeDisallowedError +} diff --git a/vendor/github.com/dgrijalva/jwt-go/parser.go b/vendor/github.com/dgrijalva/jwt-go/parser.go new file mode 100644 index 000000000..7bf1c4ea0 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/parser.go @@ -0,0 +1,131 @@ +package jwt + +import ( + "bytes" + "encoding/json" + "fmt" + "strings" +) + +type Parser struct { + ValidMethods []string // If populated, only these methods will be considered valid + UseJSONNumber bool // Use JSON Number format in JSON decoder + SkipClaimsValidation bool // Skip claims validation during token parsing +} + +// Parse, validate, and return a token. +// keyFunc will receive the parsed token and should return the key for validating. +// If everything is kosher, err will be nil +func (p *Parser) Parse(tokenString string, keyFunc Keyfunc) (*Token, error) { + return p.ParseWithClaims(tokenString, MapClaims{}, keyFunc) +} + +func (p *Parser) ParseWithClaims(tokenString string, claims Claims, keyFunc Keyfunc) (*Token, error) { + parts := strings.Split(tokenString, ".") + if len(parts) != 3 { + return nil, NewValidationError("token contains an invalid number of segments", ValidationErrorMalformed) + } + + var err error + token := &Token{Raw: tokenString} + + // parse Header + var headerBytes []byte + if headerBytes, err = DecodeSegment(parts[0]); err != nil { + if strings.HasPrefix(strings.ToLower(tokenString), "bearer ") { + return token, NewValidationError("tokenstring should not contain 'bearer '", ValidationErrorMalformed) + } + return token, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + if err = json.Unmarshal(headerBytes, &token.Header); err != nil { + return token, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + + // parse Claims + var claimBytes []byte + token.Claims = claims + + if claimBytes, err = DecodeSegment(parts[1]); err != nil { + return token, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + dec := json.NewDecoder(bytes.NewBuffer(claimBytes)) + if p.UseJSONNumber { + dec.UseNumber() + } + // JSON Decode. Special case for map type to avoid weird pointer behavior + if c, ok := token.Claims.(MapClaims); ok { + err = dec.Decode(&c) + } else { + err = dec.Decode(&claims) + } + // Handle decode error + if err != nil { + return token, &ValidationError{Inner: err, Errors: ValidationErrorMalformed} + } + + // Lookup signature method + if method, ok := token.Header["alg"].(string); ok { + if token.Method = GetSigningMethod(method); token.Method == nil { + return token, NewValidationError("signing method (alg) is unavailable.", ValidationErrorUnverifiable) + } + } else { + return token, NewValidationError("signing method (alg) is unspecified.", ValidationErrorUnverifiable) + } + + // Verify signing method is in the required set + if p.ValidMethods != nil { + var signingMethodValid = false + var alg = token.Method.Alg() + for _, m := range p.ValidMethods { + if m == alg { + signingMethodValid = true + break + } + } + if !signingMethodValid { + // signing method is not in the listed set + return token, NewValidationError(fmt.Sprintf("signing method %v is invalid", alg), ValidationErrorSignatureInvalid) + } + } + + // Lookup key + var key interface{} + if keyFunc == nil { + // keyFunc was not provided. short circuiting validation + return token, NewValidationError("no Keyfunc was provided.", ValidationErrorUnverifiable) + } + if key, err = keyFunc(token); err != nil { + // keyFunc returned an error + return token, &ValidationError{Inner: err, Errors: ValidationErrorUnverifiable} + } + + vErr := &ValidationError{} + + // Validate Claims + if !p.SkipClaimsValidation { + if err := token.Claims.Valid(); err != nil { + + // If the Claims Valid returned an error, check if it is a validation error, + // If it was another error type, create a ValidationError with a generic ClaimsInvalid flag set + if e, ok := err.(*ValidationError); !ok { + vErr = &ValidationError{Inner: err, Errors: ValidationErrorClaimsInvalid} + } else { + vErr = e + } + } + } + + // Perform validation + token.Signature = parts[2] + if err = token.Method.Verify(strings.Join(parts[0:2], "."), token.Signature, key); err != nil { + vErr.Inner = err + vErr.Errors |= ValidationErrorSignatureInvalid + } + + if vErr.valid() { + token.Valid = true + return token, nil + } + + return token, vErr +} diff --git a/vendor/github.com/dgrijalva/jwt-go/rsa.go b/vendor/github.com/dgrijalva/jwt-go/rsa.go new file mode 100644 index 000000000..0ae0b1984 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/rsa.go @@ -0,0 +1,100 @@ +package jwt + +import ( + "crypto" + "crypto/rand" + "crypto/rsa" +) + +// Implements the RSA family of signing methods signing methods +type SigningMethodRSA struct { + Name string + Hash crypto.Hash +} + +// Specific instances for RS256 and company +var ( + SigningMethodRS256 *SigningMethodRSA + SigningMethodRS384 *SigningMethodRSA + SigningMethodRS512 *SigningMethodRSA +) + +func init() { + // RS256 + SigningMethodRS256 = &SigningMethodRSA{"RS256", crypto.SHA256} + RegisterSigningMethod(SigningMethodRS256.Alg(), func() SigningMethod { + return SigningMethodRS256 + }) + + // RS384 + SigningMethodRS384 = &SigningMethodRSA{"RS384", crypto.SHA384} + RegisterSigningMethod(SigningMethodRS384.Alg(), func() SigningMethod { + return SigningMethodRS384 + }) + + // RS512 + SigningMethodRS512 = &SigningMethodRSA{"RS512", crypto.SHA512} + RegisterSigningMethod(SigningMethodRS512.Alg(), func() SigningMethod { + return SigningMethodRS512 + }) +} + +func (m *SigningMethodRSA) Alg() string { + return m.Name +} + +// Implements the Verify method from SigningMethod +// For this signing method, must be an rsa.PublicKey structure. +func (m *SigningMethodRSA) Verify(signingString, signature string, key interface{}) error { + var err error + + // Decode the signature + var sig []byte + if sig, err = DecodeSegment(signature); err != nil { + return err + } + + var rsaKey *rsa.PublicKey + var ok bool + + if rsaKey, ok = key.(*rsa.PublicKey); !ok { + return ErrInvalidKeyType + } + + // Create hasher + if !m.Hash.Available() { + return ErrHashUnavailable + } + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Verify the signature + return rsa.VerifyPKCS1v15(rsaKey, m.Hash, hasher.Sum(nil), sig) +} + +// Implements the Sign method from SigningMethod +// For this signing method, must be an rsa.PrivateKey structure. +func (m *SigningMethodRSA) Sign(signingString string, key interface{}) (string, error) { + var rsaKey *rsa.PrivateKey + var ok bool + + // Validate type of key + if rsaKey, ok = key.(*rsa.PrivateKey); !ok { + return "", ErrInvalidKey + } + + // Create the hasher + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Sign the string and return the encoded bytes + if sigBytes, err := rsa.SignPKCS1v15(rand.Reader, rsaKey, m.Hash, hasher.Sum(nil)); err == nil { + return EncodeSegment(sigBytes), nil + } else { + return "", err + } +} diff --git a/vendor/github.com/dgrijalva/jwt-go/rsa_pss.go b/vendor/github.com/dgrijalva/jwt-go/rsa_pss.go new file mode 100644 index 000000000..10ee9db8a --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/rsa_pss.go @@ -0,0 +1,126 @@ +// +build go1.4 + +package jwt + +import ( + "crypto" + "crypto/rand" + "crypto/rsa" +) + +// Implements the RSAPSS family of signing methods signing methods +type SigningMethodRSAPSS struct { + *SigningMethodRSA + Options *rsa.PSSOptions +} + +// Specific instances for RS/PS and company +var ( + SigningMethodPS256 *SigningMethodRSAPSS + SigningMethodPS384 *SigningMethodRSAPSS + SigningMethodPS512 *SigningMethodRSAPSS +) + +func init() { + // PS256 + SigningMethodPS256 = &SigningMethodRSAPSS{ + &SigningMethodRSA{ + Name: "PS256", + Hash: crypto.SHA256, + }, + &rsa.PSSOptions{ + SaltLength: rsa.PSSSaltLengthAuto, + Hash: crypto.SHA256, + }, + } + RegisterSigningMethod(SigningMethodPS256.Alg(), func() SigningMethod { + return SigningMethodPS256 + }) + + // PS384 + SigningMethodPS384 = &SigningMethodRSAPSS{ + &SigningMethodRSA{ + Name: "PS384", + Hash: crypto.SHA384, + }, + &rsa.PSSOptions{ + SaltLength: rsa.PSSSaltLengthAuto, + Hash: crypto.SHA384, + }, + } + RegisterSigningMethod(SigningMethodPS384.Alg(), func() SigningMethod { + return SigningMethodPS384 + }) + + // PS512 + SigningMethodPS512 = &SigningMethodRSAPSS{ + &SigningMethodRSA{ + Name: "PS512", + Hash: crypto.SHA512, + }, + &rsa.PSSOptions{ + SaltLength: rsa.PSSSaltLengthAuto, + Hash: crypto.SHA512, + }, + } + RegisterSigningMethod(SigningMethodPS512.Alg(), func() SigningMethod { + return SigningMethodPS512 + }) +} + +// Implements the Verify method from SigningMethod +// For this verify method, key must be an rsa.PublicKey struct +func (m *SigningMethodRSAPSS) Verify(signingString, signature string, key interface{}) error { + var err error + + // Decode the signature + var sig []byte + if sig, err = DecodeSegment(signature); err != nil { + return err + } + + var rsaKey *rsa.PublicKey + switch k := key.(type) { + case *rsa.PublicKey: + rsaKey = k + default: + return ErrInvalidKey + } + + // Create hasher + if !m.Hash.Available() { + return ErrHashUnavailable + } + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + return rsa.VerifyPSS(rsaKey, m.Hash, hasher.Sum(nil), sig, m.Options) +} + +// Implements the Sign method from SigningMethod +// For this signing method, key must be an rsa.PrivateKey struct +func (m *SigningMethodRSAPSS) Sign(signingString string, key interface{}) (string, error) { + var rsaKey *rsa.PrivateKey + + switch k := key.(type) { + case *rsa.PrivateKey: + rsaKey = k + default: + return "", ErrInvalidKeyType + } + + // Create the hasher + if !m.Hash.Available() { + return "", ErrHashUnavailable + } + + hasher := m.Hash.New() + hasher.Write([]byte(signingString)) + + // Sign the string and return the encoded bytes + if sigBytes, err := rsa.SignPSS(rand.Reader, rsaKey, m.Hash, hasher.Sum(nil), m.Options); err == nil { + return EncodeSegment(sigBytes), nil + } else { + return "", err + } +} diff --git a/vendor/github.com/dgrijalva/jwt-go/rsa_utils.go b/vendor/github.com/dgrijalva/jwt-go/rsa_utils.go new file mode 100644 index 000000000..213a90dbb --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/rsa_utils.go @@ -0,0 +1,69 @@ +package jwt + +import ( + "crypto/rsa" + "crypto/x509" + "encoding/pem" + "errors" +) + +var ( + ErrKeyMustBePEMEncoded = errors.New("Invalid Key: Key must be PEM encoded PKCS1 or PKCS8 private key") + ErrNotRSAPrivateKey = errors.New("Key is not a valid RSA private key") + ErrNotRSAPublicKey = errors.New("Key is not a valid RSA public key") +) + +// Parse PEM encoded PKCS1 or PKCS8 private key +func ParseRSAPrivateKeyFromPEM(key []byte) (*rsa.PrivateKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + var parsedKey interface{} + if parsedKey, err = x509.ParsePKCS1PrivateKey(block.Bytes); err != nil { + if parsedKey, err = x509.ParsePKCS8PrivateKey(block.Bytes); err != nil { + return nil, err + } + } + + var pkey *rsa.PrivateKey + var ok bool + if pkey, ok = parsedKey.(*rsa.PrivateKey); !ok { + return nil, ErrNotRSAPrivateKey + } + + return pkey, nil +} + +// Parse PEM encoded PKCS1 or PKCS8 public key +func ParseRSAPublicKeyFromPEM(key []byte) (*rsa.PublicKey, error) { + var err error + + // Parse PEM block + var block *pem.Block + if block, _ = pem.Decode(key); block == nil { + return nil, ErrKeyMustBePEMEncoded + } + + // Parse the key + var parsedKey interface{} + if parsedKey, err = x509.ParsePKIXPublicKey(block.Bytes); err != nil { + if cert, err := x509.ParseCertificate(block.Bytes); err == nil { + parsedKey = cert.PublicKey + } else { + return nil, err + } + } + + var pkey *rsa.PublicKey + var ok bool + if pkey, ok = parsedKey.(*rsa.PublicKey); !ok { + return nil, ErrNotRSAPublicKey + } + + return pkey, nil +} diff --git a/vendor/github.com/dgrijalva/jwt-go/signing_method.go b/vendor/github.com/dgrijalva/jwt-go/signing_method.go new file mode 100644 index 000000000..ed1f212b2 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/signing_method.go @@ -0,0 +1,35 @@ +package jwt + +import ( + "sync" +) + +var signingMethods = map[string]func() SigningMethod{} +var signingMethodLock = new(sync.RWMutex) + +// Implement SigningMethod to add new methods for signing or verifying tokens. +type SigningMethod interface { + Verify(signingString, signature string, key interface{}) error // Returns nil if signature is valid + Sign(signingString string, key interface{}) (string, error) // Returns encoded signature or error + Alg() string // returns the alg identifier for this method (example: 'HS256') +} + +// Register the "alg" name and a factory function for signing method. +// This is typically done during init() in the method's implementation +func RegisterSigningMethod(alg string, f func() SigningMethod) { + signingMethodLock.Lock() + defer signingMethodLock.Unlock() + + signingMethods[alg] = f +} + +// Get a signing method from an "alg" string +func GetSigningMethod(alg string) (method SigningMethod) { + signingMethodLock.RLock() + defer signingMethodLock.RUnlock() + + if methodF, ok := signingMethods[alg]; ok { + method = methodF() + } + return +} diff --git a/vendor/github.com/dgrijalva/jwt-go/token.go b/vendor/github.com/dgrijalva/jwt-go/token.go new file mode 100644 index 000000000..d637e0867 --- /dev/null +++ b/vendor/github.com/dgrijalva/jwt-go/token.go @@ -0,0 +1,108 @@ +package jwt + +import ( + "encoding/base64" + "encoding/json" + "strings" + "time" +) + +// TimeFunc provides the current time when parsing token to validate "exp" claim (expiration time). +// You can override it to use another time value. This is useful for testing or if your +// server uses a different time zone than your tokens. +var TimeFunc = time.Now + +// Parse methods use this callback function to supply +// the key for verification. The function receives the parsed, +// but unverified Token. This allows you to use properties in the +// Header of the token (such as `kid`) to identify which key to use. +type Keyfunc func(*Token) (interface{}, error) + +// A JWT Token. Different fields will be used depending on whether you're +// creating or parsing/verifying a token. +type Token struct { + Raw string // The raw token. Populated when you Parse a token + Method SigningMethod // The signing method used or to be used + Header map[string]interface{} // The first segment of the token + Claims Claims // The second segment of the token + Signature string // The third segment of the token. Populated when you Parse a token + Valid bool // Is the token valid? Populated when you Parse/Verify a token +} + +// Create a new Token. Takes a signing method +func New(method SigningMethod) *Token { + return NewWithClaims(method, MapClaims{}) +} + +func NewWithClaims(method SigningMethod, claims Claims) *Token { + return &Token{ + Header: map[string]interface{}{ + "typ": "JWT", + "alg": method.Alg(), + }, + Claims: claims, + Method: method, + } +} + +// Get the complete, signed token +func (t *Token) SignedString(key interface{}) (string, error) { + var sig, sstr string + var err error + if sstr, err = t.SigningString(); err != nil { + return "", err + } + if sig, err = t.Method.Sign(sstr, key); err != nil { + return "", err + } + return strings.Join([]string{sstr, sig}, "."), nil +} + +// Generate the signing string. This is the +// most expensive part of the whole deal. Unless you +// need this for something special, just go straight for +// the SignedString. +func (t *Token) SigningString() (string, error) { + var err error + parts := make([]string, 2) + for i, _ := range parts { + var jsonValue []byte + if i == 0 { + if jsonValue, err = json.Marshal(t.Header); err != nil { + return "", err + } + } else { + if jsonValue, err = json.Marshal(t.Claims); err != nil { + return "", err + } + } + + parts[i] = EncodeSegment(jsonValue) + } + return strings.Join(parts, "."), nil +} + +// Parse, validate, and return a token. +// keyFunc will receive the parsed token and should return the key for validating. +// If everything is kosher, err will be nil +func Parse(tokenString string, keyFunc Keyfunc) (*Token, error) { + return new(Parser).Parse(tokenString, keyFunc) +} + +func ParseWithClaims(tokenString string, claims Claims, keyFunc Keyfunc) (*Token, error) { + return new(Parser).ParseWithClaims(tokenString, claims, keyFunc) +} + +// Encode JWT specific base64url encoding with padding stripped +func EncodeSegment(seg []byte) string { + return strings.TrimRight(base64.URLEncoding.EncodeToString(seg), "=") +} + +// Decode JWT specific base64url encoding with padding stripped +func DecodeSegment(seg string) ([]byte, error) { + if l := len(seg) % 4; l > 0 { + seg += strings.Repeat("=", 4-l) + } + + return base64.URLEncoding.DecodeString(seg) +} diff --git a/vendor/github.com/garyburd/redigo/LICENSE b/vendor/github.com/garyburd/redigo/LICENSE new file mode 100644 index 000000000..67db85882 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/LICENSE @@ -0,0 +1,175 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. diff --git a/vendor/github.com/garyburd/redigo/internal/commandinfo.go b/vendor/github.com/garyburd/redigo/internal/commandinfo.go new file mode 100644 index 000000000..11e584257 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/internal/commandinfo.go @@ -0,0 +1,54 @@ +// Copyright 2014 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package internal // import "github.com/garyburd/redigo/internal" + +import ( + "strings" +) + +const ( + WatchState = 1 << iota + MultiState + SubscribeState + MonitorState +) + +type CommandInfo struct { + Set, Clear int +} + +var commandInfos = map[string]CommandInfo{ + "WATCH": {Set: WatchState}, + "UNWATCH": {Clear: WatchState}, + "MULTI": {Set: MultiState}, + "EXEC": {Clear: WatchState | MultiState}, + "DISCARD": {Clear: WatchState | MultiState}, + "PSUBSCRIBE": {Set: SubscribeState}, + "SUBSCRIBE": {Set: SubscribeState}, + "MONITOR": {Set: MonitorState}, +} + +func init() { + for n, ci := range commandInfos { + commandInfos[strings.ToLower(n)] = ci + } +} + +func LookupCommandInfo(commandName string) CommandInfo { + if ci, ok := commandInfos[commandName]; ok { + return ci + } + return commandInfos[strings.ToUpper(commandName)] +} diff --git a/vendor/github.com/garyburd/redigo/redis/conn.go b/vendor/github.com/garyburd/redigo/redis/conn.go new file mode 100644 index 000000000..4c09c1d95 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/conn.go @@ -0,0 +1,651 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +import ( + "bufio" + "bytes" + "crypto/tls" + "errors" + "fmt" + "io" + "net" + "net/url" + "regexp" + "strconv" + "sync" + "time" +) + +// conn is the low-level implementation of Conn +type conn struct { + // Shared + mu sync.Mutex + pending int + err error + conn net.Conn + + // Read + readTimeout time.Duration + br *bufio.Reader + + // Write + writeTimeout time.Duration + bw *bufio.Writer + + // Scratch space for formatting argument length. + // '*' or '$', length, "\r\n" + lenScratch [32]byte + + // Scratch space for formatting integers and floats. + numScratch [40]byte +} + +// DialTimeout acts like Dial but takes timeouts for establishing the +// connection to the server, writing a command and reading a reply. +// +// Deprecated: Use Dial with options instead. +func DialTimeout(network, address string, connectTimeout, readTimeout, writeTimeout time.Duration) (Conn, error) { + return Dial(network, address, + DialConnectTimeout(connectTimeout), + DialReadTimeout(readTimeout), + DialWriteTimeout(writeTimeout)) +} + +// DialOption specifies an option for dialing a Redis server. +type DialOption struct { + f func(*dialOptions) +} + +type dialOptions struct { + readTimeout time.Duration + writeTimeout time.Duration + dialer *net.Dialer + dial func(network, addr string) (net.Conn, error) + db int + password string + useTLS bool + skipVerify bool + tlsConfig *tls.Config +} + +// DialReadTimeout specifies the timeout for reading a single command reply. +func DialReadTimeout(d time.Duration) DialOption { + return DialOption{func(do *dialOptions) { + do.readTimeout = d + }} +} + +// DialWriteTimeout specifies the timeout for writing a single command. +func DialWriteTimeout(d time.Duration) DialOption { + return DialOption{func(do *dialOptions) { + do.writeTimeout = d + }} +} + +// DialConnectTimeout specifies the timeout for connecting to the Redis server when +// no DialNetDial option is specified. +func DialConnectTimeout(d time.Duration) DialOption { + return DialOption{func(do *dialOptions) { + do.dialer.Timeout = d + }} +} + +// DialKeepAlive specifies the keep-alive period for TCP connections to the Redis server +// when no DialNetDial option is specified. +// If zero, keep-alives are not enabled. If no DialKeepAlive option is specified then +// the default of 5 minutes is used to ensure that half-closed TCP sessions are detected. +func DialKeepAlive(d time.Duration) DialOption { + return DialOption{func(do *dialOptions) { + do.dialer.KeepAlive = d + }} +} + +// DialNetDial specifies a custom dial function for creating TCP +// connections, otherwise a net.Dialer customized via the other options is used. +// DialNetDial overrides DialConnectTimeout and DialKeepAlive. +func DialNetDial(dial func(network, addr string) (net.Conn, error)) DialOption { + return DialOption{func(do *dialOptions) { + do.dial = dial + }} +} + +// DialDatabase specifies the database to select when dialing a connection. +func DialDatabase(db int) DialOption { + return DialOption{func(do *dialOptions) { + do.db = db + }} +} + +// DialPassword specifies the password to use when connecting to +// the Redis server. +func DialPassword(password string) DialOption { + return DialOption{func(do *dialOptions) { + do.password = password + }} +} + +// DialTLSConfig specifies the config to use when a TLS connection is dialed. +// Has no effect when not dialing a TLS connection. +func DialTLSConfig(c *tls.Config) DialOption { + return DialOption{func(do *dialOptions) { + do.tlsConfig = c + }} +} + +// DialTLSSkipVerify disables server name verification when connecting over +// TLS. Has no effect when not dialing a TLS connection. +func DialTLSSkipVerify(skip bool) DialOption { + return DialOption{func(do *dialOptions) { + do.skipVerify = skip + }} +} + +// DialUseTLS specifies whether TLS should be used when connecting to the +// server. This option is ignore by DialURL. +func DialUseTLS(useTLS bool) DialOption { + return DialOption{func(do *dialOptions) { + do.useTLS = useTLS + }} +} + +// Dial connects to the Redis server at the given network and +// address using the specified options. +func Dial(network, address string, options ...DialOption) (Conn, error) { + do := dialOptions{ + dialer: &net.Dialer{ + KeepAlive: time.Minute * 5, + }, + } + for _, option := range options { + option.f(&do) + } + if do.dial == nil { + do.dial = do.dialer.Dial + } + + netConn, err := do.dial(network, address) + if err != nil { + return nil, err + } + + if do.useTLS { + tlsConfig := cloneTLSClientConfig(do.tlsConfig, do.skipVerify) + if tlsConfig.ServerName == "" { + host, _, err := net.SplitHostPort(address) + if err != nil { + netConn.Close() + return nil, err + } + tlsConfig.ServerName = host + } + + tlsConn := tls.Client(netConn, tlsConfig) + if err := tlsConn.Handshake(); err != nil { + netConn.Close() + return nil, err + } + netConn = tlsConn + } + + c := &conn{ + conn: netConn, + bw: bufio.NewWriter(netConn), + br: bufio.NewReader(netConn), + readTimeout: do.readTimeout, + writeTimeout: do.writeTimeout, + } + + if do.password != "" { + if _, err := c.Do("AUTH", do.password); err != nil { + netConn.Close() + return nil, err + } + } + + if do.db != 0 { + if _, err := c.Do("SELECT", do.db); err != nil { + netConn.Close() + return nil, err + } + } + + return c, nil +} + +var pathDBRegexp = regexp.MustCompile(`/(\d*)\z`) + +// DialURL connects to a Redis server at the given URL using the Redis +// URI scheme. URLs should follow the draft IANA specification for the +// scheme (https://www.iana.org/assignments/uri-schemes/prov/redis). +func DialURL(rawurl string, options ...DialOption) (Conn, error) { + u, err := url.Parse(rawurl) + if err != nil { + return nil, err + } + + if u.Scheme != "redis" && u.Scheme != "rediss" { + return nil, fmt.Errorf("invalid redis URL scheme: %s", u.Scheme) + } + + // As per the IANA draft spec, the host defaults to localhost and + // the port defaults to 6379. + host, port, err := net.SplitHostPort(u.Host) + if err != nil { + // assume port is missing + host = u.Host + port = "6379" + } + if host == "" { + host = "localhost" + } + address := net.JoinHostPort(host, port) + + if u.User != nil { + password, isSet := u.User.Password() + if isSet { + options = append(options, DialPassword(password)) + } + } + + match := pathDBRegexp.FindStringSubmatch(u.Path) + if len(match) == 2 { + db := 0 + if len(match[1]) > 0 { + db, err = strconv.Atoi(match[1]) + if err != nil { + return nil, fmt.Errorf("invalid database: %s", u.Path[1:]) + } + } + if db != 0 { + options = append(options, DialDatabase(db)) + } + } else if u.Path != "" { + return nil, fmt.Errorf("invalid database: %s", u.Path[1:]) + } + + options = append(options, DialUseTLS(u.Scheme == "rediss")) + + return Dial("tcp", address, options...) +} + +// NewConn returns a new Redigo connection for the given net connection. +func NewConn(netConn net.Conn, readTimeout, writeTimeout time.Duration) Conn { + return &conn{ + conn: netConn, + bw: bufio.NewWriter(netConn), + br: bufio.NewReader(netConn), + readTimeout: readTimeout, + writeTimeout: writeTimeout, + } +} + +func (c *conn) Close() error { + c.mu.Lock() + err := c.err + if c.err == nil { + c.err = errors.New("redigo: closed") + err = c.conn.Close() + } + c.mu.Unlock() + return err +} + +func (c *conn) fatal(err error) error { + c.mu.Lock() + if c.err == nil { + c.err = err + // Close connection to force errors on subsequent calls and to unblock + // other reader or writer. + c.conn.Close() + } + c.mu.Unlock() + return err +} + +func (c *conn) Err() error { + c.mu.Lock() + err := c.err + c.mu.Unlock() + return err +} + +func (c *conn) writeLen(prefix byte, n int) error { + c.lenScratch[len(c.lenScratch)-1] = '\n' + c.lenScratch[len(c.lenScratch)-2] = '\r' + i := len(c.lenScratch) - 3 + for { + c.lenScratch[i] = byte('0' + n%10) + i -= 1 + n = n / 10 + if n == 0 { + break + } + } + c.lenScratch[i] = prefix + _, err := c.bw.Write(c.lenScratch[i:]) + return err +} + +func (c *conn) writeString(s string) error { + c.writeLen('$', len(s)) + c.bw.WriteString(s) + _, err := c.bw.WriteString("\r\n") + return err +} + +func (c *conn) writeBytes(p []byte) error { + c.writeLen('$', len(p)) + c.bw.Write(p) + _, err := c.bw.WriteString("\r\n") + return err +} + +func (c *conn) writeInt64(n int64) error { + return c.writeBytes(strconv.AppendInt(c.numScratch[:0], n, 10)) +} + +func (c *conn) writeFloat64(n float64) error { + return c.writeBytes(strconv.AppendFloat(c.numScratch[:0], n, 'g', -1, 64)) +} + +func (c *conn) writeCommand(cmd string, args []interface{}) error { + c.writeLen('*', 1+len(args)) + if err := c.writeString(cmd); err != nil { + return err + } + for _, arg := range args { + if err := c.writeArg(arg, true); err != nil { + return err + } + } + return nil +} + +func (c *conn) writeArg(arg interface{}, argumentTypeOK bool) (err error) { + switch arg := arg.(type) { + case string: + return c.writeString(arg) + case []byte: + return c.writeBytes(arg) + case int: + return c.writeInt64(int64(arg)) + case int64: + return c.writeInt64(arg) + case float64: + return c.writeFloat64(arg) + case bool: + if arg { + return c.writeString("1") + } else { + return c.writeString("0") + } + case nil: + return c.writeString("") + case Argument: + if argumentTypeOK { + return c.writeArg(arg.RedisArg(), false) + } + // See comment in default clause below. + var buf bytes.Buffer + fmt.Fprint(&buf, arg) + return c.writeBytes(buf.Bytes()) + default: + // This default clause is intended to handle builtin numeric types. + // The function should return an error for other types, but this is not + // done for compatibility with previous versions of the package. + var buf bytes.Buffer + fmt.Fprint(&buf, arg) + return c.writeBytes(buf.Bytes()) + } +} + +type protocolError string + +func (pe protocolError) Error() string { + return fmt.Sprintf("redigo: %s (possible server error or unsupported concurrent read by application)", string(pe)) +} + +func (c *conn) readLine() ([]byte, error) { + p, err := c.br.ReadSlice('\n') + if err == bufio.ErrBufferFull { + return nil, protocolError("long response line") + } + if err != nil { + return nil, err + } + i := len(p) - 2 + if i < 0 || p[i] != '\r' { + return nil, protocolError("bad response line terminator") + } + return p[:i], nil +} + +// parseLen parses bulk string and array lengths. +func parseLen(p []byte) (int, error) { + if len(p) == 0 { + return -1, protocolError("malformed length") + } + + if p[0] == '-' && len(p) == 2 && p[1] == '1' { + // handle $-1 and $-1 null replies. + return -1, nil + } + + var n int + for _, b := range p { + n *= 10 + if b < '0' || b > '9' { + return -1, protocolError("illegal bytes in length") + } + n += int(b - '0') + } + + return n, nil +} + +// parseInt parses an integer reply. +func parseInt(p []byte) (interface{}, error) { + if len(p) == 0 { + return 0, protocolError("malformed integer") + } + + var negate bool + if p[0] == '-' { + negate = true + p = p[1:] + if len(p) == 0 { + return 0, protocolError("malformed integer") + } + } + + var n int64 + for _, b := range p { + n *= 10 + if b < '0' || b > '9' { + return 0, protocolError("illegal bytes in length") + } + n += int64(b - '0') + } + + if negate { + n = -n + } + return n, nil +} + +var ( + okReply interface{} = "OK" + pongReply interface{} = "PONG" +) + +func (c *conn) readReply() (interface{}, error) { + line, err := c.readLine() + if err != nil { + return nil, err + } + if len(line) == 0 { + return nil, protocolError("short response line") + } + switch line[0] { + case '+': + switch { + case len(line) == 3 && line[1] == 'O' && line[2] == 'K': + // Avoid allocation for frequent "+OK" response. + return okReply, nil + case len(line) == 5 && line[1] == 'P' && line[2] == 'O' && line[3] == 'N' && line[4] == 'G': + // Avoid allocation in PING command benchmarks :) + return pongReply, nil + default: + return string(line[1:]), nil + } + case '-': + return Error(string(line[1:])), nil + case ':': + return parseInt(line[1:]) + case '$': + n, err := parseLen(line[1:]) + if n < 0 || err != nil { + return nil, err + } + p := make([]byte, n) + _, err = io.ReadFull(c.br, p) + if err != nil { + return nil, err + } + if line, err := c.readLine(); err != nil { + return nil, err + } else if len(line) != 0 { + return nil, protocolError("bad bulk string format") + } + return p, nil + case '*': + n, err := parseLen(line[1:]) + if n < 0 || err != nil { + return nil, err + } + r := make([]interface{}, n) + for i := range r { + r[i], err = c.readReply() + if err != nil { + return nil, err + } + } + return r, nil + } + return nil, protocolError("unexpected response line") +} + +func (c *conn) Send(cmd string, args ...interface{}) error { + c.mu.Lock() + c.pending += 1 + c.mu.Unlock() + if c.writeTimeout != 0 { + c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout)) + } + if err := c.writeCommand(cmd, args); err != nil { + return c.fatal(err) + } + return nil +} + +func (c *conn) Flush() error { + if c.writeTimeout != 0 { + c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout)) + } + if err := c.bw.Flush(); err != nil { + return c.fatal(err) + } + return nil +} + +func (c *conn) Receive() (reply interface{}, err error) { + if c.readTimeout != 0 { + c.conn.SetReadDeadline(time.Now().Add(c.readTimeout)) + } + if reply, err = c.readReply(); err != nil { + return nil, c.fatal(err) + } + // When using pub/sub, the number of receives can be greater than the + // number of sends. To enable normal use of the connection after + // unsubscribing from all channels, we do not decrement pending to a + // negative value. + // + // The pending field is decremented after the reply is read to handle the + // case where Receive is called before Send. + c.mu.Lock() + if c.pending > 0 { + c.pending -= 1 + } + c.mu.Unlock() + if err, ok := reply.(Error); ok { + return nil, err + } + return +} + +func (c *conn) Do(cmd string, args ...interface{}) (interface{}, error) { + c.mu.Lock() + pending := c.pending + c.pending = 0 + c.mu.Unlock() + + if cmd == "" && pending == 0 { + return nil, nil + } + + if c.writeTimeout != 0 { + c.conn.SetWriteDeadline(time.Now().Add(c.writeTimeout)) + } + + if cmd != "" { + if err := c.writeCommand(cmd, args); err != nil { + return nil, c.fatal(err) + } + } + + if err := c.bw.Flush(); err != nil { + return nil, c.fatal(err) + } + + if c.readTimeout != 0 { + c.conn.SetReadDeadline(time.Now().Add(c.readTimeout)) + } + + if cmd == "" { + reply := make([]interface{}, pending) + for i := range reply { + r, e := c.readReply() + if e != nil { + return nil, c.fatal(e) + } + reply[i] = r + } + return reply, nil + } + + var err error + var reply interface{} + for i := 0; i <= pending; i++ { + var e error + if reply, e = c.readReply(); e != nil { + return nil, c.fatal(e) + } + if e, ok := reply.(Error); ok && err == nil { + err = e + } + } + return reply, err +} diff --git a/vendor/github.com/garyburd/redigo/redis/doc.go b/vendor/github.com/garyburd/redigo/redis/doc.go new file mode 100644 index 000000000..1d19c1668 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/doc.go @@ -0,0 +1,177 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +// Package redis is a client for the Redis database. +// +// The Redigo FAQ (https://github.com/garyburd/redigo/wiki/FAQ) contains more +// documentation about this package. +// +// Connections +// +// The Conn interface is the primary interface for working with Redis. +// Applications create connections by calling the Dial, DialWithTimeout or +// NewConn functions. In the future, functions will be added for creating +// sharded and other types of connections. +// +// The application must call the connection Close method when the application +// is done with the connection. +// +// Executing Commands +// +// The Conn interface has a generic method for executing Redis commands: +// +// Do(commandName string, args ...interface{}) (reply interface{}, err error) +// +// The Redis command reference (http://redis.io/commands) lists the available +// commands. An example of using the Redis APPEND command is: +// +// n, err := conn.Do("APPEND", "key", "value") +// +// The Do method converts command arguments to bulk strings for transmission +// to the server as follows: +// +// Go Type Conversion +// []byte Sent as is +// string Sent as is +// int, int64 strconv.FormatInt(v) +// float64 strconv.FormatFloat(v, 'g', -1, 64) +// bool true -> "1", false -> "0" +// nil "" +// all other types fmt.Fprint(w, v) +// +// Redis command reply types are represented using the following Go types: +// +// Redis type Go type +// error redis.Error +// integer int64 +// simple string string +// bulk string []byte or nil if value not present. +// array []interface{} or nil if value not present. +// +// Use type assertions or the reply helper functions to convert from +// interface{} to the specific Go type for the command result. +// +// Pipelining +// +// Connections support pipelining using the Send, Flush and Receive methods. +// +// Send(commandName string, args ...interface{}) error +// Flush() error +// Receive() (reply interface{}, err error) +// +// Send writes the command to the connection's output buffer. Flush flushes the +// connection's output buffer to the server. Receive reads a single reply from +// the server. The following example shows a simple pipeline. +// +// c.Send("SET", "foo", "bar") +// c.Send("GET", "foo") +// c.Flush() +// c.Receive() // reply from SET +// v, err = c.Receive() // reply from GET +// +// The Do method combines the functionality of the Send, Flush and Receive +// methods. The Do method starts by writing the command and flushing the output +// buffer. Next, the Do method receives all pending replies including the reply +// for the command just sent by Do. If any of the received replies is an error, +// then Do returns the error. If there are no errors, then Do returns the last +// reply. If the command argument to the Do method is "", then the Do method +// will flush the output buffer and receive pending replies without sending a +// command. +// +// Use the Send and Do methods to implement pipelined transactions. +// +// c.Send("MULTI") +// c.Send("INCR", "foo") +// c.Send("INCR", "bar") +// r, err := c.Do("EXEC") +// fmt.Println(r) // prints [1, 1] +// +// Concurrency +// +// Connections support one concurrent caller to the Receive method and one +// concurrent caller to the Send and Flush methods. No other concurrency is +// supported including concurrent calls to the Do method. +// +// For full concurrent access to Redis, use the thread-safe Pool to get, use +// and release a connection from within a goroutine. Connections returned from +// a Pool have the concurrency restrictions described in the previous +// paragraph. +// +// Publish and Subscribe +// +// Use the Send, Flush and Receive methods to implement Pub/Sub subscribers. +// +// c.Send("SUBSCRIBE", "example") +// c.Flush() +// for { +// reply, err := c.Receive() +// if err != nil { +// return err +// } +// // process pushed message +// } +// +// The PubSubConn type wraps a Conn with convenience methods for implementing +// subscribers. The Subscribe, PSubscribe, Unsubscribe and PUnsubscribe methods +// send and flush a subscription management command. The receive method +// converts a pushed message to convenient types for use in a type switch. +// +// psc := redis.PubSubConn{Conn: c} +// psc.Subscribe("example") +// for { +// switch v := psc.Receive().(type) { +// case redis.Message: +// fmt.Printf("%s: message: %s\n", v.Channel, v.Data) +// case redis.Subscription: +// fmt.Printf("%s: %s %d\n", v.Channel, v.Kind, v.Count) +// case error: +// return v +// } +// } +// +// Reply Helpers +// +// The Bool, Int, Bytes, String, Strings and Values functions convert a reply +// to a value of a specific type. To allow convenient wrapping of calls to the +// connection Do and Receive methods, the functions take a second argument of +// type error. If the error is non-nil, then the helper function returns the +// error. If the error is nil, the function converts the reply to the specified +// type: +// +// exists, err := redis.Bool(c.Do("EXISTS", "foo")) +// if err != nil { +// // handle error return from c.Do or type conversion error. +// } +// +// The Scan function converts elements of a array reply to Go types: +// +// var value1 int +// var value2 string +// reply, err := redis.Values(c.Do("MGET", "key1", "key2")) +// if err != nil { +// // handle error +// } +// if _, err := redis.Scan(reply, &value1, &value2); err != nil { +// // handle error +// } +// +// Errors +// +// Connection methods return error replies from the server as type redis.Error. +// +// Call the connection Err() method to determine if the connection encountered +// non-recoverable error such as a network error or protocol parsing error. If +// Err() returns a non-nil value, then the connection is not usable and should +// be closed. +package redis // import "github.com/garyburd/redigo/redis" diff --git a/vendor/github.com/garyburd/redigo/redis/go17.go b/vendor/github.com/garyburd/redigo/redis/go17.go new file mode 100644 index 000000000..3f951e5ef --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/go17.go @@ -0,0 +1,33 @@ +// +build go1.7 + +package redis + +import "crypto/tls" + +// similar cloneTLSClientConfig in the stdlib, but also honor skipVerify for the nil case +func cloneTLSClientConfig(cfg *tls.Config, skipVerify bool) *tls.Config { + if cfg == nil { + return &tls.Config{InsecureSkipVerify: skipVerify} + } + return &tls.Config{ + Rand: cfg.Rand, + Time: cfg.Time, + Certificates: cfg.Certificates, + NameToCertificate: cfg.NameToCertificate, + GetCertificate: cfg.GetCertificate, + RootCAs: cfg.RootCAs, + NextProtos: cfg.NextProtos, + ServerName: cfg.ServerName, + ClientAuth: cfg.ClientAuth, + ClientCAs: cfg.ClientCAs, + InsecureSkipVerify: cfg.InsecureSkipVerify, + CipherSuites: cfg.CipherSuites, + PreferServerCipherSuites: cfg.PreferServerCipherSuites, + ClientSessionCache: cfg.ClientSessionCache, + MinVersion: cfg.MinVersion, + MaxVersion: cfg.MaxVersion, + CurvePreferences: cfg.CurvePreferences, + DynamicRecordSizingDisabled: cfg.DynamicRecordSizingDisabled, + Renegotiation: cfg.Renegotiation, + } +} diff --git a/vendor/github.com/garyburd/redigo/redis/log.go b/vendor/github.com/garyburd/redigo/redis/log.go new file mode 100644 index 000000000..129b86d67 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/log.go @@ -0,0 +1,117 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +import ( + "bytes" + "fmt" + "log" +) + +// NewLoggingConn returns a logging wrapper around a connection. +func NewLoggingConn(conn Conn, logger *log.Logger, prefix string) Conn { + if prefix != "" { + prefix = prefix + "." + } + return &loggingConn{conn, logger, prefix} +} + +type loggingConn struct { + Conn + logger *log.Logger + prefix string +} + +func (c *loggingConn) Close() error { + err := c.Conn.Close() + var buf bytes.Buffer + fmt.Fprintf(&buf, "%sClose() -> (%v)", c.prefix, err) + c.logger.Output(2, buf.String()) + return err +} + +func (c *loggingConn) printValue(buf *bytes.Buffer, v interface{}) { + const chop = 32 + switch v := v.(type) { + case []byte: + if len(v) > chop { + fmt.Fprintf(buf, "%q...", v[:chop]) + } else { + fmt.Fprintf(buf, "%q", v) + } + case string: + if len(v) > chop { + fmt.Fprintf(buf, "%q...", v[:chop]) + } else { + fmt.Fprintf(buf, "%q", v) + } + case []interface{}: + if len(v) == 0 { + buf.WriteString("[]") + } else { + sep := "[" + fin := "]" + if len(v) > chop { + v = v[:chop] + fin = "...]" + } + for _, vv := range v { + buf.WriteString(sep) + c.printValue(buf, vv) + sep = ", " + } + buf.WriteString(fin) + } + default: + fmt.Fprint(buf, v) + } +} + +func (c *loggingConn) print(method, commandName string, args []interface{}, reply interface{}, err error) { + var buf bytes.Buffer + fmt.Fprintf(&buf, "%s%s(", c.prefix, method) + if method != "Receive" { + buf.WriteString(commandName) + for _, arg := range args { + buf.WriteString(", ") + c.printValue(&buf, arg) + } + } + buf.WriteString(") -> (") + if method != "Send" { + c.printValue(&buf, reply) + buf.WriteString(", ") + } + fmt.Fprintf(&buf, "%v)", err) + c.logger.Output(3, buf.String()) +} + +func (c *loggingConn) Do(commandName string, args ...interface{}) (interface{}, error) { + reply, err := c.Conn.Do(commandName, args...) + c.print("Do", commandName, args, reply, err) + return reply, err +} + +func (c *loggingConn) Send(commandName string, args ...interface{}) error { + err := c.Conn.Send(commandName, args...) + c.print("Send", commandName, args, nil, err) + return err +} + +func (c *loggingConn) Receive() (interface{}, error) { + reply, err := c.Conn.Receive() + c.print("Receive", "", nil, reply, err) + return reply, err +} diff --git a/vendor/github.com/garyburd/redigo/redis/pool.go b/vendor/github.com/garyburd/redigo/redis/pool.go new file mode 100644 index 000000000..109be283f --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/pool.go @@ -0,0 +1,442 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +import ( + "bytes" + "container/list" + "crypto/rand" + "crypto/sha1" + "errors" + "io" + "strconv" + "sync" + "time" + + "github.com/garyburd/redigo/internal" +) + +var nowFunc = time.Now // for testing + +// ErrPoolExhausted is returned from a pool connection method (Do, Send, +// Receive, Flush, Err) when the maximum number of database connections in the +// pool has been reached. +var ErrPoolExhausted = errors.New("redigo: connection pool exhausted") + +var ( + errPoolClosed = errors.New("redigo: connection pool closed") + errConnClosed = errors.New("redigo: connection closed") +) + +// Pool maintains a pool of connections. The application calls the Get method +// to get a connection from the pool and the connection's Close method to +// return the connection's resources to the pool. +// +// The following example shows how to use a pool in a web application. The +// application creates a pool at application startup and makes it available to +// request handlers using a package level variable. The pool configuration used +// here is an example, not a recommendation. +// +// func newPool(addr string) *redis.Pool { +// return &redis.Pool{ +// MaxIdle: 3, +// IdleTimeout: 240 * time.Second, +// Dial: func () (redis.Conn, error) { return redis.Dial("tcp", addr) }, +// } +// } +// +// var ( +// pool *redis.Pool +// redisServer = flag.String("redisServer", ":6379", "") +// ) +// +// func main() { +// flag.Parse() +// pool = newPool(*redisServer) +// ... +// } +// +// A request handler gets a connection from the pool and closes the connection +// when the handler is done: +// +// func serveHome(w http.ResponseWriter, r *http.Request) { +// conn := pool.Get() +// defer conn.Close() +// ... +// } +// +// Use the Dial function to authenticate connections with the AUTH command or +// select a database with the SELECT command: +// +// pool := &redis.Pool{ +// // Other pool configuration not shown in this example. +// Dial: func () (redis.Conn, error) { +// c, err := redis.Dial("tcp", server) +// if err != nil { +// return nil, err +// } +// if _, err := c.Do("AUTH", password); err != nil { +// c.Close() +// return nil, err +// } +// if _, err := c.Do("SELECT", db); err != nil { +// c.Close() +// return nil, err +// } +// return c, nil +// } +// } +// +// Use the TestOnBorrow function to check the health of an idle connection +// before the connection is returned to the application. This example PINGs +// connections that have been idle more than a minute: +// +// pool := &redis.Pool{ +// // Other pool configuration not shown in this example. +// TestOnBorrow: func(c redis.Conn, t time.Time) error { +// if time.Since(t) < time.Minute { +// return nil +// } +// _, err := c.Do("PING") +// return err +// }, +// } +// +type Pool struct { + // Dial is an application supplied function for creating and configuring a + // connection. + // + // The connection returned from Dial must not be in a special state + // (subscribed to pubsub channel, transaction started, ...). + Dial func() (Conn, error) + + // TestOnBorrow is an optional application supplied function for checking + // the health of an idle connection before the connection is used again by + // the application. Argument t is the time that the connection was returned + // to the pool. If the function returns an error, then the connection is + // closed. + TestOnBorrow func(c Conn, t time.Time) error + + // Maximum number of idle connections in the pool. + MaxIdle int + + // Maximum number of connections allocated by the pool at a given time. + // When zero, there is no limit on the number of connections in the pool. + MaxActive int + + // Close connections after remaining idle for this duration. If the value + // is zero, then idle connections are not closed. Applications should set + // the timeout to a value less than the server's timeout. + IdleTimeout time.Duration + + // If Wait is true and the pool is at the MaxActive limit, then Get() waits + // for a connection to be returned to the pool before returning. + Wait bool + + // mu protects fields defined below. + mu sync.Mutex + cond *sync.Cond + closed bool + active int + + // Stack of idleConn with most recently used at the front. + idle list.List +} + +type idleConn struct { + c Conn + t time.Time +} + +// NewPool creates a new pool. +// +// Deprecated: Initialize the Pool directory as shown in the example. +func NewPool(newFn func() (Conn, error), maxIdle int) *Pool { + return &Pool{Dial: newFn, MaxIdle: maxIdle} +} + +// Get gets a connection. The application must close the returned connection. +// This method always returns a valid connection so that applications can defer +// error handling to the first use of the connection. If there is an error +// getting an underlying connection, then the connection Err, Do, Send, Flush +// and Receive methods return that error. +func (p *Pool) Get() Conn { + c, err := p.get() + if err != nil { + return errorConnection{err} + } + return &pooledConnection{p: p, c: c} +} + +// PoolStats contains pool statistics. +type PoolStats struct { + // ActiveCount is the number of connections in the pool. The count includes idle connections and connections in use. + ActiveCount int + // IdleCount is the number of idle connections in the pool. + IdleCount int +} + +// Stats returns pool's statistics. +func (p *Pool) Stats() PoolStats { + p.mu.Lock() + stats := PoolStats{ + ActiveCount: p.active, + IdleCount: p.idle.Len(), + } + p.mu.Unlock() + + return stats +} + +// ActiveCount returns the number of connections in the pool. The count includes idle connections and connections in use. +func (p *Pool) ActiveCount() int { + p.mu.Lock() + active := p.active + p.mu.Unlock() + return active +} + +// IdleCount returns the number of idle connections in the pool. +func (p *Pool) IdleCount() int { + p.mu.Lock() + idle := p.idle.Len() + p.mu.Unlock() + return idle +} + +// Close releases the resources used by the pool. +func (p *Pool) Close() error { + p.mu.Lock() + idle := p.idle + p.idle.Init() + p.closed = true + p.active -= idle.Len() + if p.cond != nil { + p.cond.Broadcast() + } + p.mu.Unlock() + for e := idle.Front(); e != nil; e = e.Next() { + e.Value.(idleConn).c.Close() + } + return nil +} + +// release decrements the active count and signals waiters. The caller must +// hold p.mu during the call. +func (p *Pool) release() { + p.active -= 1 + if p.cond != nil { + p.cond.Signal() + } +} + +// get prunes stale connections and returns a connection from the idle list or +// creates a new connection. +func (p *Pool) get() (Conn, error) { + p.mu.Lock() + + // Prune stale connections. + + if timeout := p.IdleTimeout; timeout > 0 { + for i, n := 0, p.idle.Len(); i < n; i++ { + e := p.idle.Back() + if e == nil { + break + } + ic := e.Value.(idleConn) + if ic.t.Add(timeout).After(nowFunc()) { + break + } + p.idle.Remove(e) + p.release() + p.mu.Unlock() + ic.c.Close() + p.mu.Lock() + } + } + + for { + // Get idle connection. + + for i, n := 0, p.idle.Len(); i < n; i++ { + e := p.idle.Front() + if e == nil { + break + } + ic := e.Value.(idleConn) + p.idle.Remove(e) + test := p.TestOnBorrow + p.mu.Unlock() + if test == nil || test(ic.c, ic.t) == nil { + return ic.c, nil + } + ic.c.Close() + p.mu.Lock() + p.release() + } + + // Check for pool closed before dialing a new connection. + + if p.closed { + p.mu.Unlock() + return nil, errors.New("redigo: get on closed pool") + } + + // Dial new connection if under limit. + + if p.MaxActive == 0 || p.active < p.MaxActive { + dial := p.Dial + p.active += 1 + p.mu.Unlock() + c, err := dial() + if err != nil { + p.mu.Lock() + p.release() + p.mu.Unlock() + c = nil + } + return c, err + } + + if !p.Wait { + p.mu.Unlock() + return nil, ErrPoolExhausted + } + + if p.cond == nil { + p.cond = sync.NewCond(&p.mu) + } + p.cond.Wait() + } +} + +func (p *Pool) put(c Conn, forceClose bool) error { + err := c.Err() + p.mu.Lock() + if !p.closed && err == nil && !forceClose { + p.idle.PushFront(idleConn{t: nowFunc(), c: c}) + if p.idle.Len() > p.MaxIdle { + c = p.idle.Remove(p.idle.Back()).(idleConn).c + } else { + c = nil + } + } + + if c == nil { + if p.cond != nil { + p.cond.Signal() + } + p.mu.Unlock() + return nil + } + + p.release() + p.mu.Unlock() + return c.Close() +} + +type pooledConnection struct { + p *Pool + c Conn + state int +} + +var ( + sentinel []byte + sentinelOnce sync.Once +) + +func initSentinel() { + p := make([]byte, 64) + if _, err := rand.Read(p); err == nil { + sentinel = p + } else { + h := sha1.New() + io.WriteString(h, "Oops, rand failed. Use time instead.") + io.WriteString(h, strconv.FormatInt(time.Now().UnixNano(), 10)) + sentinel = h.Sum(nil) + } +} + +func (pc *pooledConnection) Close() error { + c := pc.c + if _, ok := c.(errorConnection); ok { + return nil + } + pc.c = errorConnection{errConnClosed} + + if pc.state&internal.MultiState != 0 { + c.Send("DISCARD") + pc.state &^= (internal.MultiState | internal.WatchState) + } else if pc.state&internal.WatchState != 0 { + c.Send("UNWATCH") + pc.state &^= internal.WatchState + } + if pc.state&internal.SubscribeState != 0 { + c.Send("UNSUBSCRIBE") + c.Send("PUNSUBSCRIBE") + // To detect the end of the message stream, ask the server to echo + // a sentinel value and read until we see that value. + sentinelOnce.Do(initSentinel) + c.Send("ECHO", sentinel) + c.Flush() + for { + p, err := c.Receive() + if err != nil { + break + } + if p, ok := p.([]byte); ok && bytes.Equal(p, sentinel) { + pc.state &^= internal.SubscribeState + break + } + } + } + c.Do("") + pc.p.put(c, pc.state != 0) + return nil +} + +func (pc *pooledConnection) Err() error { + return pc.c.Err() +} + +func (pc *pooledConnection) Do(commandName string, args ...interface{}) (reply interface{}, err error) { + ci := internal.LookupCommandInfo(commandName) + pc.state = (pc.state | ci.Set) &^ ci.Clear + return pc.c.Do(commandName, args...) +} + +func (pc *pooledConnection) Send(commandName string, args ...interface{}) error { + ci := internal.LookupCommandInfo(commandName) + pc.state = (pc.state | ci.Set) &^ ci.Clear + return pc.c.Send(commandName, args...) +} + +func (pc *pooledConnection) Flush() error { + return pc.c.Flush() +} + +func (pc *pooledConnection) Receive() (reply interface{}, err error) { + return pc.c.Receive() +} + +type errorConnection struct{ err error } + +func (ec errorConnection) Do(string, ...interface{}) (interface{}, error) { return nil, ec.err } +func (ec errorConnection) Send(string, ...interface{}) error { return ec.err } +func (ec errorConnection) Err() error { return ec.err } +func (ec errorConnection) Close() error { return ec.err } +func (ec errorConnection) Flush() error { return ec.err } +func (ec errorConnection) Receive() (interface{}, error) { return nil, ec.err } diff --git a/vendor/github.com/garyburd/redigo/redis/pre_go17.go b/vendor/github.com/garyburd/redigo/redis/pre_go17.go new file mode 100644 index 000000000..0212f60fb --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/pre_go17.go @@ -0,0 +1,31 @@ +// +build !go1.7 + +package redis + +import "crypto/tls" + +// similar cloneTLSClientConfig in the stdlib, but also honor skipVerify for the nil case +func cloneTLSClientConfig(cfg *tls.Config, skipVerify bool) *tls.Config { + if cfg == nil { + return &tls.Config{InsecureSkipVerify: skipVerify} + } + return &tls.Config{ + Rand: cfg.Rand, + Time: cfg.Time, + Certificates: cfg.Certificates, + NameToCertificate: cfg.NameToCertificate, + GetCertificate: cfg.GetCertificate, + RootCAs: cfg.RootCAs, + NextProtos: cfg.NextProtos, + ServerName: cfg.ServerName, + ClientAuth: cfg.ClientAuth, + ClientCAs: cfg.ClientCAs, + InsecureSkipVerify: cfg.InsecureSkipVerify, + CipherSuites: cfg.CipherSuites, + PreferServerCipherSuites: cfg.PreferServerCipherSuites, + ClientSessionCache: cfg.ClientSessionCache, + MinVersion: cfg.MinVersion, + MaxVersion: cfg.MaxVersion, + CurvePreferences: cfg.CurvePreferences, + } +} diff --git a/vendor/github.com/garyburd/redigo/redis/pubsub.go b/vendor/github.com/garyburd/redigo/redis/pubsub.go new file mode 100644 index 000000000..9d43f4ae9 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/pubsub.go @@ -0,0 +1,144 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +import "errors" + +// Subscription represents a subscribe or unsubscribe notification. +type Subscription struct { + // Kind is "subscribe", "unsubscribe", "psubscribe" or "punsubscribe" + Kind string + + // The channel that was changed. + Channel string + + // The current number of subscriptions for connection. + Count int +} + +// Message represents a message notification. +type Message struct { + // The originating channel. + Channel string + + // The message data. + Data []byte +} + +// PMessage represents a pmessage notification. +type PMessage struct { + // The matched pattern. + Pattern string + + // The originating channel. + Channel string + + // The message data. + Data []byte +} + +// Pong represents a pubsub pong notification. +type Pong struct { + Data string +} + +// PubSubConn wraps a Conn with convenience methods for subscribers. +type PubSubConn struct { + Conn Conn +} + +// Close closes the connection. +func (c PubSubConn) Close() error { + return c.Conn.Close() +} + +// Subscribe subscribes the connection to the specified channels. +func (c PubSubConn) Subscribe(channel ...interface{}) error { + c.Conn.Send("SUBSCRIBE", channel...) + return c.Conn.Flush() +} + +// PSubscribe subscribes the connection to the given patterns. +func (c PubSubConn) PSubscribe(channel ...interface{}) error { + c.Conn.Send("PSUBSCRIBE", channel...) + return c.Conn.Flush() +} + +// Unsubscribe unsubscribes the connection from the given channels, or from all +// of them if none is given. +func (c PubSubConn) Unsubscribe(channel ...interface{}) error { + c.Conn.Send("UNSUBSCRIBE", channel...) + return c.Conn.Flush() +} + +// PUnsubscribe unsubscribes the connection from the given patterns, or from all +// of them if none is given. +func (c PubSubConn) PUnsubscribe(channel ...interface{}) error { + c.Conn.Send("PUNSUBSCRIBE", channel...) + return c.Conn.Flush() +} + +// Ping sends a PING to the server with the specified data. +// +// The connection must be subscribed to at least one channel or pattern when +// calling this method. +func (c PubSubConn) Ping(data string) error { + c.Conn.Send("PING", data) + return c.Conn.Flush() +} + +// Receive returns a pushed message as a Subscription, Message, PMessage, Pong +// or error. The return value is intended to be used directly in a type switch +// as illustrated in the PubSubConn example. +func (c PubSubConn) Receive() interface{} { + reply, err := Values(c.Conn.Receive()) + if err != nil { + return err + } + + var kind string + reply, err = Scan(reply, &kind) + if err != nil { + return err + } + + switch kind { + case "message": + var m Message + if _, err := Scan(reply, &m.Channel, &m.Data); err != nil { + return err + } + return m + case "pmessage": + var pm PMessage + if _, err := Scan(reply, &pm.Pattern, &pm.Channel, &pm.Data); err != nil { + return err + } + return pm + case "subscribe", "psubscribe", "unsubscribe", "punsubscribe": + s := Subscription{Kind: kind} + if _, err := Scan(reply, &s.Channel, &s.Count); err != nil { + return err + } + return s + case "pong": + var p Pong + if _, err := Scan(reply, &p.Data); err != nil { + return err + } + return p + } + return errors.New("redigo: unknown pubsub notification") +} diff --git a/vendor/github.com/garyburd/redigo/redis/redis.go b/vendor/github.com/garyburd/redigo/redis/redis.go new file mode 100644 index 000000000..6bd9824b6 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/redis.go @@ -0,0 +1,61 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +// Error represents an error returned in a command reply. +type Error string + +func (err Error) Error() string { return string(err) } + +// Conn represents a connection to a Redis server. +type Conn interface { + // Close closes the connection. + Close() error + + // Err returns a non-nil value when the connection is not usable. + Err() error + + // Do sends a command to the server and returns the received reply. + Do(commandName string, args ...interface{}) (reply interface{}, err error) + + // Send writes the command to the client's output buffer. + Send(commandName string, args ...interface{}) error + + // Flush flushes the output buffer to the Redis server. + Flush() error + + // Receive receives a single reply from the Redis server + Receive() (reply interface{}, err error) +} + +// Argument is the interface implemented by an object which wants to control how +// the object is converted to Redis bulk strings. +type Argument interface { + // RedisArg returns a value to be encoded as a bulk string per the + // conversions listed in the section 'Executing Commands'. + // Implementations should typically return a []byte or string. + RedisArg() interface{} +} + +// Scanner is implemented by an object which wants to control its value is +// interpreted when read from Redis. +type Scanner interface { + // RedisScan assigns a value from a Redis value. The argument src is one of + // the reply types listed in the section `Executing Commands`. + // + // An error should be returned if the value cannot be stored without + // loss of information. + RedisScan(src interface{}) error +} diff --git a/vendor/github.com/garyburd/redigo/redis/reply.go b/vendor/github.com/garyburd/redigo/redis/reply.go new file mode 100644 index 000000000..c2b3b2b6e --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/reply.go @@ -0,0 +1,479 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +import ( + "errors" + "fmt" + "strconv" +) + +// ErrNil indicates that a reply value is nil. +var ErrNil = errors.New("redigo: nil returned") + +// Int is a helper that converts a command reply to an integer. If err is not +// equal to nil, then Int returns 0, err. Otherwise, Int converts the +// reply to an int as follows: +// +// Reply type Result +// integer int(reply), nil +// bulk string parsed reply, nil +// nil 0, ErrNil +// other 0, error +func Int(reply interface{}, err error) (int, error) { + if err != nil { + return 0, err + } + switch reply := reply.(type) { + case int64: + x := int(reply) + if int64(x) != reply { + return 0, strconv.ErrRange + } + return x, nil + case []byte: + n, err := strconv.ParseInt(string(reply), 10, 0) + return int(n), err + case nil: + return 0, ErrNil + case Error: + return 0, reply + } + return 0, fmt.Errorf("redigo: unexpected type for Int, got type %T", reply) +} + +// Int64 is a helper that converts a command reply to 64 bit integer. If err is +// not equal to nil, then Int returns 0, err. Otherwise, Int64 converts the +// reply to an int64 as follows: +// +// Reply type Result +// integer reply, nil +// bulk string parsed reply, nil +// nil 0, ErrNil +// other 0, error +func Int64(reply interface{}, err error) (int64, error) { + if err != nil { + return 0, err + } + switch reply := reply.(type) { + case int64: + return reply, nil + case []byte: + n, err := strconv.ParseInt(string(reply), 10, 64) + return n, err + case nil: + return 0, ErrNil + case Error: + return 0, reply + } + return 0, fmt.Errorf("redigo: unexpected type for Int64, got type %T", reply) +} + +var errNegativeInt = errors.New("redigo: unexpected value for Uint64") + +// Uint64 is a helper that converts a command reply to 64 bit integer. If err is +// not equal to nil, then Int returns 0, err. Otherwise, Int64 converts the +// reply to an int64 as follows: +// +// Reply type Result +// integer reply, nil +// bulk string parsed reply, nil +// nil 0, ErrNil +// other 0, error +func Uint64(reply interface{}, err error) (uint64, error) { + if err != nil { + return 0, err + } + switch reply := reply.(type) { + case int64: + if reply < 0 { + return 0, errNegativeInt + } + return uint64(reply), nil + case []byte: + n, err := strconv.ParseUint(string(reply), 10, 64) + return n, err + case nil: + return 0, ErrNil + case Error: + return 0, reply + } + return 0, fmt.Errorf("redigo: unexpected type for Uint64, got type %T", reply) +} + +// Float64 is a helper that converts a command reply to 64 bit float. If err is +// not equal to nil, then Float64 returns 0, err. Otherwise, Float64 converts +// the reply to an int as follows: +// +// Reply type Result +// bulk string parsed reply, nil +// nil 0, ErrNil +// other 0, error +func Float64(reply interface{}, err error) (float64, error) { + if err != nil { + return 0, err + } + switch reply := reply.(type) { + case []byte: + n, err := strconv.ParseFloat(string(reply), 64) + return n, err + case nil: + return 0, ErrNil + case Error: + return 0, reply + } + return 0, fmt.Errorf("redigo: unexpected type for Float64, got type %T", reply) +} + +// String is a helper that converts a command reply to a string. If err is not +// equal to nil, then String returns "", err. Otherwise String converts the +// reply to a string as follows: +// +// Reply type Result +// bulk string string(reply), nil +// simple string reply, nil +// nil "", ErrNil +// other "", error +func String(reply interface{}, err error) (string, error) { + if err != nil { + return "", err + } + switch reply := reply.(type) { + case []byte: + return string(reply), nil + case string: + return reply, nil + case nil: + return "", ErrNil + case Error: + return "", reply + } + return "", fmt.Errorf("redigo: unexpected type for String, got type %T", reply) +} + +// Bytes is a helper that converts a command reply to a slice of bytes. If err +// is not equal to nil, then Bytes returns nil, err. Otherwise Bytes converts +// the reply to a slice of bytes as follows: +// +// Reply type Result +// bulk string reply, nil +// simple string []byte(reply), nil +// nil nil, ErrNil +// other nil, error +func Bytes(reply interface{}, err error) ([]byte, error) { + if err != nil { + return nil, err + } + switch reply := reply.(type) { + case []byte: + return reply, nil + case string: + return []byte(reply), nil + case nil: + return nil, ErrNil + case Error: + return nil, reply + } + return nil, fmt.Errorf("redigo: unexpected type for Bytes, got type %T", reply) +} + +// Bool is a helper that converts a command reply to a boolean. If err is not +// equal to nil, then Bool returns false, err. Otherwise Bool converts the +// reply to boolean as follows: +// +// Reply type Result +// integer value != 0, nil +// bulk string strconv.ParseBool(reply) +// nil false, ErrNil +// other false, error +func Bool(reply interface{}, err error) (bool, error) { + if err != nil { + return false, err + } + switch reply := reply.(type) { + case int64: + return reply != 0, nil + case []byte: + return strconv.ParseBool(string(reply)) + case nil: + return false, ErrNil + case Error: + return false, reply + } + return false, fmt.Errorf("redigo: unexpected type for Bool, got type %T", reply) +} + +// MultiBulk is a helper that converts an array command reply to a []interface{}. +// +// Deprecated: Use Values instead. +func MultiBulk(reply interface{}, err error) ([]interface{}, error) { return Values(reply, err) } + +// Values is a helper that converts an array command reply to a []interface{}. +// If err is not equal to nil, then Values returns nil, err. Otherwise, Values +// converts the reply as follows: +// +// Reply type Result +// array reply, nil +// nil nil, ErrNil +// other nil, error +func Values(reply interface{}, err error) ([]interface{}, error) { + if err != nil { + return nil, err + } + switch reply := reply.(type) { + case []interface{}: + return reply, nil + case nil: + return nil, ErrNil + case Error: + return nil, reply + } + return nil, fmt.Errorf("redigo: unexpected type for Values, got type %T", reply) +} + +func sliceHelper(reply interface{}, err error, name string, makeSlice func(int), assign func(int, interface{}) error) error { + if err != nil { + return err + } + switch reply := reply.(type) { + case []interface{}: + makeSlice(len(reply)) + for i := range reply { + if reply[i] == nil { + continue + } + if err := assign(i, reply[i]); err != nil { + return err + } + } + return nil + case nil: + return ErrNil + case Error: + return reply + } + return fmt.Errorf("redigo: unexpected type for %s, got type %T", name, reply) +} + +// Float64s is a helper that converts an array command reply to a []float64. If +// err is not equal to nil, then Float64s returns nil, err. Nil array items are +// converted to 0 in the output slice. Floats64 returns an error if an array +// item is not a bulk string or nil. +func Float64s(reply interface{}, err error) ([]float64, error) { + var result []float64 + err = sliceHelper(reply, err, "Float64s", func(n int) { result = make([]float64, n) }, func(i int, v interface{}) error { + p, ok := v.([]byte) + if !ok { + return fmt.Errorf("redigo: unexpected element type for Floats64, got type %T", v) + } + f, err := strconv.ParseFloat(string(p), 64) + result[i] = f + return err + }) + return result, err +} + +// Strings is a helper that converts an array command reply to a []string. If +// err is not equal to nil, then Strings returns nil, err. Nil array items are +// converted to "" in the output slice. Strings returns an error if an array +// item is not a bulk string or nil. +func Strings(reply interface{}, err error) ([]string, error) { + var result []string + err = sliceHelper(reply, err, "Strings", func(n int) { result = make([]string, n) }, func(i int, v interface{}) error { + switch v := v.(type) { + case string: + result[i] = v + return nil + case []byte: + result[i] = string(v) + return nil + default: + return fmt.Errorf("redigo: unexpected element type for Strings, got type %T", v) + } + }) + return result, err +} + +// ByteSlices is a helper that converts an array command reply to a [][]byte. +// If err is not equal to nil, then ByteSlices returns nil, err. Nil array +// items are stay nil. ByteSlices returns an error if an array item is not a +// bulk string or nil. +func ByteSlices(reply interface{}, err error) ([][]byte, error) { + var result [][]byte + err = sliceHelper(reply, err, "ByteSlices", func(n int) { result = make([][]byte, n) }, func(i int, v interface{}) error { + p, ok := v.([]byte) + if !ok { + return fmt.Errorf("redigo: unexpected element type for ByteSlices, got type %T", v) + } + result[i] = p + return nil + }) + return result, err +} + +// Int64s is a helper that converts an array command reply to a []int64. +// If err is not equal to nil, then Int64s returns nil, err. Nil array +// items are stay nil. Int64s returns an error if an array item is not a +// bulk string or nil. +func Int64s(reply interface{}, err error) ([]int64, error) { + var result []int64 + err = sliceHelper(reply, err, "Int64s", func(n int) { result = make([]int64, n) }, func(i int, v interface{}) error { + switch v := v.(type) { + case int64: + result[i] = v + return nil + case []byte: + n, err := strconv.ParseInt(string(v), 10, 64) + result[i] = n + return err + default: + return fmt.Errorf("redigo: unexpected element type for Int64s, got type %T", v) + } + }) + return result, err +} + +// Ints is a helper that converts an array command reply to a []in. +// If err is not equal to nil, then Ints returns nil, err. Nil array +// items are stay nil. Ints returns an error if an array item is not a +// bulk string or nil. +func Ints(reply interface{}, err error) ([]int, error) { + var result []int + err = sliceHelper(reply, err, "Ints", func(n int) { result = make([]int, n) }, func(i int, v interface{}) error { + switch v := v.(type) { + case int64: + n := int(v) + if int64(n) != v { + return strconv.ErrRange + } + result[i] = n + return nil + case []byte: + n, err := strconv.Atoi(string(v)) + result[i] = n + return err + default: + return fmt.Errorf("redigo: unexpected element type for Ints, got type %T", v) + } + }) + return result, err +} + +// StringMap is a helper that converts an array of strings (alternating key, value) +// into a map[string]string. The HGETALL and CONFIG GET commands return replies in this format. +// Requires an even number of values in result. +func StringMap(result interface{}, err error) (map[string]string, error) { + values, err := Values(result, err) + if err != nil { + return nil, err + } + if len(values)%2 != 0 { + return nil, errors.New("redigo: StringMap expects even number of values result") + } + m := make(map[string]string, len(values)/2) + for i := 0; i < len(values); i += 2 { + key, okKey := values[i].([]byte) + value, okValue := values[i+1].([]byte) + if !okKey || !okValue { + return nil, errors.New("redigo: StringMap key not a bulk string value") + } + m[string(key)] = string(value) + } + return m, nil +} + +// IntMap is a helper that converts an array of strings (alternating key, value) +// into a map[string]int. The HGETALL commands return replies in this format. +// Requires an even number of values in result. +func IntMap(result interface{}, err error) (map[string]int, error) { + values, err := Values(result, err) + if err != nil { + return nil, err + } + if len(values)%2 != 0 { + return nil, errors.New("redigo: IntMap expects even number of values result") + } + m := make(map[string]int, len(values)/2) + for i := 0; i < len(values); i += 2 { + key, ok := values[i].([]byte) + if !ok { + return nil, errors.New("redigo: IntMap key not a bulk string value") + } + value, err := Int(values[i+1], nil) + if err != nil { + return nil, err + } + m[string(key)] = value + } + return m, nil +} + +// Int64Map is a helper that converts an array of strings (alternating key, value) +// into a map[string]int64. The HGETALL commands return replies in this format. +// Requires an even number of values in result. +func Int64Map(result interface{}, err error) (map[string]int64, error) { + values, err := Values(result, err) + if err != nil { + return nil, err + } + if len(values)%2 != 0 { + return nil, errors.New("redigo: Int64Map expects even number of values result") + } + m := make(map[string]int64, len(values)/2) + for i := 0; i < len(values); i += 2 { + key, ok := values[i].([]byte) + if !ok { + return nil, errors.New("redigo: Int64Map key not a bulk string value") + } + value, err := Int64(values[i+1], nil) + if err != nil { + return nil, err + } + m[string(key)] = value + } + return m, nil +} + +// Positions is a helper that converts an array of positions (lat, long) +// into a [][2]float64. The GEOPOS command returns replies in this format. +func Positions(result interface{}, err error) ([]*[2]float64, error) { + values, err := Values(result, err) + if err != nil { + return nil, err + } + positions := make([]*[2]float64, len(values)) + for i := range values { + if values[i] == nil { + continue + } + p, ok := values[i].([]interface{}) + if !ok { + return nil, fmt.Errorf("redigo: unexpected element type for interface slice, got type %T", values[i]) + } + if len(p) != 2 { + return nil, fmt.Errorf("redigo: unexpected number of values for a member position, got %d", len(p)) + } + lat, err := Float64(p[0], nil) + if err != nil { + return nil, err + } + long, err := Float64(p[1], nil) + if err != nil { + return nil, err + } + positions[i] = &[2]float64{lat, long} + } + return positions, nil +} diff --git a/vendor/github.com/garyburd/redigo/redis/scan.go b/vendor/github.com/garyburd/redigo/redis/scan.go new file mode 100644 index 000000000..ef9551bd4 --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/scan.go @@ -0,0 +1,585 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "sync" +) + +func ensureLen(d reflect.Value, n int) { + if n > d.Cap() { + d.Set(reflect.MakeSlice(d.Type(), n, n)) + } else { + d.SetLen(n) + } +} + +func cannotConvert(d reflect.Value, s interface{}) error { + var sname string + switch s.(type) { + case string: + sname = "Redis simple string" + case Error: + sname = "Redis error" + case int64: + sname = "Redis integer" + case []byte: + sname = "Redis bulk string" + case []interface{}: + sname = "Redis array" + default: + sname = reflect.TypeOf(s).String() + } + return fmt.Errorf("cannot convert from %s to %s", sname, d.Type()) +} + +func convertAssignBulkString(d reflect.Value, s []byte) (err error) { + switch d.Type().Kind() { + case reflect.Float32, reflect.Float64: + var x float64 + x, err = strconv.ParseFloat(string(s), d.Type().Bits()) + d.SetFloat(x) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + var x int64 + x, err = strconv.ParseInt(string(s), 10, d.Type().Bits()) + d.SetInt(x) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + var x uint64 + x, err = strconv.ParseUint(string(s), 10, d.Type().Bits()) + d.SetUint(x) + case reflect.Bool: + var x bool + x, err = strconv.ParseBool(string(s)) + d.SetBool(x) + case reflect.String: + d.SetString(string(s)) + case reflect.Slice: + if d.Type().Elem().Kind() != reflect.Uint8 { + err = cannotConvert(d, s) + } else { + d.SetBytes(s) + } + default: + err = cannotConvert(d, s) + } + return +} + +func convertAssignInt(d reflect.Value, s int64) (err error) { + switch d.Type().Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + d.SetInt(s) + if d.Int() != s { + err = strconv.ErrRange + d.SetInt(0) + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + if s < 0 { + err = strconv.ErrRange + } else { + x := uint64(s) + d.SetUint(x) + if d.Uint() != x { + err = strconv.ErrRange + d.SetUint(0) + } + } + case reflect.Bool: + d.SetBool(s != 0) + default: + err = cannotConvert(d, s) + } + return +} + +func convertAssignValue(d reflect.Value, s interface{}) (err error) { + if d.Kind() != reflect.Ptr { + if d.CanAddr() { + d2 := d.Addr() + if d2.CanInterface() { + if scanner, ok := d2.Interface().(Scanner); ok { + return scanner.RedisScan(s) + } + } + } + } else if d.CanInterface() { + // Already a reflect.Ptr + if d.IsNil() { + d.Set(reflect.New(d.Type().Elem())) + } + if scanner, ok := d.Interface().(Scanner); ok { + return scanner.RedisScan(s) + } + } + + switch s := s.(type) { + case []byte: + err = convertAssignBulkString(d, s) + case int64: + err = convertAssignInt(d, s) + default: + err = cannotConvert(d, s) + } + return err +} + +func convertAssignArray(d reflect.Value, s []interface{}) error { + if d.Type().Kind() != reflect.Slice { + return cannotConvert(d, s) + } + ensureLen(d, len(s)) + for i := 0; i < len(s); i++ { + if err := convertAssignValue(d.Index(i), s[i]); err != nil { + return err + } + } + return nil +} + +func convertAssign(d interface{}, s interface{}) (err error) { + if scanner, ok := d.(Scanner); ok { + return scanner.RedisScan(s) + } + + // Handle the most common destination types using type switches and + // fall back to reflection for all other types. + switch s := s.(type) { + case nil: + // ignore + case []byte: + switch d := d.(type) { + case *string: + *d = string(s) + case *int: + *d, err = strconv.Atoi(string(s)) + case *bool: + *d, err = strconv.ParseBool(string(s)) + case *[]byte: + *d = s + case *interface{}: + *d = s + case nil: + // skip value + default: + if d := reflect.ValueOf(d); d.Type().Kind() != reflect.Ptr { + err = cannotConvert(d, s) + } else { + err = convertAssignBulkString(d.Elem(), s) + } + } + case int64: + switch d := d.(type) { + case *int: + x := int(s) + if int64(x) != s { + err = strconv.ErrRange + x = 0 + } + *d = x + case *bool: + *d = s != 0 + case *interface{}: + *d = s + case nil: + // skip value + default: + if d := reflect.ValueOf(d); d.Type().Kind() != reflect.Ptr { + err = cannotConvert(d, s) + } else { + err = convertAssignInt(d.Elem(), s) + } + } + case string: + switch d := d.(type) { + case *string: + *d = s + case *interface{}: + *d = s + case nil: + // skip value + default: + err = cannotConvert(reflect.ValueOf(d), s) + } + case []interface{}: + switch d := d.(type) { + case *[]interface{}: + *d = s + case *interface{}: + *d = s + case nil: + // skip value + default: + if d := reflect.ValueOf(d); d.Type().Kind() != reflect.Ptr { + err = cannotConvert(d, s) + } else { + err = convertAssignArray(d.Elem(), s) + } + } + case Error: + err = s + default: + err = cannotConvert(reflect.ValueOf(d), s) + } + return +} + +// Scan copies from src to the values pointed at by dest. +// +// Scan uses RedisScan if available otherwise: +// +// The values pointed at by dest must be an integer, float, boolean, string, +// []byte, interface{} or slices of these types. Scan uses the standard strconv +// package to convert bulk strings to numeric and boolean types. +// +// If a dest value is nil, then the corresponding src value is skipped. +// +// If a src element is nil, then the corresponding dest value is not modified. +// +// To enable easy use of Scan in a loop, Scan returns the slice of src +// following the copied values. +func Scan(src []interface{}, dest ...interface{}) ([]interface{}, error) { + if len(src) < len(dest) { + return nil, errors.New("redigo.Scan: array short") + } + var err error + for i, d := range dest { + err = convertAssign(d, src[i]) + if err != nil { + err = fmt.Errorf("redigo.Scan: cannot assign to dest %d: %v", i, err) + break + } + } + return src[len(dest):], err +} + +type fieldSpec struct { + name string + index []int + omitEmpty bool +} + +type structSpec struct { + m map[string]*fieldSpec + l []*fieldSpec +} + +func (ss *structSpec) fieldSpec(name []byte) *fieldSpec { + return ss.m[string(name)] +} + +func compileStructSpec(t reflect.Type, depth map[string]int, index []int, ss *structSpec) { + for i := 0; i < t.NumField(); i++ { + f := t.Field(i) + switch { + case f.PkgPath != "" && !f.Anonymous: + // Ignore unexported fields. + case f.Anonymous: + // TODO: Handle pointers. Requires change to decoder and + // protection against infinite recursion. + if f.Type.Kind() == reflect.Struct { + compileStructSpec(f.Type, depth, append(index, i), ss) + } + default: + fs := &fieldSpec{name: f.Name} + tag := f.Tag.Get("redis") + p := strings.Split(tag, ",") + if len(p) > 0 { + if p[0] == "-" { + continue + } + if len(p[0]) > 0 { + fs.name = p[0] + } + for _, s := range p[1:] { + switch s { + case "omitempty": + fs.omitEmpty = true + default: + panic(fmt.Errorf("redigo: unknown field tag %s for type %s", s, t.Name())) + } + } + } + d, found := depth[fs.name] + if !found { + d = 1 << 30 + } + switch { + case len(index) == d: + // At same depth, remove from result. + delete(ss.m, fs.name) + j := 0 + for i := 0; i < len(ss.l); i++ { + if fs.name != ss.l[i].name { + ss.l[j] = ss.l[i] + j += 1 + } + } + ss.l = ss.l[:j] + case len(index) < d: + fs.index = make([]int, len(index)+1) + copy(fs.index, index) + fs.index[len(index)] = i + depth[fs.name] = len(index) + ss.m[fs.name] = fs + ss.l = append(ss.l, fs) + } + } + } +} + +var ( + structSpecMutex sync.RWMutex + structSpecCache = make(map[reflect.Type]*structSpec) + defaultFieldSpec = &fieldSpec{} +) + +func structSpecForType(t reflect.Type) *structSpec { + + structSpecMutex.RLock() + ss, found := structSpecCache[t] + structSpecMutex.RUnlock() + if found { + return ss + } + + structSpecMutex.Lock() + defer structSpecMutex.Unlock() + ss, found = structSpecCache[t] + if found { + return ss + } + + ss = &structSpec{m: make(map[string]*fieldSpec)} + compileStructSpec(t, make(map[string]int), nil, ss) + structSpecCache[t] = ss + return ss +} + +var errScanStructValue = errors.New("redigo.ScanStruct: value must be non-nil pointer to a struct") + +// ScanStruct scans alternating names and values from src to a struct. The +// HGETALL and CONFIG GET commands return replies in this format. +// +// ScanStruct uses exported field names to match values in the response. Use +// 'redis' field tag to override the name: +// +// Field int `redis:"myName"` +// +// Fields with the tag redis:"-" are ignored. +// +// Each field uses RedisScan if available otherwise: +// Integer, float, boolean, string and []byte fields are supported. Scan uses the +// standard strconv package to convert bulk string values to numeric and +// boolean types. +// +// If a src element is nil, then the corresponding field is not modified. +func ScanStruct(src []interface{}, dest interface{}) error { + d := reflect.ValueOf(dest) + if d.Kind() != reflect.Ptr || d.IsNil() { + return errScanStructValue + } + d = d.Elem() + if d.Kind() != reflect.Struct { + return errScanStructValue + } + ss := structSpecForType(d.Type()) + + if len(src)%2 != 0 { + return errors.New("redigo.ScanStruct: number of values not a multiple of 2") + } + + for i := 0; i < len(src); i += 2 { + s := src[i+1] + if s == nil { + continue + } + name, ok := src[i].([]byte) + if !ok { + return fmt.Errorf("redigo.ScanStruct: key %d not a bulk string value", i) + } + fs := ss.fieldSpec(name) + if fs == nil { + continue + } + if err := convertAssignValue(d.FieldByIndex(fs.index), s); err != nil { + return fmt.Errorf("redigo.ScanStruct: cannot assign field %s: %v", fs.name, err) + } + } + return nil +} + +var ( + errScanSliceValue = errors.New("redigo.ScanSlice: dest must be non-nil pointer to a struct") +) + +// ScanSlice scans src to the slice pointed to by dest. The elements the dest +// slice must be integer, float, boolean, string, struct or pointer to struct +// values. +// +// Struct fields must be integer, float, boolean or string values. All struct +// fields are used unless a subset is specified using fieldNames. +func ScanSlice(src []interface{}, dest interface{}, fieldNames ...string) error { + d := reflect.ValueOf(dest) + if d.Kind() != reflect.Ptr || d.IsNil() { + return errScanSliceValue + } + d = d.Elem() + if d.Kind() != reflect.Slice { + return errScanSliceValue + } + + isPtr := false + t := d.Type().Elem() + if t.Kind() == reflect.Ptr && t.Elem().Kind() == reflect.Struct { + isPtr = true + t = t.Elem() + } + + if t.Kind() != reflect.Struct { + ensureLen(d, len(src)) + for i, s := range src { + if s == nil { + continue + } + if err := convertAssignValue(d.Index(i), s); err != nil { + return fmt.Errorf("redigo.ScanSlice: cannot assign element %d: %v", i, err) + } + } + return nil + } + + ss := structSpecForType(t) + fss := ss.l + if len(fieldNames) > 0 { + fss = make([]*fieldSpec, len(fieldNames)) + for i, name := range fieldNames { + fss[i] = ss.m[name] + if fss[i] == nil { + return fmt.Errorf("redigo.ScanSlice: ScanSlice bad field name %s", name) + } + } + } + + if len(fss) == 0 { + return errors.New("redigo.ScanSlice: no struct fields") + } + + n := len(src) / len(fss) + if n*len(fss) != len(src) { + return errors.New("redigo.ScanSlice: length not a multiple of struct field count") + } + + ensureLen(d, n) + for i := 0; i < n; i++ { + d := d.Index(i) + if isPtr { + if d.IsNil() { + d.Set(reflect.New(t)) + } + d = d.Elem() + } + for j, fs := range fss { + s := src[i*len(fss)+j] + if s == nil { + continue + } + if err := convertAssignValue(d.FieldByIndex(fs.index), s); err != nil { + return fmt.Errorf("redigo.ScanSlice: cannot assign element %d to field %s: %v", i*len(fss)+j, fs.name, err) + } + } + } + return nil +} + +// Args is a helper for constructing command arguments from structured values. +type Args []interface{} + +// Add returns the result of appending value to args. +func (args Args) Add(value ...interface{}) Args { + return append(args, value...) +} + +// AddFlat returns the result of appending the flattened value of v to args. +// +// Maps are flattened by appending the alternating keys and map values to args. +// +// Slices are flattened by appending the slice elements to args. +// +// Structs are flattened by appending the alternating names and values of +// exported fields to args. If v is a nil struct pointer, then nothing is +// appended. The 'redis' field tag overrides struct field names. See ScanStruct +// for more information on the use of the 'redis' field tag. +// +// Other types are appended to args as is. +func (args Args) AddFlat(v interface{}) Args { + rv := reflect.ValueOf(v) + switch rv.Kind() { + case reflect.Struct: + args = flattenStruct(args, rv) + case reflect.Slice: + for i := 0; i < rv.Len(); i++ { + args = append(args, rv.Index(i).Interface()) + } + case reflect.Map: + for _, k := range rv.MapKeys() { + args = append(args, k.Interface(), rv.MapIndex(k).Interface()) + } + case reflect.Ptr: + if rv.Type().Elem().Kind() == reflect.Struct { + if !rv.IsNil() { + args = flattenStruct(args, rv.Elem()) + } + } else { + args = append(args, v) + } + default: + args = append(args, v) + } + return args +} + +func flattenStruct(args Args, v reflect.Value) Args { + ss := structSpecForType(v.Type()) + for _, fs := range ss.l { + fv := v.FieldByIndex(fs.index) + if fs.omitEmpty { + var empty = false + switch fv.Kind() { + case reflect.Array, reflect.Map, reflect.Slice, reflect.String: + empty = fv.Len() == 0 + case reflect.Bool: + empty = !fv.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + empty = fv.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + empty = fv.Uint() == 0 + case reflect.Float32, reflect.Float64: + empty = fv.Float() == 0 + case reflect.Interface, reflect.Ptr: + empty = fv.IsNil() + } + if empty { + continue + } + } + args = append(args, fs.name, fv.Interface()) + } + return args +} diff --git a/vendor/github.com/garyburd/redigo/redis/script.go b/vendor/github.com/garyburd/redigo/redis/script.go new file mode 100644 index 000000000..0ef1c821f --- /dev/null +++ b/vendor/github.com/garyburd/redigo/redis/script.go @@ -0,0 +1,91 @@ +// Copyright 2012 Gary Burd +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package redis + +import ( + "crypto/sha1" + "encoding/hex" + "io" + "strings" +) + +// Script encapsulates the source, hash and key count for a Lua script. See +// http://redis.io/commands/eval for information on scripts in Redis. +type Script struct { + keyCount int + src string + hash string +} + +// NewScript returns a new script object. If keyCount is greater than or equal +// to zero, then the count is automatically inserted in the EVAL command +// argument list. If keyCount is less than zero, then the application supplies +// the count as the first value in the keysAndArgs argument to the Do, Send and +// SendHash methods. +func NewScript(keyCount int, src string) *Script { + h := sha1.New() + io.WriteString(h, src) + return &Script{keyCount, src, hex.EncodeToString(h.Sum(nil))} +} + +func (s *Script) args(spec string, keysAndArgs []interface{}) []interface{} { + var args []interface{} + if s.keyCount < 0 { + args = make([]interface{}, 1+len(keysAndArgs)) + args[0] = spec + copy(args[1:], keysAndArgs) + } else { + args = make([]interface{}, 2+len(keysAndArgs)) + args[0] = spec + args[1] = s.keyCount + copy(args[2:], keysAndArgs) + } + return args +} + +// Hash returns the script hash. +func (s *Script) Hash() string { + return s.hash +} + +// Do evaluates the script. Under the covers, Do optimistically evaluates the +// script using the EVALSHA command. If the command fails because the script is +// not loaded, then Do evaluates the script using the EVAL command (thus +// causing the script to load). +func (s *Script) Do(c Conn, keysAndArgs ...interface{}) (interface{}, error) { + v, err := c.Do("EVALSHA", s.args(s.hash, keysAndArgs)...) + if e, ok := err.(Error); ok && strings.HasPrefix(string(e), "NOSCRIPT ") { + v, err = c.Do("EVAL", s.args(s.src, keysAndArgs)...) + } + return v, err +} + +// SendHash evaluates the script without waiting for the reply. The script is +// evaluated with the EVALSHA command. The application must ensure that the +// script is loaded by a previous call to Send, Do or Load methods. +func (s *Script) SendHash(c Conn, keysAndArgs ...interface{}) error { + return c.Send("EVALSHA", s.args(s.hash, keysAndArgs)...) +} + +// Send evaluates the script without waiting for the reply. +func (s *Script) Send(c Conn, keysAndArgs ...interface{}) error { + return c.Send("EVAL", s.args(s.src, keysAndArgs)...) +} + +// Load loads the script without evaluating it. +func (s *Script) Load(c Conn) error { + _, err := c.Do("SCRIPT", "LOAD", s.src) + return err +} diff --git a/vendor/github.com/go-ini/ini/LICENSE b/vendor/github.com/go-ini/ini/LICENSE new file mode 100644 index 000000000..37ec93a14 --- /dev/null +++ b/vendor/github.com/go-ini/ini/LICENSE @@ -0,0 +1,191 @@ +Apache License +Version 2.0, January 2004 +http://www.apache.org/licenses/ + +TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + +1. Definitions. + +"License" shall mean the terms and conditions for use, reproduction, and +distribution as defined by Sections 1 through 9 of this document. + +"Licensor" shall mean the copyright owner or entity authorized by the copyright +owner that is granting the License. + +"Legal Entity" shall mean the union of the acting entity and all other entities +that control, are controlled by, or are under common control with that entity. +For the purposes of this definition, "control" means (i) the power, direct or +indirect, to cause the direction or management of such entity, whether by +contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the +outstanding shares, or (iii) beneficial ownership of such entity. + +"You" (or "Your") shall mean an individual or Legal Entity exercising +permissions granted by this License. + +"Source" form shall mean the preferred form for making modifications, including +but not limited to software source code, documentation source, and configuration +files. + +"Object" form shall mean any form resulting from mechanical transformation or +translation of a Source form, including but not limited to compiled object code, +generated documentation, and conversions to other media types. + +"Work" shall mean the work of authorship, whether in Source or Object form, made +available under the License, as indicated by a copyright notice that is included +in or attached to the work (an example is provided in the Appendix below). + +"Derivative Works" shall mean any work, whether in Source or Object form, that +is based on (or derived from) the Work and for which the editorial revisions, +annotations, elaborations, or other modifications represent, as a whole, an +original work of authorship. For the purposes of this License, Derivative Works +shall not include works that remain separable from, or merely link (or bind by +name) to the interfaces of, the Work and Derivative Works thereof. + +"Contribution" shall mean any work of authorship, including the original version +of the Work and any modifications or additions to that Work or Derivative Works +thereof, that is intentionally submitted to Licensor for inclusion in the Work +by the copyright owner or by an individual or Legal Entity authorized to submit +on behalf of the copyright owner. For the purposes of this definition, +"submitted" means any form of electronic, verbal, or written communication sent +to the Licensor or its representatives, including but not limited to +communication on electronic mailing lists, source code control systems, and +issue tracking systems that are managed by, or on behalf of, the Licensor for +the purpose of discussing and improving the Work, but excluding communication +that is conspicuously marked or otherwise designated in writing by the copyright +owner as "Not a Contribution." + +"Contributor" shall mean Licensor and any individual or Legal Entity on behalf +of whom a Contribution has been received by Licensor and subsequently +incorporated within the Work. + +2. Grant of Copyright License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable copyright license to reproduce, prepare Derivative Works of, +publicly display, publicly perform, sublicense, and distribute the Work and such +Derivative Works in Source or Object form. + +3. Grant of Patent License. + +Subject to the terms and conditions of this License, each Contributor hereby +grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, +irrevocable (except as stated in this section) patent license to make, have +made, use, offer to sell, sell, import, and otherwise transfer the Work, where +such license applies only to those patent claims licensable by such Contributor +that are necessarily infringed by their Contribution(s) alone or by combination +of their Contribution(s) with the Work to which such Contribution(s) was +submitted. If You institute patent litigation against any entity (including a +cross-claim or counterclaim in a lawsuit) alleging that the Work or a +Contribution incorporated within the Work constitutes direct or contributory +patent infringement, then any patent licenses granted to You under this License +for that Work shall terminate as of the date such litigation is filed. + +4. Redistribution. + +You may reproduce and distribute copies of the Work or Derivative Works thereof +in any medium, with or without modifications, and in Source or Object form, +provided that You meet the following conditions: + +You must give any other recipients of the Work or Derivative Works a copy of +this License; and +You must cause any modified files to carry prominent notices stating that You +changed the files; and +You must retain, in the Source form of any Derivative Works that You distribute, +all copyright, patent, trademark, and attribution notices from the Source form +of the Work, excluding those notices that do not pertain to any part of the +Derivative Works; and +If the Work includes a "NOTICE" text file as part of its distribution, then any +Derivative Works that You distribute must include a readable copy of the +attribution notices contained within such NOTICE file, excluding those notices +that do not pertain to any part of the Derivative Works, in at least one of the +following places: within a NOTICE text file distributed as part of the +Derivative Works; within the Source form or documentation, if provided along +with the Derivative Works; or, within a display generated by the Derivative +Works, if and wherever such third-party notices normally appear. The contents of +the NOTICE file are for informational purposes only and do not modify the +License. You may add Your own attribution notices within Derivative Works that +You distribute, alongside or as an addendum to the NOTICE text from the Work, +provided that such additional attribution notices cannot be construed as +modifying the License. +You may add Your own copyright statement to Your modifications and may provide +additional or different license terms and conditions for use, reproduction, or +distribution of Your modifications, or for any such Derivative Works as a whole, +provided Your use, reproduction, and distribution of the Work otherwise complies +with the conditions stated in this License. + +5. Submission of Contributions. + +Unless You explicitly state otherwise, any Contribution intentionally submitted +for inclusion in the Work by You to the Licensor shall be under the terms and +conditions of this License, without any additional terms or conditions. +Notwithstanding the above, nothing herein shall supersede or modify the terms of +any separate license agreement you may have executed with Licensor regarding +such Contributions. + +6. Trademarks. + +This License does not grant permission to use the trade names, trademarks, +service marks, or product names of the Licensor, except as required for +reasonable and customary use in describing the origin of the Work and +reproducing the content of the NOTICE file. + +7. Disclaimer of Warranty. + +Unless required by applicable law or agreed to in writing, Licensor provides the +Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, +WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, +including, without limitation, any warranties or conditions of TITLE, +NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are +solely responsible for determining the appropriateness of using or +redistributing the Work and assume any risks associated with Your exercise of +permissions under this License. + +8. Limitation of Liability. + +In no event and under no legal theory, whether in tort (including negligence), +contract, or otherwise, unless required by applicable law (such as deliberate +and grossly negligent acts) or agreed to in writing, shall any Contributor be +liable to You for damages, including any direct, indirect, special, incidental, +or consequential damages of any character arising as a result of this License or +out of the use or inability to use the Work (including but not limited to +damages for loss of goodwill, work stoppage, computer failure or malfunction, or +any and all other commercial damages or losses), even if such Contributor has +been advised of the possibility of such damages. + +9. Accepting Warranty or Additional Liability. + +While redistributing the Work or Derivative Works thereof, You may choose to +offer, and charge a fee for, acceptance of support, warranty, indemnity, or +other liability obligations and/or rights consistent with this License. However, +in accepting such obligations, You may act only on Your own behalf and on Your +sole responsibility, not on behalf of any other Contributor, and only if You +agree to indemnify, defend, and hold each Contributor harmless for any liability +incurred by, or claims asserted against, such Contributor by reason of your +accepting any such warranty or additional liability. + +END OF TERMS AND CONDITIONS + +APPENDIX: How to apply the Apache License to your work + +To apply the Apache License to your work, attach the following boilerplate +notice, with the fields enclosed by brackets "[]" replaced with your own +identifying information. (Don't include the brackets!) The text should be +enclosed in the appropriate comment syntax for the file format. We also +recommend that a file or class name and description of purpose be included on +the same "printed page" as the copyright notice for easier identification within +third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/vendor/github.com/go-ini/ini/Makefile b/vendor/github.com/go-ini/ini/Makefile new file mode 100644 index 000000000..ac034e525 --- /dev/null +++ b/vendor/github.com/go-ini/ini/Makefile @@ -0,0 +1,12 @@ +.PHONY: build test bench vet + +build: vet bench + +test: + go test -v -cover -race + +bench: + go test -v -cover -race -test.bench=. -test.benchmem + +vet: + go vet diff --git a/vendor/github.com/go-ini/ini/README.md b/vendor/github.com/go-ini/ini/README.md new file mode 100644 index 000000000..e67d51f32 --- /dev/null +++ b/vendor/github.com/go-ini/ini/README.md @@ -0,0 +1,746 @@ +INI [![Build Status](https://travis-ci.org/go-ini/ini.svg?branch=master)](https://travis-ci.org/go-ini/ini) [![Sourcegraph](https://sourcegraph.com/github.com/go-ini/ini/-/badge.svg)](https://sourcegraph.com/github.com/go-ini/ini?badge) +=== + +![](https://avatars0.githubusercontent.com/u/10216035?v=3&s=200) + +Package ini provides INI file read and write functionality in Go. + +[简体中文](README_ZH.md) + +## Feature + +- Load multiple data sources(`[]byte`, file and `io.ReadCloser`) with overwrites. +- Read with recursion values. +- Read with parent-child sections. +- Read with auto-increment key names. +- Read with multiple-line values. +- Read with tons of helper methods. +- Read and convert values to Go types. +- Read and **WRITE** comments of sections and keys. +- Manipulate sections, keys and comments with ease. +- Keep sections and keys in order as you parse and save. + +## Installation + +To use a tagged revision: + + go get gopkg.in/ini.v1 + +To use with latest changes: + + go get github.com/go-ini/ini + +Please add `-u` flag to update in the future. + +### Testing + +If you want to test on your machine, please apply `-t` flag: + + go get -t gopkg.in/ini.v1 + +Please add `-u` flag to update in the future. + +## Getting Started + +### Loading from data sources + +A **Data Source** is either raw data in type `[]byte`, a file name with type `string` or `io.ReadCloser`. You can load **as many data sources as you want**. Passing other types will simply return an error. + +```go +cfg, err := ini.Load([]byte("raw data"), "filename", ioutil.NopCloser(bytes.NewReader([]byte("some other data")))) +``` + +Or start with an empty object: + +```go +cfg := ini.Empty() +``` + +When you cannot decide how many data sources to load at the beginning, you will still be able to **Append()** them later. + +```go +err := cfg.Append("other file", []byte("other raw data")) +``` + +If you have a list of files with possibilities that some of them may not available at the time, and you don't know exactly which ones, you can use `LooseLoad` to ignore nonexistent files without returning error. + +```go +cfg, err := ini.LooseLoad("filename", "filename_404") +``` + +The cool thing is, whenever the file is available to load while you're calling `Reload` method, it will be counted as usual. + +#### Ignore cases of key name + +When you do not care about cases of section and key names, you can use `InsensitiveLoad` to force all names to be lowercased while parsing. + +```go +cfg, err := ini.InsensitiveLoad("filename") +//... + +// sec1 and sec2 are the exactly same section object +sec1, err := cfg.GetSection("Section") +sec2, err := cfg.GetSection("SecTIOn") + +// key1 and key2 are the exactly same key object +key1, err := sec1.GetKey("Key") +key2, err := sec2.GetKey("KeY") +``` + +#### MySQL-like boolean key + +MySQL's configuration allows a key without value as follows: + +```ini +[mysqld] +... +skip-host-cache +skip-name-resolve +``` + +By default, this is considered as missing value. But if you know you're going to deal with those cases, you can assign advanced load options: + +```go +cfg, err := LoadSources(LoadOptions{AllowBooleanKeys: true}, "my.cnf")) +``` + +The value of those keys are always `true`, and when you save to a file, it will keep in the same foramt as you read. + +To generate such keys in your program, you could use `NewBooleanKey`: + +```go +key, err := sec.NewBooleanKey("skip-host-cache") +``` + +#### Comment + +Take care that following format will be treated as comment: + +1. Line begins with `#` or `;` +2. Words after `#` or `;` +3. Words after section name (i.e words after `[some section name]`) + +If you want to save a value with `#` or `;`, please quote them with ``` ` ``` or ``` """ ```. + +Alternatively, you can use following `LoadOptions` to completely ignore inline comments: + +```go +cfg, err := LoadSources(LoadOptions{IgnoreInlineComment: true}, "app.ini")) +``` + +### Working with sections + +To get a section, you would need to: + +```go +section, err := cfg.GetSection("section name") +``` + +For a shortcut for default section, just give an empty string as name: + +```go +section, err := cfg.GetSection("") +``` + +When you're pretty sure the section exists, following code could make your life easier: + +```go +section := cfg.Section("section name") +``` + +What happens when the section somehow does not exist? Don't panic, it automatically creates and returns a new section to you. + +To create a new section: + +```go +err := cfg.NewSection("new section") +``` + +To get a list of sections or section names: + +```go +sections := cfg.Sections() +names := cfg.SectionStrings() +``` + +### Working with keys + +To get a key under a section: + +```go +key, err := cfg.Section("").GetKey("key name") +``` + +Same rule applies to key operations: + +```go +key := cfg.Section("").Key("key name") +``` + +To check if a key exists: + +```go +yes := cfg.Section("").HasKey("key name") +``` + +To create a new key: + +```go +err := cfg.Section("").NewKey("name", "value") +``` + +To get a list of keys or key names: + +```go +keys := cfg.Section("").Keys() +names := cfg.Section("").KeyStrings() +``` + +To get a clone hash of keys and corresponding values: + +```go +hash := cfg.Section("").KeysHash() +``` + +### Working with values + +To get a string value: + +```go +val := cfg.Section("").Key("key name").String() +``` + +To validate key value on the fly: + +```go +val := cfg.Section("").Key("key name").Validate(func(in string) string { + if len(in) == 0 { + return "default" + } + return in +}) +``` + +If you do not want any auto-transformation (such as recursive read) for the values, you can get raw value directly (this way you get much better performance): + +```go +val := cfg.Section("").Key("key name").Value() +``` + +To check if raw value exists: + +```go +yes := cfg.Section("").HasValue("test value") +``` + +To get value with types: + +```go +// For boolean values: +// true when value is: 1, t, T, TRUE, true, True, YES, yes, Yes, y, ON, on, On +// false when value is: 0, f, F, FALSE, false, False, NO, no, No, n, OFF, off, Off +v, err = cfg.Section("").Key("BOOL").Bool() +v, err = cfg.Section("").Key("FLOAT64").Float64() +v, err = cfg.Section("").Key("INT").Int() +v, err = cfg.Section("").Key("INT64").Int64() +v, err = cfg.Section("").Key("UINT").Uint() +v, err = cfg.Section("").Key("UINT64").Uint64() +v, err = cfg.Section("").Key("TIME").TimeFormat(time.RFC3339) +v, err = cfg.Section("").Key("TIME").Time() // RFC3339 + +v = cfg.Section("").Key("BOOL").MustBool() +v = cfg.Section("").Key("FLOAT64").MustFloat64() +v = cfg.Section("").Key("INT").MustInt() +v = cfg.Section("").Key("INT64").MustInt64() +v = cfg.Section("").Key("UINT").MustUint() +v = cfg.Section("").Key("UINT64").MustUint64() +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339) +v = cfg.Section("").Key("TIME").MustTime() // RFC3339 + +// Methods start with Must also accept one argument for default value +// when key not found or fail to parse value to given type. +// Except method MustString, which you have to pass a default value. + +v = cfg.Section("").Key("String").MustString("default") +v = cfg.Section("").Key("BOOL").MustBool(true) +v = cfg.Section("").Key("FLOAT64").MustFloat64(1.25) +v = cfg.Section("").Key("INT").MustInt(10) +v = cfg.Section("").Key("INT64").MustInt64(99) +v = cfg.Section("").Key("UINT").MustUint(3) +v = cfg.Section("").Key("UINT64").MustUint64(6) +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339, time.Now()) +v = cfg.Section("").Key("TIME").MustTime(time.Now()) // RFC3339 +``` + +What if my value is three-line long? + +```ini +[advance] +ADDRESS = """404 road, +NotFound, State, 5000 +Earth""" +``` + +Not a problem! + +```go +cfg.Section("advance").Key("ADDRESS").String() + +/* --- start --- +404 road, +NotFound, State, 5000 +Earth +------ end --- */ +``` + +That's cool, how about continuation lines? + +```ini +[advance] +two_lines = how about \ + continuation lines? +lots_of_lines = 1 \ + 2 \ + 3 \ + 4 +``` + +Piece of cake! + +```go +cfg.Section("advance").Key("two_lines").String() // how about continuation lines? +cfg.Section("advance").Key("lots_of_lines").String() // 1 2 3 4 +``` + +Well, I hate continuation lines, how do I disable that? + +```go +cfg, err := ini.LoadSources(ini.LoadOptions{ + IgnoreContinuation: true, +}, "filename") +``` + +Holy crap! + +Note that single quotes around values will be stripped: + +```ini +foo = "some value" // foo: some value +bar = 'some value' // bar: some value +``` + +That's all? Hmm, no. + +#### Helper methods of working with values + +To get value with given candidates: + +```go +v = cfg.Section("").Key("STRING").In("default", []string{"str", "arr", "types"}) +v = cfg.Section("").Key("FLOAT64").InFloat64(1.1, []float64{1.25, 2.5, 3.75}) +v = cfg.Section("").Key("INT").InInt(5, []int{10, 20, 30}) +v = cfg.Section("").Key("INT64").InInt64(10, []int64{10, 20, 30}) +v = cfg.Section("").Key("UINT").InUint(4, []int{3, 6, 9}) +v = cfg.Section("").Key("UINT64").InUint64(8, []int64{3, 6, 9}) +v = cfg.Section("").Key("TIME").InTimeFormat(time.RFC3339, time.Now(), []time.Time{time1, time2, time3}) +v = cfg.Section("").Key("TIME").InTime(time.Now(), []time.Time{time1, time2, time3}) // RFC3339 +``` + +Default value will be presented if value of key is not in candidates you given, and default value does not need be one of candidates. + +To validate value in a given range: + +```go +vals = cfg.Section("").Key("FLOAT64").RangeFloat64(0.0, 1.1, 2.2) +vals = cfg.Section("").Key("INT").RangeInt(0, 10, 20) +vals = cfg.Section("").Key("INT64").RangeInt64(0, 10, 20) +vals = cfg.Section("").Key("UINT").RangeUint(0, 3, 9) +vals = cfg.Section("").Key("UINT64").RangeUint64(0, 3, 9) +vals = cfg.Section("").Key("TIME").RangeTimeFormat(time.RFC3339, time.Now(), minTime, maxTime) +vals = cfg.Section("").Key("TIME").RangeTime(time.Now(), minTime, maxTime) // RFC3339 +``` + +##### Auto-split values into a slice + +To use zero value of type for invalid inputs: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [0.0 2.2 0.0 0.0] +vals = cfg.Section("").Key("STRINGS").Strings(",") +vals = cfg.Section("").Key("FLOAT64S").Float64s(",") +vals = cfg.Section("").Key("INTS").Ints(",") +vals = cfg.Section("").Key("INT64S").Int64s(",") +vals = cfg.Section("").Key("UINTS").Uints(",") +vals = cfg.Section("").Key("UINT64S").Uint64s(",") +vals = cfg.Section("").Key("TIMES").Times(",") +``` + +To exclude invalid values out of result slice: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [2.2] +vals = cfg.Section("").Key("FLOAT64S").ValidFloat64s(",") +vals = cfg.Section("").Key("INTS").ValidInts(",") +vals = cfg.Section("").Key("INT64S").ValidInt64s(",") +vals = cfg.Section("").Key("UINTS").ValidUints(",") +vals = cfg.Section("").Key("UINT64S").ValidUint64s(",") +vals = cfg.Section("").Key("TIMES").ValidTimes(",") +``` + +Or to return nothing but error when have invalid inputs: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> error +vals = cfg.Section("").Key("FLOAT64S").StrictFloat64s(",") +vals = cfg.Section("").Key("INTS").StrictInts(",") +vals = cfg.Section("").Key("INT64S").StrictInt64s(",") +vals = cfg.Section("").Key("UINTS").StrictUints(",") +vals = cfg.Section("").Key("UINT64S").StrictUint64s(",") +vals = cfg.Section("").Key("TIMES").StrictTimes(",") +``` + +### Save your configuration + +Finally, it's time to save your configuration to somewhere. + +A typical way to save configuration is writing it to a file: + +```go +// ... +err = cfg.SaveTo("my.ini") +err = cfg.SaveToIndent("my.ini", "\t") +``` + +Another way to save is writing to a `io.Writer` interface: + +```go +// ... +cfg.WriteTo(writer) +cfg.WriteToIndent(writer, "\t") +``` + +By default, spaces are used to align "=" sign between key and values, to disable that: + +```go +ini.PrettyFormat = false +``` + +## Advanced Usage + +### Recursive Values + +For all value of keys, there is a special syntax `%()s`, where `` is the key name in same section or default section, and `%()s` will be replaced by corresponding value(empty string if key not found). You can use this syntax at most 99 level of recursions. + +```ini +NAME = ini + +[author] +NAME = Unknwon +GITHUB = https://github.com/%(NAME)s + +[package] +FULL_NAME = github.com/go-ini/%(NAME)s +``` + +```go +cfg.Section("author").Key("GITHUB").String() // https://github.com/Unknwon +cfg.Section("package").Key("FULL_NAME").String() // github.com/go-ini/ini +``` + +### Parent-child Sections + +You can use `.` in section name to indicate parent-child relationship between two or more sections. If the key not found in the child section, library will try again on its parent section until there is no parent section. + +```ini +NAME = ini +VERSION = v1 +IMPORT_PATH = gopkg.in/%(NAME)s.%(VERSION)s + +[package] +CLONE_URL = https://%(IMPORT_PATH)s + +[package.sub] +``` + +```go +cfg.Section("package.sub").Key("CLONE_URL").String() // https://gopkg.in/ini.v1 +``` + +#### Retrieve parent keys available to a child section + +```go +cfg.Section("package.sub").ParentKeys() // ["CLONE_URL"] +``` + +### Unparseable Sections + +Sometimes, you have sections that do not contain key-value pairs but raw content, to handle such case, you can use `LoadOptions.UnparsableSections`: + +```go +cfg, err := LoadSources(LoadOptions{UnparseableSections: []string{"COMMENTS"}}, `[COMMENTS] +<1> This slide has the fuel listed in the wrong units `)) + +body := cfg.Section("COMMENTS").Body() + +/* --- start --- +<1> This slide has the fuel listed in the wrong units +------ end --- */ +``` + +### Auto-increment Key Names + +If key name is `-` in data source, then it would be seen as special syntax for auto-increment key name start from 1, and every section is independent on counter. + +```ini +[features] +-: Support read/write comments of keys and sections +-: Support auto-increment of key names +-: Support load multiple files to overwrite key values +``` + +```go +cfg.Section("features").KeyStrings() // []{"#1", "#2", "#3"} +``` + +### Map To Struct + +Want more objective way to play with INI? Cool. + +```ini +Name = Unknwon +age = 21 +Male = true +Born = 1993-01-01T20:17:05Z + +[Note] +Content = Hi is a good man! +Cities = HangZhou, Boston +``` + +```go +type Note struct { + Content string + Cities []string +} + +type Person struct { + Name string + Age int `ini:"age"` + Male bool + Born time.Time + Note + Created time.Time `ini:"-"` +} + +func main() { + cfg, err := ini.Load("path/to/ini") + // ... + p := new(Person) + err = cfg.MapTo(p) + // ... + + // Things can be simpler. + err = ini.MapTo(p, "path/to/ini") + // ... + + // Just map a section? Fine. + n := new(Note) + err = cfg.Section("Note").MapTo(n) + // ... +} +``` + +Can I have default value for field? Absolutely. + +Assign it before you map to struct. It will keep the value as it is if the key is not presented or got wrong type. + +```go +// ... +p := &Person{ + Name: "Joe", +} +// ... +``` + +It's really cool, but what's the point if you can't give me my file back from struct? + +### Reflect From Struct + +Why not? + +```go +type Embeded struct { + Dates []time.Time `delim:"|"` + Places []string `ini:"places,omitempty"` + None []int `ini:",omitempty"` +} + +type Author struct { + Name string `ini:"NAME"` + Male bool + Age int + GPA float64 + NeverMind string `ini:"-"` + *Embeded +} + +func main() { + a := &Author{"Unknwon", true, 21, 2.8, "", + &Embeded{ + []time.Time{time.Now(), time.Now()}, + []string{"HangZhou", "Boston"}, + []int{}, + }} + cfg := ini.Empty() + err = ini.ReflectFrom(cfg, a) + // ... +} +``` + +So, what do I get? + +```ini +NAME = Unknwon +Male = true +Age = 21 +GPA = 2.8 + +[Embeded] +Dates = 2015-08-07T22:14:22+08:00|2015-08-07T22:14:22+08:00 +places = HangZhou,Boston +``` + +#### Name Mapper + +To save your time and make your code cleaner, this library supports [`NameMapper`](https://gowalker.org/gopkg.in/ini.v1#NameMapper) between struct field and actual section and key name. + +There are 2 built-in name mappers: + +- `AllCapsUnderscore`: it converts to format `ALL_CAPS_UNDERSCORE` then match section or key. +- `TitleUnderscore`: it converts to format `title_underscore` then match section or key. + +To use them: + +```go +type Info struct { + PackageName string +} + +func main() { + err = ini.MapToWithMapper(&Info{}, ini.TitleUnderscore, []byte("package_name=ini")) + // ... + + cfg, err := ini.Load([]byte("PACKAGE_NAME=ini")) + // ... + info := new(Info) + cfg.NameMapper = ini.AllCapsUnderscore + err = cfg.MapTo(info) + // ... +} +``` + +Same rules of name mapper apply to `ini.ReflectFromWithMapper` function. + +#### Value Mapper + +To expand values (e.g. from environment variables), you can use the `ValueMapper` to transform values: + +```go +type Env struct { + Foo string `ini:"foo"` +} + +func main() { + cfg, err := ini.Load([]byte("[env]\nfoo = ${MY_VAR}\n") + cfg.ValueMapper = os.ExpandEnv + // ... + env := &Env{} + err = cfg.Section("env").MapTo(env) +} +``` + +This would set the value of `env.Foo` to the value of the environment variable `MY_VAR`. + +#### Other Notes On Map/Reflect + +Any embedded struct is treated as a section by default, and there is no automatic parent-child relations in map/reflect feature: + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child +} + +type Config struct { + City string + Parent +} +``` + +Example configuration: + +```ini +City = Boston + +[Parent] +Name = Unknwon + +[Child] +Age = 21 +``` + +What if, yes, I'm paranoid, I want embedded struct to be in the same section. Well, all roads lead to Rome. + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child `ini:"Parent"` +} + +type Config struct { + City string + Parent +} +``` + +Example configuration: + +```ini +City = Boston + +[Parent] +Name = Unknwon +Age = 21 +``` + +## Getting Help + +- [API Documentation](https://gowalker.org/gopkg.in/ini.v1) +- [File An Issue](https://github.com/go-ini/ini/issues/new) + +## FAQs + +### What does `BlockMode` field do? + +By default, library lets you read and write values so we need a locker to make sure your data is safe. But in cases that you are very sure about only reading data through the library, you can set `cfg.BlockMode = false` to speed up read operations about **50-70%** faster. + +### Why another INI library? + +Many people are using my another INI library [goconfig](https://github.com/Unknwon/goconfig), so the reason for this one is I would like to make more Go style code. Also when you set `cfg.BlockMode = false`, this one is about **10-30%** faster. + +To make those changes I have to confirm API broken, so it's safer to keep it in another place and start using `gopkg.in` to version my package at this time.(PS: shorter import path) + +## License + +This project is under Apache v2 License. See the [LICENSE](LICENSE) file for the full license text. diff --git a/vendor/github.com/go-ini/ini/README_ZH.md b/vendor/github.com/go-ini/ini/README_ZH.md new file mode 100644 index 000000000..0cf419449 --- /dev/null +++ b/vendor/github.com/go-ini/ini/README_ZH.md @@ -0,0 +1,733 @@ +本包提供了 Go 语言中读写 INI 文件的功能。 + +## 功能特性 + +- 支持覆盖加载多个数据源(`[]byte`、文件和 `io.ReadCloser`) +- 支持递归读取键值 +- 支持读取父子分区 +- 支持读取自增键名 +- 支持读取多行的键值 +- 支持大量辅助方法 +- 支持在读取时直接转换为 Go 语言类型 +- 支持读取和 **写入** 分区和键的注释 +- 轻松操作分区、键值和注释 +- 在保存文件时分区和键值会保持原有的顺序 + +## 下载安装 + +使用一个特定版本: + + go get gopkg.in/ini.v1 + +使用最新版: + + go get github.com/go-ini/ini + +如需更新请添加 `-u` 选项。 + +### 测试安装 + +如果您想要在自己的机器上运行测试,请使用 `-t` 标记: + + go get -t gopkg.in/ini.v1 + +如需更新请添加 `-u` 选项。 + +## 开始使用 + +### 从数据源加载 + +一个 **数据源** 可以是 `[]byte` 类型的原始数据,`string` 类型的文件路径或 `io.ReadCloser`。您可以加载 **任意多个** 数据源。如果您传递其它类型的数据源,则会直接返回错误。 + +```go +cfg, err := ini.Load([]byte("raw data"), "filename", ioutil.NopCloser(bytes.NewReader([]byte("some other data")))) +``` + +或者从一个空白的文件开始: + +```go +cfg := ini.Empty() +``` + +当您在一开始无法决定需要加载哪些数据源时,仍可以使用 **Append()** 在需要的时候加载它们。 + +```go +err := cfg.Append("other file", []byte("other raw data")) +``` + +当您想要加载一系列文件,但是不能够确定其中哪些文件是不存在的,可以通过调用函数 `LooseLoad` 来忽略它们(`Load` 会因为文件不存在而返回错误): + +```go +cfg, err := ini.LooseLoad("filename", "filename_404") +``` + +更牛逼的是,当那些之前不存在的文件在重新调用 `Reload` 方法的时候突然出现了,那么它们会被正常加载。 + +#### 忽略键名的大小写 + +有时候分区和键的名称大小写混合非常烦人,这个时候就可以通过 `InsensitiveLoad` 将所有分区和键名在读取里强制转换为小写: + +```go +cfg, err := ini.InsensitiveLoad("filename") +//... + +// sec1 和 sec2 指向同一个分区对象 +sec1, err := cfg.GetSection("Section") +sec2, err := cfg.GetSection("SecTIOn") + +// key1 和 key2 指向同一个键对象 +key1, err := sec1.GetKey("Key") +key2, err := sec2.GetKey("KeY") +``` + +#### 类似 MySQL 配置中的布尔值键 + +MySQL 的配置文件中会出现没有具体值的布尔类型的键: + +```ini +[mysqld] +... +skip-host-cache +skip-name-resolve +``` + +默认情况下这被认为是缺失值而无法完成解析,但可以通过高级的加载选项对它们进行处理: + +```go +cfg, err := LoadSources(LoadOptions{AllowBooleanKeys: true}, "my.cnf")) +``` + +这些键的值永远为 `true`,且在保存到文件时也只会输出键名。 + +如果您想要通过程序来生成此类键,则可以使用 `NewBooleanKey`: + +```go +key, err := sec.NewBooleanKey("skip-host-cache") +``` + +#### 关于注释 + +下述几种情况的内容将被视为注释: + +1. 所有以 `#` 或 `;` 开头的行 +2. 所有在 `#` 或 `;` 之后的内容 +3. 分区标签后的文字 (即 `[分区名]` 之后的内容) + +如果你希望使用包含 `#` 或 `;` 的值,请使用 ``` ` ``` 或 ``` """ ``` 进行包覆。 + +除此之外,您还可以通过 `LoadOptions` 完全忽略行内注释: + +```go +cfg, err := LoadSources(LoadOptions{IgnoreInlineComment: true}, "app.ini")) +``` + +### 操作分区(Section) + +获取指定分区: + +```go +section, err := cfg.GetSection("section name") +``` + +如果您想要获取默认分区,则可以用空字符串代替分区名: + +```go +section, err := cfg.GetSection("") +``` + +当您非常确定某个分区是存在的,可以使用以下简便方法: + +```go +section := cfg.Section("section name") +``` + +如果不小心判断错了,要获取的分区其实是不存在的,那会发生什么呢?没事的,它会自动创建并返回一个对应的分区对象给您。 + +创建一个分区: + +```go +err := cfg.NewSection("new section") +``` + +获取所有分区对象或名称: + +```go +sections := cfg.Sections() +names := cfg.SectionStrings() +``` + +### 操作键(Key) + +获取某个分区下的键: + +```go +key, err := cfg.Section("").GetKey("key name") +``` + +和分区一样,您也可以直接获取键而忽略错误处理: + +```go +key := cfg.Section("").Key("key name") +``` + +判断某个键是否存在: + +```go +yes := cfg.Section("").HasKey("key name") +``` + +创建一个新的键: + +```go +err := cfg.Section("").NewKey("name", "value") +``` + +获取分区下的所有键或键名: + +```go +keys := cfg.Section("").Keys() +names := cfg.Section("").KeyStrings() +``` + +获取分区下的所有键值对的克隆: + +```go +hash := cfg.Section("").KeysHash() +``` + +### 操作键值(Value) + +获取一个类型为字符串(string)的值: + +```go +val := cfg.Section("").Key("key name").String() +``` + +获取值的同时通过自定义函数进行处理验证: + +```go +val := cfg.Section("").Key("key name").Validate(func(in string) string { + if len(in) == 0 { + return "default" + } + return in +}) +``` + +如果您不需要任何对值的自动转变功能(例如递归读取),可以直接获取原值(这种方式性能最佳): + +```go +val := cfg.Section("").Key("key name").Value() +``` + +判断某个原值是否存在: + +```go +yes := cfg.Section("").HasValue("test value") +``` + +获取其它类型的值: + +```go +// 布尔值的规则: +// true 当值为:1, t, T, TRUE, true, True, YES, yes, Yes, y, ON, on, On +// false 当值为:0, f, F, FALSE, false, False, NO, no, No, n, OFF, off, Off +v, err = cfg.Section("").Key("BOOL").Bool() +v, err = cfg.Section("").Key("FLOAT64").Float64() +v, err = cfg.Section("").Key("INT").Int() +v, err = cfg.Section("").Key("INT64").Int64() +v, err = cfg.Section("").Key("UINT").Uint() +v, err = cfg.Section("").Key("UINT64").Uint64() +v, err = cfg.Section("").Key("TIME").TimeFormat(time.RFC3339) +v, err = cfg.Section("").Key("TIME").Time() // RFC3339 + +v = cfg.Section("").Key("BOOL").MustBool() +v = cfg.Section("").Key("FLOAT64").MustFloat64() +v = cfg.Section("").Key("INT").MustInt() +v = cfg.Section("").Key("INT64").MustInt64() +v = cfg.Section("").Key("UINT").MustUint() +v = cfg.Section("").Key("UINT64").MustUint64() +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339) +v = cfg.Section("").Key("TIME").MustTime() // RFC3339 + +// 由 Must 开头的方法名允许接收一个相同类型的参数来作为默认值, +// 当键不存在或者转换失败时,则会直接返回该默认值。 +// 但是,MustString 方法必须传递一个默认值。 + +v = cfg.Seciont("").Key("String").MustString("default") +v = cfg.Section("").Key("BOOL").MustBool(true) +v = cfg.Section("").Key("FLOAT64").MustFloat64(1.25) +v = cfg.Section("").Key("INT").MustInt(10) +v = cfg.Section("").Key("INT64").MustInt64(99) +v = cfg.Section("").Key("UINT").MustUint(3) +v = cfg.Section("").Key("UINT64").MustUint64(6) +v = cfg.Section("").Key("TIME").MustTimeFormat(time.RFC3339, time.Now()) +v = cfg.Section("").Key("TIME").MustTime(time.Now()) // RFC3339 +``` + +如果我的值有好多行怎么办? + +```ini +[advance] +ADDRESS = """404 road, +NotFound, State, 5000 +Earth""" +``` + +嗯哼?小 case! + +```go +cfg.Section("advance").Key("ADDRESS").String() + +/* --- start --- +404 road, +NotFound, State, 5000 +Earth +------ end --- */ +``` + +赞爆了!那要是我属于一行的内容写不下想要写到第二行怎么办? + +```ini +[advance] +two_lines = how about \ + continuation lines? +lots_of_lines = 1 \ + 2 \ + 3 \ + 4 +``` + +简直是小菜一碟! + +```go +cfg.Section("advance").Key("two_lines").String() // how about continuation lines? +cfg.Section("advance").Key("lots_of_lines").String() // 1 2 3 4 +``` + +可是我有时候觉得两行连在一起特别没劲,怎么才能不自动连接两行呢? + +```go +cfg, err := ini.LoadSources(ini.LoadOptions{ + IgnoreContinuation: true, +}, "filename") +``` + +哇靠给力啊! + +需要注意的是,值两侧的单引号会被自动剔除: + +```ini +foo = "some value" // foo: some value +bar = 'some value' // bar: some value +``` + +这就是全部了?哈哈,当然不是。 + +#### 操作键值的辅助方法 + +获取键值时设定候选值: + +```go +v = cfg.Section("").Key("STRING").In("default", []string{"str", "arr", "types"}) +v = cfg.Section("").Key("FLOAT64").InFloat64(1.1, []float64{1.25, 2.5, 3.75}) +v = cfg.Section("").Key("INT").InInt(5, []int{10, 20, 30}) +v = cfg.Section("").Key("INT64").InInt64(10, []int64{10, 20, 30}) +v = cfg.Section("").Key("UINT").InUint(4, []int{3, 6, 9}) +v = cfg.Section("").Key("UINT64").InUint64(8, []int64{3, 6, 9}) +v = cfg.Section("").Key("TIME").InTimeFormat(time.RFC3339, time.Now(), []time.Time{time1, time2, time3}) +v = cfg.Section("").Key("TIME").InTime(time.Now(), []time.Time{time1, time2, time3}) // RFC3339 +``` + +如果获取到的值不是候选值的任意一个,则会返回默认值,而默认值不需要是候选值中的一员。 + +验证获取的值是否在指定范围内: + +```go +vals = cfg.Section("").Key("FLOAT64").RangeFloat64(0.0, 1.1, 2.2) +vals = cfg.Section("").Key("INT").RangeInt(0, 10, 20) +vals = cfg.Section("").Key("INT64").RangeInt64(0, 10, 20) +vals = cfg.Section("").Key("UINT").RangeUint(0, 3, 9) +vals = cfg.Section("").Key("UINT64").RangeUint64(0, 3, 9) +vals = cfg.Section("").Key("TIME").RangeTimeFormat(time.RFC3339, time.Now(), minTime, maxTime) +vals = cfg.Section("").Key("TIME").RangeTime(time.Now(), minTime, maxTime) // RFC3339 +``` + +##### 自动分割键值到切片(slice) + +当存在无效输入时,使用零值代替: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [0.0 2.2 0.0 0.0] +vals = cfg.Section("").Key("STRINGS").Strings(",") +vals = cfg.Section("").Key("FLOAT64S").Float64s(",") +vals = cfg.Section("").Key("INTS").Ints(",") +vals = cfg.Section("").Key("INT64S").Int64s(",") +vals = cfg.Section("").Key("UINTS").Uints(",") +vals = cfg.Section("").Key("UINT64S").Uint64s(",") +vals = cfg.Section("").Key("TIMES").Times(",") +``` + +从结果切片中剔除无效输入: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> [2.2] +vals = cfg.Section("").Key("FLOAT64S").ValidFloat64s(",") +vals = cfg.Section("").Key("INTS").ValidInts(",") +vals = cfg.Section("").Key("INT64S").ValidInt64s(",") +vals = cfg.Section("").Key("UINTS").ValidUints(",") +vals = cfg.Section("").Key("UINT64S").ValidUint64s(",") +vals = cfg.Section("").Key("TIMES").ValidTimes(",") +``` + +当存在无效输入时,直接返回错误: + +```go +// Input: 1.1, 2.2, 3.3, 4.4 -> [1.1 2.2 3.3 4.4] +// Input: how, 2.2, are, you -> error +vals = cfg.Section("").Key("FLOAT64S").StrictFloat64s(",") +vals = cfg.Section("").Key("INTS").StrictInts(",") +vals = cfg.Section("").Key("INT64S").StrictInt64s(",") +vals = cfg.Section("").Key("UINTS").StrictUints(",") +vals = cfg.Section("").Key("UINT64S").StrictUint64s(",") +vals = cfg.Section("").Key("TIMES").StrictTimes(",") +``` + +### 保存配置 + +终于到了这个时刻,是时候保存一下配置了。 + +比较原始的做法是输出配置到某个文件: + +```go +// ... +err = cfg.SaveTo("my.ini") +err = cfg.SaveToIndent("my.ini", "\t") +``` + +另一个比较高级的做法是写入到任何实现 `io.Writer` 接口的对象中: + +```go +// ... +cfg.WriteTo(writer) +cfg.WriteToIndent(writer, "\t") +``` + +默认情况下,空格将被用于对齐键值之间的等号以美化输出结果,以下代码可以禁用该功能: + +```go +ini.PrettyFormat = false +``` + +## 高级用法 + +### 递归读取键值 + +在获取所有键值的过程中,特殊语法 `%()s` 会被应用,其中 `` 可以是相同分区或者默认分区下的键名。字符串 `%()s` 会被相应的键值所替代,如果指定的键不存在,则会用空字符串替代。您可以最多使用 99 层的递归嵌套。 + +```ini +NAME = ini + +[author] +NAME = Unknwon +GITHUB = https://github.com/%(NAME)s + +[package] +FULL_NAME = github.com/go-ini/%(NAME)s +``` + +```go +cfg.Section("author").Key("GITHUB").String() // https://github.com/Unknwon +cfg.Section("package").Key("FULL_NAME").String() // github.com/go-ini/ini +``` + +### 读取父子分区 + +您可以在分区名称中使用 `.` 来表示两个或多个分区之间的父子关系。如果某个键在子分区中不存在,则会去它的父分区中再次寻找,直到没有父分区为止。 + +```ini +NAME = ini +VERSION = v1 +IMPORT_PATH = gopkg.in/%(NAME)s.%(VERSION)s + +[package] +CLONE_URL = https://%(IMPORT_PATH)s + +[package.sub] +``` + +```go +cfg.Section("package.sub").Key("CLONE_URL").String() // https://gopkg.in/ini.v1 +``` + +#### 获取上级父分区下的所有键名 + +```go +cfg.Section("package.sub").ParentKeys() // ["CLONE_URL"] +``` + +### 无法解析的分区 + +如果遇到一些比较特殊的分区,它们不包含常见的键值对,而是没有固定格式的纯文本,则可以使用 `LoadOptions.UnparsableSections` 进行处理: + +```go +cfg, err := LoadSources(LoadOptions{UnparseableSections: []string{"COMMENTS"}}, `[COMMENTS] +<1> This slide has the fuel listed in the wrong units `)) + +body := cfg.Section("COMMENTS").Body() + +/* --- start --- +<1> This slide has the fuel listed in the wrong units +------ end --- */ +``` + +### 读取自增键名 + +如果数据源中的键名为 `-`,则认为该键使用了自增键名的特殊语法。计数器从 1 开始,并且分区之间是相互独立的。 + +```ini +[features] +-: Support read/write comments of keys and sections +-: Support auto-increment of key names +-: Support load multiple files to overwrite key values +``` + +```go +cfg.Section("features").KeyStrings() // []{"#1", "#2", "#3"} +``` + +### 映射到结构 + +想要使用更加面向对象的方式玩转 INI 吗?好主意。 + +```ini +Name = Unknwon +age = 21 +Male = true +Born = 1993-01-01T20:17:05Z + +[Note] +Content = Hi is a good man! +Cities = HangZhou, Boston +``` + +```go +type Note struct { + Content string + Cities []string +} + +type Person struct { + Name string + Age int `ini:"age"` + Male bool + Born time.Time + Note + Created time.Time `ini:"-"` +} + +func main() { + cfg, err := ini.Load("path/to/ini") + // ... + p := new(Person) + err = cfg.MapTo(p) + // ... + + // 一切竟可以如此的简单。 + err = ini.MapTo(p, "path/to/ini") + // ... + + // 嗯哼?只需要映射一个分区吗? + n := new(Note) + err = cfg.Section("Note").MapTo(n) + // ... +} +``` + +结构的字段怎么设置默认值呢?很简单,只要在映射之前对指定字段进行赋值就可以了。如果键未找到或者类型错误,该值不会发生改变。 + +```go +// ... +p := &Person{ + Name: "Joe", +} +// ... +``` + +这样玩 INI 真的好酷啊!然而,如果不能还给我原来的配置文件,有什么卵用? + +### 从结构反射 + +可是,我有说不能吗? + +```go +type Embeded struct { + Dates []time.Time `delim:"|"` + Places []string `ini:"places,omitempty"` + None []int `ini:",omitempty"` +} + +type Author struct { + Name string `ini:"NAME"` + Male bool + Age int + GPA float64 + NeverMind string `ini:"-"` + *Embeded +} + +func main() { + a := &Author{"Unknwon", true, 21, 2.8, "", + &Embeded{ + []time.Time{time.Now(), time.Now()}, + []string{"HangZhou", "Boston"}, + []int{}, + }} + cfg := ini.Empty() + err = ini.ReflectFrom(cfg, a) + // ... +} +``` + +瞧瞧,奇迹发生了。 + +```ini +NAME = Unknwon +Male = true +Age = 21 +GPA = 2.8 + +[Embeded] +Dates = 2015-08-07T22:14:22+08:00|2015-08-07T22:14:22+08:00 +places = HangZhou,Boston +``` + +#### 名称映射器(Name Mapper) + +为了节省您的时间并简化代码,本库支持类型为 [`NameMapper`](https://gowalker.org/gopkg.in/ini.v1#NameMapper) 的名称映射器,该映射器负责结构字段名与分区名和键名之间的映射。 + +目前有 2 款内置的映射器: + +- `AllCapsUnderscore`:该映射器将字段名转换至格式 `ALL_CAPS_UNDERSCORE` 后再去匹配分区名和键名。 +- `TitleUnderscore`:该映射器将字段名转换至格式 `title_underscore` 后再去匹配分区名和键名。 + +使用方法: + +```go +type Info struct{ + PackageName string +} + +func main() { + err = ini.MapToWithMapper(&Info{}, ini.TitleUnderscore, []byte("package_name=ini")) + // ... + + cfg, err := ini.Load([]byte("PACKAGE_NAME=ini")) + // ... + info := new(Info) + cfg.NameMapper = ini.AllCapsUnderscore + err = cfg.MapTo(info) + // ... +} +``` + +使用函数 `ini.ReflectFromWithMapper` 时也可应用相同的规则。 + +#### 值映射器(Value Mapper) + +值映射器允许使用一个自定义函数自动展开值的具体内容,例如:运行时获取环境变量: + +```go +type Env struct { + Foo string `ini:"foo"` +} + +func main() { + cfg, err := ini.Load([]byte("[env]\nfoo = ${MY_VAR}\n") + cfg.ValueMapper = os.ExpandEnv + // ... + env := &Env{} + err = cfg.Section("env").MapTo(env) +} +``` + +本例中,`env.Foo` 将会是运行时所获取到环境变量 `MY_VAR` 的值。 + +#### 映射/反射的其它说明 + +任何嵌入的结构都会被默认认作一个不同的分区,并且不会自动产生所谓的父子分区关联: + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child +} + +type Config struct { + City string + Parent +} +``` + +示例配置文件: + +```ini +City = Boston + +[Parent] +Name = Unknwon + +[Child] +Age = 21 +``` + +很好,但是,我就是要嵌入结构也在同一个分区。好吧,你爹是李刚! + +```go +type Child struct { + Age string +} + +type Parent struct { + Name string + Child `ini:"Parent"` +} + +type Config struct { + City string + Parent +} +``` + +示例配置文件: + +```ini +City = Boston + +[Parent] +Name = Unknwon +Age = 21 +``` + +## 获取帮助 + +- [API 文档](https://gowalker.org/gopkg.in/ini.v1) +- [创建工单](https://github.com/go-ini/ini/issues/new) + +## 常见问题 + +### 字段 `BlockMode` 是什么? + +默认情况下,本库会在您进行读写操作时采用锁机制来确保数据时间。但在某些情况下,您非常确定只进行读操作。此时,您可以通过设置 `cfg.BlockMode = false` 来将读操作提升大约 **50-70%** 的性能。 + +### 为什么要写另一个 INI 解析库? + +许多人都在使用我的 [goconfig](https://github.com/Unknwon/goconfig) 来完成对 INI 文件的操作,但我希望使用更加 Go 风格的代码。并且当您设置 `cfg.BlockMode = false` 时,会有大约 **10-30%** 的性能提升。 + +为了做出这些改变,我必须对 API 进行破坏,所以新开一个仓库是最安全的做法。除此之外,本库直接使用 `gopkg.in` 来进行版本化发布。(其实真相是导入路径更短了) diff --git a/vendor/github.com/go-ini/ini/error.go b/vendor/github.com/go-ini/ini/error.go new file mode 100644 index 000000000..80afe7431 --- /dev/null +++ b/vendor/github.com/go-ini/ini/error.go @@ -0,0 +1,32 @@ +// Copyright 2016 Unknwon +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package ini + +import ( + "fmt" +) + +type ErrDelimiterNotFound struct { + Line string +} + +func IsErrDelimiterNotFound(err error) bool { + _, ok := err.(ErrDelimiterNotFound) + return ok +} + +func (err ErrDelimiterNotFound) Error() string { + return fmt.Sprintf("key-value delimiter not found: %s", err.Line) +} diff --git a/vendor/github.com/go-ini/ini/ini.go b/vendor/github.com/go-ini/ini/ini.go new file mode 100644 index 000000000..7f3c4d1ed --- /dev/null +++ b/vendor/github.com/go-ini/ini/ini.go @@ -0,0 +1,556 @@ +// Copyright 2014 Unknwon +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +// Package ini provides INI file read and write functionality in Go. +package ini + +import ( + "bytes" + "errors" + "fmt" + "io" + "io/ioutil" + "os" + "regexp" + "runtime" + "strings" + "sync" +) + +const ( + // Name for default section. You can use this constant or the string literal. + // In most of cases, an empty string is all you need to access the section. + DEFAULT_SECTION = "DEFAULT" + + // Maximum allowed depth when recursively substituing variable names. + _DEPTH_VALUES = 99 + _VERSION = "1.28.2" +) + +// Version returns current package version literal. +func Version() string { + return _VERSION +} + +var ( + // Delimiter to determine or compose a new line. + // This variable will be changed to "\r\n" automatically on Windows + // at package init time. + LineBreak = "\n" + + // Variable regexp pattern: %(variable)s + varPattern = regexp.MustCompile(`%\(([^\)]+)\)s`) + + // Indicate whether to align "=" sign with spaces to produce pretty output + // or reduce all possible spaces for compact format. + PrettyFormat = true + + // Explicitly write DEFAULT section header + DefaultHeader = false + + // Indicate whether to put a line between sections + PrettySection = true +) + +func init() { + if runtime.GOOS == "windows" { + LineBreak = "\r\n" + } +} + +func inSlice(str string, s []string) bool { + for _, v := range s { + if str == v { + return true + } + } + return false +} + +// dataSource is an interface that returns object which can be read and closed. +type dataSource interface { + ReadCloser() (io.ReadCloser, error) +} + +// sourceFile represents an object that contains content on the local file system. +type sourceFile struct { + name string +} + +func (s sourceFile) ReadCloser() (_ io.ReadCloser, err error) { + return os.Open(s.name) +} + +type bytesReadCloser struct { + reader io.Reader +} + +func (rc *bytesReadCloser) Read(p []byte) (n int, err error) { + return rc.reader.Read(p) +} + +func (rc *bytesReadCloser) Close() error { + return nil +} + +// sourceData represents an object that contains content in memory. +type sourceData struct { + data []byte +} + +func (s *sourceData) ReadCloser() (io.ReadCloser, error) { + return ioutil.NopCloser(bytes.NewReader(s.data)), nil +} + +// sourceReadCloser represents an input stream with Close method. +type sourceReadCloser struct { + reader io.ReadCloser +} + +func (s *sourceReadCloser) ReadCloser() (io.ReadCloser, error) { + return s.reader, nil +} + +// File represents a combination of a or more INI file(s) in memory. +type File struct { + // Should make things safe, but sometimes doesn't matter. + BlockMode bool + // Make sure data is safe in multiple goroutines. + lock sync.RWMutex + + // Allow combination of multiple data sources. + dataSources []dataSource + // Actual data is stored here. + sections map[string]*Section + + // To keep data in order. + sectionList []string + + options LoadOptions + + NameMapper + ValueMapper +} + +// newFile initializes File object with given data sources. +func newFile(dataSources []dataSource, opts LoadOptions) *File { + return &File{ + BlockMode: true, + dataSources: dataSources, + sections: make(map[string]*Section), + sectionList: make([]string, 0, 10), + options: opts, + } +} + +func parseDataSource(source interface{}) (dataSource, error) { + switch s := source.(type) { + case string: + return sourceFile{s}, nil + case []byte: + return &sourceData{s}, nil + case io.ReadCloser: + return &sourceReadCloser{s}, nil + default: + return nil, fmt.Errorf("error parsing data source: unknown type '%s'", s) + } +} + +type LoadOptions struct { + // Loose indicates whether the parser should ignore nonexistent files or return error. + Loose bool + // Insensitive indicates whether the parser forces all section and key names to lowercase. + Insensitive bool + // IgnoreContinuation indicates whether to ignore continuation lines while parsing. + IgnoreContinuation bool + // IgnoreInlineComment indicates whether to ignore comments at the end of value and treat it as part of value. + IgnoreInlineComment bool + // AllowBooleanKeys indicates whether to allow boolean type keys or treat as value is missing. + // This type of keys are mostly used in my.cnf. + AllowBooleanKeys bool + // AllowShadows indicates whether to keep track of keys with same name under same section. + AllowShadows bool + // Some INI formats allow group blocks that store a block of raw content that doesn't otherwise + // conform to key/value pairs. Specify the names of those blocks here. + UnparseableSections []string +} + +func LoadSources(opts LoadOptions, source interface{}, others ...interface{}) (_ *File, err error) { + sources := make([]dataSource, len(others)+1) + sources[0], err = parseDataSource(source) + if err != nil { + return nil, err + } + for i := range others { + sources[i+1], err = parseDataSource(others[i]) + if err != nil { + return nil, err + } + } + f := newFile(sources, opts) + if err = f.Reload(); err != nil { + return nil, err + } + return f, nil +} + +// Load loads and parses from INI data sources. +// Arguments can be mixed of file name with string type, or raw data in []byte. +// It will return error if list contains nonexistent files. +func Load(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{}, source, others...) +} + +// LooseLoad has exactly same functionality as Load function +// except it ignores nonexistent files instead of returning error. +func LooseLoad(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{Loose: true}, source, others...) +} + +// InsensitiveLoad has exactly same functionality as Load function +// except it forces all section and key names to be lowercased. +func InsensitiveLoad(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{Insensitive: true}, source, others...) +} + +// InsensitiveLoad has exactly same functionality as Load function +// except it allows have shadow keys. +func ShadowLoad(source interface{}, others ...interface{}) (*File, error) { + return LoadSources(LoadOptions{AllowShadows: true}, source, others...) +} + +// Empty returns an empty file object. +func Empty() *File { + // Ignore error here, we sure our data is good. + f, _ := Load([]byte("")) + return f +} + +// NewSection creates a new section. +func (f *File) NewSection(name string) (*Section, error) { + if len(name) == 0 { + return nil, errors.New("error creating new section: empty section name") + } else if f.options.Insensitive && name != DEFAULT_SECTION { + name = strings.ToLower(name) + } + + if f.BlockMode { + f.lock.Lock() + defer f.lock.Unlock() + } + + if inSlice(name, f.sectionList) { + return f.sections[name], nil + } + + f.sectionList = append(f.sectionList, name) + f.sections[name] = newSection(f, name) + return f.sections[name], nil +} + +// NewRawSection creates a new section with an unparseable body. +func (f *File) NewRawSection(name, body string) (*Section, error) { + section, err := f.NewSection(name) + if err != nil { + return nil, err + } + + section.isRawSection = true + section.rawBody = body + return section, nil +} + +// NewSections creates a list of sections. +func (f *File) NewSections(names ...string) (err error) { + for _, name := range names { + if _, err = f.NewSection(name); err != nil { + return err + } + } + return nil +} + +// GetSection returns section by given name. +func (f *File) GetSection(name string) (*Section, error) { + if len(name) == 0 { + name = DEFAULT_SECTION + } else if f.options.Insensitive { + name = strings.ToLower(name) + } + + if f.BlockMode { + f.lock.RLock() + defer f.lock.RUnlock() + } + + sec := f.sections[name] + if sec == nil { + return nil, fmt.Errorf("section '%s' does not exist", name) + } + return sec, nil +} + +// Section assumes named section exists and returns a zero-value when not. +func (f *File) Section(name string) *Section { + sec, err := f.GetSection(name) + if err != nil { + // Note: It's OK here because the only possible error is empty section name, + // but if it's empty, this piece of code won't be executed. + sec, _ = f.NewSection(name) + return sec + } + return sec +} + +// Section returns list of Section. +func (f *File) Sections() []*Section { + sections := make([]*Section, len(f.sectionList)) + for i := range f.sectionList { + sections[i] = f.Section(f.sectionList[i]) + } + return sections +} + +// ChildSections returns a list of child sections of given section name. +func (f *File) ChildSections(name string) []*Section { + return f.Section(name).ChildSections() +} + +// SectionStrings returns list of section names. +func (f *File) SectionStrings() []string { + list := make([]string, len(f.sectionList)) + copy(list, f.sectionList) + return list +} + +// DeleteSection deletes a section. +func (f *File) DeleteSection(name string) { + if f.BlockMode { + f.lock.Lock() + defer f.lock.Unlock() + } + + if len(name) == 0 { + name = DEFAULT_SECTION + } + + for i, s := range f.sectionList { + if s == name { + f.sectionList = append(f.sectionList[:i], f.sectionList[i+1:]...) + delete(f.sections, name) + return + } + } +} + +func (f *File) reload(s dataSource) error { + r, err := s.ReadCloser() + if err != nil { + return err + } + defer r.Close() + + return f.parse(r) +} + +// Reload reloads and parses all data sources. +func (f *File) Reload() (err error) { + for _, s := range f.dataSources { + if err = f.reload(s); err != nil { + // In loose mode, we create an empty default section for nonexistent files. + if os.IsNotExist(err) && f.options.Loose { + f.parse(bytes.NewBuffer(nil)) + continue + } + return err + } + } + return nil +} + +// Append appends one or more data sources and reloads automatically. +func (f *File) Append(source interface{}, others ...interface{}) error { + ds, err := parseDataSource(source) + if err != nil { + return err + } + f.dataSources = append(f.dataSources, ds) + for _, s := range others { + ds, err = parseDataSource(s) + if err != nil { + return err + } + f.dataSources = append(f.dataSources, ds) + } + return f.Reload() +} + +func (f *File) writeToBuffer(indent string) (*bytes.Buffer, error) { + equalSign := "=" + if PrettyFormat { + equalSign = " = " + } + + // Use buffer to make sure target is safe until finish encoding. + buf := bytes.NewBuffer(nil) + for i, sname := range f.sectionList { + sec := f.Section(sname) + if len(sec.Comment) > 0 { + if sec.Comment[0] != '#' && sec.Comment[0] != ';' { + sec.Comment = "; " + sec.Comment + } + if _, err := buf.WriteString(sec.Comment + LineBreak); err != nil { + return nil, err + } + } + + if i > 0 || DefaultHeader { + if _, err := buf.WriteString("[" + sname + "]" + LineBreak); err != nil { + return nil, err + } + } else { + // Write nothing if default section is empty + if len(sec.keyList) == 0 { + continue + } + } + + if sec.isRawSection { + if _, err := buf.WriteString(sec.rawBody); err != nil { + return nil, err + } + continue + } + + // Count and generate alignment length and buffer spaces using the + // longest key. Keys may be modifed if they contain certain characters so + // we need to take that into account in our calculation. + alignLength := 0 + if PrettyFormat { + for _, kname := range sec.keyList { + keyLength := len(kname) + // First case will surround key by ` and second by """ + if strings.ContainsAny(kname, "\"=:") { + keyLength += 2 + } else if strings.Contains(kname, "`") { + keyLength += 6 + } + + if keyLength > alignLength { + alignLength = keyLength + } + } + } + alignSpaces := bytes.Repeat([]byte(" "), alignLength) + + KEY_LIST: + for _, kname := range sec.keyList { + key := sec.Key(kname) + if len(key.Comment) > 0 { + if len(indent) > 0 && sname != DEFAULT_SECTION { + buf.WriteString(indent) + } + if key.Comment[0] != '#' && key.Comment[0] != ';' { + key.Comment = "; " + key.Comment + } + if _, err := buf.WriteString(key.Comment + LineBreak); err != nil { + return nil, err + } + } + + if len(indent) > 0 && sname != DEFAULT_SECTION { + buf.WriteString(indent) + } + + switch { + case key.isAutoIncrement: + kname = "-" + case strings.ContainsAny(kname, "\"=:"): + kname = "`" + kname + "`" + case strings.Contains(kname, "`"): + kname = `"""` + kname + `"""` + } + + for _, val := range key.ValueWithShadows() { + if _, err := buf.WriteString(kname); err != nil { + return nil, err + } + + if key.isBooleanType { + if kname != sec.keyList[len(sec.keyList)-1] { + buf.WriteString(LineBreak) + } + continue KEY_LIST + } + + // Write out alignment spaces before "=" sign + if PrettyFormat { + buf.Write(alignSpaces[:alignLength-len(kname)]) + } + + // In case key value contains "\n", "`", "\"", "#" or ";" + if strings.ContainsAny(val, "\n`") { + val = `"""` + val + `"""` + } else if !f.options.IgnoreInlineComment && strings.ContainsAny(val, "#;") { + val = "`" + val + "`" + } + if _, err := buf.WriteString(equalSign + val + LineBreak); err != nil { + return nil, err + } + } + } + + if PrettySection { + // Put a line between sections + if _, err := buf.WriteString(LineBreak); err != nil { + return nil, err + } + } + } + + return buf, nil +} + +// WriteToIndent writes content into io.Writer with given indention. +// If PrettyFormat has been set to be true, +// it will align "=" sign with spaces under each section. +func (f *File) WriteToIndent(w io.Writer, indent string) (int64, error) { + buf, err := f.writeToBuffer(indent) + if err != nil { + return 0, err + } + return buf.WriteTo(w) +} + +// WriteTo writes file content into io.Writer. +func (f *File) WriteTo(w io.Writer) (int64, error) { + return f.WriteToIndent(w, "") +} + +// SaveToIndent writes content to file system with given value indention. +func (f *File) SaveToIndent(filename, indent string) error { + // Note: Because we are truncating with os.Create, + // so it's safer to save to a temporary file location and rename afte done. + buf, err := f.writeToBuffer(indent) + if err != nil { + return err + } + + return ioutil.WriteFile(filename, buf.Bytes(), 0666) +} + +// SaveTo writes content to file system. +func (f *File) SaveTo(filename string) error { + return f.SaveToIndent(filename, "") +} diff --git a/vendor/github.com/go-ini/ini/key.go b/vendor/github.com/go-ini/ini/key.go new file mode 100644 index 000000000..838356af0 --- /dev/null +++ b/vendor/github.com/go-ini/ini/key.go @@ -0,0 +1,699 @@ +// Copyright 2014 Unknwon +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package ini + +import ( + "errors" + "fmt" + "strconv" + "strings" + "time" +) + +// Key represents a key under a section. +type Key struct { + s *Section + name string + value string + isAutoIncrement bool + isBooleanType bool + + isShadow bool + shadows []*Key + + Comment string +} + +// newKey simply return a key object with given values. +func newKey(s *Section, name, val string) *Key { + return &Key{ + s: s, + name: name, + value: val, + } +} + +func (k *Key) addShadow(val string) error { + if k.isShadow { + return errors.New("cannot add shadow to another shadow key") + } else if k.isAutoIncrement || k.isBooleanType { + return errors.New("cannot add shadow to auto-increment or boolean key") + } + + shadow := newKey(k.s, k.name, val) + shadow.isShadow = true + k.shadows = append(k.shadows, shadow) + return nil +} + +// AddShadow adds a new shadow key to itself. +func (k *Key) AddShadow(val string) error { + if !k.s.f.options.AllowShadows { + return errors.New("shadow key is not allowed") + } + return k.addShadow(val) +} + +// ValueMapper represents a mapping function for values, e.g. os.ExpandEnv +type ValueMapper func(string) string + +// Name returns name of key. +func (k *Key) Name() string { + return k.name +} + +// Value returns raw value of key for performance purpose. +func (k *Key) Value() string { + return k.value +} + +// ValueWithShadows returns raw values of key and its shadows if any. +func (k *Key) ValueWithShadows() []string { + if len(k.shadows) == 0 { + return []string{k.value} + } + vals := make([]string, len(k.shadows)+1) + vals[0] = k.value + for i := range k.shadows { + vals[i+1] = k.shadows[i].value + } + return vals +} + +// transformValue takes a raw value and transforms to its final string. +func (k *Key) transformValue(val string) string { + if k.s.f.ValueMapper != nil { + val = k.s.f.ValueMapper(val) + } + + // Fail-fast if no indicate char found for recursive value + if !strings.Contains(val, "%") { + return val + } + for i := 0; i < _DEPTH_VALUES; i++ { + vr := varPattern.FindString(val) + if len(vr) == 0 { + break + } + + // Take off leading '%(' and trailing ')s'. + noption := strings.TrimLeft(vr, "%(") + noption = strings.TrimRight(noption, ")s") + + // Search in the same section. + nk, err := k.s.GetKey(noption) + if err != nil { + // Search again in default section. + nk, _ = k.s.f.Section("").GetKey(noption) + } + + // Substitute by new value and take off leading '%(' and trailing ')s'. + val = strings.Replace(val, vr, nk.value, -1) + } + return val +} + +// String returns string representation of value. +func (k *Key) String() string { + return k.transformValue(k.value) +} + +// Validate accepts a validate function which can +// return modifed result as key value. +func (k *Key) Validate(fn func(string) string) string { + return fn(k.String()) +} + +// parseBool returns the boolean value represented by the string. +// +// It accepts 1, t, T, TRUE, true, True, YES, yes, Yes, y, ON, on, On, +// 0, f, F, FALSE, false, False, NO, no, No, n, OFF, off, Off. +// Any other value returns an error. +func parseBool(str string) (value bool, err error) { + switch str { + case "1", "t", "T", "true", "TRUE", "True", "YES", "yes", "Yes", "y", "ON", "on", "On": + return true, nil + case "0", "f", "F", "false", "FALSE", "False", "NO", "no", "No", "n", "OFF", "off", "Off": + return false, nil + } + return false, fmt.Errorf("parsing \"%s\": invalid syntax", str) +} + +// Bool returns bool type value. +func (k *Key) Bool() (bool, error) { + return parseBool(k.String()) +} + +// Float64 returns float64 type value. +func (k *Key) Float64() (float64, error) { + return strconv.ParseFloat(k.String(), 64) +} + +// Int returns int type value. +func (k *Key) Int() (int, error) { + return strconv.Atoi(k.String()) +} + +// Int64 returns int64 type value. +func (k *Key) Int64() (int64, error) { + return strconv.ParseInt(k.String(), 10, 64) +} + +// Uint returns uint type valued. +func (k *Key) Uint() (uint, error) { + u, e := strconv.ParseUint(k.String(), 10, 64) + return uint(u), e +} + +// Uint64 returns uint64 type value. +func (k *Key) Uint64() (uint64, error) { + return strconv.ParseUint(k.String(), 10, 64) +} + +// Duration returns time.Duration type value. +func (k *Key) Duration() (time.Duration, error) { + return time.ParseDuration(k.String()) +} + +// TimeFormat parses with given format and returns time.Time type value. +func (k *Key) TimeFormat(format string) (time.Time, error) { + return time.Parse(format, k.String()) +} + +// Time parses with RFC3339 format and returns time.Time type value. +func (k *Key) Time() (time.Time, error) { + return k.TimeFormat(time.RFC3339) +} + +// MustString returns default value if key value is empty. +func (k *Key) MustString(defaultVal string) string { + val := k.String() + if len(val) == 0 { + k.value = defaultVal + return defaultVal + } + return val +} + +// MustBool always returns value without error, +// it returns false if error occurs. +func (k *Key) MustBool(defaultVal ...bool) bool { + val, err := k.Bool() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatBool(defaultVal[0]) + return defaultVal[0] + } + return val +} + +// MustFloat64 always returns value without error, +// it returns 0.0 if error occurs. +func (k *Key) MustFloat64(defaultVal ...float64) float64 { + val, err := k.Float64() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatFloat(defaultVal[0], 'f', -1, 64) + return defaultVal[0] + } + return val +} + +// MustInt always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustInt(defaultVal ...int) int { + val, err := k.Int() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatInt(int64(defaultVal[0]), 10) + return defaultVal[0] + } + return val +} + +// MustInt64 always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustInt64(defaultVal ...int64) int64 { + val, err := k.Int64() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatInt(defaultVal[0], 10) + return defaultVal[0] + } + return val +} + +// MustUint always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustUint(defaultVal ...uint) uint { + val, err := k.Uint() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatUint(uint64(defaultVal[0]), 10) + return defaultVal[0] + } + return val +} + +// MustUint64 always returns value without error, +// it returns 0 if error occurs. +func (k *Key) MustUint64(defaultVal ...uint64) uint64 { + val, err := k.Uint64() + if len(defaultVal) > 0 && err != nil { + k.value = strconv.FormatUint(defaultVal[0], 10) + return defaultVal[0] + } + return val +} + +// MustDuration always returns value without error, +// it returns zero value if error occurs. +func (k *Key) MustDuration(defaultVal ...time.Duration) time.Duration { + val, err := k.Duration() + if len(defaultVal) > 0 && err != nil { + k.value = defaultVal[0].String() + return defaultVal[0] + } + return val +} + +// MustTimeFormat always parses with given format and returns value without error, +// it returns zero value if error occurs. +func (k *Key) MustTimeFormat(format string, defaultVal ...time.Time) time.Time { + val, err := k.TimeFormat(format) + if len(defaultVal) > 0 && err != nil { + k.value = defaultVal[0].Format(format) + return defaultVal[0] + } + return val +} + +// MustTime always parses with RFC3339 format and returns value without error, +// it returns zero value if error occurs. +func (k *Key) MustTime(defaultVal ...time.Time) time.Time { + return k.MustTimeFormat(time.RFC3339, defaultVal...) +} + +// In always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) In(defaultVal string, candidates []string) string { + val := k.String() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InFloat64 always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InFloat64(defaultVal float64, candidates []float64) float64 { + val := k.MustFloat64() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InInt always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InInt(defaultVal int, candidates []int) int { + val := k.MustInt() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InInt64 always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InInt64(defaultVal int64, candidates []int64) int64 { + val := k.MustInt64() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InUint always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InUint(defaultVal uint, candidates []uint) uint { + val := k.MustUint() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InUint64 always returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InUint64(defaultVal uint64, candidates []uint64) uint64 { + val := k.MustUint64() + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InTimeFormat always parses with given format and returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InTimeFormat(format string, defaultVal time.Time, candidates []time.Time) time.Time { + val := k.MustTimeFormat(format) + for _, cand := range candidates { + if val == cand { + return val + } + } + return defaultVal +} + +// InTime always parses with RFC3339 format and returns value without error, +// it returns default value if error occurs or doesn't fit into candidates. +func (k *Key) InTime(defaultVal time.Time, candidates []time.Time) time.Time { + return k.InTimeFormat(time.RFC3339, defaultVal, candidates) +} + +// RangeFloat64 checks if value is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeFloat64(defaultVal, min, max float64) float64 { + val := k.MustFloat64() + if val < min || val > max { + return defaultVal + } + return val +} + +// RangeInt checks if value is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeInt(defaultVal, min, max int) int { + val := k.MustInt() + if val < min || val > max { + return defaultVal + } + return val +} + +// RangeInt64 checks if value is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeInt64(defaultVal, min, max int64) int64 { + val := k.MustInt64() + if val < min || val > max { + return defaultVal + } + return val +} + +// RangeTimeFormat checks if value with given format is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeTimeFormat(format string, defaultVal, min, max time.Time) time.Time { + val := k.MustTimeFormat(format) + if val.Unix() < min.Unix() || val.Unix() > max.Unix() { + return defaultVal + } + return val +} + +// RangeTime checks if value with RFC3339 format is in given range inclusively, +// and returns default value if it's not. +func (k *Key) RangeTime(defaultVal, min, max time.Time) time.Time { + return k.RangeTimeFormat(time.RFC3339, defaultVal, min, max) +} + +// Strings returns list of string divided by given delimiter. +func (k *Key) Strings(delim string) []string { + str := k.String() + if len(str) == 0 { + return []string{} + } + + vals := strings.Split(str, delim) + for i := range vals { + // vals[i] = k.transformValue(strings.TrimSpace(vals[i])) + vals[i] = strings.TrimSpace(vals[i]) + } + return vals +} + +// StringsWithShadows returns list of string divided by given delimiter. +// Shadows will also be appended if any. +func (k *Key) StringsWithShadows(delim string) []string { + vals := k.ValueWithShadows() + results := make([]string, 0, len(vals)*2) + for i := range vals { + if len(vals) == 0 { + continue + } + + results = append(results, strings.Split(vals[i], delim)...) + } + + for i := range results { + results[i] = k.transformValue(strings.TrimSpace(results[i])) + } + return results +} + +// Float64s returns list of float64 divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Float64s(delim string) []float64 { + vals, _ := k.parseFloat64s(k.Strings(delim), true, false) + return vals +} + +// Ints returns list of int divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Ints(delim string) []int { + vals, _ := k.parseInts(k.Strings(delim), true, false) + return vals +} + +// Int64s returns list of int64 divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Int64s(delim string) []int64 { + vals, _ := k.parseInt64s(k.Strings(delim), true, false) + return vals +} + +// Uints returns list of uint divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Uints(delim string) []uint { + vals, _ := k.parseUints(k.Strings(delim), true, false) + return vals +} + +// Uint64s returns list of uint64 divided by given delimiter. Any invalid input will be treated as zero value. +func (k *Key) Uint64s(delim string) []uint64 { + vals, _ := k.parseUint64s(k.Strings(delim), true, false) + return vals +} + +// TimesFormat parses with given format and returns list of time.Time divided by given delimiter. +// Any invalid input will be treated as zero value (0001-01-01 00:00:00 +0000 UTC). +func (k *Key) TimesFormat(format, delim string) []time.Time { + vals, _ := k.parseTimesFormat(format, k.Strings(delim), true, false) + return vals +} + +// Times parses with RFC3339 format and returns list of time.Time divided by given delimiter. +// Any invalid input will be treated as zero value (0001-01-01 00:00:00 +0000 UTC). +func (k *Key) Times(delim string) []time.Time { + return k.TimesFormat(time.RFC3339, delim) +} + +// ValidFloat64s returns list of float64 divided by given delimiter. If some value is not float, then +// it will not be included to result list. +func (k *Key) ValidFloat64s(delim string) []float64 { + vals, _ := k.parseFloat64s(k.Strings(delim), false, false) + return vals +} + +// ValidInts returns list of int divided by given delimiter. If some value is not integer, then it will +// not be included to result list. +func (k *Key) ValidInts(delim string) []int { + vals, _ := k.parseInts(k.Strings(delim), false, false) + return vals +} + +// ValidInt64s returns list of int64 divided by given delimiter. If some value is not 64-bit integer, +// then it will not be included to result list. +func (k *Key) ValidInt64s(delim string) []int64 { + vals, _ := k.parseInt64s(k.Strings(delim), false, false) + return vals +} + +// ValidUints returns list of uint divided by given delimiter. If some value is not unsigned integer, +// then it will not be included to result list. +func (k *Key) ValidUints(delim string) []uint { + vals, _ := k.parseUints(k.Strings(delim), false, false) + return vals +} + +// ValidUint64s returns list of uint64 divided by given delimiter. If some value is not 64-bit unsigned +// integer, then it will not be included to result list. +func (k *Key) ValidUint64s(delim string) []uint64 { + vals, _ := k.parseUint64s(k.Strings(delim), false, false) + return vals +} + +// ValidTimesFormat parses with given format and returns list of time.Time divided by given delimiter. +func (k *Key) ValidTimesFormat(format, delim string) []time.Time { + vals, _ := k.parseTimesFormat(format, k.Strings(delim), false, false) + return vals +} + +// ValidTimes parses with RFC3339 format and returns list of time.Time divided by given delimiter. +func (k *Key) ValidTimes(delim string) []time.Time { + return k.ValidTimesFormat(time.RFC3339, delim) +} + +// StrictFloat64s returns list of float64 divided by given delimiter or error on first invalid input. +func (k *Key) StrictFloat64s(delim string) ([]float64, error) { + return k.parseFloat64s(k.Strings(delim), false, true) +} + +// StrictInts returns list of int divided by given delimiter or error on first invalid input. +func (k *Key) StrictInts(delim string) ([]int, error) { + return k.parseInts(k.Strings(delim), false, true) +} + +// StrictInt64s returns list of int64 divided by given delimiter or error on first invalid input. +func (k *Key) StrictInt64s(delim string) ([]int64, error) { + return k.parseInt64s(k.Strings(delim), false, true) +} + +// StrictUints returns list of uint divided by given delimiter or error on first invalid input. +func (k *Key) StrictUints(delim string) ([]uint, error) { + return k.parseUints(k.Strings(delim), false, true) +} + +// StrictUint64s returns list of uint64 divided by given delimiter or error on first invalid input. +func (k *Key) StrictUint64s(delim string) ([]uint64, error) { + return k.parseUint64s(k.Strings(delim), false, true) +} + +// StrictTimesFormat parses with given format and returns list of time.Time divided by given delimiter +// or error on first invalid input. +func (k *Key) StrictTimesFormat(format, delim string) ([]time.Time, error) { + return k.parseTimesFormat(format, k.Strings(delim), false, true) +} + +// StrictTimes parses with RFC3339 format and returns list of time.Time divided by given delimiter +// or error on first invalid input. +func (k *Key) StrictTimes(delim string) ([]time.Time, error) { + return k.StrictTimesFormat(time.RFC3339, delim) +} + +// parseFloat64s transforms strings to float64s. +func (k *Key) parseFloat64s(strs []string, addInvalid, returnOnInvalid bool) ([]float64, error) { + vals := make([]float64, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseFloat(str, 64) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseInts transforms strings to ints. +func (k *Key) parseInts(strs []string, addInvalid, returnOnInvalid bool) ([]int, error) { + vals := make([]int, 0, len(strs)) + for _, str := range strs { + val, err := strconv.Atoi(str) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseInt64s transforms strings to int64s. +func (k *Key) parseInt64s(strs []string, addInvalid, returnOnInvalid bool) ([]int64, error) { + vals := make([]int64, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseInt(str, 10, 64) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseUints transforms strings to uints. +func (k *Key) parseUints(strs []string, addInvalid, returnOnInvalid bool) ([]uint, error) { + vals := make([]uint, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseUint(str, 10, 0) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, uint(val)) + } + } + return vals, nil +} + +// parseUint64s transforms strings to uint64s. +func (k *Key) parseUint64s(strs []string, addInvalid, returnOnInvalid bool) ([]uint64, error) { + vals := make([]uint64, 0, len(strs)) + for _, str := range strs { + val, err := strconv.ParseUint(str, 10, 64) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// parseTimesFormat transforms strings to times in given format. +func (k *Key) parseTimesFormat(format string, strs []string, addInvalid, returnOnInvalid bool) ([]time.Time, error) { + vals := make([]time.Time, 0, len(strs)) + for _, str := range strs { + val, err := time.Parse(format, str) + if err != nil && returnOnInvalid { + return nil, err + } + if err == nil || addInvalid { + vals = append(vals, val) + } + } + return vals, nil +} + +// SetValue changes key value. +func (k *Key) SetValue(v string) { + if k.s.f.BlockMode { + k.s.f.lock.Lock() + defer k.s.f.lock.Unlock() + } + + k.value = v + k.s.keysHash[k.name] = v +} diff --git a/vendor/github.com/go-ini/ini/parser.go b/vendor/github.com/go-ini/ini/parser.go new file mode 100644 index 000000000..69d547627 --- /dev/null +++ b/vendor/github.com/go-ini/ini/parser.go @@ -0,0 +1,361 @@ +// Copyright 2015 Unknwon +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package ini + +import ( + "bufio" + "bytes" + "fmt" + "io" + "strconv" + "strings" + "unicode" +) + +type tokenType int + +const ( + _TOKEN_INVALID tokenType = iota + _TOKEN_COMMENT + _TOKEN_SECTION + _TOKEN_KEY +) + +type parser struct { + buf *bufio.Reader + isEOF bool + count int + comment *bytes.Buffer +} + +func newParser(r io.Reader) *parser { + return &parser{ + buf: bufio.NewReader(r), + count: 1, + comment: &bytes.Buffer{}, + } +} + +// BOM handles header of UTF-8, UTF-16 LE and UTF-16 BE's BOM format. +// http://en.wikipedia.org/wiki/Byte_order_mark#Representations_of_byte_order_marks_by_encoding +func (p *parser) BOM() error { + mask, err := p.buf.Peek(2) + if err != nil && err != io.EOF { + return err + } else if len(mask) < 2 { + return nil + } + + switch { + case mask[0] == 254 && mask[1] == 255: + fallthrough + case mask[0] == 255 && mask[1] == 254: + p.buf.Read(mask) + case mask[0] == 239 && mask[1] == 187: + mask, err := p.buf.Peek(3) + if err != nil && err != io.EOF { + return err + } else if len(mask) < 3 { + return nil + } + if mask[2] == 191 { + p.buf.Read(mask) + } + } + return nil +} + +func (p *parser) readUntil(delim byte) ([]byte, error) { + data, err := p.buf.ReadBytes(delim) + if err != nil { + if err == io.EOF { + p.isEOF = true + } else { + return nil, err + } + } + return data, nil +} + +func cleanComment(in []byte) ([]byte, bool) { + i := bytes.IndexAny(in, "#;") + if i == -1 { + return nil, false + } + return in[i:], true +} + +func readKeyName(in []byte) (string, int, error) { + line := string(in) + + // Check if key name surrounded by quotes. + var keyQuote string + if line[0] == '"' { + if len(line) > 6 && string(line[0:3]) == `"""` { + keyQuote = `"""` + } else { + keyQuote = `"` + } + } else if line[0] == '`' { + keyQuote = "`" + } + + // Get out key name + endIdx := -1 + if len(keyQuote) > 0 { + startIdx := len(keyQuote) + // FIXME: fail case -> """"""name"""=value + pos := strings.Index(line[startIdx:], keyQuote) + if pos == -1 { + return "", -1, fmt.Errorf("missing closing key quote: %s", line) + } + pos += startIdx + + // Find key-value delimiter + i := strings.IndexAny(line[pos+startIdx:], "=:") + if i < 0 { + return "", -1, ErrDelimiterNotFound{line} + } + endIdx = pos + i + return strings.TrimSpace(line[startIdx:pos]), endIdx + startIdx + 1, nil + } + + endIdx = strings.IndexAny(line, "=:") + if endIdx < 0 { + return "", -1, ErrDelimiterNotFound{line} + } + return strings.TrimSpace(line[0:endIdx]), endIdx + 1, nil +} + +func (p *parser) readMultilines(line, val, valQuote string) (string, error) { + for { + data, err := p.readUntil('\n') + if err != nil { + return "", err + } + next := string(data) + + pos := strings.LastIndex(next, valQuote) + if pos > -1 { + val += next[:pos] + + comment, has := cleanComment([]byte(next[pos:])) + if has { + p.comment.Write(bytes.TrimSpace(comment)) + } + break + } + val += next + if p.isEOF { + return "", fmt.Errorf("missing closing key quote from '%s' to '%s'", line, next) + } + } + return val, nil +} + +func (p *parser) readContinuationLines(val string) (string, error) { + for { + data, err := p.readUntil('\n') + if err != nil { + return "", err + } + next := strings.TrimSpace(string(data)) + + if len(next) == 0 { + break + } + val += next + if val[len(val)-1] != '\\' { + break + } + val = val[:len(val)-1] + } + return val, nil +} + +// hasSurroundedQuote check if and only if the first and last characters +// are quotes \" or \'. +// It returns false if any other parts also contain same kind of quotes. +func hasSurroundedQuote(in string, quote byte) bool { + return len(in) >= 2 && in[0] == quote && in[len(in)-1] == quote && + strings.IndexByte(in[1:], quote) == len(in)-2 +} + +func (p *parser) readValue(in []byte, ignoreContinuation, ignoreInlineComment bool) (string, error) { + line := strings.TrimLeftFunc(string(in), unicode.IsSpace) + if len(line) == 0 { + return "", nil + } + + var valQuote string + if len(line) > 3 && string(line[0:3]) == `"""` { + valQuote = `"""` + } else if line[0] == '`' { + valQuote = "`" + } + + if len(valQuote) > 0 { + startIdx := len(valQuote) + pos := strings.LastIndex(line[startIdx:], valQuote) + // Check for multi-line value + if pos == -1 { + return p.readMultilines(line, line[startIdx:], valQuote) + } + + return line[startIdx : pos+startIdx], nil + } + + // Won't be able to reach here if value only contains whitespace + line = strings.TrimSpace(line) + + // Check continuation lines when desired + if !ignoreContinuation && line[len(line)-1] == '\\' { + return p.readContinuationLines(line[:len(line)-1]) + } + + // Check if ignore inline comment + if !ignoreInlineComment { + i := strings.IndexAny(line, "#;") + if i > -1 { + p.comment.WriteString(line[i:]) + line = strings.TrimSpace(line[:i]) + } + } + + // Trim single quotes + if hasSurroundedQuote(line, '\'') || + hasSurroundedQuote(line, '"') { + line = line[1 : len(line)-1] + } + return line, nil +} + +// parse parses data through an io.Reader. +func (f *File) parse(reader io.Reader) (err error) { + p := newParser(reader) + if err = p.BOM(); err != nil { + return fmt.Errorf("BOM: %v", err) + } + + // Ignore error because default section name is never empty string. + section, _ := f.NewSection(DEFAULT_SECTION) + + var line []byte + var inUnparseableSection bool + for !p.isEOF { + line, err = p.readUntil('\n') + if err != nil { + return err + } + + line = bytes.TrimLeftFunc(line, unicode.IsSpace) + if len(line) == 0 { + continue + } + + // Comments + if line[0] == '#' || line[0] == ';' { + // Note: we do not care ending line break, + // it is needed for adding second line, + // so just clean it once at the end when set to value. + p.comment.Write(line) + continue + } + + // Section + if line[0] == '[' { + // Read to the next ']' (TODO: support quoted strings) + // TODO(unknwon): use LastIndexByte when stop supporting Go1.4 + closeIdx := bytes.LastIndex(line, []byte("]")) + if closeIdx == -1 { + return fmt.Errorf("unclosed section: %s", line) + } + + name := string(line[1:closeIdx]) + section, err = f.NewSection(name) + if err != nil { + return err + } + + comment, has := cleanComment(line[closeIdx+1:]) + if has { + p.comment.Write(comment) + } + + section.Comment = strings.TrimSpace(p.comment.String()) + + // Reset aotu-counter and comments + p.comment.Reset() + p.count = 1 + + inUnparseableSection = false + for i := range f.options.UnparseableSections { + if f.options.UnparseableSections[i] == name || + (f.options.Insensitive && strings.ToLower(f.options.UnparseableSections[i]) == strings.ToLower(name)) { + inUnparseableSection = true + continue + } + } + continue + } + + if inUnparseableSection { + section.isRawSection = true + section.rawBody += string(line) + continue + } + + kname, offset, err := readKeyName(line) + if err != nil { + // Treat as boolean key when desired, and whole line is key name. + if IsErrDelimiterNotFound(err) && f.options.AllowBooleanKeys { + kname, err := p.readValue(line, f.options.IgnoreContinuation, f.options.IgnoreInlineComment) + if err != nil { + return err + } + key, err := section.NewBooleanKey(kname) + if err != nil { + return err + } + key.Comment = strings.TrimSpace(p.comment.String()) + p.comment.Reset() + continue + } + return err + } + + // Auto increment. + isAutoIncr := false + if kname == "-" { + isAutoIncr = true + kname = "#" + strconv.Itoa(p.count) + p.count++ + } + + value, err := p.readValue(line[offset:], f.options.IgnoreContinuation, f.options.IgnoreInlineComment) + if err != nil { + return err + } + + key, err := section.NewKey(kname, value) + if err != nil { + return err + } + key.isAutoIncrement = isAutoIncr + key.Comment = strings.TrimSpace(p.comment.String()) + p.comment.Reset() + } + return nil +} diff --git a/vendor/github.com/go-ini/ini/section.go b/vendor/github.com/go-ini/ini/section.go new file mode 100644 index 000000000..94f7375ed --- /dev/null +++ b/vendor/github.com/go-ini/ini/section.go @@ -0,0 +1,248 @@ +// Copyright 2014 Unknwon +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package ini + +import ( + "errors" + "fmt" + "strings" +) + +// Section represents a config section. +type Section struct { + f *File + Comment string + name string + keys map[string]*Key + keyList []string + keysHash map[string]string + + isRawSection bool + rawBody string +} + +func newSection(f *File, name string) *Section { + return &Section{ + f: f, + name: name, + keys: make(map[string]*Key), + keyList: make([]string, 0, 10), + keysHash: make(map[string]string), + } +} + +// Name returns name of Section. +func (s *Section) Name() string { + return s.name +} + +// Body returns rawBody of Section if the section was marked as unparseable. +// It still follows the other rules of the INI format surrounding leading/trailing whitespace. +func (s *Section) Body() string { + return strings.TrimSpace(s.rawBody) +} + +// NewKey creates a new key to given section. +func (s *Section) NewKey(name, val string) (*Key, error) { + if len(name) == 0 { + return nil, errors.New("error creating new key: empty key name") + } else if s.f.options.Insensitive { + name = strings.ToLower(name) + } + + if s.f.BlockMode { + s.f.lock.Lock() + defer s.f.lock.Unlock() + } + + if inSlice(name, s.keyList) { + if s.f.options.AllowShadows { + if err := s.keys[name].addShadow(val); err != nil { + return nil, err + } + } else { + s.keys[name].value = val + } + return s.keys[name], nil + } + + s.keyList = append(s.keyList, name) + s.keys[name] = newKey(s, name, val) + s.keysHash[name] = val + return s.keys[name], nil +} + +// NewBooleanKey creates a new boolean type key to given section. +func (s *Section) NewBooleanKey(name string) (*Key, error) { + key, err := s.NewKey(name, "true") + if err != nil { + return nil, err + } + + key.isBooleanType = true + return key, nil +} + +// GetKey returns key in section by given name. +func (s *Section) GetKey(name string) (*Key, error) { + // FIXME: change to section level lock? + if s.f.BlockMode { + s.f.lock.RLock() + } + if s.f.options.Insensitive { + name = strings.ToLower(name) + } + key := s.keys[name] + if s.f.BlockMode { + s.f.lock.RUnlock() + } + + if key == nil { + // Check if it is a child-section. + sname := s.name + for { + if i := strings.LastIndex(sname, "."); i > -1 { + sname = sname[:i] + sec, err := s.f.GetSection(sname) + if err != nil { + continue + } + return sec.GetKey(name) + } else { + break + } + } + return nil, fmt.Errorf("error when getting key of section '%s': key '%s' not exists", s.name, name) + } + return key, nil +} + +// HasKey returns true if section contains a key with given name. +func (s *Section) HasKey(name string) bool { + key, _ := s.GetKey(name) + return key != nil +} + +// Haskey is a backwards-compatible name for HasKey. +func (s *Section) Haskey(name string) bool { + return s.HasKey(name) +} + +// HasValue returns true if section contains given raw value. +func (s *Section) HasValue(value string) bool { + if s.f.BlockMode { + s.f.lock.RLock() + defer s.f.lock.RUnlock() + } + + for _, k := range s.keys { + if value == k.value { + return true + } + } + return false +} + +// Key assumes named Key exists in section and returns a zero-value when not. +func (s *Section) Key(name string) *Key { + key, err := s.GetKey(name) + if err != nil { + // It's OK here because the only possible error is empty key name, + // but if it's empty, this piece of code won't be executed. + key, _ = s.NewKey(name, "") + return key + } + return key +} + +// Keys returns list of keys of section. +func (s *Section) Keys() []*Key { + keys := make([]*Key, len(s.keyList)) + for i := range s.keyList { + keys[i] = s.Key(s.keyList[i]) + } + return keys +} + +// ParentKeys returns list of keys of parent section. +func (s *Section) ParentKeys() []*Key { + var parentKeys []*Key + sname := s.name + for { + if i := strings.LastIndex(sname, "."); i > -1 { + sname = sname[:i] + sec, err := s.f.GetSection(sname) + if err != nil { + continue + } + parentKeys = append(parentKeys, sec.Keys()...) + } else { + break + } + + } + return parentKeys +} + +// KeyStrings returns list of key names of section. +func (s *Section) KeyStrings() []string { + list := make([]string, len(s.keyList)) + copy(list, s.keyList) + return list +} + +// KeysHash returns keys hash consisting of names and values. +func (s *Section) KeysHash() map[string]string { + if s.f.BlockMode { + s.f.lock.RLock() + defer s.f.lock.RUnlock() + } + + hash := map[string]string{} + for key, value := range s.keysHash { + hash[key] = value + } + return hash +} + +// DeleteKey deletes a key from section. +func (s *Section) DeleteKey(name string) { + if s.f.BlockMode { + s.f.lock.Lock() + defer s.f.lock.Unlock() + } + + for i, k := range s.keyList { + if k == name { + s.keyList = append(s.keyList[:i], s.keyList[i+1:]...) + delete(s.keys, name) + return + } + } +} + +// ChildSections returns a list of child sections of current section. +// For example, "[parent.child1]" and "[parent.child12]" are child sections +// of section "[parent]". +func (s *Section) ChildSections() []*Section { + prefix := s.name + "." + children := make([]*Section, 0, 3) + for _, name := range s.f.sectionList { + if strings.HasPrefix(name, prefix) { + children = append(children, s.f.sections[name]) + } + } + return children +} diff --git a/vendor/github.com/go-ini/ini/struct.go b/vendor/github.com/go-ini/ini/struct.go new file mode 100644 index 000000000..eeb8dabaa --- /dev/null +++ b/vendor/github.com/go-ini/ini/struct.go @@ -0,0 +1,500 @@ +// Copyright 2014 Unknwon +// +// Licensed under the Apache License, Version 2.0 (the "License"): you may +// not use this file except in compliance with the License. You may obtain +// a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +// WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +// License for the specific language governing permissions and limitations +// under the License. + +package ini + +import ( + "bytes" + "errors" + "fmt" + "reflect" + "strings" + "time" + "unicode" +) + +// NameMapper represents a ini tag name mapper. +type NameMapper func(string) string + +// Built-in name getters. +var ( + // AllCapsUnderscore converts to format ALL_CAPS_UNDERSCORE. + AllCapsUnderscore NameMapper = func(raw string) string { + newstr := make([]rune, 0, len(raw)) + for i, chr := range raw { + if isUpper := 'A' <= chr && chr <= 'Z'; isUpper { + if i > 0 { + newstr = append(newstr, '_') + } + } + newstr = append(newstr, unicode.ToUpper(chr)) + } + return string(newstr) + } + // TitleUnderscore converts to format title_underscore. + TitleUnderscore NameMapper = func(raw string) string { + newstr := make([]rune, 0, len(raw)) + for i, chr := range raw { + if isUpper := 'A' <= chr && chr <= 'Z'; isUpper { + if i > 0 { + newstr = append(newstr, '_') + } + chr -= ('A' - 'a') + } + newstr = append(newstr, chr) + } + return string(newstr) + } +) + +func (s *Section) parseFieldName(raw, actual string) string { + if len(actual) > 0 { + return actual + } + if s.f.NameMapper != nil { + return s.f.NameMapper(raw) + } + return raw +} + +func parseDelim(actual string) string { + if len(actual) > 0 { + return actual + } + return "," +} + +var reflectTime = reflect.TypeOf(time.Now()).Kind() + +// setSliceWithProperType sets proper values to slice based on its type. +func setSliceWithProperType(key *Key, field reflect.Value, delim string, allowShadow, isStrict bool) error { + var strs []string + if allowShadow { + strs = key.StringsWithShadows(delim) + } else { + strs = key.Strings(delim) + } + + numVals := len(strs) + if numVals == 0 { + return nil + } + + var vals interface{} + var err error + + sliceOf := field.Type().Elem().Kind() + switch sliceOf { + case reflect.String: + vals = strs + case reflect.Int: + vals, err = key.parseInts(strs, true, false) + case reflect.Int64: + vals, err = key.parseInt64s(strs, true, false) + case reflect.Uint: + vals, err = key.parseUints(strs, true, false) + case reflect.Uint64: + vals, err = key.parseUint64s(strs, true, false) + case reflect.Float64: + vals, err = key.parseFloat64s(strs, true, false) + case reflectTime: + vals, err = key.parseTimesFormat(time.RFC3339, strs, true, false) + default: + return fmt.Errorf("unsupported type '[]%s'", sliceOf) + } + if isStrict { + return err + } + + slice := reflect.MakeSlice(field.Type(), numVals, numVals) + for i := 0; i < numVals; i++ { + switch sliceOf { + case reflect.String: + slice.Index(i).Set(reflect.ValueOf(vals.([]string)[i])) + case reflect.Int: + slice.Index(i).Set(reflect.ValueOf(vals.([]int)[i])) + case reflect.Int64: + slice.Index(i).Set(reflect.ValueOf(vals.([]int64)[i])) + case reflect.Uint: + slice.Index(i).Set(reflect.ValueOf(vals.([]uint)[i])) + case reflect.Uint64: + slice.Index(i).Set(reflect.ValueOf(vals.([]uint64)[i])) + case reflect.Float64: + slice.Index(i).Set(reflect.ValueOf(vals.([]float64)[i])) + case reflectTime: + slice.Index(i).Set(reflect.ValueOf(vals.([]time.Time)[i])) + } + } + field.Set(slice) + return nil +} + +func wrapStrictError(err error, isStrict bool) error { + if isStrict { + return err + } + return nil +} + +// setWithProperType sets proper value to field based on its type, +// but it does not return error for failing parsing, +// because we want to use default value that is already assigned to strcut. +func setWithProperType(t reflect.Type, key *Key, field reflect.Value, delim string, allowShadow, isStrict bool) error { + switch t.Kind() { + case reflect.String: + if len(key.String()) == 0 { + return nil + } + field.SetString(key.String()) + case reflect.Bool: + boolVal, err := key.Bool() + if err != nil { + return wrapStrictError(err, isStrict) + } + field.SetBool(boolVal) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + durationVal, err := key.Duration() + // Skip zero value + if err == nil && int(durationVal) > 0 { + field.Set(reflect.ValueOf(durationVal)) + return nil + } + + intVal, err := key.Int64() + if err != nil { + return wrapStrictError(err, isStrict) + } + field.SetInt(intVal) + // byte is an alias for uint8, so supporting uint8 breaks support for byte + case reflect.Uint, reflect.Uint16, reflect.Uint32, reflect.Uint64: + durationVal, err := key.Duration() + // Skip zero value + if err == nil && int(durationVal) > 0 { + field.Set(reflect.ValueOf(durationVal)) + return nil + } + + uintVal, err := key.Uint64() + if err != nil { + return wrapStrictError(err, isStrict) + } + field.SetUint(uintVal) + + case reflect.Float32, reflect.Float64: + floatVal, err := key.Float64() + if err != nil { + return wrapStrictError(err, isStrict) + } + field.SetFloat(floatVal) + case reflectTime: + timeVal, err := key.Time() + if err != nil { + return wrapStrictError(err, isStrict) + } + field.Set(reflect.ValueOf(timeVal)) + case reflect.Slice: + return setSliceWithProperType(key, field, delim, allowShadow, isStrict) + default: + return fmt.Errorf("unsupported type '%s'", t) + } + return nil +} + +func parseTagOptions(tag string) (rawName string, omitEmpty bool, allowShadow bool) { + opts := strings.SplitN(tag, ",", 3) + rawName = opts[0] + if len(opts) > 1 { + omitEmpty = opts[1] == "omitempty" + } + if len(opts) > 2 { + allowShadow = opts[2] == "allowshadow" + } + return rawName, omitEmpty, allowShadow +} + +func (s *Section) mapTo(val reflect.Value, isStrict bool) error { + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + typ := val.Type() + + for i := 0; i < typ.NumField(); i++ { + field := val.Field(i) + tpField := typ.Field(i) + + tag := tpField.Tag.Get("ini") + if tag == "-" { + continue + } + + rawName, _, allowShadow := parseTagOptions(tag) + fieldName := s.parseFieldName(tpField.Name, rawName) + if len(fieldName) == 0 || !field.CanSet() { + continue + } + + isAnonymous := tpField.Type.Kind() == reflect.Ptr && tpField.Anonymous + isStruct := tpField.Type.Kind() == reflect.Struct + if isAnonymous { + field.Set(reflect.New(tpField.Type.Elem())) + } + + if isAnonymous || isStruct { + if sec, err := s.f.GetSection(fieldName); err == nil { + if err = sec.mapTo(field, isStrict); err != nil { + return fmt.Errorf("error mapping field(%s): %v", fieldName, err) + } + continue + } + } + + if key, err := s.GetKey(fieldName); err == nil { + delim := parseDelim(tpField.Tag.Get("delim")) + if err = setWithProperType(tpField.Type, key, field, delim, allowShadow, isStrict); err != nil { + return fmt.Errorf("error mapping field(%s): %v", fieldName, err) + } + } + } + return nil +} + +// MapTo maps section to given struct. +func (s *Section) MapTo(v interface{}) error { + typ := reflect.TypeOf(v) + val := reflect.ValueOf(v) + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + val = val.Elem() + } else { + return errors.New("cannot map to non-pointer struct") + } + + return s.mapTo(val, false) +} + +// MapTo maps section to given struct in strict mode, +// which returns all possible error including value parsing error. +func (s *Section) StrictMapTo(v interface{}) error { + typ := reflect.TypeOf(v) + val := reflect.ValueOf(v) + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + val = val.Elem() + } else { + return errors.New("cannot map to non-pointer struct") + } + + return s.mapTo(val, true) +} + +// MapTo maps file to given struct. +func (f *File) MapTo(v interface{}) error { + return f.Section("").MapTo(v) +} + +// MapTo maps file to given struct in strict mode, +// which returns all possible error including value parsing error. +func (f *File) StrictMapTo(v interface{}) error { + return f.Section("").StrictMapTo(v) +} + +// MapTo maps data sources to given struct with name mapper. +func MapToWithMapper(v interface{}, mapper NameMapper, source interface{}, others ...interface{}) error { + cfg, err := Load(source, others...) + if err != nil { + return err + } + cfg.NameMapper = mapper + return cfg.MapTo(v) +} + +// StrictMapToWithMapper maps data sources to given struct with name mapper in strict mode, +// which returns all possible error including value parsing error. +func StrictMapToWithMapper(v interface{}, mapper NameMapper, source interface{}, others ...interface{}) error { + cfg, err := Load(source, others...) + if err != nil { + return err + } + cfg.NameMapper = mapper + return cfg.StrictMapTo(v) +} + +// MapTo maps data sources to given struct. +func MapTo(v, source interface{}, others ...interface{}) error { + return MapToWithMapper(v, nil, source, others...) +} + +// StrictMapTo maps data sources to given struct in strict mode, +// which returns all possible error including value parsing error. +func StrictMapTo(v, source interface{}, others ...interface{}) error { + return StrictMapToWithMapper(v, nil, source, others...) +} + +// reflectSliceWithProperType does the opposite thing as setSliceWithProperType. +func reflectSliceWithProperType(key *Key, field reflect.Value, delim string) error { + slice := field.Slice(0, field.Len()) + if field.Len() == 0 { + return nil + } + + var buf bytes.Buffer + sliceOf := field.Type().Elem().Kind() + for i := 0; i < field.Len(); i++ { + switch sliceOf { + case reflect.String: + buf.WriteString(slice.Index(i).String()) + case reflect.Int, reflect.Int64: + buf.WriteString(fmt.Sprint(slice.Index(i).Int())) + case reflect.Uint, reflect.Uint64: + buf.WriteString(fmt.Sprint(slice.Index(i).Uint())) + case reflect.Float64: + buf.WriteString(fmt.Sprint(slice.Index(i).Float())) + case reflectTime: + buf.WriteString(slice.Index(i).Interface().(time.Time).Format(time.RFC3339)) + default: + return fmt.Errorf("unsupported type '[]%s'", sliceOf) + } + buf.WriteString(delim) + } + key.SetValue(buf.String()[:buf.Len()-1]) + return nil +} + +// reflectWithProperType does the opposite thing as setWithProperType. +func reflectWithProperType(t reflect.Type, key *Key, field reflect.Value, delim string) error { + switch t.Kind() { + case reflect.String: + key.SetValue(field.String()) + case reflect.Bool: + key.SetValue(fmt.Sprint(field.Bool())) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + key.SetValue(fmt.Sprint(field.Int())) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + key.SetValue(fmt.Sprint(field.Uint())) + case reflect.Float32, reflect.Float64: + key.SetValue(fmt.Sprint(field.Float())) + case reflectTime: + key.SetValue(fmt.Sprint(field.Interface().(time.Time).Format(time.RFC3339))) + case reflect.Slice: + return reflectSliceWithProperType(key, field, delim) + default: + return fmt.Errorf("unsupported type '%s'", t) + } + return nil +} + +// CR: copied from encoding/json/encode.go with modifications of time.Time support. +// TODO: add more test coverage. +func isEmptyValue(v reflect.Value) bool { + switch v.Kind() { + case reflect.Array, reflect.Map, reflect.Slice, reflect.String: + return v.Len() == 0 + case reflect.Bool: + return !v.Bool() + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return v.Int() == 0 + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uintptr: + return v.Uint() == 0 + case reflect.Float32, reflect.Float64: + return v.Float() == 0 + case reflect.Interface, reflect.Ptr: + return v.IsNil() + case reflectTime: + t, ok := v.Interface().(time.Time) + return ok && t.IsZero() + } + return false +} + +func (s *Section) reflectFrom(val reflect.Value) error { + if val.Kind() == reflect.Ptr { + val = val.Elem() + } + typ := val.Type() + + for i := 0; i < typ.NumField(); i++ { + field := val.Field(i) + tpField := typ.Field(i) + + tag := tpField.Tag.Get("ini") + if tag == "-" { + continue + } + + opts := strings.SplitN(tag, ",", 2) + if len(opts) == 2 && opts[1] == "omitempty" && isEmptyValue(field) { + continue + } + + fieldName := s.parseFieldName(tpField.Name, opts[0]) + if len(fieldName) == 0 || !field.CanSet() { + continue + } + + if (tpField.Type.Kind() == reflect.Ptr && tpField.Anonymous) || + (tpField.Type.Kind() == reflect.Struct && tpField.Type.Name() != "Time") { + // Note: The only error here is section doesn't exist. + sec, err := s.f.GetSection(fieldName) + if err != nil { + // Note: fieldName can never be empty here, ignore error. + sec, _ = s.f.NewSection(fieldName) + } + if err = sec.reflectFrom(field); err != nil { + return fmt.Errorf("error reflecting field (%s): %v", fieldName, err) + } + continue + } + + // Note: Same reason as secion. + key, err := s.GetKey(fieldName) + if err != nil { + key, _ = s.NewKey(fieldName, "") + } + if err = reflectWithProperType(tpField.Type, key, field, parseDelim(tpField.Tag.Get("delim"))); err != nil { + return fmt.Errorf("error reflecting field (%s): %v", fieldName, err) + } + + } + return nil +} + +// ReflectFrom reflects secion from given struct. +func (s *Section) ReflectFrom(v interface{}) error { + typ := reflect.TypeOf(v) + val := reflect.ValueOf(v) + if typ.Kind() == reflect.Ptr { + typ = typ.Elem() + val = val.Elem() + } else { + return errors.New("cannot reflect from non-pointer struct") + } + + return s.reflectFrom(val) +} + +// ReflectFrom reflects file from given struct. +func (f *File) ReflectFrom(v interface{}) error { + return f.Section("").ReflectFrom(v) +} + +// ReflectFrom reflects data sources from given struct with name mapper. +func ReflectFromWithMapper(cfg *File, v interface{}, mapper NameMapper) error { + cfg.NameMapper = mapper + return cfg.ReflectFrom(v) +} + +// ReflectFrom reflects data sources from given struct. +func ReflectFrom(cfg *File, v interface{}) error { + return ReflectFromWithMapper(cfg, v, nil) +} diff --git a/vendor/github.com/go-sql-driver/mysql/AUTHORS b/vendor/github.com/go-sql-driver/mysql/AUTHORS new file mode 100644 index 000000000..646159940 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/AUTHORS @@ -0,0 +1,74 @@ +# This is the official list of Go-MySQL-Driver authors for copyright purposes. + +# If you are submitting a patch, please add your name or the name of the +# organization which holds the copyright to this list in alphabetical order. + +# Names should be added to this file as +# Name +# The email address is not required for organizations. +# Please keep the list sorted. + + +# Individual Persons + +Aaron Hopkins +Achille Roussel +Arne Hormann +Asta Xie +Bulat Gaifullin +Carlos Nieto +Chris Moos +Daniel Nichter +Daniël van Eeden +Dave Protasowski +DisposaBoy +Egor Smolyakov +Evan Shaw +Frederick Mayle +Gustavo Kristic +Hanno Braun +Henri Yandell +Hirotaka Yamamoto +ICHINOSE Shogo +INADA Naoki +Jacek Szwec +James Harr +Jeff Hodges +Jian Zhen +Joshua Prunier +Julien Lefevre +Julien Schmidt +Justin Nuß +Kamil Dziedzic +Kevin Malachowski +Lennart Rudolph +Leonardo YongUk Kim +Lion Yang +Luca Looz +Lucas Liu +Luke Scott +Maciej Zimnoch +Michael Woolnough +Nicola Peduzzi +Olivier Mengué +oscarzhao +Paul Bonser +Peter Schultz +Rebecca Chin +Runrioter Wung +Shuode Li +Soroush Pour +Stan Putrya +Stanley Gunawan +Xiangyu Hu +Xiaobing Jiang +Xiuming Chen +Zhenye Xie + +# Organizations + +Barracuda Networks, Inc. +Google Inc. +Keybase Inc. +Pivotal Inc. +Stripe Inc. diff --git a/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md b/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md new file mode 100644 index 000000000..6bcad7eaa --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/CHANGELOG.md @@ -0,0 +1,119 @@ +## Version 1.3 (2016-12-01) + +Changes: + + - Go 1.1 is no longer supported + - Use decimals fields in MySQL to format time types (#249) + - Buffer optimizations (#269) + - TLS ServerName defaults to the host (#283) + - Refactoring (#400, #410, #437) + - Adjusted documentation for second generation CloudSQL (#485) + - Documented DSN system var quoting rules (#502) + - Made statement.Close() calls idempotent to avoid errors in Go 1.6+ (#512) + +New Features: + + - Enable microsecond resolution on TIME, DATETIME and TIMESTAMP (#249) + - Support for returning table alias on Columns() (#289, #359, #382) + - Placeholder interpolation, can be actived with the DSN parameter `interpolateParams=true` (#309, #318, #490) + - Support for uint64 parameters with high bit set (#332, #345) + - Cleartext authentication plugin support (#327) + - Exported ParseDSN function and the Config struct (#403, #419, #429) + - Read / Write timeouts (#401) + - Support for JSON field type (#414) + - Support for multi-statements and multi-results (#411, #431) + - DSN parameter to set the driver-side max_allowed_packet value manually (#489) + - Native password authentication plugin support (#494, #524) + +Bugfixes: + + - Fixed handling of queries without columns and rows (#255) + - Fixed a panic when SetKeepAlive() failed (#298) + - Handle ERR packets while reading rows (#321) + - Fixed reading NULL length-encoded integers in MySQL 5.6+ (#349) + - Fixed absolute paths support in LOAD LOCAL DATA INFILE (#356) + - Actually zero out bytes in handshake response (#378) + - Fixed race condition in registering LOAD DATA INFILE handler (#383) + - Fixed tests with MySQL 5.7.9+ (#380) + - QueryUnescape TLS config names (#397) + - Fixed "broken pipe" error by writing to closed socket (#390) + - Fixed LOAD LOCAL DATA INFILE buffering (#424) + - Fixed parsing of floats into float64 when placeholders are used (#434) + - Fixed DSN tests with Go 1.7+ (#459) + - Handle ERR packets while waiting for EOF (#473) + - Invalidate connection on error while discarding additional results (#513) + - Allow terminating packets of length 0 (#516) + + +## Version 1.2 (2014-06-03) + +Changes: + + - We switched back to a "rolling release". `go get` installs the current master branch again + - Version v1 of the driver will not be maintained anymore. Go 1.0 is no longer supported by this driver + - Exported errors to allow easy checking from application code + - Enabled TCP Keepalives on TCP connections + - Optimized INFILE handling (better buffer size calculation, lazy init, ...) + - The DSN parser also checks for a missing separating slash + - Faster binary date / datetime to string formatting + - Also exported the MySQLWarning type + - mysqlConn.Close returns the first error encountered instead of ignoring all errors + - writePacket() automatically writes the packet size to the header + - readPacket() uses an iterative approach instead of the recursive approach to merge splitted packets + +New Features: + + - `RegisterDial` allows the usage of a custom dial function to establish the network connection + - Setting the connection collation is possible with the `collation` DSN parameter. This parameter should be preferred over the `charset` parameter + - Logging of critical errors is configurable with `SetLogger` + - Google CloudSQL support + +Bugfixes: + + - Allow more than 32 parameters in prepared statements + - Various old_password fixes + - Fixed TestConcurrent test to pass Go's race detection + - Fixed appendLengthEncodedInteger for large numbers + - Renamed readLengthEnodedString to readLengthEncodedString and skipLengthEnodedString to skipLengthEncodedString (fixed typo) + + +## Version 1.1 (2013-11-02) + +Changes: + + - Go-MySQL-Driver now requires Go 1.1 + - Connections now use the collation `utf8_general_ci` by default. Adding `&charset=UTF8` to the DSN should not be necessary anymore + - Made closing rows and connections error tolerant. This allows for example deferring rows.Close() without checking for errors + - `[]byte(nil)` is now treated as a NULL value. Before, it was treated like an empty string / `[]byte("")` + - DSN parameter values must now be url.QueryEscape'ed. This allows text values to contain special characters, such as '&'. + - Use the IO buffer also for writing. This results in zero allocations (by the driver) for most queries + - Optimized the buffer for reading + - stmt.Query now caches column metadata + - New Logo + - Changed the copyright header to include all contributors + - Improved the LOAD INFILE documentation + - The driver struct is now exported to make the driver directly accessible + - Refactored the driver tests + - Added more benchmarks and moved all to a separate file + - Other small refactoring + +New Features: + + - Added *old_passwords* support: Required in some cases, but must be enabled by adding `allowOldPasswords=true` to the DSN since it is insecure + - Added a `clientFoundRows` parameter: Return the number of matching rows instead of the number of rows changed on UPDATEs + - Added TLS/SSL support: Use a TLS/SSL encrypted connection to the server. Custom TLS configs can be registered and used + +Bugfixes: + + - Fixed MySQL 4.1 support: MySQL 4.1 sends packets with lengths which differ from the specification + - Convert to DB timezone when inserting `time.Time` + - Splitted packets (more than 16MB) are now merged correctly + - Fixed false positive `io.EOF` errors when the data was fully read + - Avoid panics on reuse of closed connections + - Fixed empty string producing false nil values + - Fixed sign byte for positive TIME fields + + +## Version 1.0 (2013-05-14) + +Initial Release diff --git a/vendor/github.com/go-sql-driver/mysql/CONTRIBUTING.md b/vendor/github.com/go-sql-driver/mysql/CONTRIBUTING.md new file mode 100644 index 000000000..8fe16bcb4 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/CONTRIBUTING.md @@ -0,0 +1,23 @@ +# Contributing Guidelines + +## Reporting Issues + +Before creating a new Issue, please check first if a similar Issue [already exists](https://github.com/go-sql-driver/mysql/issues?state=open) or was [recently closed](https://github.com/go-sql-driver/mysql/issues?direction=desc&page=1&sort=updated&state=closed). + +## Contributing Code + +By contributing to this project, you share your code under the Mozilla Public License 2, as specified in the LICENSE file. +Don't forget to add yourself to the AUTHORS file. + +### Code Review + +Everyone is invited to review and comment on pull requests. +If it looks fine to you, comment with "LGTM" (Looks good to me). + +If changes are required, notice the reviewers with "PTAL" (Please take another look) after committing the fixes. + +Before merging the Pull Request, at least one [team member](https://github.com/go-sql-driver?tab=members) must have commented with "LGTM". + +## Development Ideas + +If you are looking for ideas for code contributions, please check our [Development Ideas](https://github.com/go-sql-driver/mysql/wiki/Development-Ideas) Wiki page. diff --git a/vendor/github.com/go-sql-driver/mysql/LICENSE b/vendor/github.com/go-sql-driver/mysql/LICENSE new file mode 100644 index 000000000..14e2f777f --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/LICENSE @@ -0,0 +1,373 @@ +Mozilla Public License Version 2.0 +================================== + +1. Definitions +-------------- + +1.1. "Contributor" + means each individual or legal entity that creates, contributes to + the creation of, or owns Covered Software. + +1.2. "Contributor Version" + means the combination of the Contributions of others (if any) used + by a Contributor and that particular Contributor's Contribution. + +1.3. "Contribution" + means Covered Software of a particular Contributor. + +1.4. "Covered Software" + means Source Code Form to which the initial Contributor has attached + the notice in Exhibit A, the Executable Form of such Source Code + Form, and Modifications of such Source Code Form, in each case + including portions thereof. + +1.5. "Incompatible With Secondary Licenses" + means + + (a) that the initial Contributor has attached the notice described + in Exhibit B to the Covered Software; or + + (b) that the Covered Software was made available under the terms of + version 1.1 or earlier of the License, but not also under the + terms of a Secondary License. + +1.6. "Executable Form" + means any form of the work other than Source Code Form. + +1.7. "Larger Work" + means a work that combines Covered Software with other material, in + a separate file or files, that is not Covered Software. + +1.8. "License" + means this document. + +1.9. "Licensable" + means having the right to grant, to the maximum extent possible, + whether at the time of the initial grant or subsequently, any and + all of the rights conveyed by this License. + +1.10. "Modifications" + means any of the following: + + (a) any file in Source Code Form that results from an addition to, + deletion from, or modification of the contents of Covered + Software; or + + (b) any new file in Source Code Form that contains any Covered + Software. + +1.11. "Patent Claims" of a Contributor + means any patent claim(s), including without limitation, method, + process, and apparatus claims, in any patent Licensable by such + Contributor that would be infringed, but for the grant of the + License, by the making, using, selling, offering for sale, having + made, import, or transfer of either its Contributions or its + Contributor Version. + +1.12. "Secondary License" + means either the GNU General Public License, Version 2.0, the GNU + Lesser General Public License, Version 2.1, the GNU Affero General + Public License, Version 3.0, or any later versions of those + licenses. + +1.13. "Source Code Form" + means the form of the work preferred for making modifications. + +1.14. "You" (or "Your") + means an individual or a legal entity exercising rights under this + License. For legal entities, "You" includes any entity that + controls, is controlled by, or is under common control with You. For + purposes of this definition, "control" means (a) the power, direct + or indirect, to cause the direction or management of such entity, + whether by contract or otherwise, or (b) ownership of more than + fifty percent (50%) of the outstanding shares or beneficial + ownership of such entity. + +2. License Grants and Conditions +-------------------------------- + +2.1. Grants + +Each Contributor hereby grants You a world-wide, royalty-free, +non-exclusive license: + +(a) under intellectual property rights (other than patent or trademark) + Licensable by such Contributor to use, reproduce, make available, + modify, display, perform, distribute, and otherwise exploit its + Contributions, either on an unmodified basis, with Modifications, or + as part of a Larger Work; and + +(b) under Patent Claims of such Contributor to make, use, sell, offer + for sale, have made, import, and otherwise transfer either its + Contributions or its Contributor Version. + +2.2. Effective Date + +The licenses granted in Section 2.1 with respect to any Contribution +become effective for each Contribution on the date the Contributor first +distributes such Contribution. + +2.3. Limitations on Grant Scope + +The licenses granted in this Section 2 are the only rights granted under +this License. No additional rights or licenses will be implied from the +distribution or licensing of Covered Software under this License. +Notwithstanding Section 2.1(b) above, no patent license is granted by a +Contributor: + +(a) for any code that a Contributor has removed from Covered Software; + or + +(b) for infringements caused by: (i) Your and any other third party's + modifications of Covered Software, or (ii) the combination of its + Contributions with other software (except as part of its Contributor + Version); or + +(c) under Patent Claims infringed by Covered Software in the absence of + its Contributions. + +This License does not grant any rights in the trademarks, service marks, +or logos of any Contributor (except as may be necessary to comply with +the notice requirements in Section 3.4). + +2.4. Subsequent Licenses + +No Contributor makes additional grants as a result of Your choice to +distribute the Covered Software under a subsequent version of this +License (see Section 10.2) or under the terms of a Secondary License (if +permitted under the terms of Section 3.3). + +2.5. Representation + +Each Contributor represents that the Contributor believes its +Contributions are its original creation(s) or it has sufficient rights +to grant the rights to its Contributions conveyed by this License. + +2.6. Fair Use + +This License is not intended to limit any rights You have under +applicable copyright doctrines of fair use, fair dealing, or other +equivalents. + +2.7. Conditions + +Sections 3.1, 3.2, 3.3, and 3.4 are conditions of the licenses granted +in Section 2.1. + +3. Responsibilities +------------------- + +3.1. Distribution of Source Form + +All distribution of Covered Software in Source Code Form, including any +Modifications that You create or to which You contribute, must be under +the terms of this License. You must inform recipients that the Source +Code Form of the Covered Software is governed by the terms of this +License, and how they can obtain a copy of this License. You may not +attempt to alter or restrict the recipients' rights in the Source Code +Form. + +3.2. Distribution of Executable Form + +If You distribute Covered Software in Executable Form then: + +(a) such Covered Software must also be made available in Source Code + Form, as described in Section 3.1, and You must inform recipients of + the Executable Form how they can obtain a copy of such Source Code + Form by reasonable means in a timely manner, at a charge no more + than the cost of distribution to the recipient; and + +(b) You may distribute such Executable Form under the terms of this + License, or sublicense it under different terms, provided that the + license for the Executable Form does not attempt to limit or alter + the recipients' rights in the Source Code Form under this License. + +3.3. Distribution of a Larger Work + +You may create and distribute a Larger Work under terms of Your choice, +provided that You also comply with the requirements of this License for +the Covered Software. If the Larger Work is a combination of Covered +Software with a work governed by one or more Secondary Licenses, and the +Covered Software is not Incompatible With Secondary Licenses, this +License permits You to additionally distribute such Covered Software +under the terms of such Secondary License(s), so that the recipient of +the Larger Work may, at their option, further distribute the Covered +Software under the terms of either this License or such Secondary +License(s). + +3.4. Notices + +You may not remove or alter the substance of any license notices +(including copyright notices, patent notices, disclaimers of warranty, +or limitations of liability) contained within the Source Code Form of +the Covered Software, except that You may alter any license notices to +the extent required to remedy known factual inaccuracies. + +3.5. Application of Additional Terms + +You may choose to offer, and to charge a fee for, warranty, support, +indemnity or liability obligations to one or more recipients of Covered +Software. However, You may do so only on Your own behalf, and not on +behalf of any Contributor. You must make it absolutely clear that any +such warranty, support, indemnity, or liability obligation is offered by +You alone, and You hereby agree to indemnify every Contributor for any +liability incurred by such Contributor as a result of warranty, support, +indemnity or liability terms You offer. You may include additional +disclaimers of warranty and limitations of liability specific to any +jurisdiction. + +4. Inability to Comply Due to Statute or Regulation +--------------------------------------------------- + +If it is impossible for You to comply with any of the terms of this +License with respect to some or all of the Covered Software due to +statute, judicial order, or regulation then You must: (a) comply with +the terms of this License to the maximum extent possible; and (b) +describe the limitations and the code they affect. Such description must +be placed in a text file included with all distributions of the Covered +Software under this License. Except to the extent prohibited by statute +or regulation, such description must be sufficiently detailed for a +recipient of ordinary skill to be able to understand it. + +5. Termination +-------------- + +5.1. The rights granted under this License will terminate automatically +if You fail to comply with any of its terms. However, if You become +compliant, then the rights granted under this License from a particular +Contributor are reinstated (a) provisionally, unless and until such +Contributor explicitly and finally terminates Your grants, and (b) on an +ongoing basis, if such Contributor fails to notify You of the +non-compliance by some reasonable means prior to 60 days after You have +come back into compliance. Moreover, Your grants from a particular +Contributor are reinstated on an ongoing basis if such Contributor +notifies You of the non-compliance by some reasonable means, this is the +first time You have received notice of non-compliance with this License +from such Contributor, and You become compliant prior to 30 days after +Your receipt of the notice. + +5.2. If You initiate litigation against any entity by asserting a patent +infringement claim (excluding declaratory judgment actions, +counter-claims, and cross-claims) alleging that a Contributor Version +directly or indirectly infringes any patent, then the rights granted to +You by any and all Contributors for the Covered Software under Section +2.1 of this License shall terminate. + +5.3. In the event of termination under Sections 5.1 or 5.2 above, all +end user license agreements (excluding distributors and resellers) which +have been validly granted by You or Your distributors under this License +prior to termination shall survive termination. + +************************************************************************ +* * +* 6. Disclaimer of Warranty * +* ------------------------- * +* * +* Covered Software is provided under this License on an "as is" * +* basis, without warranty of any kind, either expressed, implied, or * +* statutory, including, without limitation, warranties that the * +* Covered Software is free of defects, merchantable, fit for a * +* particular purpose or non-infringing. The entire risk as to the * +* quality and performance of the Covered Software is with You. * +* Should any Covered Software prove defective in any respect, You * +* (not any Contributor) assume the cost of any necessary servicing, * +* repair, or correction. This disclaimer of warranty constitutes an * +* essential part of this License. No use of any Covered Software is * +* authorized under this License except under this disclaimer. * +* * +************************************************************************ + +************************************************************************ +* * +* 7. Limitation of Liability * +* -------------------------- * +* * +* Under no circumstances and under no legal theory, whether tort * +* (including negligence), contract, or otherwise, shall any * +* Contributor, or anyone who distributes Covered Software as * +* permitted above, be liable to You for any direct, indirect, * +* special, incidental, or consequential damages of any character * +* including, without limitation, damages for lost profits, loss of * +* goodwill, work stoppage, computer failure or malfunction, or any * +* and all other commercial damages or losses, even if such party * +* shall have been informed of the possibility of such damages. This * +* limitation of liability shall not apply to liability for death or * +* personal injury resulting from such party's negligence to the * +* extent applicable law prohibits such limitation. Some * +* jurisdictions do not allow the exclusion or limitation of * +* incidental or consequential damages, so this exclusion and * +* limitation may not apply to You. * +* * +************************************************************************ + +8. Litigation +------------- + +Any litigation relating to this License may be brought only in the +courts of a jurisdiction where the defendant maintains its principal +place of business and such litigation shall be governed by laws of that +jurisdiction, without reference to its conflict-of-law provisions. +Nothing in this Section shall prevent a party's ability to bring +cross-claims or counter-claims. + +9. Miscellaneous +---------------- + +This License represents the complete agreement concerning the subject +matter hereof. If any provision of this License is held to be +unenforceable, such provision shall be reformed only to the extent +necessary to make it enforceable. Any law or regulation which provides +that the language of a contract shall be construed against the drafter +shall not be used to construe this License against a Contributor. + +10. Versions of the License +--------------------------- + +10.1. New Versions + +Mozilla Foundation is the license steward. Except as provided in Section +10.3, no one other than the license steward has the right to modify or +publish new versions of this License. Each version will be given a +distinguishing version number. + +10.2. Effect of New Versions + +You may distribute the Covered Software under the terms of the version +of the License under which You originally received the Covered Software, +or under the terms of any subsequent version published by the license +steward. + +10.3. Modified Versions + +If you create software not governed by this License, and you want to +create a new license for such software, you may create and use a +modified version of this License if you rename the license and remove +any references to the name of the license steward (except to note that +such modified license differs from this License). + +10.4. Distributing Source Code Form that is Incompatible With Secondary +Licenses + +If You choose to distribute Source Code Form that is Incompatible With +Secondary Licenses under the terms of this version of the License, the +notice described in Exhibit B of this License must be attached. + +Exhibit A - Source Code Form License Notice +------------------------------------------- + + This Source Code Form is subject to the terms of the Mozilla Public + License, v. 2.0. If a copy of the MPL was not distributed with this + file, You can obtain one at http://mozilla.org/MPL/2.0/. + +If it is not possible or desirable to put the notice in a particular +file, then You may include the notice in a location (such as a LICENSE +file in a relevant directory) where a recipient would be likely to look +for such a notice. + +You may add additional accurate notices of copyright ownership. + +Exhibit B - "Incompatible With Secondary Licenses" Notice +--------------------------------------------------------- + + This Source Code Form is "Incompatible With Secondary Licenses", as + defined by the Mozilla Public License, v. 2.0. diff --git a/vendor/github.com/go-sql-driver/mysql/README.md b/vendor/github.com/go-sql-driver/mysql/README.md new file mode 100644 index 000000000..b5882e6c8 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/README.md @@ -0,0 +1,467 @@ +# Go-MySQL-Driver + +A MySQL-Driver for Go's [database/sql](https://golang.org/pkg/database/sql/) package + +![Go-MySQL-Driver logo](https://raw.github.com/wiki/go-sql-driver/mysql/gomysql_m.png "Golang Gopher holding the MySQL Dolphin") + +--------------------------------------- + * [Features](#features) + * [Requirements](#requirements) + * [Installation](#installation) + * [Usage](#usage) + * [DSN (Data Source Name)](#dsn-data-source-name) + * [Password](#password) + * [Protocol](#protocol) + * [Address](#address) + * [Parameters](#parameters) + * [Examples](#examples) + * [Connection pool and timeouts](#connection-pool-and-timeouts) + * [LOAD DATA LOCAL INFILE support](#load-data-local-infile-support) + * [time.Time support](#timetime-support) + * [Unicode support](#unicode-support) + * [context.Context Support](#contextcontext-support) + * [Testing / Development](#testing--development) + * [License](#license) + +--------------------------------------- + +## Features + * Lightweight and [fast](https://github.com/go-sql-driver/sql-benchmark "golang MySQL-Driver performance") + * Native Go implementation. No C-bindings, just pure Go + * Connections over TCP/IPv4, TCP/IPv6, Unix domain sockets or [custom protocols](https://godoc.org/github.com/go-sql-driver/mysql#DialFunc) + * Automatic handling of broken connections + * Automatic Connection Pooling *(by database/sql package)* + * Supports queries larger than 16MB + * Full [`sql.RawBytes`](https://golang.org/pkg/database/sql/#RawBytes) support. + * Intelligent `LONG DATA` handling in prepared statements + * Secure `LOAD DATA LOCAL INFILE` support with file Whitelisting and `io.Reader` support + * Optional `time.Time` parsing + * Optional placeholder interpolation + +## Requirements + * Go 1.5 or higher + * MySQL (4.1+), MariaDB, Percona Server, Google CloudSQL or Sphinx (2.2.3+) + +--------------------------------------- + +## Installation +Simple install the package to your [$GOPATH](https://github.com/golang/go/wiki/GOPATH "GOPATH") with the [go tool](https://golang.org/cmd/go/ "go command") from shell: +```bash +$ go get -u github.com/go-sql-driver/mysql +``` +Make sure [Git is installed](https://git-scm.com/downloads) on your machine and in your system's `PATH`. + +## Usage +_Go MySQL Driver_ is an implementation of Go's `database/sql/driver` interface. You only need to import the driver and can use the full [`database/sql`](https://golang.org/pkg/database/sql/) API then. + +Use `mysql` as `driverName` and a valid [DSN](#dsn-data-source-name) as `dataSourceName`: +```go +import "database/sql" +import _ "github.com/go-sql-driver/mysql" + +db, err := sql.Open("mysql", "user:password@/dbname") +``` + +[Examples are available in our Wiki](https://github.com/go-sql-driver/mysql/wiki/Examples "Go-MySQL-Driver Examples"). + + +### DSN (Data Source Name) + +The Data Source Name has a common format, like e.g. [PEAR DB](http://pear.php.net/manual/en/package.database.db.intro-dsn.php) uses it, but without type-prefix (optional parts marked by squared brackets): +``` +[username[:password]@][protocol[(address)]]/dbname[?param1=value1&...¶mN=valueN] +``` + +A DSN in its fullest form: +``` +username:password@protocol(address)/dbname?param=value +``` + +Except for the databasename, all values are optional. So the minimal DSN is: +``` +/dbname +``` + +If you do not want to preselect a database, leave `dbname` empty: +``` +/ +``` +This has the same effect as an empty DSN string: +``` + +``` + +Alternatively, [Config.FormatDSN](https://godoc.org/github.com/go-sql-driver/mysql#Config.FormatDSN) can be used to create a DSN string by filling a struct. + +#### Password +Passwords can consist of any character. Escaping is **not** necessary. + +#### Protocol +See [net.Dial](https://golang.org/pkg/net/#Dial) for more information which networks are available. +In general you should use an Unix domain socket if available and TCP otherwise for best performance. + +#### Address +For TCP and UDP networks, addresses have the form `host[:port]`. +If `port` is omitted, the default port will be used. +If `host` is a literal IPv6 address, it must be enclosed in square brackets. +The functions [net.JoinHostPort](https://golang.org/pkg/net/#JoinHostPort) and [net.SplitHostPort](https://golang.org/pkg/net/#SplitHostPort) manipulate addresses in this form. + +For Unix domain sockets the address is the absolute path to the MySQL-Server-socket, e.g. `/var/run/mysqld/mysqld.sock` or `/tmp/mysql.sock`. + +#### Parameters +*Parameters are case-sensitive!* + +Notice that any of `true`, `TRUE`, `True` or `1` is accepted to stand for a true boolean value. Not surprisingly, false can be specified as any of: `false`, `FALSE`, `False` or `0`. + +##### `allowAllFiles` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + +`allowAllFiles=true` disables the file Whitelist for `LOAD DATA LOCAL INFILE` and allows *all* files. +[*Might be insecure!*](http://dev.mysql.com/doc/refman/5.7/en/load-data-local.html) + +##### `allowCleartextPasswords` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + +`allowCleartextPasswords=true` allows using the [cleartext client side plugin](http://dev.mysql.com/doc/en/cleartext-authentication-plugin.html) if required by an account, such as one defined with the [PAM authentication plugin](http://dev.mysql.com/doc/en/pam-authentication-plugin.html). Sending passwords in clear text may be a security problem in some configurations. To avoid problems if there is any possibility that the password would be intercepted, clients should connect to MySQL Server using a method that protects the password. Possibilities include [TLS / SSL](#tls), IPsec, or a private network. + +##### `allowNativePasswords` + +``` +Type: bool +Valid Values: true, false +Default: true +``` +`allowNativePasswords=false` disallows the usage of MySQL native password method. + +##### `allowOldPasswords` + +``` +Type: bool +Valid Values: true, false +Default: false +``` +`allowOldPasswords=true` allows the usage of the insecure old password method. This should be avoided, but is necessary in some cases. See also [the old_passwords wiki page](https://github.com/go-sql-driver/mysql/wiki/old_passwords). + +##### `charset` + +``` +Type: string +Valid Values: +Default: none +``` + +Sets the charset used for client-server interaction (`"SET NAMES "`). If multiple charsets are set (separated by a comma), the following charset is used if setting the charset failes. This enables for example support for `utf8mb4` ([introduced in MySQL 5.5.3](http://dev.mysql.com/doc/refman/5.5/en/charset-unicode-utf8mb4.html)) with fallback to `utf8` for older servers (`charset=utf8mb4,utf8`). + +Usage of the `charset` parameter is discouraged because it issues additional queries to the server. +Unless you need the fallback behavior, please use `collation` instead. + +##### `collation` + +``` +Type: string +Valid Values: +Default: utf8_general_ci +``` + +Sets the collation used for client-server interaction on connection. In contrast to `charset`, `collation` does not issue additional queries. If the specified collation is unavailable on the target server, the connection will fail. + +A list of valid charsets for a server is retrievable with `SHOW COLLATION`. + +##### `clientFoundRows` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + +`clientFoundRows=true` causes an UPDATE to return the number of matching rows instead of the number of rows changed. + +##### `columnsWithAlias` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + +When `columnsWithAlias` is true, calls to `sql.Rows.Columns()` will return the table alias and the column name separated by a dot. For example: + +``` +SELECT u.id FROM users as u +``` + +will return `u.id` instead of just `id` if `columnsWithAlias=true`. + +##### `interpolateParams` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + +If `interpolateParams` is true, placeholders (`?`) in calls to `db.Query()` and `db.Exec()` are interpolated into a single query string with given parameters. This reduces the number of roundtrips, since the driver has to prepare a statement, execute it with given parameters and close the statement again with `interpolateParams=false`. + +*This can not be used together with the multibyte encodings BIG5, CP932, GB2312, GBK or SJIS. These are blacklisted as they may [introduce a SQL injection vulnerability](http://stackoverflow.com/a/12118602/3430118)!* + +##### `loc` + +``` +Type: string +Valid Values: +Default: UTC +``` + +Sets the location for time.Time values (when using `parseTime=true`). *"Local"* sets the system's location. See [time.LoadLocation](https://golang.org/pkg/time/#LoadLocation) for details. + +Note that this sets the location for time.Time values but does not change MySQL's [time_zone setting](https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html). For that see the [time_zone system variable](#system-variables), which can also be set as a DSN parameter. + +Please keep in mind, that param values must be [url.QueryEscape](https://golang.org/pkg/net/url/#QueryEscape)'ed. Alternatively you can manually replace the `/` with `%2F`. For example `US/Pacific` would be `loc=US%2FPacific`. + +##### `maxAllowedPacket` +``` +Type: decimal number +Default: 0 +``` + +Max packet size allowed in bytes. Use `maxAllowedPacket=0` to automatically fetch the `max_allowed_packet` variable from server. + +##### `multiStatements` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + +Allow multiple statements in one query. While this allows batch queries, it also greatly increases the risk of SQL injections. Only the result of the first query is returned, all other results are silently discarded. + +When `multiStatements` is used, `?` parameters must only be used in the first statement. + +##### `parseTime` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + +`parseTime=true` changes the output type of `DATE` and `DATETIME` values to `time.Time` instead of `[]byte` / `string` + + +##### `readTimeout` + +``` +Type: duration +Default: 0 +``` + +I/O read timeout. The value must be a decimal number with a unit suffix (*"ms"*, *"s"*, *"m"*, *"h"*), such as *"30s"*, *"0.5m"* or *"1m30s"*. + +##### `rejectReadOnly` + +``` +Type: bool +Valid Values: true, false +Default: false +``` + + +`rejectreadOnly=true` causes the driver to reject read-only connections. This +is for a possible race condition during an automatic failover, where the mysql +client gets connected to a read-only replica after the failover. + +Note that this should be a fairly rare case, as an automatic failover normally +happens when the primary is down, and the race condition shouldn't happen +unless it comes back up online as soon as the failover is kicked off. On the +other hand, when this happens, a MySQL application can get stuck on a +read-only connection until restarted. It is however fairly easy to reproduce, +for example, using a manual failover on AWS Aurora's MySQL-compatible cluster. + +If you are not relying on read-only transactions to reject writes that aren't +supposed to happen, setting this on some MySQL providers (such as AWS Aurora) +is safer for failovers. + + +##### `timeout` + +``` +Type: duration +Default: OS default +``` + +Timeout for establishing connections, aka dial timeout. The value must be a decimal number with a unit suffix (*"ms"*, *"s"*, *"m"*, *"h"*), such as *"30s"*, *"0.5m"* or *"1m30s"*. + + +##### `tls` + +``` +Type: bool / string +Valid Values: true, false, skip-verify, +Default: false +``` + +`tls=true` enables TLS / SSL encrypted connection to the server. Use `skip-verify` if you want to use a self-signed or invalid certificate (server side). Use a custom value registered with [`mysql.RegisterTLSConfig`](https://godoc.org/github.com/go-sql-driver/mysql#RegisterTLSConfig). + + +##### `writeTimeout` + +``` +Type: duration +Default: 0 +``` + +I/O write timeout. The value must be a decimal number with a unit suffix (*"ms"*, *"s"*, *"m"*, *"h"*), such as *"30s"*, *"0.5m"* or *"1m30s"*. + + +##### System Variables + +Any other parameters are interpreted as system variables: + * `=`: `SET =` + * `=`: `SET =` + * `=%27%27`: `SET =''` + +Rules: +* The values for string variables must be quoted with `'`. +* The values must also be [url.QueryEscape](http://golang.org/pkg/net/url/#QueryEscape)'ed! + (which implies values of string variables must be wrapped with `%27`). + +Examples: + * `autocommit=1`: `SET autocommit=1` + * [`time_zone=%27Europe%2FParis%27`](https://dev.mysql.com/doc/refman/5.5/en/time-zone-support.html): `SET time_zone='Europe/Paris'` + * [`tx_isolation=%27REPEATABLE-READ%27`](https://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_tx_isolation): `SET tx_isolation='REPEATABLE-READ'` + + +#### Examples +``` +user@unix(/path/to/socket)/dbname +``` + +``` +root:pw@unix(/tmp/mysql.sock)/myDatabase?loc=Local +``` + +``` +user:password@tcp(localhost:5555)/dbname?tls=skip-verify&autocommit=true +``` + +Treat warnings as errors by setting the system variable [`sql_mode`](https://dev.mysql.com/doc/refman/5.7/en/sql-mode.html): +``` +user:password@/dbname?sql_mode=TRADITIONAL +``` + +TCP via IPv6: +``` +user:password@tcp([de:ad:be:ef::ca:fe]:80)/dbname?timeout=90s&collation=utf8mb4_unicode_ci +``` + +TCP on a remote host, e.g. Amazon RDS: +``` +id:password@tcp(your-amazonaws-uri.com:3306)/dbname +``` + +Google Cloud SQL on App Engine (First Generation MySQL Server): +``` +user@cloudsql(project-id:instance-name)/dbname +``` + +Google Cloud SQL on App Engine (Second Generation MySQL Server): +``` +user@cloudsql(project-id:regionname:instance-name)/dbname +``` + +TCP using default port (3306) on localhost: +``` +user:password@tcp/dbname?charset=utf8mb4,utf8&sys_var=esc%40ped +``` + +Use the default protocol (tcp) and host (localhost:3306): +``` +user:password@/dbname +``` + +No Database preselected: +``` +user:password@/ +``` + + +### Connection pool and timeouts +The connection pool is managed by Go's database/sql package. For details on how to configure the size of the pool and how long connections stay in the pool see `*DB.SetMaxOpenConns`, `*DB.SetMaxIdleConns`, and `*DB.SetConnMaxLifetime` in the [database/sql documentation](https://golang.org/pkg/database/sql/). The read, write, and dial timeouts for each individual connection are configured with the DSN parameters [`readTimeout`](#readtimeout), [`writeTimeout`](#writetimeout), and [`timeout`](#timeout), respectively. + + +### `LOAD DATA LOCAL INFILE` support +For this feature you need direct access to the package. Therefore you must change the import path (no `_`): +```go +import "github.com/go-sql-driver/mysql" +``` + +Files must be whitelisted by registering them with `mysql.RegisterLocalFile(filepath)` (recommended) or the Whitelist check must be deactivated by using the DSN parameter `allowAllFiles=true` ([*Might be insecure!*](http://dev.mysql.com/doc/refman/5.7/en/load-data-local.html)). + +To use a `io.Reader` a handler function must be registered with `mysql.RegisterReaderHandler(name, handler)` which returns a `io.Reader` or `io.ReadCloser`. The Reader is available with the filepath `Reader::` then. Choose different names for different handlers and `DeregisterReaderHandler` when you don't need it anymore. + +See the [godoc of Go-MySQL-Driver](https://godoc.org/github.com/go-sql-driver/mysql "golang mysql driver documentation") for details. + + +### `time.Time` support +The default internal output type of MySQL `DATE` and `DATETIME` values is `[]byte` which allows you to scan the value into a `[]byte`, `string` or `sql.RawBytes` variable in your program. + +However, many want to scan MySQL `DATE` and `DATETIME` values into `time.Time` variables, which is the logical opposite in Go to `DATE` and `DATETIME` in MySQL. You can do that by changing the internal output type from `[]byte` to `time.Time` with the DSN parameter `parseTime=true`. You can set the default [`time.Time` location](https://golang.org/pkg/time/#Location) with the `loc` DSN parameter. + +**Caution:** As of Go 1.1, this makes `time.Time` the only variable type you can scan `DATE` and `DATETIME` values into. This breaks for example [`sql.RawBytes` support](https://github.com/go-sql-driver/mysql/wiki/Examples#rawbytes). + +Alternatively you can use the [`NullTime`](https://godoc.org/github.com/go-sql-driver/mysql#NullTime) type as the scan destination, which works with both `time.Time` and `string` / `[]byte`. + + +### Unicode support +Since version 1.1 Go-MySQL-Driver automatically uses the collation `utf8_general_ci` by default. + +Other collations / charsets can be set using the [`collation`](#collation) DSN parameter. + +Version 1.0 of the driver recommended adding `&charset=utf8` (alias for `SET NAMES utf8`) to the DSN to enable proper UTF-8 support. This is not necessary anymore. The [`collation`](#collation) parameter should be preferred to set another collation / charset than the default. + +See http://dev.mysql.com/doc/refman/5.7/en/charset-unicode.html for more details on MySQL's Unicode support. + +## `context.Context` Support +Go 1.8 added `database/sql` support for `context.Context`. This driver supports query timeouts and cancellation via contexts. +See [context support in the database/sql package](https://golang.org/doc/go1.8#database_sql) for more details. + +## Testing / Development +To run the driver tests you may need to adjust the configuration. See the [Testing Wiki-Page](https://github.com/go-sql-driver/mysql/wiki/Testing "Testing") for details. + +Go-MySQL-Driver is not feature-complete yet. Your help is very appreciated. +If you want to contribute, you can work on an [open issue](https://github.com/go-sql-driver/mysql/issues?state=open) or review a [pull request](https://github.com/go-sql-driver/mysql/pulls). + +See the [Contribution Guidelines](https://github.com/go-sql-driver/mysql/blob/master/CONTRIBUTING.md) for details. + +--------------------------------------- + +## License +Go-MySQL-Driver is licensed under the [Mozilla Public License Version 2.0](https://raw.github.com/go-sql-driver/mysql/master/LICENSE) + +Mozilla summarizes the license scope as follows: +> MPL: The copyleft applies to any files containing MPLed code. + + +That means: + * You can **use** the **unchanged** source code both in private and commercially. + * When distributing, you **must publish** the source code of any **changed files** licensed under the MPL 2.0 under a) the MPL 2.0 itself or b) a compatible license (e.g. GPL 3.0 or Apache License 2.0). + * You **needn't publish** the source code of your library as long as the files licensed under the MPL 2.0 are **unchanged**. + +Please read the [MPL 2.0 FAQ](https://www.mozilla.org/en-US/MPL/2.0/FAQ/) if you have further questions regarding the license. + +You can read the full terms here: [LICENSE](https://raw.github.com/go-sql-driver/mysql/master/LICENSE). + +![Go Gopher and MySQL Dolphin](https://raw.github.com/wiki/go-sql-driver/mysql/go-mysql-driver_m.jpg "Golang Gopher transporting the MySQL Dolphin in a wheelbarrow") + diff --git a/vendor/github.com/go-sql-driver/mysql/appengine.go b/vendor/github.com/go-sql-driver/mysql/appengine.go new file mode 100644 index 000000000..565614eef --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/appengine.go @@ -0,0 +1,19 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build appengine + +package mysql + +import ( + "appengine/cloudsql" +) + +func init() { + RegisterDial("cloudsql", cloudsql.Dial) +} diff --git a/vendor/github.com/go-sql-driver/mysql/buffer.go b/vendor/github.com/go-sql-driver/mysql/buffer.go new file mode 100644 index 000000000..2001feacd --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/buffer.go @@ -0,0 +1,147 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "io" + "net" + "time" +) + +const defaultBufSize = 4096 + +// A buffer which is used for both reading and writing. +// This is possible since communication on each connection is synchronous. +// In other words, we can't write and read simultaneously on the same connection. +// The buffer is similar to bufio.Reader / Writer but zero-copy-ish +// Also highly optimized for this particular use case. +type buffer struct { + buf []byte + nc net.Conn + idx int + length int + timeout time.Duration +} + +func newBuffer(nc net.Conn) buffer { + var b [defaultBufSize]byte + return buffer{ + buf: b[:], + nc: nc, + } +} + +// fill reads into the buffer until at least _need_ bytes are in it +func (b *buffer) fill(need int) error { + n := b.length + + // move existing data to the beginning + if n > 0 && b.idx > 0 { + copy(b.buf[0:n], b.buf[b.idx:]) + } + + // grow buffer if necessary + // TODO: let the buffer shrink again at some point + // Maybe keep the org buf slice and swap back? + if need > len(b.buf) { + // Round up to the next multiple of the default size + newBuf := make([]byte, ((need/defaultBufSize)+1)*defaultBufSize) + copy(newBuf, b.buf) + b.buf = newBuf + } + + b.idx = 0 + + for { + if b.timeout > 0 { + if err := b.nc.SetReadDeadline(time.Now().Add(b.timeout)); err != nil { + return err + } + } + + nn, err := b.nc.Read(b.buf[n:]) + n += nn + + switch err { + case nil: + if n < need { + continue + } + b.length = n + return nil + + case io.EOF: + if n >= need { + b.length = n + return nil + } + return io.ErrUnexpectedEOF + + default: + return err + } + } +} + +// returns next N bytes from buffer. +// The returned slice is only guaranteed to be valid until the next read +func (b *buffer) readNext(need int) ([]byte, error) { + if b.length < need { + // refill + if err := b.fill(need); err != nil { + return nil, err + } + } + + offset := b.idx + b.idx += need + b.length -= need + return b.buf[offset:b.idx], nil +} + +// returns a buffer with the requested size. +// If possible, a slice from the existing buffer is returned. +// Otherwise a bigger buffer is made. +// Only one buffer (total) can be used at a time. +func (b *buffer) takeBuffer(length int) []byte { + if b.length > 0 { + return nil + } + + // test (cheap) general case first + if length <= defaultBufSize || length <= cap(b.buf) { + return b.buf[:length] + } + + if length < maxPacketSize { + b.buf = make([]byte, length) + return b.buf + } + return make([]byte, length) +} + +// shortcut which can be used if the requested buffer is guaranteed to be +// smaller than defaultBufSize +// Only one buffer (total) can be used at a time. +func (b *buffer) takeSmallBuffer(length int) []byte { + if b.length == 0 { + return b.buf[:length] + } + return nil +} + +// takeCompleteBuffer returns the complete existing buffer. +// This can be used if the necessary buffer size is unknown. +// Only one buffer (total) can be used at a time. +func (b *buffer) takeCompleteBuffer() []byte { + if b.length == 0 { + return b.buf + } + return nil +} diff --git a/vendor/github.com/go-sql-driver/mysql/collations.go b/vendor/github.com/go-sql-driver/mysql/collations.go new file mode 100644 index 000000000..82079cfb9 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/collations.go @@ -0,0 +1,250 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2014 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +const defaultCollation = "utf8_general_ci" + +// A list of available collations mapped to the internal ID. +// To update this map use the following MySQL query: +// SELECT COLLATION_NAME, ID FROM information_schema.COLLATIONS +var collations = map[string]byte{ + "big5_chinese_ci": 1, + "latin2_czech_cs": 2, + "dec8_swedish_ci": 3, + "cp850_general_ci": 4, + "latin1_german1_ci": 5, + "hp8_english_ci": 6, + "koi8r_general_ci": 7, + "latin1_swedish_ci": 8, + "latin2_general_ci": 9, + "swe7_swedish_ci": 10, + "ascii_general_ci": 11, + "ujis_japanese_ci": 12, + "sjis_japanese_ci": 13, + "cp1251_bulgarian_ci": 14, + "latin1_danish_ci": 15, + "hebrew_general_ci": 16, + "tis620_thai_ci": 18, + "euckr_korean_ci": 19, + "latin7_estonian_cs": 20, + "latin2_hungarian_ci": 21, + "koi8u_general_ci": 22, + "cp1251_ukrainian_ci": 23, + "gb2312_chinese_ci": 24, + "greek_general_ci": 25, + "cp1250_general_ci": 26, + "latin2_croatian_ci": 27, + "gbk_chinese_ci": 28, + "cp1257_lithuanian_ci": 29, + "latin5_turkish_ci": 30, + "latin1_german2_ci": 31, + "armscii8_general_ci": 32, + "utf8_general_ci": 33, + "cp1250_czech_cs": 34, + "ucs2_general_ci": 35, + "cp866_general_ci": 36, + "keybcs2_general_ci": 37, + "macce_general_ci": 38, + "macroman_general_ci": 39, + "cp852_general_ci": 40, + "latin7_general_ci": 41, + "latin7_general_cs": 42, + "macce_bin": 43, + "cp1250_croatian_ci": 44, + "utf8mb4_general_ci": 45, + "utf8mb4_bin": 46, + "latin1_bin": 47, + "latin1_general_ci": 48, + "latin1_general_cs": 49, + "cp1251_bin": 50, + "cp1251_general_ci": 51, + "cp1251_general_cs": 52, + "macroman_bin": 53, + "utf16_general_ci": 54, + "utf16_bin": 55, + "utf16le_general_ci": 56, + "cp1256_general_ci": 57, + "cp1257_bin": 58, + "cp1257_general_ci": 59, + "utf32_general_ci": 60, + "utf32_bin": 61, + "utf16le_bin": 62, + "binary": 63, + "armscii8_bin": 64, + "ascii_bin": 65, + "cp1250_bin": 66, + "cp1256_bin": 67, + "cp866_bin": 68, + "dec8_bin": 69, + "greek_bin": 70, + "hebrew_bin": 71, + "hp8_bin": 72, + "keybcs2_bin": 73, + "koi8r_bin": 74, + "koi8u_bin": 75, + "latin2_bin": 77, + "latin5_bin": 78, + "latin7_bin": 79, + "cp850_bin": 80, + "cp852_bin": 81, + "swe7_bin": 82, + "utf8_bin": 83, + "big5_bin": 84, + "euckr_bin": 85, + "gb2312_bin": 86, + "gbk_bin": 87, + "sjis_bin": 88, + "tis620_bin": 89, + "ucs2_bin": 90, + "ujis_bin": 91, + "geostd8_general_ci": 92, + "geostd8_bin": 93, + "latin1_spanish_ci": 94, + "cp932_japanese_ci": 95, + "cp932_bin": 96, + "eucjpms_japanese_ci": 97, + "eucjpms_bin": 98, + "cp1250_polish_ci": 99, + "utf16_unicode_ci": 101, + "utf16_icelandic_ci": 102, + "utf16_latvian_ci": 103, + "utf16_romanian_ci": 104, + "utf16_slovenian_ci": 105, + "utf16_polish_ci": 106, + "utf16_estonian_ci": 107, + "utf16_spanish_ci": 108, + "utf16_swedish_ci": 109, + "utf16_turkish_ci": 110, + "utf16_czech_ci": 111, + "utf16_danish_ci": 112, + "utf16_lithuanian_ci": 113, + "utf16_slovak_ci": 114, + "utf16_spanish2_ci": 115, + "utf16_roman_ci": 116, + "utf16_persian_ci": 117, + "utf16_esperanto_ci": 118, + "utf16_hungarian_ci": 119, + "utf16_sinhala_ci": 120, + "utf16_german2_ci": 121, + "utf16_croatian_ci": 122, + "utf16_unicode_520_ci": 123, + "utf16_vietnamese_ci": 124, + "ucs2_unicode_ci": 128, + "ucs2_icelandic_ci": 129, + "ucs2_latvian_ci": 130, + "ucs2_romanian_ci": 131, + "ucs2_slovenian_ci": 132, + "ucs2_polish_ci": 133, + "ucs2_estonian_ci": 134, + "ucs2_spanish_ci": 135, + "ucs2_swedish_ci": 136, + "ucs2_turkish_ci": 137, + "ucs2_czech_ci": 138, + "ucs2_danish_ci": 139, + "ucs2_lithuanian_ci": 140, + "ucs2_slovak_ci": 141, + "ucs2_spanish2_ci": 142, + "ucs2_roman_ci": 143, + "ucs2_persian_ci": 144, + "ucs2_esperanto_ci": 145, + "ucs2_hungarian_ci": 146, + "ucs2_sinhala_ci": 147, + "ucs2_german2_ci": 148, + "ucs2_croatian_ci": 149, + "ucs2_unicode_520_ci": 150, + "ucs2_vietnamese_ci": 151, + "ucs2_general_mysql500_ci": 159, + "utf32_unicode_ci": 160, + "utf32_icelandic_ci": 161, + "utf32_latvian_ci": 162, + "utf32_romanian_ci": 163, + "utf32_slovenian_ci": 164, + "utf32_polish_ci": 165, + "utf32_estonian_ci": 166, + "utf32_spanish_ci": 167, + "utf32_swedish_ci": 168, + "utf32_turkish_ci": 169, + "utf32_czech_ci": 170, + "utf32_danish_ci": 171, + "utf32_lithuanian_ci": 172, + "utf32_slovak_ci": 173, + "utf32_spanish2_ci": 174, + "utf32_roman_ci": 175, + "utf32_persian_ci": 176, + "utf32_esperanto_ci": 177, + "utf32_hungarian_ci": 178, + "utf32_sinhala_ci": 179, + "utf32_german2_ci": 180, + "utf32_croatian_ci": 181, + "utf32_unicode_520_ci": 182, + "utf32_vietnamese_ci": 183, + "utf8_unicode_ci": 192, + "utf8_icelandic_ci": 193, + "utf8_latvian_ci": 194, + "utf8_romanian_ci": 195, + "utf8_slovenian_ci": 196, + "utf8_polish_ci": 197, + "utf8_estonian_ci": 198, + "utf8_spanish_ci": 199, + "utf8_swedish_ci": 200, + "utf8_turkish_ci": 201, + "utf8_czech_ci": 202, + "utf8_danish_ci": 203, + "utf8_lithuanian_ci": 204, + "utf8_slovak_ci": 205, + "utf8_spanish2_ci": 206, + "utf8_roman_ci": 207, + "utf8_persian_ci": 208, + "utf8_esperanto_ci": 209, + "utf8_hungarian_ci": 210, + "utf8_sinhala_ci": 211, + "utf8_german2_ci": 212, + "utf8_croatian_ci": 213, + "utf8_unicode_520_ci": 214, + "utf8_vietnamese_ci": 215, + "utf8_general_mysql500_ci": 223, + "utf8mb4_unicode_ci": 224, + "utf8mb4_icelandic_ci": 225, + "utf8mb4_latvian_ci": 226, + "utf8mb4_romanian_ci": 227, + "utf8mb4_slovenian_ci": 228, + "utf8mb4_polish_ci": 229, + "utf8mb4_estonian_ci": 230, + "utf8mb4_spanish_ci": 231, + "utf8mb4_swedish_ci": 232, + "utf8mb4_turkish_ci": 233, + "utf8mb4_czech_ci": 234, + "utf8mb4_danish_ci": 235, + "utf8mb4_lithuanian_ci": 236, + "utf8mb4_slovak_ci": 237, + "utf8mb4_spanish2_ci": 238, + "utf8mb4_roman_ci": 239, + "utf8mb4_persian_ci": 240, + "utf8mb4_esperanto_ci": 241, + "utf8mb4_hungarian_ci": 242, + "utf8mb4_sinhala_ci": 243, + "utf8mb4_german2_ci": 244, + "utf8mb4_croatian_ci": 245, + "utf8mb4_unicode_520_ci": 246, + "utf8mb4_vietnamese_ci": 247, +} + +// A blacklist of collations which is unsafe to interpolate parameters. +// These multibyte encodings may contains 0x5c (`\`) in their trailing bytes. +var unsafeCollations = map[string]bool{ + "big5_chinese_ci": true, + "sjis_japanese_ci": true, + "gbk_chinese_ci": true, + "big5_bin": true, + "gb2312_bin": true, + "gbk_bin": true, + "sjis_bin": true, + "cp932_japanese_ci": true, + "cp932_bin": true, +} diff --git a/vendor/github.com/go-sql-driver/mysql/connection.go b/vendor/github.com/go-sql-driver/mysql/connection.go new file mode 100644 index 000000000..58ae29988 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/connection.go @@ -0,0 +1,460 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "database/sql/driver" + "io" + "net" + "strconv" + "strings" + "time" +) + +// a copy of context.Context for Go 1.7 and earlier +type mysqlContext interface { + Done() <-chan struct{} + Err() error + + // defined in context.Context, but not used in this driver: + // Deadline() (deadline time.Time, ok bool) + // Value(key interface{}) interface{} +} + +type mysqlConn struct { + buf buffer + netConn net.Conn + affectedRows uint64 + insertId uint64 + cfg *Config + maxAllowedPacket int + maxWriteSize int + writeTimeout time.Duration + flags clientFlag + status statusFlag + sequence uint8 + parseTime bool + + // for context support (Go 1.8+) + watching bool + watcher chan<- mysqlContext + closech chan struct{} + finished chan<- struct{} + canceled atomicError // set non-nil if conn is canceled + closed atomicBool // set when conn is closed, before closech is closed +} + +// Handles parameters set in DSN after the connection is established +func (mc *mysqlConn) handleParams() (err error) { + for param, val := range mc.cfg.Params { + switch param { + // Charset + case "charset": + charsets := strings.Split(val, ",") + for i := range charsets { + // ignore errors here - a charset may not exist + err = mc.exec("SET NAMES " + charsets[i]) + if err == nil { + break + } + } + if err != nil { + return + } + + // System Vars + default: + err = mc.exec("SET " + param + "=" + val + "") + if err != nil { + return + } + } + } + + return +} + +func (mc *mysqlConn) markBadConn(err error) error { + if mc == nil { + return err + } + if err != errBadConnNoWrite { + return err + } + return driver.ErrBadConn +} + +func (mc *mysqlConn) Begin() (driver.Tx, error) { + return mc.begin(false) +} + +func (mc *mysqlConn) begin(readOnly bool) (driver.Tx, error) { + if mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return nil, driver.ErrBadConn + } + var q string + if readOnly { + q = "START TRANSACTION READ ONLY" + } else { + q = "START TRANSACTION" + } + err := mc.exec(q) + if err == nil { + return &mysqlTx{mc}, err + } + return nil, mc.markBadConn(err) +} + +func (mc *mysqlConn) Close() (err error) { + // Makes Close idempotent + if !mc.closed.IsSet() { + err = mc.writeCommandPacket(comQuit) + } + + mc.cleanup() + + return +} + +// Closes the network connection and unsets internal variables. Do not call this +// function after successfully authentication, call Close instead. This function +// is called before auth or on auth failure because MySQL will have already +// closed the network connection. +func (mc *mysqlConn) cleanup() { + if !mc.closed.TrySet(true) { + return + } + + // Makes cleanup idempotent + close(mc.closech) + if mc.netConn == nil { + return + } + if err := mc.netConn.Close(); err != nil { + errLog.Print(err) + } +} + +func (mc *mysqlConn) error() error { + if mc.closed.IsSet() { + if err := mc.canceled.Value(); err != nil { + return err + } + return ErrInvalidConn + } + return nil +} + +func (mc *mysqlConn) Prepare(query string) (driver.Stmt, error) { + if mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return nil, driver.ErrBadConn + } + // Send command + err := mc.writeCommandPacketStr(comStmtPrepare, query) + if err != nil { + return nil, mc.markBadConn(err) + } + + stmt := &mysqlStmt{ + mc: mc, + } + + // Read Result + columnCount, err := stmt.readPrepareResultPacket() + if err == nil { + if stmt.paramCount > 0 { + if err = mc.readUntilEOF(); err != nil { + return nil, err + } + } + + if columnCount > 0 { + err = mc.readUntilEOF() + } + } + + return stmt, err +} + +func (mc *mysqlConn) interpolateParams(query string, args []driver.Value) (string, error) { + // Number of ? should be same to len(args) + if strings.Count(query, "?") != len(args) { + return "", driver.ErrSkip + } + + buf := mc.buf.takeCompleteBuffer() + if buf == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return "", ErrInvalidConn + } + buf = buf[:0] + argPos := 0 + + for i := 0; i < len(query); i++ { + q := strings.IndexByte(query[i:], '?') + if q == -1 { + buf = append(buf, query[i:]...) + break + } + buf = append(buf, query[i:i+q]...) + i += q + + arg := args[argPos] + argPos++ + + if arg == nil { + buf = append(buf, "NULL"...) + continue + } + + switch v := arg.(type) { + case int64: + buf = strconv.AppendInt(buf, v, 10) + case float64: + buf = strconv.AppendFloat(buf, v, 'g', -1, 64) + case bool: + if v { + buf = append(buf, '1') + } else { + buf = append(buf, '0') + } + case time.Time: + if v.IsZero() { + buf = append(buf, "'0000-00-00'"...) + } else { + v := v.In(mc.cfg.Loc) + v = v.Add(time.Nanosecond * 500) // To round under microsecond + year := v.Year() + year100 := year / 100 + year1 := year % 100 + month := v.Month() + day := v.Day() + hour := v.Hour() + minute := v.Minute() + second := v.Second() + micro := v.Nanosecond() / 1000 + + buf = append(buf, []byte{ + '\'', + digits10[year100], digits01[year100], + digits10[year1], digits01[year1], + '-', + digits10[month], digits01[month], + '-', + digits10[day], digits01[day], + ' ', + digits10[hour], digits01[hour], + ':', + digits10[minute], digits01[minute], + ':', + digits10[second], digits01[second], + }...) + + if micro != 0 { + micro10000 := micro / 10000 + micro100 := micro / 100 % 100 + micro1 := micro % 100 + buf = append(buf, []byte{ + '.', + digits10[micro10000], digits01[micro10000], + digits10[micro100], digits01[micro100], + digits10[micro1], digits01[micro1], + }...) + } + buf = append(buf, '\'') + } + case []byte: + if v == nil { + buf = append(buf, "NULL"...) + } else { + buf = append(buf, "_binary'"...) + if mc.status&statusNoBackslashEscapes == 0 { + buf = escapeBytesBackslash(buf, v) + } else { + buf = escapeBytesQuotes(buf, v) + } + buf = append(buf, '\'') + } + case string: + buf = append(buf, '\'') + if mc.status&statusNoBackslashEscapes == 0 { + buf = escapeStringBackslash(buf, v) + } else { + buf = escapeStringQuotes(buf, v) + } + buf = append(buf, '\'') + default: + return "", driver.ErrSkip + } + + if len(buf)+4 > mc.maxAllowedPacket { + return "", driver.ErrSkip + } + } + if argPos != len(args) { + return "", driver.ErrSkip + } + return string(buf), nil +} + +func (mc *mysqlConn) Exec(query string, args []driver.Value) (driver.Result, error) { + if mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return nil, driver.ErrBadConn + } + if len(args) != 0 { + if !mc.cfg.InterpolateParams { + return nil, driver.ErrSkip + } + // try to interpolate the parameters to save extra roundtrips for preparing and closing a statement + prepared, err := mc.interpolateParams(query, args) + if err != nil { + return nil, err + } + query = prepared + } + mc.affectedRows = 0 + mc.insertId = 0 + + err := mc.exec(query) + if err == nil { + return &mysqlResult{ + affectedRows: int64(mc.affectedRows), + insertId: int64(mc.insertId), + }, err + } + return nil, mc.markBadConn(err) +} + +// Internal function to execute commands +func (mc *mysqlConn) exec(query string) error { + // Send command + if err := mc.writeCommandPacketStr(comQuery, query); err != nil { + return mc.markBadConn(err) + } + + // Read Result + resLen, err := mc.readResultSetHeaderPacket() + if err != nil { + return err + } + + if resLen > 0 { + // columns + if err := mc.readUntilEOF(); err != nil { + return err + } + + // rows + if err := mc.readUntilEOF(); err != nil { + return err + } + } + + return mc.discardResults() +} + +func (mc *mysqlConn) Query(query string, args []driver.Value) (driver.Rows, error) { + return mc.query(query, args) +} + +func (mc *mysqlConn) query(query string, args []driver.Value) (*textRows, error) { + if mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return nil, driver.ErrBadConn + } + if len(args) != 0 { + if !mc.cfg.InterpolateParams { + return nil, driver.ErrSkip + } + // try client-side prepare to reduce roundtrip + prepared, err := mc.interpolateParams(query, args) + if err != nil { + return nil, err + } + query = prepared + } + // Send command + err := mc.writeCommandPacketStr(comQuery, query) + if err == nil { + // Read Result + var resLen int + resLen, err = mc.readResultSetHeaderPacket() + if err == nil { + rows := new(textRows) + rows.mc = mc + + if resLen == 0 { + rows.rs.done = true + + switch err := rows.NextResultSet(); err { + case nil, io.EOF: + return rows, nil + default: + return nil, err + } + } + // Columns + rows.rs.columns, err = mc.readColumns(resLen) + return rows, err + } + } + return nil, mc.markBadConn(err) +} + +// Gets the value of the given MySQL System Variable +// The returned byte slice is only valid until the next read +func (mc *mysqlConn) getSystemVar(name string) ([]byte, error) { + // Send command + if err := mc.writeCommandPacketStr(comQuery, "SELECT @@"+name); err != nil { + return nil, err + } + + // Read Result + resLen, err := mc.readResultSetHeaderPacket() + if err == nil { + rows := new(textRows) + rows.mc = mc + rows.rs.columns = []mysqlField{{fieldType: fieldTypeVarChar}} + + if resLen > 0 { + // Columns + if err := mc.readUntilEOF(); err != nil { + return nil, err + } + } + + dest := make([]driver.Value, resLen) + if err = rows.readRow(dest); err == nil { + return dest[0].([]byte), mc.readUntilEOF() + } + } + return nil, err +} + +// finish is called when the query has canceled. +func (mc *mysqlConn) cancel(err error) { + mc.canceled.Set(err) + mc.cleanup() +} + +// finish is called when the query has succeeded. +func (mc *mysqlConn) finish() { + if !mc.watching || mc.finished == nil { + return + } + select { + case mc.finished <- struct{}{}: + mc.watching = false + case <-mc.closech: + } +} diff --git a/vendor/github.com/go-sql-driver/mysql/connection_go18.go b/vendor/github.com/go-sql-driver/mysql/connection_go18.go new file mode 100644 index 000000000..48a9cca64 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/connection_go18.go @@ -0,0 +1,197 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build go1.8 + +package mysql + +import ( + "context" + "database/sql" + "database/sql/driver" +) + +// Ping implements driver.Pinger interface +func (mc *mysqlConn) Ping(ctx context.Context) error { + if mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return driver.ErrBadConn + } + + if err := mc.watchCancel(ctx); err != nil { + return err + } + defer mc.finish() + + if err := mc.writeCommandPacket(comPing); err != nil { + return err + } + if _, err := mc.readResultOK(); err != nil { + return err + } + + return nil +} + +// BeginTx implements driver.ConnBeginTx interface +func (mc *mysqlConn) BeginTx(ctx context.Context, opts driver.TxOptions) (driver.Tx, error) { + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + defer mc.finish() + + if sql.IsolationLevel(opts.Isolation) != sql.LevelDefault { + level, err := mapIsolationLevel(opts.Isolation) + if err != nil { + return nil, err + } + err = mc.exec("SET TRANSACTION ISOLATION LEVEL " + level) + if err != nil { + return nil, err + } + } + + return mc.begin(opts.ReadOnly) +} + +func (mc *mysqlConn) QueryContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Rows, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + + rows, err := mc.query(query, dargs) + if err != nil { + mc.finish() + return nil, err + } + rows.finish = mc.finish + return rows, err +} + +func (mc *mysqlConn) ExecContext(ctx context.Context, query string, args []driver.NamedValue) (driver.Result, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + defer mc.finish() + + return mc.Exec(query, dargs) +} + +func (mc *mysqlConn) PrepareContext(ctx context.Context, query string) (driver.Stmt, error) { + if err := mc.watchCancel(ctx); err != nil { + return nil, err + } + + stmt, err := mc.Prepare(query) + mc.finish() + if err != nil { + return nil, err + } + + select { + default: + case <-ctx.Done(): + stmt.Close() + return nil, ctx.Err() + } + return stmt, nil +} + +func (stmt *mysqlStmt) QueryContext(ctx context.Context, args []driver.NamedValue) (driver.Rows, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := stmt.mc.watchCancel(ctx); err != nil { + return nil, err + } + + rows, err := stmt.query(dargs) + if err != nil { + stmt.mc.finish() + return nil, err + } + rows.finish = stmt.mc.finish + return rows, err +} + +func (stmt *mysqlStmt) ExecContext(ctx context.Context, args []driver.NamedValue) (driver.Result, error) { + dargs, err := namedValueToValue(args) + if err != nil { + return nil, err + } + + if err := stmt.mc.watchCancel(ctx); err != nil { + return nil, err + } + defer stmt.mc.finish() + + return stmt.Exec(dargs) +} + +func (mc *mysqlConn) watchCancel(ctx context.Context) error { + if mc.watching { + // Reach here if canceled, + // so the connection is already invalid + mc.cleanup() + return nil + } + if ctx.Done() == nil { + return nil + } + + mc.watching = true + select { + default: + case <-ctx.Done(): + return ctx.Err() + } + if mc.watcher == nil { + return nil + } + + mc.watcher <- ctx + + return nil +} + +func (mc *mysqlConn) startWatcher() { + watcher := make(chan mysqlContext, 1) + mc.watcher = watcher + finished := make(chan struct{}) + mc.finished = finished + go func() { + for { + var ctx mysqlContext + select { + case ctx = <-watcher: + case <-mc.closech: + return + } + + select { + case <-ctx.Done(): + mc.cancel(ctx.Err()) + case <-finished: + case <-mc.closech: + return + } + } + }() +} diff --git a/vendor/github.com/go-sql-driver/mysql/const.go b/vendor/github.com/go-sql-driver/mysql/const.go new file mode 100644 index 000000000..88cfff3fd --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/const.go @@ -0,0 +1,163 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +const ( + minProtocolVersion byte = 10 + maxPacketSize = 1<<24 - 1 + timeFormat = "2006-01-02 15:04:05.999999" +) + +// MySQL constants documentation: +// http://dev.mysql.com/doc/internals/en/client-server-protocol.html + +const ( + iOK byte = 0x00 + iLocalInFile byte = 0xfb + iEOF byte = 0xfe + iERR byte = 0xff +) + +// https://dev.mysql.com/doc/internals/en/capability-flags.html#packet-Protocol::CapabilityFlags +type clientFlag uint32 + +const ( + clientLongPassword clientFlag = 1 << iota + clientFoundRows + clientLongFlag + clientConnectWithDB + clientNoSchema + clientCompress + clientODBC + clientLocalFiles + clientIgnoreSpace + clientProtocol41 + clientInteractive + clientSSL + clientIgnoreSIGPIPE + clientTransactions + clientReserved + clientSecureConn + clientMultiStatements + clientMultiResults + clientPSMultiResults + clientPluginAuth + clientConnectAttrs + clientPluginAuthLenEncClientData + clientCanHandleExpiredPasswords + clientSessionTrack + clientDeprecateEOF +) + +const ( + comQuit byte = iota + 1 + comInitDB + comQuery + comFieldList + comCreateDB + comDropDB + comRefresh + comShutdown + comStatistics + comProcessInfo + comConnect + comProcessKill + comDebug + comPing + comTime + comDelayedInsert + comChangeUser + comBinlogDump + comTableDump + comConnectOut + comRegisterSlave + comStmtPrepare + comStmtExecute + comStmtSendLongData + comStmtClose + comStmtReset + comSetOption + comStmtFetch +) + +// https://dev.mysql.com/doc/internals/en/com-query-response.html#packet-Protocol::ColumnType +const ( + fieldTypeDecimal byte = iota + fieldTypeTiny + fieldTypeShort + fieldTypeLong + fieldTypeFloat + fieldTypeDouble + fieldTypeNULL + fieldTypeTimestamp + fieldTypeLongLong + fieldTypeInt24 + fieldTypeDate + fieldTypeTime + fieldTypeDateTime + fieldTypeYear + fieldTypeNewDate + fieldTypeVarChar + fieldTypeBit +) +const ( + fieldTypeJSON byte = iota + 0xf5 + fieldTypeNewDecimal + fieldTypeEnum + fieldTypeSet + fieldTypeTinyBLOB + fieldTypeMediumBLOB + fieldTypeLongBLOB + fieldTypeBLOB + fieldTypeVarString + fieldTypeString + fieldTypeGeometry +) + +type fieldFlag uint16 + +const ( + flagNotNULL fieldFlag = 1 << iota + flagPriKey + flagUniqueKey + flagMultipleKey + flagBLOB + flagUnsigned + flagZeroFill + flagBinary + flagEnum + flagAutoIncrement + flagTimestamp + flagSet + flagUnknown1 + flagUnknown2 + flagUnknown3 + flagUnknown4 +) + +// http://dev.mysql.com/doc/internals/en/status-flags.html +type statusFlag uint16 + +const ( + statusInTrans statusFlag = 1 << iota + statusInAutocommit + statusReserved // Not in documentation + statusMoreResultsExists + statusNoGoodIndexUsed + statusNoIndexUsed + statusCursorExists + statusLastRowSent + statusDbDropped + statusNoBackslashEscapes + statusMetadataChanged + statusQueryWasSlow + statusPsOutParams + statusInTransReadonly + statusSessionStateChanged +) diff --git a/vendor/github.com/go-sql-driver/mysql/driver.go b/vendor/github.com/go-sql-driver/mysql/driver.go new file mode 100644 index 000000000..d42ce7a3d --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/driver.go @@ -0,0 +1,193 @@ +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// Package mysql provides a MySQL driver for Go's database/sql package. +// +// The driver should be used via the database/sql package: +// +// import "database/sql" +// import _ "github.com/go-sql-driver/mysql" +// +// db, err := sql.Open("mysql", "user:password@/dbname") +// +// See https://github.com/go-sql-driver/mysql#usage for details +package mysql + +import ( + "database/sql" + "database/sql/driver" + "net" +) + +// watcher interface is used for context support (From Go 1.8) +type watcher interface { + startWatcher() +} + +// MySQLDriver is exported to make the driver directly accessible. +// In general the driver is used via the database/sql package. +type MySQLDriver struct{} + +// DialFunc is a function which can be used to establish the network connection. +// Custom dial functions must be registered with RegisterDial +type DialFunc func(addr string) (net.Conn, error) + +var dials map[string]DialFunc + +// RegisterDial registers a custom dial function. It can then be used by the +// network address mynet(addr), where mynet is the registered new network. +// addr is passed as a parameter to the dial function. +func RegisterDial(net string, dial DialFunc) { + if dials == nil { + dials = make(map[string]DialFunc) + } + dials[net] = dial +} + +// Open new Connection. +// See https://github.com/go-sql-driver/mysql#dsn-data-source-name for how +// the DSN string is formated +func (d MySQLDriver) Open(dsn string) (driver.Conn, error) { + var err error + + // New mysqlConn + mc := &mysqlConn{ + maxAllowedPacket: maxPacketSize, + maxWriteSize: maxPacketSize - 1, + closech: make(chan struct{}), + } + mc.cfg, err = ParseDSN(dsn) + if err != nil { + return nil, err + } + mc.parseTime = mc.cfg.ParseTime + + // Connect to Server + if dial, ok := dials[mc.cfg.Net]; ok { + mc.netConn, err = dial(mc.cfg.Addr) + } else { + nd := net.Dialer{Timeout: mc.cfg.Timeout} + mc.netConn, err = nd.Dial(mc.cfg.Net, mc.cfg.Addr) + } + if err != nil { + return nil, err + } + + // Enable TCP Keepalives on TCP connections + if tc, ok := mc.netConn.(*net.TCPConn); ok { + if err := tc.SetKeepAlive(true); err != nil { + // Don't send COM_QUIT before handshake. + mc.netConn.Close() + mc.netConn = nil + return nil, err + } + } + + // Call startWatcher for context support (From Go 1.8) + if s, ok := interface{}(mc).(watcher); ok { + s.startWatcher() + } + + mc.buf = newBuffer(mc.netConn) + + // Set I/O timeouts + mc.buf.timeout = mc.cfg.ReadTimeout + mc.writeTimeout = mc.cfg.WriteTimeout + + // Reading Handshake Initialization Packet + cipher, err := mc.readInitPacket() + if err != nil { + mc.cleanup() + return nil, err + } + + // Send Client Authentication Packet + if err = mc.writeAuthPacket(cipher); err != nil { + mc.cleanup() + return nil, err + } + + // Handle response to auth packet, switch methods if possible + if err = handleAuthResult(mc, cipher); err != nil { + // Authentication failed and MySQL has already closed the connection + // (https://dev.mysql.com/doc/internals/en/authentication-fails.html). + // Do not send COM_QUIT, just cleanup and return the error. + mc.cleanup() + return nil, err + } + + if mc.cfg.MaxAllowedPacket > 0 { + mc.maxAllowedPacket = mc.cfg.MaxAllowedPacket + } else { + // Get max allowed packet size + maxap, err := mc.getSystemVar("max_allowed_packet") + if err != nil { + mc.Close() + return nil, err + } + mc.maxAllowedPacket = stringToInt(maxap) - 1 + } + if mc.maxAllowedPacket < maxPacketSize { + mc.maxWriteSize = mc.maxAllowedPacket + } + + // Handle DSN Params + err = mc.handleParams() + if err != nil { + mc.Close() + return nil, err + } + + return mc, nil +} + +func handleAuthResult(mc *mysqlConn, oldCipher []byte) error { + // Read Result Packet + cipher, err := mc.readResultOK() + if err == nil { + return nil // auth successful + } + + if mc.cfg == nil { + return err // auth failed and retry not possible + } + + // Retry auth if configured to do so. + if mc.cfg.AllowOldPasswords && err == ErrOldPassword { + // Retry with old authentication method. Note: there are edge cases + // where this should work but doesn't; this is currently "wontfix": + // https://github.com/go-sql-driver/mysql/issues/184 + + // If CLIENT_PLUGIN_AUTH capability is not supported, no new cipher is + // sent and we have to keep using the cipher sent in the init packet. + if cipher == nil { + cipher = oldCipher + } + + if err = mc.writeOldAuthPacket(cipher); err != nil { + return err + } + _, err = mc.readResultOK() + } else if mc.cfg.AllowCleartextPasswords && err == ErrCleartextPassword { + // Retry with clear text password for + // http://dev.mysql.com/doc/refman/5.7/en/cleartext-authentication-plugin.html + // http://dev.mysql.com/doc/refman/5.7/en/pam-authentication-plugin.html + if err = mc.writeClearAuthPacket(); err != nil { + return err + } + _, err = mc.readResultOK() + } else if mc.cfg.AllowNativePasswords && err == ErrNativePassword { + if err = mc.writeNativeAuthPacket(cipher); err != nil { + return err + } + _, err = mc.readResultOK() + } + return err +} + +func init() { + sql.Register("mysql", &MySQLDriver{}) +} diff --git a/vendor/github.com/go-sql-driver/mysql/dsn.go b/vendor/github.com/go-sql-driver/mysql/dsn.go new file mode 100644 index 000000000..af3dfa303 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/dsn.go @@ -0,0 +1,586 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2016 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "bytes" + "crypto/tls" + "errors" + "fmt" + "net" + "net/url" + "sort" + "strconv" + "strings" + "time" +) + +var ( + errInvalidDSNUnescaped = errors.New("invalid DSN: did you forget to escape a param value?") + errInvalidDSNAddr = errors.New("invalid DSN: network address not terminated (missing closing brace)") + errInvalidDSNNoSlash = errors.New("invalid DSN: missing the slash separating the database name") + errInvalidDSNUnsafeCollation = errors.New("invalid DSN: interpolateParams can not be used with unsafe collations") +) + +// Config is a configuration parsed from a DSN string. +// If a new Config is created instead of being parsed from a DSN string, +// the NewConfig function should be used, which sets default values. +type Config struct { + User string // Username + Passwd string // Password (requires User) + Net string // Network type + Addr string // Network address (requires Net) + DBName string // Database name + Params map[string]string // Connection parameters + Collation string // Connection collation + Loc *time.Location // Location for time.Time values + MaxAllowedPacket int // Max packet size allowed + TLSConfig string // TLS configuration name + tls *tls.Config // TLS configuration + Timeout time.Duration // Dial timeout + ReadTimeout time.Duration // I/O read timeout + WriteTimeout time.Duration // I/O write timeout + + AllowAllFiles bool // Allow all files to be used with LOAD DATA LOCAL INFILE + AllowCleartextPasswords bool // Allows the cleartext client side plugin + AllowNativePasswords bool // Allows the native password authentication method + AllowOldPasswords bool // Allows the old insecure password method + ClientFoundRows bool // Return number of matching rows instead of rows changed + ColumnsWithAlias bool // Prepend table alias to column names + InterpolateParams bool // Interpolate placeholders into query string + MultiStatements bool // Allow multiple statements in one query + ParseTime bool // Parse time values to time.Time + RejectReadOnly bool // Reject read-only connections +} + +// NewConfig creates a new Config and sets default values. +func NewConfig() *Config { + return &Config{ + Collation: defaultCollation, + Loc: time.UTC, + AllowNativePasswords: true, + } +} + +func (cfg *Config) normalize() error { + if cfg.InterpolateParams && unsafeCollations[cfg.Collation] { + return errInvalidDSNUnsafeCollation + } + + // Set default network if empty + if cfg.Net == "" { + cfg.Net = "tcp" + } + + // Set default address if empty + if cfg.Addr == "" { + switch cfg.Net { + case "tcp": + cfg.Addr = "127.0.0.1:3306" + case "unix": + cfg.Addr = "/tmp/mysql.sock" + default: + return errors.New("default addr for network '" + cfg.Net + "' unknown") + } + + } else if cfg.Net == "tcp" { + cfg.Addr = ensureHavePort(cfg.Addr) + } + + return nil +} + +// FormatDSN formats the given Config into a DSN string which can be passed to +// the driver. +func (cfg *Config) FormatDSN() string { + var buf bytes.Buffer + + // [username[:password]@] + if len(cfg.User) > 0 { + buf.WriteString(cfg.User) + if len(cfg.Passwd) > 0 { + buf.WriteByte(':') + buf.WriteString(cfg.Passwd) + } + buf.WriteByte('@') + } + + // [protocol[(address)]] + if len(cfg.Net) > 0 { + buf.WriteString(cfg.Net) + if len(cfg.Addr) > 0 { + buf.WriteByte('(') + buf.WriteString(cfg.Addr) + buf.WriteByte(')') + } + } + + // /dbname + buf.WriteByte('/') + buf.WriteString(cfg.DBName) + + // [?param1=value1&...¶mN=valueN] + hasParam := false + + if cfg.AllowAllFiles { + hasParam = true + buf.WriteString("?allowAllFiles=true") + } + + if cfg.AllowCleartextPasswords { + if hasParam { + buf.WriteString("&allowCleartextPasswords=true") + } else { + hasParam = true + buf.WriteString("?allowCleartextPasswords=true") + } + } + + if !cfg.AllowNativePasswords { + if hasParam { + buf.WriteString("&allowNativePasswords=false") + } else { + hasParam = true + buf.WriteString("?allowNativePasswords=false") + } + } + + if cfg.AllowOldPasswords { + if hasParam { + buf.WriteString("&allowOldPasswords=true") + } else { + hasParam = true + buf.WriteString("?allowOldPasswords=true") + } + } + + if cfg.ClientFoundRows { + if hasParam { + buf.WriteString("&clientFoundRows=true") + } else { + hasParam = true + buf.WriteString("?clientFoundRows=true") + } + } + + if col := cfg.Collation; col != defaultCollation && len(col) > 0 { + if hasParam { + buf.WriteString("&collation=") + } else { + hasParam = true + buf.WriteString("?collation=") + } + buf.WriteString(col) + } + + if cfg.ColumnsWithAlias { + if hasParam { + buf.WriteString("&columnsWithAlias=true") + } else { + hasParam = true + buf.WriteString("?columnsWithAlias=true") + } + } + + if cfg.InterpolateParams { + if hasParam { + buf.WriteString("&interpolateParams=true") + } else { + hasParam = true + buf.WriteString("?interpolateParams=true") + } + } + + if cfg.Loc != time.UTC && cfg.Loc != nil { + if hasParam { + buf.WriteString("&loc=") + } else { + hasParam = true + buf.WriteString("?loc=") + } + buf.WriteString(url.QueryEscape(cfg.Loc.String())) + } + + if cfg.MultiStatements { + if hasParam { + buf.WriteString("&multiStatements=true") + } else { + hasParam = true + buf.WriteString("?multiStatements=true") + } + } + + if cfg.ParseTime { + if hasParam { + buf.WriteString("&parseTime=true") + } else { + hasParam = true + buf.WriteString("?parseTime=true") + } + } + + if cfg.ReadTimeout > 0 { + if hasParam { + buf.WriteString("&readTimeout=") + } else { + hasParam = true + buf.WriteString("?readTimeout=") + } + buf.WriteString(cfg.ReadTimeout.String()) + } + + if cfg.RejectReadOnly { + if hasParam { + buf.WriteString("&rejectReadOnly=true") + } else { + hasParam = true + buf.WriteString("?rejectReadOnly=true") + } + } + + if cfg.Timeout > 0 { + if hasParam { + buf.WriteString("&timeout=") + } else { + hasParam = true + buf.WriteString("?timeout=") + } + buf.WriteString(cfg.Timeout.String()) + } + + if len(cfg.TLSConfig) > 0 { + if hasParam { + buf.WriteString("&tls=") + } else { + hasParam = true + buf.WriteString("?tls=") + } + buf.WriteString(url.QueryEscape(cfg.TLSConfig)) + } + + if cfg.WriteTimeout > 0 { + if hasParam { + buf.WriteString("&writeTimeout=") + } else { + hasParam = true + buf.WriteString("?writeTimeout=") + } + buf.WriteString(cfg.WriteTimeout.String()) + } + + if cfg.MaxAllowedPacket > 0 { + if hasParam { + buf.WriteString("&maxAllowedPacket=") + } else { + hasParam = true + buf.WriteString("?maxAllowedPacket=") + } + buf.WriteString(strconv.Itoa(cfg.MaxAllowedPacket)) + + } + + // other params + if cfg.Params != nil { + var params []string + for param := range cfg.Params { + params = append(params, param) + } + sort.Strings(params) + for _, param := range params { + if hasParam { + buf.WriteByte('&') + } else { + hasParam = true + buf.WriteByte('?') + } + + buf.WriteString(param) + buf.WriteByte('=') + buf.WriteString(url.QueryEscape(cfg.Params[param])) + } + } + + return buf.String() +} + +// ParseDSN parses the DSN string to a Config +func ParseDSN(dsn string) (cfg *Config, err error) { + // New config with some default values + cfg = NewConfig() + + // [user[:password]@][net[(addr)]]/dbname[?param1=value1¶mN=valueN] + // Find the last '/' (since the password or the net addr might contain a '/') + foundSlash := false + for i := len(dsn) - 1; i >= 0; i-- { + if dsn[i] == '/' { + foundSlash = true + var j, k int + + // left part is empty if i <= 0 + if i > 0 { + // [username[:password]@][protocol[(address)]] + // Find the last '@' in dsn[:i] + for j = i; j >= 0; j-- { + if dsn[j] == '@' { + // username[:password] + // Find the first ':' in dsn[:j] + for k = 0; k < j; k++ { + if dsn[k] == ':' { + cfg.Passwd = dsn[k+1 : j] + break + } + } + cfg.User = dsn[:k] + + break + } + } + + // [protocol[(address)]] + // Find the first '(' in dsn[j+1:i] + for k = j + 1; k < i; k++ { + if dsn[k] == '(' { + // dsn[i-1] must be == ')' if an address is specified + if dsn[i-1] != ')' { + if strings.ContainsRune(dsn[k+1:i], ')') { + return nil, errInvalidDSNUnescaped + } + return nil, errInvalidDSNAddr + } + cfg.Addr = dsn[k+1 : i-1] + break + } + } + cfg.Net = dsn[j+1 : k] + } + + // dbname[?param1=value1&...¶mN=valueN] + // Find the first '?' in dsn[i+1:] + for j = i + 1; j < len(dsn); j++ { + if dsn[j] == '?' { + if err = parseDSNParams(cfg, dsn[j+1:]); err != nil { + return + } + break + } + } + cfg.DBName = dsn[i+1 : j] + + break + } + } + + if !foundSlash && len(dsn) > 0 { + return nil, errInvalidDSNNoSlash + } + + if err = cfg.normalize(); err != nil { + return nil, err + } + return +} + +// parseDSNParams parses the DSN "query string" +// Values must be url.QueryEscape'ed +func parseDSNParams(cfg *Config, params string) (err error) { + for _, v := range strings.Split(params, "&") { + param := strings.SplitN(v, "=", 2) + if len(param) != 2 { + continue + } + + // cfg params + switch value := param[1]; param[0] { + + // Disable INFILE whitelist / enable all files + case "allowAllFiles": + var isBool bool + cfg.AllowAllFiles, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Use cleartext authentication mode (MySQL 5.5.10+) + case "allowCleartextPasswords": + var isBool bool + cfg.AllowCleartextPasswords, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Use native password authentication + case "allowNativePasswords": + var isBool bool + cfg.AllowNativePasswords, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Use old authentication mode (pre MySQL 4.1) + case "allowOldPasswords": + var isBool bool + cfg.AllowOldPasswords, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Switch "rowsAffected" mode + case "clientFoundRows": + var isBool bool + cfg.ClientFoundRows, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Collation + case "collation": + cfg.Collation = value + break + + case "columnsWithAlias": + var isBool bool + cfg.ColumnsWithAlias, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Compression + case "compress": + return errors.New("compression not implemented yet") + + // Enable client side placeholder substitution + case "interpolateParams": + var isBool bool + cfg.InterpolateParams, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Time Location + case "loc": + if value, err = url.QueryUnescape(value); err != nil { + return + } + cfg.Loc, err = time.LoadLocation(value) + if err != nil { + return + } + + // multiple statements in one query + case "multiStatements": + var isBool bool + cfg.MultiStatements, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // time.Time parsing + case "parseTime": + var isBool bool + cfg.ParseTime, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // I/O read Timeout + case "readTimeout": + cfg.ReadTimeout, err = time.ParseDuration(value) + if err != nil { + return + } + + // Reject read-only connections + case "rejectReadOnly": + var isBool bool + cfg.RejectReadOnly, isBool = readBool(value) + if !isBool { + return errors.New("invalid bool value: " + value) + } + + // Strict mode + case "strict": + panic("strict mode has been removed. See https://github.com/go-sql-driver/mysql/wiki/strict-mode") + + // Dial Timeout + case "timeout": + cfg.Timeout, err = time.ParseDuration(value) + if err != nil { + return + } + + // TLS-Encryption + case "tls": + boolValue, isBool := readBool(value) + if isBool { + if boolValue { + cfg.TLSConfig = "true" + cfg.tls = &tls.Config{} + host, _, err := net.SplitHostPort(cfg.Addr) + if err == nil { + cfg.tls.ServerName = host + } + } else { + cfg.TLSConfig = "false" + } + } else if vl := strings.ToLower(value); vl == "skip-verify" { + cfg.TLSConfig = vl + cfg.tls = &tls.Config{InsecureSkipVerify: true} + } else { + name, err := url.QueryUnescape(value) + if err != nil { + return fmt.Errorf("invalid value for TLS config name: %v", err) + } + + if tlsConfig := getTLSConfigClone(name); tlsConfig != nil { + if len(tlsConfig.ServerName) == 0 && !tlsConfig.InsecureSkipVerify { + host, _, err := net.SplitHostPort(cfg.Addr) + if err == nil { + tlsConfig.ServerName = host + } + } + + cfg.TLSConfig = name + cfg.tls = tlsConfig + } else { + return errors.New("invalid value / unknown config name: " + name) + } + } + + // I/O write Timeout + case "writeTimeout": + cfg.WriteTimeout, err = time.ParseDuration(value) + if err != nil { + return + } + case "maxAllowedPacket": + cfg.MaxAllowedPacket, err = strconv.Atoi(value) + if err != nil { + return + } + default: + // lazy init + if cfg.Params == nil { + cfg.Params = make(map[string]string) + } + + if cfg.Params[param[0]], err = url.QueryUnescape(value); err != nil { + return + } + } + } + + return +} + +func ensureHavePort(addr string) string { + if _, _, err := net.SplitHostPort(addr); err != nil { + return net.JoinHostPort(addr, "3306") + } + return addr +} diff --git a/vendor/github.com/go-sql-driver/mysql/errors.go b/vendor/github.com/go-sql-driver/mysql/errors.go new file mode 100644 index 000000000..760782ff2 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/errors.go @@ -0,0 +1,65 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "errors" + "fmt" + "log" + "os" +) + +// Various errors the driver might return. Can change between driver versions. +var ( + ErrInvalidConn = errors.New("invalid connection") + ErrMalformPkt = errors.New("malformed packet") + ErrNoTLS = errors.New("TLS requested but server does not support TLS") + ErrCleartextPassword = errors.New("this user requires clear text authentication. If you still want to use it, please add 'allowCleartextPasswords=1' to your DSN") + ErrNativePassword = errors.New("this user requires mysql native password authentication.") + ErrOldPassword = errors.New("this user requires old password authentication. If you still want to use it, please add 'allowOldPasswords=1' to your DSN. See also https://github.com/go-sql-driver/mysql/wiki/old_passwords") + ErrUnknownPlugin = errors.New("this authentication plugin is not supported") + ErrOldProtocol = errors.New("MySQL server does not support required protocol 41+") + ErrPktSync = errors.New("commands out of sync. You can't run this command now") + ErrPktSyncMul = errors.New("commands out of sync. Did you run multiple statements at once?") + ErrPktTooLarge = errors.New("packet for query is too large. Try adjusting the 'max_allowed_packet' variable on the server") + ErrBusyBuffer = errors.New("busy buffer") + + // errBadConnNoWrite is used for connection errors where nothing was sent to the database yet. + // If this happens first in a function starting a database interaction, it should be replaced by driver.ErrBadConn + // to trigger a resend. + // See https://github.com/go-sql-driver/mysql/pull/302 + errBadConnNoWrite = errors.New("bad connection") +) + +var errLog = Logger(log.New(os.Stderr, "[mysql] ", log.Ldate|log.Ltime|log.Lshortfile)) + +// Logger is used to log critical error messages. +type Logger interface { + Print(v ...interface{}) +} + +// SetLogger is used to set the logger for critical errors. +// The initial logger is os.Stderr. +func SetLogger(logger Logger) error { + if logger == nil { + return errors.New("logger is nil") + } + errLog = logger + return nil +} + +// MySQLError is an error type which represents a single MySQL error +type MySQLError struct { + Number uint16 + Message string +} + +func (me *MySQLError) Error() string { + return fmt.Sprintf("Error %d: %s", me.Number, me.Message) +} diff --git a/vendor/github.com/go-sql-driver/mysql/infile.go b/vendor/github.com/go-sql-driver/mysql/infile.go new file mode 100644 index 000000000..4020f9192 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/infile.go @@ -0,0 +1,183 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2013 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "fmt" + "io" + "os" + "strings" + "sync" +) + +var ( + fileRegister map[string]bool + fileRegisterLock sync.RWMutex + readerRegister map[string]func() io.Reader + readerRegisterLock sync.RWMutex +) + +// RegisterLocalFile adds the given file to the file whitelist, +// so that it can be used by "LOAD DATA LOCAL INFILE ". +// Alternatively you can allow the use of all local files with +// the DSN parameter 'allowAllFiles=true' +// +// filePath := "/home/gopher/data.csv" +// mysql.RegisterLocalFile(filePath) +// err := db.Exec("LOAD DATA LOCAL INFILE '" + filePath + "' INTO TABLE foo") +// if err != nil { +// ... +// +func RegisterLocalFile(filePath string) { + fileRegisterLock.Lock() + // lazy map init + if fileRegister == nil { + fileRegister = make(map[string]bool) + } + + fileRegister[strings.Trim(filePath, `"`)] = true + fileRegisterLock.Unlock() +} + +// DeregisterLocalFile removes the given filepath from the whitelist. +func DeregisterLocalFile(filePath string) { + fileRegisterLock.Lock() + delete(fileRegister, strings.Trim(filePath, `"`)) + fileRegisterLock.Unlock() +} + +// RegisterReaderHandler registers a handler function which is used +// to receive a io.Reader. +// The Reader can be used by "LOAD DATA LOCAL INFILE Reader::". +// If the handler returns a io.ReadCloser Close() is called when the +// request is finished. +// +// mysql.RegisterReaderHandler("data", func() io.Reader { +// var csvReader io.Reader // Some Reader that returns CSV data +// ... // Open Reader here +// return csvReader +// }) +// err := db.Exec("LOAD DATA LOCAL INFILE 'Reader::data' INTO TABLE foo") +// if err != nil { +// ... +// +func RegisterReaderHandler(name string, handler func() io.Reader) { + readerRegisterLock.Lock() + // lazy map init + if readerRegister == nil { + readerRegister = make(map[string]func() io.Reader) + } + + readerRegister[name] = handler + readerRegisterLock.Unlock() +} + +// DeregisterReaderHandler removes the ReaderHandler function with +// the given name from the registry. +func DeregisterReaderHandler(name string) { + readerRegisterLock.Lock() + delete(readerRegister, name) + readerRegisterLock.Unlock() +} + +func deferredClose(err *error, closer io.Closer) { + closeErr := closer.Close() + if *err == nil { + *err = closeErr + } +} + +func (mc *mysqlConn) handleInFileRequest(name string) (err error) { + var rdr io.Reader + var data []byte + packetSize := 16 * 1024 // 16KB is small enough for disk readahead and large enough for TCP + if mc.maxWriteSize < packetSize { + packetSize = mc.maxWriteSize + } + + if idx := strings.Index(name, "Reader::"); idx == 0 || (idx > 0 && name[idx-1] == '/') { // io.Reader + // The server might return an an absolute path. See issue #355. + name = name[idx+8:] + + readerRegisterLock.RLock() + handler, inMap := readerRegister[name] + readerRegisterLock.RUnlock() + + if inMap { + rdr = handler() + if rdr != nil { + if cl, ok := rdr.(io.Closer); ok { + defer deferredClose(&err, cl) + } + } else { + err = fmt.Errorf("Reader '%s' is ", name) + } + } else { + err = fmt.Errorf("Reader '%s' is not registered", name) + } + } else { // File + name = strings.Trim(name, `"`) + fileRegisterLock.RLock() + fr := fileRegister[name] + fileRegisterLock.RUnlock() + if mc.cfg.AllowAllFiles || fr { + var file *os.File + var fi os.FileInfo + + if file, err = os.Open(name); err == nil { + defer deferredClose(&err, file) + + // get file size + if fi, err = file.Stat(); err == nil { + rdr = file + if fileSize := int(fi.Size()); fileSize < packetSize { + packetSize = fileSize + } + } + } + } else { + err = fmt.Errorf("local file '%s' is not registered", name) + } + } + + // send content packets + // if packetSize == 0, the Reader contains no data + if err == nil && packetSize > 0 { + data := make([]byte, 4+packetSize) + var n int + for err == nil { + n, err = rdr.Read(data[4:]) + if n > 0 { + if ioErr := mc.writePacket(data[:4+n]); ioErr != nil { + return ioErr + } + } + } + if err == io.EOF { + err = nil + } + } + + // send empty packet (termination) + if data == nil { + data = make([]byte, 4) + } + if ioErr := mc.writePacket(data[:4]); ioErr != nil { + return ioErr + } + + // read OK packet + if err == nil { + _, err = mc.readResultOK() + return err + } + + mc.readPacket() + return err +} diff --git a/vendor/github.com/go-sql-driver/mysql/packets.go b/vendor/github.com/go-sql-driver/mysql/packets.go new file mode 100644 index 000000000..1887467df --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/packets.go @@ -0,0 +1,1304 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "bytes" + "crypto/tls" + "database/sql/driver" + "encoding/binary" + "errors" + "fmt" + "io" + "math" + "time" +) + +// Packets documentation: +// http://dev.mysql.com/doc/internals/en/client-server-protocol.html + +// Read packet to buffer 'data' +func (mc *mysqlConn) readPacket() ([]byte, error) { + var prevData []byte + for { + // read packet header + data, err := mc.buf.readNext(4) + if err != nil { + if cerr := mc.canceled.Value(); cerr != nil { + return nil, cerr + } + errLog.Print(err) + mc.Close() + return nil, ErrInvalidConn + } + + // packet length [24 bit] + pktLen := int(uint32(data[0]) | uint32(data[1])<<8 | uint32(data[2])<<16) + + // check packet sync [8 bit] + if data[3] != mc.sequence { + if data[3] > mc.sequence { + return nil, ErrPktSyncMul + } + return nil, ErrPktSync + } + mc.sequence++ + + // packets with length 0 terminate a previous packet which is a + // multiple of (2^24)−1 bytes long + if pktLen == 0 { + // there was no previous packet + if prevData == nil { + errLog.Print(ErrMalformPkt) + mc.Close() + return nil, ErrInvalidConn + } + + return prevData, nil + } + + // read packet body [pktLen bytes] + data, err = mc.buf.readNext(pktLen) + if err != nil { + if cerr := mc.canceled.Value(); cerr != nil { + return nil, cerr + } + errLog.Print(err) + mc.Close() + return nil, ErrInvalidConn + } + + // return data if this was the last packet + if pktLen < maxPacketSize { + // zero allocations for non-split packets + if prevData == nil { + return data, nil + } + + return append(prevData, data...), nil + } + + prevData = append(prevData, data...) + } +} + +// Write packet buffer 'data' +func (mc *mysqlConn) writePacket(data []byte) error { + pktLen := len(data) - 4 + + if pktLen > mc.maxAllowedPacket { + return ErrPktTooLarge + } + + for { + var size int + if pktLen >= maxPacketSize { + data[0] = 0xff + data[1] = 0xff + data[2] = 0xff + size = maxPacketSize + } else { + data[0] = byte(pktLen) + data[1] = byte(pktLen >> 8) + data[2] = byte(pktLen >> 16) + size = pktLen + } + data[3] = mc.sequence + + // Write packet + if mc.writeTimeout > 0 { + if err := mc.netConn.SetWriteDeadline(time.Now().Add(mc.writeTimeout)); err != nil { + return err + } + } + + n, err := mc.netConn.Write(data[:4+size]) + if err == nil && n == 4+size { + mc.sequence++ + if size != maxPacketSize { + return nil + } + pktLen -= size + data = data[size:] + continue + } + + // Handle error + if err == nil { // n != len(data) + mc.cleanup() + errLog.Print(ErrMalformPkt) + } else { + if cerr := mc.canceled.Value(); cerr != nil { + return cerr + } + if n == 0 && pktLen == len(data)-4 { + // only for the first loop iteration when nothing was written yet + return errBadConnNoWrite + } + mc.cleanup() + errLog.Print(err) + } + return ErrInvalidConn + } +} + +/****************************************************************************** +* Initialisation Process * +******************************************************************************/ + +// Handshake Initialization Packet +// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::Handshake +func (mc *mysqlConn) readInitPacket() ([]byte, error) { + data, err := mc.readPacket() + if err != nil { + return nil, err + } + + if data[0] == iERR { + return nil, mc.handleErrorPacket(data) + } + + // protocol version [1 byte] + if data[0] < minProtocolVersion { + return nil, fmt.Errorf( + "unsupported protocol version %d. Version %d or higher is required", + data[0], + minProtocolVersion, + ) + } + + // server version [null terminated string] + // connection id [4 bytes] + pos := 1 + bytes.IndexByte(data[1:], 0x00) + 1 + 4 + + // first part of the password cipher [8 bytes] + cipher := data[pos : pos+8] + + // (filler) always 0x00 [1 byte] + pos += 8 + 1 + + // capability flags (lower 2 bytes) [2 bytes] + mc.flags = clientFlag(binary.LittleEndian.Uint16(data[pos : pos+2])) + if mc.flags&clientProtocol41 == 0 { + return nil, ErrOldProtocol + } + if mc.flags&clientSSL == 0 && mc.cfg.tls != nil { + return nil, ErrNoTLS + } + pos += 2 + + if len(data) > pos { + // character set [1 byte] + // status flags [2 bytes] + // capability flags (upper 2 bytes) [2 bytes] + // length of auth-plugin-data [1 byte] + // reserved (all [00]) [10 bytes] + pos += 1 + 2 + 2 + 1 + 10 + + // second part of the password cipher [mininum 13 bytes], + // where len=MAX(13, length of auth-plugin-data - 8) + // + // The web documentation is ambiguous about the length. However, + // according to mysql-5.7/sql/auth/sql_authentication.cc line 538, + // the 13th byte is "\0 byte, terminating the second part of + // a scramble". So the second part of the password cipher is + // a NULL terminated string that's at least 13 bytes with the + // last byte being NULL. + // + // The official Python library uses the fixed length 12 + // which seems to work but technically could have a hidden bug. + cipher = append(cipher, data[pos:pos+12]...) + + // TODO: Verify string termination + // EOF if version (>= 5.5.7 and < 5.5.10) or (>= 5.6.0 and < 5.6.2) + // \NUL otherwise + // + //if data[len(data)-1] == 0 { + // return + //} + //return ErrMalformPkt + + // make a memory safe copy of the cipher slice + var b [20]byte + copy(b[:], cipher) + return b[:], nil + } + + // make a memory safe copy of the cipher slice + var b [8]byte + copy(b[:], cipher) + return b[:], nil +} + +// Client Authentication Packet +// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::HandshakeResponse +func (mc *mysqlConn) writeAuthPacket(cipher []byte) error { + // Adjust client flags based on server support + clientFlags := clientProtocol41 | + clientSecureConn | + clientLongPassword | + clientTransactions | + clientLocalFiles | + clientPluginAuth | + clientMultiResults | + mc.flags&clientLongFlag + + if mc.cfg.ClientFoundRows { + clientFlags |= clientFoundRows + } + + // To enable TLS / SSL + if mc.cfg.tls != nil { + clientFlags |= clientSSL + } + + if mc.cfg.MultiStatements { + clientFlags |= clientMultiStatements + } + + // User Password + scrambleBuff := scramblePassword(cipher, []byte(mc.cfg.Passwd)) + + pktLen := 4 + 4 + 1 + 23 + len(mc.cfg.User) + 1 + 1 + len(scrambleBuff) + 21 + 1 + + // To specify a db name + if n := len(mc.cfg.DBName); n > 0 { + clientFlags |= clientConnectWithDB + pktLen += n + 1 + } + + // Calculate packet length and get buffer with that size + data := mc.buf.takeSmallBuffer(pktLen + 4) + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // ClientFlags [32 bit] + data[4] = byte(clientFlags) + data[5] = byte(clientFlags >> 8) + data[6] = byte(clientFlags >> 16) + data[7] = byte(clientFlags >> 24) + + // MaxPacketSize [32 bit] (none) + data[8] = 0x00 + data[9] = 0x00 + data[10] = 0x00 + data[11] = 0x00 + + // Charset [1 byte] + var found bool + data[12], found = collations[mc.cfg.Collation] + if !found { + // Note possibility for false negatives: + // could be triggered although the collation is valid if the + // collations map does not contain entries the server supports. + return errors.New("unknown collation") + } + + // SSL Connection Request Packet + // http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::SSLRequest + if mc.cfg.tls != nil { + // Send TLS / SSL request packet + if err := mc.writePacket(data[:(4+4+1+23)+4]); err != nil { + return err + } + + // Switch to TLS + tlsConn := tls.Client(mc.netConn, mc.cfg.tls) + if err := tlsConn.Handshake(); err != nil { + return err + } + mc.netConn = tlsConn + mc.buf.nc = tlsConn + } + + // Filler [23 bytes] (all 0x00) + pos := 13 + for ; pos < 13+23; pos++ { + data[pos] = 0 + } + + // User [null terminated string] + if len(mc.cfg.User) > 0 { + pos += copy(data[pos:], mc.cfg.User) + } + data[pos] = 0x00 + pos++ + + // ScrambleBuffer [length encoded integer] + data[pos] = byte(len(scrambleBuff)) + pos += 1 + copy(data[pos+1:], scrambleBuff) + + // Databasename [null terminated string] + if len(mc.cfg.DBName) > 0 { + pos += copy(data[pos:], mc.cfg.DBName) + data[pos] = 0x00 + pos++ + } + + // Assume native client during response + pos += copy(data[pos:], "mysql_native_password") + data[pos] = 0x00 + + // Send Auth packet + return mc.writePacket(data) +} + +// Client old authentication packet +// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse +func (mc *mysqlConn) writeOldAuthPacket(cipher []byte) error { + // User password + // https://dev.mysql.com/doc/internals/en/old-password-authentication.html + // Old password authentication only need and will need 8-byte challenge. + scrambleBuff := scrambleOldPassword(cipher[:8], []byte(mc.cfg.Passwd)) + + // Calculate the packet length and add a tailing 0 + pktLen := len(scrambleBuff) + 1 + data := mc.buf.takeSmallBuffer(4 + pktLen) + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // Add the scrambled password [null terminated string] + copy(data[4:], scrambleBuff) + data[4+pktLen-1] = 0x00 + + return mc.writePacket(data) +} + +// Client clear text authentication packet +// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse +func (mc *mysqlConn) writeClearAuthPacket() error { + // Calculate the packet length and add a tailing 0 + pktLen := len(mc.cfg.Passwd) + 1 + data := mc.buf.takeSmallBuffer(4 + pktLen) + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // Add the clear password [null terminated string] + copy(data[4:], mc.cfg.Passwd) + data[4+pktLen-1] = 0x00 + + return mc.writePacket(data) +} + +// Native password authentication method +// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchResponse +func (mc *mysqlConn) writeNativeAuthPacket(cipher []byte) error { + // https://dev.mysql.com/doc/internals/en/secure-password-authentication.html + // Native password authentication only need and will need 20-byte challenge. + scrambleBuff := scramblePassword(cipher[0:20], []byte(mc.cfg.Passwd)) + + // Calculate the packet length and add a tailing 0 + pktLen := len(scrambleBuff) + data := mc.buf.takeSmallBuffer(4 + pktLen) + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // Add the scramble + copy(data[4:], scrambleBuff) + + return mc.writePacket(data) +} + +/****************************************************************************** +* Command Packets * +******************************************************************************/ + +func (mc *mysqlConn) writeCommandPacket(command byte) error { + // Reset Packet Sequence + mc.sequence = 0 + + data := mc.buf.takeSmallBuffer(4 + 1) + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // Add command byte + data[4] = command + + // Send CMD packet + return mc.writePacket(data) +} + +func (mc *mysqlConn) writeCommandPacketStr(command byte, arg string) error { + // Reset Packet Sequence + mc.sequence = 0 + + pktLen := 1 + len(arg) + data := mc.buf.takeBuffer(pktLen + 4) + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // Add command byte + data[4] = command + + // Add arg + copy(data[5:], arg) + + // Send CMD packet + return mc.writePacket(data) +} + +func (mc *mysqlConn) writeCommandPacketUint32(command byte, arg uint32) error { + // Reset Packet Sequence + mc.sequence = 0 + + data := mc.buf.takeSmallBuffer(4 + 1 + 4) + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // Add command byte + data[4] = command + + // Add arg [32 bit] + data[5] = byte(arg) + data[6] = byte(arg >> 8) + data[7] = byte(arg >> 16) + data[8] = byte(arg >> 24) + + // Send CMD packet + return mc.writePacket(data) +} + +/****************************************************************************** +* Result Packets * +******************************************************************************/ + +// Returns error if Packet is not an 'Result OK'-Packet +func (mc *mysqlConn) readResultOK() ([]byte, error) { + data, err := mc.readPacket() + if err == nil { + // packet indicator + switch data[0] { + + case iOK: + return nil, mc.handleOkPacket(data) + + case iEOF: + if len(data) > 1 { + pluginEndIndex := bytes.IndexByte(data, 0x00) + plugin := string(data[1:pluginEndIndex]) + cipher := data[pluginEndIndex+1:] + + switch plugin { + case "mysql_old_password": + // using old_passwords + return cipher, ErrOldPassword + case "mysql_clear_password": + // using clear text password + return cipher, ErrCleartextPassword + case "mysql_native_password": + // using mysql default authentication method + return cipher, ErrNativePassword + default: + return cipher, ErrUnknownPlugin + } + } + + // https://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::OldAuthSwitchRequest + return nil, ErrOldPassword + + default: // Error otherwise + return nil, mc.handleErrorPacket(data) + } + } + return nil, err +} + +// Result Set Header Packet +// http://dev.mysql.com/doc/internals/en/com-query-response.html#packet-ProtocolText::Resultset +func (mc *mysqlConn) readResultSetHeaderPacket() (int, error) { + data, err := mc.readPacket() + if err == nil { + switch data[0] { + + case iOK: + return 0, mc.handleOkPacket(data) + + case iERR: + return 0, mc.handleErrorPacket(data) + + case iLocalInFile: + return 0, mc.handleInFileRequest(string(data[1:])) + } + + // column count + num, _, n := readLengthEncodedInteger(data) + if n-len(data) == 0 { + return int(num), nil + } + + return 0, ErrMalformPkt + } + return 0, err +} + +// Error Packet +// http://dev.mysql.com/doc/internals/en/generic-response-packets.html#packet-ERR_Packet +func (mc *mysqlConn) handleErrorPacket(data []byte) error { + if data[0] != iERR { + return ErrMalformPkt + } + + // 0xff [1 byte] + + // Error Number [16 bit uint] + errno := binary.LittleEndian.Uint16(data[1:3]) + + // 1792: ER_CANT_EXECUTE_IN_READ_ONLY_TRANSACTION + if errno == 1792 && mc.cfg.RejectReadOnly { + // Oops; we are connected to a read-only connection, and won't be able + // to issue any write statements. Since RejectReadOnly is configured, + // we throw away this connection hoping this one would have write + // permission. This is specifically for a possible race condition + // during failover (e.g. on AWS Aurora). See README.md for more. + // + // We explicitly close the connection before returning + // driver.ErrBadConn to ensure that `database/sql` purges this + // connection and initiates a new one for next statement next time. + mc.Close() + return driver.ErrBadConn + } + + pos := 3 + + // SQL State [optional: # + 5bytes string] + if data[3] == 0x23 { + //sqlstate := string(data[4 : 4+5]) + pos = 9 + } + + // Error Message [string] + return &MySQLError{ + Number: errno, + Message: string(data[pos:]), + } +} + +func readStatus(b []byte) statusFlag { + return statusFlag(b[0]) | statusFlag(b[1])<<8 +} + +// Ok Packet +// http://dev.mysql.com/doc/internals/en/generic-response-packets.html#packet-OK_Packet +func (mc *mysqlConn) handleOkPacket(data []byte) error { + var n, m int + + // 0x00 [1 byte] + + // Affected rows [Length Coded Binary] + mc.affectedRows, _, n = readLengthEncodedInteger(data[1:]) + + // Insert id [Length Coded Binary] + mc.insertId, _, m = readLengthEncodedInteger(data[1+n:]) + + // server_status [2 bytes] + mc.status = readStatus(data[1+n+m : 1+n+m+2]) + if mc.status&statusMoreResultsExists != 0 { + return nil + } + + // warning count [2 bytes] + + return nil +} + +// Read Packets as Field Packets until EOF-Packet or an Error appears +// http://dev.mysql.com/doc/internals/en/com-query-response.html#packet-Protocol::ColumnDefinition41 +func (mc *mysqlConn) readColumns(count int) ([]mysqlField, error) { + columns := make([]mysqlField, count) + + for i := 0; ; i++ { + data, err := mc.readPacket() + if err != nil { + return nil, err + } + + // EOF Packet + if data[0] == iEOF && (len(data) == 5 || len(data) == 1) { + if i == count { + return columns, nil + } + return nil, fmt.Errorf("column count mismatch n:%d len:%d", count, len(columns)) + } + + // Catalog + pos, err := skipLengthEncodedString(data) + if err != nil { + return nil, err + } + + // Database [len coded string] + n, err := skipLengthEncodedString(data[pos:]) + if err != nil { + return nil, err + } + pos += n + + // Table [len coded string] + if mc.cfg.ColumnsWithAlias { + tableName, _, n, err := readLengthEncodedString(data[pos:]) + if err != nil { + return nil, err + } + pos += n + columns[i].tableName = string(tableName) + } else { + n, err = skipLengthEncodedString(data[pos:]) + if err != nil { + return nil, err + } + pos += n + } + + // Original table [len coded string] + n, err = skipLengthEncodedString(data[pos:]) + if err != nil { + return nil, err + } + pos += n + + // Name [len coded string] + name, _, n, err := readLengthEncodedString(data[pos:]) + if err != nil { + return nil, err + } + columns[i].name = string(name) + pos += n + + // Original name [len coded string] + n, err = skipLengthEncodedString(data[pos:]) + if err != nil { + return nil, err + } + + // Filler [uint8] + // Charset [charset, collation uint8] + // Length [uint32] + pos += n + 1 + 2 + 4 + + // Field type [uint8] + columns[i].fieldType = data[pos] + pos++ + + // Flags [uint16] + columns[i].flags = fieldFlag(binary.LittleEndian.Uint16(data[pos : pos+2])) + pos += 2 + + // Decimals [uint8] + columns[i].decimals = data[pos] + //pos++ + + // Default value [len coded binary] + //if pos < len(data) { + // defaultVal, _, err = bytesToLengthCodedBinary(data[pos:]) + //} + } +} + +// Read Packets as Field Packets until EOF-Packet or an Error appears +// http://dev.mysql.com/doc/internals/en/com-query-response.html#packet-ProtocolText::ResultsetRow +func (rows *textRows) readRow(dest []driver.Value) error { + mc := rows.mc + + if rows.rs.done { + return io.EOF + } + + data, err := mc.readPacket() + if err != nil { + return err + } + + // EOF Packet + if data[0] == iEOF && len(data) == 5 { + // server_status [2 bytes] + rows.mc.status = readStatus(data[3:]) + rows.rs.done = true + if !rows.HasNextResultSet() { + rows.mc = nil + } + return io.EOF + } + if data[0] == iERR { + rows.mc = nil + return mc.handleErrorPacket(data) + } + + // RowSet Packet + var n int + var isNull bool + pos := 0 + + for i := range dest { + // Read bytes and convert to string + dest[i], isNull, n, err = readLengthEncodedString(data[pos:]) + pos += n + if err == nil { + if !isNull { + if !mc.parseTime { + continue + } else { + switch rows.rs.columns[i].fieldType { + case fieldTypeTimestamp, fieldTypeDateTime, + fieldTypeDate, fieldTypeNewDate: + dest[i], err = parseDateTime( + string(dest[i].([]byte)), + mc.cfg.Loc, + ) + if err == nil { + continue + } + default: + continue + } + } + + } else { + dest[i] = nil + continue + } + } + return err // err != nil + } + + return nil +} + +// Reads Packets until EOF-Packet or an Error appears. Returns count of Packets read +func (mc *mysqlConn) readUntilEOF() error { + for { + data, err := mc.readPacket() + if err != nil { + return err + } + + switch data[0] { + case iERR: + return mc.handleErrorPacket(data) + case iEOF: + if len(data) == 5 { + mc.status = readStatus(data[3:]) + } + return nil + } + } +} + +/****************************************************************************** +* Prepared Statements * +******************************************************************************/ + +// Prepare Result Packets +// http://dev.mysql.com/doc/internals/en/com-stmt-prepare-response.html +func (stmt *mysqlStmt) readPrepareResultPacket() (uint16, error) { + data, err := stmt.mc.readPacket() + if err == nil { + // packet indicator [1 byte] + if data[0] != iOK { + return 0, stmt.mc.handleErrorPacket(data) + } + + // statement id [4 bytes] + stmt.id = binary.LittleEndian.Uint32(data[1:5]) + + // Column count [16 bit uint] + columnCount := binary.LittleEndian.Uint16(data[5:7]) + + // Param count [16 bit uint] + stmt.paramCount = int(binary.LittleEndian.Uint16(data[7:9])) + + // Reserved [8 bit] + + // Warning count [16 bit uint] + + return columnCount, nil + } + return 0, err +} + +// http://dev.mysql.com/doc/internals/en/com-stmt-send-long-data.html +func (stmt *mysqlStmt) writeCommandLongData(paramID int, arg []byte) error { + maxLen := stmt.mc.maxAllowedPacket - 1 + pktLen := maxLen + + // After the header (bytes 0-3) follows before the data: + // 1 byte command + // 4 bytes stmtID + // 2 bytes paramID + const dataOffset = 1 + 4 + 2 + + // Can not use the write buffer since + // a) the buffer is too small + // b) it is in use + data := make([]byte, 4+1+4+2+len(arg)) + + copy(data[4+dataOffset:], arg) + + for argLen := len(arg); argLen > 0; argLen -= pktLen - dataOffset { + if dataOffset+argLen < maxLen { + pktLen = dataOffset + argLen + } + + stmt.mc.sequence = 0 + // Add command byte [1 byte] + data[4] = comStmtSendLongData + + // Add stmtID [32 bit] + data[5] = byte(stmt.id) + data[6] = byte(stmt.id >> 8) + data[7] = byte(stmt.id >> 16) + data[8] = byte(stmt.id >> 24) + + // Add paramID [16 bit] + data[9] = byte(paramID) + data[10] = byte(paramID >> 8) + + // Send CMD packet + err := stmt.mc.writePacket(data[:4+pktLen]) + if err == nil { + data = data[pktLen-dataOffset:] + continue + } + return err + + } + + // Reset Packet Sequence + stmt.mc.sequence = 0 + return nil +} + +// Execute Prepared Statement +// http://dev.mysql.com/doc/internals/en/com-stmt-execute.html +func (stmt *mysqlStmt) writeExecutePacket(args []driver.Value) error { + if len(args) != stmt.paramCount { + return fmt.Errorf( + "argument count mismatch (got: %d; has: %d)", + len(args), + stmt.paramCount, + ) + } + + const minPktLen = 4 + 1 + 4 + 1 + 4 + mc := stmt.mc + + // Reset packet-sequence + mc.sequence = 0 + + var data []byte + + if len(args) == 0 { + data = mc.buf.takeBuffer(minPktLen) + } else { + data = mc.buf.takeCompleteBuffer() + } + if data == nil { + // can not take the buffer. Something must be wrong with the connection + errLog.Print(ErrBusyBuffer) + return errBadConnNoWrite + } + + // command [1 byte] + data[4] = comStmtExecute + + // statement_id [4 bytes] + data[5] = byte(stmt.id) + data[6] = byte(stmt.id >> 8) + data[7] = byte(stmt.id >> 16) + data[8] = byte(stmt.id >> 24) + + // flags (0: CURSOR_TYPE_NO_CURSOR) [1 byte] + data[9] = 0x00 + + // iteration_count (uint32(1)) [4 bytes] + data[10] = 0x01 + data[11] = 0x00 + data[12] = 0x00 + data[13] = 0x00 + + if len(args) > 0 { + pos := minPktLen + + var nullMask []byte + if maskLen, typesLen := (len(args)+7)/8, 1+2*len(args); pos+maskLen+typesLen >= len(data) { + // buffer has to be extended but we don't know by how much so + // we depend on append after all data with known sizes fit. + // We stop at that because we deal with a lot of columns here + // which makes the required allocation size hard to guess. + tmp := make([]byte, pos+maskLen+typesLen) + copy(tmp[:pos], data[:pos]) + data = tmp + nullMask = data[pos : pos+maskLen] + pos += maskLen + } else { + nullMask = data[pos : pos+maskLen] + for i := 0; i < maskLen; i++ { + nullMask[i] = 0 + } + pos += maskLen + } + + // newParameterBoundFlag 1 [1 byte] + data[pos] = 0x01 + pos++ + + // type of each parameter [len(args)*2 bytes] + paramTypes := data[pos:] + pos += len(args) * 2 + + // value of each parameter [n bytes] + paramValues := data[pos:pos] + valuesCap := cap(paramValues) + + for i, arg := range args { + // build NULL-bitmap + if arg == nil { + nullMask[i/8] |= 1 << (uint(i) & 7) + paramTypes[i+i] = fieldTypeNULL + paramTypes[i+i+1] = 0x00 + continue + } + + // cache types and values + switch v := arg.(type) { + case int64: + paramTypes[i+i] = fieldTypeLongLong + paramTypes[i+i+1] = 0x00 + + if cap(paramValues)-len(paramValues)-8 >= 0 { + paramValues = paramValues[:len(paramValues)+8] + binary.LittleEndian.PutUint64( + paramValues[len(paramValues)-8:], + uint64(v), + ) + } else { + paramValues = append(paramValues, + uint64ToBytes(uint64(v))..., + ) + } + + case float64: + paramTypes[i+i] = fieldTypeDouble + paramTypes[i+i+1] = 0x00 + + if cap(paramValues)-len(paramValues)-8 >= 0 { + paramValues = paramValues[:len(paramValues)+8] + binary.LittleEndian.PutUint64( + paramValues[len(paramValues)-8:], + math.Float64bits(v), + ) + } else { + paramValues = append(paramValues, + uint64ToBytes(math.Float64bits(v))..., + ) + } + + case bool: + paramTypes[i+i] = fieldTypeTiny + paramTypes[i+i+1] = 0x00 + + if v { + paramValues = append(paramValues, 0x01) + } else { + paramValues = append(paramValues, 0x00) + } + + case []byte: + // Common case (non-nil value) first + if v != nil { + paramTypes[i+i] = fieldTypeString + paramTypes[i+i+1] = 0x00 + + if len(v) < mc.maxAllowedPacket-pos-len(paramValues)-(len(args)-(i+1))*64 { + paramValues = appendLengthEncodedInteger(paramValues, + uint64(len(v)), + ) + paramValues = append(paramValues, v...) + } else { + if err := stmt.writeCommandLongData(i, v); err != nil { + return err + } + } + continue + } + + // Handle []byte(nil) as a NULL value + nullMask[i/8] |= 1 << (uint(i) & 7) + paramTypes[i+i] = fieldTypeNULL + paramTypes[i+i+1] = 0x00 + + case string: + paramTypes[i+i] = fieldTypeString + paramTypes[i+i+1] = 0x00 + + if len(v) < mc.maxAllowedPacket-pos-len(paramValues)-(len(args)-(i+1))*64 { + paramValues = appendLengthEncodedInteger(paramValues, + uint64(len(v)), + ) + paramValues = append(paramValues, v...) + } else { + if err := stmt.writeCommandLongData(i, []byte(v)); err != nil { + return err + } + } + + case time.Time: + paramTypes[i+i] = fieldTypeString + paramTypes[i+i+1] = 0x00 + + var a [64]byte + var b = a[:0] + + if v.IsZero() { + b = append(b, "0000-00-00"...) + } else { + b = v.In(mc.cfg.Loc).AppendFormat(b, timeFormat) + } + + paramValues = appendLengthEncodedInteger(paramValues, + uint64(len(b)), + ) + paramValues = append(paramValues, b...) + + default: + return fmt.Errorf("can not convert type: %T", arg) + } + } + + // Check if param values exceeded the available buffer + // In that case we must build the data packet with the new values buffer + if valuesCap != cap(paramValues) { + data = append(data[:pos], paramValues...) + mc.buf.buf = data + } + + pos += len(paramValues) + data = data[:pos] + } + + return mc.writePacket(data) +} + +func (mc *mysqlConn) discardResults() error { + for mc.status&statusMoreResultsExists != 0 { + resLen, err := mc.readResultSetHeaderPacket() + if err != nil { + return err + } + if resLen > 0 { + // columns + if err := mc.readUntilEOF(); err != nil { + return err + } + // rows + if err := mc.readUntilEOF(); err != nil { + return err + } + } + } + return nil +} + +// http://dev.mysql.com/doc/internals/en/binary-protocol-resultset-row.html +func (rows *binaryRows) readRow(dest []driver.Value) error { + data, err := rows.mc.readPacket() + if err != nil { + return err + } + + // packet indicator [1 byte] + if data[0] != iOK { + // EOF Packet + if data[0] == iEOF && len(data) == 5 { + rows.mc.status = readStatus(data[3:]) + rows.rs.done = true + if !rows.HasNextResultSet() { + rows.mc = nil + } + return io.EOF + } + rows.mc = nil + + // Error otherwise + return rows.mc.handleErrorPacket(data) + } + + // NULL-bitmap, [(column-count + 7 + 2) / 8 bytes] + pos := 1 + (len(dest)+7+2)>>3 + nullMask := data[1:pos] + + for i := range dest { + // Field is NULL + // (byte >> bit-pos) % 2 == 1 + if ((nullMask[(i+2)>>3] >> uint((i+2)&7)) & 1) == 1 { + dest[i] = nil + continue + } + + // Convert to byte-coded string + switch rows.rs.columns[i].fieldType { + case fieldTypeNULL: + dest[i] = nil + continue + + // Numeric Types + case fieldTypeTiny: + if rows.rs.columns[i].flags&flagUnsigned != 0 { + dest[i] = int64(data[pos]) + } else { + dest[i] = int64(int8(data[pos])) + } + pos++ + continue + + case fieldTypeShort, fieldTypeYear: + if rows.rs.columns[i].flags&flagUnsigned != 0 { + dest[i] = int64(binary.LittleEndian.Uint16(data[pos : pos+2])) + } else { + dest[i] = int64(int16(binary.LittleEndian.Uint16(data[pos : pos+2]))) + } + pos += 2 + continue + + case fieldTypeInt24, fieldTypeLong: + if rows.rs.columns[i].flags&flagUnsigned != 0 { + dest[i] = int64(binary.LittleEndian.Uint32(data[pos : pos+4])) + } else { + dest[i] = int64(int32(binary.LittleEndian.Uint32(data[pos : pos+4]))) + } + pos += 4 + continue + + case fieldTypeLongLong: + if rows.rs.columns[i].flags&flagUnsigned != 0 { + val := binary.LittleEndian.Uint64(data[pos : pos+8]) + if val > math.MaxInt64 { + dest[i] = uint64ToString(val) + } else { + dest[i] = int64(val) + } + } else { + dest[i] = int64(binary.LittleEndian.Uint64(data[pos : pos+8])) + } + pos += 8 + continue + + case fieldTypeFloat: + dest[i] = math.Float32frombits(binary.LittleEndian.Uint32(data[pos : pos+4])) + pos += 4 + continue + + case fieldTypeDouble: + dest[i] = math.Float64frombits(binary.LittleEndian.Uint64(data[pos : pos+8])) + pos += 8 + continue + + // Length coded Binary Strings + case fieldTypeDecimal, fieldTypeNewDecimal, fieldTypeVarChar, + fieldTypeBit, fieldTypeEnum, fieldTypeSet, fieldTypeTinyBLOB, + fieldTypeMediumBLOB, fieldTypeLongBLOB, fieldTypeBLOB, + fieldTypeVarString, fieldTypeString, fieldTypeGeometry, fieldTypeJSON: + var isNull bool + var n int + dest[i], isNull, n, err = readLengthEncodedString(data[pos:]) + pos += n + if err == nil { + if !isNull { + continue + } else { + dest[i] = nil + continue + } + } + return err + + case + fieldTypeDate, fieldTypeNewDate, // Date YYYY-MM-DD + fieldTypeTime, // Time [-][H]HH:MM:SS[.fractal] + fieldTypeTimestamp, fieldTypeDateTime: // Timestamp YYYY-MM-DD HH:MM:SS[.fractal] + + num, isNull, n := readLengthEncodedInteger(data[pos:]) + pos += n + + switch { + case isNull: + dest[i] = nil + continue + case rows.rs.columns[i].fieldType == fieldTypeTime: + // database/sql does not support an equivalent to TIME, return a string + var dstlen uint8 + switch decimals := rows.rs.columns[i].decimals; decimals { + case 0x00, 0x1f: + dstlen = 8 + case 1, 2, 3, 4, 5, 6: + dstlen = 8 + 1 + decimals + default: + return fmt.Errorf( + "protocol error, illegal decimals value %d", + rows.rs.columns[i].decimals, + ) + } + dest[i], err = formatBinaryDateTime(data[pos:pos+int(num)], dstlen, true) + case rows.mc.parseTime: + dest[i], err = parseBinaryDateTime(num, data[pos:], rows.mc.cfg.Loc) + default: + var dstlen uint8 + if rows.rs.columns[i].fieldType == fieldTypeDate { + dstlen = 10 + } else { + switch decimals := rows.rs.columns[i].decimals; decimals { + case 0x00, 0x1f: + dstlen = 19 + case 1, 2, 3, 4, 5, 6: + dstlen = 19 + 1 + decimals + default: + return fmt.Errorf( + "protocol error, illegal decimals value %d", + rows.rs.columns[i].decimals, + ) + } + } + dest[i], err = formatBinaryDateTime(data[pos:pos+int(num)], dstlen, false) + } + + if err == nil { + pos += int(num) + continue + } else { + return err + } + + // Please report if this happens! + default: + return fmt.Errorf("unknown field type %d", rows.rs.columns[i].fieldType) + } + } + + return nil +} diff --git a/vendor/github.com/go-sql-driver/mysql/result.go b/vendor/github.com/go-sql-driver/mysql/result.go new file mode 100644 index 000000000..c6438d034 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/result.go @@ -0,0 +1,22 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +type mysqlResult struct { + affectedRows int64 + insertId int64 +} + +func (res *mysqlResult) LastInsertId() (int64, error) { + return res.insertId, nil +} + +func (res *mysqlResult) RowsAffected() (int64, error) { + return res.affectedRows, nil +} diff --git a/vendor/github.com/go-sql-driver/mysql/rows.go b/vendor/github.com/go-sql-driver/mysql/rows.go new file mode 100644 index 000000000..c7f5ee26c --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/rows.go @@ -0,0 +1,184 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "database/sql/driver" + "io" +) + +type mysqlField struct { + tableName string + name string + flags fieldFlag + fieldType byte + decimals byte +} + +type resultSet struct { + columns []mysqlField + columnNames []string + done bool +} + +type mysqlRows struct { + mc *mysqlConn + rs resultSet + finish func() +} + +type binaryRows struct { + mysqlRows +} + +type textRows struct { + mysqlRows +} + +func (rows *mysqlRows) Columns() []string { + if rows.rs.columnNames != nil { + return rows.rs.columnNames + } + + columns := make([]string, len(rows.rs.columns)) + if rows.mc != nil && rows.mc.cfg.ColumnsWithAlias { + for i := range columns { + if tableName := rows.rs.columns[i].tableName; len(tableName) > 0 { + columns[i] = tableName + "." + rows.rs.columns[i].name + } else { + columns[i] = rows.rs.columns[i].name + } + } + } else { + for i := range columns { + columns[i] = rows.rs.columns[i].name + } + } + + rows.rs.columnNames = columns + return columns +} + +func (rows *mysqlRows) Close() (err error) { + if f := rows.finish; f != nil { + f() + rows.finish = nil + } + + mc := rows.mc + if mc == nil { + return nil + } + if err := mc.error(); err != nil { + return err + } + + // Remove unread packets from stream + if !rows.rs.done { + err = mc.readUntilEOF() + } + if err == nil { + if err = mc.discardResults(); err != nil { + return err + } + } + + rows.mc = nil + return err +} + +func (rows *mysqlRows) HasNextResultSet() (b bool) { + if rows.mc == nil { + return false + } + return rows.mc.status&statusMoreResultsExists != 0 +} + +func (rows *mysqlRows) nextResultSet() (int, error) { + if rows.mc == nil { + return 0, io.EOF + } + if err := rows.mc.error(); err != nil { + return 0, err + } + + // Remove unread packets from stream + if !rows.rs.done { + if err := rows.mc.readUntilEOF(); err != nil { + return 0, err + } + rows.rs.done = true + } + + if !rows.HasNextResultSet() { + rows.mc = nil + return 0, io.EOF + } + rows.rs = resultSet{} + return rows.mc.readResultSetHeaderPacket() +} + +func (rows *mysqlRows) nextNotEmptyResultSet() (int, error) { + for { + resLen, err := rows.nextResultSet() + if err != nil { + return 0, err + } + + if resLen > 0 { + return resLen, nil + } + + rows.rs.done = true + } +} + +func (rows *binaryRows) NextResultSet() error { + resLen, err := rows.nextNotEmptyResultSet() + if err != nil { + return err + } + + rows.rs.columns, err = rows.mc.readColumns(resLen) + return err +} + +func (rows *binaryRows) Next(dest []driver.Value) error { + if mc := rows.mc; mc != nil { + if err := mc.error(); err != nil { + return err + } + + // Fetch next row from stream + return rows.readRow(dest) + } + return io.EOF +} + +func (rows *textRows) NextResultSet() (err error) { + resLen, err := rows.nextNotEmptyResultSet() + if err != nil { + return err + } + + rows.rs.columns, err = rows.mc.readColumns(resLen) + return err +} + +func (rows *textRows) Next(dest []driver.Value) error { + if mc := rows.mc; mc != nil { + if err := mc.error(); err != nil { + return err + } + + // Fetch next row from stream + return rows.readRow(dest) + } + return io.EOF +} diff --git a/vendor/github.com/go-sql-driver/mysql/statement.go b/vendor/github.com/go-sql-driver/mysql/statement.go new file mode 100644 index 000000000..ae223507f --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/statement.go @@ -0,0 +1,162 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "database/sql/driver" + "fmt" + "io" + "reflect" + "strconv" +) + +type mysqlStmt struct { + mc *mysqlConn + id uint32 + paramCount int +} + +func (stmt *mysqlStmt) Close() error { + if stmt.mc == nil || stmt.mc.closed.IsSet() { + // driver.Stmt.Close can be called more than once, thus this function + // has to be idempotent. + // See also Issue #450 and golang/go#16019. + //errLog.Print(ErrInvalidConn) + return driver.ErrBadConn + } + + err := stmt.mc.writeCommandPacketUint32(comStmtClose, stmt.id) + stmt.mc = nil + return err +} + +func (stmt *mysqlStmt) NumInput() int { + return stmt.paramCount +} + +func (stmt *mysqlStmt) ColumnConverter(idx int) driver.ValueConverter { + return converter{} +} + +func (stmt *mysqlStmt) Exec(args []driver.Value) (driver.Result, error) { + if stmt.mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return nil, driver.ErrBadConn + } + // Send command + err := stmt.writeExecutePacket(args) + if err != nil { + return nil, stmt.mc.markBadConn(err) + } + + mc := stmt.mc + + mc.affectedRows = 0 + mc.insertId = 0 + + // Read Result + resLen, err := mc.readResultSetHeaderPacket() + if err != nil { + return nil, err + } + + if resLen > 0 { + // Columns + if err = mc.readUntilEOF(); err != nil { + return nil, err + } + + // Rows + if err := mc.readUntilEOF(); err != nil { + return nil, err + } + } + + if err := mc.discardResults(); err != nil { + return nil, err + } + + return &mysqlResult{ + affectedRows: int64(mc.affectedRows), + insertId: int64(mc.insertId), + }, nil +} + +func (stmt *mysqlStmt) Query(args []driver.Value) (driver.Rows, error) { + return stmt.query(args) +} + +func (stmt *mysqlStmt) query(args []driver.Value) (*binaryRows, error) { + if stmt.mc.closed.IsSet() { + errLog.Print(ErrInvalidConn) + return nil, driver.ErrBadConn + } + // Send command + err := stmt.writeExecutePacket(args) + if err != nil { + return nil, stmt.mc.markBadConn(err) + } + + mc := stmt.mc + + // Read Result + resLen, err := mc.readResultSetHeaderPacket() + if err != nil { + return nil, err + } + + rows := new(binaryRows) + + if resLen > 0 { + rows.mc = mc + rows.rs.columns, err = mc.readColumns(resLen) + } else { + rows.rs.done = true + + switch err := rows.NextResultSet(); err { + case nil, io.EOF: + return rows, nil + default: + return nil, err + } + } + + return rows, err +} + +type converter struct{} + +func (c converter) ConvertValue(v interface{}) (driver.Value, error) { + if driver.IsValue(v) { + return v, nil + } + + rv := reflect.ValueOf(v) + switch rv.Kind() { + case reflect.Ptr: + // indirect pointers + if rv.IsNil() { + return nil, nil + } + return c.ConvertValue(rv.Elem().Interface()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return rv.Int(), nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32: + return int64(rv.Uint()), nil + case reflect.Uint64: + u64 := rv.Uint() + if u64 >= 1<<63 { + return strconv.FormatUint(u64, 10), nil + } + return int64(u64), nil + case reflect.Float32, reflect.Float64: + return rv.Float(), nil + } + return nil, fmt.Errorf("unsupported type %T, a %s", v, rv.Kind()) +} diff --git a/vendor/github.com/go-sql-driver/mysql/transaction.go b/vendor/github.com/go-sql-driver/mysql/transaction.go new file mode 100644 index 000000000..417d72793 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/transaction.go @@ -0,0 +1,31 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +type mysqlTx struct { + mc *mysqlConn +} + +func (tx *mysqlTx) Commit() (err error) { + if tx.mc == nil || tx.mc.closed.IsSet() { + return ErrInvalidConn + } + err = tx.mc.exec("COMMIT") + tx.mc = nil + return +} + +func (tx *mysqlTx) Rollback() (err error) { + if tx.mc == nil || tx.mc.closed.IsSet() { + return ErrInvalidConn + } + err = tx.mc.exec("ROLLBACK") + tx.mc = nil + return +} diff --git a/vendor/github.com/go-sql-driver/mysql/utils.go b/vendor/github.com/go-sql-driver/mysql/utils.go new file mode 100644 index 000000000..82da83099 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/utils.go @@ -0,0 +1,822 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2012 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +package mysql + +import ( + "crypto/sha1" + "crypto/tls" + "database/sql/driver" + "encoding/binary" + "fmt" + "io" + "strings" + "sync" + "sync/atomic" + "time" +) + +var ( + tlsConfigLock sync.RWMutex + tlsConfigRegister map[string]*tls.Config // Register for custom tls.Configs +) + +// RegisterTLSConfig registers a custom tls.Config to be used with sql.Open. +// Use the key as a value in the DSN where tls=value. +// +// Note: The tls.Config provided to needs to be exclusively owned by the driver after registering. +// +// rootCertPool := x509.NewCertPool() +// pem, err := ioutil.ReadFile("/path/ca-cert.pem") +// if err != nil { +// log.Fatal(err) +// } +// if ok := rootCertPool.AppendCertsFromPEM(pem); !ok { +// log.Fatal("Failed to append PEM.") +// } +// clientCert := make([]tls.Certificate, 0, 1) +// certs, err := tls.LoadX509KeyPair("/path/client-cert.pem", "/path/client-key.pem") +// if err != nil { +// log.Fatal(err) +// } +// clientCert = append(clientCert, certs) +// mysql.RegisterTLSConfig("custom", &tls.Config{ +// RootCAs: rootCertPool, +// Certificates: clientCert, +// }) +// db, err := sql.Open("mysql", "user@tcp(localhost:3306)/test?tls=custom") +// +func RegisterTLSConfig(key string, config *tls.Config) error { + if _, isBool := readBool(key); isBool || strings.ToLower(key) == "skip-verify" { + return fmt.Errorf("key '%s' is reserved", key) + } + + tlsConfigLock.Lock() + if tlsConfigRegister == nil { + tlsConfigRegister = make(map[string]*tls.Config) + } + + tlsConfigRegister[key] = config + tlsConfigLock.Unlock() + return nil +} + +// DeregisterTLSConfig removes the tls.Config associated with key. +func DeregisterTLSConfig(key string) { + tlsConfigLock.Lock() + if tlsConfigRegister != nil { + delete(tlsConfigRegister, key) + } + tlsConfigLock.Unlock() +} + +func getTLSConfigClone(key string) (config *tls.Config) { + tlsConfigLock.RLock() + if v, ok := tlsConfigRegister[key]; ok { + config = cloneTLSConfig(v) + } + tlsConfigLock.RUnlock() + return +} + +// Returns the bool value of the input. +// The 2nd return value indicates if the input was a valid bool value +func readBool(input string) (value bool, valid bool) { + switch input { + case "1", "true", "TRUE", "True": + return true, true + case "0", "false", "FALSE", "False": + return false, true + } + + // Not a valid bool value + return +} + +/****************************************************************************** +* Authentication * +******************************************************************************/ + +// Encrypt password using 4.1+ method +func scramblePassword(scramble, password []byte) []byte { + if len(password) == 0 { + return nil + } + + // stage1Hash = SHA1(password) + crypt := sha1.New() + crypt.Write(password) + stage1 := crypt.Sum(nil) + + // scrambleHash = SHA1(scramble + SHA1(stage1Hash)) + // inner Hash + crypt.Reset() + crypt.Write(stage1) + hash := crypt.Sum(nil) + + // outer Hash + crypt.Reset() + crypt.Write(scramble) + crypt.Write(hash) + scramble = crypt.Sum(nil) + + // token = scrambleHash XOR stage1Hash + for i := range scramble { + scramble[i] ^= stage1[i] + } + return scramble +} + +// Encrypt password using pre 4.1 (old password) method +// https://github.com/atcurtis/mariadb/blob/master/mysys/my_rnd.c +type myRnd struct { + seed1, seed2 uint32 +} + +const myRndMaxVal = 0x3FFFFFFF + +// Pseudo random number generator +func newMyRnd(seed1, seed2 uint32) *myRnd { + return &myRnd{ + seed1: seed1 % myRndMaxVal, + seed2: seed2 % myRndMaxVal, + } +} + +// Tested to be equivalent to MariaDB's floating point variant +// http://play.golang.org/p/QHvhd4qved +// http://play.golang.org/p/RG0q4ElWDx +func (r *myRnd) NextByte() byte { + r.seed1 = (r.seed1*3 + r.seed2) % myRndMaxVal + r.seed2 = (r.seed1 + r.seed2 + 33) % myRndMaxVal + + return byte(uint64(r.seed1) * 31 / myRndMaxVal) +} + +// Generate binary hash from byte string using insecure pre 4.1 method +func pwHash(password []byte) (result [2]uint32) { + var add uint32 = 7 + var tmp uint32 + + result[0] = 1345345333 + result[1] = 0x12345671 + + for _, c := range password { + // skip spaces and tabs in password + if c == ' ' || c == '\t' { + continue + } + + tmp = uint32(c) + result[0] ^= (((result[0] & 63) + add) * tmp) + (result[0] << 8) + result[1] += (result[1] << 8) ^ result[0] + add += tmp + } + + // Remove sign bit (1<<31)-1) + result[0] &= 0x7FFFFFFF + result[1] &= 0x7FFFFFFF + + return +} + +// Encrypt password using insecure pre 4.1 method +func scrambleOldPassword(scramble, password []byte) []byte { + if len(password) == 0 { + return nil + } + + scramble = scramble[:8] + + hashPw := pwHash(password) + hashSc := pwHash(scramble) + + r := newMyRnd(hashPw[0]^hashSc[0], hashPw[1]^hashSc[1]) + + var out [8]byte + for i := range out { + out[i] = r.NextByte() + 64 + } + + mask := r.NextByte() + for i := range out { + out[i] ^= mask + } + + return out[:] +} + +/****************************************************************************** +* Time related utils * +******************************************************************************/ + +// NullTime represents a time.Time that may be NULL. +// NullTime implements the Scanner interface so +// it can be used as a scan destination: +// +// var nt NullTime +// err := db.QueryRow("SELECT time FROM foo WHERE id=?", id).Scan(&nt) +// ... +// if nt.Valid { +// // use nt.Time +// } else { +// // NULL value +// } +// +// This NullTime implementation is not driver-specific +type NullTime struct { + Time time.Time + Valid bool // Valid is true if Time is not NULL +} + +// Scan implements the Scanner interface. +// The value type must be time.Time or string / []byte (formatted time-string), +// otherwise Scan fails. +func (nt *NullTime) Scan(value interface{}) (err error) { + if value == nil { + nt.Time, nt.Valid = time.Time{}, false + return + } + + switch v := value.(type) { + case time.Time: + nt.Time, nt.Valid = v, true + return + case []byte: + nt.Time, err = parseDateTime(string(v), time.UTC) + nt.Valid = (err == nil) + return + case string: + nt.Time, err = parseDateTime(v, time.UTC) + nt.Valid = (err == nil) + return + } + + nt.Valid = false + return fmt.Errorf("Can't convert %T to time.Time", value) +} + +// Value implements the driver Valuer interface. +func (nt NullTime) Value() (driver.Value, error) { + if !nt.Valid { + return nil, nil + } + return nt.Time, nil +} + +func parseDateTime(str string, loc *time.Location) (t time.Time, err error) { + base := "0000-00-00 00:00:00.0000000" + switch len(str) { + case 10, 19, 21, 22, 23, 24, 25, 26: // up to "YYYY-MM-DD HH:MM:SS.MMMMMM" + if str == base[:len(str)] { + return + } + t, err = time.Parse(timeFormat[:len(str)], str) + default: + err = fmt.Errorf("invalid time string: %s", str) + return + } + + // Adjust location + if err == nil && loc != time.UTC { + y, mo, d := t.Date() + h, mi, s := t.Clock() + t, err = time.Date(y, mo, d, h, mi, s, t.Nanosecond(), loc), nil + } + + return +} + +func parseBinaryDateTime(num uint64, data []byte, loc *time.Location) (driver.Value, error) { + switch num { + case 0: + return time.Time{}, nil + case 4: + return time.Date( + int(binary.LittleEndian.Uint16(data[:2])), // year + time.Month(data[2]), // month + int(data[3]), // day + 0, 0, 0, 0, + loc, + ), nil + case 7: + return time.Date( + int(binary.LittleEndian.Uint16(data[:2])), // year + time.Month(data[2]), // month + int(data[3]), // day + int(data[4]), // hour + int(data[5]), // minutes + int(data[6]), // seconds + 0, + loc, + ), nil + case 11: + return time.Date( + int(binary.LittleEndian.Uint16(data[:2])), // year + time.Month(data[2]), // month + int(data[3]), // day + int(data[4]), // hour + int(data[5]), // minutes + int(data[6]), // seconds + int(binary.LittleEndian.Uint32(data[7:11]))*1000, // nanoseconds + loc, + ), nil + } + return nil, fmt.Errorf("invalid DATETIME packet length %d", num) +} + +// zeroDateTime is used in formatBinaryDateTime to avoid an allocation +// if the DATE or DATETIME has the zero value. +// It must never be changed. +// The current behavior depends on database/sql copying the result. +var zeroDateTime = []byte("0000-00-00 00:00:00.000000") + +const digits01 = "0123456789012345678901234567890123456789012345678901234567890123456789012345678901234567890123456789" +const digits10 = "0000000000111111111122222222223333333333444444444455555555556666666666777777777788888888889999999999" + +func formatBinaryDateTime(src []byte, length uint8, justTime bool) (driver.Value, error) { + // length expects the deterministic length of the zero value, + // negative time and 100+ hours are automatically added if needed + if len(src) == 0 { + if justTime { + return zeroDateTime[11 : 11+length], nil + } + return zeroDateTime[:length], nil + } + var dst []byte // return value + var pt, p1, p2, p3 byte // current digit pair + var zOffs byte // offset of value in zeroDateTime + if justTime { + switch length { + case + 8, // time (can be up to 10 when negative and 100+ hours) + 10, 11, 12, 13, 14, 15: // time with fractional seconds + default: + return nil, fmt.Errorf("illegal TIME length %d", length) + } + switch len(src) { + case 8, 12: + default: + return nil, fmt.Errorf("invalid TIME packet length %d", len(src)) + } + // +2 to enable negative time and 100+ hours + dst = make([]byte, 0, length+2) + if src[0] == 1 { + dst = append(dst, '-') + } + if src[1] != 0 { + hour := uint16(src[1])*24 + uint16(src[5]) + pt = byte(hour / 100) + p1 = byte(hour - 100*uint16(pt)) + dst = append(dst, digits01[pt]) + } else { + p1 = src[5] + } + zOffs = 11 + src = src[6:] + } else { + switch length { + case 10, 19, 21, 22, 23, 24, 25, 26: + default: + t := "DATE" + if length > 10 { + t += "TIME" + } + return nil, fmt.Errorf("illegal %s length %d", t, length) + } + switch len(src) { + case 4, 7, 11: + default: + t := "DATE" + if length > 10 { + t += "TIME" + } + return nil, fmt.Errorf("illegal %s packet length %d", t, len(src)) + } + dst = make([]byte, 0, length) + // start with the date + year := binary.LittleEndian.Uint16(src[:2]) + pt = byte(year / 100) + p1 = byte(year - 100*uint16(pt)) + p2, p3 = src[2], src[3] + dst = append(dst, + digits10[pt], digits01[pt], + digits10[p1], digits01[p1], '-', + digits10[p2], digits01[p2], '-', + digits10[p3], digits01[p3], + ) + if length == 10 { + return dst, nil + } + if len(src) == 4 { + return append(dst, zeroDateTime[10:length]...), nil + } + dst = append(dst, ' ') + p1 = src[4] // hour + src = src[5:] + } + // p1 is 2-digit hour, src is after hour + p2, p3 = src[0], src[1] + dst = append(dst, + digits10[p1], digits01[p1], ':', + digits10[p2], digits01[p2], ':', + digits10[p3], digits01[p3], + ) + if length <= byte(len(dst)) { + return dst, nil + } + src = src[2:] + if len(src) == 0 { + return append(dst, zeroDateTime[19:zOffs+length]...), nil + } + microsecs := binary.LittleEndian.Uint32(src[:4]) + p1 = byte(microsecs / 10000) + microsecs -= 10000 * uint32(p1) + p2 = byte(microsecs / 100) + microsecs -= 100 * uint32(p2) + p3 = byte(microsecs) + switch decimals := zOffs + length - 20; decimals { + default: + return append(dst, '.', + digits10[p1], digits01[p1], + digits10[p2], digits01[p2], + digits10[p3], digits01[p3], + ), nil + case 1: + return append(dst, '.', + digits10[p1], + ), nil + case 2: + return append(dst, '.', + digits10[p1], digits01[p1], + ), nil + case 3: + return append(dst, '.', + digits10[p1], digits01[p1], + digits10[p2], + ), nil + case 4: + return append(dst, '.', + digits10[p1], digits01[p1], + digits10[p2], digits01[p2], + ), nil + case 5: + return append(dst, '.', + digits10[p1], digits01[p1], + digits10[p2], digits01[p2], + digits10[p3], + ), nil + } +} + +/****************************************************************************** +* Convert from and to bytes * +******************************************************************************/ + +func uint64ToBytes(n uint64) []byte { + return []byte{ + byte(n), + byte(n >> 8), + byte(n >> 16), + byte(n >> 24), + byte(n >> 32), + byte(n >> 40), + byte(n >> 48), + byte(n >> 56), + } +} + +func uint64ToString(n uint64) []byte { + var a [20]byte + i := 20 + + // U+0030 = 0 + // ... + // U+0039 = 9 + + var q uint64 + for n >= 10 { + i-- + q = n / 10 + a[i] = uint8(n-q*10) + 0x30 + n = q + } + + i-- + a[i] = uint8(n) + 0x30 + + return a[i:] +} + +// treats string value as unsigned integer representation +func stringToInt(b []byte) int { + val := 0 + for i := range b { + val *= 10 + val += int(b[i] - 0x30) + } + return val +} + +// returns the string read as a bytes slice, wheter the value is NULL, +// the number of bytes read and an error, in case the string is longer than +// the input slice +func readLengthEncodedString(b []byte) ([]byte, bool, int, error) { + // Get length + num, isNull, n := readLengthEncodedInteger(b) + if num < 1 { + return b[n:n], isNull, n, nil + } + + n += int(num) + + // Check data length + if len(b) >= n { + return b[n-int(num) : n], false, n, nil + } + return nil, false, n, io.EOF +} + +// returns the number of bytes skipped and an error, in case the string is +// longer than the input slice +func skipLengthEncodedString(b []byte) (int, error) { + // Get length + num, _, n := readLengthEncodedInteger(b) + if num < 1 { + return n, nil + } + + n += int(num) + + // Check data length + if len(b) >= n { + return n, nil + } + return n, io.EOF +} + +// returns the number read, whether the value is NULL and the number of bytes read +func readLengthEncodedInteger(b []byte) (uint64, bool, int) { + // See issue #349 + if len(b) == 0 { + return 0, true, 1 + } + switch b[0] { + + // 251: NULL + case 0xfb: + return 0, true, 1 + + // 252: value of following 2 + case 0xfc: + return uint64(b[1]) | uint64(b[2])<<8, false, 3 + + // 253: value of following 3 + case 0xfd: + return uint64(b[1]) | uint64(b[2])<<8 | uint64(b[3])<<16, false, 4 + + // 254: value of following 8 + case 0xfe: + return uint64(b[1]) | uint64(b[2])<<8 | uint64(b[3])<<16 | + uint64(b[4])<<24 | uint64(b[5])<<32 | uint64(b[6])<<40 | + uint64(b[7])<<48 | uint64(b[8])<<56, + false, 9 + } + + // 0-250: value of first byte + return uint64(b[0]), false, 1 +} + +// encodes a uint64 value and appends it to the given bytes slice +func appendLengthEncodedInteger(b []byte, n uint64) []byte { + switch { + case n <= 250: + return append(b, byte(n)) + + case n <= 0xffff: + return append(b, 0xfc, byte(n), byte(n>>8)) + + case n <= 0xffffff: + return append(b, 0xfd, byte(n), byte(n>>8), byte(n>>16)) + } + return append(b, 0xfe, byte(n), byte(n>>8), byte(n>>16), byte(n>>24), + byte(n>>32), byte(n>>40), byte(n>>48), byte(n>>56)) +} + +// reserveBuffer checks cap(buf) and expand buffer to len(buf) + appendSize. +// If cap(buf) is not enough, reallocate new buffer. +func reserveBuffer(buf []byte, appendSize int) []byte { + newSize := len(buf) + appendSize + if cap(buf) < newSize { + // Grow buffer exponentially + newBuf := make([]byte, len(buf)*2+appendSize) + copy(newBuf, buf) + buf = newBuf + } + return buf[:newSize] +} + +// escapeBytesBackslash escapes []byte with backslashes (\) +// This escapes the contents of a string (provided as []byte) by adding backslashes before special +// characters, and turning others into specific escape sequences, such as +// turning newlines into \n and null bytes into \0. +// https://github.com/mysql/mysql-server/blob/mysql-5.7.5/mysys/charset.c#L823-L932 +func escapeBytesBackslash(buf, v []byte) []byte { + pos := len(buf) + buf = reserveBuffer(buf, len(v)*2) + + for _, c := range v { + switch c { + case '\x00': + buf[pos] = '\\' + buf[pos+1] = '0' + pos += 2 + case '\n': + buf[pos] = '\\' + buf[pos+1] = 'n' + pos += 2 + case '\r': + buf[pos] = '\\' + buf[pos+1] = 'r' + pos += 2 + case '\x1a': + buf[pos] = '\\' + buf[pos+1] = 'Z' + pos += 2 + case '\'': + buf[pos] = '\\' + buf[pos+1] = '\'' + pos += 2 + case '"': + buf[pos] = '\\' + buf[pos+1] = '"' + pos += 2 + case '\\': + buf[pos] = '\\' + buf[pos+1] = '\\' + pos += 2 + default: + buf[pos] = c + pos++ + } + } + + return buf[:pos] +} + +// escapeStringBackslash is similar to escapeBytesBackslash but for string. +func escapeStringBackslash(buf []byte, v string) []byte { + pos := len(buf) + buf = reserveBuffer(buf, len(v)*2) + + for i := 0; i < len(v); i++ { + c := v[i] + switch c { + case '\x00': + buf[pos] = '\\' + buf[pos+1] = '0' + pos += 2 + case '\n': + buf[pos] = '\\' + buf[pos+1] = 'n' + pos += 2 + case '\r': + buf[pos] = '\\' + buf[pos+1] = 'r' + pos += 2 + case '\x1a': + buf[pos] = '\\' + buf[pos+1] = 'Z' + pos += 2 + case '\'': + buf[pos] = '\\' + buf[pos+1] = '\'' + pos += 2 + case '"': + buf[pos] = '\\' + buf[pos+1] = '"' + pos += 2 + case '\\': + buf[pos] = '\\' + buf[pos+1] = '\\' + pos += 2 + default: + buf[pos] = c + pos++ + } + } + + return buf[:pos] +} + +// escapeBytesQuotes escapes apostrophes in []byte by doubling them up. +// This escapes the contents of a string by doubling up any apostrophes that +// it contains. This is used when the NO_BACKSLASH_ESCAPES SQL_MODE is in +// effect on the server. +// https://github.com/mysql/mysql-server/blob/mysql-5.7.5/mysys/charset.c#L963-L1038 +func escapeBytesQuotes(buf, v []byte) []byte { + pos := len(buf) + buf = reserveBuffer(buf, len(v)*2) + + for _, c := range v { + if c == '\'' { + buf[pos] = '\'' + buf[pos+1] = '\'' + pos += 2 + } else { + buf[pos] = c + pos++ + } + } + + return buf[:pos] +} + +// escapeStringQuotes is similar to escapeBytesQuotes but for string. +func escapeStringQuotes(buf []byte, v string) []byte { + pos := len(buf) + buf = reserveBuffer(buf, len(v)*2) + + for i := 0; i < len(v); i++ { + c := v[i] + if c == '\'' { + buf[pos] = '\'' + buf[pos+1] = '\'' + pos += 2 + } else { + buf[pos] = c + pos++ + } + } + + return buf[:pos] +} + +/****************************************************************************** +* Sync utils * +******************************************************************************/ + +// noCopy may be embedded into structs which must not be copied +// after the first use. +// +// See https://github.com/golang/go/issues/8005#issuecomment-190753527 +// for details. +type noCopy struct{} + +// Lock is a no-op used by -copylocks checker from `go vet`. +func (*noCopy) Lock() {} + +// atomicBool is a wrapper around uint32 for usage as a boolean value with +// atomic access. +type atomicBool struct { + _noCopy noCopy + value uint32 +} + +// IsSet returns wether the current boolean value is true +func (ab *atomicBool) IsSet() bool { + return atomic.LoadUint32(&ab.value) > 0 +} + +// Set sets the value of the bool regardless of the previous value +func (ab *atomicBool) Set(value bool) { + if value { + atomic.StoreUint32(&ab.value, 1) + } else { + atomic.StoreUint32(&ab.value, 0) + } +} + +// TrySet sets the value of the bool and returns wether the value changed +func (ab *atomicBool) TrySet(value bool) bool { + if value { + return atomic.SwapUint32(&ab.value, 1) == 0 + } + return atomic.SwapUint32(&ab.value, 0) > 0 +} + +// atomicBool is a wrapper for atomically accessed error values +type atomicError struct { + _noCopy noCopy + value atomic.Value +} + +// Set sets the error value regardless of the previous value. +// The value must not be nil +func (ae *atomicError) Set(value error) { + ae.value.Store(value) +} + +// Value returns the current error value +func (ae *atomicError) Value() error { + if v := ae.value.Load(); v != nil { + // this will panic if the value doesn't implement the error interface + return v.(error) + } + return nil +} diff --git a/vendor/github.com/go-sql-driver/mysql/utils_go17.go b/vendor/github.com/go-sql-driver/mysql/utils_go17.go new file mode 100644 index 000000000..f59563456 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/utils_go17.go @@ -0,0 +1,40 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2017 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build go1.7 +// +build !go1.8 + +package mysql + +import "crypto/tls" + +func cloneTLSConfig(c *tls.Config) *tls.Config { + return &tls.Config{ + Rand: c.Rand, + Time: c.Time, + Certificates: c.Certificates, + NameToCertificate: c.NameToCertificate, + GetCertificate: c.GetCertificate, + RootCAs: c.RootCAs, + NextProtos: c.NextProtos, + ServerName: c.ServerName, + ClientAuth: c.ClientAuth, + ClientCAs: c.ClientCAs, + InsecureSkipVerify: c.InsecureSkipVerify, + CipherSuites: c.CipherSuites, + PreferServerCipherSuites: c.PreferServerCipherSuites, + SessionTicketsDisabled: c.SessionTicketsDisabled, + SessionTicketKey: c.SessionTicketKey, + ClientSessionCache: c.ClientSessionCache, + MinVersion: c.MinVersion, + MaxVersion: c.MaxVersion, + CurvePreferences: c.CurvePreferences, + DynamicRecordSizingDisabled: c.DynamicRecordSizingDisabled, + Renegotiation: c.Renegotiation, + } +} diff --git a/vendor/github.com/go-sql-driver/mysql/utils_go18.go b/vendor/github.com/go-sql-driver/mysql/utils_go18.go new file mode 100644 index 000000000..7d8c9b16e --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/utils_go18.go @@ -0,0 +1,49 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2017 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build go1.8 + +package mysql + +import ( + "crypto/tls" + "database/sql" + "database/sql/driver" + "errors" +) + +func cloneTLSConfig(c *tls.Config) *tls.Config { + return c.Clone() +} + +func namedValueToValue(named []driver.NamedValue) ([]driver.Value, error) { + dargs := make([]driver.Value, len(named)) + for n, param := range named { + if len(param.Name) > 0 { + // TODO: support the use of Named Parameters #561 + return nil, errors.New("mysql: driver does not support the use of Named Parameters") + } + dargs[n] = param.Value + } + return dargs, nil +} + +func mapIsolationLevel(level driver.IsolationLevel) (string, error) { + switch sql.IsolationLevel(level) { + case sql.LevelRepeatableRead: + return "REPEATABLE READ", nil + case sql.LevelReadCommitted: + return "READ COMMITTED", nil + case sql.LevelReadUncommitted: + return "READ UNCOMMITTED", nil + case sql.LevelSerializable: + return "SERIALIZABLE", nil + default: + return "", errors.New("mysql: unsupported isolation level: " + string(level)) + } +} diff --git a/vendor/github.com/go-sql-driver/mysql/utils_legacy.go b/vendor/github.com/go-sql-driver/mysql/utils_legacy.go new file mode 100644 index 000000000..a03b10de2 --- /dev/null +++ b/vendor/github.com/go-sql-driver/mysql/utils_legacy.go @@ -0,0 +1,18 @@ +// Go MySQL Driver - A MySQL-Driver for Go's database/sql package +// +// Copyright 2017 The Go-MySQL-Driver Authors. All rights reserved. +// +// This Source Code Form is subject to the terms of the Mozilla Public +// License, v. 2.0. If a copy of the MPL was not distributed with this file, +// You can obtain one at http://mozilla.org/MPL/2.0/. + +// +build !go1.7 + +package mysql + +import "crypto/tls" + +func cloneTLSConfig(c *tls.Config) *tls.Config { + clone := *c + return &clone +} diff --git a/vendor/github.com/go-xorm/builder/LICENSE b/vendor/github.com/go-xorm/builder/LICENSE new file mode 100644 index 000000000..614d5e282 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2016 The Xorm Authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the {organization} nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/go-xorm/builder/README.md b/vendor/github.com/go-xorm/builder/README.md new file mode 100644 index 000000000..162873637 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/README.md @@ -0,0 +1,175 @@ +# SQL builder + +[![CircleCI](https://circleci.com/gh/go-xorm/builder/tree/master.svg?style=svg)](https://circleci.com/gh/go-xorm/builder/tree/master) + +Package builder is a lightweight and fast SQL builder for Go and XORM. + +Make sure you have installed Go 1.1+ and then: + + go get github.com/go-xorm/builder + +# Insert + +```Go +sql, args, err := Insert(Eq{"c": 1, "d": 2}).Into("table1").ToSQL() +``` + +# Select + +```Go +sql, args, err := Select("c, d").From("table1").Where(Eq{"a": 1}).ToSQL() + +sql, args, err = Select("c, d").From("table1").LeftJoin("table2", Eq{"table1.id": 1}.And(Lt{"table2.id": 3})). + RightJoin("table3", "table2.id = table3.tid").Where(Eq{"a": 1}).ToSQL() +``` + +# Update + +```Go +sql, args, err := Update(Eq{"a": 2}).From("table1").Where(Eq{"a": 1}).ToSQL() +``` + +# Delete + +```Go +sql, args, err := Delete(Eq{"a": 1}).From("table1").ToSQL() +``` + +# Conditions + +* `Eq` is a redefine of a map, you can give one or more conditions to `Eq` + +```Go +import . "github.com/go-xorm/builder" + +sql, args, _ := ToSQL(Eq{"a":1}) +// a=? [1] +sql, args, _ := ToSQL(Eq{"b":"c"}.And(Eq{"c": 0})) +// b=? AND c=? ["c", 0] +sql, args, _ := ToSQL(Eq{"b":"c", "c":0}) +// b=? AND c=? ["c", 0] +sql, args, _ := ToSQL(Eq{"b":"c"}.Or(Eq{"b":"d"})) +// b=? OR b=? ["c", "d"] +sql, args, _ := ToSQL(Eq{"b": []string{"c", "d"}}) +// b IN (?,?) ["c", "d"] +sql, args, _ := ToSQL(Eq{"b": 1, "c":[]int{2, 3}}) +// b=? AND c IN (?,?) [1, 2, 3] +``` + +* `Neq` is the same to `Eq` + +```Go +import . "github.com/go-xorm/builder" + +sql, args, _ := ToSQL(Neq{"a":1}) +// a<>? [1] +sql, args, _ := ToSQL(Neq{"b":"c"}.And(Neq{"c": 0})) +// b<>? AND c<>? ["c", 0] +sql, args, _ := ToSQL(Neq{"b":"c", "c":0}) +// b<>? AND c<>? ["c", 0] +sql, args, _ := ToSQL(Neq{"b":"c"}.Or(Neq{"b":"d"})) +// b<>? OR b<>? ["c", "d"] +sql, args, _ := ToSQL(Neq{"b": []string{"c", "d"}}) +// b NOT IN (?,?) ["c", "d"] +sql, args, _ := ToSQL(Neq{"b": 1, "c":[]int{2, 3}}) +// b<>? AND c NOT IN (?,?) [1, 2, 3] +``` + +* `Gt`, `Gte`, `Lt`, `Lte` + +```Go +import . "github.com/go-xorm/builder" + +sql, args, _ := ToSQL(Gt{"a", 1}.And(Gte{"b", 2})) +// a>? AND b>=? [1, 2] +sql, args, _ := ToSQL(Lt{"a", 1}.Or(Lte{"b", 2})) +// a? [1, %c%, 2] +``` + +* `Or(conds ...Cond)`, Or can connect one or more conditions via Or + +```Go +import . "github.com/go-xorm/builder" + +sql, args, _ := ToSQL(Or(Eq{"a":1}, Like{"b", "c"}, Neq{"d", 2})) +// a=? OR b LIKE ? OR d<>? [1, %c%, 2] +sql, args, _ := ToSQL(Or(Eq{"a":1}, And(Like{"b", "c"}, Neq{"d", 2}))) +// a=? OR (b LIKE ? AND d<>?) [1, %c%, 2] +``` + +* `Between` + +```Go +import . "github.com/go-xorm/builder" + +sql, args, _ := ToSQL(Between{"a", 1, 2}) +// a BETWEEN 1 AND 2 +``` + +* Define yourself conditions + +Since `Cond` is an interface. + +```Go +type Cond interface { + WriteTo(Writer) error + And(...Cond) Cond + Or(...Cond) Cond + IsValid() bool +} +``` + +You can define yourself conditions and compose with other `Cond`. \ No newline at end of file diff --git a/vendor/github.com/go-xorm/builder/builder.go b/vendor/github.com/go-xorm/builder/builder.go new file mode 100644 index 000000000..1253b9887 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/builder.go @@ -0,0 +1,190 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +type optype byte + +const ( + condType optype = iota // only conditions + selectType // select + insertType // insert + updateType // update + deleteType // delete +) + +type join struct { + joinType string + joinTable string + joinCond Cond +} + +// Builder describes a SQL statement +type Builder struct { + optype + tableName string + cond Cond + selects []string + joins []join + inserts Eq + updates []Eq +} + +// Select creates a select Builder +func Select(cols ...string) *Builder { + builder := &Builder{cond: NewCond()} + return builder.Select(cols...) +} + +// Insert creates an insert Builder +func Insert(eq Eq) *Builder { + builder := &Builder{cond: NewCond()} + return builder.Insert(eq) +} + +// Update creates an update Builder +func Update(updates ...Eq) *Builder { + builder := &Builder{cond: NewCond()} + return builder.Update(updates...) +} + +// Delete creates a delete Builder +func Delete(conds ...Cond) *Builder { + builder := &Builder{cond: NewCond()} + return builder.Delete(conds...) +} + +// Where sets where SQL +func (b *Builder) Where(cond Cond) *Builder { + b.cond = b.cond.And(cond) + return b +} + +// From sets the table name +func (b *Builder) From(tableName string) *Builder { + b.tableName = tableName + return b +} + +// Into sets insert table name +func (b *Builder) Into(tableName string) *Builder { + b.tableName = tableName + return b +} + +// Join sets join table and contions +func (b *Builder) Join(joinType, joinTable string, joinCond interface{}) *Builder { + switch joinCond.(type) { + case Cond: + b.joins = append(b.joins, join{joinType, joinTable, joinCond.(Cond)}) + case string: + b.joins = append(b.joins, join{joinType, joinTable, Expr(joinCond.(string))}) + } + + return b +} + +// InnerJoin sets inner join +func (b *Builder) InnerJoin(joinTable string, joinCond interface{}) *Builder { + return b.Join("INNER", joinTable, joinCond) +} + +// LeftJoin sets left join SQL +func (b *Builder) LeftJoin(joinTable string, joinCond interface{}) *Builder { + return b.Join("LEFT", joinTable, joinCond) +} + +// RightJoin sets right join SQL +func (b *Builder) RightJoin(joinTable string, joinCond interface{}) *Builder { + return b.Join("RIGHT", joinTable, joinCond) +} + +// CrossJoin sets cross join SQL +func (b *Builder) CrossJoin(joinTable string, joinCond interface{}) *Builder { + return b.Join("CROSS", joinTable, joinCond) +} + +// FullJoin sets full join SQL +func (b *Builder) FullJoin(joinTable string, joinCond interface{}) *Builder { + return b.Join("FULL", joinTable, joinCond) +} + +// Select sets select SQL +func (b *Builder) Select(cols ...string) *Builder { + b.selects = cols + b.optype = selectType + return b +} + +// And sets AND condition +func (b *Builder) And(cond Cond) *Builder { + b.cond = And(b.cond, cond) + return b +} + +// Or sets OR condition +func (b *Builder) Or(cond Cond) *Builder { + b.cond = Or(b.cond, cond) + return b +} + +// Insert sets insert SQL +func (b *Builder) Insert(eq Eq) *Builder { + b.inserts = eq + b.optype = insertType + return b +} + +// Update sets update SQL +func (b *Builder) Update(updates ...Eq) *Builder { + b.updates = updates + b.optype = updateType + return b +} + +// Delete sets delete SQL +func (b *Builder) Delete(conds ...Cond) *Builder { + b.cond = b.cond.And(conds...) + b.optype = deleteType + return b +} + +// WriteTo implements Writer interface +func (b *Builder) WriteTo(w Writer) error { + switch b.optype { + case condType: + return b.cond.WriteTo(w) + case selectType: + return b.selectWriteTo(w) + case insertType: + return b.insertWriteTo(w) + case updateType: + return b.updateWriteTo(w) + case deleteType: + return b.deleteWriteTo(w) + } + + return ErrNotSupportType +} + +// ToSQL convert a builder to SQL and args +func (b *Builder) ToSQL() (string, []interface{}, error) { + w := NewWriter() + if err := b.WriteTo(w); err != nil { + return "", nil, err + } + + return w.writer.String(), w.args, nil +} + +// ToSQL convert a builder or condtions to SQL and args +func ToSQL(cond interface{}) (string, []interface{}, error) { + switch cond.(type) { + case Cond: + return condToSQL(cond.(Cond)) + case *Builder: + return cond.(*Builder).ToSQL() + } + return "", nil, ErrNotSupportType +} diff --git a/vendor/github.com/go-xorm/builder/builder_delete.go b/vendor/github.com/go-xorm/builder/builder_delete.go new file mode 100644 index 000000000..743f1a4a9 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/builder_delete.go @@ -0,0 +1,22 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import ( + "errors" + "fmt" +) + +func (b *Builder) deleteWriteTo(w Writer) error { + if len(b.tableName) <= 0 { + return errors.New("no table indicated") + } + + if _, err := fmt.Fprintf(w, "DELETE FROM %s WHERE ", b.tableName); err != nil { + return err + } + + return b.cond.WriteTo(w) +} diff --git a/vendor/github.com/go-xorm/builder/builder_insert.go b/vendor/github.com/go-xorm/builder/builder_insert.go new file mode 100644 index 000000000..decec9313 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/builder_insert.go @@ -0,0 +1,64 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import ( + "bytes" + "errors" + "fmt" +) + +func (b *Builder) insertWriteTo(w Writer) error { + if len(b.tableName) <= 0 { + return errors.New("no table indicated") + } + if len(b.inserts) <= 0 { + return errors.New("no column to be update") + } + + if _, err := fmt.Fprintf(w, "INSERT INTO %s (", b.tableName); err != nil { + return err + } + + var args = make([]interface{}, 0) + var bs []byte + var valBuffer = bytes.NewBuffer(bs) + var i = 0 + for col, value := range b.inserts { + fmt.Fprint(w, col) + if e, ok := value.(expr); ok { + fmt.Fprint(valBuffer, e.sql) + args = append(args, e.args...) + } else { + fmt.Fprint(valBuffer, "?") + args = append(args, value) + } + + if i != len(b.inserts)-1 { + if _, err := fmt.Fprint(w, ","); err != nil { + return err + } + if _, err := fmt.Fprint(valBuffer, ","); err != nil { + return err + } + } + i = i + 1 + } + + if _, err := fmt.Fprint(w, ") Values ("); err != nil { + return err + } + + if _, err := w.Write(valBuffer.Bytes()); err != nil { + return err + } + if _, err := fmt.Fprint(w, ")"); err != nil { + return err + } + + w.Append(args...) + + return nil +} diff --git a/vendor/github.com/go-xorm/builder/builder_select.go b/vendor/github.com/go-xorm/builder/builder_select.go new file mode 100644 index 000000000..05f116e00 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/builder_select.go @@ -0,0 +1,53 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import ( + "errors" + "fmt" +) + +func (b *Builder) selectWriteTo(w Writer) error { + if len(b.tableName) <= 0 { + return errors.New("no table indicated") + } + + if _, err := fmt.Fprint(w, "SELECT "); err != nil { + return err + } + if len(b.selects) > 0 { + for i, s := range b.selects { + if _, err := fmt.Fprint(w, s); err != nil { + return err + } + if i != len(b.selects)-1 { + if _, err := fmt.Fprint(w, ","); err != nil { + return err + } + } + } + } else { + if _, err := fmt.Fprint(w, "*"); err != nil { + return err + } + } + + if _, err := fmt.Fprintf(w, " FROM %s", b.tableName); err != nil { + return err + } + + for _, v := range b.joins { + fmt.Fprintf(w, " %s JOIN %s ON ", v.joinType, v.joinTable) + if err := v.joinCond.WriteTo(w); err != nil { + return err + } + } + + if _, err := fmt.Fprint(w, " WHERE "); err != nil { + return err + } + + return b.cond.WriteTo(w) +} diff --git a/vendor/github.com/go-xorm/builder/builder_update.go b/vendor/github.com/go-xorm/builder/builder_update.go new file mode 100644 index 000000000..182af830f --- /dev/null +++ b/vendor/github.com/go-xorm/builder/builder_update.go @@ -0,0 +1,41 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import ( + "errors" + "fmt" +) + +func (b *Builder) updateWriteTo(w Writer) error { + if len(b.tableName) <= 0 { + return errors.New("no table indicated") + } + if len(b.updates) <= 0 { + return errors.New("no column to be update") + } + + if _, err := fmt.Fprintf(w, "UPDATE %s SET ", b.tableName); err != nil { + return err + } + + for i, s := range b.updates { + if err := s.opWriteTo(",", w); err != nil { + return err + } + + if i != len(b.updates)-1 { + if _, err := fmt.Fprint(w, ","); err != nil { + return err + } + } + } + + if _, err := fmt.Fprint(w, " WHERE "); err != nil { + return err + } + + return b.cond.WriteTo(w) +} diff --git a/vendor/github.com/go-xorm/builder/circle.yml b/vendor/github.com/go-xorm/builder/circle.yml new file mode 100644 index 000000000..b2a8bfc9e --- /dev/null +++ b/vendor/github.com/go-xorm/builder/circle.yml @@ -0,0 +1,12 @@ +dependencies: + override: + # './...' is a relative pattern which means all subdirectories + - go get -t -d -v ./... + - go build -v + - go get -u github.com/golang/lint/golint + +test: + override: + # './...' is a relative pattern which means all subdirectories + - golint ./... + - go test -v -race \ No newline at end of file diff --git a/vendor/github.com/go-xorm/builder/cond.go b/vendor/github.com/go-xorm/builder/cond.go new file mode 100644 index 000000000..77dd139bf --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond.go @@ -0,0 +1,87 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import ( + "bytes" + "io" +) + +// Writer defines the interface +type Writer interface { + io.Writer + Append(...interface{}) +} + +var _ Writer = NewWriter() + +// BytesWriter implments Writer and save SQL in bytes.Buffer +type BytesWriter struct { + writer *bytes.Buffer + buffer []byte + args []interface{} +} + +// NewWriter creates a new string writer +func NewWriter() *BytesWriter { + w := &BytesWriter{} + w.writer = bytes.NewBuffer(w.buffer) + return w +} + +// Write writes data to Writer +func (s *BytesWriter) Write(buf []byte) (int, error) { + return s.writer.Write(buf) +} + +// Append appends args to Writer +func (s *BytesWriter) Append(args ...interface{}) { + s.args = append(s.args, args...) +} + +// Cond defines an interface +type Cond interface { + WriteTo(Writer) error + And(...Cond) Cond + Or(...Cond) Cond + IsValid() bool +} + +type condEmpty struct{} + +var _ Cond = condEmpty{} + +// NewCond creates an empty condition +func NewCond() Cond { + return condEmpty{} +} + +func (condEmpty) WriteTo(w Writer) error { + return nil +} + +func (condEmpty) And(conds ...Cond) Cond { + return And(conds...) +} + +func (condEmpty) Or(conds ...Cond) Cond { + return Or(conds...) +} + +func (condEmpty) IsValid() bool { + return false +} + +func condToSQL(cond Cond) (string, []interface{}, error) { + if cond == nil || !cond.IsValid() { + return "", nil, nil + } + + w := NewWriter() + if err := cond.WriteTo(w); err != nil { + return "", nil, err + } + return w.writer.String(), w.args, nil +} diff --git a/vendor/github.com/go-xorm/builder/cond_and.go b/vendor/github.com/go-xorm/builder/cond_and.go new file mode 100644 index 000000000..9c30e9c2e --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_and.go @@ -0,0 +1,59 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +type condAnd []Cond + +var _ Cond = condAnd{} + +// And generates AND conditions +func And(conds ...Cond) Cond { + var result = make(condAnd, 0, len(conds)) + for _, cond := range conds { + if cond == nil || !cond.IsValid() { + continue + } + result = append(result, cond) + } + return result +} + +func (and condAnd) WriteTo(w Writer) error { + for i, cond := range and { + _, isOr := cond.(condOr) + if isOr { + fmt.Fprint(w, "(") + } + + err := cond.WriteTo(w) + if err != nil { + return err + } + + if isOr { + fmt.Fprint(w, ")") + } + + if i != len(and)-1 { + fmt.Fprint(w, " AND ") + } + } + + return nil +} + +func (and condAnd) And(conds ...Cond) Cond { + return And(and, And(conds...)) +} + +func (and condAnd) Or(conds ...Cond) Cond { + return Or(and, Or(conds...)) +} + +func (and condAnd) IsValid() bool { + return len(and) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_between.go b/vendor/github.com/go-xorm/builder/cond_between.go new file mode 100644 index 000000000..f2b29ed15 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_between.go @@ -0,0 +1,40 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +// Between implmentes between condition +type Between struct { + Col string + LessVal interface{} + MoreVal interface{} +} + +var _ Cond = Between{} + +// WriteTo write data to Writer +func (between Between) WriteTo(w Writer) error { + if _, err := fmt.Fprintf(w, "%s BETWEEN ? AND ?", between.Col); err != nil { + return err + } + w.Append(between.LessVal, between.MoreVal) + return nil +} + +// And implments And with other conditions +func (between Between) And(conds ...Cond) Cond { + return And(between, And(conds...)) +} + +// Or implments Or with other conditions +func (between Between) Or(conds ...Cond) Cond { + return Or(between, Or(conds...)) +} + +// IsValid tests if the condition is valid +func (between Between) IsValid() bool { + return len(between.Col) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_compare.go b/vendor/github.com/go-xorm/builder/cond_compare.go new file mode 100644 index 000000000..e10ef7447 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_compare.go @@ -0,0 +1,154 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +// WriteMap writes conditions' SQL to Writer, op could be =, <>, >, <, <=, >= and etc. +func WriteMap(w Writer, data map[string]interface{}, op string) error { + var args = make([]interface{}, 0, len(data)) + var i = 0 + for k, v := range data { + switch v.(type) { + case expr: + if _, err := fmt.Fprintf(w, "%s%s(", k, op); err != nil { + return err + } + + if err := v.(expr).WriteTo(w); err != nil { + return err + } + + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + case *Builder: + if _, err := fmt.Fprintf(w, "%s%s(", k, op); err != nil { + return err + } + + if err := v.(*Builder).WriteTo(w); err != nil { + return err + } + + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + default: + if _, err := fmt.Fprintf(w, "%s%s?", k, op); err != nil { + return err + } + args = append(args, v) + } + if i != len(data)-1 { + if _, err := fmt.Fprint(w, " AND "); err != nil { + return err + } + } + i = i + 1 + } + w.Append(args...) + return nil +} + +// Lt defines < condition +type Lt map[string]interface{} + +var _ Cond = Lt{} + +// WriteTo write SQL to Writer +func (lt Lt) WriteTo(w Writer) error { + return WriteMap(w, lt, "<") +} + +// And implements And with other conditions +func (lt Lt) And(conds ...Cond) Cond { + return condAnd{lt, And(conds...)} +} + +// Or implements Or with other conditions +func (lt Lt) Or(conds ...Cond) Cond { + return condOr{lt, Or(conds...)} +} + +// IsValid tests if this Eq is valid +func (lt Lt) IsValid() bool { + return len(lt) > 0 +} + +// Lte defines <= condition +type Lte map[string]interface{} + +var _ Cond = Lte{} + +// WriteTo write SQL to Writer +func (lte Lte) WriteTo(w Writer) error { + return WriteMap(w, lte, "<=") +} + +// And implements And with other conditions +func (lte Lte) And(conds ...Cond) Cond { + return And(lte, And(conds...)) +} + +// Or implements Or with other conditions +func (lte Lte) Or(conds ...Cond) Cond { + return Or(lte, Or(conds...)) +} + +// IsValid tests if this Eq is valid +func (lte Lte) IsValid() bool { + return len(lte) > 0 +} + +// Gt defines > condition +type Gt map[string]interface{} + +var _ Cond = Gt{} + +// WriteTo write SQL to Writer +func (gt Gt) WriteTo(w Writer) error { + return WriteMap(w, gt, ">") +} + +// And implements And with other conditions +func (gt Gt) And(conds ...Cond) Cond { + return And(gt, And(conds...)) +} + +// Or implements Or with other conditions +func (gt Gt) Or(conds ...Cond) Cond { + return Or(gt, Or(conds...)) +} + +// IsValid tests if this Eq is valid +func (gt Gt) IsValid() bool { + return len(gt) > 0 +} + +// Gte defines >= condition +type Gte map[string]interface{} + +var _ Cond = Gte{} + +// WriteTo write SQL to Writer +func (gte Gte) WriteTo(w Writer) error { + return WriteMap(w, gte, ">=") +} + +// And implements And with other conditions +func (gte Gte) And(conds ...Cond) Cond { + return And(gte, And(conds...)) +} + +// Or implements Or with other conditions +func (gte Gte) Or(conds ...Cond) Cond { + return Or(gte, Or(conds...)) +} + +// IsValid tests if this Eq is valid +func (gte Gte) IsValid() bool { + return len(gte) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_eq.go b/vendor/github.com/go-xorm/builder/cond_eq.go new file mode 100644 index 000000000..8777727ff --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_eq.go @@ -0,0 +1,96 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +// Incr implements a type used by Eq +type Incr int + +// Decr implements a type used by Eq +type Decr int + +// Eq defines equals conditions +type Eq map[string]interface{} + +var _ Cond = Eq{} + +func (eq Eq) opWriteTo(op string, w Writer) error { + var i = 0 + for k, v := range eq { + switch v.(type) { + case []int, []int64, []string, []int32, []int16, []int8, []uint, []uint64, []uint32, []uint16, []interface{}: + if err := In(k, v).WriteTo(w); err != nil { + return err + } + case expr: + if _, err := fmt.Fprintf(w, "%s=(", k); err != nil { + return err + } + + if err := v.(expr).WriteTo(w); err != nil { + return err + } + + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + case *Builder: + if _, err := fmt.Fprintf(w, "%s=(", k); err != nil { + return err + } + + if err := v.(*Builder).WriteTo(w); err != nil { + return err + } + + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + case Incr: + if _, err := fmt.Fprintf(w, "%s=%s+?", k, k); err != nil { + return err + } + w.Append(int(v.(Incr))) + case Decr: + if _, err := fmt.Fprintf(w, "%s=%s-?", k, k); err != nil { + return err + } + w.Append(int(v.(Decr))) + default: + if _, err := fmt.Fprintf(w, "%s=?", k); err != nil { + return err + } + w.Append(v) + } + if i != len(eq)-1 { + if _, err := fmt.Fprint(w, op); err != nil { + return err + } + } + i = i + 1 + } + return nil +} + +// WriteTo writes SQL to Writer +func (eq Eq) WriteTo(w Writer) error { + return eq.opWriteTo(" AND ", w) +} + +// And implements And with other conditions +func (eq Eq) And(conds ...Cond) Cond { + return And(eq, And(conds...)) +} + +// Or implements Or with other conditions +func (eq Eq) Or(conds ...Cond) Cond { + return Or(eq, Or(conds...)) +} + +// IsValid tests if this Eq is valid +func (eq Eq) IsValid() bool { + return len(eq) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_expr.go b/vendor/github.com/go-xorm/builder/cond_expr.go new file mode 100644 index 000000000..e5ed572b1 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_expr.go @@ -0,0 +1,39 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +type expr struct { + sql string + args []interface{} +} + +var _ Cond = expr{} + +// Expr generate customerize SQL +func Expr(sql string, args ...interface{}) Cond { + return expr{sql, args} +} + +func (expr expr) WriteTo(w Writer) error { + if _, err := fmt.Fprint(w, expr.sql); err != nil { + return err + } + w.Append(expr.args...) + return nil +} + +func (expr expr) And(conds ...Cond) Cond { + return And(expr, And(conds...)) +} + +func (expr expr) Or(conds ...Cond) Cond { + return Or(expr, Or(conds...)) +} + +func (expr expr) IsValid() bool { + return len(expr.sql) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_in.go b/vendor/github.com/go-xorm/builder/cond_in.go new file mode 100644 index 000000000..f6366d35c --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_in.go @@ -0,0 +1,237 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import ( + "fmt" + "reflect" + "strings" +) + +type condIn struct { + col string + vals []interface{} +} + +var _ Cond = condIn{} + +// In generates IN condition +func In(col string, values ...interface{}) Cond { + return condIn{col, values} +} + +func (condIn condIn) handleBlank(w Writer) error { + _, err := fmt.Fprint(w, "0=1") + return err +} + +func (condIn condIn) WriteTo(w Writer) error { + if len(condIn.vals) <= 0 { + return condIn.handleBlank(w) + } + + switch condIn.vals[0].(type) { + case []int8: + vals := condIn.vals[0].([]int8) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int16: + vals := condIn.vals[0].([]int16) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int: + vals := condIn.vals[0].([]int) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int32: + vals := condIn.vals[0].([]int32) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int64: + vals := condIn.vals[0].([]int64) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint8: + vals := condIn.vals[0].([]uint8) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint16: + vals := condIn.vals[0].([]uint16) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint: + vals := condIn.vals[0].([]uint) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint32: + vals := condIn.vals[0].([]uint32) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint64: + vals := condIn.vals[0].([]uint64) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []string: + vals := condIn.vals[0].([]string) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []interface{}: + vals := condIn.vals[0].([]interface{}) + if len(vals) <= 0 { + return condIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + w.Append(vals...) + case expr: + val := condIn.vals[0].(expr) + if _, err := fmt.Fprintf(w, "%s IN (", condIn.col); err != nil { + return err + } + if err := val.WriteTo(w); err != nil { + return err + } + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + case *Builder: + bd := condIn.vals[0].(*Builder) + if _, err := fmt.Fprintf(w, "%s IN (", condIn.col); err != nil { + return err + } + if err := bd.WriteTo(w); err != nil { + return err + } + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + default: + v := reflect.ValueOf(condIn.vals[0]) + if v.Kind() == reflect.Slice { + l := v.Len() + if l == 0 { + return condIn.handleBlank(w) + } + + questionMark := strings.Repeat("?,", l) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + + for i := 0; i < l; i++ { + w.Append(v.Index(i).Interface()) + } + } else { + questionMark := strings.Repeat("?,", len(condIn.vals)) + if _, err := fmt.Fprintf(w, "%s IN (%s)", condIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + w.Append(condIn.vals...) + } + } + return nil +} + +func (condIn condIn) And(conds ...Cond) Cond { + return And(condIn, And(conds...)) +} + +func (condIn condIn) Or(conds ...Cond) Cond { + return Or(condIn, Or(conds...)) +} + +func (condIn condIn) IsValid() bool { + return len(condIn.col) > 0 && len(condIn.vals) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_like.go b/vendor/github.com/go-xorm/builder/cond_like.go new file mode 100644 index 000000000..9291f12c9 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_like.go @@ -0,0 +1,41 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +// Like defines like condition +type Like [2]string + +var _ Cond = Like{"", ""} + +// WriteTo write SQL to Writer +func (like Like) WriteTo(w Writer) error { + if _, err := fmt.Fprintf(w, "%s LIKE ?", like[0]); err != nil { + return err + } + // FIXME: if use other regular express, this will be failed. but for compitable, keep this + if like[1][0] == '%' || like[1][len(like[1])-1] == '%' { + w.Append(like[1]) + } else { + w.Append("%" + like[1] + "%") + } + return nil +} + +// And implements And with other conditions +func (like Like) And(conds ...Cond) Cond { + return And(like, And(conds...)) +} + +// Or implements Or with other conditions +func (like Like) Or(conds ...Cond) Cond { + return Or(like, Or(conds...)) +} + +// IsValid tests if this condition is valid +func (like Like) IsValid() bool { + return len(like[0]) > 0 && len(like[1]) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_neq.go b/vendor/github.com/go-xorm/builder/cond_neq.go new file mode 100644 index 000000000..d07b2b18e --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_neq.go @@ -0,0 +1,78 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +// Neq defines not equal conditions +type Neq map[string]interface{} + +var _ Cond = Neq{} + +// WriteTo writes SQL to Writer +func (neq Neq) WriteTo(w Writer) error { + var args = make([]interface{}, 0, len(neq)) + var i = 0 + for k, v := range neq { + switch v.(type) { + case []int, []int64, []string, []int32, []int16, []int8: + if err := NotIn(k, v).WriteTo(w); err != nil { + return err + } + case expr: + if _, err := fmt.Fprintf(w, "%s<>(", k); err != nil { + return err + } + + if err := v.(expr).WriteTo(w); err != nil { + return err + } + + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + case *Builder: + if _, err := fmt.Fprintf(w, "%s<>(", k); err != nil { + return err + } + + if err := v.(*Builder).WriteTo(w); err != nil { + return err + } + + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + default: + if _, err := fmt.Fprintf(w, "%s<>?", k); err != nil { + return err + } + args = append(args, v) + } + if i != len(neq)-1 { + if _, err := fmt.Fprint(w, " AND "); err != nil { + return err + } + } + i = i + 1 + } + w.Append(args...) + return nil +} + +// And implements And with other conditions +func (neq Neq) And(conds ...Cond) Cond { + return And(neq, And(conds...)) +} + +// Or implements Or with other conditions +func (neq Neq) Or(conds ...Cond) Cond { + return Or(neq, Or(conds...)) +} + +// IsValid tests if this condition is valid +func (neq Neq) IsValid() bool { + return len(neq) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_not.go b/vendor/github.com/go-xorm/builder/cond_not.go new file mode 100644 index 000000000..294a7e072 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_not.go @@ -0,0 +1,53 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +// Not defines NOT condition +type Not [1]Cond + +var _ Cond = Not{} + +// WriteTo writes SQL to Writer +func (not Not) WriteTo(w Writer) error { + if _, err := fmt.Fprint(w, "NOT "); err != nil { + return err + } + switch not[0].(type) { + case condAnd, condOr: + if _, err := fmt.Fprint(w, "("); err != nil { + return err + } + } + + if err := not[0].WriteTo(w); err != nil { + return err + } + + switch not[0].(type) { + case condAnd, condOr: + if _, err := fmt.Fprint(w, ")"); err != nil { + return err + } + } + + return nil +} + +// And implements And with other conditions +func (not Not) And(conds ...Cond) Cond { + return And(not, And(conds...)) +} + +// Or implements Or with other conditions +func (not Not) Or(conds ...Cond) Cond { + return Or(not, Or(conds...)) +} + +// IsValid tests if this condition is valid +func (not Not) IsValid() bool { + return not[0] != nil && not[0].IsValid() +} diff --git a/vendor/github.com/go-xorm/builder/cond_notin.go b/vendor/github.com/go-xorm/builder/cond_notin.go new file mode 100644 index 000000000..dc3ac49a3 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_notin.go @@ -0,0 +1,234 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import ( + "fmt" + "reflect" + "strings" +) + +type condNotIn condIn + +var _ Cond = condNotIn{} + +// NotIn generate NOT IN condition +func NotIn(col string, values ...interface{}) Cond { + return condNotIn{col, values} +} + +func (condNotIn condNotIn) handleBlank(w Writer) error { + _, err := fmt.Fprint(w, "0=0") + return err +} + +func (condNotIn condNotIn) WriteTo(w Writer) error { + if len(condNotIn.vals) <= 0 { + return condNotIn.handleBlank(w) + } + + switch condNotIn.vals[0].(type) { + case []int8: + vals := condNotIn.vals[0].([]int8) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int16: + vals := condNotIn.vals[0].([]int16) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int: + vals := condNotIn.vals[0].([]int) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int32: + vals := condNotIn.vals[0].([]int32) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []int64: + vals := condNotIn.vals[0].([]int64) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint8: + vals := condNotIn.vals[0].([]uint8) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint16: + vals := condNotIn.vals[0].([]uint16) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint: + vals := condNotIn.vals[0].([]uint) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint32: + vals := condNotIn.vals[0].([]uint32) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []uint64: + vals := condNotIn.vals[0].([]uint64) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []string: + vals := condNotIn.vals[0].([]string) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + for _, val := range vals { + w.Append(val) + } + case []interface{}: + vals := condNotIn.vals[0].([]interface{}) + if len(vals) <= 0 { + return condNotIn.handleBlank(w) + } + questionMark := strings.Repeat("?,", len(vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + w.Append(vals...) + case expr: + val := condNotIn.vals[0].(expr) + if _, err := fmt.Fprintf(w, "%s NOT IN (", condNotIn.col); err != nil { + return err + } + if err := val.WriteTo(w); err != nil { + return err + } + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + case *Builder: + val := condNotIn.vals[0].(*Builder) + if _, err := fmt.Fprintf(w, "%s NOT IN (", condNotIn.col); err != nil { + return err + } + if err := val.WriteTo(w); err != nil { + return err + } + if _, err := fmt.Fprintf(w, ")"); err != nil { + return err + } + default: + v := reflect.ValueOf(condNotIn.vals[0]) + if v.Kind() == reflect.Slice { + l := v.Len() + if l == 0 { + return condNotIn.handleBlank(w) + } + + questionMark := strings.Repeat("?,", l) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + + for i := 0; i < l; i++ { + w.Append(v.Index(i).Interface()) + } + } else { + questionMark := strings.Repeat("?,", len(condNotIn.vals)) + if _, err := fmt.Fprintf(w, "%s NOT IN (%s)", condNotIn.col, questionMark[:len(questionMark)-1]); err != nil { + return err + } + w.Append(condNotIn.vals...) + } + } + return nil +} + +func (condNotIn condNotIn) And(conds ...Cond) Cond { + return And(condNotIn, And(conds...)) +} + +func (condNotIn condNotIn) Or(conds ...Cond) Cond { + return Or(condNotIn, Or(conds...)) +} + +func (condNotIn condNotIn) IsValid() bool { + return len(condNotIn.col) > 0 && len(condNotIn.vals) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_null.go b/vendor/github.com/go-xorm/builder/cond_null.go new file mode 100644 index 000000000..bf2aaf851 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_null.go @@ -0,0 +1,59 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +// IsNull defines IS NULL condition +type IsNull [1]string + +var _ Cond = IsNull{""} + +// WriteTo write SQL to Writer +func (isNull IsNull) WriteTo(w Writer) error { + _, err := fmt.Fprintf(w, "%s IS NULL", isNull[0]) + return err +} + +// And implements And with other conditions +func (isNull IsNull) And(conds ...Cond) Cond { + return And(isNull, And(conds...)) +} + +// Or implements Or with other conditions +func (isNull IsNull) Or(conds ...Cond) Cond { + return Or(isNull, Or(conds...)) +} + +// IsValid tests if this condition is valid +func (isNull IsNull) IsValid() bool { + return len(isNull[0]) > 0 +} + +// NotNull defines NOT NULL condition +type NotNull [1]string + +var _ Cond = NotNull{""} + +// WriteTo write SQL to Writer +func (notNull NotNull) WriteTo(w Writer) error { + _, err := fmt.Fprintf(w, "%s IS NOT NULL", notNull[0]) + return err +} + +// And implements And with other conditions +func (notNull NotNull) And(conds ...Cond) Cond { + return And(notNull, And(conds...)) +} + +// Or implements Or with other conditions +func (notNull NotNull) Or(conds ...Cond) Cond { + return Or(notNull, Or(conds...)) +} + +// IsValid tests if this condition is valid +func (notNull NotNull) IsValid() bool { + return len(notNull[0]) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/cond_or.go b/vendor/github.com/go-xorm/builder/cond_or.go new file mode 100644 index 000000000..35c3da025 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/cond_or.go @@ -0,0 +1,67 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "fmt" + +type condOr []Cond + +var _ Cond = condOr{} + +// Or sets OR conditions +func Or(conds ...Cond) Cond { + var result = make(condOr, 0, len(conds)) + for _, cond := range conds { + if cond == nil || !cond.IsValid() { + continue + } + result = append(result, cond) + } + return result +} + +// WriteTo implments Cond +func (o condOr) WriteTo(w Writer) error { + for i, cond := range o { + var needQuote bool + switch cond.(type) { + case condAnd: + needQuote = true + case Eq: + needQuote = (len(cond.(Eq)) > 1) + } + + if needQuote { + fmt.Fprint(w, "(") + } + + err := cond.WriteTo(w) + if err != nil { + return err + } + + if needQuote { + fmt.Fprint(w, ")") + } + + if i != len(o)-1 { + fmt.Fprint(w, " OR ") + } + } + + return nil +} + +func (o condOr) And(conds ...Cond) Cond { + return And(o, And(conds...)) +} + +func (o condOr) Or(conds ...Cond) Cond { + return Or(o, Or(conds...)) +} + +func (o condOr) IsValid() bool { + return len(o) > 0 +} diff --git a/vendor/github.com/go-xorm/builder/doc.go b/vendor/github.com/go-xorm/builder/doc.go new file mode 100644 index 000000000..162b150f1 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/doc.go @@ -0,0 +1,120 @@ +// Copyright 2016 The XORM Authors. All rights reserved. +// Use of this source code is governed by a BSD +// license that can be found in the LICENSE file. + +/* + +Package builder is a simple and powerful sql builder for Go. + +Make sure you have installed Go 1.1+ and then: + + go get github.com/go-xorm/builder + +WARNNING: Currently, only query conditions are supported. Below is the supported conditions. + +1. Eq is a redefine of a map, you can give one or more conditions to Eq + + import . "github.com/go-xorm/builder" + + sql, args, _ := ToSQL(Eq{"a":1}) + // a=? [1] + sql, args, _ := ToSQL(Eq{"b":"c"}.And(Eq{"c": 0})) + // b=? AND c=? ["c", 0] + sql, args, _ := ToSQL(Eq{"b":"c", "c":0}) + // b=? AND c=? ["c", 0] + sql, args, _ := ToSQL(Eq{"b":"c"}.Or(Eq{"b":"d"})) + // b=? OR b=? ["c", "d"] + sql, args, _ := ToSQL(Eq{"b": []string{"c", "d"}}) + // b IN (?,?) ["c", "d"] + sql, args, _ := ToSQL(Eq{"b": 1, "c":[]int{2, 3}}) + // b=? AND c IN (?,?) [1, 2, 3] + +2. Neq is the same to Eq + + import . "github.com/go-xorm/builder" + + sql, args, _ := ToSQL(Neq{"a":1}) + // a<>? [1] + sql, args, _ := ToSQL(Neq{"b":"c"}.And(Neq{"c": 0})) + // b<>? AND c<>? ["c", 0] + sql, args, _ := ToSQL(Neq{"b":"c", "c":0}) + // b<>? AND c<>? ["c", 0] + sql, args, _ := ToSQL(Neq{"b":"c"}.Or(Neq{"b":"d"})) + // b<>? OR b<>? ["c", "d"] + sql, args, _ := ToSQL(Neq{"b": []string{"c", "d"}}) + // b NOT IN (?,?) ["c", "d"] + sql, args, _ := ToSQL(Neq{"b": 1, "c":[]int{2, 3}}) + // b<>? AND c NOT IN (?,?) [1, 2, 3] + +3. Gt, Gte, Lt, Lte + + import . "github.com/go-xorm/builder" + + sql, args, _ := ToSQL(Gt{"a", 1}.And(Gte{"b", 2})) + // a>? AND b>=? [1, 2] + sql, args, _ := ToSQL(Lt{"a", 1}.Or(Lte{"b", 2})) + // a? [1, %c%, 2] + +9. Or(conds ...Cond), Or can connect one or more conditions via Or + + import . "github.com/go-xorm/builder" + + sql, args, _ := ToSQL(Or(Eq{"a":1}, Like{"b", "c"}, Neq{"d", 2})) + // a=? OR b LIKE ? OR d<>? [1, %c%, 2] + sql, args, _ := ToSQL(Or(Eq{"a":1}, And(Like{"b", "c"}, Neq{"d", 2}))) + // a=? OR (b LIKE ? AND d<>?) [1, %c%, 2] + +10. Between + + import . "github.com/go-xorm/builder" + + sql, args, _ := ToSQL(Between("a", 1, 2)) + // a BETWEEN 1 AND 2 + +11. define yourself conditions +Since Cond is a interface, you can define yourself conditions and compare with them +*/ +package builder diff --git a/vendor/github.com/go-xorm/builder/error.go b/vendor/github.com/go-xorm/builder/error.go new file mode 100644 index 000000000..d7ac51ea1 --- /dev/null +++ b/vendor/github.com/go-xorm/builder/error.go @@ -0,0 +1,16 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package builder + +import "errors" + +var ( + // ErrNotSupportType not supported SQL type error + ErrNotSupportType = errors.New("not supported SQL type") + // ErrNoNotInConditions no NOT IN params error + ErrNoNotInConditions = errors.New("No NOT IN conditions") + // ErrNoInConditions no IN params error + ErrNoInConditions = errors.New("No IN conditions") +) diff --git a/vendor/github.com/go-xorm/core/LICENSE b/vendor/github.com/go-xorm/core/LICENSE new file mode 100644 index 000000000..113079780 --- /dev/null +++ b/vendor/github.com/go-xorm/core/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2013 - 2015 Lunny Xiao +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the {organization} nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/go-xorm/core/README.md b/vendor/github.com/go-xorm/core/README.md new file mode 100644 index 000000000..09b72c74b --- /dev/null +++ b/vendor/github.com/go-xorm/core/README.md @@ -0,0 +1,116 @@ +Core is a lightweight wrapper of sql.DB. + +[![CircleCI](https://circleci.com/gh/go-xorm/core/tree/master.svg?style=svg)](https://circleci.com/gh/go-xorm/core/tree/master) + +# Open +```Go +db, _ := core.Open(db, connstr) +``` + +# SetMapper +```Go +db.SetMapper(SameMapper()) +``` + +## Scan usage + +### Scan +```Go +rows, _ := db.Query() +for rows.Next() { + rows.Scan() +} +``` + +### ScanMap +```Go +rows, _ := db.Query() +for rows.Next() { + rows.ScanMap() +``` + +### ScanSlice + +You can use `[]string`, `[][]byte`, `[]interface{}`, `[]*string`, `[]sql.NullString` to ScanSclice. Notice, slice's length should be equal or less than select columns. + +```Go +rows, _ := db.Query() +cols, _ := rows.Columns() +for rows.Next() { + var s = make([]string, len(cols)) + rows.ScanSlice(&s) +} +``` + +```Go +rows, _ := db.Query() +cols, _ := rows.Columns() +for rows.Next() { + var s = make([]*string, len(cols)) + rows.ScanSlice(&s) +} +``` + +### ScanStruct +```Go +rows, _ := db.Query() +for rows.Next() { + rows.ScanStructByName() + rows.ScanStructByIndex() +} +``` + +## Query usage +```Go +rows, err := db.Query("select * from table where name = ?", name) + +user = User{ + Name:"lunny", +} +rows, err := db.QueryStruct("select * from table where name = ?Name", + &user) + +var user = map[string]interface{}{ + "name": "lunny", +} +rows, err = db.QueryMap("select * from table where name = ?name", + &user) +``` + +## QueryRow usage +```Go +row := db.QueryRow("select * from table where name = ?", name) + +user = User{ + Name:"lunny", +} +row := db.QueryRowStruct("select * from table where name = ?Name", + &user) + +var user = map[string]interface{}{ + "name": "lunny", +} +row = db.QueryRowMap("select * from table where name = ?name", + &user) +``` + +## Exec usage +```Go +db.Exec("insert into user (`name`, title, age, alias, nick_name,created) values (?,?,?,?,?,?)", name, title, age, alias...) + +user = User{ + Name:"lunny", + Title:"test", + Age: 18, +} +result, err = db.ExecStruct("insert into user (`name`, title, age, alias, nick_name,created) values (?Name,?Title,?Age,?Alias,?NickName,?Created)", + &user) + +var user = map[string]interface{}{ + "Name": "lunny", + "Title": "test", + "Age": 18, +} +result, err = db.ExecMap("insert into user (`name`, title, age, alias, nick_name,created) values (?Name,?Title,?Age,?Alias,?NickName,?Created)", + &user) +``` \ No newline at end of file diff --git a/vendor/github.com/go-xorm/core/benchmark.sh b/vendor/github.com/go-xorm/core/benchmark.sh new file mode 100755 index 000000000..eab9e57e9 --- /dev/null +++ b/vendor/github.com/go-xorm/core/benchmark.sh @@ -0,0 +1 @@ +go test -v -bench=. -run=XXX diff --git a/vendor/github.com/go-xorm/core/cache.go b/vendor/github.com/go-xorm/core/cache.go new file mode 100644 index 000000000..bf81bd52b --- /dev/null +++ b/vendor/github.com/go-xorm/core/cache.go @@ -0,0 +1,87 @@ +package core + +import ( + "errors" + "fmt" + "time" + "bytes" + "encoding/gob" +) + +const ( + // default cache expired time + CacheExpired = 60 * time.Minute + // not use now + CacheMaxMemory = 256 + // evey ten minutes to clear all expired nodes + CacheGcInterval = 10 * time.Minute + // each time when gc to removed max nodes + CacheGcMaxRemoved = 20 +) + +var ( + ErrCacheMiss = errors.New("xorm/cache: key not found.") + ErrNotStored = errors.New("xorm/cache: not stored.") +) + +// CacheStore is a interface to store cache +type CacheStore interface { + // key is primary key or composite primary key + // value is struct's pointer + // key format : -p--... + Put(key string, value interface{}) error + Get(key string) (interface{}, error) + Del(key string) error +} + +// Cacher is an interface to provide cache +// id format : u--... +type Cacher interface { + GetIds(tableName, sql string) interface{} + GetBean(tableName string, id string) interface{} + PutIds(tableName, sql string, ids interface{}) + PutBean(tableName string, id string, obj interface{}) + DelIds(tableName, sql string) + DelBean(tableName string, id string) + ClearIds(tableName string) + ClearBeans(tableName string) +} + +func encodeIds(ids []PK) (string, error) { + buf := new(bytes.Buffer) + enc := gob.NewEncoder(buf) + err := enc.Encode(ids) + + return buf.String(), err +} + + +func decodeIds(s string) ([]PK, error) { + pks := make([]PK, 0) + + dec := gob.NewDecoder(bytes.NewBufferString(s)) + err := dec.Decode(&pks) + + return pks, err +} + +func GetCacheSql(m Cacher, tableName, sql string, args interface{}) ([]PK, error) { + bytes := m.GetIds(tableName, GenSqlKey(sql, args)) + if bytes == nil { + return nil, errors.New("Not Exist") + } + return decodeIds(bytes.(string)) +} + +func PutCacheSql(m Cacher, ids []PK, tableName, sql string, args interface{}) error { + bytes, err := encodeIds(ids) + if err != nil { + return err + } + m.PutIds(tableName, GenSqlKey(sql, args), bytes) + return nil +} + +func GenSqlKey(sql string, args interface{}) string { + return fmt.Sprintf("%v-%v", sql, args) +} diff --git a/vendor/github.com/go-xorm/core/circle.yml b/vendor/github.com/go-xorm/core/circle.yml new file mode 100644 index 000000000..006e1230b --- /dev/null +++ b/vendor/github.com/go-xorm/core/circle.yml @@ -0,0 +1,14 @@ +dependencies: + override: + # './...' is a relative pattern which means all subdirectories + - go get -t -d -v ./... + - go build -v + +database: + override: + - mysql -u root -e "CREATE DATABASE core_test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" + +test: + override: + # './...' is a relative pattern which means all subdirectories + - go test -v -race \ No newline at end of file diff --git a/vendor/github.com/go-xorm/core/column.go b/vendor/github.com/go-xorm/core/column.go new file mode 100644 index 000000000..d9362e985 --- /dev/null +++ b/vendor/github.com/go-xorm/core/column.go @@ -0,0 +1,159 @@ +package core + +import ( + "fmt" + "reflect" + "strings" + "time" +) + +const ( + TWOSIDES = iota + 1 + ONLYTODB + ONLYFROMDB +) + +// Column defines database column +type Column struct { + Name string + TableName string + FieldName string + SQLType SQLType + IsJSON bool + Length int + Length2 int + Nullable bool + Default string + Indexes map[string]int + IsPrimaryKey bool + IsAutoIncrement bool + MapType int + IsCreated bool + IsUpdated bool + IsDeleted bool + IsCascade bool + IsVersion bool + DefaultIsEmpty bool + EnumOptions map[string]int + SetOptions map[string]int + DisableTimeZone bool + TimeZone *time.Location // column specified time zone + Comment string +} + +func NewColumn(name, fieldName string, sqlType SQLType, len1, len2 int, nullable bool) *Column { + return &Column{ + Name: name, + TableName: "", + FieldName: fieldName, + SQLType: sqlType, + Length: len1, + Length2: len2, + Nullable: nullable, + Default: "", + Indexes: make(map[string]int), + IsPrimaryKey: false, + IsAutoIncrement: false, + MapType: TWOSIDES, + IsCreated: false, + IsUpdated: false, + IsDeleted: false, + IsCascade: false, + IsVersion: false, + DefaultIsEmpty: false, + EnumOptions: make(map[string]int), + Comment: "", + } +} + +// generate column description string according dialect +func (col *Column) String(d Dialect) string { + sql := d.QuoteStr() + col.Name + d.QuoteStr() + " " + + sql += d.SqlType(col) + " " + + if col.IsPrimaryKey { + sql += "PRIMARY KEY " + if col.IsAutoIncrement { + sql += d.AutoIncrStr() + " " + } + } + + if d.ShowCreateNull() { + if col.Nullable { + sql += "NULL " + } else { + sql += "NOT NULL " + } + } + + if col.Default != "" { + sql += "DEFAULT " + col.Default + " " + } + + return sql +} + +func (col *Column) StringNoPk(d Dialect) string { + sql := d.QuoteStr() + col.Name + d.QuoteStr() + " " + + sql += d.SqlType(col) + " " + + if d.ShowCreateNull() { + if col.Nullable { + sql += "NULL " + } else { + sql += "NOT NULL " + } + } + + if col.Default != "" { + sql += "DEFAULT " + col.Default + " " + } + + return sql +} + +// return col's filed of struct's value +func (col *Column) ValueOf(bean interface{}) (*reflect.Value, error) { + dataStruct := reflect.Indirect(reflect.ValueOf(bean)) + return col.ValueOfV(&dataStruct) +} + +func (col *Column) ValueOfV(dataStruct *reflect.Value) (*reflect.Value, error) { + var fieldValue reflect.Value + fieldPath := strings.Split(col.FieldName, ".") + + if dataStruct.Type().Kind() == reflect.Map { + keyValue := reflect.ValueOf(fieldPath[len(fieldPath)-1]) + fieldValue = dataStruct.MapIndex(keyValue) + return &fieldValue, nil + } else if dataStruct.Type().Kind() == reflect.Interface { + structValue := reflect.ValueOf(dataStruct.Interface()) + dataStruct = &structValue + } + + level := len(fieldPath) + fieldValue = dataStruct.FieldByName(fieldPath[0]) + for i := 0; i < level-1; i++ { + if !fieldValue.IsValid() { + break + } + if fieldValue.Kind() == reflect.Struct { + fieldValue = fieldValue.FieldByName(fieldPath[i+1]) + } else if fieldValue.Kind() == reflect.Ptr { + if fieldValue.IsNil() { + fieldValue.Set(reflect.New(fieldValue.Type().Elem())) + } + fieldValue = fieldValue.Elem().FieldByName(fieldPath[i+1]) + } else { + return nil, fmt.Errorf("field %v is not valid", col.FieldName) + } + } + + if !fieldValue.IsValid() { + return nil, fmt.Errorf("field %v is not valid", col.FieldName) + } + + return &fieldValue, nil +} diff --git a/vendor/github.com/go-xorm/core/converstion.go b/vendor/github.com/go-xorm/core/converstion.go new file mode 100644 index 000000000..18522fbee --- /dev/null +++ b/vendor/github.com/go-xorm/core/converstion.go @@ -0,0 +1,8 @@ +package core + +// Conversion is an interface. A type implements Conversion will according +// the custom method to fill into database and retrieve from database. +type Conversion interface { + FromDB([]byte) error + ToDB() ([]byte, error) +} diff --git a/vendor/github.com/go-xorm/core/db.go b/vendor/github.com/go-xorm/core/db.go new file mode 100644 index 000000000..6111c4b33 --- /dev/null +++ b/vendor/github.com/go-xorm/core/db.go @@ -0,0 +1,368 @@ +package core + +import ( + "database/sql" + "database/sql/driver" + "errors" + "fmt" + "reflect" + "regexp" +) + +func MapToSlice(query string, mp interface{}) (string, []interface{}, error) { + vv := reflect.ValueOf(mp) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Map { + return "", []interface{}{}, ErrNoMapPointer + } + + args := make([]interface{}, 0, len(vv.Elem().MapKeys())) + var err error + query = re.ReplaceAllStringFunc(query, func(src string) string { + v := vv.Elem().MapIndex(reflect.ValueOf(src[1:])) + if !v.IsValid() { + err = fmt.Errorf("map key %s is missing", src[1:]) + } else { + args = append(args, v.Interface()) + } + return "?" + }) + + return query, args, err +} + +func StructToSlice(query string, st interface{}) (string, []interface{}, error) { + vv := reflect.ValueOf(st) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Struct { + return "", []interface{}{}, ErrNoStructPointer + } + + args := make([]interface{}, 0) + var err error + query = re.ReplaceAllStringFunc(query, func(src string) string { + fv := vv.Elem().FieldByName(src[1:]).Interface() + if v, ok := fv.(driver.Valuer); ok { + var value driver.Value + value, err = v.Value() + if err != nil { + return "?" + } + args = append(args, value) + } else { + args = append(args, fv) + } + return "?" + }) + if err != nil { + return "", []interface{}{}, err + } + return query, args, nil +} + +type DB struct { + *sql.DB + Mapper IMapper +} + +func Open(driverName, dataSourceName string) (*DB, error) { + db, err := sql.Open(driverName, dataSourceName) + if err != nil { + return nil, err + } + return &DB{db, NewCacheMapper(&SnakeMapper{})}, nil +} + +func FromDB(db *sql.DB) *DB { + return &DB{db, NewCacheMapper(&SnakeMapper{})} +} + +func (db *DB) Query(query string, args ...interface{}) (*Rows, error) { + rows, err := db.DB.Query(query, args...) + if err != nil { + if rows != nil { + rows.Close() + } + return nil, err + } + return &Rows{rows, db.Mapper}, nil +} + +func (db *DB) QueryMap(query string, mp interface{}) (*Rows, error) { + query, args, err := MapToSlice(query, mp) + if err != nil { + return nil, err + } + return db.Query(query, args...) +} + +func (db *DB) QueryStruct(query string, st interface{}) (*Rows, error) { + query, args, err := StructToSlice(query, st) + if err != nil { + return nil, err + } + return db.Query(query, args...) +} + +func (db *DB) QueryRow(query string, args ...interface{}) *Row { + rows, err := db.Query(query, args...) + if err != nil { + return &Row{nil, err} + } + return &Row{rows, nil} +} + +func (db *DB) QueryRowMap(query string, mp interface{}) *Row { + query, args, err := MapToSlice(query, mp) + if err != nil { + return &Row{nil, err} + } + return db.QueryRow(query, args...) +} + +func (db *DB) QueryRowStruct(query string, st interface{}) *Row { + query, args, err := StructToSlice(query, st) + if err != nil { + return &Row{nil, err} + } + return db.QueryRow(query, args...) +} + +type Stmt struct { + *sql.Stmt + Mapper IMapper + names map[string]int +} + +func (db *DB) Prepare(query string) (*Stmt, error) { + names := make(map[string]int) + var i int + query = re.ReplaceAllStringFunc(query, func(src string) string { + names[src[1:]] = i + i += 1 + return "?" + }) + + stmt, err := db.DB.Prepare(query) + if err != nil { + return nil, err + } + return &Stmt{stmt, db.Mapper, names}, nil +} + +func (s *Stmt) ExecMap(mp interface{}) (sql.Result, error) { + vv := reflect.ValueOf(mp) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Map { + return nil, errors.New("mp should be a map's pointer") + } + + args := make([]interface{}, len(s.names)) + for k, i := range s.names { + args[i] = vv.Elem().MapIndex(reflect.ValueOf(k)).Interface() + } + return s.Stmt.Exec(args...) +} + +func (s *Stmt) ExecStruct(st interface{}) (sql.Result, error) { + vv := reflect.ValueOf(st) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Struct { + return nil, errors.New("mp should be a map's pointer") + } + + args := make([]interface{}, len(s.names)) + for k, i := range s.names { + args[i] = vv.Elem().FieldByName(k).Interface() + } + return s.Stmt.Exec(args...) +} + +func (s *Stmt) Query(args ...interface{}) (*Rows, error) { + rows, err := s.Stmt.Query(args...) + if err != nil { + return nil, err + } + return &Rows{rows, s.Mapper}, nil +} + +func (s *Stmt) QueryMap(mp interface{}) (*Rows, error) { + vv := reflect.ValueOf(mp) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Map { + return nil, errors.New("mp should be a map's pointer") + } + + args := make([]interface{}, len(s.names)) + for k, i := range s.names { + args[i] = vv.Elem().MapIndex(reflect.ValueOf(k)).Interface() + } + + return s.Query(args...) +} + +func (s *Stmt) QueryStruct(st interface{}) (*Rows, error) { + vv := reflect.ValueOf(st) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Struct { + return nil, errors.New("mp should be a map's pointer") + } + + args := make([]interface{}, len(s.names)) + for k, i := range s.names { + args[i] = vv.Elem().FieldByName(k).Interface() + } + + return s.Query(args...) +} + +func (s *Stmt) QueryRow(args ...interface{}) *Row { + rows, err := s.Query(args...) + return &Row{rows, err} +} + +func (s *Stmt) QueryRowMap(mp interface{}) *Row { + vv := reflect.ValueOf(mp) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Map { + return &Row{nil, errors.New("mp should be a map's pointer")} + } + + args := make([]interface{}, len(s.names)) + for k, i := range s.names { + args[i] = vv.Elem().MapIndex(reflect.ValueOf(k)).Interface() + } + + return s.QueryRow(args...) +} + +func (s *Stmt) QueryRowStruct(st interface{}) *Row { + vv := reflect.ValueOf(st) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Struct { + return &Row{nil, errors.New("st should be a struct's pointer")} + } + + args := make([]interface{}, len(s.names)) + for k, i := range s.names { + args[i] = vv.Elem().FieldByName(k).Interface() + } + + return s.QueryRow(args...) +} + +var ( + re = regexp.MustCompile(`[?](\w+)`) +) + +// insert into (name) values (?) +// insert into (name) values (?name) +func (db *DB) ExecMap(query string, mp interface{}) (sql.Result, error) { + query, args, err := MapToSlice(query, mp) + if err != nil { + return nil, err + } + return db.DB.Exec(query, args...) +} + +func (db *DB) ExecStruct(query string, st interface{}) (sql.Result, error) { + query, args, err := StructToSlice(query, st) + if err != nil { + return nil, err + } + return db.DB.Exec(query, args...) +} + +type EmptyScanner struct { +} + +func (EmptyScanner) Scan(src interface{}) error { + return nil +} + +type Tx struct { + *sql.Tx + Mapper IMapper +} + +func (db *DB) Begin() (*Tx, error) { + tx, err := db.DB.Begin() + if err != nil { + return nil, err + } + return &Tx{tx, db.Mapper}, nil +} + +func (tx *Tx) Prepare(query string) (*Stmt, error) { + names := make(map[string]int) + var i int + query = re.ReplaceAllStringFunc(query, func(src string) string { + names[src[1:]] = i + i += 1 + return "?" + }) + + stmt, err := tx.Tx.Prepare(query) + if err != nil { + return nil, err + } + return &Stmt{stmt, tx.Mapper, names}, nil +} + +func (tx *Tx) Stmt(stmt *Stmt) *Stmt { + // TODO: + return stmt +} + +func (tx *Tx) ExecMap(query string, mp interface{}) (sql.Result, error) { + query, args, err := MapToSlice(query, mp) + if err != nil { + return nil, err + } + return tx.Tx.Exec(query, args...) +} + +func (tx *Tx) ExecStruct(query string, st interface{}) (sql.Result, error) { + query, args, err := StructToSlice(query, st) + if err != nil { + return nil, err + } + return tx.Tx.Exec(query, args...) +} + +func (tx *Tx) Query(query string, args ...interface{}) (*Rows, error) { + rows, err := tx.Tx.Query(query, args...) + if err != nil { + return nil, err + } + return &Rows{rows, tx.Mapper}, nil +} + +func (tx *Tx) QueryMap(query string, mp interface{}) (*Rows, error) { + query, args, err := MapToSlice(query, mp) + if err != nil { + return nil, err + } + return tx.Query(query, args...) +} + +func (tx *Tx) QueryStruct(query string, st interface{}) (*Rows, error) { + query, args, err := StructToSlice(query, st) + if err != nil { + return nil, err + } + return tx.Query(query, args...) +} + +func (tx *Tx) QueryRow(query string, args ...interface{}) *Row { + rows, err := tx.Query(query, args...) + return &Row{rows, err} +} + +func (tx *Tx) QueryRowMap(query string, mp interface{}) *Row { + query, args, err := MapToSlice(query, mp) + if err != nil { + return &Row{nil, err} + } + return tx.QueryRow(query, args...) +} + +func (tx *Tx) QueryRowStruct(query string, st interface{}) *Row { + query, args, err := StructToSlice(query, st) + if err != nil { + return &Row{nil, err} + } + return tx.QueryRow(query, args...) +} diff --git a/vendor/github.com/go-xorm/core/dialect.go b/vendor/github.com/go-xorm/core/dialect.go new file mode 100644 index 000000000..6f2e81d01 --- /dev/null +++ b/vendor/github.com/go-xorm/core/dialect.go @@ -0,0 +1,310 @@ +package core + +import ( + "fmt" + "strings" + "time" +) + +type DbType string + +type Uri struct { + DbType DbType + Proto string + Host string + Port string + DbName string + User string + Passwd string + Charset string + Laddr string + Raddr string + Timeout time.Duration + Schema string +} + +// a dialect is a driver's wrapper +type Dialect interface { + SetLogger(logger ILogger) + Init(*DB, *Uri, string, string) error + URI() *Uri + DB() *DB + DBType() DbType + SqlType(*Column) string + FormatBytes(b []byte) string + + DriverName() string + DataSourceName() string + + QuoteStr() string + IsReserved(string) bool + Quote(string) string + AndStr() string + OrStr() string + EqStr() string + RollBackStr() string + AutoIncrStr() string + + SupportInsertMany() bool + SupportEngine() bool + SupportCharset() bool + SupportDropIfExists() bool + IndexOnTable() bool + ShowCreateNull() bool + + IndexCheckSql(tableName, idxName string) (string, []interface{}) + TableCheckSql(tableName string) (string, []interface{}) + + IsColumnExist(tableName string, colName string) (bool, error) + + CreateTableSql(table *Table, tableName, storeEngine, charset string) string + DropTableSql(tableName string) string + CreateIndexSql(tableName string, index *Index) string + DropIndexSql(tableName string, index *Index) string + + ModifyColumnSql(tableName string, col *Column) string + + ForUpdateSql(query string) string + + //CreateTableIfNotExists(table *Table, tableName, storeEngine, charset string) error + //MustDropTable(tableName string) error + + GetColumns(tableName string) ([]string, map[string]*Column, error) + GetTables() ([]*Table, error) + GetIndexes(tableName string) (map[string]*Index, error) + + Filters() []Filter +} + +func OpenDialect(dialect Dialect) (*DB, error) { + return Open(dialect.DriverName(), dialect.DataSourceName()) +} + +type Base struct { + db *DB + dialect Dialect + driverName string + dataSourceName string + logger ILogger + *Uri +} + +func (b *Base) DB() *DB { + return b.db +} + +func (b *Base) SetLogger(logger ILogger) { + b.logger = logger +} + +func (b *Base) Init(db *DB, dialect Dialect, uri *Uri, drivername, dataSourceName string) error { + b.db, b.dialect, b.Uri = db, dialect, uri + b.driverName, b.dataSourceName = drivername, dataSourceName + return nil +} + +func (b *Base) URI() *Uri { + return b.Uri +} + +func (b *Base) DBType() DbType { + return b.Uri.DbType +} + +func (b *Base) FormatBytes(bs []byte) string { + return fmt.Sprintf("0x%x", bs) +} + +func (b *Base) DriverName() string { + return b.driverName +} + +func (b *Base) ShowCreateNull() bool { + return true +} + +func (b *Base) DataSourceName() string { + return b.dataSourceName +} + +func (b *Base) AndStr() string { + return "AND" +} + +func (b *Base) OrStr() string { + return "OR" +} + +func (b *Base) EqStr() string { + return "=" +} + +func (db *Base) RollBackStr() string { + return "ROLL BACK" +} + +func (db *Base) SupportDropIfExists() bool { + return true +} + +func (db *Base) DropTableSql(tableName string) string { + return fmt.Sprintf("DROP TABLE IF EXISTS `%s`", tableName) +} + +func (db *Base) HasRecords(query string, args ...interface{}) (bool, error) { + db.LogSQL(query, args) + rows, err := db.DB().Query(query, args...) + if err != nil { + return false, err + } + defer rows.Close() + + if rows.Next() { + return true, nil + } + return false, nil +} + +func (db *Base) IsColumnExist(tableName, colName string) (bool, error) { + query := "SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ?" + query = strings.Replace(query, "`", db.dialect.QuoteStr(), -1) + return db.HasRecords(query, db.DbName, tableName, colName) +} + +/* +func (db *Base) CreateTableIfNotExists(table *Table, tableName, storeEngine, charset string) error { + sql, args := db.dialect.TableCheckSql(tableName) + rows, err := db.DB().Query(sql, args...) + if db.Logger != nil { + db.Logger.Info("[sql]", sql, args) + } + if err != nil { + return err + } + defer rows.Close() + + if rows.Next() { + return nil + } + + sql = db.dialect.CreateTableSql(table, tableName, storeEngine, charset) + _, err = db.DB().Exec(sql) + if db.Logger != nil { + db.Logger.Info("[sql]", sql) + } + return err +}*/ + +func (db *Base) CreateIndexSql(tableName string, index *Index) string { + quote := db.dialect.Quote + var unique string + var idxName string + if index.Type == UniqueType { + unique = " UNIQUE" + } + idxName = index.XName(tableName) + return fmt.Sprintf("CREATE%s INDEX %v ON %v (%v)", unique, + quote(idxName), quote(tableName), + quote(strings.Join(index.Cols, quote(",")))) +} + +func (db *Base) DropIndexSql(tableName string, index *Index) string { + quote := db.dialect.Quote + var name string + if index.IsRegular { + name = index.XName(tableName) + } else { + name = index.Name + } + return fmt.Sprintf("DROP INDEX %v ON %s", quote(name), quote(tableName)) +} + +func (db *Base) ModifyColumnSql(tableName string, col *Column) string { + return fmt.Sprintf("alter table %s MODIFY COLUMN %s", tableName, col.StringNoPk(db.dialect)) +} + +func (b *Base) CreateTableSql(table *Table, tableName, storeEngine, charset string) string { + var sql string + sql = "CREATE TABLE IF NOT EXISTS " + if tableName == "" { + tableName = table.Name + } + + sql += b.dialect.Quote(tableName) + sql += " (" + + if len(table.ColumnsSeq()) > 0 { + pkList := table.PrimaryKeys + + for _, colName := range table.ColumnsSeq() { + col := table.GetColumn(colName) + if col.IsPrimaryKey && len(pkList) == 1 { + sql += col.String(b.dialect) + } else { + sql += col.StringNoPk(b.dialect) + } + sql = strings.TrimSpace(sql) + if b.DriverName() == MYSQL && len(col.Comment) > 0 { + sql += " COMMENT '" + col.Comment + "'" + } + sql += ", " + } + + if len(pkList) > 1 { + sql += "PRIMARY KEY ( " + sql += b.dialect.Quote(strings.Join(pkList, b.dialect.Quote(","))) + sql += " ), " + } + + sql = sql[:len(sql)-2] + } + sql += ")" + + if b.dialect.SupportEngine() && storeEngine != "" { + sql += " ENGINE=" + storeEngine + } + if b.dialect.SupportCharset() { + if len(charset) == 0 { + charset = b.dialect.URI().Charset + } + if len(charset) > 0 { + sql += " DEFAULT CHARSET " + charset + } + } + + return sql +} + +func (b *Base) ForUpdateSql(query string) string { + return query + " FOR UPDATE" +} + +func (b *Base) LogSQL(sql string, args []interface{}) { + if b.logger != nil && b.logger.IsShowSQL() { + if len(args) > 0 { + b.logger.Infof("[SQL] %v %v", sql, args) + } else { + b.logger.Infof("[SQL] %v", sql) + } + } +} + +var ( + dialects = map[string]func() Dialect{} +) + +// RegisterDialect register database dialect +func RegisterDialect(dbName DbType, dialectFunc func() Dialect) { + if dialectFunc == nil { + panic("core: Register dialect is nil") + } + dialects[strings.ToLower(string(dbName))] = dialectFunc // !nashtsai! allow override dialect +} + +// QueryDialect query if registed database dialect +func QueryDialect(dbName DbType) Dialect { + if d, ok := dialects[strings.ToLower(string(dbName))]; ok { + return d() + } + return nil +} diff --git a/vendor/github.com/go-xorm/core/driver.go b/vendor/github.com/go-xorm/core/driver.go new file mode 100644 index 000000000..0f1020b40 --- /dev/null +++ b/vendor/github.com/go-xorm/core/driver.go @@ -0,0 +1,27 @@ +package core + +type Driver interface { + Parse(string, string) (*Uri, error) +} + +var ( + drivers = map[string]Driver{} +) + +func RegisterDriver(driverName string, driver Driver) { + if driver == nil { + panic("core: Register driver is nil") + } + if _, dup := drivers[driverName]; dup { + panic("core: Register called twice for driver " + driverName) + } + drivers[driverName] = driver +} + +func QueryDriver(driverName string) Driver { + return drivers[driverName] +} + +func RegisteredDriverSize() int { + return len(drivers) +} diff --git a/vendor/github.com/go-xorm/core/error.go b/vendor/github.com/go-xorm/core/error.go new file mode 100644 index 000000000..640e6036e --- /dev/null +++ b/vendor/github.com/go-xorm/core/error.go @@ -0,0 +1,8 @@ +package core + +import "errors" + +var ( + ErrNoMapPointer = errors.New("mp should be a map's pointer") + ErrNoStructPointer = errors.New("mp should be a struct's pointer") +) diff --git a/vendor/github.com/go-xorm/core/filter.go b/vendor/github.com/go-xorm/core/filter.go new file mode 100644 index 000000000..60caaf290 --- /dev/null +++ b/vendor/github.com/go-xorm/core/filter.go @@ -0,0 +1,64 @@ +package core + +import ( + "fmt" + "strings" +) + +// Filter is an interface to filter SQL +type Filter interface { + Do(sql string, dialect Dialect, table *Table) string +} + +// QuoteFilter filter SQL replace ` to database's own quote character +type QuoteFilter struct { +} + +func (s *QuoteFilter) Do(sql string, dialect Dialect, table *Table) string { + return strings.Replace(sql, "`", dialect.QuoteStr(), -1) +} + +// IdFilter filter SQL replace (id) to primary key column name +type IdFilter struct { +} + +type Quoter struct { + dialect Dialect +} + +func NewQuoter(dialect Dialect) *Quoter { + return &Quoter{dialect} +} + +func (q *Quoter) Quote(content string) string { + return q.dialect.QuoteStr() + content + q.dialect.QuoteStr() +} + +func (i *IdFilter) Do(sql string, dialect Dialect, table *Table) string { + quoter := NewQuoter(dialect) + if table != nil && len(table.PrimaryKeys) == 1 { + sql = strings.Replace(sql, "`(id)`", quoter.Quote(table.PrimaryKeys[0]), -1) + sql = strings.Replace(sql, quoter.Quote("(id)"), quoter.Quote(table.PrimaryKeys[0]), -1) + return strings.Replace(sql, "(id)", quoter.Quote(table.PrimaryKeys[0]), -1) + } + return sql +} + +// SeqFilter filter SQL replace ?, ? ... to $1, $2 ... +type SeqFilter struct { + Prefix string + Start int +} + +func (s *SeqFilter) Do(sql string, dialect Dialect, table *Table) string { + segs := strings.Split(sql, "?") + size := len(segs) + res := "" + for i, c := range segs { + if i < size-1 { + res += c + fmt.Sprintf("%s%v", s.Prefix, i+s.Start) + } + } + res += segs[size-1] + return res +} diff --git a/vendor/github.com/go-xorm/core/ilogger.go b/vendor/github.com/go-xorm/core/ilogger.go new file mode 100644 index 000000000..c8d784960 --- /dev/null +++ b/vendor/github.com/go-xorm/core/ilogger.go @@ -0,0 +1,31 @@ +package core + +type LogLevel int + +const ( + // !nashtsai! following level also match syslog.Priority value + LOG_DEBUG LogLevel = iota + LOG_INFO + LOG_WARNING + LOG_ERR + LOG_OFF + LOG_UNKNOWN +) + +// logger interface +type ILogger interface { + Debug(v ...interface{}) + Debugf(format string, v ...interface{}) + Error(v ...interface{}) + Errorf(format string, v ...interface{}) + Info(v ...interface{}) + Infof(format string, v ...interface{}) + Warn(v ...interface{}) + Warnf(format string, v ...interface{}) + + Level() LogLevel + SetLevel(l LogLevel) + + ShowSQL(show ...bool) + IsShowSQL() bool +} diff --git a/vendor/github.com/go-xorm/core/index.go b/vendor/github.com/go-xorm/core/index.go new file mode 100644 index 000000000..73b95175a --- /dev/null +++ b/vendor/github.com/go-xorm/core/index.go @@ -0,0 +1,61 @@ +package core + +import ( + "fmt" + "sort" + "strings" +) + +const ( + IndexType = iota + 1 + UniqueType +) + +// database index +type Index struct { + IsRegular bool + Name string + Type int + Cols []string +} + +func (index *Index) XName(tableName string) string { + if !strings.HasPrefix(index.Name, "UQE_") && + !strings.HasPrefix(index.Name, "IDX_") { + if index.Type == UniqueType { + return fmt.Sprintf("UQE_%v_%v", tableName, index.Name) + } + return fmt.Sprintf("IDX_%v_%v", tableName, index.Name) + } + return index.Name +} + +// add columns which will be composite index +func (index *Index) AddColumn(cols ...string) { + for _, col := range cols { + index.Cols = append(index.Cols, col) + } +} + +func (index *Index) Equal(dst *Index) bool { + if index.Type != dst.Type { + return false + } + if len(index.Cols) != len(dst.Cols) { + return false + } + sort.StringSlice(index.Cols).Sort() + sort.StringSlice(dst.Cols).Sort() + + for i := 0; i < len(index.Cols); i++ { + if index.Cols[i] != dst.Cols[i] { + return false + } + } + return true +} + +// new an index +func NewIndex(name string, indexType int) *Index { + return &Index{true, name, indexType, make([]string, 0)} +} diff --git a/vendor/github.com/go-xorm/core/mapper.go b/vendor/github.com/go-xorm/core/mapper.go new file mode 100644 index 000000000..bb72a1566 --- /dev/null +++ b/vendor/github.com/go-xorm/core/mapper.go @@ -0,0 +1,254 @@ +package core + +import ( + "strings" + "sync" +) + +// name translation between struct, fields names and table, column names +type IMapper interface { + Obj2Table(string) string + Table2Obj(string) string +} + +type CacheMapper struct { + oriMapper IMapper + obj2tableCache map[string]string + obj2tableMutex sync.RWMutex + table2objCache map[string]string + table2objMutex sync.RWMutex +} + +func NewCacheMapper(mapper IMapper) *CacheMapper { + return &CacheMapper{oriMapper: mapper, obj2tableCache: make(map[string]string), + table2objCache: make(map[string]string), + } +} + +func (m *CacheMapper) Obj2Table(o string) string { + m.obj2tableMutex.RLock() + t, ok := m.obj2tableCache[o] + m.obj2tableMutex.RUnlock() + if ok { + return t + } + + t = m.oriMapper.Obj2Table(o) + m.obj2tableMutex.Lock() + m.obj2tableCache[o] = t + m.obj2tableMutex.Unlock() + return t +} + +func (m *CacheMapper) Table2Obj(t string) string { + m.table2objMutex.RLock() + o, ok := m.table2objCache[t] + m.table2objMutex.RUnlock() + if ok { + return o + } + + o = m.oriMapper.Table2Obj(t) + m.table2objMutex.Lock() + m.table2objCache[t] = o + m.table2objMutex.Unlock() + return o +} + +// SameMapper implements IMapper and provides same name between struct and +// database table +type SameMapper struct { +} + +func (m SameMapper) Obj2Table(o string) string { + return o +} + +func (m SameMapper) Table2Obj(t string) string { + return t +} + +// SnakeMapper implements IMapper and provides name transaltion between +// struct and database table +type SnakeMapper struct { +} + +func snakeCasedName(name string) string { + newstr := make([]rune, 0) + for idx, chr := range name { + if isUpper := 'A' <= chr && chr <= 'Z'; isUpper { + if idx > 0 { + newstr = append(newstr, '_') + } + chr -= ('A' - 'a') + } + newstr = append(newstr, chr) + } + + return string(newstr) +} + +func (mapper SnakeMapper) Obj2Table(name string) string { + return snakeCasedName(name) +} + +func titleCasedName(name string) string { + newstr := make([]rune, 0) + upNextChar := true + + name = strings.ToLower(name) + + for _, chr := range name { + switch { + case upNextChar: + upNextChar = false + if 'a' <= chr && chr <= 'z' { + chr -= ('a' - 'A') + } + case chr == '_': + upNextChar = true + continue + } + + newstr = append(newstr, chr) + } + + return string(newstr) +} + +func (mapper SnakeMapper) Table2Obj(name string) string { + return titleCasedName(name) +} + +// GonicMapper implements IMapper. It will consider initialisms when mapping names. +// E.g. id -> ID, user -> User and to table names: UserID -> user_id, MyUID -> my_uid +type GonicMapper map[string]bool + +func isASCIIUpper(r rune) bool { + return 'A' <= r && r <= 'Z' +} + +func toASCIIUpper(r rune) rune { + if 'a' <= r && r <= 'z' { + r -= ('a' - 'A') + } + return r +} + +func gonicCasedName(name string) string { + newstr := make([]rune, 0, len(name)+3) + for idx, chr := range name { + if isASCIIUpper(chr) && idx > 0 { + if !isASCIIUpper(newstr[len(newstr)-1]) { + newstr = append(newstr, '_') + } + } + + if !isASCIIUpper(chr) && idx > 1 { + l := len(newstr) + if isASCIIUpper(newstr[l-1]) && isASCIIUpper(newstr[l-2]) { + newstr = append(newstr, newstr[l-1]) + newstr[l-1] = '_' + } + } + + newstr = append(newstr, chr) + } + return strings.ToLower(string(newstr)) +} + +func (mapper GonicMapper) Obj2Table(name string) string { + return gonicCasedName(name) +} + +func (mapper GonicMapper) Table2Obj(name string) string { + newstr := make([]rune, 0) + + name = strings.ToLower(name) + parts := strings.Split(name, "_") + + for _, p := range parts { + _, isInitialism := mapper[strings.ToUpper(p)] + for i, r := range p { + if i == 0 || isInitialism { + r = toASCIIUpper(r) + } + newstr = append(newstr, r) + } + } + + return string(newstr) +} + +// A GonicMapper that contains a list of common initialisms taken from golang/lint +var LintGonicMapper = GonicMapper{ + "API": true, + "ASCII": true, + "CPU": true, + "CSS": true, + "DNS": true, + "EOF": true, + "GUID": true, + "HTML": true, + "HTTP": true, + "HTTPS": true, + "ID": true, + "IP": true, + "JSON": true, + "LHS": true, + "QPS": true, + "RAM": true, + "RHS": true, + "RPC": true, + "SLA": true, + "SMTP": true, + "SSH": true, + "TLS": true, + "TTL": true, + "UI": true, + "UID": true, + "UUID": true, + "URI": true, + "URL": true, + "UTF8": true, + "VM": true, + "XML": true, + "XSRF": true, + "XSS": true, +} + +// provide prefix table name support +type PrefixMapper struct { + Mapper IMapper + Prefix string +} + +func (mapper PrefixMapper) Obj2Table(name string) string { + return mapper.Prefix + mapper.Mapper.Obj2Table(name) +} + +func (mapper PrefixMapper) Table2Obj(name string) string { + return mapper.Mapper.Table2Obj(name[len(mapper.Prefix):]) +} + +func NewPrefixMapper(mapper IMapper, prefix string) PrefixMapper { + return PrefixMapper{mapper, prefix} +} + +// provide suffix table name support +type SuffixMapper struct { + Mapper IMapper + Suffix string +} + +func (mapper SuffixMapper) Obj2Table(name string) string { + return mapper.Mapper.Obj2Table(name) + mapper.Suffix +} + +func (mapper SuffixMapper) Table2Obj(name string) string { + return mapper.Mapper.Table2Obj(name[:len(name)-len(mapper.Suffix)]) +} + +func NewSuffixMapper(mapper IMapper, suffix string) SuffixMapper { + return SuffixMapper{mapper, suffix} +} diff --git a/vendor/github.com/go-xorm/core/pk.go b/vendor/github.com/go-xorm/core/pk.go new file mode 100644 index 000000000..1810dd944 --- /dev/null +++ b/vendor/github.com/go-xorm/core/pk.go @@ -0,0 +1,26 @@ +package core + +import ( + "bytes" + "encoding/gob" +) + +type PK []interface{} + +func NewPK(pks ...interface{}) *PK { + p := PK(pks) + return &p +} + +func (p *PK) ToString() (string, error) { + buf := new(bytes.Buffer) + enc := gob.NewEncoder(buf) + err := enc.Encode(*p) + return buf.String(), err +} + +func (p *PK) FromString(content string) error { + dec := gob.NewDecoder(bytes.NewBufferString(content)) + err := dec.Decode(p) + return err +} diff --git a/vendor/github.com/go-xorm/core/rows.go b/vendor/github.com/go-xorm/core/rows.go new file mode 100644 index 000000000..4a4acaa4c --- /dev/null +++ b/vendor/github.com/go-xorm/core/rows.go @@ -0,0 +1,392 @@ +package core + +import ( + "database/sql" + "errors" + "reflect" + "sync" +) + +type Rows struct { + *sql.Rows + Mapper IMapper +} + +func (rs *Rows) ToMapString() ([]map[string]string, error) { + cols, err := rs.Columns() + if err != nil { + return nil, err + } + + var results = make([]map[string]string, 0, 10) + for rs.Next() { + var record = make(map[string]string, len(cols)) + err = rs.ScanMap(&record) + if err != nil { + return nil, err + } + results = append(results, record) + } + return results, nil +} + +// scan data to a struct's pointer according field index +func (rs *Rows) ScanStructByIndex(dest ...interface{}) error { + if len(dest) == 0 { + return errors.New("at least one struct") + } + + vvvs := make([]reflect.Value, len(dest)) + for i, s := range dest { + vv := reflect.ValueOf(s) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Struct { + return errors.New("dest should be a struct's pointer") + } + + vvvs[i] = vv.Elem() + } + + cols, err := rs.Columns() + if err != nil { + return err + } + newDest := make([]interface{}, len(cols)) + + var i = 0 + for _, vvv := range vvvs { + for j := 0; j < vvv.NumField(); j++ { + newDest[i] = vvv.Field(j).Addr().Interface() + i = i + 1 + } + } + + return rs.Rows.Scan(newDest...) +} + +var ( + fieldCache = make(map[reflect.Type]map[string]int) + fieldCacheMutex sync.RWMutex +) + +func fieldByName(v reflect.Value, name string) reflect.Value { + t := v.Type() + fieldCacheMutex.RLock() + cache, ok := fieldCache[t] + fieldCacheMutex.RUnlock() + if !ok { + cache = make(map[string]int) + for i := 0; i < v.NumField(); i++ { + cache[t.Field(i).Name] = i + } + fieldCacheMutex.Lock() + fieldCache[t] = cache + fieldCacheMutex.Unlock() + } + + if i, ok := cache[name]; ok { + return v.Field(i) + } + + return reflect.Zero(t) +} + +// scan data to a struct's pointer according field name +func (rs *Rows) ScanStructByName(dest interface{}) error { + vv := reflect.ValueOf(dest) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Struct { + return errors.New("dest should be a struct's pointer") + } + + cols, err := rs.Columns() + if err != nil { + return err + } + + newDest := make([]interface{}, len(cols)) + var v EmptyScanner + for j, name := range cols { + f := fieldByName(vv.Elem(), rs.Mapper.Table2Obj(name)) + if f.IsValid() { + newDest[j] = f.Addr().Interface() + } else { + newDest[j] = &v + } + } + + return rs.Rows.Scan(newDest...) +} + +type cacheStruct struct { + value reflect.Value + idx int +} + +var ( + reflectCache = make(map[reflect.Type]*cacheStruct) + reflectCacheMutex sync.RWMutex +) + +func ReflectNew(typ reflect.Type) reflect.Value { + reflectCacheMutex.RLock() + cs, ok := reflectCache[typ] + reflectCacheMutex.RUnlock() + + const newSize = 200 + + if !ok || cs.idx+1 > newSize-1 { + cs = &cacheStruct{reflect.MakeSlice(reflect.SliceOf(typ), newSize, newSize), 0} + reflectCacheMutex.Lock() + reflectCache[typ] = cs + reflectCacheMutex.Unlock() + } else { + reflectCacheMutex.Lock() + cs.idx = cs.idx + 1 + reflectCacheMutex.Unlock() + } + return cs.value.Index(cs.idx).Addr() +} + +// scan data to a slice's pointer, slice's length should equal to columns' number +func (rs *Rows) ScanSlice(dest interface{}) error { + vv := reflect.ValueOf(dest) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Slice { + return errors.New("dest should be a slice's pointer") + } + + vvv := vv.Elem() + cols, err := rs.Columns() + if err != nil { + return err + } + + newDest := make([]interface{}, len(cols)) + + for j := 0; j < len(cols); j++ { + if j >= vvv.Len() { + newDest[j] = reflect.New(vvv.Type().Elem()).Interface() + } else { + newDest[j] = vvv.Index(j).Addr().Interface() + } + } + + err = rs.Rows.Scan(newDest...) + if err != nil { + return err + } + + srcLen := vvv.Len() + for i := srcLen; i < len(cols); i++ { + vvv = reflect.Append(vvv, reflect.ValueOf(newDest[i]).Elem()) + } + return nil +} + +// scan data to a map's pointer +func (rs *Rows) ScanMap(dest interface{}) error { + vv := reflect.ValueOf(dest) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Map { + return errors.New("dest should be a map's pointer") + } + + cols, err := rs.Columns() + if err != nil { + return err + } + + newDest := make([]interface{}, len(cols)) + vvv := vv.Elem() + + for i, _ := range cols { + newDest[i] = ReflectNew(vvv.Type().Elem()).Interface() + //v := reflect.New(vvv.Type().Elem()) + //newDest[i] = v.Interface() + } + + err = rs.Rows.Scan(newDest...) + if err != nil { + return err + } + + for i, name := range cols { + vname := reflect.ValueOf(name) + vvv.SetMapIndex(vname, reflect.ValueOf(newDest[i]).Elem()) + } + + return nil +} + +/*func (rs *Rows) ScanMap(dest interface{}) error { + vv := reflect.ValueOf(dest) + if vv.Kind() != reflect.Ptr || vv.Elem().Kind() != reflect.Map { + return errors.New("dest should be a map's pointer") + } + + cols, err := rs.Columns() + if err != nil { + return err + } + + newDest := make([]interface{}, len(cols)) + err = rs.ScanSlice(newDest) + if err != nil { + return err + } + + vvv := vv.Elem() + + for i, name := range cols { + vname := reflect.ValueOf(name) + vvv.SetMapIndex(vname, reflect.ValueOf(newDest[i]).Elem()) + } + + return nil +}*/ +type Row struct { + rows *Rows + // One of these two will be non-nil: + err error // deferred error for easy chaining +} + +// ErrorRow return an error row +func ErrorRow(err error) *Row { + return &Row{ + err: err, + } +} + +// NewRow from rows +func NewRow(rows *Rows, err error) *Row { + return &Row{rows, err} +} + +func (row *Row) Columns() ([]string, error) { + if row.err != nil { + return nil, row.err + } + return row.rows.Columns() +} + +func (row *Row) Scan(dest ...interface{}) error { + if row.err != nil { + return row.err + } + defer row.rows.Close() + + for _, dp := range dest { + if _, ok := dp.(*sql.RawBytes); ok { + return errors.New("sql: RawBytes isn't allowed on Row.Scan") + } + } + + if !row.rows.Next() { + if err := row.rows.Err(); err != nil { + return err + } + return sql.ErrNoRows + } + err := row.rows.Scan(dest...) + if err != nil { + return err + } + // Make sure the query can be processed to completion with no errors. + return row.rows.Close() +} + +func (row *Row) ScanStructByName(dest interface{}) error { + if row.err != nil { + return row.err + } + defer row.rows.Close() + + if !row.rows.Next() { + if err := row.rows.Err(); err != nil { + return err + } + return sql.ErrNoRows + } + err := row.rows.ScanStructByName(dest) + if err != nil { + return err + } + // Make sure the query can be processed to completion with no errors. + return row.rows.Close() +} + +func (row *Row) ScanStructByIndex(dest interface{}) error { + if row.err != nil { + return row.err + } + defer row.rows.Close() + + if !row.rows.Next() { + if err := row.rows.Err(); err != nil { + return err + } + return sql.ErrNoRows + } + err := row.rows.ScanStructByIndex(dest) + if err != nil { + return err + } + // Make sure the query can be processed to completion with no errors. + return row.rows.Close() +} + +// scan data to a slice's pointer, slice's length should equal to columns' number +func (row *Row) ScanSlice(dest interface{}) error { + if row.err != nil { + return row.err + } + defer row.rows.Close() + + if !row.rows.Next() { + if err := row.rows.Err(); err != nil { + return err + } + return sql.ErrNoRows + } + err := row.rows.ScanSlice(dest) + if err != nil { + return err + } + + // Make sure the query can be processed to completion with no errors. + return row.rows.Close() +} + +// scan data to a map's pointer +func (row *Row) ScanMap(dest interface{}) error { + if row.err != nil { + return row.err + } + defer row.rows.Close() + + if !row.rows.Next() { + if err := row.rows.Err(); err != nil { + return err + } + return sql.ErrNoRows + } + err := row.rows.ScanMap(dest) + if err != nil { + return err + } + + // Make sure the query can be processed to completion with no errors. + return row.rows.Close() +} + +func (row *Row) ToMapString() (map[string]string, error) { + cols, err := row.Columns() + if err != nil { + return nil, err + } + + var record = make(map[string]string, len(cols)) + err = row.ScanMap(&record) + if err != nil { + return nil, err + } + + return record, nil +} diff --git a/vendor/github.com/go-xorm/core/scan.go b/vendor/github.com/go-xorm/core/scan.go new file mode 100644 index 000000000..7da338d86 --- /dev/null +++ b/vendor/github.com/go-xorm/core/scan.go @@ -0,0 +1,52 @@ +package core + +import ( + "database/sql/driver" + "fmt" + "time" +) + +type NullTime time.Time + +var ( + _ driver.Valuer = NullTime{} +) + +func (ns *NullTime) Scan(value interface{}) error { + if value == nil { + return nil + } + return convertTime(ns, value) +} + +// Value implements the driver Valuer interface. +func (ns NullTime) Value() (driver.Value, error) { + if (time.Time)(ns).IsZero() { + return nil, nil + } + return (time.Time)(ns).Format("2006-01-02 15:04:05"), nil +} + +func convertTime(dest *NullTime, src interface{}) error { + // Common cases, without reflect. + switch s := src.(type) { + case string: + t, err := time.Parse("2006-01-02 15:04:05", s) + if err != nil { + return err + } + *dest = NullTime(t) + return nil + case []uint8: + t, err := time.Parse("2006-01-02 15:04:05", string(s)) + if err != nil { + return err + } + *dest = NullTime(t) + return nil + case nil: + default: + return fmt.Errorf("unsupported driver -> Scan pair: %T -> %T", src, dest) + } + return nil +} diff --git a/vendor/github.com/go-xorm/core/table.go b/vendor/github.com/go-xorm/core/table.go new file mode 100644 index 000000000..88199bedd --- /dev/null +++ b/vendor/github.com/go-xorm/core/table.go @@ -0,0 +1,152 @@ +package core + +import ( + "reflect" + "strings" +) + +// database table +type Table struct { + Name string + Type reflect.Type + columnsSeq []string + columnsMap map[string][]*Column + columns []*Column + Indexes map[string]*Index + PrimaryKeys []string + AutoIncrement string + Created map[string]bool + Updated string + Deleted string + Version string + Cacher Cacher + StoreEngine string + Charset string + Comment string +} + +func (table *Table) Columns() []*Column { + return table.columns +} + +func (table *Table) ColumnsSeq() []string { + return table.columnsSeq +} + +func NewEmptyTable() *Table { + return NewTable("", nil) +} + +func NewTable(name string, t reflect.Type) *Table { + return &Table{Name: name, Type: t, + columnsSeq: make([]string, 0), + columns: make([]*Column, 0), + columnsMap: make(map[string][]*Column), + Indexes: make(map[string]*Index), + Created: make(map[string]bool), + PrimaryKeys: make([]string, 0), + } +} + +func (table *Table) columnsByName(name string) []*Column { + + n := len(name) + + for k := range table.columnsMap { + if len(k) != n { + continue + } + if strings.EqualFold(k, name) { + return table.columnsMap[k] + } + } + return nil +} + +func (table *Table) GetColumn(name string) *Column { + + cols := table.columnsByName(name) + + if cols != nil { + return cols[0] + } + + return nil +} + +func (table *Table) GetColumnIdx(name string, idx int) *Column { + + cols := table.columnsByName(name) + + if cols != nil && idx < len(cols) { + return cols[idx] + } + + return nil +} + +// if has primary key, return column +func (table *Table) PKColumns() []*Column { + columns := make([]*Column, len(table.PrimaryKeys)) + for i, name := range table.PrimaryKeys { + columns[i] = table.GetColumn(name) + } + return columns +} + +func (table *Table) ColumnType(name string) reflect.Type { + t, _ := table.Type.FieldByName(name) + return t.Type +} + +func (table *Table) AutoIncrColumn() *Column { + return table.GetColumn(table.AutoIncrement) +} + +func (table *Table) VersionColumn() *Column { + return table.GetColumn(table.Version) +} + +func (table *Table) UpdatedColumn() *Column { + return table.GetColumn(table.Updated) +} + +func (table *Table) DeletedColumn() *Column { + return table.GetColumn(table.Deleted) +} + +// add a column to table +func (table *Table) AddColumn(col *Column) { + table.columnsSeq = append(table.columnsSeq, col.Name) + table.columns = append(table.columns, col) + colName := strings.ToLower(col.Name) + if c, ok := table.columnsMap[colName]; ok { + table.columnsMap[colName] = append(c, col) + } else { + table.columnsMap[colName] = []*Column{col} + } + + if col.IsPrimaryKey { + table.PrimaryKeys = append(table.PrimaryKeys, col.Name) + } + if col.IsAutoIncrement { + table.AutoIncrement = col.Name + } + if col.IsCreated { + table.Created[col.Name] = true + } + if col.IsUpdated { + table.Updated = col.Name + } + if col.IsDeleted { + table.Deleted = col.Name + } + if col.IsVersion { + table.Version = col.Name + } +} + +// add an index or an unique to table +func (table *Table) AddIndex(index *Index) { + table.Indexes[index.Name] = index +} diff --git a/vendor/github.com/go-xorm/core/type.go b/vendor/github.com/go-xorm/core/type.go new file mode 100644 index 000000000..8010a2220 --- /dev/null +++ b/vendor/github.com/go-xorm/core/type.go @@ -0,0 +1,305 @@ +package core + +import ( + "reflect" + "sort" + "strings" + "time" +) + +const ( + POSTGRES = "postgres" + SQLITE = "sqlite3" + MYSQL = "mysql" + MSSQL = "mssql" + ORACLE = "oracle" +) + +// xorm SQL types +type SQLType struct { + Name string + DefaultLength int + DefaultLength2 int +} + +const ( + UNKNOW_TYPE = iota + TEXT_TYPE + BLOB_TYPE + TIME_TYPE + NUMERIC_TYPE +) + +func (s *SQLType) IsType(st int) bool { + if t, ok := SqlTypes[s.Name]; ok && t == st { + return true + } + return false +} + +func (s *SQLType) IsText() bool { + return s.IsType(TEXT_TYPE) +} + +func (s *SQLType) IsBlob() bool { + return s.IsType(BLOB_TYPE) +} + +func (s *SQLType) IsTime() bool { + return s.IsType(TIME_TYPE) +} + +func (s *SQLType) IsNumeric() bool { + return s.IsType(NUMERIC_TYPE) +} + +func (s *SQLType) IsJson() bool { + return s.Name == Json || s.Name == Jsonb +} + +var ( + Bit = "BIT" + TinyInt = "TINYINT" + SmallInt = "SMALLINT" + MediumInt = "MEDIUMINT" + Int = "INT" + Integer = "INTEGER" + BigInt = "BIGINT" + + Enum = "ENUM" + Set = "SET" + + Char = "CHAR" + Varchar = "VARCHAR" + NVarchar = "NVARCHAR" + TinyText = "TINYTEXT" + Text = "TEXT" + Clob = "CLOB" + MediumText = "MEDIUMTEXT" + LongText = "LONGTEXT" + Uuid = "UUID" + + Date = "DATE" + DateTime = "DATETIME" + Time = "TIME" + TimeStamp = "TIMESTAMP" + TimeStampz = "TIMESTAMPZ" + + Decimal = "DECIMAL" + Numeric = "NUMERIC" + + Real = "REAL" + Float = "FLOAT" + Double = "DOUBLE" + + Binary = "BINARY" + VarBinary = "VARBINARY" + TinyBlob = "TINYBLOB" + Blob = "BLOB" + MediumBlob = "MEDIUMBLOB" + LongBlob = "LONGBLOB" + Bytea = "BYTEA" + + Bool = "BOOL" + Boolean = "BOOLEAN" + + Serial = "SERIAL" + BigSerial = "BIGSERIAL" + + Json = "JSON" + Jsonb = "JSONB" + + SqlTypes = map[string]int{ + Bit: NUMERIC_TYPE, + TinyInt: NUMERIC_TYPE, + SmallInt: NUMERIC_TYPE, + MediumInt: NUMERIC_TYPE, + Int: NUMERIC_TYPE, + Integer: NUMERIC_TYPE, + BigInt: NUMERIC_TYPE, + + Enum: TEXT_TYPE, + Set: TEXT_TYPE, + Json: TEXT_TYPE, + Jsonb: TEXT_TYPE, + + Char: TEXT_TYPE, + Varchar: TEXT_TYPE, + NVarchar: TEXT_TYPE, + TinyText: TEXT_TYPE, + Text: TEXT_TYPE, + MediumText: TEXT_TYPE, + LongText: TEXT_TYPE, + Uuid: TEXT_TYPE, + Clob: TEXT_TYPE, + + Date: TIME_TYPE, + DateTime: TIME_TYPE, + Time: TIME_TYPE, + TimeStamp: TIME_TYPE, + TimeStampz: TIME_TYPE, + + Decimal: NUMERIC_TYPE, + Numeric: NUMERIC_TYPE, + Real: NUMERIC_TYPE, + Float: NUMERIC_TYPE, + Double: NUMERIC_TYPE, + + Binary: BLOB_TYPE, + VarBinary: BLOB_TYPE, + + TinyBlob: BLOB_TYPE, + Blob: BLOB_TYPE, + MediumBlob: BLOB_TYPE, + LongBlob: BLOB_TYPE, + Bytea: BLOB_TYPE, + + Bool: NUMERIC_TYPE, + + Serial: NUMERIC_TYPE, + BigSerial: NUMERIC_TYPE, + } + + intTypes = sort.StringSlice{"*int", "*int16", "*int32", "*int8"} + uintTypes = sort.StringSlice{"*uint", "*uint16", "*uint32", "*uint8"} +) + +// !nashtsai! treat following var as interal const values, these are used for reflect.TypeOf comparison +var ( + c_EMPTY_STRING string + c_BOOL_DEFAULT bool + c_BYTE_DEFAULT byte + c_COMPLEX64_DEFAULT complex64 + c_COMPLEX128_DEFAULT complex128 + c_FLOAT32_DEFAULT float32 + c_FLOAT64_DEFAULT float64 + c_INT64_DEFAULT int64 + c_UINT64_DEFAULT uint64 + c_INT32_DEFAULT int32 + c_UINT32_DEFAULT uint32 + c_INT16_DEFAULT int16 + c_UINT16_DEFAULT uint16 + c_INT8_DEFAULT int8 + c_UINT8_DEFAULT uint8 + c_INT_DEFAULT int + c_UINT_DEFAULT uint + c_TIME_DEFAULT time.Time +) + +var ( + IntType = reflect.TypeOf(c_INT_DEFAULT) + Int8Type = reflect.TypeOf(c_INT8_DEFAULT) + Int16Type = reflect.TypeOf(c_INT16_DEFAULT) + Int32Type = reflect.TypeOf(c_INT32_DEFAULT) + Int64Type = reflect.TypeOf(c_INT64_DEFAULT) + + UintType = reflect.TypeOf(c_UINT_DEFAULT) + Uint8Type = reflect.TypeOf(c_UINT8_DEFAULT) + Uint16Type = reflect.TypeOf(c_UINT16_DEFAULT) + Uint32Type = reflect.TypeOf(c_UINT32_DEFAULT) + Uint64Type = reflect.TypeOf(c_UINT64_DEFAULT) + + Float32Type = reflect.TypeOf(c_FLOAT32_DEFAULT) + Float64Type = reflect.TypeOf(c_FLOAT64_DEFAULT) + + Complex64Type = reflect.TypeOf(c_COMPLEX64_DEFAULT) + Complex128Type = reflect.TypeOf(c_COMPLEX128_DEFAULT) + + StringType = reflect.TypeOf(c_EMPTY_STRING) + BoolType = reflect.TypeOf(c_BOOL_DEFAULT) + ByteType = reflect.TypeOf(c_BYTE_DEFAULT) + BytesType = reflect.SliceOf(ByteType) + + TimeType = reflect.TypeOf(c_TIME_DEFAULT) +) + +var ( + PtrIntType = reflect.PtrTo(IntType) + PtrInt8Type = reflect.PtrTo(Int8Type) + PtrInt16Type = reflect.PtrTo(Int16Type) + PtrInt32Type = reflect.PtrTo(Int32Type) + PtrInt64Type = reflect.PtrTo(Int64Type) + + PtrUintType = reflect.PtrTo(UintType) + PtrUint8Type = reflect.PtrTo(Uint8Type) + PtrUint16Type = reflect.PtrTo(Uint16Type) + PtrUint32Type = reflect.PtrTo(Uint32Type) + PtrUint64Type = reflect.PtrTo(Uint64Type) + + PtrFloat32Type = reflect.PtrTo(Float32Type) + PtrFloat64Type = reflect.PtrTo(Float64Type) + + PtrComplex64Type = reflect.PtrTo(Complex64Type) + PtrComplex128Type = reflect.PtrTo(Complex128Type) + + PtrStringType = reflect.PtrTo(StringType) + PtrBoolType = reflect.PtrTo(BoolType) + PtrByteType = reflect.PtrTo(ByteType) + + PtrTimeType = reflect.PtrTo(TimeType) +) + +// Type2SQLType generate SQLType acorrding Go's type +func Type2SQLType(t reflect.Type) (st SQLType) { + switch k := t.Kind(); k { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32: + st = SQLType{Int, 0, 0} + case reflect.Int64, reflect.Uint64: + st = SQLType{BigInt, 0, 0} + case reflect.Float32: + st = SQLType{Float, 0, 0} + case reflect.Float64: + st = SQLType{Double, 0, 0} + case reflect.Complex64, reflect.Complex128: + st = SQLType{Varchar, 64, 0} + case reflect.Array, reflect.Slice, reflect.Map: + if t.Elem() == reflect.TypeOf(c_BYTE_DEFAULT) { + st = SQLType{Blob, 0, 0} + } else { + st = SQLType{Text, 0, 0} + } + case reflect.Bool: + st = SQLType{Bool, 0, 0} + case reflect.String: + st = SQLType{Varchar, 255, 0} + case reflect.Struct: + if t.ConvertibleTo(TimeType) { + st = SQLType{DateTime, 0, 0} + } else { + // TODO need to handle association struct + st = SQLType{Text, 0, 0} + } + case reflect.Ptr: + st = Type2SQLType(t.Elem()) + default: + st = SQLType{Text, 0, 0} + } + return +} + +// default sql type change to go types +func SQLType2Type(st SQLType) reflect.Type { + name := strings.ToUpper(st.Name) + switch name { + case Bit, TinyInt, SmallInt, MediumInt, Int, Integer, Serial: + return reflect.TypeOf(1) + case BigInt, BigSerial: + return reflect.TypeOf(int64(1)) + case Float, Real: + return reflect.TypeOf(float32(1)) + case Double: + return reflect.TypeOf(float64(1)) + case Char, Varchar, NVarchar, TinyText, Text, MediumText, LongText, Enum, Set, Uuid, Clob: + return reflect.TypeOf("") + case TinyBlob, Blob, LongBlob, Bytea, Binary, MediumBlob, VarBinary: + return reflect.TypeOf([]byte{}) + case Bool: + return reflect.TypeOf(true) + case DateTime, Date, Time, TimeStamp, TimeStampz: + return reflect.TypeOf(c_TIME_DEFAULT) + case Decimal, Numeric: + return reflect.TypeOf("") + default: + return reflect.TypeOf("") + } +} diff --git a/vendor/github.com/go-xorm/xorm-redis-cache/LICENSE b/vendor/github.com/go-xorm/xorm-redis-cache/LICENSE new file mode 100644 index 000000000..4da553d1d --- /dev/null +++ b/vendor/github.com/go-xorm/xorm-redis-cache/LICENSE @@ -0,0 +1,28 @@ +Copyright (c) 2014, go-xorm +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the {organization} nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + diff --git a/vendor/github.com/go-xorm/xorm-redis-cache/README.md b/vendor/github.com/go-xorm/xorm-redis-cache/README.md new file mode 100644 index 000000000..11b418111 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm-redis-cache/README.md @@ -0,0 +1,9 @@ +xorm-redis-cache +================ + +XORM Redis Cache + + +[![Go Walker](http://gowalker.org/api/v1/badge)](http://gowalker.org/github.com/go-xorm/xorm-redis-cache) + + diff --git a/vendor/github.com/go-xorm/xorm-redis-cache/redis_cacher.go b/vendor/github.com/go-xorm/xorm-redis-cache/redis_cacher.go new file mode 100644 index 000000000..3989ce8b1 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm-redis-cache/redis_cacher.go @@ -0,0 +1,302 @@ +package xormrediscache + +import ( + "bytes" + "encoding/gob" + "fmt" + "github.com/garyburd/redigo/redis" + "github.com/go-xorm/core" + "hash/crc32" + // "log" + "reflect" + // "strconv" + "time" + "unsafe" +) + +const ( + DEFAULT_EXPIRATION = time.Duration(0) + FOREVER_EXPIRATION = time.Duration(-1) + + LOGGING_PREFIX = "[redis_cacher]" +) + +// Wraps the Redis client to meet the Cache interface. +type RedisCacher struct { + pool *redis.Pool + defaultExpiration time.Duration + + Logger core.ILogger +} + +// New a Redis Cacher, host as IP endpoint, i.e., localhost:6379, provide empty string or nil if Redis server doesn't +// require AUTH command, defaultExpiration sets the expire duration for a key to live. Until redigo supports +// sharding/clustering, only one host will be in hostList +// +// engine.SetDefaultCacher(xormrediscache.NewRedisCacher("localhost:6379", "", xormrediscache.DEFAULT_EXPIRATION, engine.Logger)) +// +// or set MapCacher +// +// engine.MapCacher(&user, xormrediscache.NewRedisCacher("localhost:6379", "", xormrediscache.DEFAULT_EXPIRATION, engine.Logger)) +// +func NewRedisCacher(host string, password string, defaultExpiration time.Duration, logger core.ILogger) *RedisCacher { + var pool = &redis.Pool{ + MaxIdle: 5, + IdleTimeout: 240 * time.Second, + Dial: func() (redis.Conn, error) { + // the redis protocol should probably be made sett-able + c, err := redis.Dial("tcp", host) + if err != nil { + return nil, err + } + if len(password) > 0 { + if _, err := c.Do("AUTH", password); err != nil { + c.Close() + return nil, err + } + } else { + // check with PING + if _, err := c.Do("PING"); err != nil { + c.Close() + return nil, err + } + } + return c, err + }, + // custom connection test method + TestOnBorrow: func(c redis.Conn, t time.Time) error { + if _, err := c.Do("PING"); err != nil { + return err + } + return nil + }, + } + return &RedisCacher{pool: pool, defaultExpiration: defaultExpiration, Logger: logger} +} + +func exists(conn redis.Conn, key string) bool { + existed, _ := redis.Bool(conn.Do("EXISTS", key)) + return existed +} + +func (c *RedisCacher) logErrf(format string, contents ...interface{}) { + if c.Logger != nil { + c.Logger.Errorf(fmt.Sprintf("%s %s", LOGGING_PREFIX, format), contents...) + } +} + +func (c *RedisCacher) logDebugf(format string, contents ...interface{}) { + if c.Logger != nil { + c.Logger.Debugf(fmt.Sprintf("%s %s", LOGGING_PREFIX, format), contents...) + } +} + +func (c *RedisCacher) getBeanKey(tableName string, id string) string { + return fmt.Sprintf("xorm:bean:%s:%s", tableName, id) +} + +func (c *RedisCacher) getSqlKey(tableName string, sql string) string { + // hash sql to minimize key length + crc := crc32.ChecksumIEEE([]byte(sql)) + return fmt.Sprintf("xorm:sql:%s:%d", tableName, crc) +} + +// Delete all xorm cached objects +func (c *RedisCacher) Flush() error { + // conn := c.pool.Get() + // defer conn.Close() + // _, err := conn.Do("FLUSHALL") + // return err + return c.delObject("xorm:*") +} + +func (c *RedisCacher) getObject(key string) interface{} { + conn := c.pool.Get() + defer conn.Close() + raw, err := conn.Do("GET", key) + if raw == nil { + return nil + } + item, err := redis.Bytes(raw, err) + if err != nil { + c.logErrf("redis.Bytes failed: %s", err) + return nil + } + + value, err := c.deserialize(item) + + return value +} + +func (c *RedisCacher) GetIds(tableName, sql string) interface{} { + sqlKey := c.getSqlKey(tableName, sql) + c.logDebugf(" GetIds|tableName:%s|sql:%s|key:%s", tableName, sql, sqlKey) + return c.getObject(sqlKey) +} + +func (c *RedisCacher) GetBean(tableName string, id string) interface{} { + beanKey := c.getBeanKey(tableName, id) + c.logDebugf("[xorm/redis_cacher] GetBean|tableName:%s|id:%s|key:%s", tableName, id, beanKey) + return c.getObject(beanKey) +} + +func (c *RedisCacher) putObject(key string, value interface{}) { + c.invoke(c.pool.Get().Do, key, value, c.defaultExpiration) +} + +func (c *RedisCacher) PutIds(tableName, sql string, ids interface{}) { + sqlKey := c.getSqlKey(tableName, sql) + c.logDebugf("PutIds|tableName:%s|sql:%s|key:%s|obj:%s|type:%v", tableName, sql, sqlKey, ids, reflect.TypeOf(ids)) + c.putObject(sqlKey, ids) +} + +func (c *RedisCacher) PutBean(tableName string, id string, obj interface{}) { + beanKey := c.getBeanKey(tableName, id) + c.logDebugf("PutBean|tableName:%s|id:%s|key:%s|type:%v", tableName, id, beanKey, reflect.TypeOf(obj)) + c.putObject(beanKey, obj) +} + +func (c *RedisCacher) delObject(key string) error { + c.logDebugf("delObject key:[%s]", key) + + conn := c.pool.Get() + defer conn.Close() + if !exists(conn, key) { + c.logErrf("delObject key:[%s] err: %v", key, core.ErrCacheMiss) + return core.ErrCacheMiss + } + _, err := conn.Do("DEL", key) + return err +} + +func (c *RedisCacher) delObjects(key string) error { + + c.logDebugf("delObjects key:[%s]", key) + + conn := c.pool.Get() + defer conn.Close() + + keys, err := conn.Do("KEYS", key) + c.logDebugf("delObjects keys: %v", keys) + + if err == nil { + for _, key := range keys.([]interface{}) { + conn.Do("DEL", key) + } + } + return err +} + +func (c *RedisCacher) DelIds(tableName, sql string) { + c.delObject(c.getSqlKey(tableName, sql)) +} + +func (c *RedisCacher) DelBean(tableName string, id string) { + c.delObject(c.getBeanKey(tableName, id)) +} + +func (c *RedisCacher) ClearIds(tableName string) { + c.delObjects(c.getSqlKey(tableName, "*")) +} + +func (c *RedisCacher) ClearBeans(tableName string) { + c.delObjects(c.getBeanKey(tableName, "*")) +} + +func (c *RedisCacher) invoke(f func(string, ...interface{}) (interface{}, error), + key string, value interface{}, expires time.Duration) error { + + switch expires { + case DEFAULT_EXPIRATION: + expires = c.defaultExpiration + case FOREVER_EXPIRATION: + expires = time.Duration(0) + } + + b, err := c.serialize(value) + if err != nil { + return err + } + conn := c.pool.Get() + defer conn.Close() + if expires > 0 { + _, err := f("SETEX", key, int32(expires/time.Second), b) + return err + } else { + _, err := f("SET", key, b) + return err + } +} + +func (c *RedisCacher) serialize(value interface{}) ([]byte, error) { + + err := c.registerGobConcreteType(value) + if err != nil { + return nil, err + } + + if reflect.TypeOf(value).Kind() == reflect.Struct { + return nil, fmt.Errorf("serialize func only take pointer of a struct") + } + + var b bytes.Buffer + encoder := gob.NewEncoder(&b) + + c.logDebugf("serialize type:%v", reflect.TypeOf(value)) + err = encoder.Encode(&value) + if err != nil { + c.logErrf("gob encoding '%s' failed: %s|value:%v", value, err, value) + return nil, err + } + return b.Bytes(), nil +} + +func (c *RedisCacher) deserialize(byt []byte) (ptr interface{}, err error) { + b := bytes.NewBuffer(byt) + decoder := gob.NewDecoder(b) + + var p interface{} + err = decoder.Decode(&p) + if err != nil { + c.logErrf("decode failed: %v", err) + return + } + + v := reflect.ValueOf(p) + c.logDebugf("deserialize type:%v", v.Type()) + if v.Kind() == reflect.Struct { + + var pp interface{} = &p + datas := reflect.ValueOf(pp).Elem().InterfaceData() + + sp := reflect.NewAt(v.Type(), + unsafe.Pointer(datas[1])).Interface() + ptr = sp + vv := reflect.ValueOf(ptr) + c.logDebugf("deserialize convert ptr type:%v | CanAddr:%t", vv.Type(), vv.CanAddr()) + } else { + ptr = p + } + return +} + +func (c *RedisCacher) registerGobConcreteType(value interface{}) error { + + t := reflect.TypeOf(value) + + c.logDebugf("registerGobConcreteType:%v", t) + + switch t.Kind() { + case reflect.Ptr: + v := reflect.ValueOf(value) + i := v.Elem().Interface() + gob.Register(i) + case reflect.Struct, reflect.Map, reflect.Slice: + gob.Register(value) + case reflect.String, reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Bool, reflect.Float32, reflect.Float64, reflect.Complex64, reflect.Complex128: + // do nothing since already registered known type + default: + return fmt.Errorf("unhandled type: %v", t) + } + return nil +} diff --git a/vendor/github.com/go-xorm/xorm-redis-cache/run_test.sh b/vendor/github.com/go-xorm/xorm-redis-cache/run_test.sh new file mode 100755 index 000000000..c20065630 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm-redis-cache/run_test.sh @@ -0,0 +1,6 @@ +redis-cli FLUSHALL +if [ $? == "0" ];then + go test -v -run=TestMysqlWithCache +else + echo "no redis-server running on localhost" +fi diff --git a/vendor/github.com/go-xorm/xorm/CONTRIBUTING.md b/vendor/github.com/go-xorm/xorm/CONTRIBUTING.md new file mode 100644 index 000000000..e0f6cfcdf --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/CONTRIBUTING.md @@ -0,0 +1,49 @@ +## Contributing to xorm + +`xorm` has a backlog of [pull requests](https://help.github.com/articles/using-pull-requests), but contributions are still very +much welcome. You can help with patch review, submitting bug reports, +or adding new functionality. There is no formal style guide, but +please conform to the style of existing code and general Go formatting +conventions when submitting patches. + +* [fork a repo](https://help.github.com/articles/fork-a-repo) +* [creating a pull request ](https://help.github.com/articles/creating-a-pull-request) + +### Language + +Since `xorm` is a world-wide open source project, please describe your issues or code changes in English as soon as possible. + +### Sign your codes with comments +``` +// !! your comments + +e.g., + +// !lunny! this is comments made by lunny +``` + +### Patch review + +Help review existing open [pull requests](https://help.github.com/articles/using-pull-requests) by commenting on the code or +proposed functionality. + +### Bug reports + +We appreciate any bug reports, but especially ones with self-contained +(doesn't depend on code outside of xorm), minimal (can't be simplified +further) test cases. It's especially helpful if you can submit a pull +request with just the failing test case (you'll probably want to +pattern it after the tests in +[base.go](https://github.com/go-xorm/tests/blob/master/base.go) AND +[benchmark.go](https://github.com/go-xorm/tests/blob/master/benchmark.go). + +If you implements a new database interface, you maybe need to add a _test.go file. +For example, [mysql_test.go](https://github.com/go-xorm/tests/blob/master/mysql/mysql_test.go) + +### New functionality + +There are a number of pending patches for new functionality, so +additional feature patches will take a while to merge. Still, patches +are generally reviewed based on usefulness and complexity in addition +to time-in-queue, so if you have a knockout idea, take a shot. Feel +free to open an issue discussion your proposed patch beforehand. diff --git a/vendor/github.com/go-xorm/xorm/LICENSE b/vendor/github.com/go-xorm/xorm/LICENSE new file mode 100644 index 000000000..84d2ae538 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2013 - 2015 The Xorm Authors +All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are met: + +* Redistributions of source code must retain the above copyright notice, this + list of conditions and the following disclaimer. + +* Redistributions in binary form must reproduce the above copyright notice, + this list of conditions and the following disclaimer in the documentation + and/or other materials provided with the distribution. + +* Neither the name of the {organization} nor the names of its + contributors may be used to endorse or promote products derived from + this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE +DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE +FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR +SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER +CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, +OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/go-xorm/xorm/README.md b/vendor/github.com/go-xorm/xorm/README.md new file mode 100644 index 000000000..c8c43894c --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/README.md @@ -0,0 +1,315 @@ +[中文](https://github.com/go-xorm/xorm/blob/master/README_CN.md) + +Xorm is a simple and powerful ORM for Go. + +[![CircleCI](https://circleci.com/gh/go-xorm/xorm.svg?style=shield)](https://circleci.com/gh/go-xorm/xorm) [![codecov](https://codecov.io/gh/go-xorm/xorm/branch/master/graph/badge.svg)](https://codecov.io/gh/go-xorm/xorm) +[![](https://goreportcard.com/badge/github.com/go-xorm/xorm)](https://goreportcard.com/report/github.com/go-xorm/xorm) +[![Join the chat at https://img.shields.io/discord/323460943201959939.svg](https://img.shields.io/discord/323460943201959939.svg)](https://discord.gg/HuR2CF3) + +# Features + +* Struct <-> Table Mapping Support + +* Chainable APIs + +* Transaction Support + +* Both ORM and raw SQL operation Support + +* Sync database schema Support + +* Query Cache speed up + +* Database Reverse support, See [Xorm Tool README](https://github.com/go-xorm/cmd/blob/master/README.md) + +* Simple cascade loading support + +* Optimistic Locking support + +* SQL Builder support via [github.com/go-xorm/builder](https://github.com/go-xorm/builder) + +# Drivers Support + +Drivers for Go's sql package which currently support database/sql includes: + +* Mysql: [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) + +* MyMysql: [github.com/ziutek/mymysql/godrv](https://github.com/ziutek/mymysql/tree/master/godrv) + +* Postgres: [github.com/lib/pq](https://github.com/lib/pq) + +* Tidb: [github.com/pingcap/tidb](https://github.com/pingcap/tidb) + +* SQLite: [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) + +* MsSql: [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb) + +* Oracle: [github.com/mattn/go-oci8](https://github.com/mattn/go-oci8) (experiment) + +# Changelog + +* **v0.6.3** + * merge tests to main project + * add `Exist` function + * add `SumInt` function + * Mysql now support read and create column comment. + * fix time related bugs. + * fix some other bugs. + +* **v0.6.2** + * refactor tag parse methods + * add Scan features to Get + * add QueryString method + +* **v0.6.0** + * remove support for ql + * add query condition builder support via [github.com/go-xorm/builder](https://github.com/go-xorm/builder), so `Where`, `And`, `Or` +methods can use `builder.Cond` as parameter + * add Sum, SumInt, SumInt64 and NotIn methods + * some bugs fixed + +[More changes ...](https://github.com/go-xorm/manual-en-US/tree/master/chapter-16) + +# Installation + + go get github.com/go-xorm/xorm + +# Documents + +* [Manual](http://xorm.io/docs) + +* [GoDoc](http://godoc.org/github.com/go-xorm/xorm) + +* [GoWalker](http://gowalker.org/github.com/go-xorm/xorm) + +# Quick Start + +* Create Engine + +```Go +engine, err := xorm.NewEngine(driverName, dataSourceName) +``` + +* Define a struct and Sync2 table struct to database + +```Go +type User struct { + Id int64 + Name string + Salt string + Age int + Passwd string `xorm:"varchar(200)"` + Created time.Time `xorm:"created"` + Updated time.Time `xorm:"updated"` +} + +err := engine.Sync2(new(User)) +``` + +* `Query` runs a SQL string, the returned results is `[]map[string][]byte`, `QueryString` returns `[]map[string]string`. + +```Go +results, err := engine.Query("select * from user") + +results, err := engine.QueryString("select * from user") +``` + +* `Execute` runs a SQL string, it returns `affected` and `error` + +```Go +affected, err := engine.Exec("update user set age = ? where name = ?", age, name) +``` + +* `Insert` one or multiple records to database + +```Go +affected, err := engine.Insert(&user) +// INSERT INTO struct () values () +affected, err := engine.Insert(&user1, &user2) +// INSERT INTO struct1 () values () +// INSERT INTO struct2 () values () +affected, err := engine.Insert(&users) +// INSERT INTO struct () values (),(),() +affected, err := engine.Insert(&user1, &users) +// INSERT INTO struct1 () values () +// INSERT INTO struct2 () values (),(),() +``` + +* Query one record from database + +```Go +has, err := engine.Get(&user) +// SELECT * FROM user LIMIT 1 +has, err := engine.Where("name = ?", name).Desc("id").Get(&user) +// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1 +var name string +has, err := engine.Where("id = ?", id).Cols("name").Get(&name) +// SELECT name FROM user WHERE id = ? +var id int64 +has, err := engine.Where("name = ?", name).Cols("id").Get(&id) +// SELECT id FROM user WHERE name = ? +var valuesMap = make(map[string]string) +has, err := engine.Where("id = ?", id).Get(&valuesMap) +// SELECT * FROM user WHERE id = ? +var valuesSlice = make([]interface{}, len(cols)) +has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice) +// SELECT col1, col2, col3 FROM user WHERE id = ? +``` + +* Check if one record exist on table + +```Go +has, err := testEngine.Exist(new(RecordExist)) +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Exist(&RecordExist{ + Name: "test1", + }) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{}) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist() +// select * from record_exist where name = ? +has, err = testEngine.Table("record_exist").Exist() +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist() +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +``` + +* Query multiple records from database, also you can use join and extends + +```Go +var users []User +err := engine.Where("name = ?", name).And("age > 10").Limit(10, 0).Find(&users) +// SELECT * FROM user WHERE name = ? AND age > 10 limit 0 offset 10 + +type Detail struct { + Id int64 + UserId int64 `xorm:"index"` +} + +type UserDetail struct { + User `xorm:"extends"` + Detail `xorm:"extends"` +} + +var users []UserDetail +err := engine.Table("user").Select("user.*, detail.*") + Join("INNER", "detail", "detail.user_id = user.id"). + Where("user.name = ?", name).Limit(10, 0). + Find(&users) +// SELECT user.*, detail.* FROM user INNER JOIN detail WHERE user.name = ? limit 0 offset 10 +``` + +* Query multiple records and record by record handle, there are two methods Iterate and Rows + +```Go +err := engine.Iterate(&User{Name:name}, func(idx int, bean interface{}) error { + user := bean.(*User) + return nil +}) +// SELECT * FROM user + +rows, err := engine.Rows(&User{Name:name}) +// SELECT * FROM user +defer rows.Close() +bean := new(Struct) +for rows.Next() { + err = rows.Scan(bean) +} +``` + +* Update one or more records, default will update non-empty and non-zero fields except when you use Cols, AllCols and so on. + +```Go +affected, err := engine.Id(1).Update(&user) +// UPDATE user SET ... Where id = ? + +affected, err := engine.Update(&user, &User{Name:name}) +// UPDATE user SET ... Where name = ? + +var ids = []int64{1, 2, 3} +affected, err := engine.In("id", ids).Update(&user) +// UPDATE user SET ... Where id IN (?, ?, ?) + +// force update indicated columns by Cols +affected, err := engine.Id(1).Cols("age").Update(&User{Name:name, Age: 12}) +// UPDATE user SET age = ?, updated=? Where id = ? + +// force NOT update indicated columns by Omit +affected, err := engine.Id(1).Omit("name").Update(&User{Name:name, Age: 12}) +// UPDATE user SET age = ?, updated=? Where id = ? + +affected, err := engine.Id(1).AllCols().Update(&user) +// UPDATE user SET name=?,age=?,salt=?,passwd=?,updated=? Where id = ? +``` + +* Delete one or more records, Delete MUST have condition + +```Go +affected, err := engine.Where(...).Delete(&user) +// DELETE FROM user Where ... +affected, err := engine.Id(2).Delete(&user) +``` + +* Count records + +```Go +counts, err := engine.Count(&user) +// SELECT count(*) AS total FROM user +``` + +* Query conditions builder + +```Go +err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))).Find(&users) +// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?) +``` + +# Cases + +* [studygolang](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang) + +* [Gitea](http://gitea.io) - [github.com/go-gitea/gitea](http://github.com/go-gitea/gitea) + +* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs) + +* [grafana](https://grafana.com/) - [github.com/grafana/grafana](http://github.com/grafana/grafana) + +* [github.com/m3ng9i/qreader](https://github.com/m3ng9i/qreader) + +* [Wego](http://github.com/go-tango/wego) + +* [Docker.cn](https://docker.cn/) + +* [Xorm Adapter](https://github.com/casbin/xorm-adapter) for [Casbin](https://github.com/casbin/casbin) - [github.com/casbin/xorm-adapter](https://github.com/casbin/xorm-adapter) + +* [Gorevel](http://gorevel.cn/) - [github.com/goofcc/gorevel](http://github.com/goofcc/gorevel) + +* [Gowalker](http://gowalker.org) - [github.com/Unknwon/gowalker](http://github.com/Unknwon/gowalker) + +* [Gobuild.io](http://gobuild.io) - [github.com/shxsun/gobuild](http://github.com/shxsun/gobuild) + +* [Sudo China](http://sudochina.com) - [github.com/insionng/toropress](http://github.com/insionng/toropress) + +* [Godaily](http://godaily.org) - [github.com/govc/godaily](http://github.com/govc/godaily) + +* [YouGam](http://www.yougam.com/) + +* [GoCMS - github.com/zzboy/GoCMS](https://github.com/zzdboy/GoCMS) + +* [GoBBS - gobbs.domolo.com](http://gobbs.domolo.com/) + +* [go-blog](http://wangcheng.me) - [github.com/easykoo/go-blog](https://github.com/easykoo/go-blog) + +# Discuss + +Please visit [Xorm on Google Groups](https://groups.google.com/forum/#!forum/xorm) + +# Contributing + +If you want to pull request, please see [CONTRIBUTING](https://github.com/go-xorm/xorm/blob/master/CONTRIBUTING.md) + +# LICENSE + + BSD License + [http://creativecommons.org/licenses/BSD/](http://creativecommons.org/licenses/BSD/) diff --git a/vendor/github.com/go-xorm/xorm/README_CN.md b/vendor/github.com/go-xorm/xorm/README_CN.md new file mode 100644 index 000000000..cb2c1799e --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/README_CN.md @@ -0,0 +1,321 @@ +# xorm + +[English](https://github.com/go-xorm/xorm/blob/master/README.md) + +xorm是一个简单而强大的Go语言ORM库. 通过它可以使数据库操作非常简便。 + +[![CircleCI](https://circleci.com/gh/go-xorm/xorm.svg?style=shield)](https://circleci.com/gh/go-xorm/xorm) [![codecov](https://codecov.io/gh/go-xorm/xorm/branch/master/graph/badge.svg)](https://codecov.io/gh/go-xorm/xorm) +[![](https://goreportcard.com/badge/github.com/go-xorm/xorm)](https://goreportcard.com/report/github.com/go-xorm/xorm) +[![Join the chat at https://img.shields.io/discord/323460943201959939.svg](https://img.shields.io/discord/323460943201959939.svg)](https://discord.gg/HuR2CF3) + +## 特性 + +* 支持Struct和数据库表之间的灵活映射,并支持自动同步 + +* 事务支持 + +* 同时支持原始SQL语句和ORM操作的混合执行 + +* 使用连写来简化调用 + +* 支持使用Id, In, Where, Limit, Join, Having, Table, Sql, Cols等函数和结构体等方式作为条件 + +* 支持级联加载Struct + +* 支持缓存 + +* 支持根据数据库自动生成xorm的结构体 + +* 支持记录版本(即乐观锁) + +* 内置SQL Builder支持 + +## 驱动支持 + +目前支持的Go数据库驱动和对应的数据库如下: + +* Mysql: [github.com/go-sql-driver/mysql](https://github.com/go-sql-driver/mysql) + +* MyMysql: [github.com/ziutek/mymysql/godrv](https://github.com/ziutek/mymysql/godrv) + +* Postgres: [github.com/lib/pq](https://github.com/lib/pq) + +* Tidb: [github.com/pingcap/tidb](https://github.com/pingcap/tidb) + +* SQLite: [github.com/mattn/go-sqlite3](https://github.com/mattn/go-sqlite3) + +* MsSql: [github.com/denisenkom/go-mssqldb](https://github.com/denisenkom/go-mssqldb) + +* MsSql: [github.com/lunny/godbc](https://github.com/lunny/godbc) + +* Oracle: [github.com/mattn/go-oci8](https://github.com/mattn/go-oci8) (试验性支持) + +## 更新日志 + +* **v0.6.3** + * 合并单元测试到主工程 + * 新增`Exist`方法 + * 新增`SumInt`方法 + * Mysql新增读取和创建字段注释支持 + * 新增`SetConnMaxLifetime`方法 + * 修正了时间相关的Bug + * 修复了一些其它Bug + +* **v0.6.2** + * 重构Tag解析方式 + * Get方法新增类似Scan的特性 + * 新增 QueryString 方法 + +* **v0.6.0** + * 去除对 ql 的支持 + * 新增条件查询分析器 [github.com/go-xorm/builder](https://github.com/go-xorm/builder), 从因此 `Where, And, Or` 函数 +将可以用 `builder.Cond` 作为条件组合 + * 新增 Sum, SumInt, SumInt64 和 NotIn 函数 + * Bug修正 + +* **v0.5.0** + * logging接口进行不兼容改变 + * Bug修正 + +[更多更新日志...](https://github.com/go-xorm/manual-zh-CN/tree/master/chapter-16) + +## 安装 + + go get github.com/go-xorm/xorm + +## 文档 + +* [操作指南](http://xorm.io/docs) + +* [GoWalker代码文档](http://gowalker.org/github.com/go-xorm/xorm) + +* [Godoc代码文档](http://godoc.org/github.com/go-xorm/xorm) + +# 快速开始 + +* 第一步创建引擎,driverName, dataSourceName和database/sql接口相同 + +```Go +engine, err := xorm.NewEngine(driverName, dataSourceName) +``` + +* 定义一个和表同步的结构体,并且自动同步结构体到数据库 + +```Go +type User struct { + Id int64 + Name string + Salt string + Age int + Passwd string `xorm:"varchar(200)"` + Created time.Time `xorm:"created"` + Updated time.Time `xorm:"updated"` +} + +err := engine.Sync2(new(User)) +``` + +* `Query` 最原始的也支持SQL语句查询,返回的结果类型为 []map[string][]byte。`QueryString` 返回 []map[string]string + +```Go +results, err := engine.Query("select * from user") + +results, err := engine.QueryString("select * from user") +``` + +* `Exec` 执行一个SQL语句 + +```Go +affected, err := engine.Exec("update user set age = ? where name = ?", age, name) +``` + +* 插入一条或者多条记录 + +```Go +affected, err := engine.Insert(&user) +// INSERT INTO struct () values () +affected, err := engine.Insert(&user1, &user2) +// INSERT INTO struct1 () values () +// INSERT INTO struct2 () values () +affected, err := engine.Insert(&users) +// INSERT INTO struct () values (),(),() +affected, err := engine.Insert(&user1, &users) +// INSERT INTO struct1 () values () +// INSERT INTO struct2 () values (),(),() +``` + +* 查询单条记录 + +```Go +has, err := engine.Get(&user) +// SELECT * FROM user LIMIT 1 +has, err := engine.Where("name = ?", name).Desc("id").Get(&user) +// SELECT * FROM user WHERE name = ? ORDER BY id DESC LIMIT 1 +var name string +has, err := engine.Where("id = ?", id).Cols("name").Get(&name) +// SELECT name FROM user WHERE id = ? +var id int64 +has, err := engine.Where("name = ?", name).Cols("id").Get(&id) +// SELECT id FROM user WHERE name = ? +var valuesMap = make(map[string]string) +has, err := engine.Where("id = ?", id).Get(&valuesMap) +// SELECT * FROM user WHERE id = ? +var valuesSlice = make([]interface{}, len(cols)) +has, err := engine.Where("id = ?", id).Cols(cols...).Get(&valuesSlice) +// SELECT col1, col2, col3 FROM user WHERE id = ? +``` + +* 检测记录是否存在 + +```Go +has, err := testEngine.Exist(new(RecordExist)) +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Exist(&RecordExist{ + Name: "test1", + }) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.Where("name = ?", "test1").Exist(&RecordExist{}) +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +has, err = testEngine.SQL("select * from record_exist where name = ?", "test1").Exist() +// select * from record_exist where name = ? +has, err = testEngine.Table("record_exist").Exist() +// SELECT * FROM record_exist LIMIT 1 +has, err = testEngine.Table("record_exist").Where("name = ?", "test1").Exist() +// SELECT * FROM record_exist WHERE name = ? LIMIT 1 +``` + +* 查询多条记录,当然可以使用Join和extends来组合使用 + +```Go +var users []User +err := engine.Where("name = ?", name).And("age > 10").Limit(10, 0).Find(&users) +// SELECT * FROM user WHERE name = ? AND age > 10 limit 0 offset 10 + +type Detail struct { + Id int64 + UserId int64 `xorm:"index"` +} + +type UserDetail struct { + User `xorm:"extends"` + Detail `xorm:"extends"` +} + +var users []UserDetail +err := engine.Table("user").Select("user.*, detail.*") + Join("INNER", "detail", "detail.user_id = user.id"). + Where("user.name = ?", name).Limit(10, 0). + Find(&users) +// SELECT user.*, detail.* FROM user INNER JOIN detail WHERE user.name = ? limit 0 offset 10 +``` + +* 根据条件遍历数据库,可以有两种方式: Iterate and Rows + +```Go +err := engine.Iterate(&User{Name:name}, func(idx int, bean interface{}) error { + user := bean.(*User) + return nil +}) +// SELECT * FROM user + +rows, err := engine.Rows(&User{Name:name}) +// SELECT * FROM user +defer rows.Close() +bean := new(Struct) +for rows.Next() { + err = rows.Scan(bean) +} +``` + +* 更新数据,除非使用Cols,AllCols函数指明,默认只更新非空和非0的字段 + +```Go +affected, err := engine.Id(1).Update(&user) +// UPDATE user SET ... Where id = ? + +affected, err := engine.Update(&user, &User{Name:name}) +// UPDATE user SET ... Where name = ? + +var ids = []int64{1, 2, 3} +affected, err := engine.In(ids).Update(&user) +// UPDATE user SET ... Where id IN (?, ?, ?) + +// force update indicated columns by Cols +affected, err := engine.Id(1).Cols("age").Update(&User{Name:name, Age: 12}) +// UPDATE user SET age = ?, updated=? Where id = ? + +// force NOT update indicated columns by Omit +affected, err := engine.Id(1).Omit("name").Update(&User{Name:name, Age: 12}) +// UPDATE user SET age = ?, updated=? Where id = ? + +affected, err := engine.Id(1).AllCols().Update(&user) +// UPDATE user SET name=?,age=?,salt=?,passwd=?,updated=? Where id = ? +``` + +* 删除记录,需要注意,删除必须至少有一个条件,否则会报错。要清空数据库可以用EmptyTable + +```Go +affected, err := engine.Where(...).Delete(&user) +// DELETE FROM user Where ... +``` + +* 获取记录条数 + +```Go +counts, err := engine.Count(&user) +// SELECT count(*) AS total FROM user +``` + +* 条件编辑器 + +```Go +err := engine.Where(builder.NotIn("a", 1, 2).And(builder.In("b", "c", "d", "e"))).Find(&users) +// SELECT id, name ... FROM user WHERE a NOT IN (?, ?) AND b IN (?, ?, ?) +``` + +# 案例 + +* [Go语言中文网](http://studygolang.com/) - [github.com/studygolang/studygolang](https://github.com/studygolang/studygolang) + +* [Gitea](http://gitea.io) - [github.com/go-gitea/gitea](http://github.com/go-gitea/gitea) + +* [Gogs](http://try.gogits.org) - [github.com/gogits/gogs](http://github.com/gogits/gogs) + +* [grafana](https://grafana.com/) - [github.com/grafana/grafana](http://github.com/grafana/grafana) + +* [github.com/m3ng9i/qreader](https://github.com/m3ng9i/qreader) + +* [Wego](http://github.com/go-tango/wego) + +* [Docker.cn](https://docker.cn/) + +* [Xorm Adapter](https://github.com/casbin/xorm-adapter) for [Casbin](https://github.com/casbin/casbin) - [github.com/casbin/xorm-adapter](https://github.com/casbin/xorm-adapter) + +* [Gowalker](http://gowalker.org) - [github.com/Unknwon/gowalker](http://github.com/Unknwon/gowalker) + +* [Gobuild.io](http://gobuild.io) - [github.com/shxsun/gobuild](http://github.com/shxsun/gobuild) + +* [Sudo China](http://sudochina.com) - [github.com/insionng/toropress](http://github.com/insionng/toropress) + +* [Godaily](http://godaily.org) - [github.com/govc/godaily](http://github.com/govc/godaily) + +* [YouGam](http://www.yougam.com/) + +* [GoCMS - github.com/zzboy/GoCMS](https://github.com/zzdboy/GoCMS) + +* [GoBBS - gobbs.domolo.com](http://gobbs.domolo.com/) + +* [go-blog](http://wangcheng.me) - [github.com/easykoo/go-blog](https://github.com/easykoo/go-blog) + +## 讨论 + +请加入QQ群:280360085 进行讨论。 + +## 贡献 + +如果您也想为Xorm贡献您的力量,请查看 [CONTRIBUTING](https://github.com/go-xorm/xorm/blob/master/CONTRIBUTING.md) + +## LICENSE + +BSD License +[http://creativecommons.org/licenses/BSD/](http://creativecommons.org/licenses/BSD/) diff --git a/vendor/github.com/go-xorm/xorm/cache_lru.go b/vendor/github.com/go-xorm/xorm/cache_lru.go new file mode 100644 index 000000000..c9672cebe --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/cache_lru.go @@ -0,0 +1,284 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "container/list" + "fmt" + "sync" + "time" + + "github.com/go-xorm/core" +) + +// LRUCacher implments cache object facilities +type LRUCacher struct { + idList *list.List + sqlList *list.List + idIndex map[string]map[string]*list.Element + sqlIndex map[string]map[string]*list.Element + store core.CacheStore + mutex sync.Mutex + MaxElementSize int + Expired time.Duration + GcInterval time.Duration +} + +// NewLRUCacher creates a cacher +func NewLRUCacher(store core.CacheStore, maxElementSize int) *LRUCacher { + return NewLRUCacher2(store, 3600*time.Second, maxElementSize) +} + +// NewLRUCacher2 creates a cache include different params +func NewLRUCacher2(store core.CacheStore, expired time.Duration, maxElementSize int) *LRUCacher { + cacher := &LRUCacher{store: store, idList: list.New(), + sqlList: list.New(), Expired: expired, + GcInterval: core.CacheGcInterval, MaxElementSize: maxElementSize, + sqlIndex: make(map[string]map[string]*list.Element), + idIndex: make(map[string]map[string]*list.Element), + } + cacher.RunGC() + return cacher +} + +// RunGC run once every m.GcInterval +func (m *LRUCacher) RunGC() { + time.AfterFunc(m.GcInterval, func() { + m.RunGC() + m.GC() + }) +} + +// GC check ids lit and sql list to remove all element expired +func (m *LRUCacher) GC() { + m.mutex.Lock() + defer m.mutex.Unlock() + var removedNum int + for e := m.idList.Front(); e != nil; { + if removedNum <= core.CacheGcMaxRemoved && + time.Now().Sub(e.Value.(*idNode).lastVisit) > m.Expired { + removedNum++ + next := e.Next() + node := e.Value.(*idNode) + m.delBean(node.tbName, node.id) + e = next + } else { + break + } + } + + removedNum = 0 + for e := m.sqlList.Front(); e != nil; { + if removedNum <= core.CacheGcMaxRemoved && + time.Now().Sub(e.Value.(*sqlNode).lastVisit) > m.Expired { + removedNum++ + next := e.Next() + node := e.Value.(*sqlNode) + m.delIds(node.tbName, node.sql) + e = next + } else { + break + } + } +} + +// GetIds returns all bean's ids according to sql and parameter from cache +func (m *LRUCacher) GetIds(tableName, sql string) interface{} { + m.mutex.Lock() + defer m.mutex.Unlock() + if _, ok := m.sqlIndex[tableName]; !ok { + m.sqlIndex[tableName] = make(map[string]*list.Element) + } + if v, err := m.store.Get(sql); err == nil { + if el, ok := m.sqlIndex[tableName][sql]; !ok { + el = m.sqlList.PushBack(newSQLNode(tableName, sql)) + m.sqlIndex[tableName][sql] = el + } else { + lastTime := el.Value.(*sqlNode).lastVisit + // if expired, remove the node and return nil + if time.Now().Sub(lastTime) > m.Expired { + m.delIds(tableName, sql) + return nil + } + m.sqlList.MoveToBack(el) + el.Value.(*sqlNode).lastVisit = time.Now() + } + return v + } + + m.delIds(tableName, sql) + return nil +} + +// GetBean returns bean according tableName and id from cache +func (m *LRUCacher) GetBean(tableName string, id string) interface{} { + m.mutex.Lock() + defer m.mutex.Unlock() + if _, ok := m.idIndex[tableName]; !ok { + m.idIndex[tableName] = make(map[string]*list.Element) + } + tid := genID(tableName, id) + if v, err := m.store.Get(tid); err == nil { + if el, ok := m.idIndex[tableName][id]; ok { + lastTime := el.Value.(*idNode).lastVisit + // if expired, remove the node and return nil + if time.Now().Sub(lastTime) > m.Expired { + m.delBean(tableName, id) + return nil + } + m.idList.MoveToBack(el) + el.Value.(*idNode).lastVisit = time.Now() + } else { + el = m.idList.PushBack(newIDNode(tableName, id)) + m.idIndex[tableName][id] = el + } + return v + } + + // store bean is not exist, then remove memory's index + m.delBean(tableName, id) + return nil +} + +// clearIds clears all sql-ids mapping on table tableName from cache +func (m *LRUCacher) clearIds(tableName string) { + if tis, ok := m.sqlIndex[tableName]; ok { + for sql, v := range tis { + m.sqlList.Remove(v) + m.store.Del(sql) + } + } + m.sqlIndex[tableName] = make(map[string]*list.Element) +} + +// ClearIds clears all sql-ids mapping on table tableName from cache +func (m *LRUCacher) ClearIds(tableName string) { + m.mutex.Lock() + m.clearIds(tableName) + m.mutex.Unlock() +} + +func (m *LRUCacher) clearBeans(tableName string) { + if tis, ok := m.idIndex[tableName]; ok { + for id, v := range tis { + m.idList.Remove(v) + tid := genID(tableName, id) + m.store.Del(tid) + } + } + m.idIndex[tableName] = make(map[string]*list.Element) +} + +// ClearBeans clears all beans in some table +func (m *LRUCacher) ClearBeans(tableName string) { + m.mutex.Lock() + m.clearBeans(tableName) + m.mutex.Unlock() +} + +// PutIds pus ids into table +func (m *LRUCacher) PutIds(tableName, sql string, ids interface{}) { + m.mutex.Lock() + if _, ok := m.sqlIndex[tableName]; !ok { + m.sqlIndex[tableName] = make(map[string]*list.Element) + } + if el, ok := m.sqlIndex[tableName][sql]; !ok { + el = m.sqlList.PushBack(newSQLNode(tableName, sql)) + m.sqlIndex[tableName][sql] = el + } else { + el.Value.(*sqlNode).lastVisit = time.Now() + } + m.store.Put(sql, ids) + if m.sqlList.Len() > m.MaxElementSize { + e := m.sqlList.Front() + node := e.Value.(*sqlNode) + m.delIds(node.tbName, node.sql) + } + m.mutex.Unlock() +} + +// PutBean puts beans into table +func (m *LRUCacher) PutBean(tableName string, id string, obj interface{}) { + m.mutex.Lock() + var el *list.Element + var ok bool + + if el, ok = m.idIndex[tableName][id]; !ok { + el = m.idList.PushBack(newIDNode(tableName, id)) + m.idIndex[tableName][id] = el + } else { + el.Value.(*idNode).lastVisit = time.Now() + } + + m.store.Put(genID(tableName, id), obj) + if m.idList.Len() > m.MaxElementSize { + e := m.idList.Front() + node := e.Value.(*idNode) + m.delBean(node.tbName, node.id) + } + m.mutex.Unlock() +} + +func (m *LRUCacher) delIds(tableName, sql string) { + if _, ok := m.sqlIndex[tableName]; ok { + if el, ok := m.sqlIndex[tableName][sql]; ok { + delete(m.sqlIndex[tableName], sql) + m.sqlList.Remove(el) + } + } + m.store.Del(sql) +} + +// DelIds deletes ids +func (m *LRUCacher) DelIds(tableName, sql string) { + m.mutex.Lock() + m.delIds(tableName, sql) + m.mutex.Unlock() +} + +func (m *LRUCacher) delBean(tableName string, id string) { + tid := genID(tableName, id) + if el, ok := m.idIndex[tableName][id]; ok { + delete(m.idIndex[tableName], id) + m.idList.Remove(el) + m.clearIds(tableName) + } + m.store.Del(tid) +} + +// DelBean deletes beans in some table +func (m *LRUCacher) DelBean(tableName string, id string) { + m.mutex.Lock() + m.delBean(tableName, id) + m.mutex.Unlock() +} + +type idNode struct { + tbName string + id string + lastVisit time.Time +} + +type sqlNode struct { + tbName string + sql string + lastVisit time.Time +} + +func genSQLKey(sql string, args interface{}) string { + return fmt.Sprintf("%v-%v", sql, args) +} + +func genID(prefix string, id string) string { + return fmt.Sprintf("%v-%v", prefix, id) +} + +func newIDNode(tbName string, id string) *idNode { + return &idNode{tbName, id, time.Now()} +} + +func newSQLNode(tbName, sql string) *sqlNode { + return &sqlNode{tbName, sql, time.Now()} +} diff --git a/vendor/github.com/go-xorm/xorm/cache_memory_store.go b/vendor/github.com/go-xorm/xorm/cache_memory_store.go new file mode 100644 index 000000000..36853b19e --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/cache_memory_store.go @@ -0,0 +1,51 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "sync" + + "github.com/go-xorm/core" +) + +var _ core.CacheStore = NewMemoryStore() + +// MemoryStore represents in-memory store +type MemoryStore struct { + store map[interface{}]interface{} + mutex sync.RWMutex +} + +// NewMemoryStore creates a new store in memory +func NewMemoryStore() *MemoryStore { + return &MemoryStore{store: make(map[interface{}]interface{})} +} + +// Put puts object into store +func (s *MemoryStore) Put(key string, value interface{}) error { + s.mutex.Lock() + defer s.mutex.Unlock() + s.store[key] = value + return nil +} + +// Get gets object from store +func (s *MemoryStore) Get(key string) (interface{}, error) { + s.mutex.RLock() + defer s.mutex.RUnlock() + if v, ok := s.store[key]; ok { + return v, nil + } + + return nil, ErrNotExist +} + +// Del deletes object +func (s *MemoryStore) Del(key string) error { + s.mutex.Lock() + defer s.mutex.Unlock() + delete(s.store, key) + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/circle.yml b/vendor/github.com/go-xorm/xorm/circle.yml new file mode 100644 index 000000000..69fc7164b --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/circle.yml @@ -0,0 +1,38 @@ +dependencies: + override: + # './...' is a relative pattern which means all subdirectories + - go get -t -d -v ./... + - go get -t -d -v github.com/go-xorm/tests + - go get -u github.com/go-xorm/core + - go get -u github.com/go-xorm/builder + - go build -v + +database: + override: + - mysql -u root -e "CREATE DATABASE xorm_test DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" + - mysql -u root -e "CREATE DATABASE xorm_test1 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" + - mysql -u root -e "CREATE DATABASE xorm_test2 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" + - mysql -u root -e "CREATE DATABASE xorm_test3 DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci" + - createdb -p 5432 -e -U postgres xorm_test + - createdb -p 5432 -e -U postgres xorm_test1 + - createdb -p 5432 -e -U postgres xorm_test2 + - createdb -p 5432 -e -U postgres xorm_test3 + +test: + override: + # './...' is a relative pattern which means all subdirectories + - go get -u github.com/wadey/gocovmerge; + - go test -v -race -db="sqlite3" -conn_str="./test.db" -coverprofile=coverage1-1.txt -covermode=atomic + - go test -v -race -db="sqlite3" -conn_str="./test.db" -cache=true -coverprofile=coverage1-2.txt -covermode=atomic + - go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -coverprofile=coverage2-1.txt -covermode=atomic + - go test -v -race -db="mysql" -conn_str="root:@/xorm_test" -cache=true -coverprofile=coverage2-2.txt -covermode=atomic + - go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -coverprofile=coverage3-1.txt -covermode=atomic + - go test -v -race -db="mymysql" -conn_str="xorm_test/root/" -cache=true -coverprofile=coverage3-2.txt -covermode=atomic + - go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -coverprofile=coverage4-1.txt -covermode=atomic + - go test -v -race -db="postgres" -conn_str="dbname=xorm_test sslmode=disable" -cache=true -coverprofile=coverage4-2.txt -covermode=atomic + - gocovmerge coverage1-1.txt coverage1-2.txt coverage2-1.txt coverage2-2.txt coverage3-1.txt coverage3-2.txt coverage4-1.txt coverage4-2.txt > coverage.txt + - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./sqlite3.sh + - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./mysql.sh + - cd /home/ubuntu/.go_workspace/src/github.com/go-xorm/tests && ./postgres.sh + post: + - bash <(curl -s https://codecov.io/bash) \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/convert.go b/vendor/github.com/go-xorm/xorm/convert.go new file mode 100644 index 000000000..0504bef15 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/convert.go @@ -0,0 +1,348 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql/driver" + "errors" + "fmt" + "reflect" + "strconv" + "time" +) + +var errNilPtr = errors.New("destination pointer is nil") // embedded in descriptive error + +func strconvErr(err error) error { + if ne, ok := err.(*strconv.NumError); ok { + return ne.Err + } + return err +} + +func cloneBytes(b []byte) []byte { + if b == nil { + return nil + } else { + c := make([]byte, len(b)) + copy(c, b) + return c + } +} + +func asString(src interface{}) string { + switch v := src.(type) { + case string: + return v + case []byte: + return string(v) + } + rv := reflect.ValueOf(src) + switch rv.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return strconv.FormatInt(rv.Int(), 10) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return strconv.FormatUint(rv.Uint(), 10) + case reflect.Float64: + return strconv.FormatFloat(rv.Float(), 'g', -1, 64) + case reflect.Float32: + return strconv.FormatFloat(rv.Float(), 'g', -1, 32) + case reflect.Bool: + return strconv.FormatBool(rv.Bool()) + } + return fmt.Sprintf("%v", src) +} + +func asBytes(buf []byte, rv reflect.Value) (b []byte, ok bool) { + switch rv.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + return strconv.AppendInt(buf, rv.Int(), 10), true + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + return strconv.AppendUint(buf, rv.Uint(), 10), true + case reflect.Float32: + return strconv.AppendFloat(buf, rv.Float(), 'g', -1, 32), true + case reflect.Float64: + return strconv.AppendFloat(buf, rv.Float(), 'g', -1, 64), true + case reflect.Bool: + return strconv.AppendBool(buf, rv.Bool()), true + case reflect.String: + s := rv.String() + return append(buf, s...), true + } + return +} + +// convertAssign copies to dest the value in src, converting it if possible. +// An error is returned if the copy would result in loss of information. +// dest should be a pointer type. +func convertAssign(dest, src interface{}) error { + // Common cases, without reflect. + switch s := src.(type) { + case string: + switch d := dest.(type) { + case *string: + if d == nil { + return errNilPtr + } + *d = s + return nil + case *[]byte: + if d == nil { + return errNilPtr + } + *d = []byte(s) + return nil + } + case []byte: + switch d := dest.(type) { + case *string: + if d == nil { + return errNilPtr + } + *d = string(s) + return nil + case *interface{}: + if d == nil { + return errNilPtr + } + *d = cloneBytes(s) + return nil + case *[]byte: + if d == nil { + return errNilPtr + } + *d = cloneBytes(s) + return nil + } + + case time.Time: + switch d := dest.(type) { + case *string: + *d = s.Format(time.RFC3339Nano) + return nil + case *[]byte: + if d == nil { + return errNilPtr + } + *d = []byte(s.Format(time.RFC3339Nano)) + return nil + } + case nil: + switch d := dest.(type) { + case *interface{}: + if d == nil { + return errNilPtr + } + *d = nil + return nil + case *[]byte: + if d == nil { + return errNilPtr + } + *d = nil + return nil + } + } + + var sv reflect.Value + + switch d := dest.(type) { + case *string: + sv = reflect.ValueOf(src) + switch sv.Kind() { + case reflect.Bool, + reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64, + reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, + reflect.Float32, reflect.Float64: + *d = asString(src) + return nil + } + case *[]byte: + sv = reflect.ValueOf(src) + if b, ok := asBytes(nil, sv); ok { + *d = b + return nil + } + case *bool: + bv, err := driver.Bool.ConvertValue(src) + if err == nil { + *d = bv.(bool) + } + return err + case *interface{}: + *d = src + return nil + } + + dpv := reflect.ValueOf(dest) + if dpv.Kind() != reflect.Ptr { + return errors.New("destination not a pointer") + } + if dpv.IsNil() { + return errNilPtr + } + + if !sv.IsValid() { + sv = reflect.ValueOf(src) + } + + dv := reflect.Indirect(dpv) + if sv.IsValid() && sv.Type().AssignableTo(dv.Type()) { + switch b := src.(type) { + case []byte: + dv.Set(reflect.ValueOf(cloneBytes(b))) + default: + dv.Set(sv) + } + return nil + } + + if dv.Kind() == sv.Kind() && sv.Type().ConvertibleTo(dv.Type()) { + dv.Set(sv.Convert(dv.Type())) + return nil + } + + switch dv.Kind() { + case reflect.Ptr: + if src == nil { + dv.Set(reflect.Zero(dv.Type())) + return nil + } else { + dv.Set(reflect.New(dv.Type().Elem())) + return convertAssign(dv.Interface(), src) + } + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + s := asString(src) + i64, err := strconv.ParseInt(s, 10, dv.Type().Bits()) + if err != nil { + err = strconvErr(err) + return fmt.Errorf("converting driver.Value type %T (%q) to a %s: %v", src, s, dv.Kind(), err) + } + dv.SetInt(i64) + return nil + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + s := asString(src) + u64, err := strconv.ParseUint(s, 10, dv.Type().Bits()) + if err != nil { + err = strconvErr(err) + return fmt.Errorf("converting driver.Value type %T (%q) to a %s: %v", src, s, dv.Kind(), err) + } + dv.SetUint(u64) + return nil + case reflect.Float32, reflect.Float64: + s := asString(src) + f64, err := strconv.ParseFloat(s, dv.Type().Bits()) + if err != nil { + err = strconvErr(err) + return fmt.Errorf("converting driver.Value type %T (%q) to a %s: %v", src, s, dv.Kind(), err) + } + dv.SetFloat(f64) + return nil + case reflect.String: + dv.SetString(asString(src)) + return nil + } + + return fmt.Errorf("unsupported Scan, storing driver.Value type %T into type %T", src, dest) +} + +func asKind(vv reflect.Value, tp reflect.Type) (interface{}, error) { + switch tp.Kind() { + case reflect.Int64: + return vv.Int(), nil + case reflect.Int: + return int(vv.Int()), nil + case reflect.Int32: + return int32(vv.Int()), nil + case reflect.Int16: + return int16(vv.Int()), nil + case reflect.Int8: + return int8(vv.Int()), nil + case reflect.Uint64: + return vv.Uint(), nil + case reflect.Uint: + return uint(vv.Uint()), nil + case reflect.Uint32: + return uint32(vv.Uint()), nil + case reflect.Uint16: + return uint16(vv.Uint()), nil + case reflect.Uint8: + return uint8(vv.Uint()), nil + case reflect.String: + return vv.String(), nil + case reflect.Slice: + if tp.Elem().Kind() == reflect.Uint8 { + v, err := strconv.ParseInt(string(vv.Interface().([]byte)), 10, 64) + if err != nil { + return nil, err + } + return v, nil + } + + } + return nil, fmt.Errorf("unsupported primary key type: %v, %v", tp, vv) +} + +func convertFloat(v interface{}) (float64, error) { + switch v.(type) { + case float32: + return float64(v.(float32)), nil + case float64: + return v.(float64), nil + case string: + i, err := strconv.ParseFloat(v.(string), 64) + if err != nil { + return 0, err + } + return i, nil + case []byte: + i, err := strconv.ParseFloat(string(v.([]byte)), 64) + if err != nil { + return 0, err + } + return i, nil + } + return 0, fmt.Errorf("unsupported type: %v", v) +} + +func convertInt(v interface{}) (int64, error) { + switch v.(type) { + case int: + return int64(v.(int)), nil + case int8: + return int64(v.(int8)), nil + case int16: + return int64(v.(int16)), nil + case int32: + return int64(v.(int32)), nil + case int64: + return v.(int64), nil + case []byte: + i, err := strconv.ParseInt(string(v.([]byte)), 10, 64) + if err != nil { + return 0, err + } + return i, nil + case string: + i, err := strconv.ParseInt(v.(string), 10, 64) + if err != nil { + return 0, err + } + return i, nil + } + return 0, fmt.Errorf("unsupported type: %v", v) +} + +func asBool(bs []byte) (bool, error) { + if len(bs) == 0 { + return false, nil + } + if bs[0] == 0x00 { + return false, nil + } else if bs[0] == 0x01 { + return true, nil + } + return strconv.ParseBool(string(bs)) +} diff --git a/vendor/github.com/go-xorm/xorm/dialect_mssql.go b/vendor/github.com/go-xorm/xorm/dialect_mssql.go new file mode 100644 index 000000000..6d2291dc1 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/dialect_mssql.go @@ -0,0 +1,562 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "strconv" + "strings" + + "github.com/go-xorm/core" +) + +var ( + mssqlReservedWords = map[string]bool{ + "ADD": true, + "EXTERNAL": true, + "PROCEDURE": true, + "ALL": true, + "FETCH": true, + "PUBLIC": true, + "ALTER": true, + "FILE": true, + "RAISERROR": true, + "AND": true, + "FILLFACTOR": true, + "READ": true, + "ANY": true, + "FOR": true, + "READTEXT": true, + "AS": true, + "FOREIGN": true, + "RECONFIGURE": true, + "ASC": true, + "FREETEXT": true, + "REFERENCES": true, + "AUTHORIZATION": true, + "FREETEXTTABLE": true, + "REPLICATION": true, + "BACKUP": true, + "FROM": true, + "RESTORE": true, + "BEGIN": true, + "FULL": true, + "RESTRICT": true, + "BETWEEN": true, + "FUNCTION": true, + "RETURN": true, + "BREAK": true, + "GOTO": true, + "REVERT": true, + "BROWSE": true, + "GRANT": true, + "REVOKE": true, + "BULK": true, + "GROUP": true, + "RIGHT": true, + "BY": true, + "HAVING": true, + "ROLLBACK": true, + "CASCADE": true, + "HOLDLOCK": true, + "ROWCOUNT": true, + "CASE": true, + "IDENTITY": true, + "ROWGUIDCOL": true, + "CHECK": true, + "IDENTITY_INSERT": true, + "RULE": true, + "CHECKPOINT": true, + "IDENTITYCOL": true, + "SAVE": true, + "CLOSE": true, + "IF": true, + "SCHEMA": true, + "CLUSTERED": true, + "IN": true, + "SECURITYAUDIT": true, + "COALESCE": true, + "INDEX": true, + "SELECT": true, + "COLLATE": true, + "INNER": true, + "SEMANTICKEYPHRASETABLE": true, + "COLUMN": true, + "INSERT": true, + "SEMANTICSIMILARITYDETAILSTABLE": true, + "COMMIT": true, + "INTERSECT": true, + "SEMANTICSIMILARITYTABLE": true, + "COMPUTE": true, + "INTO": true, + "SESSION_USER": true, + "CONSTRAINT": true, + "IS": true, + "SET": true, + "CONTAINS": true, + "JOIN": true, + "SETUSER": true, + "CONTAINSTABLE": true, + "KEY": true, + "SHUTDOWN": true, + "CONTINUE": true, + "KILL": true, + "SOME": true, + "CONVERT": true, + "LEFT": true, + "STATISTICS": true, + "CREATE": true, + "LIKE": true, + "SYSTEM_USER": true, + "CROSS": true, + "LINENO": true, + "TABLE": true, + "CURRENT": true, + "LOAD": true, + "TABLESAMPLE": true, + "CURRENT_DATE": true, + "MERGE": true, + "TEXTSIZE": true, + "CURRENT_TIME": true, + "NATIONAL": true, + "THEN": true, + "CURRENT_TIMESTAMP": true, + "NOCHECK": true, + "TO": true, + "CURRENT_USER": true, + "NONCLUSTERED": true, + "TOP": true, + "CURSOR": true, + "NOT": true, + "TRAN": true, + "DATABASE": true, + "NULL": true, + "TRANSACTION": true, + "DBCC": true, + "NULLIF": true, + "TRIGGER": true, + "DEALLOCATE": true, + "OF": true, + "TRUNCATE": true, + "DECLARE": true, + "OFF": true, + "TRY_CONVERT": true, + "DEFAULT": true, + "OFFSETS": true, + "TSEQUAL": true, + "DELETE": true, + "ON": true, + "UNION": true, + "DENY": true, + "OPEN": true, + "UNIQUE": true, + "DESC": true, + "OPENDATASOURCE": true, + "UNPIVOT": true, + "DISK": true, + "OPENQUERY": true, + "UPDATE": true, + "DISTINCT": true, + "OPENROWSET": true, + "UPDATETEXT": true, + "DISTRIBUTED": true, + "OPENXML": true, + "USE": true, + "DOUBLE": true, + "OPTION": true, + "USER": true, + "DROP": true, + "OR": true, + "VALUES": true, + "DUMP": true, + "ORDER": true, + "VARYING": true, + "ELSE": true, + "OUTER": true, + "VIEW": true, + "END": true, + "OVER": true, + "WAITFOR": true, + "ERRLVL": true, + "PERCENT": true, + "WHEN": true, + "ESCAPE": true, + "PIVOT": true, + "WHERE": true, + "EXCEPT": true, + "PLAN": true, + "WHILE": true, + "EXEC": true, + "PRECISION": true, + "WITH": true, + "EXECUTE": true, + "PRIMARY": true, + "WITHIN": true, + "EXISTS": true, + "PRINT": true, + "WRITETEXT": true, + "EXIT": true, + "PROC": true, + } +) + +type mssql struct { + core.Base +} + +func (db *mssql) Init(d *core.DB, uri *core.Uri, drivername, dataSourceName string) error { + return db.Base.Init(d, db, uri, drivername, dataSourceName) +} + +func (db *mssql) SqlType(c *core.Column) string { + var res string + switch t := c.SQLType.Name; t { + case core.Bool: + res = core.Bit + if strings.EqualFold(c.Default, "true") { + c.Default = "1" + } else { + c.Default = "0" + } + case core.Serial: + c.IsAutoIncrement = true + c.IsPrimaryKey = true + c.Nullable = false + res = core.Int + case core.BigSerial: + c.IsAutoIncrement = true + c.IsPrimaryKey = true + c.Nullable = false + res = core.BigInt + case core.Bytea, core.Blob, core.Binary, core.TinyBlob, core.MediumBlob, core.LongBlob: + res = core.VarBinary + if c.Length == 0 { + c.Length = 50 + } + case core.TimeStamp: + res = core.DateTime + case core.TimeStampz: + res = "DATETIMEOFFSET" + c.Length = 7 + case core.MediumInt: + res = core.Int + case core.Text, core.MediumText, core.TinyText, core.LongText, core.Json: + res = core.Varchar + "(MAX)" + case core.Double: + res = core.Real + case core.Uuid: + res = core.Varchar + c.Length = 40 + case core.TinyInt: + res = core.TinyInt + c.Length = 0 + default: + res = t + } + + if res == core.Int { + return core.Int + } + + hasLen1 := (c.Length > 0) + hasLen2 := (c.Length2 > 0) + + if hasLen2 { + res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" + } else if hasLen1 { + res += "(" + strconv.Itoa(c.Length) + ")" + } + return res +} + +func (db *mssql) SupportInsertMany() bool { + return true +} + +func (db *mssql) IsReserved(name string) bool { + _, ok := mssqlReservedWords[name] + return ok +} + +func (db *mssql) Quote(name string) string { + return "\"" + name + "\"" +} + +func (db *mssql) QuoteStr() string { + return "\"" +} + +func (db *mssql) SupportEngine() bool { + return false +} + +func (db *mssql) AutoIncrStr() string { + return "IDENTITY" +} + +func (db *mssql) DropTableSql(tableName string) string { + return fmt.Sprintf("IF EXISTS (SELECT * FROM sysobjects WHERE id = "+ + "object_id(N'%s') and OBJECTPROPERTY(id, N'IsUserTable') = 1) "+ + "DROP TABLE \"%s\"", tableName, tableName) +} + +func (db *mssql) SupportCharset() bool { + return false +} + +func (db *mssql) IndexOnTable() bool { + return true +} + +func (db *mssql) IndexCheckSql(tableName, idxName string) (string, []interface{}) { + args := []interface{}{idxName} + sql := "select name from sysindexes where id=object_id('" + tableName + "') and name=?" + return sql, args +} + +/*func (db *mssql) ColumnCheckSql(tableName, colName string) (string, []interface{}) { + args := []interface{}{tableName, colName} + sql := `SELECT "COLUMN_NAME" FROM "INFORMATION_SCHEMA"."COLUMNS" WHERE "TABLE_NAME" = ? AND "COLUMN_NAME" = ?` + return sql, args +}*/ + +func (db *mssql) IsColumnExist(tableName, colName string) (bool, error) { + query := `SELECT "COLUMN_NAME" FROM "INFORMATION_SCHEMA"."COLUMNS" WHERE "TABLE_NAME" = ? AND "COLUMN_NAME" = ?` + + return db.HasRecords(query, tableName, colName) +} + +func (db *mssql) TableCheckSql(tableName string) (string, []interface{}) { + args := []interface{}{} + sql := "select * from sysobjects where id = object_id(N'" + tableName + "') and OBJECTPROPERTY(id, N'IsUserTable') = 1" + return sql, args +} + +func (db *mssql) GetColumns(tableName string) ([]string, map[string]*core.Column, error) { + args := []interface{}{} + s := `select a.name as name, b.name as ctype,a.max_length,a.precision,a.scale,a.is_nullable as nullable, + replace(replace(isnull(c.text,''),'(',''),')','') as vdefault, + ISNULL(i.is_primary_key, 0) + from sys.columns a + left join sys.types b on a.user_type_id=b.user_type_id + left join sys.syscomments c on a.default_object_id=c.id + LEFT OUTER JOIN + sys.index_columns ic ON ic.object_id = a.object_id AND ic.column_id = a.column_id + LEFT OUTER JOIN + sys.indexes i ON ic.object_id = i.object_id AND ic.index_id = i.index_id + where a.object_id=object_id('` + tableName + `')` + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, nil, err + } + defer rows.Close() + + cols := make(map[string]*core.Column) + colSeq := make([]string, 0) + for rows.Next() { + var name, ctype, vdefault string + var maxLen, precision, scale int + var nullable, isPK bool + err = rows.Scan(&name, &ctype, &maxLen, &precision, &scale, &nullable, &vdefault, &isPK) + if err != nil { + return nil, nil, err + } + + col := new(core.Column) + col.Indexes = make(map[string]int) + col.Name = strings.Trim(name, "` ") + col.Nullable = nullable + col.Default = vdefault + col.IsPrimaryKey = isPK + ct := strings.ToUpper(ctype) + if ct == "DECIMAL" { + col.Length = precision + col.Length2 = scale + } else { + col.Length = maxLen + } + switch ct { + case "DATETIMEOFFSET": + col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0} + case "NVARCHAR": + col.SQLType = core.SQLType{Name: core.NVarchar, DefaultLength: 0, DefaultLength2: 0} + case "IMAGE": + col.SQLType = core.SQLType{Name: core.VarBinary, DefaultLength: 0, DefaultLength2: 0} + default: + if _, ok := core.SqlTypes[ct]; ok { + col.SQLType = core.SQLType{Name: ct, DefaultLength: 0, DefaultLength2: 0} + } else { + return nil, nil, fmt.Errorf("Unknown colType %v for %v - %v", ct, tableName, col.Name) + } + } + + if col.SQLType.IsText() || col.SQLType.IsTime() { + if col.Default != "" { + col.Default = "'" + col.Default + "'" + } else { + if col.DefaultIsEmpty { + col.Default = "''" + } + } + } + cols[col.Name] = col + colSeq = append(colSeq, col.Name) + } + return colSeq, cols, nil +} + +func (db *mssql) GetTables() ([]*core.Table, error) { + args := []interface{}{} + s := `select name from sysobjects where xtype ='U'` + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + tables := make([]*core.Table, 0) + for rows.Next() { + table := core.NewEmptyTable() + var name string + err = rows.Scan(&name) + if err != nil { + return nil, err + } + table.Name = strings.Trim(name, "` ") + tables = append(tables, table) + } + return tables, nil +} + +func (db *mssql) GetIndexes(tableName string) (map[string]*core.Index, error) { + args := []interface{}{tableName} + s := `SELECT +IXS.NAME AS [INDEX_NAME], +C.NAME AS [COLUMN_NAME], +IXS.is_unique AS [IS_UNIQUE] +FROM SYS.INDEXES IXS +INNER JOIN SYS.INDEX_COLUMNS IXCS +ON IXS.OBJECT_ID=IXCS.OBJECT_ID AND IXS.INDEX_ID = IXCS.INDEX_ID +INNER JOIN SYS.COLUMNS C ON IXS.OBJECT_ID=C.OBJECT_ID +AND IXCS.COLUMN_ID=C.COLUMN_ID +WHERE IXS.TYPE_DESC='NONCLUSTERED' and OBJECT_NAME(IXS.OBJECT_ID) =? +` + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + indexes := make(map[string]*core.Index, 0) + for rows.Next() { + var indexType int + var indexName, colName, isUnique string + + err = rows.Scan(&indexName, &colName, &isUnique) + if err != nil { + return nil, err + } + + i, err := strconv.ParseBool(isUnique) + if err != nil { + return nil, err + } + + if i { + indexType = core.UniqueType + } else { + indexType = core.IndexType + } + + colName = strings.Trim(colName, "` ") + var isRegular bool + if strings.HasPrefix(indexName, "IDX_"+tableName) || strings.HasPrefix(indexName, "UQE_"+tableName) { + indexName = indexName[5+len(tableName):] + isRegular = true + } + + var index *core.Index + var ok bool + if index, ok = indexes[indexName]; !ok { + index = new(core.Index) + index.Type = indexType + index.Name = indexName + index.IsRegular = isRegular + indexes[indexName] = index + } + index.AddColumn(colName) + } + return indexes, nil +} + +func (db *mssql) CreateTableSql(table *core.Table, tableName, storeEngine, charset string) string { + var sql string + if tableName == "" { + tableName = table.Name + } + + sql = "IF NOT EXISTS (SELECT [name] FROM sys.tables WHERE [name] = '" + tableName + "' ) CREATE TABLE " + + sql += db.QuoteStr() + tableName + db.QuoteStr() + " (" + + pkList := table.PrimaryKeys + + for _, colName := range table.ColumnsSeq() { + col := table.GetColumn(colName) + if col.IsPrimaryKey && len(pkList) == 1 { + sql += col.String(db) + } else { + sql += col.StringNoPk(db) + } + sql = strings.TrimSpace(sql) + sql += ", " + } + + if len(pkList) > 1 { + sql += "PRIMARY KEY ( " + sql += strings.Join(pkList, ",") + sql += " ), " + } + + sql = sql[:len(sql)-2] + ")" + sql += ";" + return sql +} + +func (db *mssql) ForUpdateSql(query string) string { + return query +} + +func (db *mssql) Filters() []core.Filter { + return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}} +} + +type odbcDriver struct { +} + +func (p *odbcDriver) Parse(driverName, dataSourceName string) (*core.Uri, error) { + kv := strings.Split(dataSourceName, ";") + var dbName string + for _, c := range kv { + vv := strings.Split(strings.TrimSpace(c), "=") + if len(vv) == 2 { + switch strings.ToLower(vv[0]) { + case "database": + dbName = vv[1] + } + } + } + if dbName == "" { + return nil, errors.New("no db name provided") + } + return &core.Uri{DbName: dbName, DbType: core.MSSQL}, nil +} diff --git a/vendor/github.com/go-xorm/xorm/dialect_mysql.go b/vendor/github.com/go-xorm/xorm/dialect_mysql.go new file mode 100644 index 000000000..99100b232 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/dialect_mysql.go @@ -0,0 +1,582 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "crypto/tls" + "errors" + "fmt" + "regexp" + "strconv" + "strings" + "time" + + "github.com/go-xorm/core" +) + +var ( + mysqlReservedWords = map[string]bool{ + "ADD": true, + "ALL": true, + "ALTER": true, + "ANALYZE": true, + "AND": true, + "AS": true, + "ASC": true, + "ASENSITIVE": true, + "BEFORE": true, + "BETWEEN": true, + "BIGINT": true, + "BINARY": true, + "BLOB": true, + "BOTH": true, + "BY": true, + "CALL": true, + "CASCADE": true, + "CASE": true, + "CHANGE": true, + "CHAR": true, + "CHARACTER": true, + "CHECK": true, + "COLLATE": true, + "COLUMN": true, + "CONDITION": true, + "CONNECTION": true, + "CONSTRAINT": true, + "CONTINUE": true, + "CONVERT": true, + "CREATE": true, + "CROSS": true, + "CURRENT_DATE": true, + "CURRENT_TIME": true, + "CURRENT_TIMESTAMP": true, + "CURRENT_USER": true, + "CURSOR": true, + "DATABASE": true, + "DATABASES": true, + "DAY_HOUR": true, + "DAY_MICROSECOND": true, + "DAY_MINUTE": true, + "DAY_SECOND": true, + "DEC": true, + "DECIMAL": true, + "DECLARE": true, + "DEFAULT": true, + "DELAYED": true, + "DELETE": true, + "DESC": true, + "DESCRIBE": true, + "DETERMINISTIC": true, + "DISTINCT": true, + "DISTINCTROW": true, + "DIV": true, + "DOUBLE": true, + "DROP": true, + "DUAL": true, + "EACH": true, + "ELSE": true, + "ELSEIF": true, + "ENCLOSED": true, + "ESCAPED": true, + "EXISTS": true, + "EXIT": true, + "EXPLAIN": true, + "FALSE": true, + "FETCH": true, + "FLOAT": true, + "FLOAT4": true, + "FLOAT8": true, + "FOR": true, + "FORCE": true, + "FOREIGN": true, + "FROM": true, + "FULLTEXT": true, + "GOTO": true, + "GRANT": true, + "GROUP": true, + "HAVING": true, + "HIGH_PRIORITY": true, + "HOUR_MICROSECOND": true, + "HOUR_MINUTE": true, + "HOUR_SECOND": true, + "IF": true, + "IGNORE": true, + "IN": true, "INDEX": true, + "INFILE": true, "INNER": true, "INOUT": true, + "INSENSITIVE": true, "INSERT": true, "INT": true, + "INT1": true, "INT2": true, "INT3": true, + "INT4": true, "INT8": true, "INTEGER": true, + "INTERVAL": true, "INTO": true, "IS": true, + "ITERATE": true, "JOIN": true, "KEY": true, + "KEYS": true, "KILL": true, "LABEL": true, + "LEADING": true, "LEAVE": true, "LEFT": true, + "LIKE": true, "LIMIT": true, "LINEAR": true, + "LINES": true, "LOAD": true, "LOCALTIME": true, + "LOCALTIMESTAMP": true, "LOCK": true, "LONG": true, + "LONGBLOB": true, "LONGTEXT": true, "LOOP": true, + "LOW_PRIORITY": true, "MATCH": true, "MEDIUMBLOB": true, + "MEDIUMINT": true, "MEDIUMTEXT": true, "MIDDLEINT": true, + "MINUTE_MICROSECOND": true, "MINUTE_SECOND": true, "MOD": true, + "MODIFIES": true, "NATURAL": true, "NOT": true, + "NO_WRITE_TO_BINLOG": true, "NULL": true, "NUMERIC": true, + "ON OPTIMIZE": true, "OPTION": true, + "OPTIONALLY": true, "OR": true, "ORDER": true, + "OUT": true, "OUTER": true, "OUTFILE": true, + "PRECISION": true, "PRIMARY": true, "PROCEDURE": true, + "PURGE": true, "RAID0": true, "RANGE": true, + "READ": true, "READS": true, "REAL": true, + "REFERENCES": true, "REGEXP": true, "RELEASE": true, + "RENAME": true, "REPEAT": true, "REPLACE": true, + "REQUIRE": true, "RESTRICT": true, "RETURN": true, + "REVOKE": true, "RIGHT": true, "RLIKE": true, + "SCHEMA": true, "SCHEMAS": true, "SECOND_MICROSECOND": true, + "SELECT": true, "SENSITIVE": true, "SEPARATOR": true, + "SET": true, "SHOW": true, "SMALLINT": true, + "SPATIAL": true, "SPECIFIC": true, "SQL": true, + "SQLEXCEPTION": true, "SQLSTATE": true, "SQLWARNING": true, + "SQL_BIG_RESULT": true, "SQL_CALC_FOUND_ROWS": true, "SQL_SMALL_RESULT": true, + "SSL": true, "STARTING": true, "STRAIGHT_JOIN": true, + "TABLE": true, "TERMINATED": true, "THEN": true, + "TINYBLOB": true, "TINYINT": true, "TINYTEXT": true, + "TO": true, "TRAILING": true, "TRIGGER": true, + "TRUE": true, "UNDO": true, "UNION": true, + "UNIQUE": true, "UNLOCK": true, "UNSIGNED": true, + "UPDATE": true, "USAGE": true, "USE": true, + "USING": true, "UTC_DATE": true, "UTC_TIME": true, + "UTC_TIMESTAMP": true, "VALUES": true, "VARBINARY": true, + "VARCHAR": true, + "VARCHARACTER": true, + "VARYING": true, + "WHEN": true, + "WHERE": true, + "WHILE": true, + "WITH": true, + "WRITE": true, + "X509": true, + "XOR": true, + "YEAR_MONTH": true, + "ZEROFILL": true, + } +) + +type mysql struct { + core.Base + net string + addr string + params map[string]string + loc *time.Location + timeout time.Duration + tls *tls.Config + allowAllFiles bool + allowOldPasswords bool + clientFoundRows bool +} + +func (db *mysql) Init(d *core.DB, uri *core.Uri, drivername, dataSourceName string) error { + return db.Base.Init(d, db, uri, drivername, dataSourceName) +} + +func (db *mysql) SqlType(c *core.Column) string { + var res string + switch t := c.SQLType.Name; t { + case core.Bool: + res = core.TinyInt + c.Length = 1 + case core.Serial: + c.IsAutoIncrement = true + c.IsPrimaryKey = true + c.Nullable = false + res = core.Int + case core.BigSerial: + c.IsAutoIncrement = true + c.IsPrimaryKey = true + c.Nullable = false + res = core.BigInt + case core.Bytea: + res = core.Blob + case core.TimeStampz: + res = core.Char + c.Length = 64 + case core.Enum: //mysql enum + res = core.Enum + res += "(" + opts := "" + for v := range c.EnumOptions { + opts += fmt.Sprintf(",'%v'", v) + } + res += strings.TrimLeft(opts, ",") + res += ")" + case core.Set: //mysql set + res = core.Set + res += "(" + opts := "" + for v := range c.SetOptions { + opts += fmt.Sprintf(",'%v'", v) + } + res += strings.TrimLeft(opts, ",") + res += ")" + case core.NVarchar: + res = core.Varchar + case core.Uuid: + res = core.Varchar + c.Length = 40 + case core.Json: + res = core.Text + default: + res = t + } + + hasLen1 := (c.Length > 0) + hasLen2 := (c.Length2 > 0) + + if res == core.BigInt && !hasLen1 && !hasLen2 { + c.Length = 20 + hasLen1 = true + } + + if hasLen2 { + res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" + } else if hasLen1 { + res += "(" + strconv.Itoa(c.Length) + ")" + } + return res +} + +func (db *mysql) SupportInsertMany() bool { + return true +} + +func (db *mysql) IsReserved(name string) bool { + _, ok := mysqlReservedWords[name] + return ok +} + +func (db *mysql) Quote(name string) string { + return "`" + name + "`" +} + +func (db *mysql) QuoteStr() string { + return "`" +} + +func (db *mysql) SupportEngine() bool { + return true +} + +func (db *mysql) AutoIncrStr() string { + return "AUTO_INCREMENT" +} + +func (db *mysql) SupportCharset() bool { + return true +} + +func (db *mysql) IndexOnTable() bool { + return true +} + +func (db *mysql) IndexCheckSql(tableName, idxName string) (string, []interface{}) { + args := []interface{}{db.DbName, tableName, idxName} + sql := "SELECT `INDEX_NAME` FROM `INFORMATION_SCHEMA`.`STATISTICS`" + sql += " WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `INDEX_NAME`=?" + return sql, args +} + +/*func (db *mysql) ColumnCheckSql(tableName, colName string) (string, []interface{}) { + args := []interface{}{db.DbName, tableName, colName} + sql := "SELECT `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ? AND `COLUMN_NAME` = ?" + return sql, args +}*/ + +func (db *mysql) TableCheckSql(tableName string) (string, []interface{}) { + args := []interface{}{db.DbName, tableName} + sql := "SELECT `TABLE_NAME` from `INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA`=? and `TABLE_NAME`=?" + return sql, args +} + +func (db *mysql) GetColumns(tableName string) ([]string, map[string]*core.Column, error) { + args := []interface{}{db.DbName, tableName} + s := "SELECT `COLUMN_NAME`, `IS_NULLABLE`, `COLUMN_DEFAULT`, `COLUMN_TYPE`," + + " `COLUMN_KEY`, `EXTRA`,`COLUMN_COMMENT` FROM `INFORMATION_SCHEMA`.`COLUMNS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ?" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, nil, err + } + defer rows.Close() + + cols := make(map[string]*core.Column) + colSeq := make([]string, 0) + for rows.Next() { + col := new(core.Column) + col.Indexes = make(map[string]int) + + var columnName, isNullable, colType, colKey, extra, comment string + var colDefault *string + err = rows.Scan(&columnName, &isNullable, &colDefault, &colType, &colKey, &extra, &comment) + if err != nil { + return nil, nil, err + } + col.Name = strings.Trim(columnName, "` ") + col.Comment = comment + if "YES" == isNullable { + col.Nullable = true + } + + if colDefault != nil { + col.Default = *colDefault + if col.Default == "" { + col.DefaultIsEmpty = true + } + } + + cts := strings.Split(colType, "(") + colName := cts[0] + colType = strings.ToUpper(colName) + var len1, len2 int + if len(cts) == 2 { + idx := strings.Index(cts[1], ")") + if colType == core.Enum && cts[1][0] == '\'' { //enum + options := strings.Split(cts[1][0:idx], ",") + col.EnumOptions = make(map[string]int) + for k, v := range options { + v = strings.TrimSpace(v) + v = strings.Trim(v, "'") + col.EnumOptions[v] = k + } + } else if colType == core.Set && cts[1][0] == '\'' { + options := strings.Split(cts[1][0:idx], ",") + col.SetOptions = make(map[string]int) + for k, v := range options { + v = strings.TrimSpace(v) + v = strings.Trim(v, "'") + col.SetOptions[v] = k + } + } else { + lens := strings.Split(cts[1][0:idx], ",") + len1, err = strconv.Atoi(strings.TrimSpace(lens[0])) + if err != nil { + return nil, nil, err + } + if len(lens) == 2 { + len2, err = strconv.Atoi(lens[1]) + if err != nil { + return nil, nil, err + } + } + } + } + if colType == "FLOAT UNSIGNED" { + colType = "FLOAT" + } + col.Length = len1 + col.Length2 = len2 + if _, ok := core.SqlTypes[colType]; ok { + col.SQLType = core.SQLType{Name: colType, DefaultLength: len1, DefaultLength2: len2} + } else { + return nil, nil, fmt.Errorf("Unknown colType %v", colType) + } + + if colKey == "PRI" { + col.IsPrimaryKey = true + } + if colKey == "UNI" { + //col.is + } + + if extra == "auto_increment" { + col.IsAutoIncrement = true + } + + if col.SQLType.IsText() || col.SQLType.IsTime() { + if col.Default != "" { + col.Default = "'" + col.Default + "'" + } else { + if col.DefaultIsEmpty { + col.Default = "''" + } + } + } + cols[col.Name] = col + colSeq = append(colSeq, col.Name) + } + return colSeq, cols, nil +} + +func (db *mysql) GetTables() ([]*core.Table, error) { + args := []interface{}{db.DbName} + s := "SELECT `TABLE_NAME`, `ENGINE`, `TABLE_ROWS`, `AUTO_INCREMENT`, `TABLE_COMMENT` from " + + "`INFORMATION_SCHEMA`.`TABLES` WHERE `TABLE_SCHEMA`=? AND (`ENGINE`='MyISAM' OR `ENGINE` = 'InnoDB' OR `ENGINE` = 'TokuDB')" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + tables := make([]*core.Table, 0) + for rows.Next() { + table := core.NewEmptyTable() + var name, engine, tableRows, comment string + var autoIncr *string + err = rows.Scan(&name, &engine, &tableRows, &autoIncr, &comment) + if err != nil { + return nil, err + } + + table.Name = name + table.Comment = comment + table.StoreEngine = engine + tables = append(tables, table) + } + return tables, nil +} + +func (db *mysql) GetIndexes(tableName string) (map[string]*core.Index, error) { + args := []interface{}{db.DbName, tableName} + s := "SELECT `INDEX_NAME`, `NON_UNIQUE`, `COLUMN_NAME` FROM `INFORMATION_SCHEMA`.`STATISTICS` WHERE `TABLE_SCHEMA` = ? AND `TABLE_NAME` = ?" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + indexes := make(map[string]*core.Index, 0) + for rows.Next() { + var indexType int + var indexName, colName, nonUnique string + err = rows.Scan(&indexName, &nonUnique, &colName) + if err != nil { + return nil, err + } + + if indexName == "PRIMARY" { + continue + } + + if "YES" == nonUnique || nonUnique == "1" { + indexType = core.IndexType + } else { + indexType = core.UniqueType + } + + colName = strings.Trim(colName, "` ") + var isRegular bool + if strings.HasPrefix(indexName, "IDX_"+tableName) || strings.HasPrefix(indexName, "UQE_"+tableName) { + indexName = indexName[5+len(tableName):] + isRegular = true + } + + var index *core.Index + var ok bool + if index, ok = indexes[indexName]; !ok { + index = new(core.Index) + index.IsRegular = isRegular + index.Type = indexType + index.Name = indexName + indexes[indexName] = index + } + index.AddColumn(colName) + } + return indexes, nil +} + +func (db *mysql) Filters() []core.Filter { + return []core.Filter{&core.IdFilter{}} +} + +type mymysqlDriver struct { +} + +func (p *mymysqlDriver) Parse(driverName, dataSourceName string) (*core.Uri, error) { + db := &core.Uri{DbType: core.MYSQL} + + pd := strings.SplitN(dataSourceName, "*", 2) + if len(pd) == 2 { + // Parse protocol part of URI + p := strings.SplitN(pd[0], ":", 2) + if len(p) != 2 { + return nil, errors.New("Wrong protocol part of URI") + } + db.Proto = p[0] + options := strings.Split(p[1], ",") + db.Raddr = options[0] + for _, o := range options[1:] { + kv := strings.SplitN(o, "=", 2) + var k, v string + if len(kv) == 2 { + k, v = kv[0], kv[1] + } else { + k, v = o, "true" + } + switch k { + case "laddr": + db.Laddr = v + case "timeout": + to, err := time.ParseDuration(v) + if err != nil { + return nil, err + } + db.Timeout = to + default: + return nil, errors.New("Unknown option: " + k) + } + } + // Remove protocol part + pd = pd[1:] + } + // Parse database part of URI + dup := strings.SplitN(pd[0], "/", 3) + if len(dup) != 3 { + return nil, errors.New("Wrong database part of URI") + } + db.DbName = dup[0] + db.User = dup[1] + db.Passwd = dup[2] + + return db, nil +} + +type mysqlDriver struct { +} + +func (p *mysqlDriver) Parse(driverName, dataSourceName string) (*core.Uri, error) { + dsnPattern := regexp.MustCompile( + `^(?:(?P.*?)(?::(?P.*))?@)?` + // [user[:password]@] + `(?:(?P[^\(]*)(?:\((?P[^\)]*)\))?)?` + // [net[(addr)]] + `\/(?P.*?)` + // /dbname + `(?:\?(?P[^\?]*))?$`) // [?param1=value1¶mN=valueN] + matches := dsnPattern.FindStringSubmatch(dataSourceName) + //tlsConfigRegister := make(map[string]*tls.Config) + names := dsnPattern.SubexpNames() + + uri := &core.Uri{DbType: core.MYSQL} + + for i, match := range matches { + switch names[i] { + case "dbname": + uri.DbName = match + case "params": + if len(match) > 0 { + kvs := strings.Split(match, "&") + for _, kv := range kvs { + splits := strings.Split(kv, "=") + if len(splits) == 2 { + switch splits[0] { + case "charset": + uri.Charset = splits[1] + } + } + } + } + + } + } + return uri, nil +} diff --git a/vendor/github.com/go-xorm/xorm/dialect_oracle.go b/vendor/github.com/go-xorm/xorm/dialect_oracle.go new file mode 100644 index 000000000..ac0081b38 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/dialect_oracle.go @@ -0,0 +1,906 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "regexp" + "strconv" + "strings" + + "github.com/go-xorm/core" +) + +var ( + oracleReservedWords = map[string]bool{ + "ACCESS": true, + "ACCOUNT": true, + "ACTIVATE": true, + "ADD": true, + "ADMIN": true, + "ADVISE": true, + "AFTER": true, + "ALL": true, + "ALL_ROWS": true, + "ALLOCATE": true, + "ALTER": true, + "ANALYZE": true, + "AND": true, + "ANY": true, + "ARCHIVE": true, + "ARCHIVELOG": true, + "ARRAY": true, + "AS": true, + "ASC": true, + "AT": true, + "AUDIT": true, + "AUTHENTICATED": true, + "AUTHORIZATION": true, + "AUTOEXTEND": true, + "AUTOMATIC": true, + "BACKUP": true, + "BECOME": true, + "BEFORE": true, + "BEGIN": true, + "BETWEEN": true, + "BFILE": true, + "BITMAP": true, + "BLOB": true, + "BLOCK": true, + "BODY": true, + "BY": true, + "CACHE": true, + "CACHE_INSTANCES": true, + "CANCEL": true, + "CASCADE": true, + "CAST": true, + "CFILE": true, + "CHAINED": true, + "CHANGE": true, + "CHAR": true, + "CHAR_CS": true, + "CHARACTER": true, + "CHECK": true, + "CHECKPOINT": true, + "CHOOSE": true, + "CHUNK": true, + "CLEAR": true, + "CLOB": true, + "CLONE": true, + "CLOSE": true, + "CLOSE_CACHED_OPEN_CURSORS": true, + "CLUSTER": true, + "COALESCE": true, + "COLUMN": true, + "COLUMNS": true, + "COMMENT": true, + "COMMIT": true, + "COMMITTED": true, + "COMPATIBILITY": true, + "COMPILE": true, + "COMPLETE": true, + "COMPOSITE_LIMIT": true, + "COMPRESS": true, + "COMPUTE": true, + "CONNECT": true, + "CONNECT_TIME": true, + "CONSTRAINT": true, + "CONSTRAINTS": true, + "CONTENTS": true, + "CONTINUE": true, + "CONTROLFILE": true, + "CONVERT": true, + "COST": true, + "CPU_PER_CALL": true, + "CPU_PER_SESSION": true, + "CREATE": true, + "CURRENT": true, + "CURRENT_SCHEMA": true, + "CURREN_USER": true, + "CURSOR": true, + "CYCLE": true, + "DANGLING": true, + "DATABASE": true, + "DATAFILE": true, + "DATAFILES": true, + "DATAOBJNO": true, + "DATE": true, + "DBA": true, + "DBHIGH": true, + "DBLOW": true, + "DBMAC": true, + "DEALLOCATE": true, + "DEBUG": true, + "DEC": true, + "DECIMAL": true, + "DECLARE": true, + "DEFAULT": true, + "DEFERRABLE": true, + "DEFERRED": true, + "DEGREE": true, + "DELETE": true, + "DEREF": true, + "DESC": true, + "DIRECTORY": true, + "DISABLE": true, + "DISCONNECT": true, + "DISMOUNT": true, + "DISTINCT": true, + "DISTRIBUTED": true, + "DML": true, + "DOUBLE": true, + "DROP": true, + "DUMP": true, + "EACH": true, + "ELSE": true, + "ENABLE": true, + "END": true, + "ENFORCE": true, + "ENTRY": true, + "ESCAPE": true, + "EXCEPT": true, + "EXCEPTIONS": true, + "EXCHANGE": true, + "EXCLUDING": true, + "EXCLUSIVE": true, + "EXECUTE": true, + "EXISTS": true, + "EXPIRE": true, + "EXPLAIN": true, + "EXTENT": true, + "EXTENTS": true, + "EXTERNALLY": true, + "FAILED_LOGIN_ATTEMPTS": true, + "FALSE": true, + "FAST": true, + "FILE": true, + "FIRST_ROWS": true, + "FLAGGER": true, + "FLOAT": true, + "FLOB": true, + "FLUSH": true, + "FOR": true, + "FORCE": true, + "FOREIGN": true, + "FREELIST": true, + "FREELISTS": true, + "FROM": true, + "FULL": true, + "FUNCTION": true, + "GLOBAL": true, + "GLOBALLY": true, + "GLOBAL_NAME": true, + "GRANT": true, + "GROUP": true, + "GROUPS": true, + "HASH": true, + "HASHKEYS": true, + "HAVING": true, + "HEADER": true, + "HEAP": true, + "IDENTIFIED": true, + "IDGENERATORS": true, + "IDLE_TIME": true, + "IF": true, + "IMMEDIATE": true, + "IN": true, + "INCLUDING": true, + "INCREMENT": true, + "INDEX": true, + "INDEXED": true, + "INDEXES": true, + "INDICATOR": true, + "IND_PARTITION": true, + "INITIAL": true, + "INITIALLY": true, + "INITRANS": true, + "INSERT": true, + "INSTANCE": true, + "INSTANCES": true, + "INSTEAD": true, + "INT": true, + "INTEGER": true, + "INTERMEDIATE": true, + "INTERSECT": true, + "INTO": true, + "IS": true, + "ISOLATION": true, + "ISOLATION_LEVEL": true, + "KEEP": true, + "KEY": true, + "KILL": true, + "LABEL": true, + "LAYER": true, + "LESS": true, + "LEVEL": true, + "LIBRARY": true, + "LIKE": true, + "LIMIT": true, + "LINK": true, + "LIST": true, + "LOB": true, + "LOCAL": true, + "LOCK": true, + "LOCKED": true, + "LOG": true, + "LOGFILE": true, + "LOGGING": true, + "LOGICAL_READS_PER_CALL": true, + "LOGICAL_READS_PER_SESSION": true, + "LONG": true, + "MANAGE": true, + "MASTER": true, + "MAX": true, + "MAXARCHLOGS": true, + "MAXDATAFILES": true, + "MAXEXTENTS": true, + "MAXINSTANCES": true, + "MAXLOGFILES": true, + "MAXLOGHISTORY": true, + "MAXLOGMEMBERS": true, + "MAXSIZE": true, + "MAXTRANS": true, + "MAXVALUE": true, + "MIN": true, + "MEMBER": true, + "MINIMUM": true, + "MINEXTENTS": true, + "MINUS": true, + "MINVALUE": true, + "MLSLABEL": true, + "MLS_LABEL_FORMAT": true, + "MODE": true, + "MODIFY": true, + "MOUNT": true, + "MOVE": true, + "MTS_DISPATCHERS": true, + "MULTISET": true, + "NATIONAL": true, + "NCHAR": true, + "NCHAR_CS": true, + "NCLOB": true, + "NEEDED": true, + "NESTED": true, + "NETWORK": true, + "NEW": true, + "NEXT": true, + "NOARCHIVELOG": true, + "NOAUDIT": true, + "NOCACHE": true, + "NOCOMPRESS": true, + "NOCYCLE": true, + "NOFORCE": true, + "NOLOGGING": true, + "NOMAXVALUE": true, + "NOMINVALUE": true, + "NONE": true, + "NOORDER": true, + "NOOVERRIDE": true, + "NOPARALLEL": true, + "NOREVERSE": true, + "NORMAL": true, + "NOSORT": true, + "NOT": true, + "NOTHING": true, + "NOWAIT": true, + "NULL": true, + "NUMBER": true, + "NUMERIC": true, + "NVARCHAR2": true, + "OBJECT": true, + "OBJNO": true, + "OBJNO_REUSE": true, + "OF": true, + "OFF": true, + "OFFLINE": true, + "OID": true, + "OIDINDEX": true, + "OLD": true, + "ON": true, + "ONLINE": true, + "ONLY": true, + "OPCODE": true, + "OPEN": true, + "OPTIMAL": true, + "OPTIMIZER_GOAL": true, + "OPTION": true, + "OR": true, + "ORDER": true, + "ORGANIZATION": true, + "OSLABEL": true, + "OVERFLOW": true, + "OWN": true, + "PACKAGE": true, + "PARALLEL": true, + "PARTITION": true, + "PASSWORD": true, + "PASSWORD_GRACE_TIME": true, + "PASSWORD_LIFE_TIME": true, + "PASSWORD_LOCK_TIME": true, + "PASSWORD_REUSE_MAX": true, + "PASSWORD_REUSE_TIME": true, + "PASSWORD_VERIFY_FUNCTION": true, + "PCTFREE": true, + "PCTINCREASE": true, + "PCTTHRESHOLD": true, + "PCTUSED": true, + "PCTVERSION": true, + "PERCENT": true, + "PERMANENT": true, + "PLAN": true, + "PLSQL_DEBUG": true, + "POST_TRANSACTION": true, + "PRECISION": true, + "PRESERVE": true, + "PRIMARY": true, + "PRIOR": true, + "PRIVATE": true, + "PRIVATE_SGA": true, + "PRIVILEGE": true, + "PRIVILEGES": true, + "PROCEDURE": true, + "PROFILE": true, + "PUBLIC": true, + "PURGE": true, + "QUEUE": true, + "QUOTA": true, + "RANGE": true, + "RAW": true, + "RBA": true, + "READ": true, + "READUP": true, + "REAL": true, + "REBUILD": true, + "RECOVER": true, + "RECOVERABLE": true, + "RECOVERY": true, + "REF": true, + "REFERENCES": true, + "REFERENCING": true, + "REFRESH": true, + "RENAME": true, + "REPLACE": true, + "RESET": true, + "RESETLOGS": true, + "RESIZE": true, + "RESOURCE": true, + "RESTRICTED": true, + "RETURN": true, + "RETURNING": true, + "REUSE": true, + "REVERSE": true, + "REVOKE": true, + "ROLE": true, + "ROLES": true, + "ROLLBACK": true, + "ROW": true, + "ROWID": true, + "ROWNUM": true, + "ROWS": true, + "RULE": true, + "SAMPLE": true, + "SAVEPOINT": true, + "SB4": true, + "SCAN_INSTANCES": true, + "SCHEMA": true, + "SCN": true, + "SCOPE": true, + "SD_ALL": true, + "SD_INHIBIT": true, + "SD_SHOW": true, + "SEGMENT": true, + "SEG_BLOCK": true, + "SEG_FILE": true, + "SELECT": true, + "SEQUENCE": true, + "SERIALIZABLE": true, + "SESSION": true, + "SESSION_CACHED_CURSORS": true, + "SESSIONS_PER_USER": true, + "SET": true, + "SHARE": true, + "SHARED": true, + "SHARED_POOL": true, + "SHRINK": true, + "SIZE": true, + "SKIP": true, + "SKIP_UNUSABLE_INDEXES": true, + "SMALLINT": true, + "SNAPSHOT": true, + "SOME": true, + "SORT": true, + "SPECIFICATION": true, + "SPLIT": true, + "SQL_TRACE": true, + "STANDBY": true, + "START": true, + "STATEMENT_ID": true, + "STATISTICS": true, + "STOP": true, + "STORAGE": true, + "STORE": true, + "STRUCTURE": true, + "SUCCESSFUL": true, + "SWITCH": true, + "SYS_OP_ENFORCE_NOT_NULL$": true, + "SYS_OP_NTCIMG$": true, + "SYNONYM": true, + "SYSDATE": true, + "SYSDBA": true, + "SYSOPER": true, + "SYSTEM": true, + "TABLE": true, + "TABLES": true, + "TABLESPACE": true, + "TABLESPACE_NO": true, + "TABNO": true, + "TEMPORARY": true, + "THAN": true, + "THE": true, + "THEN": true, + "THREAD": true, + "TIMESTAMP": true, + "TIME": true, + "TO": true, + "TOPLEVEL": true, + "TRACE": true, + "TRACING": true, + "TRANSACTION": true, + "TRANSITIONAL": true, + "TRIGGER": true, + "TRIGGERS": true, + "TRUE": true, + "TRUNCATE": true, + "TX": true, + "TYPE": true, + "UB2": true, + "UBA": true, + "UID": true, + "UNARCHIVED": true, + "UNDO": true, + "UNION": true, + "UNIQUE": true, + "UNLIMITED": true, + "UNLOCK": true, + "UNRECOVERABLE": true, + "UNTIL": true, + "UNUSABLE": true, + "UNUSED": true, + "UPDATABLE": true, + "UPDATE": true, + "USAGE": true, + "USE": true, + "USER": true, + "USING": true, + "VALIDATE": true, + "VALIDATION": true, + "VALUE": true, + "VALUES": true, + "VARCHAR": true, + "VARCHAR2": true, + "VARYING": true, + "VIEW": true, + "WHEN": true, + "WHENEVER": true, + "WHERE": true, + "WITH": true, + "WITHOUT": true, + "WORK": true, + "WRITE": true, + "WRITEDOWN": true, + "WRITEUP": true, + "XID": true, + "YEAR": true, + "ZONE": true, + } +) + +type oracle struct { + core.Base +} + +func (db *oracle) Init(d *core.DB, uri *core.Uri, drivername, dataSourceName string) error { + return db.Base.Init(d, db, uri, drivername, dataSourceName) +} + +func (db *oracle) SqlType(c *core.Column) string { + var res string + switch t := c.SQLType.Name; t { + case core.Bit, core.TinyInt, core.SmallInt, core.MediumInt, core.Int, core.Integer, core.BigInt, core.Bool, core.Serial, core.BigSerial: + res = "NUMBER" + case core.Binary, core.VarBinary, core.Blob, core.TinyBlob, core.MediumBlob, core.LongBlob, core.Bytea: + return core.Blob + case core.Time, core.DateTime, core.TimeStamp: + res = core.TimeStamp + case core.TimeStampz: + res = "TIMESTAMP WITH TIME ZONE" + case core.Float, core.Double, core.Numeric, core.Decimal: + res = "NUMBER" + case core.Text, core.MediumText, core.LongText, core.Json: + res = "CLOB" + case core.Char, core.Varchar, core.TinyText: + res = "VARCHAR2" + default: + res = t + } + + hasLen1 := (c.Length > 0) + hasLen2 := (c.Length2 > 0) + + if hasLen2 { + res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" + } else if hasLen1 { + res += "(" + strconv.Itoa(c.Length) + ")" + } + return res +} + +func (db *oracle) AutoIncrStr() string { + return "AUTO_INCREMENT" +} + +func (db *oracle) SupportInsertMany() bool { + return true +} + +func (db *oracle) IsReserved(name string) bool { + _, ok := oracleReservedWords[name] + return ok +} + +func (db *oracle) Quote(name string) string { + return "\"" + name + "\"" +} + +func (db *oracle) QuoteStr() string { + return "\"" +} + +func (db *oracle) SupportEngine() bool { + return false +} + +func (db *oracle) SupportCharset() bool { + return false +} + +func (db *oracle) SupportDropIfExists() bool { + return false +} + +func (db *oracle) IndexOnTable() bool { + return false +} + +func (db *oracle) DropTableSql(tableName string) string { + return fmt.Sprintf("DROP TABLE `%s`", tableName) +} + +func (db *oracle) CreateTableSql(table *core.Table, tableName, storeEngine, charset string) string { + var sql string + sql = "CREATE TABLE " + if tableName == "" { + tableName = table.Name + } + + sql += db.Quote(tableName) + " (" + + pkList := table.PrimaryKeys + + for _, colName := range table.ColumnsSeq() { + col := table.GetColumn(colName) + /*if col.IsPrimaryKey && len(pkList) == 1 { + sql += col.String(b.dialect) + } else {*/ + sql += col.StringNoPk(db) + //} + sql = strings.TrimSpace(sql) + sql += ", " + } + + if len(pkList) > 0 { + sql += "PRIMARY KEY ( " + sql += db.Quote(strings.Join(pkList, db.Quote(","))) + sql += " ), " + } + + sql = sql[:len(sql)-2] + ")" + if db.SupportEngine() && storeEngine != "" { + sql += " ENGINE=" + storeEngine + } + if db.SupportCharset() { + if len(charset) == 0 { + charset = db.URI().Charset + } + if len(charset) > 0 { + sql += " DEFAULT CHARSET " + charset + } + } + return sql +} + +func (db *oracle) IndexCheckSql(tableName, idxName string) (string, []interface{}) { + args := []interface{}{tableName, idxName} + return `SELECT INDEX_NAME FROM USER_INDEXES ` + + `WHERE TABLE_NAME = :1 AND INDEX_NAME = :2`, args +} + +func (db *oracle) TableCheckSql(tableName string) (string, []interface{}) { + args := []interface{}{tableName} + return `SELECT table_name FROM user_tables WHERE table_name = :1`, args +} + +func (db *oracle) MustDropTable(tableName string) error { + sql, args := db.TableCheckSql(tableName) + db.LogSQL(sql, args) + + rows, err := db.DB().Query(sql, args...) + if err != nil { + return err + } + defer rows.Close() + + if !rows.Next() { + return nil + } + + sql = "Drop Table \"" + tableName + "\"" + db.LogSQL(sql, args) + + _, err = db.DB().Exec(sql) + return err +} + +/*func (db *oracle) ColumnCheckSql(tableName, colName string) (string, []interface{}) { + args := []interface{}{strings.ToUpper(tableName), strings.ToUpper(colName)} + return "SELECT column_name FROM USER_TAB_COLUMNS WHERE table_name = ?" + + " AND column_name = ?", args +}*/ + +func (db *oracle) IsColumnExist(tableName, colName string) (bool, error) { + args := []interface{}{tableName, colName} + query := "SELECT column_name FROM USER_TAB_COLUMNS WHERE table_name = :1" + + " AND column_name = :2" + db.LogSQL(query, args) + + rows, err := db.DB().Query(query, args...) + if err != nil { + return false, err + } + defer rows.Close() + + if rows.Next() { + return true, nil + } + return false, nil +} + +func (db *oracle) GetColumns(tableName string) ([]string, map[string]*core.Column, error) { + args := []interface{}{tableName} + s := "SELECT column_name,data_default,data_type,data_length,data_precision,data_scale," + + "nullable FROM USER_TAB_COLUMNS WHERE table_name = :1" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, nil, err + } + defer rows.Close() + + cols := make(map[string]*core.Column) + colSeq := make([]string, 0) + for rows.Next() { + col := new(core.Column) + col.Indexes = make(map[string]int) + + var colName, colDefault, nullable, dataType, dataPrecision, dataScale *string + var dataLen int + + err = rows.Scan(&colName, &colDefault, &dataType, &dataLen, &dataPrecision, + &dataScale, &nullable) + if err != nil { + return nil, nil, err + } + + col.Name = strings.Trim(*colName, `" `) + if colDefault != nil { + col.Default = *colDefault + col.DefaultIsEmpty = false + } + + if *nullable == "Y" { + col.Nullable = true + } else { + col.Nullable = false + } + + var ignore bool + + var dt string + var len1, len2 int + dts := strings.Split(*dataType, "(") + dt = dts[0] + if len(dts) > 1 { + lens := strings.Split(dts[1][:len(dts[1])-1], ",") + if len(lens) > 1 { + len1, _ = strconv.Atoi(lens[0]) + len2, _ = strconv.Atoi(lens[1]) + } else { + len1, _ = strconv.Atoi(lens[0]) + } + } + + switch dt { + case "VARCHAR2": + col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: len1, DefaultLength2: len2} + case "NVARCHAR2": + col.SQLType = core.SQLType{Name: core.NVarchar, DefaultLength: len1, DefaultLength2: len2} + case "TIMESTAMP WITH TIME ZONE": + col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0} + case "NUMBER": + col.SQLType = core.SQLType{Name: core.Double, DefaultLength: len1, DefaultLength2: len2} + case "LONG", "LONG RAW": + col.SQLType = core.SQLType{Name: core.Text, DefaultLength: 0, DefaultLength2: 0} + case "RAW": + col.SQLType = core.SQLType{Name: core.Binary, DefaultLength: 0, DefaultLength2: 0} + case "ROWID": + col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: 18, DefaultLength2: 0} + case "AQ$_SUBSCRIBERS": + ignore = true + default: + col.SQLType = core.SQLType{Name: strings.ToUpper(dt), DefaultLength: len1, DefaultLength2: len2} + } + + if ignore { + continue + } + + if _, ok := core.SqlTypes[col.SQLType.Name]; !ok { + return nil, nil, fmt.Errorf("Unknown colType %v %v", *dataType, col.SQLType) + } + + col.Length = dataLen + + if col.SQLType.IsText() || col.SQLType.IsTime() { + if !col.DefaultIsEmpty { + col.Default = "'" + col.Default + "'" + } + } + cols[col.Name] = col + colSeq = append(colSeq, col.Name) + } + + return colSeq, cols, nil +} + +func (db *oracle) GetTables() ([]*core.Table, error) { + args := []interface{}{} + s := "SELECT table_name FROM user_tables" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + tables := make([]*core.Table, 0) + for rows.Next() { + table := core.NewEmptyTable() + err = rows.Scan(&table.Name) + if err != nil { + return nil, err + } + + tables = append(tables, table) + } + return tables, nil +} + +func (db *oracle) GetIndexes(tableName string) (map[string]*core.Index, error) { + args := []interface{}{tableName} + s := "SELECT t.column_name,i.uniqueness,i.index_name FROM user_ind_columns t,user_indexes i " + + "WHERE t.index_name = i.index_name and t.table_name = i.table_name and t.table_name =:1" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + indexes := make(map[string]*core.Index, 0) + for rows.Next() { + var indexType int + var indexName, colName, uniqueness string + + err = rows.Scan(&colName, &uniqueness, &indexName) + if err != nil { + return nil, err + } + + indexName = strings.Trim(indexName, `" `) + + var isRegular bool + if strings.HasPrefix(indexName, "IDX_"+tableName) || strings.HasPrefix(indexName, "UQE_"+tableName) { + indexName = indexName[5+len(tableName):] + isRegular = true + } + + if uniqueness == "UNIQUE" { + indexType = core.UniqueType + } else { + indexType = core.IndexType + } + + var index *core.Index + var ok bool + if index, ok = indexes[indexName]; !ok { + index = new(core.Index) + index.Type = indexType + index.Name = indexName + index.IsRegular = isRegular + indexes[indexName] = index + } + index.AddColumn(colName) + } + return indexes, nil +} + +func (db *oracle) Filters() []core.Filter { + return []core.Filter{&core.QuoteFilter{}, &core.SeqFilter{Prefix: ":", Start: 1}, &core.IdFilter{}} +} + +type goracleDriver struct { +} + +func (cfg *goracleDriver) Parse(driverName, dataSourceName string) (*core.Uri, error) { + db := &core.Uri{DbType: core.ORACLE} + dsnPattern := regexp.MustCompile( + `^(?:(?P.*?)(?::(?P.*))?@)?` + // [user[:password]@] + `(?:(?P[^\(]*)(?:\((?P[^\)]*)\))?)?` + // [net[(addr)]] + `\/(?P.*?)` + // /dbname + `(?:\?(?P[^\?]*))?$`) // [?param1=value1¶mN=valueN] + matches := dsnPattern.FindStringSubmatch(dataSourceName) + //tlsConfigRegister := make(map[string]*tls.Config) + names := dsnPattern.SubexpNames() + + for i, match := range matches { + switch names[i] { + case "dbname": + db.DbName = match + } + } + if db.DbName == "" { + return nil, errors.New("dbname is empty") + } + return db, nil +} + +type oci8Driver struct { +} + +//dataSourceName=user/password@ipv4:port/dbname +//dataSourceName=user/password@[ipv6]:port/dbname +func (p *oci8Driver) Parse(driverName, dataSourceName string) (*core.Uri, error) { + db := &core.Uri{DbType: core.ORACLE} + dsnPattern := regexp.MustCompile( + `^(?P.*)\/(?P.*)@` + // user:password@ + `(?P.*)` + // ip:port + `\/(?P.*)`) // dbname + matches := dsnPattern.FindStringSubmatch(dataSourceName) + names := dsnPattern.SubexpNames() + for i, match := range matches { + switch names[i] { + case "dbname": + db.DbName = match + } + } + if db.DbName == "" { + return nil, errors.New("dbname is empty") + } + return db, nil +} diff --git a/vendor/github.com/go-xorm/xorm/dialect_postgres.go b/vendor/github.com/go-xorm/xorm/dialect_postgres.go new file mode 100644 index 000000000..3f5c526f7 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/dialect_postgres.go @@ -0,0 +1,1209 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "net/url" + "sort" + "strconv" + "strings" + + "github.com/go-xorm/core" +) + +// from http://www.postgresql.org/docs/current/static/sql-keywords-appendix.html +var ( + postgresReservedWords = map[string]bool{ + "A": true, + "ABORT": true, + "ABS": true, + "ABSENT": true, + "ABSOLUTE": true, + "ACCESS": true, + "ACCORDING": true, + "ACTION": true, + "ADA": true, + "ADD": true, + "ADMIN": true, + "AFTER": true, + "AGGREGATE": true, + "ALL": true, + "ALLOCATE": true, + "ALSO": true, + "ALTER": true, + "ALWAYS": true, + "ANALYSE": true, + "ANALYZE": true, + "AND": true, + "ANY": true, + "ARE": true, + "ARRAY": true, + "ARRAY_AGG": true, + "ARRAY_MAX_CARDINALITY": true, + "AS": true, + "ASC": true, + "ASENSITIVE": true, + "ASSERTION": true, + "ASSIGNMENT": true, + "ASYMMETRIC": true, + "AT": true, + "ATOMIC": true, + "ATTRIBUTE": true, + "ATTRIBUTES": true, + "AUTHORIZATION": true, + "AVG": true, + "BACKWARD": true, + "BASE64": true, + "BEFORE": true, + "BEGIN": true, + "BEGIN_FRAME": true, + "BEGIN_PARTITION": true, + "BERNOULLI": true, + "BETWEEN": true, + "BIGINT": true, + "BINARY": true, + "BIT": true, + "BIT_LENGTH": true, + "BLOB": true, + "BLOCKED": true, + "BOM": true, + "BOOLEAN": true, + "BOTH": true, + "BREADTH": true, + "BY": true, + "C": true, + "CACHE": true, + "CALL": true, + "CALLED": true, + "CARDINALITY": true, + "CASCADE": true, + "CASCADED": true, + "CASE": true, + "CAST": true, + "CATALOG": true, + "CATALOG_NAME": true, + "CEIL": true, + "CEILING": true, + "CHAIN": true, + "CHAR": true, + "CHARACTER": true, + "CHARACTERISTICS": true, + "CHARACTERS": true, + "CHARACTER_LENGTH": true, + "CHARACTER_SET_CATALOG": true, + "CHARACTER_SET_NAME": true, + "CHARACTER_SET_SCHEMA": true, + "CHAR_LENGTH": true, + "CHECK": true, + "CHECKPOINT": true, + "CLASS": true, + "CLASS_ORIGIN": true, + "CLOB": true, + "CLOSE": true, + "CLUSTER": true, + "COALESCE": true, + "COBOL": true, + "COLLATE": true, + "COLLATION": true, + "COLLATION_CATALOG": true, + "COLLATION_NAME": true, + "COLLATION_SCHEMA": true, + "COLLECT": true, + "COLUMN": true, + "COLUMNS": true, + "COLUMN_NAME": true, + "COMMAND_FUNCTION": true, + "COMMAND_FUNCTION_CODE": true, + "COMMENT": true, + "COMMENTS": true, + "COMMIT": true, + "COMMITTED": true, + "CONCURRENTLY": true, + "CONDITION": true, + "CONDITION_NUMBER": true, + "CONFIGURATION": true, + "CONNECT": true, + "CONNECTION": true, + "CONNECTION_NAME": true, + "CONSTRAINT": true, + "CONSTRAINTS": true, + "CONSTRAINT_CATALOG": true, + "CONSTRAINT_NAME": true, + "CONSTRAINT_SCHEMA": true, + "CONSTRUCTOR": true, + "CONTAINS": true, + "CONTENT": true, + "CONTINUE": true, + "CONTROL": true, + "CONVERSION": true, + "CONVERT": true, + "COPY": true, + "CORR": true, + "CORRESPONDING": true, + "COST": true, + "COUNT": true, + "COVAR_POP": true, + "COVAR_SAMP": true, + "CREATE": true, + "CROSS": true, + "CSV": true, + "CUBE": true, + "CUME_DIST": true, + "CURRENT": true, + "CURRENT_CATALOG": true, + "CURRENT_DATE": true, + "CURRENT_DEFAULT_TRANSFORM_GROUP": true, + "CURRENT_PATH": true, + "CURRENT_ROLE": true, + "CURRENT_ROW": true, + "CURRENT_SCHEMA": true, + "CURRENT_TIME": true, + "CURRENT_TIMESTAMP": true, + "CURRENT_TRANSFORM_GROUP_FOR_TYPE": true, + "CURRENT_USER": true, + "CURSOR": true, + "CURSOR_NAME": true, + "CYCLE": true, + "DATA": true, + "DATABASE": true, + "DATALINK": true, + "DATE": true, + "DATETIME_INTERVAL_CODE": true, + "DATETIME_INTERVAL_PRECISION": true, + "DAY": true, + "DB": true, + "DEALLOCATE": true, + "DEC": true, + "DECIMAL": true, + "DECLARE": true, + "DEFAULT": true, + "DEFAULTS": true, + "DEFERRABLE": true, + "DEFERRED": true, + "DEFINED": true, + "DEFINER": true, + "DEGREE": true, + "DELETE": true, + "DELIMITER": true, + "DELIMITERS": true, + "DENSE_RANK": true, + "DEPTH": true, + "DEREF": true, + "DERIVED": true, + "DESC": true, + "DESCRIBE": true, + "DESCRIPTOR": true, + "DETERMINISTIC": true, + "DIAGNOSTICS": true, + "DICTIONARY": true, + "DISABLE": true, + "DISCARD": true, + "DISCONNECT": true, + "DISPATCH": true, + "DISTINCT": true, + "DLNEWCOPY": true, + "DLPREVIOUSCOPY": true, + "DLURLCOMPLETE": true, + "DLURLCOMPLETEONLY": true, + "DLURLCOMPLETEWRITE": true, + "DLURLPATH": true, + "DLURLPATHONLY": true, + "DLURLPATHWRITE": true, + "DLURLSCHEME": true, + "DLURLSERVER": true, + "DLVALUE": true, + "DO": true, + "DOCUMENT": true, + "DOMAIN": true, + "DOUBLE": true, + "DROP": true, + "DYNAMIC": true, + "DYNAMIC_FUNCTION": true, + "DYNAMIC_FUNCTION_CODE": true, + "EACH": true, + "ELEMENT": true, + "ELSE": true, + "EMPTY": true, + "ENABLE": true, + "ENCODING": true, + "ENCRYPTED": true, + "END": true, + "END-EXEC": true, + "END_FRAME": true, + "END_PARTITION": true, + "ENFORCED": true, + "ENUM": true, + "EQUALS": true, + "ESCAPE": true, + "EVENT": true, + "EVERY": true, + "EXCEPT": true, + "EXCEPTION": true, + "EXCLUDE": true, + "EXCLUDING": true, + "EXCLUSIVE": true, + "EXEC": true, + "EXECUTE": true, + "EXISTS": true, + "EXP": true, + "EXPLAIN": true, + "EXPRESSION": true, + "EXTENSION": true, + "EXTERNAL": true, + "EXTRACT": true, + "FALSE": true, + "FAMILY": true, + "FETCH": true, + "FILE": true, + "FILTER": true, + "FINAL": true, + "FIRST": true, + "FIRST_VALUE": true, + "FLAG": true, + "FLOAT": true, + "FLOOR": true, + "FOLLOWING": true, + "FOR": true, + "FORCE": true, + "FOREIGN": true, + "FORTRAN": true, + "FORWARD": true, + "FOUND": true, + "FRAME_ROW": true, + "FREE": true, + "FREEZE": true, + "FROM": true, + "FS": true, + "FULL": true, + "FUNCTION": true, + "FUNCTIONS": true, + "FUSION": true, + "G": true, + "GENERAL": true, + "GENERATED": true, + "GET": true, + "GLOBAL": true, + "GO": true, + "GOTO": true, + "GRANT": true, + "GRANTED": true, + "GREATEST": true, + "GROUP": true, + "GROUPING": true, + "GROUPS": true, + "HANDLER": true, + "HAVING": true, + "HEADER": true, + "HEX": true, + "HIERARCHY": true, + "HOLD": true, + "HOUR": true, + "ID": true, + "IDENTITY": true, + "IF": true, + "IGNORE": true, + "ILIKE": true, + "IMMEDIATE": true, + "IMMEDIATELY": true, + "IMMUTABLE": true, + "IMPLEMENTATION": true, + "IMPLICIT": true, + "IMPORT": true, + "IN": true, + "INCLUDING": true, + "INCREMENT": true, + "INDENT": true, + "INDEX": true, + "INDEXES": true, + "INDICATOR": true, + "INHERIT": true, + "INHERITS": true, + "INITIALLY": true, + "INLINE": true, + "INNER": true, + "INOUT": true, + "INPUT": true, + "INSENSITIVE": true, + "INSERT": true, + "INSTANCE": true, + "INSTANTIABLE": true, + "INSTEAD": true, + "INT": true, + "INTEGER": true, + "INTEGRITY": true, + "INTERSECT": true, + "INTERSECTION": true, + "INTERVAL": true, + "INTO": true, + "INVOKER": true, + "IS": true, + "ISNULL": true, + "ISOLATION": true, + "JOIN": true, + "K": true, + "KEY": true, + "KEY_MEMBER": true, + "KEY_TYPE": true, + "LABEL": true, + "LAG": true, + "LANGUAGE": true, + "LARGE": true, + "LAST": true, + "LAST_VALUE": true, + "LATERAL": true, + "LC_COLLATE": true, + "LC_CTYPE": true, + "LEAD": true, + "LEADING": true, + "LEAKPROOF": true, + "LEAST": true, + "LEFT": true, + "LENGTH": true, + "LEVEL": true, + "LIBRARY": true, + "LIKE": true, + "LIKE_REGEX": true, + "LIMIT": true, + "LINK": true, + "LISTEN": true, + "LN": true, + "LOAD": true, + "LOCAL": true, + "LOCALTIME": true, + "LOCALTIMESTAMP": true, + "LOCATION": true, + "LOCATOR": true, + "LOCK": true, + "LOWER": true, + "M": true, + "MAP": true, + "MAPPING": true, + "MATCH": true, + "MATCHED": true, + "MATERIALIZED": true, + "MAX": true, + "MAXVALUE": true, + "MAX_CARDINALITY": true, + "MEMBER": true, + "MERGE": true, + "MESSAGE_LENGTH": true, + "MESSAGE_OCTET_LENGTH": true, + "MESSAGE_TEXT": true, + "METHOD": true, + "MIN": true, + "MINUTE": true, + "MINVALUE": true, + "MOD": true, + "MODE": true, + "MODIFIES": true, + "MODULE": true, + "MONTH": true, + "MORE": true, + "MOVE": true, + "MULTISET": true, + "MUMPS": true, + "NAME": true, + "NAMES": true, + "NAMESPACE": true, + "NATIONAL": true, + "NATURAL": true, + "NCHAR": true, + "NCLOB": true, + "NESTING": true, + "NEW": true, + "NEXT": true, + "NFC": true, + "NFD": true, + "NFKC": true, + "NFKD": true, + "NIL": true, + "NO": true, + "NONE": true, + "NORMALIZE": true, + "NORMALIZED": true, + "NOT": true, + "NOTHING": true, + "NOTIFY": true, + "NOTNULL": true, + "NOWAIT": true, + "NTH_VALUE": true, + "NTILE": true, + "NULL": true, + "NULLABLE": true, + "NULLIF": true, + "NULLS": true, + "NUMBER": true, + "NUMERIC": true, + "OBJECT": true, + "OCCURRENCES_REGEX": true, + "OCTETS": true, + "OCTET_LENGTH": true, + "OF": true, + "OFF": true, + "OFFSET": true, + "OIDS": true, + "OLD": true, + "ON": true, + "ONLY": true, + "OPEN": true, + "OPERATOR": true, + "OPTION": true, + "OPTIONS": true, + "OR": true, + "ORDER": true, + "ORDERING": true, + "ORDINALITY": true, + "OTHERS": true, + "OUT": true, + "OUTER": true, + "OUTPUT": true, + "OVER": true, + "OVERLAPS": true, + "OVERLAY": true, + "OVERRIDING": true, + "OWNED": true, + "OWNER": true, + "P": true, + "PAD": true, + "PARAMETER": true, + "PARAMETER_MODE": true, + "PARAMETER_NAME": true, + "PARAMETER_ORDINAL_POSITION": true, + "PARAMETER_SPECIFIC_CATALOG": true, + "PARAMETER_SPECIFIC_NAME": true, + "PARAMETER_SPECIFIC_SCHEMA": true, + "PARSER": true, + "PARTIAL": true, + "PARTITION": true, + "PASCAL": true, + "PASSING": true, + "PASSTHROUGH": true, + "PASSWORD": true, + "PATH": true, + "PERCENT": true, + "PERCENTILE_CONT": true, + "PERCENTILE_DISC": true, + "PERCENT_RANK": true, + "PERIOD": true, + "PERMISSION": true, + "PLACING": true, + "PLANS": true, + "PLI": true, + "PORTION": true, + "POSITION": true, + "POSITION_REGEX": true, + "POWER": true, + "PRECEDES": true, + "PRECEDING": true, + "PRECISION": true, + "PREPARE": true, + "PREPARED": true, + "PRESERVE": true, + "PRIMARY": true, + "PRIOR": true, + "PRIVILEGES": true, + "PROCEDURAL": true, + "PROCEDURE": true, + "PROGRAM": true, + "PUBLIC": true, + "QUOTE": true, + "RANGE": true, + "RANK": true, + "READ": true, + "READS": true, + "REAL": true, + "REASSIGN": true, + "RECHECK": true, + "RECOVERY": true, + "RECURSIVE": true, + "REF": true, + "REFERENCES": true, + "REFERENCING": true, + "REFRESH": true, + "REGR_AVGX": true, + "REGR_AVGY": true, + "REGR_COUNT": true, + "REGR_INTERCEPT": true, + "REGR_R2": true, + "REGR_SLOPE": true, + "REGR_SXX": true, + "REGR_SXY": true, + "REGR_SYY": true, + "REINDEX": true, + "RELATIVE": true, + "RELEASE": true, + "RENAME": true, + "REPEATABLE": true, + "REPLACE": true, + "REPLICA": true, + "REQUIRING": true, + "RESET": true, + "RESPECT": true, + "RESTART": true, + "RESTORE": true, + "RESTRICT": true, + "RESULT": true, + "RETURN": true, + "RETURNED_CARDINALITY": true, + "RETURNED_LENGTH": true, + "RETURNED_OCTET_LENGTH": true, + "RETURNED_SQLSTATE": true, + "RETURNING": true, + "RETURNS": true, + "REVOKE": true, + "RIGHT": true, + "ROLE": true, + "ROLLBACK": true, + "ROLLUP": true, + "ROUTINE": true, + "ROUTINE_CATALOG": true, + "ROUTINE_NAME": true, + "ROUTINE_SCHEMA": true, + "ROW": true, + "ROWS": true, + "ROW_COUNT": true, + "ROW_NUMBER": true, + "RULE": true, + "SAVEPOINT": true, + "SCALE": true, + "SCHEMA": true, + "SCHEMA_NAME": true, + "SCOPE": true, + "SCOPE_CATALOG": true, + "SCOPE_NAME": true, + "SCOPE_SCHEMA": true, + "SCROLL": true, + "SEARCH": true, + "SECOND": true, + "SECTION": true, + "SECURITY": true, + "SELECT": true, + "SELECTIVE": true, + "SELF": true, + "SENSITIVE": true, + "SEQUENCE": true, + "SEQUENCES": true, + "SERIALIZABLE": true, + "SERVER": true, + "SERVER_NAME": true, + "SESSION": true, + "SESSION_USER": true, + "SET": true, + "SETOF": true, + "SETS": true, + "SHARE": true, + "SHOW": true, + "SIMILAR": true, + "SIMPLE": true, + "SIZE": true, + "SMALLINT": true, + "SNAPSHOT": true, + "SOME": true, + "SOURCE": true, + "SPACE": true, + "SPECIFIC": true, + "SPECIFICTYPE": true, + "SPECIFIC_NAME": true, + "SQL": true, + "SQLCODE": true, + "SQLERROR": true, + "SQLEXCEPTION": true, + "SQLSTATE": true, + "SQLWARNING": true, + "SQRT": true, + "STABLE": true, + "STANDALONE": true, + "START": true, + "STATE": true, + "STATEMENT": true, + "STATIC": true, + "STATISTICS": true, + "STDDEV_POP": true, + "STDDEV_SAMP": true, + "STDIN": true, + "STDOUT": true, + "STORAGE": true, + "STRICT": true, + "STRIP": true, + "STRUCTURE": true, + "STYLE": true, + "SUBCLASS_ORIGIN": true, + "SUBMULTISET": true, + "SUBSTRING": true, + "SUBSTRING_REGEX": true, + "SUCCEEDS": true, + "SUM": true, + "SYMMETRIC": true, + "SYSID": true, + "SYSTEM": true, + "SYSTEM_TIME": true, + "SYSTEM_USER": true, + "T": true, + "TABLE": true, + "TABLES": true, + "TABLESAMPLE": true, + "TABLESPACE": true, + "TABLE_NAME": true, + "TEMP": true, + "TEMPLATE": true, + "TEMPORARY": true, + "TEXT": true, + "THEN": true, + "TIES": true, + "TIME": true, + "TIMESTAMP": true, + "TIMEZONE_HOUR": true, + "TIMEZONE_MINUTE": true, + "TO": true, + "TOKEN": true, + "TOP_LEVEL_COUNT": true, + "TRAILING": true, + "TRANSACTION": true, + "TRANSACTIONS_COMMITTED": true, + "TRANSACTIONS_ROLLED_BACK": true, + "TRANSACTION_ACTIVE": true, + "TRANSFORM": true, + "TRANSFORMS": true, + "TRANSLATE": true, + "TRANSLATE_REGEX": true, + "TRANSLATION": true, + "TREAT": true, + "TRIGGER": true, + "TRIGGER_CATALOG": true, + "TRIGGER_NAME": true, + "TRIGGER_SCHEMA": true, + "TRIM": true, + "TRIM_ARRAY": true, + "TRUE": true, + "TRUNCATE": true, + "TRUSTED": true, + "TYPE": true, + "TYPES": true, + "UESCAPE": true, + "UNBOUNDED": true, + "UNCOMMITTED": true, + "UNDER": true, + "UNENCRYPTED": true, + "UNION": true, + "UNIQUE": true, + "UNKNOWN": true, + "UNLINK": true, + "UNLISTEN": true, + "UNLOGGED": true, + "UNNAMED": true, + "UNNEST": true, + "UNTIL": true, + "UNTYPED": true, + "UPDATE": true, + "UPPER": true, + "URI": true, + "USAGE": true, + "USER": true, + "USER_DEFINED_TYPE_CATALOG": true, + "USER_DEFINED_TYPE_CODE": true, + "USER_DEFINED_TYPE_NAME": true, + "USER_DEFINED_TYPE_SCHEMA": true, + "USING": true, + "VACUUM": true, + "VALID": true, + "VALIDATE": true, + "VALIDATOR": true, + "VALUE": true, + "VALUES": true, + "VALUE_OF": true, + "VARBINARY": true, + "VARCHAR": true, + "VARIADIC": true, + "VARYING": true, + "VAR_POP": true, + "VAR_SAMP": true, + "VERBOSE": true, + "VERSION": true, + "VERSIONING": true, + "VIEW": true, + "VOLATILE": true, + "WHEN": true, + "WHENEVER": true, + "WHERE": true, + "WHITESPACE": true, + "WIDTH_BUCKET": true, + "WINDOW": true, + "WITH": true, + "WITHIN": true, + "WITHOUT": true, + "WORK": true, + "WRAPPER": true, + "WRITE": true, + "XML": true, + "XMLAGG": true, + "XMLATTRIBUTES": true, + "XMLBINARY": true, + "XMLCAST": true, + "XMLCOMMENT": true, + "XMLCONCAT": true, + "XMLDECLARATION": true, + "XMLDOCUMENT": true, + "XMLELEMENT": true, + "XMLEXISTS": true, + "XMLFOREST": true, + "XMLITERATE": true, + "XMLNAMESPACES": true, + "XMLPARSE": true, + "XMLPI": true, + "XMLQUERY": true, + "XMLROOT": true, + "XMLSCHEMA": true, + "XMLSERIALIZE": true, + "XMLTABLE": true, + "XMLTEXT": true, + "XMLVALIDATE": true, + "YEAR": true, + "YES": true, + "ZONE": true, + } +) + +type postgres struct { + core.Base +} + +func (db *postgres) Init(d *core.DB, uri *core.Uri, drivername, dataSourceName string) error { + return db.Base.Init(d, db, uri, drivername, dataSourceName) +} + +func (db *postgres) SqlType(c *core.Column) string { + var res string + switch t := c.SQLType.Name; t { + case core.TinyInt: + res = core.SmallInt + return res + case core.Bit: + res = core.Boolean + return res + case core.MediumInt, core.Int, core.Integer: + if c.IsAutoIncrement { + return core.Serial + } + return core.Integer + case core.BigInt: + if c.IsAutoIncrement { + return core.BigSerial + } + return core.BigInt + case core.Serial, core.BigSerial: + c.IsAutoIncrement = true + c.Nullable = false + res = t + case core.Binary, core.VarBinary: + return core.Bytea + case core.DateTime: + res = core.TimeStamp + case core.TimeStampz: + return "timestamp with time zone" + case core.Float: + res = core.Real + case core.TinyText, core.MediumText, core.LongText: + res = core.Text + case core.NVarchar: + res = core.Varchar + case core.Uuid: + res = core.Uuid + case core.Blob, core.TinyBlob, core.MediumBlob, core.LongBlob: + return core.Bytea + case core.Double: + return "DOUBLE PRECISION" + default: + if c.IsAutoIncrement { + return core.Serial + } + res = t + } + + hasLen1 := (c.Length > 0) + hasLen2 := (c.Length2 > 0) + + if hasLen2 { + res += "(" + strconv.Itoa(c.Length) + "," + strconv.Itoa(c.Length2) + ")" + } else if hasLen1 { + res += "(" + strconv.Itoa(c.Length) + ")" + } + return res +} + +func (db *postgres) SupportInsertMany() bool { + return true +} + +func (db *postgres) IsReserved(name string) bool { + _, ok := postgresReservedWords[name] + return ok +} + +func (db *postgres) Quote(name string) string { + name = strings.Replace(name, ".", `"."`, -1) + return "\"" + name + "\"" +} + +func (db *postgres) QuoteStr() string { + return "\"" +} + +func (db *postgres) AutoIncrStr() string { + return "" +} + +func (db *postgres) SupportEngine() bool { + return false +} + +func (db *postgres) SupportCharset() bool { + return false +} + +func (db *postgres) IndexOnTable() bool { + return false +} + +func (db *postgres) IndexCheckSql(tableName, idxName string) (string, []interface{}) { + args := []interface{}{tableName, idxName} + return `SELECT indexname FROM pg_indexes ` + + `WHERE tablename = ? AND indexname = ?`, args +} + +func (db *postgres) TableCheckSql(tableName string) (string, []interface{}) { + args := []interface{}{tableName} + return `SELECT tablename FROM pg_tables WHERE tablename = ?`, args +} + +/*func (db *postgres) ColumnCheckSql(tableName, colName string) (string, []interface{}) { + args := []interface{}{tableName, colName} + return "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = ?" + + " AND column_name = ?", args +}*/ + +func (db *postgres) ModifyColumnSql(tableName string, col *core.Column) string { + return fmt.Sprintf("alter table %s ALTER COLUMN %s TYPE %s", + tableName, col.Name, db.SqlType(col)) +} + +func (db *postgres) DropIndexSql(tableName string, index *core.Index) string { + //var unique string + quote := db.Quote + idxName := index.Name + + if !strings.HasPrefix(idxName, "UQE_") && + !strings.HasPrefix(idxName, "IDX_") { + if index.Type == core.UniqueType { + idxName = fmt.Sprintf("UQE_%v_%v", tableName, index.Name) + } else { + idxName = fmt.Sprintf("IDX_%v_%v", tableName, index.Name) + } + } + return fmt.Sprintf("DROP INDEX %v", quote(idxName)) +} + +func (db *postgres) IsColumnExist(tableName, colName string) (bool, error) { + args := []interface{}{tableName, colName} + query := "SELECT column_name FROM INFORMATION_SCHEMA.COLUMNS WHERE table_name = $1" + + " AND column_name = $2" + db.LogSQL(query, args) + + rows, err := db.DB().Query(query, args...) + if err != nil { + return false, err + } + defer rows.Close() + + return rows.Next(), nil +} + +func (db *postgres) GetColumns(tableName string) ([]string, map[string]*core.Column, error) { + // FIXME: the schema should be replaced by user custom's + args := []interface{}{tableName, "public"} + s := `SELECT column_name, column_default, is_nullable, data_type, character_maximum_length, numeric_precision, numeric_precision_radix , + CASE WHEN p.contype = 'p' THEN true ELSE false END AS primarykey, + CASE WHEN p.contype = 'u' THEN true ELSE false END AS uniquekey +FROM pg_attribute f + JOIN pg_class c ON c.oid = f.attrelid JOIN pg_type t ON t.oid = f.atttypid + LEFT JOIN pg_attrdef d ON d.adrelid = c.oid AND d.adnum = f.attnum + LEFT JOIN pg_namespace n ON n.oid = c.relnamespace + LEFT JOIN pg_constraint p ON p.conrelid = c.oid AND f.attnum = ANY (p.conkey) + LEFT JOIN pg_class AS g ON p.confrelid = g.oid + LEFT JOIN INFORMATION_SCHEMA.COLUMNS s ON s.column_name=f.attname AND c.relname=s.table_name +WHERE c.relkind = 'r'::char AND c.relname = $1 AND s.table_schema = $2 AND f.attnum > 0 ORDER BY f.attnum;` + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, nil, err + } + defer rows.Close() + + cols := make(map[string]*core.Column) + colSeq := make([]string, 0) + + for rows.Next() { + col := new(core.Column) + col.Indexes = make(map[string]int) + + var colName, isNullable, dataType string + var maxLenStr, colDefault, numPrecision, numRadix *string + var isPK, isUnique bool + err = rows.Scan(&colName, &colDefault, &isNullable, &dataType, &maxLenStr, &numPrecision, &numRadix, &isPK, &isUnique) + if err != nil { + return nil, nil, err + } + + //fmt.Println(args, colName, isNullable, dataType, maxLenStr, colDefault, numPrecision, numRadix, isPK, isUnique) + var maxLen int + if maxLenStr != nil { + maxLen, err = strconv.Atoi(*maxLenStr) + if err != nil { + return nil, nil, err + } + } + + col.Name = strings.Trim(colName, `" `) + + if colDefault != nil || isPK { + if isPK { + col.IsPrimaryKey = true + } else { + col.Default = *colDefault + } + } + + if colDefault != nil && strings.HasPrefix(*colDefault, "nextval(") { + col.IsAutoIncrement = true + } + + col.Nullable = (isNullable == "YES") + + switch dataType { + case "character varying", "character": + col.SQLType = core.SQLType{Name: core.Varchar, DefaultLength: 0, DefaultLength2: 0} + case "timestamp without time zone": + col.SQLType = core.SQLType{Name: core.DateTime, DefaultLength: 0, DefaultLength2: 0} + case "timestamp with time zone": + col.SQLType = core.SQLType{Name: core.TimeStampz, DefaultLength: 0, DefaultLength2: 0} + case "double precision": + col.SQLType = core.SQLType{Name: core.Double, DefaultLength: 0, DefaultLength2: 0} + case "boolean": + col.SQLType = core.SQLType{Name: core.Bool, DefaultLength: 0, DefaultLength2: 0} + case "time without time zone": + col.SQLType = core.SQLType{Name: core.Time, DefaultLength: 0, DefaultLength2: 0} + case "oid": + col.SQLType = core.SQLType{Name: core.BigInt, DefaultLength: 0, DefaultLength2: 0} + default: + col.SQLType = core.SQLType{Name: strings.ToUpper(dataType), DefaultLength: 0, DefaultLength2: 0} + } + if _, ok := core.SqlTypes[col.SQLType.Name]; !ok { + return nil, nil, fmt.Errorf("Unknown colType: %v", dataType) + } + + col.Length = maxLen + + if col.SQLType.IsText() || col.SQLType.IsTime() { + if col.Default != "" { + col.Default = "'" + col.Default + "'" + } else { + if col.DefaultIsEmpty { + col.Default = "''" + } + } + } + cols[col.Name] = col + colSeq = append(colSeq, col.Name) + } + + return colSeq, cols, nil +} + +func (db *postgres) GetTables() ([]*core.Table, error) { + // FIXME: replace public to user customrize schema + args := []interface{}{"public"} + s := fmt.Sprintf("SELECT tablename FROM pg_tables WHERE schemaname = $1") + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + tables := make([]*core.Table, 0) + for rows.Next() { + table := core.NewEmptyTable() + var name string + err = rows.Scan(&name) + if err != nil { + return nil, err + } + table.Name = name + tables = append(tables, table) + } + return tables, nil +} + +func (db *postgres) GetIndexes(tableName string) (map[string]*core.Index, error) { + // FIXME: replace the public schema to user specify schema + args := []interface{}{"public", tableName} + s := fmt.Sprintf("SELECT indexname, indexdef FROM pg_indexes WHERE schemaname=$1 AND tablename=$2") + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + indexes := make(map[string]*core.Index, 0) + for rows.Next() { + var indexType int + var indexName, indexdef string + var colNames []string + err = rows.Scan(&indexName, &indexdef) + if err != nil { + return nil, err + } + indexName = strings.Trim(indexName, `" `) + if strings.HasSuffix(indexName, "_pkey") { + continue + } + if strings.HasPrefix(indexdef, "CREATE UNIQUE INDEX") { + indexType = core.UniqueType + } else { + indexType = core.IndexType + } + cs := strings.Split(indexdef, "(") + colNames = strings.Split(cs[1][0:len(cs[1])-1], ",") + var isRegular bool + if strings.HasPrefix(indexName, "IDX_"+tableName) || strings.HasPrefix(indexName, "UQE_"+tableName) { + newIdxName := indexName[5+len(tableName):] + isRegular = true + if newIdxName != "" { + indexName = newIdxName + } + } + + index := &core.Index{Name: indexName, Type: indexType, Cols: make([]string, 0)} + for _, colName := range colNames { + index.Cols = append(index.Cols, strings.Trim(colName, `" `)) + } + index.IsRegular = isRegular + indexes[index.Name] = index + } + return indexes, nil +} + +func (db *postgres) Filters() []core.Filter { + return []core.Filter{&core.IdFilter{}, &core.QuoteFilter{}, &core.SeqFilter{Prefix: "$", Start: 1}} +} + +type pqDriver struct { +} + +type values map[string]string + +func (vs values) Set(k, v string) { + vs[k] = v +} + +func (vs values) Get(k string) (v string) { + return vs[k] +} + +func errorf(s string, args ...interface{}) { + panic(fmt.Errorf("pq: %s", fmt.Sprintf(s, args...))) +} + +func parseURL(connstr string) (string, error) { + u, err := url.Parse(connstr) + if err != nil { + return "", err + } + + if u.Scheme != "postgresql" && u.Scheme != "postgres" { + return "", fmt.Errorf("invalid connection protocol: %s", u.Scheme) + } + + var kvs []string + escaper := strings.NewReplacer(` `, `\ `, `'`, `\'`, `\`, `\\`) + accrue := func(k, v string) { + if v != "" { + kvs = append(kvs, k+"="+escaper.Replace(v)) + } + } + + if u.User != nil { + v := u.User.Username() + accrue("user", v) + + v, _ = u.User.Password() + accrue("password", v) + } + + i := strings.Index(u.Host, ":") + if i < 0 { + accrue("host", u.Host) + } else { + accrue("host", u.Host[:i]) + accrue("port", u.Host[i+1:]) + } + + if u.Path != "" { + accrue("dbname", u.Path[1:]) + } + + q := u.Query() + for k := range q { + accrue(k, q.Get(k)) + } + + sort.Strings(kvs) // Makes testing easier (not a performance concern) + return strings.Join(kvs, " "), nil +} + +func parseOpts(name string, o values) { + if len(name) == 0 { + return + } + + name = strings.TrimSpace(name) + + ps := strings.Split(name, " ") + for _, p := range ps { + kv := strings.Split(p, "=") + if len(kv) < 2 { + errorf("invalid option: %q", p) + } + o.Set(kv[0], kv[1]) + } +} + +func (p *pqDriver) Parse(driverName, dataSourceName string) (*core.Uri, error) { + db := &core.Uri{DbType: core.POSTGRES} + o := make(values) + var err error + if strings.HasPrefix(dataSourceName, "postgresql://") || strings.HasPrefix(dataSourceName, "postgres://") { + dataSourceName, err = parseURL(dataSourceName) + if err != nil { + return nil, err + } + } + parseOpts(dataSourceName, o) + + db.DbName = o.Get("dbname") + if db.DbName == "" { + return nil, errors.New("dbname is empty") + } + /*db.Schema = o.Get("schema") + if len(db.Schema) == 0 { + db.Schema = "public" + }*/ + return db, nil +} diff --git a/vendor/github.com/go-xorm/xorm/dialect_sqlite3.go b/vendor/github.com/go-xorm/xorm/dialect_sqlite3.go new file mode 100644 index 000000000..a55b1615e --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/dialect_sqlite3.go @@ -0,0 +1,456 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql" + "errors" + "fmt" + "regexp" + "strings" + + "github.com/go-xorm/core" +) + +var ( + sqlite3ReservedWords = map[string]bool{ + "ABORT": true, + "ACTION": true, + "ADD": true, + "AFTER": true, + "ALL": true, + "ALTER": true, + "ANALYZE": true, + "AND": true, + "AS": true, + "ASC": true, + "ATTACH": true, + "AUTOINCREMENT": true, + "BEFORE": true, + "BEGIN": true, + "BETWEEN": true, + "BY": true, + "CASCADE": true, + "CASE": true, + "CAST": true, + "CHECK": true, + "COLLATE": true, + "COLUMN": true, + "COMMIT": true, + "CONFLICT": true, + "CONSTRAINT": true, + "CREATE": true, + "CROSS": true, + "CURRENT_DATE": true, + "CURRENT_TIME": true, + "CURRENT_TIMESTAMP": true, + "DATABASE": true, + "DEFAULT": true, + "DEFERRABLE": true, + "DEFERRED": true, + "DELETE": true, + "DESC": true, + "DETACH": true, + "DISTINCT": true, + "DROP": true, + "EACH": true, + "ELSE": true, + "END": true, + "ESCAPE": true, + "EXCEPT": true, + "EXCLUSIVE": true, + "EXISTS": true, + "EXPLAIN": true, + "FAIL": true, + "FOR": true, + "FOREIGN": true, + "FROM": true, + "FULL": true, + "GLOB": true, + "GROUP": true, + "HAVING": true, + "IF": true, + "IGNORE": true, + "IMMEDIATE": true, + "IN": true, + "INDEX": true, + "INDEXED": true, + "INITIALLY": true, + "INNER": true, + "INSERT": true, + "INSTEAD": true, + "INTERSECT": true, + "INTO": true, + "IS": true, + "ISNULL": true, + "JOIN": true, + "KEY": true, + "LEFT": true, + "LIKE": true, + "LIMIT": true, + "MATCH": true, + "NATURAL": true, + "NO": true, + "NOT": true, + "NOTNULL": true, + "NULL": true, + "OF": true, + "OFFSET": true, + "ON": true, + "OR": true, + "ORDER": true, + "OUTER": true, + "PLAN": true, + "PRAGMA": true, + "PRIMARY": true, + "QUERY": true, + "RAISE": true, + "RECURSIVE": true, + "REFERENCES": true, + "REGEXP": true, + "REINDEX": true, + "RELEASE": true, + "RENAME": true, + "REPLACE": true, + "RESTRICT": true, + "RIGHT": true, + "ROLLBACK": true, + "ROW": true, + "SAVEPOINT": true, + "SELECT": true, + "SET": true, + "TABLE": true, + "TEMP": true, + "TEMPORARY": true, + "THEN": true, + "TO": true, + "TRANSACTI": true, + "TRIGGER": true, + "UNION": true, + "UNIQUE": true, + "UPDATE": true, + "USING": true, + "VACUUM": true, + "VALUES": true, + "VIEW": true, + "VIRTUAL": true, + "WHEN": true, + "WHERE": true, + "WITH": true, + "WITHOUT": true, + } +) + +type sqlite3 struct { + core.Base +} + +func (db *sqlite3) Init(d *core.DB, uri *core.Uri, drivername, dataSourceName string) error { + return db.Base.Init(d, db, uri, drivername, dataSourceName) +} + +func (db *sqlite3) SqlType(c *core.Column) string { + switch t := c.SQLType.Name; t { + case core.Bool: + if c.Default == "true" { + c.Default = "1" + } else if c.Default == "false" { + c.Default = "0" + } + return core.Integer + case core.Date, core.DateTime, core.TimeStamp, core.Time: + return core.DateTime + case core.TimeStampz: + return core.Text + case core.Char, core.Varchar, core.NVarchar, core.TinyText, + core.Text, core.MediumText, core.LongText, core.Json: + return core.Text + case core.Bit, core.TinyInt, core.SmallInt, core.MediumInt, core.Int, core.Integer, core.BigInt: + return core.Integer + case core.Float, core.Double, core.Real: + return core.Real + case core.Decimal, core.Numeric: + return core.Numeric + case core.TinyBlob, core.Blob, core.MediumBlob, core.LongBlob, core.Bytea, core.Binary, core.VarBinary: + return core.Blob + case core.Serial, core.BigSerial: + c.IsPrimaryKey = true + c.IsAutoIncrement = true + c.Nullable = false + return core.Integer + default: + return t + } +} + +func (db *sqlite3) FormatBytes(bs []byte) string { + return fmt.Sprintf("X'%x'", bs) +} + +func (db *sqlite3) SupportInsertMany() bool { + return true +} + +func (db *sqlite3) IsReserved(name string) bool { + _, ok := sqlite3ReservedWords[name] + return ok +} + +func (db *sqlite3) Quote(name string) string { + return "`" + name + "`" +} + +func (db *sqlite3) QuoteStr() string { + return "`" +} + +func (db *sqlite3) AutoIncrStr() string { + return "AUTOINCREMENT" +} + +func (db *sqlite3) SupportEngine() bool { + return false +} + +func (db *sqlite3) SupportCharset() bool { + return false +} + +func (db *sqlite3) IndexOnTable() bool { + return false +} + +func (db *sqlite3) IndexCheckSql(tableName, idxName string) (string, []interface{}) { + args := []interface{}{idxName} + return "SELECT name FROM sqlite_master WHERE type='index' and name = ?", args +} + +func (db *sqlite3) TableCheckSql(tableName string) (string, []interface{}) { + args := []interface{}{tableName} + return "SELECT name FROM sqlite_master WHERE type='table' and name = ?", args +} + +func (db *sqlite3) DropIndexSql(tableName string, index *core.Index) string { + //var unique string + quote := db.Quote + idxName := index.Name + + if !strings.HasPrefix(idxName, "UQE_") && + !strings.HasPrefix(idxName, "IDX_") { + if index.Type == core.UniqueType { + idxName = fmt.Sprintf("UQE_%v_%v", tableName, index.Name) + } else { + idxName = fmt.Sprintf("IDX_%v_%v", tableName, index.Name) + } + } + return fmt.Sprintf("DROP INDEX %v", quote(idxName)) +} + +func (db *sqlite3) ForUpdateSql(query string) string { + return query +} + +/*func (db *sqlite3) ColumnCheckSql(tableName, colName string) (string, []interface{}) { + args := []interface{}{tableName} + sql := "SELECT name FROM sqlite_master WHERE type='table' and name = ? and ((sql like '%`" + colName + "`%') or (sql like '%[" + colName + "]%'))" + return sql, args +}*/ + +func (db *sqlite3) IsColumnExist(tableName, colName string) (bool, error) { + args := []interface{}{tableName} + query := "SELECT name FROM sqlite_master WHERE type='table' and name = ? and ((sql like '%`" + colName + "`%') or (sql like '%[" + colName + "]%'))" + db.LogSQL(query, args) + rows, err := db.DB().Query(query, args...) + if err != nil { + return false, err + } + defer rows.Close() + + if rows.Next() { + return true, nil + } + return false, nil +} + +func (db *sqlite3) GetColumns(tableName string) ([]string, map[string]*core.Column, error) { + args := []interface{}{tableName} + s := "SELECT sql FROM sqlite_master WHERE type='table' and name = ?" + db.LogSQL(s, args) + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, nil, err + } + defer rows.Close() + + var name string + for rows.Next() { + err = rows.Scan(&name) + if err != nil { + return nil, nil, err + } + break + } + + if name == "" { + return nil, nil, errors.New("no table named " + tableName) + } + + nStart := strings.Index(name, "(") + nEnd := strings.LastIndex(name, ")") + reg := regexp.MustCompile(`[^\(,\)]*(\([^\(]*\))?`) + colCreates := reg.FindAllString(name[nStart+1:nEnd], -1) + cols := make(map[string]*core.Column) + colSeq := make([]string, 0) + for _, colStr := range colCreates { + reg = regexp.MustCompile(`,\s`) + colStr = reg.ReplaceAllString(colStr, ",") + if strings.HasPrefix(strings.TrimSpace(colStr), "PRIMARY KEY") { + parts := strings.Split(strings.TrimSpace(colStr), "(") + if len(parts) == 2 { + pkCols := strings.Split(strings.TrimRight(strings.TrimSpace(parts[1]), ")"), ",") + for _, pk := range pkCols { + if col, ok := cols[strings.Trim(strings.TrimSpace(pk), "`")]; ok { + col.IsPrimaryKey = true + } + } + } + continue + } + + fields := strings.Fields(strings.TrimSpace(colStr)) + col := new(core.Column) + col.Indexes = make(map[string]int) + col.Nullable = true + col.DefaultIsEmpty = true + + for idx, field := range fields { + if idx == 0 { + col.Name = strings.Trim(strings.Trim(field, "`[] "), `"`) + continue + } else if idx == 1 { + col.SQLType = core.SQLType{Name: field, DefaultLength: 0, DefaultLength2: 0} + } + switch field { + case "PRIMARY": + col.IsPrimaryKey = true + case "AUTOINCREMENT": + col.IsAutoIncrement = true + case "NULL": + if fields[idx-1] == "NOT" { + col.Nullable = false + } else { + col.Nullable = true + } + case "DEFAULT": + col.Default = fields[idx+1] + col.DefaultIsEmpty = false + } + } + if !col.SQLType.IsNumeric() && !col.DefaultIsEmpty { + col.Default = "'" + col.Default + "'" + } + cols[col.Name] = col + colSeq = append(colSeq, col.Name) + } + return colSeq, cols, nil +} + +func (db *sqlite3) GetTables() ([]*core.Table, error) { + args := []interface{}{} + s := "SELECT name FROM sqlite_master WHERE type='table'" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + tables := make([]*core.Table, 0) + for rows.Next() { + table := core.NewEmptyTable() + err = rows.Scan(&table.Name) + if err != nil { + return nil, err + } + if table.Name == "sqlite_sequence" { + continue + } + tables = append(tables, table) + } + return tables, nil +} + +func (db *sqlite3) GetIndexes(tableName string) (map[string]*core.Index, error) { + args := []interface{}{tableName} + s := "SELECT sql FROM sqlite_master WHERE type='index' and tbl_name = ?" + db.LogSQL(s, args) + + rows, err := db.DB().Query(s, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + indexes := make(map[string]*core.Index, 0) + for rows.Next() { + var tmpSQL sql.NullString + err = rows.Scan(&tmpSQL) + if err != nil { + return nil, err + } + + if !tmpSQL.Valid { + continue + } + sql := tmpSQL.String + + index := new(core.Index) + nNStart := strings.Index(sql, "INDEX") + nNEnd := strings.Index(sql, "ON") + if nNStart == -1 || nNEnd == -1 { + continue + } + + indexName := strings.Trim(sql[nNStart+6:nNEnd], "` []") + var isRegular bool + if strings.HasPrefix(indexName, "IDX_"+tableName) || strings.HasPrefix(indexName, "UQE_"+tableName) { + index.Name = indexName[5+len(tableName):] + isRegular = true + } else { + index.Name = indexName + } + + if strings.HasPrefix(sql, "CREATE UNIQUE INDEX") { + index.Type = core.UniqueType + } else { + index.Type = core.IndexType + } + + nStart := strings.Index(sql, "(") + nEnd := strings.Index(sql, ")") + colIndexes := strings.Split(sql[nStart+1:nEnd], ",") + + index.Cols = make([]string, 0) + for _, col := range colIndexes { + index.Cols = append(index.Cols, strings.Trim(col, "` []")) + } + index.IsRegular = isRegular + indexes[index.Name] = index + } + + return indexes, nil +} + +func (db *sqlite3) Filters() []core.Filter { + return []core.Filter{&core.IdFilter{}} +} + +type sqlite3Driver struct { +} + +func (p *sqlite3Driver) Parse(driverName, dataSourceName string) (*core.Uri, error) { + return &core.Uri{DbType: core.SQLITE, DbName: dataSourceName}, nil +} diff --git a/vendor/github.com/go-xorm/xorm/doc.go b/vendor/github.com/go-xorm/xorm/doc.go new file mode 100644 index 000000000..a687e6947 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/doc.go @@ -0,0 +1,184 @@ +// Copyright 2013 - 2016 The XORM Authors. All rights reserved. +// Use of this source code is governed by a BSD +// license that can be found in the LICENSE file. + +/* + +Package xorm is a simple and powerful ORM for Go. + +Installation + +Make sure you have installed Go 1.6+ and then: + + go get github.com/go-xorm/xorm + +Create Engine + +Firstly, we should new an engine for a database + + engine, err := xorm.NewEngine(driverName, dataSourceName) + +Method NewEngine's parameters is the same as sql.Open. It depends +drivers' implementation. +Generally, one engine for an application is enough. You can set it as package variable. + +Raw Methods + +XORM also support raw SQL execution: + +1. query a SQL string, the returned results is []map[string][]byte + + results, err := engine.Query("select * from user") + +2. execute a SQL string, the returned results + + affected, err := engine.Exec("update user set .... where ...") + +ORM Methods + +There are 8 major ORM methods and many helpful methods to use to operate database. + +1. Insert one or multiple records to database + + affected, err := engine.Insert(&struct) + // INSERT INTO struct () values () + affected, err := engine.Insert(&struct1, &struct2) + // INSERT INTO struct1 () values () + // INSERT INTO struct2 () values () + affected, err := engine.Insert(&sliceOfStruct) + // INSERT INTO struct () values (),(),() + affected, err := engine.Insert(&struct1, &sliceOfStruct2) + // INSERT INTO struct1 () values () + // INSERT INTO struct2 () values (),(),() + +2. Query one record or one variable from database + + has, err := engine.Get(&user) + // SELECT * FROM user LIMIT 1 + + var id int64 + has, err := engine.Table("user").Where("name = ?", name).Get(&id) + // SELECT id FROM user WHERE name = ? LIMIT 1 + +3. Query multiple records from database + + var sliceOfStructs []Struct + err := engine.Find(&sliceOfStructs) + // SELECT * FROM user + + var mapOfStructs = make(map[int64]Struct) + err := engine.Find(&mapOfStructs) + // SELECT * FROM user + + var int64s []int64 + err := engine.Table("user").Cols("id").Find(&int64s) + // SELECT id FROM user + +4. Query multiple records and record by record handle, there two methods, one is Iterate, +another is Rows + + err := engine.Iterate(...) + // SELECT * FROM user + + rows, err := engine.Rows(...) + // SELECT * FROM user + defer rows.Close() + bean := new(Struct) + for rows.Next() { + err = rows.Scan(bean) + } + +5. Update one or more records + + affected, err := engine.ID(...).Update(&user) + // UPDATE user SET ... + +6. Delete one or more records, Delete MUST has condition + + affected, err := engine.Where(...).Delete(&user) + // DELETE FROM user Where ... + +7. Count records + + counts, err := engine.Count(&user) + // SELECT count(*) AS total FROM user + + counts, err := engine.SQL("select count(*) FROM user").Count() + // select count(*) FROM user + +8. Sum records + + sumFloat64, err := engine.Sum(&user, "id") + // SELECT sum(id) from user + + sumFloat64s, err := engine.Sums(&user, "id1", "id2") + // SELECT sum(id1), sum(id2) from user + + sumInt64s, err := engine.SumsInt(&user, "id1", "id2") + // SELECT sum(id1), sum(id2) from user + +Conditions + +The above 8 methods could use with condition methods chainable. +Attention: the above 8 methods should be the last chainable method. + +1. ID, In + + engine.ID(1).Get(&user) // for single primary key + // SELECT * FROM user WHERE id = 1 + engine.ID(core.PK{1, 2}).Get(&user) // for composite primary keys + // SELECT * FROM user WHERE id1 = 1 AND id2 = 2 + engine.In("id", 1, 2, 3).Find(&users) + // SELECT * FROM user WHERE id IN (1, 2, 3) + engine.In("id", []int{1, 2, 3}).Find(&users) + // SELECT * FROM user WHERE id IN (1, 2, 3) + +2. Where, And, Or + + engine.Where().And().Or().Find() + // SELECT * FROM user WHERE (.. AND ..) OR ... + +3. OrderBy, Asc, Desc + + engine.Asc().Desc().Find() + // SELECT * FROM user ORDER BY .. ASC, .. DESC + engine.OrderBy().Find() + // SELECT * FROM user ORDER BY .. + +4. Limit, Top + + engine.Limit().Find() + // SELECT * FROM user LIMIT .. OFFSET .. + engine.Top(5).Find() + // SELECT TOP 5 * FROM user // for mssql + // SELECT * FROM user LIMIT .. OFFSET 0 //for other databases + +5. SQL, let you custom SQL + + var users []User + engine.SQL("select * from user").Find(&users) + +6. Cols, Omit, Distinct + + var users []*User + engine.Cols("col1, col2").Find(&users) + // SELECT col1, col2 FROM user + engine.Cols("col1", "col2").Where().Update(user) + // UPDATE user set col1 = ?, col2 = ? Where ... + engine.Omit("col1").Find(&users) + // SELECT col2, col3 FROM user + engine.Omit("col1").Insert(&user) + // INSERT INTO table (non-col1) VALUES () + engine.Distinct("col1").Find(&users) + // SELECT DISTINCT col1 FROM user + +7. Join, GroupBy, Having + + engine.GroupBy("name").Having("name='xlw'").Find(&users) + //SELECT * FROM user GROUP BY name HAVING name='xlw' + engine.Join("LEFT", "userdetail", "user.id=userdetail.id").Find(&users) + //SELECT * FROM user LEFT JOIN userdetail ON user.id=userdetail.id + +More usage, please visit http://xorm.io/docs +*/ +package xorm diff --git a/vendor/github.com/go-xorm/xorm/engine.go b/vendor/github.com/go-xorm/xorm/engine.go new file mode 100644 index 000000000..15c619d33 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/engine.go @@ -0,0 +1,1587 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "bufio" + "bytes" + "database/sql" + "encoding/gob" + "errors" + "fmt" + "io" + "os" + "reflect" + "strconv" + "strings" + "sync" + "time" + + "github.com/go-xorm/builder" + "github.com/go-xorm/core" +) + +// Engine is the major struct of xorm, it means a database manager. +// Commonly, an application only need one engine +type Engine struct { + db *core.DB + dialect core.Dialect + + ColumnMapper core.IMapper + TableMapper core.IMapper + TagIdentifier string + Tables map[reflect.Type]*core.Table + + mutex *sync.RWMutex + Cacher core.Cacher + + showSQL bool + showExecTime bool + + logger core.ILogger + TZLocation *time.Location // The timezone of the application + DatabaseTZ *time.Location // The timezone of the database + + disableGlobalCache bool + + tagHandlers map[string]tagHandler +} + +// ShowSQL show SQL statement or not on logger if log level is great than INFO +func (engine *Engine) ShowSQL(show ...bool) { + engine.logger.ShowSQL(show...) + if len(show) == 0 { + engine.showSQL = true + } else { + engine.showSQL = show[0] + } +} + +// ShowExecTime show SQL statement and execute time or not on logger if log level is great than INFO +func (engine *Engine) ShowExecTime(show ...bool) { + if len(show) == 0 { + engine.showExecTime = true + } else { + engine.showExecTime = show[0] + } +} + +// Logger return the logger interface +func (engine *Engine) Logger() core.ILogger { + return engine.logger +} + +// SetLogger set the new logger +func (engine *Engine) SetLogger(logger core.ILogger) { + engine.logger = logger + engine.dialect.SetLogger(logger) +} + +// SetDisableGlobalCache disable global cache or not +func (engine *Engine) SetDisableGlobalCache(disable bool) { + if engine.disableGlobalCache != disable { + engine.disableGlobalCache = disable + } +} + +// DriverName return the current sql driver's name +func (engine *Engine) DriverName() string { + return engine.dialect.DriverName() +} + +// DataSourceName return the current connection string +func (engine *Engine) DataSourceName() string { + return engine.dialect.DataSourceName() +} + +// SetMapper set the name mapping rules +func (engine *Engine) SetMapper(mapper core.IMapper) { + engine.SetTableMapper(mapper) + engine.SetColumnMapper(mapper) +} + +// SetTableMapper set the table name mapping rule +func (engine *Engine) SetTableMapper(mapper core.IMapper) { + engine.TableMapper = mapper +} + +// SetColumnMapper set the column name mapping rule +func (engine *Engine) SetColumnMapper(mapper core.IMapper) { + engine.ColumnMapper = mapper +} + +// SupportInsertMany If engine's database support batch insert records like +// "insert into user values (name, age), (name, age)". +// When the return is ture, then engine.Insert(&users) will +// generate batch sql and exeute. +func (engine *Engine) SupportInsertMany() bool { + return engine.dialect.SupportInsertMany() +} + +// QuoteStr Engine's database use which character as quote. +// mysql, sqlite use ` and postgres use " +func (engine *Engine) QuoteStr() string { + return engine.dialect.QuoteStr() +} + +// Quote Use QuoteStr quote the string sql +func (engine *Engine) Quote(value string) string { + value = strings.TrimSpace(value) + if len(value) == 0 { + return value + } + + if string(value[0]) == engine.dialect.QuoteStr() || value[0] == '`' { + return value + } + + value = strings.Replace(value, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1) + + return engine.dialect.QuoteStr() + value + engine.dialect.QuoteStr() +} + +// QuoteTo quotes string and writes into the buffer +func (engine *Engine) QuoteTo(buf *bytes.Buffer, value string) { + if buf == nil { + return + } + + value = strings.TrimSpace(value) + if value == "" { + return + } + + if string(value[0]) == engine.dialect.QuoteStr() || value[0] == '`' { + buf.WriteString(value) + return + } + + value = strings.Replace(value, ".", engine.dialect.QuoteStr()+"."+engine.dialect.QuoteStr(), -1) + + buf.WriteString(engine.dialect.QuoteStr()) + buf.WriteString(value) + buf.WriteString(engine.dialect.QuoteStr()) +} + +func (engine *Engine) quote(sql string) string { + return engine.dialect.QuoteStr() + sql + engine.dialect.QuoteStr() +} + +// SqlType will be deprecated, please use SQLType instead +// +// Deprecated: use SQLType instead +func (engine *Engine) SqlType(c *core.Column) string { + return engine.SQLType(c) +} + +// SQLType A simple wrapper to dialect's core.SqlType method +func (engine *Engine) SQLType(c *core.Column) string { + return engine.dialect.SqlType(c) +} + +// AutoIncrStr Database's autoincrement statement +func (engine *Engine) AutoIncrStr() string { + return engine.dialect.AutoIncrStr() +} + +// SetMaxOpenConns is only available for go 1.2+ +func (engine *Engine) SetMaxOpenConns(conns int) { + engine.db.SetMaxOpenConns(conns) +} + +// SetMaxIdleConns set the max idle connections on pool, default is 2 +func (engine *Engine) SetMaxIdleConns(conns int) { + engine.db.SetMaxIdleConns(conns) +} + +// SetDefaultCacher set the default cacher. Xorm's default not enable cacher. +func (engine *Engine) SetDefaultCacher(cacher core.Cacher) { + engine.Cacher = cacher +} + +// NoCache If you has set default cacher, and you want temporilly stop use cache, +// you can use NoCache() +func (engine *Engine) NoCache() *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.NoCache() +} + +// NoCascade If you do not want to auto cascade load object +func (engine *Engine) NoCascade() *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.NoCascade() +} + +// MapCacher Set a table use a special cacher +func (engine *Engine) MapCacher(bean interface{}, cacher core.Cacher) error { + v := rValue(bean) + tb, err := engine.autoMapType(v) + if err != nil { + return err + } + + tb.Cacher = cacher + return nil +} + +// NewDB provides an interface to operate database directly +func (engine *Engine) NewDB() (*core.DB, error) { + return core.OpenDialect(engine.dialect) +} + +// DB return the wrapper of sql.DB +func (engine *Engine) DB() *core.DB { + return engine.db +} + +// Dialect return database dialect +func (engine *Engine) Dialect() core.Dialect { + return engine.dialect +} + +// NewSession New a session +func (engine *Engine) NewSession() *Session { + session := &Session{engine: engine} + session.Init() + return session +} + +// Close the engine +func (engine *Engine) Close() error { + return engine.db.Close() +} + +// Ping tests if database is alive +func (engine *Engine) Ping() error { + session := engine.NewSession() + defer session.Close() + return session.Ping() +} + +// logging sql +func (engine *Engine) logSQL(sqlStr string, sqlArgs ...interface{}) { + if engine.showSQL && !engine.showExecTime { + if len(sqlArgs) > 0 { + engine.logger.Infof("[SQL] %v %#v", sqlStr, sqlArgs) + } else { + engine.logger.Infof("[SQL] %v", sqlStr) + } + } +} + +// Sql provides raw sql input parameter. When you have a complex SQL statement +// and cannot use Where, Id, In and etc. Methods to describe, you can use SQL. +// +// Deprecated: use SQL instead. +func (engine *Engine) Sql(querystring string, args ...interface{}) *Session { + return engine.SQL(querystring, args...) +} + +// SQL method let's you manually write raw SQL and operate +// For example: +// +// engine.SQL("select * from user").Find(&users) +// +// This code will execute "select * from user" and set the records to users +func (engine *Engine) SQL(query interface{}, args ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.SQL(query, args...) +} + +// NoAutoTime Default if your struct has "created" or "updated" filed tag, the fields +// will automatically be filled with current time when Insert or Update +// invoked. Call NoAutoTime if you dont' want to fill automatically. +func (engine *Engine) NoAutoTime() *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.NoAutoTime() +} + +// NoAutoCondition disable auto generate Where condition from bean or not +func (engine *Engine) NoAutoCondition(no ...bool) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.NoAutoCondition(no...) +} + +// DBMetas Retrieve all tables, columns, indexes' informations from database. +func (engine *Engine) DBMetas() ([]*core.Table, error) { + tables, err := engine.dialect.GetTables() + if err != nil { + return nil, err + } + + for _, table := range tables { + colSeq, cols, err := engine.dialect.GetColumns(table.Name) + if err != nil { + return nil, err + } + for _, name := range colSeq { + table.AddColumn(cols[name]) + } + indexes, err := engine.dialect.GetIndexes(table.Name) + if err != nil { + return nil, err + } + table.Indexes = indexes + + for _, index := range indexes { + for _, name := range index.Cols { + if col := table.GetColumn(name); col != nil { + col.Indexes[index.Name] = index.Type + } else { + return nil, fmt.Errorf("Unknown col %s in index %v of table %v, columns %v", name, index.Name, table.Name, table.ColumnsSeq()) + } + } + } + } + return tables, nil +} + +// DumpAllToFile dump database all table structs and data to a file +func (engine *Engine) DumpAllToFile(fp string, tp ...core.DbType) error { + f, err := os.Create(fp) + if err != nil { + return err + } + defer f.Close() + return engine.DumpAll(f, tp...) +} + +// DumpAll dump database all table structs and data to w +func (engine *Engine) DumpAll(w io.Writer, tp ...core.DbType) error { + tables, err := engine.DBMetas() + if err != nil { + return err + } + return engine.DumpTables(tables, w, tp...) +} + +// DumpTablesToFile dump specified tables to SQL file. +func (engine *Engine) DumpTablesToFile(tables []*core.Table, fp string, tp ...core.DbType) error { + f, err := os.Create(fp) + if err != nil { + return err + } + defer f.Close() + return engine.DumpTables(tables, f, tp...) +} + +// DumpTables dump specify tables to io.Writer +func (engine *Engine) DumpTables(tables []*core.Table, w io.Writer, tp ...core.DbType) error { + return engine.dumpTables(tables, w, tp...) +} + +// dumpTables dump database all table structs and data to w with specify db type +func (engine *Engine) dumpTables(tables []*core.Table, w io.Writer, tp ...core.DbType) error { + var dialect core.Dialect + var distDBName string + if len(tp) == 0 { + dialect = engine.dialect + distDBName = string(engine.dialect.DBType()) + } else { + dialect = core.QueryDialect(tp[0]) + if dialect == nil { + return errors.New("Unsupported database type") + } + dialect.Init(nil, engine.dialect.URI(), "", "") + distDBName = string(tp[0]) + } + + _, err := io.WriteString(w, fmt.Sprintf("/*Generated by xorm v%s %s, from %s to %s*/\n\n", + Version, time.Now().In(engine.TZLocation).Format("2006-01-02 15:04:05"), engine.dialect.DBType(), strings.ToUpper(distDBName))) + if err != nil { + return err + } + + for i, table := range tables { + if i > 0 { + _, err = io.WriteString(w, "\n") + if err != nil { + return err + } + } + _, err = io.WriteString(w, dialect.CreateTableSql(table, "", table.StoreEngine, "")+";\n") + if err != nil { + return err + } + for _, index := range table.Indexes { + _, err = io.WriteString(w, dialect.CreateIndexSql(table.Name, index)+";\n") + if err != nil { + return err + } + } + + cols := table.ColumnsSeq() + colNames := dialect.Quote(strings.Join(cols, dialect.Quote(", "))) + + rows, err := engine.DB().Query("SELECT " + colNames + " FROM " + engine.Quote(table.Name)) + if err != nil { + return err + } + defer rows.Close() + + for rows.Next() { + dest := make([]interface{}, len(cols)) + err = rows.ScanSlice(&dest) + if err != nil { + return err + } + + _, err = io.WriteString(w, "INSERT INTO "+dialect.Quote(table.Name)+" ("+colNames+") VALUES (") + if err != nil { + return err + } + + var temp string + for i, d := range dest { + col := table.GetColumn(cols[i]) + if col == nil { + return errors.New("unknow column error") + } + + if d == nil { + temp += ", NULL" + } else if col.SQLType.IsText() || col.SQLType.IsTime() { + var v = fmt.Sprintf("%s", d) + if strings.HasSuffix(v, " +0000 UTC") { + temp += fmt.Sprintf(", '%s'", v[0:len(v)-len(" +0000 UTC")]) + } else { + temp += ", '" + strings.Replace(v, "'", "''", -1) + "'" + } + } else if col.SQLType.IsBlob() { + if reflect.TypeOf(d).Kind() == reflect.Slice { + temp += fmt.Sprintf(", %s", dialect.FormatBytes(d.([]byte))) + } else if reflect.TypeOf(d).Kind() == reflect.String { + temp += fmt.Sprintf(", '%s'", d.(string)) + } + } else if col.SQLType.IsNumeric() { + switch reflect.TypeOf(d).Kind() { + case reflect.Slice: + temp += fmt.Sprintf(", %s", string(d.([]byte))) + case reflect.Int16, reflect.Int8, reflect.Int32, reflect.Int64, reflect.Int: + if col.SQLType.Name == core.Bool { + temp += fmt.Sprintf(", %v", strconv.FormatBool(reflect.ValueOf(d).Int() > 0)) + } else { + temp += fmt.Sprintf(", %v", d) + } + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + if col.SQLType.Name == core.Bool { + temp += fmt.Sprintf(", %v", strconv.FormatBool(reflect.ValueOf(d).Uint() > 0)) + } else { + temp += fmt.Sprintf(", %v", d) + } + default: + temp += fmt.Sprintf(", %v", d) + } + } else { + s := fmt.Sprintf("%v", d) + if strings.Contains(s, ":") || strings.Contains(s, "-") { + if strings.HasSuffix(s, " +0000 UTC") { + temp += fmt.Sprintf(", '%s'", s[0:len(s)-len(" +0000 UTC")]) + } else { + temp += fmt.Sprintf(", '%s'", s) + } + } else { + temp += fmt.Sprintf(", %s", s) + } + } + } + _, err = io.WriteString(w, temp[2:]+");\n") + if err != nil { + return err + } + } + + // FIXME: Hack for postgres + if string(dialect.DBType()) == core.POSTGRES && table.AutoIncrColumn() != nil { + _, err = io.WriteString(w, "SELECT setval('table_id_seq', COALESCE((SELECT MAX("+table.AutoIncrColumn().Name+") FROM "+dialect.Quote(table.Name)+"), 1), false);\n") + if err != nil { + return err + } + } + } + return nil +} + +func (engine *Engine) tableName(beanOrTableName interface{}) (string, error) { + v := rValue(beanOrTableName) + if v.Type().Kind() == reflect.String { + return beanOrTableName.(string), nil + } else if v.Type().Kind() == reflect.Struct { + return engine.tbName(v), nil + } + return "", errors.New("bean should be a struct or struct's point") +} + +func (engine *Engine) tbName(v reflect.Value) string { + if tb, ok := v.Interface().(TableName); ok { + return tb.TableName() + } + + if v.Type().Kind() == reflect.Ptr { + if tb, ok := reflect.Indirect(v).Interface().(TableName); ok { + return tb.TableName() + } + } else if v.CanAddr() { + if tb, ok := v.Addr().Interface().(TableName); ok { + return tb.TableName() + } + } + return engine.TableMapper.Obj2Table(reflect.Indirect(v).Type().Name()) +} + +// Cascade use cascade or not +func (engine *Engine) Cascade(trueOrFalse ...bool) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Cascade(trueOrFalse...) +} + +// Where method provide a condition query +func (engine *Engine) Where(query interface{}, args ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Where(query, args...) +} + +// Id will be deprecated, please use ID instead +func (engine *Engine) Id(id interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Id(id) +} + +// ID method provoide a condition as (id) = ? +func (engine *Engine) ID(id interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.ID(id) +} + +// Before apply before Processor, affected bean is passed to closure arg +func (engine *Engine) Before(closures func(interface{})) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Before(closures) +} + +// After apply after insert Processor, affected bean is passed to closure arg +func (engine *Engine) After(closures func(interface{})) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.After(closures) +} + +// Charset set charset when create table, only support mysql now +func (engine *Engine) Charset(charset string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Charset(charset) +} + +// StoreEngine set store engine when create table, only support mysql now +func (engine *Engine) StoreEngine(storeEngine string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.StoreEngine(storeEngine) +} + +// Distinct use for distinct columns. Caution: when you are using cache, +// distinct will not be cached because cache system need id, +// but distinct will not provide id +func (engine *Engine) Distinct(columns ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Distinct(columns...) +} + +// Select customerize your select columns or contents +func (engine *Engine) Select(str string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Select(str) +} + +// Cols only use the parameters as select or update columns +func (engine *Engine) Cols(columns ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Cols(columns...) +} + +// AllCols indicates that all columns should be use +func (engine *Engine) AllCols() *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.AllCols() +} + +// MustCols specify some columns must use even if they are empty +func (engine *Engine) MustCols(columns ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.MustCols(columns...) +} + +// UseBool xorm automatically retrieve condition according struct, but +// if struct has bool field, it will ignore them. So use UseBool +// to tell system to do not ignore them. +// If no parameters, it will use all the bool field of struct, or +// it will use parameters's columns +func (engine *Engine) UseBool(columns ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.UseBool(columns...) +} + +// Omit only not use the parameters as select or update columns +func (engine *Engine) Omit(columns ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Omit(columns...) +} + +// Nullable set null when column is zero-value and nullable for update +func (engine *Engine) Nullable(columns ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Nullable(columns...) +} + +// In will generate "column IN (?, ?)" +func (engine *Engine) In(column string, args ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.In(column, args...) +} + +// NotIn will generate "column NOT IN (?, ?)" +func (engine *Engine) NotIn(column string, args ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.NotIn(column, args...) +} + +// Incr provides a update string like "column = column + ?" +func (engine *Engine) Incr(column string, arg ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Incr(column, arg...) +} + +// Decr provides a update string like "column = column - ?" +func (engine *Engine) Decr(column string, arg ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Decr(column, arg...) +} + +// SetExpr provides a update string like "column = {expression}" +func (engine *Engine) SetExpr(column string, expression string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.SetExpr(column, expression) +} + +// Table temporarily change the Get, Find, Update's table +func (engine *Engine) Table(tableNameOrBean interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Table(tableNameOrBean) +} + +// Alias set the table alias +func (engine *Engine) Alias(alias string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Alias(alias) +} + +// Limit will generate "LIMIT start, limit" +func (engine *Engine) Limit(limit int, start ...int) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Limit(limit, start...) +} + +// Desc will generate "ORDER BY column1 DESC, column2 DESC" +func (engine *Engine) Desc(colNames ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Desc(colNames...) +} + +// Asc will generate "ORDER BY column1,column2 Asc" +// This method can chainable use. +// +// engine.Desc("name").Asc("age").Find(&users) +// // SELECT * FROM user ORDER BY name DESC, age ASC +// +func (engine *Engine) Asc(colNames ...string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Asc(colNames...) +} + +// OrderBy will generate "ORDER BY order" +func (engine *Engine) OrderBy(order string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.OrderBy(order) +} + +// Join the join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN +func (engine *Engine) Join(joinOperator string, tablename interface{}, condition string, args ...interface{}) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Join(joinOperator, tablename, condition, args...) +} + +// GroupBy generate group by statement +func (engine *Engine) GroupBy(keys string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.GroupBy(keys) +} + +// Having generate having statement +func (engine *Engine) Having(conditions string) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Having(conditions) +} + +func (engine *Engine) unMapType(t reflect.Type) { + engine.mutex.Lock() + defer engine.mutex.Unlock() + delete(engine.Tables, t) +} + +func (engine *Engine) autoMapType(v reflect.Value) (*core.Table, error) { + t := v.Type() + engine.mutex.Lock() + defer engine.mutex.Unlock() + table, ok := engine.Tables[t] + if !ok { + var err error + table, err = engine.mapType(v) + if err != nil { + return nil, err + } + + engine.Tables[t] = table + if engine.Cacher != nil { + if v.CanAddr() { + engine.GobRegister(v.Addr().Interface()) + } else { + engine.GobRegister(v.Interface()) + } + } + } + return table, nil +} + +// GobRegister register one struct to gob for cache use +func (engine *Engine) GobRegister(v interface{}) *Engine { + gob.Register(v) + return engine +} + +// Table table struct +type Table struct { + *core.Table + Name string +} + +// IsValid if table is valid +func (t *Table) IsValid() bool { + return t.Table != nil && len(t.Name) > 0 +} + +// TableInfo get table info according to bean's content +func (engine *Engine) TableInfo(bean interface{}) *Table { + v := rValue(bean) + tb, err := engine.autoMapType(v) + if err != nil { + engine.logger.Error(err) + } + return &Table{tb, engine.tbName(v)} +} + +func addIndex(indexName string, table *core.Table, col *core.Column, indexType int) { + if index, ok := table.Indexes[indexName]; ok { + index.AddColumn(col.Name) + col.Indexes[index.Name] = indexType + } else { + index := core.NewIndex(indexName, indexType) + index.AddColumn(col.Name) + table.AddIndex(index) + col.Indexes[index.Name] = indexType + } +} + +func (engine *Engine) newTable() *core.Table { + table := core.NewEmptyTable() + + if !engine.disableGlobalCache { + table.Cacher = engine.Cacher + } + return table +} + +// TableName table name interface to define customerize table name +type TableName interface { + TableName() string +} + +var ( + tpTableName = reflect.TypeOf((*TableName)(nil)).Elem() +) + +func (engine *Engine) mapType(v reflect.Value) (*core.Table, error) { + t := v.Type() + table := engine.newTable() + if tb, ok := v.Interface().(TableName); ok { + table.Name = tb.TableName() + } else { + if v.CanAddr() { + if tb, ok = v.Addr().Interface().(TableName); ok { + table.Name = tb.TableName() + } + } + if table.Name == "" { + table.Name = engine.TableMapper.Obj2Table(t.Name()) + } + } + + table.Type = t + + var idFieldColName string + var hasCacheTag, hasNoCacheTag bool + + for i := 0; i < t.NumField(); i++ { + tag := t.Field(i).Tag + + ormTagStr := tag.Get(engine.TagIdentifier) + var col *core.Column + fieldValue := v.Field(i) + fieldType := fieldValue.Type() + + if ormTagStr != "" { + col = &core.Column{FieldName: t.Field(i).Name, Nullable: true, IsPrimaryKey: false, + IsAutoIncrement: false, MapType: core.TWOSIDES, Indexes: make(map[string]int)} + tags := splitTag(ormTagStr) + + if len(tags) > 0 { + if tags[0] == "-" { + continue + } + + var ctx = tagContext{ + table: table, + col: col, + fieldValue: fieldValue, + indexNames: make(map[string]int), + engine: engine, + } + + if strings.ToUpper(tags[0]) == "EXTENDS" { + if err := ExtendsTagHandler(&ctx); err != nil { + return nil, err + } + continue + } + + for j, key := range tags { + if ctx.ignoreNext { + ctx.ignoreNext = false + continue + } + + k := strings.ToUpper(key) + ctx.tagName = k + ctx.params = []string{} + + pStart := strings.Index(k, "(") + if pStart == 0 { + return nil, errors.New("( could not be the first charactor") + } + if pStart > -1 { + if !strings.HasSuffix(k, ")") { + return nil, errors.New("cannot match ) charactor") + } + + ctx.tagName = k[:pStart] + ctx.params = strings.Split(key[pStart+1:len(k)-1], ",") + } + + if j > 0 { + ctx.preTag = strings.ToUpper(tags[j-1]) + } + if j < len(tags)-1 { + ctx.nextTag = tags[j+1] + } else { + ctx.nextTag = "" + } + + if h, ok := engine.tagHandlers[ctx.tagName]; ok { + if err := h(&ctx); err != nil { + return nil, err + } + } else { + if strings.HasPrefix(key, "'") && strings.HasSuffix(key, "'") { + col.Name = key[1 : len(key)-1] + } else { + col.Name = key + } + } + + if ctx.hasCacheTag { + hasCacheTag = true + } + if ctx.hasNoCacheTag { + hasNoCacheTag = true + } + } + + if col.SQLType.Name == "" { + col.SQLType = core.Type2SQLType(fieldType) + } + engine.dialect.SqlType(col) + if col.Length == 0 { + col.Length = col.SQLType.DefaultLength + } + if col.Length2 == 0 { + col.Length2 = col.SQLType.DefaultLength2 + } + if col.Name == "" { + col.Name = engine.ColumnMapper.Obj2Table(t.Field(i).Name) + } + + if ctx.isUnique { + ctx.indexNames[col.Name] = core.UniqueType + } else if ctx.isIndex { + ctx.indexNames[col.Name] = core.IndexType + } + + for indexName, indexType := range ctx.indexNames { + addIndex(indexName, table, col, indexType) + } + } + } else { + var sqlType core.SQLType + if fieldValue.CanAddr() { + if _, ok := fieldValue.Addr().Interface().(core.Conversion); ok { + sqlType = core.SQLType{Name: core.Text} + } + } + if _, ok := fieldValue.Interface().(core.Conversion); ok { + sqlType = core.SQLType{Name: core.Text} + } else { + sqlType = core.Type2SQLType(fieldType) + } + col = core.NewColumn(engine.ColumnMapper.Obj2Table(t.Field(i).Name), + t.Field(i).Name, sqlType, sqlType.DefaultLength, + sqlType.DefaultLength2, true) + + if fieldType.Kind() == reflect.Int64 && (strings.ToUpper(col.FieldName) == "ID" || strings.HasSuffix(strings.ToUpper(col.FieldName), ".ID")) { + idFieldColName = col.Name + } + } + if col.IsAutoIncrement { + col.Nullable = false + } + + table.AddColumn(col) + + } // end for + + if idFieldColName != "" && len(table.PrimaryKeys) == 0 { + col := table.GetColumn(idFieldColName) + col.IsPrimaryKey = true + col.IsAutoIncrement = true + col.Nullable = false + table.PrimaryKeys = append(table.PrimaryKeys, col.Name) + table.AutoIncrement = col.Name + } + + if hasCacheTag { + if engine.Cacher != nil { // !nash! use engine's cacher if provided + engine.logger.Info("enable cache on table:", table.Name) + table.Cacher = engine.Cacher + } else { + engine.logger.Info("enable LRU cache on table:", table.Name) + table.Cacher = NewLRUCacher2(NewMemoryStore(), time.Hour, 10000) // !nashtsai! HACK use LRU cacher for now + } + } + if hasNoCacheTag { + engine.logger.Info("no cache on table:", table.Name) + table.Cacher = nil + } + + return table, nil +} + +// IsTableEmpty if a table has any reocrd +func (engine *Engine) IsTableEmpty(bean interface{}) (bool, error) { + session := engine.NewSession() + defer session.Close() + return session.IsTableEmpty(bean) +} + +// IsTableExist if a table is exist +func (engine *Engine) IsTableExist(beanOrTableName interface{}) (bool, error) { + session := engine.NewSession() + defer session.Close() + return session.IsTableExist(beanOrTableName) +} + +// IdOf get id from one struct +// +// Deprecated: use IDOf instead. +func (engine *Engine) IdOf(bean interface{}) core.PK { + return engine.IDOf(bean) +} + +// IDOf get id from one struct +func (engine *Engine) IDOf(bean interface{}) core.PK { + return engine.IdOfV(reflect.ValueOf(bean)) +} + +// IdOfV get id from one value of struct +// +// Deprecated: use IDOfV instead. +func (engine *Engine) IdOfV(rv reflect.Value) core.PK { + return engine.IDOfV(rv) +} + +// IDOfV get id from one value of struct +func (engine *Engine) IDOfV(rv reflect.Value) core.PK { + pk, err := engine.idOfV(rv) + if err != nil { + engine.logger.Error(err) + return nil + } + return pk +} + +func (engine *Engine) idOfV(rv reflect.Value) (core.PK, error) { + v := reflect.Indirect(rv) + table, err := engine.autoMapType(v) + if err != nil { + return nil, err + } + + pk := make([]interface{}, len(table.PrimaryKeys)) + for i, col := range table.PKColumns() { + var err error + pkField := v.FieldByName(col.FieldName) + switch pkField.Kind() { + case reflect.String: + pk[i], err = engine.idTypeAssertion(col, pkField.String()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + pk[i], err = engine.idTypeAssertion(col, strconv.FormatInt(pkField.Int(), 10)) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + // id of uint will be converted to int64 + pk[i], err = engine.idTypeAssertion(col, strconv.FormatUint(pkField.Uint(), 10)) + } + + if err != nil { + return nil, err + } + } + return core.PK(pk), nil +} + +func (engine *Engine) idTypeAssertion(col *core.Column, sid string) (interface{}, error) { + if col.SQLType.IsNumeric() { + n, err := strconv.ParseInt(sid, 10, 64) + if err != nil { + return nil, err + } + return n, nil + } else if col.SQLType.IsText() { + return sid, nil + } else { + return nil, errors.New("not supported") + } +} + +// CreateIndexes create indexes +func (engine *Engine) CreateIndexes(bean interface{}) error { + session := engine.NewSession() + defer session.Close() + return session.CreateIndexes(bean) +} + +// CreateUniques create uniques +func (engine *Engine) CreateUniques(bean interface{}) error { + session := engine.NewSession() + defer session.Close() + return session.CreateUniques(bean) +} + +func (engine *Engine) getCacher2(table *core.Table) core.Cacher { + return table.Cacher +} + +// ClearCacheBean if enabled cache, clear the cache bean +func (engine *Engine) ClearCacheBean(bean interface{}, id string) error { + v := rValue(bean) + t := v.Type() + if t.Kind() != reflect.Struct { + return errors.New("error params") + } + tableName := engine.tbName(v) + table, err := engine.autoMapType(v) + if err != nil { + return err + } + cacher := table.Cacher + if cacher == nil { + cacher = engine.Cacher + } + if cacher != nil { + cacher.ClearIds(tableName) + cacher.DelBean(tableName, id) + } + return nil +} + +// ClearCache if enabled cache, clear some tables' cache +func (engine *Engine) ClearCache(beans ...interface{}) error { + for _, bean := range beans { + v := rValue(bean) + t := v.Type() + if t.Kind() != reflect.Struct { + return errors.New("error params") + } + tableName := engine.tbName(v) + table, err := engine.autoMapType(v) + if err != nil { + return err + } + + cacher := table.Cacher + if cacher == nil { + cacher = engine.Cacher + } + if cacher != nil { + cacher.ClearIds(tableName) + cacher.ClearBeans(tableName) + } + } + return nil +} + +// Sync the new struct changes to database, this method will automatically add +// table, column, index, unique. but will not delete or change anything. +// If you change some field, you should change the database manually. +func (engine *Engine) Sync(beans ...interface{}) error { + session := engine.NewSession() + defer session.Close() + + for _, bean := range beans { + v := rValue(bean) + tableName := engine.tbName(v) + table, err := engine.autoMapType(v) + if err != nil { + return err + } + + isExist, err := session.Table(bean).isTableExist(tableName) + if err != nil { + return err + } + if !isExist { + err = session.createTable(bean) + if err != nil { + return err + } + } + /*isEmpty, err := engine.IsEmptyTable(bean) + if err != nil { + return err + }*/ + var isEmpty bool + if isEmpty { + err = session.dropTable(bean) + if err != nil { + return err + } + err = session.createTable(bean) + if err != nil { + return err + } + } else { + for _, col := range table.Columns() { + isExist, err := engine.dialect.IsColumnExist(tableName, col.Name) + if err != nil { + return err + } + if !isExist { + if err := session.statement.setRefValue(v); err != nil { + return err + } + err = session.addColumn(col.Name) + if err != nil { + return err + } + } + } + + for name, index := range table.Indexes { + if err := session.statement.setRefValue(v); err != nil { + return err + } + if index.Type == core.UniqueType { + isExist, err := session.isIndexExist2(tableName, index.Cols, true) + if err != nil { + return err + } + if !isExist { + if err := session.statement.setRefValue(v); err != nil { + return err + } + + err = session.addUnique(tableName, name) + if err != nil { + return err + } + } + } else if index.Type == core.IndexType { + isExist, err := session.isIndexExist2(tableName, index.Cols, false) + if err != nil { + return err + } + if !isExist { + if err := session.statement.setRefValue(v); err != nil { + return err + } + + err = session.addIndex(tableName, name) + if err != nil { + return err + } + } + } else { + return errors.New("unknow index type") + } + } + } + } + return nil +} + +// Sync2 synchronize structs to database tables +func (engine *Engine) Sync2(beans ...interface{}) error { + s := engine.NewSession() + defer s.Close() + return s.Sync2(beans...) +} + +// CreateTables create tabls according bean +func (engine *Engine) CreateTables(beans ...interface{}) error { + session := engine.NewSession() + defer session.Close() + + err := session.Begin() + if err != nil { + return err + } + + for _, bean := range beans { + err = session.createTable(bean) + if err != nil { + session.Rollback() + return err + } + } + return session.Commit() +} + +// DropTables drop specify tables +func (engine *Engine) DropTables(beans ...interface{}) error { + session := engine.NewSession() + defer session.Close() + + err := session.Begin() + if err != nil { + return err + } + + for _, bean := range beans { + err = session.dropTable(bean) + if err != nil { + session.Rollback() + return err + } + } + return session.Commit() +} + +// DropIndexes drop indexes of a table +func (engine *Engine) DropIndexes(bean interface{}) error { + session := engine.NewSession() + defer session.Close() + return session.DropIndexes(bean) +} + +// Exec raw sql +func (engine *Engine) Exec(sql string, args ...interface{}) (sql.Result, error) { + session := engine.NewSession() + defer session.Close() + return session.Exec(sql, args...) +} + +// Query a raw sql and return records as []map[string][]byte +func (engine *Engine) Query(sql string, paramStr ...interface{}) (resultsSlice []map[string][]byte, err error) { + session := engine.NewSession() + defer session.Close() + return session.Query(sql, paramStr...) +} + +// QueryString runs a raw sql and return records as []map[string]string +func (engine *Engine) QueryString(sqlStr string, args ...interface{}) ([]map[string]string, error) { + session := engine.NewSession() + defer session.Close() + return session.QueryString(sqlStr, args...) +} + +// QueryInterface runs a raw sql and return records as []map[string]interface{} +func (engine *Engine) QueryInterface(sqlStr string, args ...interface{}) ([]map[string]interface{}, error) { + session := engine.NewSession() + defer session.Close() + return session.QueryInterface(sqlStr, args...) +} + +// Insert one or more records +func (engine *Engine) Insert(beans ...interface{}) (int64, error) { + session := engine.NewSession() + defer session.Close() + return session.Insert(beans...) +} + +// InsertOne insert only one record +func (engine *Engine) InsertOne(bean interface{}) (int64, error) { + session := engine.NewSession() + defer session.Close() + return session.InsertOne(bean) +} + +// Update records, bean's non-empty fields are updated contents, +// condiBean' non-empty filds are conditions +// CAUTION: +// 1.bool will defaultly be updated content nor conditions +// You should call UseBool if you have bool to use. +// 2.float32 & float64 may be not inexact as conditions +func (engine *Engine) Update(bean interface{}, condiBeans ...interface{}) (int64, error) { + session := engine.NewSession() + defer session.Close() + return session.Update(bean, condiBeans...) +} + +// Delete records, bean's non-empty fields are conditions +func (engine *Engine) Delete(bean interface{}) (int64, error) { + session := engine.NewSession() + defer session.Close() + return session.Delete(bean) +} + +// Get retrieve one record from table, bean's non-empty fields +// are conditions +func (engine *Engine) Get(bean interface{}) (bool, error) { + session := engine.NewSession() + defer session.Close() + return session.Get(bean) +} + +// Exist returns true if the record exist otherwise return false +func (engine *Engine) Exist(bean ...interface{}) (bool, error) { + session := engine.NewSession() + defer session.Close() + return session.Exist(bean...) +} + +// Find retrieve records from table, condiBeans's non-empty fields +// are conditions. beans could be []Struct, []*Struct, map[int64]Struct +// map[int64]*Struct +func (engine *Engine) Find(beans interface{}, condiBeans ...interface{}) error { + session := engine.NewSession() + defer session.Close() + return session.Find(beans, condiBeans...) +} + +// Iterate record by record handle records from table, bean's non-empty fields +// are conditions. +func (engine *Engine) Iterate(bean interface{}, fun IterFunc) error { + session := engine.NewSession() + defer session.Close() + return session.Iterate(bean, fun) +} + +// Rows return sql.Rows compatible Rows obj, as a forward Iterator object for iterating record by record, bean's non-empty fields +// are conditions. +func (engine *Engine) Rows(bean interface{}) (*Rows, error) { + session := engine.NewSession() + return session.Rows(bean) +} + +// Count counts the records. bean's non-empty fields are conditions. +func (engine *Engine) Count(bean ...interface{}) (int64, error) { + session := engine.NewSession() + defer session.Close() + return session.Count(bean...) +} + +// Sum sum the records by some column. bean's non-empty fields are conditions. +func (engine *Engine) Sum(bean interface{}, colName string) (float64, error) { + session := engine.NewSession() + defer session.Close() + return session.Sum(bean, colName) +} + +// SumInt sum the records by some column. bean's non-empty fields are conditions. +func (engine *Engine) SumInt(bean interface{}, colName string) (int64, error) { + session := engine.NewSession() + defer session.Close() + return session.SumInt(bean, colName) +} + +// Sums sum the records by some columns. bean's non-empty fields are conditions. +func (engine *Engine) Sums(bean interface{}, colNames ...string) ([]float64, error) { + session := engine.NewSession() + defer session.Close() + return session.Sums(bean, colNames...) +} + +// SumsInt like Sums but return slice of int64 instead of float64. +func (engine *Engine) SumsInt(bean interface{}, colNames ...string) ([]int64, error) { + session := engine.NewSession() + defer session.Close() + return session.SumsInt(bean, colNames...) +} + +// ImportFile SQL DDL file +func (engine *Engine) ImportFile(ddlPath string) ([]sql.Result, error) { + file, err := os.Open(ddlPath) + if err != nil { + return nil, err + } + defer file.Close() + return engine.Import(file) +} + +// Import SQL DDL from io.Reader +func (engine *Engine) Import(r io.Reader) ([]sql.Result, error) { + var results []sql.Result + var lastError error + scanner := bufio.NewScanner(r) + + semiColSpliter := func(data []byte, atEOF bool) (advance int, token []byte, err error) { + if atEOF && len(data) == 0 { + return 0, nil, nil + } + if i := bytes.IndexByte(data, ';'); i >= 0 { + return i + 1, data[0:i], nil + } + // If we're at EOF, we have a final, non-terminated line. Return it. + if atEOF { + return len(data), data, nil + } + // Request more data. + return 0, nil, nil + } + + scanner.Split(semiColSpliter) + + for scanner.Scan() { + query := strings.Trim(scanner.Text(), " \t\n\r") + if len(query) > 0 { + engine.logSQL(query) + result, err := engine.DB().Exec(query) + results = append(results, result) + if err != nil { + return nil, err + } + } + } + + return results, lastError +} + +// nowTime return current time +func (engine *Engine) nowTime(col *core.Column) (interface{}, time.Time) { + t := time.Now() + var tz = engine.DatabaseTZ + if !col.DisableTimeZone && col.TimeZone != nil { + tz = col.TimeZone + } + return engine.formatTime(col.SQLType.Name, t.In(tz)), t.In(engine.TZLocation) +} + +func (engine *Engine) formatColTime(col *core.Column, t time.Time) (v interface{}) { + if t.IsZero() { + if col.Nullable { + return nil + } + return "" + } + + if col.TimeZone != nil { + return engine.formatTime(col.SQLType.Name, t.In(col.TimeZone)) + } + return engine.formatTime(col.SQLType.Name, t.In(engine.DatabaseTZ)) +} + +// formatTime format time as column type +func (engine *Engine) formatTime(sqlTypeName string, t time.Time) (v interface{}) { + switch sqlTypeName { + case core.Time: + s := t.Format("2006-01-02 15:04:05") //time.RFC3339 + v = s[11:19] + case core.Date: + v = t.Format("2006-01-02") + case core.DateTime, core.TimeStamp: + v = t.Format("2006-01-02 15:04:05") + case core.TimeStampz: + if engine.dialect.DBType() == core.MSSQL { + v = t.Format("2006-01-02T15:04:05.9999999Z07:00") + } else { + v = t.Format(time.RFC3339Nano) + } + case core.BigInt, core.Int: + v = t.Unix() + default: + v = t + } + return +} + +// Unscoped always disable struct tag "deleted" +func (engine *Engine) Unscoped() *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.Unscoped() +} + +// CondDeleted returns the conditions whether a record is soft deleted. +func (engine *Engine) CondDeleted(colName string) builder.Cond { + if engine.dialect.DBType() == core.MSSQL { + return builder.IsNull{colName} + } + return builder.IsNull{colName}.Or(builder.Eq{colName: zeroTime1}) +} + +// BufferSize sets buffer size for iterate +func (engine *Engine) BufferSize(size int) *Session { + session := engine.NewSession() + session.isAutoClose = true + return session.BufferSize(size) +} diff --git a/vendor/github.com/go-xorm/xorm/engine_cond.go b/vendor/github.com/go-xorm/xorm/engine_cond.go new file mode 100644 index 000000000..6c8e3879c --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/engine_cond.go @@ -0,0 +1,230 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql/driver" + "encoding/json" + "fmt" + "reflect" + "time" + + "github.com/go-xorm/builder" + "github.com/go-xorm/core" +) + +func (engine *Engine) buildConds(table *core.Table, bean interface{}, + includeVersion bool, includeUpdated bool, includeNil bool, + includeAutoIncr bool, allUseBool bool, useAllCols bool, unscoped bool, + mustColumnMap map[string]bool, tableName, aliasName string, addedTableName bool) (builder.Cond, error) { + var conds []builder.Cond + for _, col := range table.Columns() { + if !includeVersion && col.IsVersion { + continue + } + if !includeUpdated && col.IsUpdated { + continue + } + if !includeAutoIncr && col.IsAutoIncrement { + continue + } + + if engine.dialect.DBType() == core.MSSQL && (col.SQLType.Name == core.Text || col.SQLType.IsBlob() || col.SQLType.Name == core.TimeStampz) { + continue + } + if col.SQLType.IsJson() { + continue + } + + var colName string + if addedTableName { + var nm = tableName + if len(aliasName) > 0 { + nm = aliasName + } + colName = engine.Quote(nm) + "." + engine.Quote(col.Name) + } else { + colName = engine.Quote(col.Name) + } + + fieldValuePtr, err := col.ValueOf(bean) + if err != nil { + engine.logger.Error(err) + continue + } + + if col.IsDeleted && !unscoped { // tag "deleted" is enabled + conds = append(conds, engine.CondDeleted(colName)) + } + + fieldValue := *fieldValuePtr + if fieldValue.Interface() == nil { + continue + } + + fieldType := reflect.TypeOf(fieldValue.Interface()) + requiredField := useAllCols + + if b, ok := getFlagForColumn(mustColumnMap, col); ok { + if b { + requiredField = true + } else { + continue + } + } + + if fieldType.Kind() == reflect.Ptr { + if fieldValue.IsNil() { + if includeNil { + conds = append(conds, builder.Eq{colName: nil}) + } + continue + } else if !fieldValue.IsValid() { + continue + } else { + // dereference ptr type to instance type + fieldValue = fieldValue.Elem() + fieldType = reflect.TypeOf(fieldValue.Interface()) + requiredField = true + } + } + + var val interface{} + switch fieldType.Kind() { + case reflect.Bool: + if allUseBool || requiredField { + val = fieldValue.Interface() + } else { + // if a bool in a struct, it will not be as a condition because it default is false, + // please use Where() instead + continue + } + case reflect.String: + if !requiredField && fieldValue.String() == "" { + continue + } + // for MyString, should convert to string or panic + if fieldType.String() != reflect.String.String() { + val = fieldValue.String() + } else { + val = fieldValue.Interface() + } + case reflect.Int8, reflect.Int16, reflect.Int, reflect.Int32, reflect.Int64: + if !requiredField && fieldValue.Int() == 0 { + continue + } + val = fieldValue.Interface() + case reflect.Float32, reflect.Float64: + if !requiredField && fieldValue.Float() == 0.0 { + continue + } + val = fieldValue.Interface() + case reflect.Uint8, reflect.Uint16, reflect.Uint, reflect.Uint32, reflect.Uint64: + if !requiredField && fieldValue.Uint() == 0 { + continue + } + t := int64(fieldValue.Uint()) + val = reflect.ValueOf(&t).Interface() + case reflect.Struct: + if fieldType.ConvertibleTo(core.TimeType) { + t := fieldValue.Convert(core.TimeType).Interface().(time.Time) + if !requiredField && (t.IsZero() || !fieldValue.IsValid()) { + continue + } + val = engine.formatColTime(col, t) + } else if _, ok := reflect.New(fieldType).Interface().(core.Conversion); ok { + continue + } else if valNul, ok := fieldValue.Interface().(driver.Valuer); ok { + val, _ = valNul.Value() + if val == nil { + continue + } + } else { + if col.SQLType.IsJson() { + if col.SQLType.IsText() { + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + engine.logger.Error(err) + continue + } + val = string(bytes) + } else if col.SQLType.IsBlob() { + var bytes []byte + var err error + bytes, err = json.Marshal(fieldValue.Interface()) + if err != nil { + engine.logger.Error(err) + continue + } + val = bytes + } + } else { + engine.autoMapType(fieldValue) + if table, ok := engine.Tables[fieldValue.Type()]; ok { + if len(table.PrimaryKeys) == 1 { + pkField := reflect.Indirect(fieldValue).FieldByName(table.PKColumns()[0].FieldName) + // fix non-int pk issues + //if pkField.Int() != 0 { + if pkField.IsValid() && !isZero(pkField.Interface()) { + val = pkField.Interface() + } else { + continue + } + } else { + //TODO: how to handler? + return nil, fmt.Errorf("not supported %v as %v", fieldValue.Interface(), table.PrimaryKeys) + } + } else { + val = fieldValue.Interface() + } + } + } + case reflect.Array: + continue + case reflect.Slice, reflect.Map: + if fieldValue == reflect.Zero(fieldType) { + continue + } + if fieldValue.IsNil() || !fieldValue.IsValid() || fieldValue.Len() == 0 { + continue + } + + if col.SQLType.IsText() { + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + engine.logger.Error(err) + continue + } + val = string(bytes) + } else if col.SQLType.IsBlob() { + var bytes []byte + var err error + if (fieldType.Kind() == reflect.Array || fieldType.Kind() == reflect.Slice) && + fieldType.Elem().Kind() == reflect.Uint8 { + if fieldValue.Len() > 0 { + val = fieldValue.Bytes() + } else { + continue + } + } else { + bytes, err = json.Marshal(fieldValue.Interface()) + if err != nil { + engine.logger.Error(err) + continue + } + val = bytes + } + } else { + continue + } + default: + val = fieldValue.Interface() + } + + conds = append(conds, builder.Eq{colName: val}) + } + + return builder.And(conds...), nil +} diff --git a/vendor/github.com/go-xorm/xorm/engine_maxlife.go b/vendor/github.com/go-xorm/xorm/engine_maxlife.go new file mode 100644 index 000000000..21daeaa1b --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/engine_maxlife.go @@ -0,0 +1,14 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build go1.6 + +package xorm + +import "time" + +// SetConnMaxLifetime sets the maximum amount of time a connection may be reused. +func (engine *Engine) SetConnMaxLifetime(d time.Duration) { + engine.db.SetConnMaxLifetime(d) +} diff --git a/vendor/github.com/go-xorm/xorm/error.go b/vendor/github.com/go-xorm/xorm/error.go new file mode 100644 index 000000000..2a334f47c --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/error.go @@ -0,0 +1,26 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" +) + +var ( + // ErrParamsType params error + ErrParamsType = errors.New("Params type error") + // ErrTableNotFound table not found error + ErrTableNotFound = errors.New("Not found table") + // ErrUnSupportedType unsupported error + ErrUnSupportedType = errors.New("Unsupported type error") + // ErrNotExist record is not exist error + ErrNotExist = errors.New("Not exist error") + // ErrCacheFailed cache failed error + ErrCacheFailed = errors.New("Cache failed") + // ErrNeedDeletedCond delete needs less one condition error + ErrNeedDeletedCond = errors.New("Delete need at least one condition") + // ErrNotImplemented not implemented + ErrNotImplemented = errors.New("Not implemented") +) diff --git a/vendor/github.com/go-xorm/xorm/gen_reserved.sh b/vendor/github.com/go-xorm/xorm/gen_reserved.sh new file mode 100755 index 000000000..434a1bfcb --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/gen_reserved.sh @@ -0,0 +1,6 @@ +#!/bin/bash +if [ -f $1 ];then + cat $1| awk '{printf("\""$1"\":true,\n")}' +else + echo "argument $1 if not a file!" +fi diff --git a/vendor/github.com/go-xorm/xorm/helpers.go b/vendor/github.com/go-xorm/xorm/helpers.go new file mode 100644 index 000000000..f39ed4725 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/helpers.go @@ -0,0 +1,473 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "reflect" + "sort" + "strconv" + "strings" + "time" + + "github.com/go-xorm/core" +) + +// str2PK convert string value to primary key value according to tp +func str2PKValue(s string, tp reflect.Type) (reflect.Value, error) { + var err error + var result interface{} + var defReturn = reflect.Zero(tp) + + switch tp.Kind() { + case reflect.Int: + result, err = strconv.Atoi(s) + if err != nil { + return defReturn, fmt.Errorf("convert %s as int: %s", s, err.Error()) + } + case reflect.Int8: + x, err := strconv.Atoi(s) + if err != nil { + return defReturn, fmt.Errorf("convert %s as int8: %s", s, err.Error()) + } + result = int8(x) + case reflect.Int16: + x, err := strconv.Atoi(s) + if err != nil { + return defReturn, fmt.Errorf("convert %s as int16: %s", s, err.Error()) + } + result = int16(x) + case reflect.Int32: + x, err := strconv.Atoi(s) + if err != nil { + return defReturn, fmt.Errorf("convert %s as int32: %s", s, err.Error()) + } + result = int32(x) + case reflect.Int64: + result, err = strconv.ParseInt(s, 10, 64) + if err != nil { + return defReturn, fmt.Errorf("convert %s as int64: %s", s, err.Error()) + } + case reflect.Uint: + x, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return defReturn, fmt.Errorf("convert %s as uint: %s", s, err.Error()) + } + result = uint(x) + case reflect.Uint8: + x, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return defReturn, fmt.Errorf("convert %s as uint8: %s", s, err.Error()) + } + result = uint8(x) + case reflect.Uint16: + x, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return defReturn, fmt.Errorf("convert %s as uint16: %s", s, err.Error()) + } + result = uint16(x) + case reflect.Uint32: + x, err := strconv.ParseUint(s, 10, 64) + if err != nil { + return defReturn, fmt.Errorf("convert %s as uint32: %s", s, err.Error()) + } + result = uint32(x) + case reflect.Uint64: + result, err = strconv.ParseUint(s, 10, 64) + if err != nil { + return defReturn, fmt.Errorf("convert %s as uint64: %s", s, err.Error()) + } + case reflect.String: + result = s + default: + return defReturn, errors.New("unsupported convert type") + } + return reflect.ValueOf(result).Convert(tp), nil +} + +func str2PK(s string, tp reflect.Type) (interface{}, error) { + v, err := str2PKValue(s, tp) + if err != nil { + return nil, err + } + return v.Interface(), nil +} + +func splitTag(tag string) (tags []string) { + tag = strings.TrimSpace(tag) + var hasQuote = false + var lastIdx = 0 + for i, t := range tag { + if t == '\'' { + hasQuote = !hasQuote + } else if t == ' ' { + if lastIdx < i && !hasQuote { + tags = append(tags, strings.TrimSpace(tag[lastIdx:i])) + lastIdx = i + 1 + } + } + } + if lastIdx < len(tag) { + tags = append(tags, strings.TrimSpace(tag[lastIdx:])) + } + return +} + +type zeroable interface { + IsZero() bool +} + +func isZero(k interface{}) bool { + switch k.(type) { + case int: + return k.(int) == 0 + case int8: + return k.(int8) == 0 + case int16: + return k.(int16) == 0 + case int32: + return k.(int32) == 0 + case int64: + return k.(int64) == 0 + case uint: + return k.(uint) == 0 + case uint8: + return k.(uint8) == 0 + case uint16: + return k.(uint16) == 0 + case uint32: + return k.(uint32) == 0 + case uint64: + return k.(uint64) == 0 + case float32: + return k.(float32) == 0 + case float64: + return k.(float64) == 0 + case bool: + return k.(bool) == false + case string: + return k.(string) == "" + case zeroable: + return k.(zeroable).IsZero() + } + return false +} + +func isStructZero(v reflect.Value) bool { + if !v.IsValid() { + return true + } + + for i := 0; i < v.NumField(); i++ { + field := v.Field(i) + switch field.Kind() { + case reflect.Ptr: + field = field.Elem() + fallthrough + case reflect.Struct: + if !isStructZero(field) { + return false + } + default: + if field.CanInterface() && !isZero(field.Interface()) { + return false + } + } + } + return true +} + +func isArrayValueZero(v reflect.Value) bool { + if !v.IsValid() || v.Len() == 0 { + return true + } + + for i := 0; i < v.Len(); i++ { + if !isZero(v.Index(i).Interface()) { + return false + } + } + + return true +} + +func int64ToIntValue(id int64, tp reflect.Type) reflect.Value { + var v interface{} + kind := tp.Kind() + + if kind == reflect.Ptr { + kind = tp.Elem().Kind() + } + + switch kind { + case reflect.Int16: + temp := int16(id) + v = &temp + case reflect.Int32: + temp := int32(id) + v = &temp + case reflect.Int: + temp := int(id) + v = &temp + case reflect.Int64: + temp := id + v = &temp + case reflect.Uint16: + temp := uint16(id) + v = &temp + case reflect.Uint32: + temp := uint32(id) + v = &temp + case reflect.Uint64: + temp := uint64(id) + v = &temp + case reflect.Uint: + temp := uint(id) + v = &temp + } + + if tp.Kind() == reflect.Ptr { + return reflect.ValueOf(v).Convert(tp) + } + return reflect.ValueOf(v).Elem().Convert(tp) +} + +func int64ToInt(id int64, tp reflect.Type) interface{} { + return int64ToIntValue(id, tp).Interface() +} + +func isPKZero(pk core.PK) bool { + for _, k := range pk { + if isZero(k) { + return true + } + } + return false +} + +func indexNoCase(s, sep string) int { + return strings.Index(strings.ToLower(s), strings.ToLower(sep)) +} + +func splitNoCase(s, sep string) []string { + idx := indexNoCase(s, sep) + if idx < 0 { + return []string{s} + } + return strings.Split(s, s[idx:idx+len(sep)]) +} + +func splitNNoCase(s, sep string, n int) []string { + idx := indexNoCase(s, sep) + if idx < 0 { + return []string{s} + } + return strings.SplitN(s, s[idx:idx+len(sep)], n) +} + +func makeArray(elem string, count int) []string { + res := make([]string, count) + for i := 0; i < count; i++ { + res[i] = elem + } + return res +} + +func rValue(bean interface{}) reflect.Value { + return reflect.Indirect(reflect.ValueOf(bean)) +} + +func rType(bean interface{}) reflect.Type { + sliceValue := reflect.Indirect(reflect.ValueOf(bean)) + //return reflect.TypeOf(sliceValue.Interface()) + return sliceValue.Type() +} + +func structName(v reflect.Type) string { + for v.Kind() == reflect.Ptr { + v = v.Elem() + } + return v.Name() +} + +func col2NewCols(columns ...string) []string { + newColumns := make([]string, 0, len(columns)) + for _, col := range columns { + col = strings.Replace(col, "`", "", -1) + col = strings.Replace(col, `"`, "", -1) + ccols := strings.Split(col, ",") + for _, c := range ccols { + newColumns = append(newColumns, strings.TrimSpace(c)) + } + } + return newColumns +} + +func sliceEq(left, right []string) bool { + if len(left) != len(right) { + return false + } + sort.Sort(sort.StringSlice(left)) + sort.Sort(sort.StringSlice(right)) + for i := 0; i < len(left); i++ { + if left[i] != right[i] { + return false + } + } + return true +} + +func setColumnInt(bean interface{}, col *core.Column, t int64) { + v, err := col.ValueOf(bean) + if err != nil { + return + } + if v.CanSet() { + switch v.Type().Kind() { + case reflect.Int, reflect.Int64, reflect.Int32: + v.SetInt(t) + case reflect.Uint, reflect.Uint64, reflect.Uint32: + v.SetUint(uint64(t)) + } + } +} + +func setColumnTime(bean interface{}, col *core.Column, t time.Time) { + v, err := col.ValueOf(bean) + if err != nil { + return + } + if v.CanSet() { + switch v.Type().Kind() { + case reflect.Struct: + v.Set(reflect.ValueOf(t).Convert(v.Type())) + case reflect.Int, reflect.Int64, reflect.Int32: + v.SetInt(t.Unix()) + case reflect.Uint, reflect.Uint64, reflect.Uint32: + v.SetUint(uint64(t.Unix())) + } + } +} + +func genCols(table *core.Table, session *Session, bean interface{}, useCol bool, includeQuote bool) ([]string, []interface{}, error) { + colNames := make([]string, 0, len(table.ColumnsSeq())) + args := make([]interface{}, 0, len(table.ColumnsSeq())) + + for _, col := range table.Columns() { + if useCol && !col.IsVersion && !col.IsCreated && !col.IsUpdated { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { + continue + } + } + if col.MapType == core.ONLYFROMDB { + continue + } + + fieldValuePtr, err := col.ValueOf(bean) + if err != nil { + return nil, nil, err + } + fieldValue := *fieldValuePtr + + if col.IsAutoIncrement { + switch fieldValue.Type().Kind() { + case reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int, reflect.Int64: + if fieldValue.Int() == 0 { + continue + } + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint, reflect.Uint64: + if fieldValue.Uint() == 0 { + continue + } + case reflect.String: + if len(fieldValue.String()) == 0 { + continue + } + case reflect.Ptr: + if fieldValue.Pointer() == 0 { + continue + } + } + } + + if col.IsDeleted { + continue + } + + if session.statement.ColumnStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { + continue + } else if _, ok := session.statement.incrColumns[col.Name]; ok { + continue + } else if _, ok := session.statement.decrColumns[col.Name]; ok { + continue + } + } + if session.statement.OmitStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); ok { + continue + } + } + + // !evalphobia! set fieldValue as nil when column is nullable and zero-value + if _, ok := getFlagForColumn(session.statement.nullableMap, col); ok { + if col.Nullable && isZero(fieldValue.Interface()) { + var nilValue *int + fieldValue = reflect.ValueOf(nilValue) + } + } + + if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime /*&& isZero(fieldValue.Interface())*/ { + // if time is non-empty, then set to auto time + val, t := session.engine.nowTime(col) + args = append(args, val) + + var colName = col.Name + session.afterClosures = append(session.afterClosures, func(bean interface{}) { + col := table.GetColumn(colName) + setColumnTime(bean, col, t) + }) + } else if col.IsVersion && session.statement.checkVersion { + args = append(args, 1) + } else { + arg, err := session.value2Interface(col, fieldValue) + if err != nil { + return colNames, args, err + } + args = append(args, arg) + } + + if includeQuote { + colNames = append(colNames, session.engine.Quote(col.Name)+" = ?") + } else { + colNames = append(colNames, col.Name) + } + } + return colNames, args, nil +} + +func indexName(tableName, idxName string) string { + return fmt.Sprintf("IDX_%v_%v", tableName, idxName) +} + +func getFlagForColumn(m map[string]bool, col *core.Column) (val bool, has bool) { + if len(m) == 0 { + return false, false + } + + n := len(col.Name) + + for mk := range m { + if len(mk) != n { + continue + } + if strings.EqualFold(mk, col.Name) { + return m[mk], true + } + } + + return false, false +} diff --git a/vendor/github.com/go-xorm/xorm/helpler_time.go b/vendor/github.com/go-xorm/xorm/helpler_time.go new file mode 100644 index 000000000..f4013e27e --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/helpler_time.go @@ -0,0 +1,21 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import "time" + +const ( + zeroTime0 = "0000-00-00 00:00:00" + zeroTime1 = "0001-01-01 00:00:00" +) + +func formatTime(t time.Time) string { + return t.Format("2006-01-02 15:04:05") +} + +func isTimeZero(t time.Time) bool { + return t.IsZero() || formatTime(t) == zeroTime0 || + formatTime(t) == zeroTime1 +} diff --git a/vendor/github.com/go-xorm/xorm/logger.go b/vendor/github.com/go-xorm/xorm/logger.go new file mode 100644 index 000000000..727d030a4 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/logger.go @@ -0,0 +1,187 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "fmt" + "io" + "log" + + "github.com/go-xorm/core" +) + +// default log options +const ( + DEFAULT_LOG_PREFIX = "[xorm]" + DEFAULT_LOG_FLAG = log.Ldate | log.Lmicroseconds + DEFAULT_LOG_LEVEL = core.LOG_DEBUG +) + +var _ core.ILogger = DiscardLogger{} + +// DiscardLogger don't log implementation for core.ILogger +type DiscardLogger struct{} + +// Debug empty implementation +func (DiscardLogger) Debug(v ...interface{}) {} + +// Debugf empty implementation +func (DiscardLogger) Debugf(format string, v ...interface{}) {} + +// Error empty implementation +func (DiscardLogger) Error(v ...interface{}) {} + +// Errorf empty implementation +func (DiscardLogger) Errorf(format string, v ...interface{}) {} + +// Info empty implementation +func (DiscardLogger) Info(v ...interface{}) {} + +// Infof empty implementation +func (DiscardLogger) Infof(format string, v ...interface{}) {} + +// Warn empty implementation +func (DiscardLogger) Warn(v ...interface{}) {} + +// Warnf empty implementation +func (DiscardLogger) Warnf(format string, v ...interface{}) {} + +// Level empty implementation +func (DiscardLogger) Level() core.LogLevel { + return core.LOG_UNKNOWN +} + +// SetLevel empty implementation +func (DiscardLogger) SetLevel(l core.LogLevel) {} + +// ShowSQL empty implementation +func (DiscardLogger) ShowSQL(show ...bool) {} + +// IsShowSQL empty implementation +func (DiscardLogger) IsShowSQL() bool { + return false +} + +// SimpleLogger is the default implment of core.ILogger +type SimpleLogger struct { + DEBUG *log.Logger + ERR *log.Logger + INFO *log.Logger + WARN *log.Logger + level core.LogLevel + showSQL bool +} + +var _ core.ILogger = &SimpleLogger{} + +// NewSimpleLogger use a special io.Writer as logger output +func NewSimpleLogger(out io.Writer) *SimpleLogger { + return NewSimpleLogger2(out, DEFAULT_LOG_PREFIX, DEFAULT_LOG_FLAG) +} + +// NewSimpleLogger2 let you customrize your logger prefix and flag +func NewSimpleLogger2(out io.Writer, prefix string, flag int) *SimpleLogger { + return NewSimpleLogger3(out, prefix, flag, DEFAULT_LOG_LEVEL) +} + +// NewSimpleLogger3 let you customrize your logger prefix and flag and logLevel +func NewSimpleLogger3(out io.Writer, prefix string, flag int, l core.LogLevel) *SimpleLogger { + return &SimpleLogger{ + DEBUG: log.New(out, fmt.Sprintf("%s [debug] ", prefix), flag), + ERR: log.New(out, fmt.Sprintf("%s [error] ", prefix), flag), + INFO: log.New(out, fmt.Sprintf("%s [info] ", prefix), flag), + WARN: log.New(out, fmt.Sprintf("%s [warn] ", prefix), flag), + level: l, + } +} + +// Error implement core.ILogger +func (s *SimpleLogger) Error(v ...interface{}) { + if s.level <= core.LOG_ERR { + s.ERR.Output(2, fmt.Sprint(v...)) + } + return +} + +// Errorf implement core.ILogger +func (s *SimpleLogger) Errorf(format string, v ...interface{}) { + if s.level <= core.LOG_ERR { + s.ERR.Output(2, fmt.Sprintf(format, v...)) + } + return +} + +// Debug implement core.ILogger +func (s *SimpleLogger) Debug(v ...interface{}) { + if s.level <= core.LOG_DEBUG { + s.DEBUG.Output(2, fmt.Sprint(v...)) + } + return +} + +// Debugf implement core.ILogger +func (s *SimpleLogger) Debugf(format string, v ...interface{}) { + if s.level <= core.LOG_DEBUG { + s.DEBUG.Output(2, fmt.Sprintf(format, v...)) + } + return +} + +// Info implement core.ILogger +func (s *SimpleLogger) Info(v ...interface{}) { + if s.level <= core.LOG_INFO { + s.INFO.Output(2, fmt.Sprint(v...)) + } + return +} + +// Infof implement core.ILogger +func (s *SimpleLogger) Infof(format string, v ...interface{}) { + if s.level <= core.LOG_INFO { + s.INFO.Output(2, fmt.Sprintf(format, v...)) + } + return +} + +// Warn implement core.ILogger +func (s *SimpleLogger) Warn(v ...interface{}) { + if s.level <= core.LOG_WARNING { + s.WARN.Output(2, fmt.Sprint(v...)) + } + return +} + +// Warnf implement core.ILogger +func (s *SimpleLogger) Warnf(format string, v ...interface{}) { + if s.level <= core.LOG_WARNING { + s.WARN.Output(2, fmt.Sprintf(format, v...)) + } + return +} + +// Level implement core.ILogger +func (s *SimpleLogger) Level() core.LogLevel { + return s.level +} + +// SetLevel implement core.ILogger +func (s *SimpleLogger) SetLevel(l core.LogLevel) { + s.level = l + return +} + +// ShowSQL implement core.ILogger +func (s *SimpleLogger) ShowSQL(show ...bool) { + if len(show) == 0 { + s.showSQL = true + return + } + s.showSQL = show[0] +} + +// IsShowSQL implement core.ILogger +func (s *SimpleLogger) IsShowSQL() bool { + return s.showSQL +} diff --git a/vendor/github.com/go-xorm/xorm/pg_reserved.txt b/vendor/github.com/go-xorm/xorm/pg_reserved.txt new file mode 100644 index 000000000..720ed377b --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/pg_reserved.txt @@ -0,0 +1,746 @@ +A non-reserved non-reserved +ABORT non-reserved +ABS reserved reserved +ABSENT non-reserved non-reserved +ABSOLUTE non-reserved non-reserved non-reserved reserved +ACCESS non-reserved +ACCORDING non-reserved non-reserved +ACTION non-reserved non-reserved non-reserved reserved +ADA non-reserved non-reserved non-reserved +ADD non-reserved non-reserved non-reserved reserved +ADMIN non-reserved non-reserved non-reserved +AFTER non-reserved non-reserved non-reserved +AGGREGATE non-reserved +ALL reserved reserved reserved reserved +ALLOCATE reserved reserved reserved +ALSO non-reserved +ALTER non-reserved reserved reserved reserved +ALWAYS non-reserved non-reserved non-reserved +ANALYSE reserved +ANALYZE reserved +AND reserved reserved reserved reserved +ANY reserved reserved reserved reserved +ARE reserved reserved reserved +ARRAY reserved reserved reserved +ARRAY_AGG reserved reserved +ARRAY_MAX_CARDINALITY reserved +AS reserved reserved reserved reserved +ASC reserved non-reserved non-reserved reserved +ASENSITIVE reserved reserved +ASSERTION non-reserved non-reserved non-reserved reserved +ASSIGNMENT non-reserved non-reserved non-reserved +ASYMMETRIC reserved reserved reserved +AT non-reserved reserved reserved reserved +ATOMIC reserved reserved +ATTRIBUTE non-reserved non-reserved non-reserved +ATTRIBUTES non-reserved non-reserved +AUTHORIZATION reserved (can be function or type) reserved reserved reserved +AVG reserved reserved reserved +BACKWARD non-reserved +BASE64 non-reserved non-reserved +BEFORE non-reserved non-reserved non-reserved +BEGIN non-reserved reserved reserved reserved +BEGIN_FRAME reserved +BEGIN_PARTITION reserved +BERNOULLI non-reserved non-reserved +BETWEEN non-reserved (cannot be function or type) reserved reserved reserved +BIGINT non-reserved (cannot be function or type) reserved reserved +BINARY reserved (can be function or type) reserved reserved +BIT non-reserved (cannot be function or type) reserved +BIT_LENGTH reserved +BLOB reserved reserved +BLOCKED non-reserved non-reserved +BOM non-reserved non-reserved +BOOLEAN non-reserved (cannot be function or type) reserved reserved +BOTH reserved reserved reserved reserved +BREADTH non-reserved non-reserved +BY non-reserved reserved reserved reserved +C non-reserved non-reserved non-reserved +CACHE non-reserved +CALL reserved reserved +CALLED non-reserved reserved reserved +CARDINALITY reserved reserved +CASCADE non-reserved non-reserved non-reserved reserved +CASCADED non-reserved reserved reserved reserved +CASE reserved reserved reserved reserved +CAST reserved reserved reserved reserved +CATALOG non-reserved non-reserved non-reserved reserved +CATALOG_NAME non-reserved non-reserved non-reserved +CEIL reserved reserved +CEILING reserved reserved +CHAIN non-reserved non-reserved non-reserved +CHAR non-reserved (cannot be function or type) reserved reserved reserved +CHARACTER non-reserved (cannot be function or type) reserved reserved reserved +CHARACTERISTICS non-reserved non-reserved non-reserved +CHARACTERS non-reserved non-reserved +CHARACTER_LENGTH reserved reserved reserved +CHARACTER_SET_CATALOG non-reserved non-reserved non-reserved +CHARACTER_SET_NAME non-reserved non-reserved non-reserved +CHARACTER_SET_SCHEMA non-reserved non-reserved non-reserved +CHAR_LENGTH reserved reserved reserved +CHECK reserved reserved reserved reserved +CHECKPOINT non-reserved +CLASS non-reserved +CLASS_ORIGIN non-reserved non-reserved non-reserved +CLOB reserved reserved +CLOSE non-reserved reserved reserved reserved +CLUSTER non-reserved +COALESCE non-reserved (cannot be function or type) reserved reserved reserved +COBOL non-reserved non-reserved non-reserved +COLLATE reserved reserved reserved reserved +COLLATION reserved (can be function or type) non-reserved non-reserved reserved +COLLATION_CATALOG non-reserved non-reserved non-reserved +COLLATION_NAME non-reserved non-reserved non-reserved +COLLATION_SCHEMA non-reserved non-reserved non-reserved +COLLECT reserved reserved +COLUMN reserved reserved reserved reserved +COLUMNS non-reserved non-reserved +COLUMN_NAME non-reserved non-reserved non-reserved +COMMAND_FUNCTION non-reserved non-reserved non-reserved +COMMAND_FUNCTION_CODE non-reserved non-reserved +COMMENT non-reserved +COMMENTS non-reserved +COMMIT non-reserved reserved reserved reserved +COMMITTED non-reserved non-reserved non-reserved non-reserved +CONCURRENTLY reserved (can be function or type) +CONDITION reserved reserved +CONDITION_NUMBER non-reserved non-reserved non-reserved +CONFIGURATION non-reserved +CONNECT reserved reserved reserved +CONNECTION non-reserved non-reserved non-reserved reserved +CONNECTION_NAME non-reserved non-reserved non-reserved +CONSTRAINT reserved reserved reserved reserved +CONSTRAINTS non-reserved non-reserved non-reserved reserved +CONSTRAINT_CATALOG non-reserved non-reserved non-reserved +CONSTRAINT_NAME non-reserved non-reserved non-reserved +CONSTRAINT_SCHEMA non-reserved non-reserved non-reserved +CONSTRUCTOR non-reserved non-reserved +CONTAINS reserved non-reserved +CONTENT non-reserved non-reserved non-reserved +CONTINUE non-reserved non-reserved non-reserved reserved +CONTROL non-reserved non-reserved +CONVERSION non-reserved +CONVERT reserved reserved reserved +COPY non-reserved +CORR reserved reserved +CORRESPONDING reserved reserved reserved +COST non-reserved +COUNT reserved reserved reserved +COVAR_POP reserved reserved +COVAR_SAMP reserved reserved +CREATE reserved reserved reserved reserved +CROSS reserved (can be function or type) reserved reserved reserved +CSV non-reserved +CUBE reserved reserved +CUME_DIST reserved reserved +CURRENT non-reserved reserved reserved reserved +CURRENT_CATALOG reserved reserved reserved +CURRENT_DATE reserved reserved reserved reserved +CURRENT_DEFAULT_TRANSFORM_GROUP reserved reserved +CURRENT_PATH reserved reserved +CURRENT_ROLE reserved reserved reserved +CURRENT_ROW reserved +CURRENT_SCHEMA reserved (can be function or type) reserved reserved +CURRENT_TIME reserved reserved reserved reserved +CURRENT_TIMESTAMP reserved reserved reserved reserved +CURRENT_TRANSFORM_GROUP_FOR_TYPE reserved reserved +CURRENT_USER reserved reserved reserved reserved +CURSOR non-reserved reserved reserved reserved +CURSOR_NAME non-reserved non-reserved non-reserved +CYCLE non-reserved reserved reserved +DATA non-reserved non-reserved non-reserved non-reserved +DATABASE non-reserved +DATALINK reserved reserved +DATE reserved reserved reserved +DATETIME_INTERVAL_CODE non-reserved non-reserved non-reserved +DATETIME_INTERVAL_PRECISION non-reserved non-reserved non-reserved +DAY non-reserved reserved reserved reserved +DB non-reserved non-reserved +DEALLOCATE non-reserved reserved reserved reserved +DEC non-reserved (cannot be function or type) reserved reserved reserved +DECIMAL non-reserved (cannot be function or type) reserved reserved reserved +DECLARE non-reserved reserved reserved reserved +DEFAULT reserved reserved reserved reserved +DEFAULTS non-reserved non-reserved non-reserved +DEFERRABLE reserved non-reserved non-reserved reserved +DEFERRED non-reserved non-reserved non-reserved reserved +DEFINED non-reserved non-reserved +DEFINER non-reserved non-reserved non-reserved +DEGREE non-reserved non-reserved +DELETE non-reserved reserved reserved reserved +DELIMITER non-reserved +DELIMITERS non-reserved +DENSE_RANK reserved reserved +DEPTH non-reserved non-reserved +DEREF reserved reserved +DERIVED non-reserved non-reserved +DESC reserved non-reserved non-reserved reserved +DESCRIBE reserved reserved reserved +DESCRIPTOR non-reserved non-reserved reserved +DETERMINISTIC reserved reserved +DIAGNOSTICS non-reserved non-reserved reserved +DICTIONARY non-reserved +DISABLE non-reserved +DISCARD non-reserved +DISCONNECT reserved reserved reserved +DISPATCH non-reserved non-reserved +DISTINCT reserved reserved reserved reserved +DLNEWCOPY reserved reserved +DLPREVIOUSCOPY reserved reserved +DLURLCOMPLETE reserved reserved +DLURLCOMPLETEONLY reserved reserved +DLURLCOMPLETEWRITE reserved reserved +DLURLPATH reserved reserved +DLURLPATHONLY reserved reserved +DLURLPATHWRITE reserved reserved +DLURLSCHEME reserved reserved +DLURLSERVER reserved reserved +DLVALUE reserved reserved +DO reserved +DOCUMENT non-reserved non-reserved non-reserved +DOMAIN non-reserved non-reserved non-reserved reserved +DOUBLE non-reserved reserved reserved reserved +DROP non-reserved reserved reserved reserved +DYNAMIC reserved reserved +DYNAMIC_FUNCTION non-reserved non-reserved non-reserved +DYNAMIC_FUNCTION_CODE non-reserved non-reserved +EACH non-reserved reserved reserved +ELEMENT reserved reserved +ELSE reserved reserved reserved reserved +EMPTY non-reserved non-reserved +ENABLE non-reserved +ENCODING non-reserved non-reserved non-reserved +ENCRYPTED non-reserved +END reserved reserved reserved reserved +END-EXEC reserved reserved reserved +END_FRAME reserved +END_PARTITION reserved +ENFORCED non-reserved +ENUM non-reserved +EQUALS reserved non-reserved +ESCAPE non-reserved reserved reserved reserved +EVENT non-reserved +EVERY reserved reserved +EXCEPT reserved reserved reserved reserved +EXCEPTION reserved +EXCLUDE non-reserved non-reserved non-reserved +EXCLUDING non-reserved non-reserved non-reserved +EXCLUSIVE non-reserved +EXEC reserved reserved reserved +EXECUTE non-reserved reserved reserved reserved +EXISTS non-reserved (cannot be function or type) reserved reserved reserved +EXP reserved reserved +EXPLAIN non-reserved +EXPRESSION non-reserved +EXTENSION non-reserved +EXTERNAL non-reserved reserved reserved reserved +EXTRACT non-reserved (cannot be function or type) reserved reserved reserved +FALSE reserved reserved reserved reserved +FAMILY non-reserved +FETCH reserved reserved reserved reserved +FILE non-reserved non-reserved +FILTER reserved reserved +FINAL non-reserved non-reserved +FIRST non-reserved non-reserved non-reserved reserved +FIRST_VALUE reserved reserved +FLAG non-reserved non-reserved +FLOAT non-reserved (cannot be function or type) reserved reserved reserved +FLOOR reserved reserved +FOLLOWING non-reserved non-reserved non-reserved +FOR reserved reserved reserved reserved +FORCE non-reserved +FOREIGN reserved reserved reserved reserved +FORTRAN non-reserved non-reserved non-reserved +FORWARD non-reserved +FOUND non-reserved non-reserved reserved +FRAME_ROW reserved +FREE reserved reserved +FREEZE reserved (can be function or type) +FROM reserved reserved reserved reserved +FS non-reserved non-reserved +FULL reserved (can be function or type) reserved reserved reserved +FUNCTION non-reserved reserved reserved +FUNCTIONS non-reserved +FUSION reserved reserved +G non-reserved non-reserved +GENERAL non-reserved non-reserved +GENERATED non-reserved non-reserved +GET reserved reserved reserved +GLOBAL non-reserved reserved reserved reserved +GO non-reserved non-reserved reserved +GOTO non-reserved non-reserved reserved +GRANT reserved reserved reserved reserved +GRANTED non-reserved non-reserved non-reserved +GREATEST non-reserved (cannot be function or type) +GROUP reserved reserved reserved reserved +GROUPING reserved reserved +GROUPS reserved +HANDLER non-reserved +HAVING reserved reserved reserved reserved +HEADER non-reserved +HEX non-reserved non-reserved +HIERARCHY non-reserved non-reserved +HOLD non-reserved reserved reserved +HOUR non-reserved reserved reserved reserved +ID non-reserved non-reserved +IDENTITY non-reserved reserved reserved reserved +IF non-reserved +IGNORE non-reserved non-reserved +ILIKE reserved (can be function or type) +IMMEDIATE non-reserved non-reserved non-reserved reserved +IMMEDIATELY non-reserved +IMMUTABLE non-reserved +IMPLEMENTATION non-reserved non-reserved +IMPLICIT non-reserved +IMPORT reserved reserved +IN reserved reserved reserved reserved +INCLUDING non-reserved non-reserved non-reserved +INCREMENT non-reserved non-reserved non-reserved +INDENT non-reserved non-reserved +INDEX non-reserved +INDEXES non-reserved +INDICATOR reserved reserved reserved +INHERIT non-reserved +INHERITS non-reserved +INITIALLY reserved non-reserved non-reserved reserved +INLINE non-reserved +INNER reserved (can be function or type) reserved reserved reserved +INOUT non-reserved (cannot be function or type) reserved reserved +INPUT non-reserved non-reserved non-reserved reserved +INSENSITIVE non-reserved reserved reserved reserved +INSERT non-reserved reserved reserved reserved +INSTANCE non-reserved non-reserved +INSTANTIABLE non-reserved non-reserved +INSTEAD non-reserved non-reserved non-reserved +INT non-reserved (cannot be function or type) reserved reserved reserved +INTEGER non-reserved (cannot be function or type) reserved reserved reserved +INTEGRITY non-reserved non-reserved +INTERSECT reserved reserved reserved reserved +INTERSECTION reserved reserved +INTERVAL non-reserved (cannot be function or type) reserved reserved reserved +INTO reserved reserved reserved reserved +INVOKER non-reserved non-reserved non-reserved +IS reserved (can be function or type) reserved reserved reserved +ISNULL reserved (can be function or type) +ISOLATION non-reserved non-reserved non-reserved reserved +JOIN reserved (can be function or type) reserved reserved reserved +K non-reserved non-reserved +KEY non-reserved non-reserved non-reserved reserved +KEY_MEMBER non-reserved non-reserved +KEY_TYPE non-reserved non-reserved +LABEL non-reserved +LAG reserved reserved +LANGUAGE non-reserved reserved reserved reserved +LARGE non-reserved reserved reserved +LAST non-reserved non-reserved non-reserved reserved +LAST_VALUE reserved reserved +LATERAL reserved reserved reserved +LC_COLLATE non-reserved +LC_CTYPE non-reserved +LEAD reserved reserved +LEADING reserved reserved reserved reserved +LEAKPROOF non-reserved +LEAST non-reserved (cannot be function or type) +LEFT reserved (can be function or type) reserved reserved reserved +LENGTH non-reserved non-reserved non-reserved +LEVEL non-reserved non-reserved non-reserved reserved +LIBRARY non-reserved non-reserved +LIKE reserved (can be function or type) reserved reserved reserved +LIKE_REGEX reserved reserved +LIMIT reserved non-reserved non-reserved +LINK non-reserved non-reserved +LISTEN non-reserved +LN reserved reserved +LOAD non-reserved +LOCAL non-reserved reserved reserved reserved +LOCALTIME reserved reserved reserved +LOCALTIMESTAMP reserved reserved reserved +LOCATION non-reserved non-reserved non-reserved +LOCATOR non-reserved non-reserved +LOCK non-reserved +LOWER reserved reserved reserved +M non-reserved non-reserved +MAP non-reserved non-reserved +MAPPING non-reserved non-reserved non-reserved +MATCH non-reserved reserved reserved reserved +MATCHED non-reserved non-reserved +MATERIALIZED non-reserved +MAX reserved reserved reserved +MAXVALUE non-reserved non-reserved non-reserved +MAX_CARDINALITY reserved +MEMBER reserved reserved +MERGE reserved reserved +MESSAGE_LENGTH non-reserved non-reserved non-reserved +MESSAGE_OCTET_LENGTH non-reserved non-reserved non-reserved +MESSAGE_TEXT non-reserved non-reserved non-reserved +METHOD reserved reserved +MIN reserved reserved reserved +MINUTE non-reserved reserved reserved reserved +MINVALUE non-reserved non-reserved non-reserved +MOD reserved reserved +MODE non-reserved +MODIFIES reserved reserved +MODULE reserved reserved reserved +MONTH non-reserved reserved reserved reserved +MORE non-reserved non-reserved non-reserved +MOVE non-reserved +MULTISET reserved reserved +MUMPS non-reserved non-reserved non-reserved +NAME non-reserved non-reserved non-reserved non-reserved +NAMES non-reserved non-reserved non-reserved reserved +NAMESPACE non-reserved non-reserved +NATIONAL non-reserved (cannot be function or type) reserved reserved reserved +NATURAL reserved (can be function or type) reserved reserved reserved +NCHAR non-reserved (cannot be function or type) reserved reserved reserved +NCLOB reserved reserved +NESTING non-reserved non-reserved +NEW reserved reserved +NEXT non-reserved non-reserved non-reserved reserved +NFC non-reserved non-reserved +NFD non-reserved non-reserved +NFKC non-reserved non-reserved +NFKD non-reserved non-reserved +NIL non-reserved non-reserved +NO non-reserved reserved reserved reserved +NONE non-reserved (cannot be function or type) reserved reserved +NORMALIZE reserved reserved +NORMALIZED non-reserved non-reserved +NOT reserved reserved reserved reserved +NOTHING non-reserved +NOTIFY non-reserved +NOTNULL reserved (can be function or type) +NOWAIT non-reserved +NTH_VALUE reserved reserved +NTILE reserved reserved +NULL reserved reserved reserved reserved +NULLABLE non-reserved non-reserved non-reserved +NULLIF non-reserved (cannot be function or type) reserved reserved reserved +NULLS non-reserved non-reserved non-reserved +NUMBER non-reserved non-reserved non-reserved +NUMERIC non-reserved (cannot be function or type) reserved reserved reserved +OBJECT non-reserved non-reserved non-reserved +OCCURRENCES_REGEX reserved reserved +OCTETS non-reserved non-reserved +OCTET_LENGTH reserved reserved reserved +OF non-reserved reserved reserved reserved +OFF non-reserved non-reserved non-reserved +OFFSET reserved reserved reserved +OIDS non-reserved +OLD reserved reserved +ON reserved reserved reserved reserved +ONLY reserved reserved reserved reserved +OPEN reserved reserved reserved +OPERATOR non-reserved +OPTION non-reserved non-reserved non-reserved reserved +OPTIONS non-reserved non-reserved non-reserved +OR reserved reserved reserved reserved +ORDER reserved reserved reserved reserved +ORDERING non-reserved non-reserved +ORDINALITY non-reserved non-reserved +OTHERS non-reserved non-reserved +OUT non-reserved (cannot be function or type) reserved reserved +OUTER reserved (can be function or type) reserved reserved reserved +OUTPUT non-reserved non-reserved reserved +OVER reserved (can be function or type) reserved reserved +OVERLAPS reserved (can be function or type) reserved reserved reserved +OVERLAY non-reserved (cannot be function or type) reserved reserved +OVERRIDING non-reserved non-reserved +OWNED non-reserved +OWNER non-reserved +P non-reserved non-reserved +PAD non-reserved non-reserved reserved +PARAMETER reserved reserved +PARAMETER_MODE non-reserved non-reserved +PARAMETER_NAME non-reserved non-reserved +PARAMETER_ORDINAL_POSITION non-reserved non-reserved +PARAMETER_SPECIFIC_CATALOG non-reserved non-reserved +PARAMETER_SPECIFIC_NAME non-reserved non-reserved +PARAMETER_SPECIFIC_SCHEMA non-reserved non-reserved +PARSER non-reserved +PARTIAL non-reserved non-reserved non-reserved reserved +PARTITION non-reserved reserved reserved +PASCAL non-reserved non-reserved non-reserved +PASSING non-reserved non-reserved non-reserved +PASSTHROUGH non-reserved non-reserved +PASSWORD non-reserved +PATH non-reserved non-reserved +PERCENT reserved +PERCENTILE_CONT reserved reserved +PERCENTILE_DISC reserved reserved +PERCENT_RANK reserved reserved +PERIOD reserved +PERMISSION non-reserved non-reserved +PLACING reserved non-reserved non-reserved +PLANS non-reserved +PLI non-reserved non-reserved non-reserved +PORTION reserved +POSITION non-reserved (cannot be function or type) reserved reserved reserved +POSITION_REGEX reserved reserved +POWER reserved reserved +PRECEDES reserved +PRECEDING non-reserved non-reserved non-reserved +PRECISION non-reserved (cannot be function or type) reserved reserved reserved +PREPARE non-reserved reserved reserved reserved +PREPARED non-reserved +PRESERVE non-reserved non-reserved non-reserved reserved +PRIMARY reserved reserved reserved reserved +PRIOR non-reserved non-reserved non-reserved reserved +PRIVILEGES non-reserved non-reserved non-reserved reserved +PROCEDURAL non-reserved +PROCEDURE non-reserved reserved reserved reserved +PROGRAM non-reserved +PUBLIC non-reserved non-reserved reserved +QUOTE non-reserved +RANGE non-reserved reserved reserved +RANK reserved reserved +READ non-reserved non-reserved non-reserved reserved +READS reserved reserved +REAL non-reserved (cannot be function or type) reserved reserved reserved +REASSIGN non-reserved +RECHECK non-reserved +RECOVERY non-reserved non-reserved +RECURSIVE non-reserved reserved reserved +REF non-reserved reserved reserved +REFERENCES reserved reserved reserved reserved +REFERENCING reserved reserved +REFRESH non-reserved +REGR_AVGX reserved reserved +REGR_AVGY reserved reserved +REGR_COUNT reserved reserved +REGR_INTERCEPT reserved reserved +REGR_R2 reserved reserved +REGR_SLOPE reserved reserved +REGR_SXX reserved reserved +REGR_SXY reserved reserved +REGR_SYY reserved reserved +REINDEX non-reserved +RELATIVE non-reserved non-reserved non-reserved reserved +RELEASE non-reserved reserved reserved +RENAME non-reserved +REPEATABLE non-reserved non-reserved non-reserved non-reserved +REPLACE non-reserved +REPLICA non-reserved +REQUIRING non-reserved non-reserved +RESET non-reserved +RESPECT non-reserved non-reserved +RESTART non-reserved non-reserved non-reserved +RESTORE non-reserved non-reserved +RESTRICT non-reserved non-reserved non-reserved reserved +RESULT reserved reserved +RETURN reserved reserved +RETURNED_CARDINALITY non-reserved non-reserved +RETURNED_LENGTH non-reserved non-reserved non-reserved +RETURNED_OCTET_LENGTH non-reserved non-reserved non-reserved +RETURNED_SQLSTATE non-reserved non-reserved non-reserved +RETURNING reserved non-reserved non-reserved +RETURNS non-reserved reserved reserved +REVOKE non-reserved reserved reserved reserved +RIGHT reserved (can be function or type) reserved reserved reserved +ROLE non-reserved non-reserved non-reserved +ROLLBACK non-reserved reserved reserved reserved +ROLLUP reserved reserved +ROUTINE non-reserved non-reserved +ROUTINE_CATALOG non-reserved non-reserved +ROUTINE_NAME non-reserved non-reserved +ROUTINE_SCHEMA non-reserved non-reserved +ROW non-reserved (cannot be function or type) reserved reserved +ROWS non-reserved reserved reserved reserved +ROW_COUNT non-reserved non-reserved non-reserved +ROW_NUMBER reserved reserved +RULE non-reserved +SAVEPOINT non-reserved reserved reserved +SCALE non-reserved non-reserved non-reserved +SCHEMA non-reserved non-reserved non-reserved reserved +SCHEMA_NAME non-reserved non-reserved non-reserved +SCOPE reserved reserved +SCOPE_CATALOG non-reserved non-reserved +SCOPE_NAME non-reserved non-reserved +SCOPE_SCHEMA non-reserved non-reserved +SCROLL non-reserved reserved reserved reserved +SEARCH non-reserved reserved reserved +SECOND non-reserved reserved reserved reserved +SECTION non-reserved non-reserved reserved +SECURITY non-reserved non-reserved non-reserved +SELECT reserved reserved reserved reserved +SELECTIVE non-reserved non-reserved +SELF non-reserved non-reserved +SENSITIVE reserved reserved +SEQUENCE non-reserved non-reserved non-reserved +SEQUENCES non-reserved +SERIALIZABLE non-reserved non-reserved non-reserved non-reserved +SERVER non-reserved non-reserved non-reserved +SERVER_NAME non-reserved non-reserved non-reserved +SESSION non-reserved non-reserved non-reserved reserved +SESSION_USER reserved reserved reserved reserved +SET non-reserved reserved reserved reserved +SETOF non-reserved (cannot be function or type) +SETS non-reserved non-reserved +SHARE non-reserved +SHOW non-reserved +SIMILAR reserved (can be function or type) reserved reserved +SIMPLE non-reserved non-reserved non-reserved +SIZE non-reserved non-reserved reserved +SMALLINT non-reserved (cannot be function or type) reserved reserved reserved +SNAPSHOT non-reserved +SOME reserved reserved reserved reserved +SOURCE non-reserved non-reserved +SPACE non-reserved non-reserved reserved +SPECIFIC reserved reserved +SPECIFICTYPE reserved reserved +SPECIFIC_NAME non-reserved non-reserved +SQL reserved reserved reserved +SQLCODE reserved +SQLERROR reserved +SQLEXCEPTION reserved reserved +SQLSTATE reserved reserved reserved +SQLWARNING reserved reserved +SQRT reserved reserved +STABLE non-reserved +STANDALONE non-reserved non-reserved non-reserved +START non-reserved reserved reserved +STATE non-reserved non-reserved +STATEMENT non-reserved non-reserved non-reserved +STATIC reserved reserved +STATISTICS non-reserved +STDDEV_POP reserved reserved +STDDEV_SAMP reserved reserved +STDIN non-reserved +STDOUT non-reserved +STORAGE non-reserved +STRICT non-reserved +STRIP non-reserved non-reserved non-reserved +STRUCTURE non-reserved non-reserved +STYLE non-reserved non-reserved +SUBCLASS_ORIGIN non-reserved non-reserved non-reserved +SUBMULTISET reserved reserved +SUBSTRING non-reserved (cannot be function or type) reserved reserved reserved +SUBSTRING_REGEX reserved reserved +SUCCEEDS reserved +SUM reserved reserved reserved +SYMMETRIC reserved reserved reserved +SYSID non-reserved +SYSTEM non-reserved reserved reserved +SYSTEM_TIME reserved +SYSTEM_USER reserved reserved reserved +T non-reserved non-reserved +TABLE reserved reserved reserved reserved +TABLES non-reserved +TABLESAMPLE reserved reserved +TABLESPACE non-reserved +TABLE_NAME non-reserved non-reserved non-reserved +TEMP non-reserved +TEMPLATE non-reserved +TEMPORARY non-reserved non-reserved non-reserved reserved +TEXT non-reserved +THEN reserved reserved reserved reserved +TIES non-reserved non-reserved +TIME non-reserved (cannot be function or type) reserved reserved reserved +TIMESTAMP non-reserved (cannot be function or type) reserved reserved reserved +TIMEZONE_HOUR reserved reserved reserved +TIMEZONE_MINUTE reserved reserved reserved +TO reserved reserved reserved reserved +TOKEN non-reserved non-reserved +TOP_LEVEL_COUNT non-reserved non-reserved +TRAILING reserved reserved reserved reserved +TRANSACTION non-reserved non-reserved non-reserved reserved +TRANSACTIONS_COMMITTED non-reserved non-reserved +TRANSACTIONS_ROLLED_BACK non-reserved non-reserved +TRANSACTION_ACTIVE non-reserved non-reserved +TRANSFORM non-reserved non-reserved +TRANSFORMS non-reserved non-reserved +TRANSLATE reserved reserved reserved +TRANSLATE_REGEX reserved reserved +TRANSLATION reserved reserved reserved +TREAT non-reserved (cannot be function or type) reserved reserved +TRIGGER non-reserved reserved reserved +TRIGGER_CATALOG non-reserved non-reserved +TRIGGER_NAME non-reserved non-reserved +TRIGGER_SCHEMA non-reserved non-reserved +TRIM non-reserved (cannot be function or type) reserved reserved reserved +TRIM_ARRAY reserved reserved +TRUE reserved reserved reserved reserved +TRUNCATE non-reserved reserved reserved +TRUSTED non-reserved +TYPE non-reserved non-reserved non-reserved non-reserved +TYPES non-reserved +UESCAPE reserved reserved +UNBOUNDED non-reserved non-reserved non-reserved +UNCOMMITTED non-reserved non-reserved non-reserved non-reserved +UNDER non-reserved non-reserved +UNENCRYPTED non-reserved +UNION reserved reserved reserved reserved +UNIQUE reserved reserved reserved reserved +UNKNOWN non-reserved reserved reserved reserved +UNLINK non-reserved non-reserved +UNLISTEN non-reserved +UNLOGGED non-reserved +UNNAMED non-reserved non-reserved non-reserved +UNNEST reserved reserved +UNTIL non-reserved +UNTYPED non-reserved non-reserved +UPDATE non-reserved reserved reserved reserved +UPPER reserved reserved reserved +URI non-reserved non-reserved +USAGE non-reserved non-reserved reserved +USER reserved reserved reserved reserved +USER_DEFINED_TYPE_CATALOG non-reserved non-reserved +USER_DEFINED_TYPE_CODE non-reserved non-reserved +USER_DEFINED_TYPE_NAME non-reserved non-reserved +USER_DEFINED_TYPE_SCHEMA non-reserved non-reserved +USING reserved reserved reserved reserved +VACUUM non-reserved +VALID non-reserved non-reserved non-reserved +VALIDATE non-reserved +VALIDATOR non-reserved +VALUE non-reserved reserved reserved reserved +VALUES non-reserved (cannot be function or type) reserved reserved reserved +VALUE_OF reserved +VARBINARY reserved reserved +VARCHAR non-reserved (cannot be function or type) reserved reserved reserved +VARIADIC reserved +VARYING non-reserved reserved reserved reserved +VAR_POP reserved reserved +VAR_SAMP reserved reserved +VERBOSE reserved (can be function or type) +VERSION non-reserved non-reserved non-reserved +VERSIONING reserved +VIEW non-reserved non-reserved non-reserved reserved +VOLATILE non-reserved +WHEN reserved reserved reserved reserved +WHENEVER reserved reserved reserved +WHERE reserved reserved reserved reserved +WHITESPACE non-reserved non-reserved non-reserved +WIDTH_BUCKET reserved reserved +WINDOW reserved reserved reserved +WITH reserved reserved reserved reserved +WITHIN reserved reserved +WITHOUT non-reserved reserved reserved +WORK non-reserved non-reserved non-reserved reserved +WRAPPER non-reserved non-reserved non-reserved +WRITE non-reserved non-reserved non-reserved reserved +XML non-reserved reserved reserved +XMLAGG reserved reserved +XMLATTRIBUTES non-reserved (cannot be function or type) reserved reserved +XMLBINARY reserved reserved +XMLCAST reserved reserved +XMLCOMMENT reserved reserved +XMLCONCAT non-reserved (cannot be function or type) reserved reserved +XMLDECLARATION non-reserved non-reserved +XMLDOCUMENT reserved reserved +XMLELEMENT non-reserved (cannot be function or type) reserved reserved +XMLEXISTS non-reserved (cannot be function or type) reserved reserved +XMLFOREST non-reserved (cannot be function or type) reserved reserved +XMLITERATE reserved reserved +XMLNAMESPACES reserved reserved +XMLPARSE non-reserved (cannot be function or type) reserved reserved +XMLPI non-reserved (cannot be function or type) reserved reserved +XMLQUERY reserved reserved +XMLROOT non-reserved (cannot be function or type) +XMLSCHEMA non-reserved non-reserved +XMLSERIALIZE non-reserved (cannot be function or type) reserved reserved +XMLTABLE reserved reserved +XMLTEXT reserved reserved +XMLVALIDATE reserved reserved +YEAR non-reserved reserved reserved reserved +YES non-reserved non-reserved non-reserved +ZONE non-reserved non-reserved non-reserved reserved \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/processors.go b/vendor/github.com/go-xorm/xorm/processors.go new file mode 100644 index 000000000..dcd9c6ac0 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/processors.go @@ -0,0 +1,78 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +// BeforeInsertProcessor executed before an object is initially persisted to the database +type BeforeInsertProcessor interface { + BeforeInsert() +} + +// BeforeUpdateProcessor executed before an object is updated +type BeforeUpdateProcessor interface { + BeforeUpdate() +} + +// BeforeDeleteProcessor executed before an object is deleted +type BeforeDeleteProcessor interface { + BeforeDelete() +} + +// BeforeSetProcessor executed before data set to the struct fields +type BeforeSetProcessor interface { + BeforeSet(string, Cell) +} + +// AfterSetProcessor executed after data set to the struct fields +type AfterSetProcessor interface { + AfterSet(string, Cell) +} + +// AfterInsertProcessor executed after an object is persisted to the database +type AfterInsertProcessor interface { + AfterInsert() +} + +// AfterUpdateProcessor executed after an object has been updated +type AfterUpdateProcessor interface { + AfterUpdate() +} + +// AfterDeleteProcessor executed after an object has been deleted +type AfterDeleteProcessor interface { + AfterDelete() +} + +// AfterLoadProcessor executed after an ojbect has been loaded from database +type AfterLoadProcessor interface { + AfterLoad() +} + +// AfterLoadSessionProcessor executed after an ojbect has been loaded from database with session parameter +type AfterLoadSessionProcessor interface { + AfterLoad(*Session) +} + +type executedProcessorFunc func(*Session, interface{}) error + +type executedProcessor struct { + fun executedProcessorFunc + session *Session + bean interface{} +} + +func (executor *executedProcessor) execute() error { + return executor.fun(executor.session, executor.bean) +} + +func (session *Session) executeProcessors() error { + processors := session.afterProcessors + session.afterProcessors = make([]executedProcessor, 0) + for _, processor := range processors { + if err := processor.execute(); err != nil { + return err + } + } + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/rows.go b/vendor/github.com/go-xorm/xorm/rows.go new file mode 100644 index 000000000..31e29ae26 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/rows.go @@ -0,0 +1,134 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql" + "fmt" + "reflect" + + "github.com/go-xorm/core" +) + +// Rows rows wrapper a rows to +type Rows struct { + NoTypeCheck bool + + session *Session + rows *core.Rows + fields []string + beanType reflect.Type + lastError error +} + +func newRows(session *Session, bean interface{}) (*Rows, error) { + rows := new(Rows) + rows.session = session + rows.beanType = reflect.Indirect(reflect.ValueOf(bean)).Type() + + var sqlStr string + var args []interface{} + var err error + + if err = rows.session.statement.setRefValue(rValue(bean)); err != nil { + return nil, err + } + + if len(session.statement.TableName()) <= 0 { + return nil, ErrTableNotFound + } + + if rows.session.statement.RawSQL == "" { + sqlStr, args, err = rows.session.statement.genGetSQL(bean) + if err != nil { + return nil, err + } + } else { + sqlStr = rows.session.statement.RawSQL + args = rows.session.statement.RawParams + } + + rows.rows, err = rows.session.queryRows(sqlStr, args...) + if err != nil { + rows.lastError = err + rows.Close() + return nil, err + } + + rows.fields, err = rows.rows.Columns() + if err != nil { + rows.lastError = err + rows.Close() + return nil, err + } + + return rows, nil +} + +// Next move cursor to next record, return false if end has reached +func (rows *Rows) Next() bool { + if rows.lastError == nil && rows.rows != nil { + hasNext := rows.rows.Next() + if !hasNext { + rows.lastError = sql.ErrNoRows + } + return hasNext + } + return false +} + +// Err returns the error, if any, that was encountered during iteration. Err may be called after an explicit or implicit Close. +func (rows *Rows) Err() error { + return rows.lastError +} + +// Scan row record to bean properties +func (rows *Rows) Scan(bean interface{}) error { + if rows.lastError != nil { + return rows.lastError + } + + if !rows.NoTypeCheck && reflect.Indirect(reflect.ValueOf(bean)).Type() != rows.beanType { + return fmt.Errorf("scan arg is incompatible type to [%v]", rows.beanType) + } + + dataStruct := rValue(bean) + if err := rows.session.statement.setRefValue(dataStruct); err != nil { + return err + } + + scanResults, err := rows.session.row2Slice(rows.rows, rows.fields, bean) + if err != nil { + return err + } + + _, err = rows.session.slice2Bean(scanResults, rows.fields, bean, &dataStruct, rows.session.statement.RefTable) + if err != nil { + return err + } + + return rows.session.executeProcessors() +} + +// Close session if session.IsAutoClose is true, and claimed any opened resources +func (rows *Rows) Close() error { + if rows.session.isAutoClose { + defer rows.session.Close() + } + + if rows.lastError == nil { + if rows.rows != nil { + rows.lastError = rows.rows.Close() + if rows.lastError != nil { + return rows.lastError + } + } + } else { + if rows.rows != nil { + defer rows.rows.Close() + } + } + return rows.lastError +} diff --git a/vendor/github.com/go-xorm/xorm/session.go b/vendor/github.com/go-xorm/xorm/session.go new file mode 100644 index 000000000..ed2520588 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session.go @@ -0,0 +1,839 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql" + "encoding/json" + "errors" + "fmt" + "hash/crc32" + "reflect" + "strings" + "time" + + "github.com/go-xorm/core" +) + +// Session keep a pointer to sql.DB and provides all execution of all +// kind of database operations. +type Session struct { + db *core.DB + engine *Engine + tx *core.Tx + statement Statement + isAutoCommit bool + isCommitedOrRollbacked bool + isAutoClose bool + + // Automatically reset the statement after operations that execute a SQL + // query such as Count(), Find(), Get(), ... + autoResetStatement bool + + // !nashtsai! storing these beans due to yet committed tx + afterInsertBeans map[interface{}]*[]func(interface{}) + afterUpdateBeans map[interface{}]*[]func(interface{}) + afterDeleteBeans map[interface{}]*[]func(interface{}) + // -- + + beforeClosures []func(interface{}) + afterClosures []func(interface{}) + + afterProcessors []executedProcessor + + prepareStmt bool + stmtCache map[uint32]*core.Stmt //key: hash.Hash32 of (queryStr, len(queryStr)) + + // !evalphobia! stored the last executed query on this session + //beforeSQLExec func(string, ...interface{}) + lastSQL string + lastSQLArgs []interface{} + + err error +} + +// Clone copy all the session's content and return a new session +func (session *Session) Clone() *Session { + var sess = *session + return &sess +} + +// Init reset the session as the init status. +func (session *Session) Init() { + session.statement.Init() + session.statement.Engine = session.engine + session.isAutoCommit = true + session.isCommitedOrRollbacked = false + session.isAutoClose = false + session.autoResetStatement = true + session.prepareStmt = false + + // !nashtsai! is lazy init better? + session.afterInsertBeans = make(map[interface{}]*[]func(interface{}), 0) + session.afterUpdateBeans = make(map[interface{}]*[]func(interface{}), 0) + session.afterDeleteBeans = make(map[interface{}]*[]func(interface{}), 0) + session.beforeClosures = make([]func(interface{}), 0) + session.afterClosures = make([]func(interface{}), 0) + + session.afterProcessors = make([]executedProcessor, 0) + + session.lastSQL = "" + session.lastSQLArgs = []interface{}{} +} + +// Close release the connection from pool +func (session *Session) Close() { + for _, v := range session.stmtCache { + v.Close() + } + + if session.db != nil { + // When Close be called, if session is a transaction and do not call + // Commit or Rollback, then call Rollback. + if session.tx != nil && !session.isCommitedOrRollbacked { + session.Rollback() + } + session.tx = nil + session.stmtCache = nil + session.db = nil + } +} + +// IsClosed returns if session is closed +func (session *Session) IsClosed() bool { + return session.db == nil +} + +func (session *Session) resetStatement() { + if session.autoResetStatement { + session.statement.Init() + } +} + +// Prepare set a flag to session that should be prepare statement before execute query +func (session *Session) Prepare() *Session { + session.prepareStmt = true + return session +} + +// Before Apply before Processor, affected bean is passed to closure arg +func (session *Session) Before(closures func(interface{})) *Session { + if closures != nil { + session.beforeClosures = append(session.beforeClosures, closures) + } + return session +} + +// After Apply after Processor, affected bean is passed to closure arg +func (session *Session) After(closures func(interface{})) *Session { + if closures != nil { + session.afterClosures = append(session.afterClosures, closures) + } + return session +} + +// Table can input a string or pointer to struct for special a table to operate. +func (session *Session) Table(tableNameOrBean interface{}) *Session { + session.statement.Table(tableNameOrBean) + return session +} + +// Alias set the table alias +func (session *Session) Alias(alias string) *Session { + session.statement.Alias(alias) + return session +} + +// NoCascade indicate that no cascade load child object +func (session *Session) NoCascade() *Session { + session.statement.UseCascade = false + return session +} + +// ForUpdate Set Read/Write locking for UPDATE +func (session *Session) ForUpdate() *Session { + session.statement.IsForUpdate = true + return session +} + +// NoAutoCondition disable generate SQL condition from beans +func (session *Session) NoAutoCondition(no ...bool) *Session { + session.statement.NoAutoCondition(no...) + return session +} + +// Limit provide limit and offset query condition +func (session *Session) Limit(limit int, start ...int) *Session { + session.statement.Limit(limit, start...) + return session +} + +// OrderBy provide order by query condition, the input parameter is the content +// after order by on a sql statement. +func (session *Session) OrderBy(order string) *Session { + session.statement.OrderBy(order) + return session +} + +// Desc provide desc order by query condition, the input parameters are columns. +func (session *Session) Desc(colNames ...string) *Session { + session.statement.Desc(colNames...) + return session +} + +// Asc provide asc order by query condition, the input parameters are columns. +func (session *Session) Asc(colNames ...string) *Session { + session.statement.Asc(colNames...) + return session +} + +// StoreEngine is only avialble mysql dialect currently +func (session *Session) StoreEngine(storeEngine string) *Session { + session.statement.StoreEngine = storeEngine + return session +} + +// Charset is only avialble mysql dialect currently +func (session *Session) Charset(charset string) *Session { + session.statement.Charset = charset + return session +} + +// Cascade indicates if loading sub Struct +func (session *Session) Cascade(trueOrFalse ...bool) *Session { + if len(trueOrFalse) >= 1 { + session.statement.UseCascade = trueOrFalse[0] + } + return session +} + +// NoCache ask this session do not retrieve data from cache system and +// get data from database directly. +func (session *Session) NoCache() *Session { + session.statement.UseCache = false + return session +} + +// Join join_operator should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN +func (session *Session) Join(joinOperator string, tablename interface{}, condition string, args ...interface{}) *Session { + session.statement.Join(joinOperator, tablename, condition, args...) + return session +} + +// GroupBy Generate Group By statement +func (session *Session) GroupBy(keys string) *Session { + session.statement.GroupBy(keys) + return session +} + +// Having Generate Having statement +func (session *Session) Having(conditions string) *Session { + session.statement.Having(conditions) + return session +} + +// DB db return the wrapper of sql.DB +func (session *Session) DB() *core.DB { + if session.db == nil { + session.db = session.engine.db + session.stmtCache = make(map[uint32]*core.Stmt, 0) + } + return session.db +} + +func cleanupProcessorsClosures(slices *[]func(interface{})) { + if len(*slices) > 0 { + *slices = make([]func(interface{}), 0) + } +} + +func (session *Session) canCache() bool { + if session.statement.RefTable == nil || + session.statement.JoinStr != "" || + session.statement.RawSQL != "" || + !session.statement.UseCache || + session.statement.IsForUpdate || + session.tx != nil || + len(session.statement.selectStr) > 0 { + return false + } + return true +} + +func (session *Session) doPrepare(sqlStr string) (stmt *core.Stmt, err error) { + crc := crc32.ChecksumIEEE([]byte(sqlStr)) + // TODO try hash(sqlStr+len(sqlStr)) + var has bool + stmt, has = session.stmtCache[crc] + if !has { + stmt, err = session.DB().Prepare(sqlStr) + if err != nil { + return nil, err + } + session.stmtCache[crc] = stmt + } + return +} + +func (session *Session) getField(dataStruct *reflect.Value, key string, table *core.Table, idx int) *reflect.Value { + var col *core.Column + if col = table.GetColumnIdx(key, idx); col == nil { + //session.engine.logger.Warnf("table %v has no column %v. %v", table.Name, key, table.ColumnsSeq()) + return nil + } + + fieldValue, err := col.ValueOfV(dataStruct) + if err != nil { + session.engine.logger.Error(err) + return nil + } + + if !fieldValue.IsValid() || !fieldValue.CanSet() { + session.engine.logger.Warnf("table %v's column %v is not valid or cannot set", table.Name, key) + return nil + } + return fieldValue +} + +// Cell cell is a result of one column field +type Cell *interface{} + +func (session *Session) rows2Beans(rows *core.Rows, fields []string, + table *core.Table, newElemFunc func([]string) reflect.Value, + sliceValueSetFunc func(*reflect.Value, core.PK) error) error { + for rows.Next() { + var newValue = newElemFunc(fields) + bean := newValue.Interface() + dataStruct := newValue.Elem() + + // handle beforeClosures + scanResults, err := session.row2Slice(rows, fields, bean) + if err != nil { + return err + } + pk, err := session.slice2Bean(scanResults, fields, bean, &dataStruct, table) + if err != nil { + return err + } + session.afterProcessors = append(session.afterProcessors, executedProcessor{ + fun: func(*Session, interface{}) error { + return sliceValueSetFunc(&newValue, pk) + }, + session: session, + bean: bean, + }) + } + return nil +} + +func (session *Session) row2Slice(rows *core.Rows, fields []string, bean interface{}) ([]interface{}, error) { + for _, closure := range session.beforeClosures { + closure(bean) + } + + scanResults := make([]interface{}, len(fields)) + for i := 0; i < len(fields); i++ { + var cell interface{} + scanResults[i] = &cell + } + if err := rows.Scan(scanResults...); err != nil { + return nil, err + } + + if b, hasBeforeSet := bean.(BeforeSetProcessor); hasBeforeSet { + for ii, key := range fields { + b.BeforeSet(key, Cell(scanResults[ii].(*interface{}))) + } + } + return scanResults, nil +} + +func (session *Session) slice2Bean(scanResults []interface{}, fields []string, bean interface{}, dataStruct *reflect.Value, table *core.Table) (core.PK, error) { + defer func() { + if b, hasAfterSet := bean.(AfterSetProcessor); hasAfterSet { + for ii, key := range fields { + b.AfterSet(key, Cell(scanResults[ii].(*interface{}))) + } + } + }() + + // handle afterClosures + for _, closure := range session.afterClosures { + session.afterProcessors = append(session.afterProcessors, executedProcessor{ + fun: func(sess *Session, bean interface{}) error { + closure(bean) + return nil + }, + session: session, + bean: bean, + }) + } + + if a, has := bean.(AfterLoadProcessor); has { + session.afterProcessors = append(session.afterProcessors, executedProcessor{ + fun: func(sess *Session, bean interface{}) error { + a.AfterLoad() + return nil + }, + session: session, + bean: bean, + }) + } + + if a, has := bean.(AfterLoadSessionProcessor); has { + session.afterProcessors = append(session.afterProcessors, executedProcessor{ + fun: func(sess *Session, bean interface{}) error { + a.AfterLoad(sess) + return nil + }, + session: session, + bean: bean, + }) + } + + var tempMap = make(map[string]int) + var pk core.PK + for ii, key := range fields { + var idx int + var ok bool + var lKey = strings.ToLower(key) + if idx, ok = tempMap[lKey]; !ok { + idx = 0 + } else { + idx = idx + 1 + } + tempMap[lKey] = idx + + if fieldValue := session.getField(dataStruct, key, table, idx); fieldValue != nil { + rawValue := reflect.Indirect(reflect.ValueOf(scanResults[ii])) + + // if row is null then ignore + if rawValue.Interface() == nil { + continue + } + + if fieldValue.CanAddr() { + if structConvert, ok := fieldValue.Addr().Interface().(core.Conversion); ok { + if data, err := value2Bytes(&rawValue); err == nil { + if err := structConvert.FromDB(data); err != nil { + return nil, err + } + } else { + return nil, err + } + continue + } + } + + if _, ok := fieldValue.Interface().(core.Conversion); ok { + if data, err := value2Bytes(&rawValue); err == nil { + if fieldValue.Kind() == reflect.Ptr && fieldValue.IsNil() { + fieldValue.Set(reflect.New(fieldValue.Type().Elem())) + } + fieldValue.Interface().(core.Conversion).FromDB(data) + } else { + return nil, err + } + continue + } + + rawValueType := reflect.TypeOf(rawValue.Interface()) + vv := reflect.ValueOf(rawValue.Interface()) + col := table.GetColumnIdx(key, idx) + if col.IsPrimaryKey { + pk = append(pk, rawValue.Interface()) + } + fieldType := fieldValue.Type() + hasAssigned := false + + if col.SQLType.IsJson() { + var bs []byte + if rawValueType.Kind() == reflect.String { + bs = []byte(vv.String()) + } else if rawValueType.ConvertibleTo(core.BytesType) { + bs = vv.Bytes() + } else { + return nil, fmt.Errorf("unsupported database data type: %s %v", key, rawValueType.Kind()) + } + + hasAssigned = true + + if len(bs) > 0 { + if fieldValue.CanAddr() { + err := json.Unmarshal(bs, fieldValue.Addr().Interface()) + if err != nil { + return nil, err + } + } else { + x := reflect.New(fieldType) + err := json.Unmarshal(bs, x.Interface()) + if err != nil { + return nil, err + } + fieldValue.Set(x.Elem()) + } + } + + continue + } + + switch fieldType.Kind() { + case reflect.Complex64, reflect.Complex128: + // TODO: reimplement this + var bs []byte + if rawValueType.Kind() == reflect.String { + bs = []byte(vv.String()) + } else if rawValueType.ConvertibleTo(core.BytesType) { + bs = vv.Bytes() + } + + hasAssigned = true + if len(bs) > 0 { + if fieldValue.CanAddr() { + err := json.Unmarshal(bs, fieldValue.Addr().Interface()) + if err != nil { + return nil, err + } + } else { + x := reflect.New(fieldType) + err := json.Unmarshal(bs, x.Interface()) + if err != nil { + return nil, err + } + fieldValue.Set(x.Elem()) + } + } + case reflect.Slice, reflect.Array: + switch rawValueType.Kind() { + case reflect.Slice, reflect.Array: + switch rawValueType.Elem().Kind() { + case reflect.Uint8: + if fieldType.Elem().Kind() == reflect.Uint8 { + hasAssigned = true + if col.SQLType.IsText() { + x := reflect.New(fieldType) + err := json.Unmarshal(vv.Bytes(), x.Interface()) + if err != nil { + return nil, err + } + fieldValue.Set(x.Elem()) + } else { + if fieldValue.Len() > 0 { + for i := 0; i < fieldValue.Len(); i++ { + if i < vv.Len() { + fieldValue.Index(i).Set(vv.Index(i)) + } + } + } else { + for i := 0; i < vv.Len(); i++ { + fieldValue.Set(reflect.Append(*fieldValue, vv.Index(i))) + } + } + } + } + } + } + case reflect.String: + if rawValueType.Kind() == reflect.String { + hasAssigned = true + fieldValue.SetString(vv.String()) + } + case reflect.Bool: + if rawValueType.Kind() == reflect.Bool { + hasAssigned = true + fieldValue.SetBool(vv.Bool()) + } + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + switch rawValueType.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + hasAssigned = true + fieldValue.SetInt(vv.Int()) + } + case reflect.Float32, reflect.Float64: + switch rawValueType.Kind() { + case reflect.Float32, reflect.Float64: + hasAssigned = true + fieldValue.SetFloat(vv.Float()) + } + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + switch rawValueType.Kind() { + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + hasAssigned = true + fieldValue.SetUint(vv.Uint()) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + hasAssigned = true + fieldValue.SetUint(uint64(vv.Int())) + } + case reflect.Struct: + if fieldType.ConvertibleTo(core.TimeType) { + dbTZ := session.engine.DatabaseTZ + if col.TimeZone != nil { + dbTZ = col.TimeZone + } + + if rawValueType == core.TimeType { + hasAssigned = true + + t := vv.Convert(core.TimeType).Interface().(time.Time) + + z, _ := t.Zone() + // set new location if database don't save timezone or give an incorrect timezone + if len(z) == 0 || t.Year() == 0 || t.Location().String() != dbTZ.String() { // !nashtsai! HACK tmp work around for lib/pq doesn't properly time with location + session.engine.logger.Debugf("empty zone key[%v] : %v | zone: %v | location: %+v\n", key, t, z, *t.Location()) + t = time.Date(t.Year(), t.Month(), t.Day(), t.Hour(), + t.Minute(), t.Second(), t.Nanosecond(), dbTZ) + } + + t = t.In(session.engine.TZLocation) + fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) + } else if rawValueType == core.IntType || rawValueType == core.Int64Type || + rawValueType == core.Int32Type { + hasAssigned = true + + t := time.Unix(vv.Int(), 0).In(session.engine.TZLocation) + fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) + } else { + if d, ok := vv.Interface().([]uint8); ok { + hasAssigned = true + t, err := session.byte2Time(col, d) + if err != nil { + session.engine.logger.Error("byte2Time error:", err.Error()) + hasAssigned = false + } else { + fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) + } + } else if d, ok := vv.Interface().(string); ok { + hasAssigned = true + t, err := session.str2Time(col, d) + if err != nil { + session.engine.logger.Error("byte2Time error:", err.Error()) + hasAssigned = false + } else { + fieldValue.Set(reflect.ValueOf(t).Convert(fieldType)) + } + } else { + return nil, fmt.Errorf("rawValueType is %v, value is %v", rawValueType, vv.Interface()) + } + } + } else if nulVal, ok := fieldValue.Addr().Interface().(sql.Scanner); ok { + // !! 增加支持sql.Scanner接口的结构,如sql.NullString + hasAssigned = true + if err := nulVal.Scan(vv.Interface()); err != nil { + session.engine.logger.Error("sql.Sanner error:", err.Error()) + hasAssigned = false + } + } else if col.SQLType.IsJson() { + if rawValueType.Kind() == reflect.String { + hasAssigned = true + x := reflect.New(fieldType) + if len([]byte(vv.String())) > 0 { + err := json.Unmarshal([]byte(vv.String()), x.Interface()) + if err != nil { + return nil, err + } + fieldValue.Set(x.Elem()) + } + } else if rawValueType.Kind() == reflect.Slice { + hasAssigned = true + x := reflect.New(fieldType) + if len(vv.Bytes()) > 0 { + err := json.Unmarshal(vv.Bytes(), x.Interface()) + if err != nil { + return nil, err + } + fieldValue.Set(x.Elem()) + } + } + } else if session.statement.UseCascade { + table, err := session.engine.autoMapType(*fieldValue) + if err != nil { + return nil, err + } + + hasAssigned = true + if len(table.PrimaryKeys) != 1 { + return nil, errors.New("unsupported non or composited primary key cascade") + } + var pk = make(core.PK, len(table.PrimaryKeys)) + pk[0], err = asKind(vv, rawValueType) + if err != nil { + return nil, err + } + + if !isPKZero(pk) { + // !nashtsai! TODO for hasOne relationship, it's preferred to use join query for eager fetch + // however, also need to consider adding a 'lazy' attribute to xorm tag which allow hasOne + // property to be fetched lazily + structInter := reflect.New(fieldValue.Type()) + has, err := session.ID(pk).NoCascade().get(structInter.Interface()) + if err != nil { + return nil, err + } + if has { + fieldValue.Set(structInter.Elem()) + } else { + return nil, errors.New("cascade obj is not exist") + } + } + } + case reflect.Ptr: + // !nashtsai! TODO merge duplicated codes above + switch fieldType { + // following types case matching ptr's native type, therefore assign ptr directly + case core.PtrStringType: + if rawValueType.Kind() == reflect.String { + x := vv.String() + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrBoolType: + if rawValueType.Kind() == reflect.Bool { + x := vv.Bool() + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrTimeType: + if rawValueType == core.PtrTimeType { + hasAssigned = true + var x = rawValue.Interface().(time.Time) + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrFloat64Type: + if rawValueType.Kind() == reflect.Float64 { + x := vv.Float() + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrUint64Type: + if rawValueType.Kind() == reflect.Int64 { + var x = uint64(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrInt64Type: + if rawValueType.Kind() == reflect.Int64 { + x := vv.Int() + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrFloat32Type: + if rawValueType.Kind() == reflect.Float64 { + var x = float32(vv.Float()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrIntType: + if rawValueType.Kind() == reflect.Int64 { + var x = int(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrInt32Type: + if rawValueType.Kind() == reflect.Int64 { + var x = int32(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrInt8Type: + if rawValueType.Kind() == reflect.Int64 { + var x = int8(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrInt16Type: + if rawValueType.Kind() == reflect.Int64 { + var x = int16(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrUintType: + if rawValueType.Kind() == reflect.Int64 { + var x = uint(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.PtrUint32Type: + if rawValueType.Kind() == reflect.Int64 { + var x = uint32(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.Uint8Type: + if rawValueType.Kind() == reflect.Int64 { + var x = uint8(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.Uint16Type: + if rawValueType.Kind() == reflect.Int64 { + var x = uint16(vv.Int()) + hasAssigned = true + fieldValue.Set(reflect.ValueOf(&x)) + } + case core.Complex64Type: + var x complex64 + if len([]byte(vv.String())) > 0 { + err := json.Unmarshal([]byte(vv.String()), &x) + if err != nil { + return nil, err + } + fieldValue.Set(reflect.ValueOf(&x)) + } + hasAssigned = true + case core.Complex128Type: + var x complex128 + if len([]byte(vv.String())) > 0 { + err := json.Unmarshal([]byte(vv.String()), &x) + if err != nil { + return nil, err + } + fieldValue.Set(reflect.ValueOf(&x)) + } + hasAssigned = true + } // switch fieldType + } // switch fieldType.Kind() + + // !nashtsai! for value can't be assigned directly fallback to convert to []byte then back to value + if !hasAssigned { + data, err := value2Bytes(&rawValue) + if err != nil { + return nil, err + } + + if err = session.bytes2Value(col, fieldValue, data); err != nil { + return nil, err + } + } + } + } + return pk, nil +} + +// saveLastSQL stores executed query information +func (session *Session) saveLastSQL(sql string, args ...interface{}) { + session.lastSQL = sql + session.lastSQLArgs = args + session.engine.logSQL(sql, args...) +} + +// LastSQL returns last query information +func (session *Session) LastSQL() (string, []interface{}) { + return session.lastSQL, session.lastSQLArgs +} + +// tbName get some table's table name +func (session *Session) tbNameNoSchema(table *core.Table) string { + if len(session.statement.AltTableName) > 0 { + return session.statement.AltTableName + } + + return table.Name +} + +// Unscoped always disable struct tag "deleted" +func (session *Session) Unscoped() *Session { + session.statement.Unscoped() + return session +} diff --git a/vendor/github.com/go-xorm/xorm/session_cols.go b/vendor/github.com/go-xorm/xorm/session_cols.go new file mode 100644 index 000000000..9972cb0ae --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_cols.go @@ -0,0 +1,84 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +// Incr provides a query string like "count = count + 1" +func (session *Session) Incr(column string, arg ...interface{}) *Session { + session.statement.Incr(column, arg...) + return session +} + +// Decr provides a query string like "count = count - 1" +func (session *Session) Decr(column string, arg ...interface{}) *Session { + session.statement.Decr(column, arg...) + return session +} + +// SetExpr provides a query string like "column = {expression}" +func (session *Session) SetExpr(column string, expression string) *Session { + session.statement.SetExpr(column, expression) + return session +} + +// Select provides some columns to special +func (session *Session) Select(str string) *Session { + session.statement.Select(str) + return session +} + +// Cols provides some columns to special +func (session *Session) Cols(columns ...string) *Session { + session.statement.Cols(columns...) + return session +} + +// AllCols ask all columns +func (session *Session) AllCols() *Session { + session.statement.AllCols() + return session +} + +// MustCols specify some columns must use even if they are empty +func (session *Session) MustCols(columns ...string) *Session { + session.statement.MustCols(columns...) + return session +} + +// UseBool automatically retrieve condition according struct, but +// if struct has bool field, it will ignore them. So use UseBool +// to tell system to do not ignore them. +// If no parameters, it will use all the bool field of struct, or +// it will use parameters's columns +func (session *Session) UseBool(columns ...string) *Session { + session.statement.UseBool(columns...) + return session +} + +// Distinct use for distinct columns. Caution: when you are using cache, +// distinct will not be cached because cache system need id, +// but distinct will not provide id +func (session *Session) Distinct(columns ...string) *Session { + session.statement.Distinct(columns...) + return session +} + +// Omit Only not use the parameters as select or update columns +func (session *Session) Omit(columns ...string) *Session { + session.statement.Omit(columns...) + return session +} + +// Nullable Set null when column is zero-value and nullable for update +func (session *Session) Nullable(columns ...string) *Session { + session.statement.Nullable(columns...) + return session +} + +// NoAutoTime means do not automatically give created field and updated field +// the current time on the current session temporarily +func (session *Session) NoAutoTime() *Session { + session.statement.UseAutoTime = false + return session +} diff --git a/vendor/github.com/go-xorm/xorm/session_cond.go b/vendor/github.com/go-xorm/xorm/session_cond.go new file mode 100644 index 000000000..e1d528f2d --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_cond.go @@ -0,0 +1,70 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import "github.com/go-xorm/builder" + +// Sql provides raw sql input parameter. When you have a complex SQL statement +// and cannot use Where, Id, In and etc. Methods to describe, you can use SQL. +// +// Deprecated: use SQL instead. +func (session *Session) Sql(query string, args ...interface{}) *Session { + return session.SQL(query, args...) +} + +// SQL provides raw sql input parameter. When you have a complex SQL statement +// and cannot use Where, Id, In and etc. Methods to describe, you can use SQL. +func (session *Session) SQL(query interface{}, args ...interface{}) *Session { + session.statement.SQL(query, args...) + return session +} + +// Where provides custom query condition. +func (session *Session) Where(query interface{}, args ...interface{}) *Session { + session.statement.Where(query, args...) + return session +} + +// And provides custom query condition. +func (session *Session) And(query interface{}, args ...interface{}) *Session { + session.statement.And(query, args...) + return session +} + +// Or provides custom query condition. +func (session *Session) Or(query interface{}, args ...interface{}) *Session { + session.statement.Or(query, args...) + return session +} + +// Id provides converting id as a query condition +// +// Deprecated: use ID instead +func (session *Session) Id(id interface{}) *Session { + return session.ID(id) +} + +// ID provides converting id as a query condition +func (session *Session) ID(id interface{}) *Session { + session.statement.ID(id) + return session +} + +// In provides a query string like "id in (1, 2, 3)" +func (session *Session) In(column string, args ...interface{}) *Session { + session.statement.In(column, args...) + return session +} + +// NotIn provides a query string like "id in (1, 2, 3)" +func (session *Session) NotIn(column string, args ...interface{}) *Session { + session.statement.NotIn(column, args...) + return session +} + +// Conds returns session query conditions except auto bean conditions +func (session *Session) Conds() builder.Cond { + return session.statement.cond +} diff --git a/vendor/github.com/go-xorm/xorm/session_convert.go b/vendor/github.com/go-xorm/xorm/session_convert.go new file mode 100644 index 000000000..f2c949bac --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_convert.go @@ -0,0 +1,662 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql" + "database/sql/driver" + "encoding/json" + "errors" + "fmt" + "reflect" + "strconv" + "strings" + "time" + + "github.com/go-xorm/core" +) + +func (session *Session) str2Time(col *core.Column, data string) (outTime time.Time, outErr error) { + sdata := strings.TrimSpace(data) + var x time.Time + var err error + + var parseLoc = session.engine.DatabaseTZ + if col.TimeZone != nil { + parseLoc = col.TimeZone + } + + if sdata == zeroTime0 || sdata == zeroTime1 { + } else if !strings.ContainsAny(sdata, "- :") { // !nashtsai! has only found that mymysql driver is using this for time type column + // time stamp + sd, err := strconv.ParseInt(sdata, 10, 64) + if err == nil { + x = time.Unix(sd, 0) + session.engine.logger.Debugf("time(0) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + } else { + session.engine.logger.Debugf("time(0) err key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + } + } else if len(sdata) > 19 && strings.Contains(sdata, "-") { + x, err = time.ParseInLocation(time.RFC3339Nano, sdata, parseLoc) + session.engine.logger.Debugf("time(1) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + if err != nil { + x, err = time.ParseInLocation("2006-01-02 15:04:05.999999999", sdata, parseLoc) + session.engine.logger.Debugf("time(2) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + } + if err != nil { + x, err = time.ParseInLocation("2006-01-02 15:04:05.9999999 Z07:00", sdata, parseLoc) + session.engine.logger.Debugf("time(3) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + } + } else if len(sdata) == 19 && strings.Contains(sdata, "-") { + x, err = time.ParseInLocation("2006-01-02 15:04:05", sdata, parseLoc) + session.engine.logger.Debugf("time(4) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + } else if len(sdata) == 10 && sdata[4] == '-' && sdata[7] == '-' { + x, err = time.ParseInLocation("2006-01-02", sdata, parseLoc) + session.engine.logger.Debugf("time(5) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + } else if col.SQLType.Name == core.Time { + if strings.Contains(sdata, " ") { + ssd := strings.Split(sdata, " ") + sdata = ssd[1] + } + + sdata = strings.TrimSpace(sdata) + if session.engine.dialect.DBType() == core.MYSQL && len(sdata) > 8 { + sdata = sdata[len(sdata)-8:] + } + + st := fmt.Sprintf("2006-01-02 %v", sdata) + x, err = time.ParseInLocation("2006-01-02 15:04:05", st, parseLoc) + session.engine.logger.Debugf("time(6) key[%v]: %+v | sdata: [%v]\n", col.FieldName, x, sdata) + } else { + outErr = fmt.Errorf("unsupported time format %v", sdata) + return + } + if err != nil { + outErr = fmt.Errorf("unsupported time format %v: %v", sdata, err) + return + } + outTime = x.In(session.engine.TZLocation) + return +} + +func (session *Session) byte2Time(col *core.Column, data []byte) (outTime time.Time, outErr error) { + return session.str2Time(col, string(data)) +} + +// convert a db data([]byte) to a field value +func (session *Session) bytes2Value(col *core.Column, fieldValue *reflect.Value, data []byte) error { + if structConvert, ok := fieldValue.Addr().Interface().(core.Conversion); ok { + return structConvert.FromDB(data) + } + + if structConvert, ok := fieldValue.Interface().(core.Conversion); ok { + return structConvert.FromDB(data) + } + + var v interface{} + key := col.Name + fieldType := fieldValue.Type() + + switch fieldType.Kind() { + case reflect.Complex64, reflect.Complex128: + x := reflect.New(fieldType) + if len(data) > 0 { + err := json.Unmarshal(data, x.Interface()) + if err != nil { + session.engine.logger.Error(err) + return err + } + fieldValue.Set(x.Elem()) + } + case reflect.Slice, reflect.Array, reflect.Map: + v = data + t := fieldType.Elem() + k := t.Kind() + if col.SQLType.IsText() { + x := reflect.New(fieldType) + if len(data) > 0 { + err := json.Unmarshal(data, x.Interface()) + if err != nil { + session.engine.logger.Error(err) + return err + } + fieldValue.Set(x.Elem()) + } + } else if col.SQLType.IsBlob() { + if k == reflect.Uint8 { + fieldValue.Set(reflect.ValueOf(v)) + } else { + x := reflect.New(fieldType) + if len(data) > 0 { + err := json.Unmarshal(data, x.Interface()) + if err != nil { + session.engine.logger.Error(err) + return err + } + fieldValue.Set(x.Elem()) + } + } + } else { + return ErrUnSupportedType + } + case reflect.String: + fieldValue.SetString(string(data)) + case reflect.Bool: + v, err := asBool(data) + if err != nil { + return fmt.Errorf("arg %v as bool: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(v)) + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + sdata := string(data) + var x int64 + var err error + // for mysql, when use bit, it returned \x01 + if col.SQLType.Name == core.Bit && + session.engine.dialect.DBType() == core.MYSQL { // !nashtsai! TODO dialect needs to provide conversion interface API + if len(data) == 1 { + x = int64(data[0]) + } else { + x = 0 + } + } else if strings.HasPrefix(sdata, "0x") { + x, err = strconv.ParseInt(sdata, 16, 64) + } else if strings.HasPrefix(sdata, "0") { + x, err = strconv.ParseInt(sdata, 8, 64) + } else if strings.EqualFold(sdata, "true") { + x = 1 + } else if strings.EqualFold(sdata, "false") { + x = 0 + } else { + x, err = strconv.ParseInt(sdata, 10, 64) + } + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.SetInt(x) + case reflect.Float32, reflect.Float64: + x, err := strconv.ParseFloat(string(data), 64) + if err != nil { + return fmt.Errorf("arg %v as float64: %s", key, err.Error()) + } + fieldValue.SetFloat(x) + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + x, err := strconv.ParseUint(string(data), 10, 64) + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.SetUint(x) + //Currently only support Time type + case reflect.Struct: + // !! 增加支持sql.Scanner接口的结构,如sql.NullString + if nulVal, ok := fieldValue.Addr().Interface().(sql.Scanner); ok { + if err := nulVal.Scan(data); err != nil { + return fmt.Errorf("sql.Scan(%v) failed: %s ", data, err.Error()) + } + } else { + if fieldType.ConvertibleTo(core.TimeType) { + x, err := session.byte2Time(col, data) + if err != nil { + return err + } + v = x + fieldValue.Set(reflect.ValueOf(v).Convert(fieldType)) + } else if session.statement.UseCascade { + table, err := session.engine.autoMapType(*fieldValue) + if err != nil { + return err + } + + // TODO: current only support 1 primary key + if len(table.PrimaryKeys) > 1 { + return errors.New("unsupported composited primary key cascade") + } + + var pk = make(core.PK, len(table.PrimaryKeys)) + rawValueType := table.ColumnType(table.PKColumns()[0].FieldName) + pk[0], err = str2PK(string(data), rawValueType) + if err != nil { + return err + } + + if !isPKZero(pk) { + // !nashtsai! TODO for hasOne relationship, it's preferred to use join query for eager fetch + // however, also need to consider adding a 'lazy' attribute to xorm tag which allow hasOne + // property to be fetched lazily + structInter := reflect.New(fieldValue.Type()) + has, err := session.ID(pk).NoCascade().get(structInter.Interface()) + if err != nil { + return err + } + if has { + v = structInter.Elem().Interface() + fieldValue.Set(reflect.ValueOf(v)) + } else { + return errors.New("cascade obj is not exist") + } + } + } + } + case reflect.Ptr: + // !nashtsai! TODO merge duplicated codes above + //typeStr := fieldType.String() + switch fieldType.Elem().Kind() { + // case "*string": + case core.StringType.Kind(): + x := string(data) + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*bool": + case core.BoolType.Kind(): + d := string(data) + v, err := strconv.ParseBool(d) + if err != nil { + return fmt.Errorf("arg %v as bool: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&v).Convert(fieldType)) + // case "*complex64": + case core.Complex64Type.Kind(): + var x complex64 + if len(data) > 0 { + err := json.Unmarshal(data, &x) + if err != nil { + session.engine.logger.Error(err) + return err + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + } + // case "*complex128": + case core.Complex128Type.Kind(): + var x complex128 + if len(data) > 0 { + err := json.Unmarshal(data, &x) + if err != nil { + session.engine.logger.Error(err) + return err + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + } + // case "*float64": + case core.Float64Type.Kind(): + x, err := strconv.ParseFloat(string(data), 64) + if err != nil { + return fmt.Errorf("arg %v as float64: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*float32": + case core.Float32Type.Kind(): + var x float32 + x1, err := strconv.ParseFloat(string(data), 32) + if err != nil { + return fmt.Errorf("arg %v as float32: %s", key, err.Error()) + } + x = float32(x1) + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*uint64": + case core.Uint64Type.Kind(): + var x uint64 + x, err := strconv.ParseUint(string(data), 10, 64) + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*uint": + case core.UintType.Kind(): + var x uint + x1, err := strconv.ParseUint(string(data), 10, 64) + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + x = uint(x1) + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*uint32": + case core.Uint32Type.Kind(): + var x uint32 + x1, err := strconv.ParseUint(string(data), 10, 64) + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + x = uint32(x1) + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*uint8": + case core.Uint8Type.Kind(): + var x uint8 + x1, err := strconv.ParseUint(string(data), 10, 64) + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + x = uint8(x1) + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*uint16": + case core.Uint16Type.Kind(): + var x uint16 + x1, err := strconv.ParseUint(string(data), 10, 64) + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + x = uint16(x1) + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*int64": + case core.Int64Type.Kind(): + sdata := string(data) + var x int64 + var err error + // for mysql, when use bit, it returned \x01 + if col.SQLType.Name == core.Bit && + strings.Contains(session.engine.DriverName(), "mysql") { + if len(data) == 1 { + x = int64(data[0]) + } else { + x = 0 + } + } else if strings.HasPrefix(sdata, "0x") { + x, err = strconv.ParseInt(sdata, 16, 64) + } else if strings.HasPrefix(sdata, "0") { + x, err = strconv.ParseInt(sdata, 8, 64) + } else { + x, err = strconv.ParseInt(sdata, 10, 64) + } + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*int": + case core.IntType.Kind(): + sdata := string(data) + var x int + var x1 int64 + var err error + // for mysql, when use bit, it returned \x01 + if col.SQLType.Name == core.Bit && + strings.Contains(session.engine.DriverName(), "mysql") { + if len(data) == 1 { + x = int(data[0]) + } else { + x = 0 + } + } else if strings.HasPrefix(sdata, "0x") { + x1, err = strconv.ParseInt(sdata, 16, 64) + x = int(x1) + } else if strings.HasPrefix(sdata, "0") { + x1, err = strconv.ParseInt(sdata, 8, 64) + x = int(x1) + } else { + x1, err = strconv.ParseInt(sdata, 10, 64) + x = int(x1) + } + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*int32": + case core.Int32Type.Kind(): + sdata := string(data) + var x int32 + var x1 int64 + var err error + // for mysql, when use bit, it returned \x01 + if col.SQLType.Name == core.Bit && + session.engine.dialect.DBType() == core.MYSQL { + if len(data) == 1 { + x = int32(data[0]) + } else { + x = 0 + } + } else if strings.HasPrefix(sdata, "0x") { + x1, err = strconv.ParseInt(sdata, 16, 64) + x = int32(x1) + } else if strings.HasPrefix(sdata, "0") { + x1, err = strconv.ParseInt(sdata, 8, 64) + x = int32(x1) + } else { + x1, err = strconv.ParseInt(sdata, 10, 64) + x = int32(x1) + } + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*int8": + case core.Int8Type.Kind(): + sdata := string(data) + var x int8 + var x1 int64 + var err error + // for mysql, when use bit, it returned \x01 + if col.SQLType.Name == core.Bit && + strings.Contains(session.engine.DriverName(), "mysql") { + if len(data) == 1 { + x = int8(data[0]) + } else { + x = 0 + } + } else if strings.HasPrefix(sdata, "0x") { + x1, err = strconv.ParseInt(sdata, 16, 64) + x = int8(x1) + } else if strings.HasPrefix(sdata, "0") { + x1, err = strconv.ParseInt(sdata, 8, 64) + x = int8(x1) + } else { + x1, err = strconv.ParseInt(sdata, 10, 64) + x = int8(x1) + } + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*int16": + case core.Int16Type.Kind(): + sdata := string(data) + var x int16 + var x1 int64 + var err error + // for mysql, when use bit, it returned \x01 + if col.SQLType.Name == core.Bit && + strings.Contains(session.engine.DriverName(), "mysql") { + if len(data) == 1 { + x = int16(data[0]) + } else { + x = 0 + } + } else if strings.HasPrefix(sdata, "0x") { + x1, err = strconv.ParseInt(sdata, 16, 64) + x = int16(x1) + } else if strings.HasPrefix(sdata, "0") { + x1, err = strconv.ParseInt(sdata, 8, 64) + x = int16(x1) + } else { + x1, err = strconv.ParseInt(sdata, 10, 64) + x = int16(x1) + } + if err != nil { + return fmt.Errorf("arg %v as int: %s", key, err.Error()) + } + fieldValue.Set(reflect.ValueOf(&x).Convert(fieldType)) + // case "*SomeStruct": + case reflect.Struct: + switch fieldType { + // case "*.time.Time": + case core.PtrTimeType: + x, err := session.byte2Time(col, data) + if err != nil { + return err + } + v = x + fieldValue.Set(reflect.ValueOf(&x)) + default: + if session.statement.UseCascade { + structInter := reflect.New(fieldType.Elem()) + table, err := session.engine.autoMapType(structInter.Elem()) + if err != nil { + return err + } + + if len(table.PrimaryKeys) > 1 { + return errors.New("unsupported composited primary key cascade") + } + + var pk = make(core.PK, len(table.PrimaryKeys)) + rawValueType := table.ColumnType(table.PKColumns()[0].FieldName) + pk[0], err = str2PK(string(data), rawValueType) + if err != nil { + return err + } + + if !isPKZero(pk) { + // !nashtsai! TODO for hasOne relationship, it's preferred to use join query for eager fetch + // however, also need to consider adding a 'lazy' attribute to xorm tag which allow hasOne + // property to be fetched lazily + has, err := session.ID(pk).NoCascade().get(structInter.Interface()) + if err != nil { + return err + } + if has { + v = structInter.Interface() + fieldValue.Set(reflect.ValueOf(v)) + } else { + return errors.New("cascade obj is not exist") + } + } + } else { + return fmt.Errorf("unsupported struct type in Scan: %s", fieldValue.Type().String()) + } + } + default: + return fmt.Errorf("unsupported type in Scan: %s", fieldValue.Type().String()) + } + default: + return fmt.Errorf("unsupported type in Scan: %s", fieldValue.Type().String()) + } + + return nil +} + +// convert a field value of a struct to interface for put into db +func (session *Session) value2Interface(col *core.Column, fieldValue reflect.Value) (interface{}, error) { + if fieldValue.CanAddr() { + if fieldConvert, ok := fieldValue.Addr().Interface().(core.Conversion); ok { + data, err := fieldConvert.ToDB() + if err != nil { + return 0, err + } + if col.SQLType.IsBlob() { + return data, nil + } + return string(data), nil + } + } + + if fieldConvert, ok := fieldValue.Interface().(core.Conversion); ok { + data, err := fieldConvert.ToDB() + if err != nil { + return 0, err + } + if col.SQLType.IsBlob() { + return data, nil + } + return string(data), nil + } + + fieldType := fieldValue.Type() + k := fieldType.Kind() + if k == reflect.Ptr { + if fieldValue.IsNil() { + return nil, nil + } else if !fieldValue.IsValid() { + session.engine.logger.Warn("the field[", col.FieldName, "] is invalid") + return nil, nil + } else { + // !nashtsai! deference pointer type to instance type + fieldValue = fieldValue.Elem() + fieldType = fieldValue.Type() + k = fieldType.Kind() + } + } + + switch k { + case reflect.Bool: + return fieldValue.Bool(), nil + case reflect.String: + return fieldValue.String(), nil + case reflect.Struct: + if fieldType.ConvertibleTo(core.TimeType) { + t := fieldValue.Convert(core.TimeType).Interface().(time.Time) + tf := session.engine.formatColTime(col, t) + return tf, nil + } + + if !col.SQLType.IsJson() { + // !! 增加支持driver.Valuer接口的结构,如sql.NullString + if v, ok := fieldValue.Interface().(driver.Valuer); ok { + return v.Value() + } + + fieldTable, err := session.engine.autoMapType(fieldValue) + if err != nil { + return nil, err + } + if len(fieldTable.PrimaryKeys) == 1 { + pkField := reflect.Indirect(fieldValue).FieldByName(fieldTable.PKColumns()[0].FieldName) + return pkField.Interface(), nil + } + return 0, fmt.Errorf("no primary key for col %v", col.Name) + } + + if col.SQLType.IsText() { + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + session.engine.logger.Error(err) + return 0, err + } + return string(bytes), nil + } else if col.SQLType.IsBlob() { + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + session.engine.logger.Error(err) + return 0, err + } + return bytes, nil + } + return nil, fmt.Errorf("Unsupported type %v", fieldValue.Type()) + case reflect.Complex64, reflect.Complex128: + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + session.engine.logger.Error(err) + return 0, err + } + return string(bytes), nil + case reflect.Array, reflect.Slice, reflect.Map: + if !fieldValue.IsValid() { + return fieldValue.Interface(), nil + } + + if col.SQLType.IsText() { + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + session.engine.logger.Error(err) + return 0, err + } + return string(bytes), nil + } else if col.SQLType.IsBlob() { + var bytes []byte + var err error + if (k == reflect.Array || k == reflect.Slice) && + (fieldValue.Type().Elem().Kind() == reflect.Uint8) { + bytes = fieldValue.Bytes() + } else { + bytes, err = json.Marshal(fieldValue.Interface()) + if err != nil { + session.engine.logger.Error(err) + return 0, err + } + } + return bytes, nil + } + return nil, ErrUnSupportedType + case reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64, reflect.Uint: + return int64(fieldValue.Uint()), nil + default: + return fieldValue.Interface(), nil + } +} diff --git a/vendor/github.com/go-xorm/xorm/session_delete.go b/vendor/github.com/go-xorm/xorm/session_delete.go new file mode 100644 index 000000000..688b122ca --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_delete.go @@ -0,0 +1,240 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "strconv" + + "github.com/go-xorm/core" +) + +func (session *Session) cacheDelete(table *core.Table, tableName, sqlStr string, args ...interface{}) error { + if table == nil || + session.tx != nil { + return ErrCacheFailed + } + + for _, filter := range session.engine.dialect.Filters() { + sqlStr = filter.Do(sqlStr, session.engine.dialect, table) + } + + newsql := session.statement.convertIDSQL(sqlStr) + if newsql == "" { + return ErrCacheFailed + } + + cacher := session.engine.getCacher2(table) + pkColumns := table.PKColumns() + ids, err := core.GetCacheSql(cacher, tableName, newsql, args) + if err != nil { + resultsSlice, err := session.queryBytes(newsql, args...) + if err != nil { + return err + } + ids = make([]core.PK, 0) + if len(resultsSlice) > 0 { + for _, data := range resultsSlice { + var id int64 + var pk core.PK = make([]interface{}, 0) + for _, col := range pkColumns { + if v, ok := data[col.Name]; !ok { + return errors.New("no id") + } else if col.SQLType.IsText() { + pk = append(pk, string(v)) + } else if col.SQLType.IsNumeric() { + id, err = strconv.ParseInt(string(v), 10, 64) + if err != nil { + return err + } + pk = append(pk, id) + } else { + return errors.New("not supported primary key type") + } + } + ids = append(ids, pk) + } + } + } + + for _, id := range ids { + session.engine.logger.Debug("[cacheDelete] delete cache obj:", tableName, id) + sid, err := id.ToString() + if err != nil { + return err + } + cacher.DelBean(tableName, sid) + } + session.engine.logger.Debug("[cacheDelete] clear cache table:", tableName) + cacher.ClearIds(tableName) + return nil +} + +// Delete records, bean's non-empty fields are conditions +func (session *Session) Delete(bean interface{}) (int64, error) { + if session.isAutoClose { + defer session.Close() + } + + if err := session.statement.setRefValue(rValue(bean)); err != nil { + return 0, err + } + + // handle before delete processors + for _, closure := range session.beforeClosures { + closure(bean) + } + cleanupProcessorsClosures(&session.beforeClosures) + + if processor, ok := interface{}(bean).(BeforeDeleteProcessor); ok { + processor.BeforeDelete() + } + + condSQL, condArgs, err := session.statement.genConds(bean) + if err != nil { + return 0, err + } + if len(condSQL) == 0 && session.statement.LimitN == 0 { + return 0, ErrNeedDeletedCond + } + + var tableNameNoQuote = session.statement.TableName() + var tableName = session.engine.Quote(tableNameNoQuote) + var table = session.statement.RefTable + var deleteSQL string + if len(condSQL) > 0 { + deleteSQL = fmt.Sprintf("DELETE FROM %v WHERE %v", tableName, condSQL) + } else { + deleteSQL = fmt.Sprintf("DELETE FROM %v", tableName) + } + + var orderSQL string + if len(session.statement.OrderStr) > 0 { + orderSQL += fmt.Sprintf(" ORDER BY %s", session.statement.OrderStr) + } + if session.statement.LimitN > 0 { + orderSQL += fmt.Sprintf(" LIMIT %d", session.statement.LimitN) + } + + if len(orderSQL) > 0 { + switch session.engine.dialect.DBType() { + case core.POSTGRES: + inSQL := fmt.Sprintf("ctid IN (SELECT ctid FROM %s%s)", tableName, orderSQL) + if len(condSQL) > 0 { + deleteSQL += " AND " + inSQL + } else { + deleteSQL += " WHERE " + inSQL + } + case core.SQLITE: + inSQL := fmt.Sprintf("rowid IN (SELECT rowid FROM %s%s)", tableName, orderSQL) + if len(condSQL) > 0 { + deleteSQL += " AND " + inSQL + } else { + deleteSQL += " WHERE " + inSQL + } + // TODO: how to handle delete limit on mssql? + case core.MSSQL: + return 0, ErrNotImplemented + default: + deleteSQL += orderSQL + } + } + + var realSQL string + argsForCache := make([]interface{}, 0, len(condArgs)*2) + if session.statement.unscoped || table.DeletedColumn() == nil { // tag "deleted" is disabled + realSQL = deleteSQL + copy(argsForCache, condArgs) + argsForCache = append(condArgs, argsForCache...) + } else { + // !oinume! sqlStrForCache and argsForCache is needed to behave as executing "DELETE FROM ..." for cache. + copy(argsForCache, condArgs) + argsForCache = append(condArgs, argsForCache...) + + deletedColumn := table.DeletedColumn() + realSQL = fmt.Sprintf("UPDATE %v SET %v = ? WHERE %v", + session.engine.Quote(session.statement.TableName()), + session.engine.Quote(deletedColumn.Name), + condSQL) + + if len(orderSQL) > 0 { + switch session.engine.dialect.DBType() { + case core.POSTGRES: + inSQL := fmt.Sprintf("ctid IN (SELECT ctid FROM %s%s)", tableName, orderSQL) + if len(condSQL) > 0 { + realSQL += " AND " + inSQL + } else { + realSQL += " WHERE " + inSQL + } + case core.SQLITE: + inSQL := fmt.Sprintf("rowid IN (SELECT rowid FROM %s%s)", tableName, orderSQL) + if len(condSQL) > 0 { + realSQL += " AND " + inSQL + } else { + realSQL += " WHERE " + inSQL + } + // TODO: how to handle delete limit on mssql? + case core.MSSQL: + return 0, ErrNotImplemented + default: + realSQL += orderSQL + } + } + + // !oinume! Insert nowTime to the head of session.statement.Params + condArgs = append(condArgs, "") + paramsLen := len(condArgs) + copy(condArgs[1:paramsLen], condArgs[0:paramsLen-1]) + + val, t := session.engine.nowTime(deletedColumn) + condArgs[0] = val + + var colName = deletedColumn.Name + session.afterClosures = append(session.afterClosures, func(bean interface{}) { + col := table.GetColumn(colName) + setColumnTime(bean, col, t) + }) + } + + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheDelete(table, tableNameNoQuote, deleteSQL, argsForCache...) + } + + session.statement.RefTable = table + res, err := session.exec(realSQL, condArgs...) + if err != nil { + return 0, err + } + + // handle after delete processors + if session.isAutoCommit { + for _, closure := range session.afterClosures { + closure(bean) + } + if processor, ok := interface{}(bean).(AfterDeleteProcessor); ok { + processor.AfterDelete() + } + } else { + lenAfterClosures := len(session.afterClosures) + if lenAfterClosures > 0 { + if value, has := session.afterDeleteBeans[bean]; has && value != nil { + *value = append(*value, session.afterClosures...) + } else { + afterClosures := make([]func(interface{}), lenAfterClosures) + copy(afterClosures, session.afterClosures) + session.afterDeleteBeans[bean] = &afterClosures + } + } else { + if _, ok := interface{}(bean).(AfterDeleteProcessor); ok { + session.afterDeleteBeans[bean] = nil + } + } + } + cleanupProcessorsClosures(&session.afterClosures) + // -- + + return res.RowsAffected() +} diff --git a/vendor/github.com/go-xorm/xorm/session_exist.go b/vendor/github.com/go-xorm/xorm/session_exist.go new file mode 100644 index 000000000..049c1ddff --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_exist.go @@ -0,0 +1,77 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "reflect" + + "github.com/go-xorm/builder" +) + +// Exist returns true if the record exist otherwise return false +func (session *Session) Exist(bean ...interface{}) (bool, error) { + if session.isAutoClose { + defer session.Close() + } + + var sqlStr string + var args []interface{} + var err error + + if session.statement.RawSQL == "" { + if len(bean) == 0 { + tableName := session.statement.TableName() + if len(tableName) <= 0 { + return false, ErrTableNotFound + } + + if session.statement.cond.IsValid() { + condSQL, condArgs, err := builder.ToSQL(session.statement.cond) + if err != nil { + return false, err + } + + sqlStr = fmt.Sprintf("SELECT * FROM %s WHERE %s LIMIT 1", tableName, condSQL) + args = condArgs + } else { + sqlStr = fmt.Sprintf("SELECT * FROM %s LIMIT 1", tableName) + args = []interface{}{} + } + } else { + beanValue := reflect.ValueOf(bean[0]) + if beanValue.Kind() != reflect.Ptr { + return false, errors.New("needs a pointer") + } + + if beanValue.Elem().Kind() == reflect.Struct { + if err := session.statement.setRefValue(beanValue.Elem()); err != nil { + return false, err + } + } + + if len(session.statement.TableName()) <= 0 { + return false, ErrTableNotFound + } + session.statement.Limit(1) + sqlStr, args, err = session.statement.genGetSQL(bean[0]) + if err != nil { + return false, err + } + } + } else { + sqlStr = session.statement.RawSQL + args = session.statement.RawParams + } + + rows, err := session.queryRows(sqlStr, args...) + if err != nil { + return false, err + } + defer rows.Close() + + return rows.Next(), nil +} diff --git a/vendor/github.com/go-xorm/xorm/session_find.go b/vendor/github.com/go-xorm/xorm/session_find.go new file mode 100644 index 000000000..f95dcfef2 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_find.go @@ -0,0 +1,462 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "reflect" + "strings" + + "github.com/go-xorm/builder" + "github.com/go-xorm/core" +) + +const ( + tpStruct = iota + tpNonStruct +) + +// Find retrieve records from table, condiBeans's non-empty fields +// are conditions. beans could be []Struct, []*Struct, map[int64]Struct +// map[int64]*Struct +func (session *Session) Find(rowsSlicePtr interface{}, condiBean ...interface{}) error { + if session.isAutoClose { + defer session.Close() + } + return session.find(rowsSlicePtr, condiBean...) +} + +func (session *Session) find(rowsSlicePtr interface{}, condiBean ...interface{}) error { + sliceValue := reflect.Indirect(reflect.ValueOf(rowsSlicePtr)) + if sliceValue.Kind() != reflect.Slice && sliceValue.Kind() != reflect.Map { + return errors.New("needs a pointer to a slice or a map") + } + + sliceElementType := sliceValue.Type().Elem() + + var tp = tpStruct + if session.statement.RefTable == nil { + if sliceElementType.Kind() == reflect.Ptr { + if sliceElementType.Elem().Kind() == reflect.Struct { + pv := reflect.New(sliceElementType.Elem()) + if err := session.statement.setRefValue(pv.Elem()); err != nil { + return err + } + } else { + tp = tpNonStruct + } + } else if sliceElementType.Kind() == reflect.Struct { + pv := reflect.New(sliceElementType) + if err := session.statement.setRefValue(pv.Elem()); err != nil { + return err + } + } else { + tp = tpNonStruct + } + } + + var table = session.statement.RefTable + + var addedTableName = (len(session.statement.JoinStr) > 0) + var autoCond builder.Cond + if tp == tpStruct { + if !session.statement.noAutoCondition && len(condiBean) > 0 { + var err error + autoCond, err = session.statement.buildConds(table, condiBean[0], true, true, false, true, addedTableName) + if err != nil { + return err + } + } else { + // !oinume! Add " IS NULL" to WHERE whatever condiBean is given. + // See https://github.com/go-xorm/xorm/issues/179 + if col := table.DeletedColumn(); col != nil && !session.statement.unscoped { // tag "deleted" is enabled + var colName = session.engine.Quote(col.Name) + if addedTableName { + var nm = session.statement.TableName() + if len(session.statement.TableAlias) > 0 { + nm = session.statement.TableAlias + } + colName = session.engine.Quote(nm) + "." + colName + } + + autoCond = session.engine.CondDeleted(colName) + } + } + } + + var sqlStr string + var args []interface{} + var err error + if session.statement.RawSQL == "" { + if len(session.statement.TableName()) <= 0 { + return ErrTableNotFound + } + + var columnStr = session.statement.ColumnStr + if len(session.statement.selectStr) > 0 { + columnStr = session.statement.selectStr + } else { + if session.statement.JoinStr == "" { + if columnStr == "" { + if session.statement.GroupByStr != "" { + columnStr = session.statement.Engine.Quote(strings.Replace(session.statement.GroupByStr, ",", session.engine.Quote(","), -1)) + } else { + columnStr = session.statement.genColumnStr() + } + } + } else { + if columnStr == "" { + if session.statement.GroupByStr != "" { + columnStr = session.statement.Engine.Quote(strings.Replace(session.statement.GroupByStr, ",", session.engine.Quote(","), -1)) + } else { + columnStr = "*" + } + } + } + if columnStr == "" { + columnStr = "*" + } + } + + session.statement.cond = session.statement.cond.And(autoCond) + condSQL, condArgs, err := builder.ToSQL(session.statement.cond) + if err != nil { + return err + } + + args = append(session.statement.joinArgs, condArgs...) + sqlStr, err = session.statement.genSelectSQL(columnStr, condSQL) + if err != nil { + return err + } + // for mssql and use limit + qs := strings.Count(sqlStr, "?") + if len(args)*2 == qs { + args = append(args, args...) + } + } else { + sqlStr = session.statement.RawSQL + args = session.statement.RawParams + } + + if session.canCache() { + if cacher := session.engine.getCacher2(table); cacher != nil && + !session.statement.IsDistinct && + !session.statement.unscoped { + err = session.cacheFind(sliceElementType, sqlStr, rowsSlicePtr, args...) + if err != ErrCacheFailed { + return err + } + err = nil // !nashtsai! reset err to nil for ErrCacheFailed + session.engine.logger.Warn("Cache Find Failed") + } + } + + return session.noCacheFind(table, sliceValue, sqlStr, args...) +} + +func (session *Session) noCacheFind(table *core.Table, containerValue reflect.Value, sqlStr string, args ...interface{}) error { + rows, err := session.queryRows(sqlStr, args...) + if err != nil { + return err + } + defer rows.Close() + + fields, err := rows.Columns() + if err != nil { + return err + } + + var newElemFunc func(fields []string) reflect.Value + elemType := containerValue.Type().Elem() + var isPointer bool + if elemType.Kind() == reflect.Ptr { + isPointer = true + elemType = elemType.Elem() + } + if elemType.Kind() == reflect.Ptr { + return errors.New("pointer to pointer is not supported") + } + + newElemFunc = func(fields []string) reflect.Value { + switch elemType.Kind() { + case reflect.Slice: + slice := reflect.MakeSlice(elemType, len(fields), len(fields)) + x := reflect.New(slice.Type()) + x.Elem().Set(slice) + return x + case reflect.Map: + mp := reflect.MakeMap(elemType) + x := reflect.New(mp.Type()) + x.Elem().Set(mp) + return x + } + return reflect.New(elemType) + } + + var containerValueSetFunc func(*reflect.Value, core.PK) error + + if containerValue.Kind() == reflect.Slice { + containerValueSetFunc = func(newValue *reflect.Value, pk core.PK) error { + if isPointer { + containerValue.Set(reflect.Append(containerValue, newValue.Elem().Addr())) + } else { + containerValue.Set(reflect.Append(containerValue, newValue.Elem())) + } + return nil + } + } else { + keyType := containerValue.Type().Key() + if len(table.PrimaryKeys) == 0 { + return errors.New("don't support multiple primary key's map has non-slice key type") + } + if len(table.PrimaryKeys) > 1 && keyType.Kind() != reflect.Slice { + return errors.New("don't support multiple primary key's map has non-slice key type") + } + + containerValueSetFunc = func(newValue *reflect.Value, pk core.PK) error { + keyValue := reflect.New(keyType) + err := convertPKToValue(table, keyValue.Interface(), pk) + if err != nil { + return err + } + if isPointer { + containerValue.SetMapIndex(keyValue.Elem(), newValue.Elem().Addr()) + } else { + containerValue.SetMapIndex(keyValue.Elem(), newValue.Elem()) + } + return nil + } + } + + if elemType.Kind() == reflect.Struct { + var newValue = newElemFunc(fields) + dataStruct := rValue(newValue.Interface()) + tb, err := session.engine.autoMapType(dataStruct) + if err != nil { + return err + } + err = session.rows2Beans(rows, fields, tb, newElemFunc, containerValueSetFunc) + rows.Close() + if err != nil { + return err + } + return session.executeProcessors() + } + + for rows.Next() { + var newValue = newElemFunc(fields) + bean := newValue.Interface() + + switch elemType.Kind() { + case reflect.Slice: + err = rows.ScanSlice(bean) + case reflect.Map: + err = rows.ScanMap(bean) + default: + err = rows.Scan(bean) + } + + if err != nil { + return err + } + + if err := containerValueSetFunc(&newValue, nil); err != nil { + return err + } + } + return nil +} + +func convertPKToValue(table *core.Table, dst interface{}, pk core.PK) error { + cols := table.PKColumns() + if len(cols) == 1 { + return convertAssign(dst, pk[0]) + } + + dst = pk + return nil +} + +func (session *Session) cacheFind(t reflect.Type, sqlStr string, rowsSlicePtr interface{}, args ...interface{}) (err error) { + if !session.canCache() || + indexNoCase(sqlStr, "having") != -1 || + indexNoCase(sqlStr, "group by") != -1 { + return ErrCacheFailed + } + + for _, filter := range session.engine.dialect.Filters() { + sqlStr = filter.Do(sqlStr, session.engine.dialect, session.statement.RefTable) + } + + newsql := session.statement.convertIDSQL(sqlStr) + if newsql == "" { + return ErrCacheFailed + } + + tableName := session.statement.TableName() + table := session.statement.RefTable + cacher := session.engine.getCacher2(table) + ids, err := core.GetCacheSql(cacher, tableName, newsql, args) + if err != nil { + rows, err := session.queryRows(newsql, args...) + if err != nil { + return err + } + defer rows.Close() + + var i int + ids = make([]core.PK, 0) + for rows.Next() { + i++ + if i > 500 { + session.engine.logger.Debug("[cacheFind] ids length > 500, no cache") + return ErrCacheFailed + } + var res = make([]string, len(table.PrimaryKeys)) + err = rows.ScanSlice(&res) + if err != nil { + return err + } + var pk core.PK = make([]interface{}, len(table.PrimaryKeys)) + for i, col := range table.PKColumns() { + pk[i], err = session.engine.idTypeAssertion(col, res[i]) + if err != nil { + return err + } + } + + ids = append(ids, pk) + } + + session.engine.logger.Debug("[cacheFind] cache sql:", ids, tableName, sqlStr, newsql, args) + err = core.PutCacheSql(cacher, ids, tableName, newsql, args) + if err != nil { + return err + } + } else { + session.engine.logger.Debug("[cacheFind] cache hit sql:", tableName, sqlStr, newsql, args) + } + + sliceValue := reflect.Indirect(reflect.ValueOf(rowsSlicePtr)) + + ididxes := make(map[string]int) + var ides []core.PK + var temps = make([]interface{}, len(ids)) + + for idx, id := range ids { + sid, err := id.ToString() + if err != nil { + return err + } + bean := cacher.GetBean(tableName, sid) + if bean == nil || reflect.ValueOf(bean).Elem().Type() != t { + ides = append(ides, id) + ididxes[sid] = idx + } else { + session.engine.logger.Debug("[cacheFind] cache hit bean:", tableName, id, bean) + + pk := session.engine.IdOf(bean) + xid, err := pk.ToString() + if err != nil { + return err + } + + if sid != xid { + session.engine.logger.Error("[cacheFind] error cache", xid, sid, bean) + return ErrCacheFailed + } + temps[idx] = bean + } + } + + if len(ides) > 0 { + slices := reflect.New(reflect.SliceOf(t)) + beans := slices.Interface() + + if len(table.PrimaryKeys) == 1 { + ff := make([]interface{}, 0, len(ides)) + for _, ie := range ides { + ff = append(ff, ie[0]) + } + + session.In("`"+table.PrimaryKeys[0]+"`", ff...) + } else { + for _, ie := range ides { + cond := builder.NewCond() + for i, name := range table.PrimaryKeys { + cond = cond.And(builder.Eq{"`" + name + "`": ie[i]}) + } + session.Or(cond) + } + } + + err = session.NoCache().Table(tableName).find(beans) + if err != nil { + return err + } + + vs := reflect.Indirect(reflect.ValueOf(beans)) + for i := 0; i < vs.Len(); i++ { + rv := vs.Index(i) + if rv.Kind() != reflect.Ptr { + rv = rv.Addr() + } + id, err := session.engine.idOfV(rv) + if err != nil { + return err + } + sid, err := id.ToString() + if err != nil { + return err + } + + bean := rv.Interface() + temps[ididxes[sid]] = bean + session.engine.logger.Debug("[cacheFind] cache bean:", tableName, id, bean, temps) + cacher.PutBean(tableName, sid, bean) + } + } + + for j := 0; j < len(temps); j++ { + bean := temps[j] + if bean == nil { + session.engine.logger.Warn("[cacheFind] cache no hit:", tableName, ids[j], temps) + // return errors.New("cache error") // !nashtsai! no need to return error, but continue instead + continue + } + if sliceValue.Kind() == reflect.Slice { + if t.Kind() == reflect.Ptr { + sliceValue.Set(reflect.Append(sliceValue, reflect.ValueOf(bean))) + } else { + sliceValue.Set(reflect.Append(sliceValue, reflect.Indirect(reflect.ValueOf(bean)))) + } + } else if sliceValue.Kind() == reflect.Map { + var key = ids[j] + keyType := sliceValue.Type().Key() + var ikey interface{} + if len(key) == 1 { + ikey, err = str2PK(fmt.Sprintf("%v", key[0]), keyType) + if err != nil { + return err + } + } else { + if keyType.Kind() != reflect.Slice { + return errors.New("table have multiple primary keys, key is not core.PK or slice") + } + ikey = key + } + + if t.Kind() == reflect.Ptr { + sliceValue.SetMapIndex(reflect.ValueOf(ikey), reflect.ValueOf(bean)) + } else { + sliceValue.SetMapIndex(reflect.ValueOf(ikey), reflect.Indirect(reflect.ValueOf(bean))) + } + } + } + + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/session_get.go b/vendor/github.com/go-xorm/xorm/session_get.go new file mode 100644 index 000000000..8faf53c02 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_get.go @@ -0,0 +1,203 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "reflect" + "strconv" + + "github.com/go-xorm/core" +) + +// Get retrieve one record from database, bean's non-empty fields +// will be as conditions +func (session *Session) Get(bean interface{}) (bool, error) { + if session.isAutoClose { + defer session.Close() + } + return session.get(bean) +} + +func (session *Session) get(bean interface{}) (bool, error) { + beanValue := reflect.ValueOf(bean) + if beanValue.Kind() != reflect.Ptr { + return false, errors.New("needs a pointer to a value") + } else if beanValue.Elem().Kind() == reflect.Ptr { + return false, errors.New("a pointer to a pointer is not allowed") + } + + if beanValue.Elem().Kind() == reflect.Struct { + if err := session.statement.setRefValue(beanValue.Elem()); err != nil { + return false, err + } + } + + var sqlStr string + var args []interface{} + var err error + + if session.statement.RawSQL == "" { + if len(session.statement.TableName()) <= 0 { + return false, ErrTableNotFound + } + session.statement.Limit(1) + sqlStr, args, err = session.statement.genGetSQL(bean) + if err != nil { + return false, err + } + } else { + sqlStr = session.statement.RawSQL + args = session.statement.RawParams + } + + table := session.statement.RefTable + + if session.canCache() && beanValue.Elem().Kind() == reflect.Struct { + if cacher := session.engine.getCacher2(table); cacher != nil && + !session.statement.unscoped { + has, err := session.cacheGet(bean, sqlStr, args...) + if err != ErrCacheFailed { + return has, err + } + } + } + + return session.nocacheGet(beanValue.Elem().Kind(), table, bean, sqlStr, args...) +} + +func (session *Session) nocacheGet(beanKind reflect.Kind, table *core.Table, bean interface{}, sqlStr string, args ...interface{}) (bool, error) { + rows, err := session.queryRows(sqlStr, args...) + if err != nil { + return false, err + } + defer rows.Close() + + if !rows.Next() { + return false, nil + } + + switch beanKind { + case reflect.Struct: + fields, err := rows.Columns() + if err != nil { + // WARN: Alougth rows return true, but get fields failed + return true, err + } + + scanResults, err := session.row2Slice(rows, fields, bean) + if err != nil { + return false, err + } + // close it before covert data + rows.Close() + + dataStruct := rValue(bean) + _, err = session.slice2Bean(scanResults, fields, bean, &dataStruct, table) + if err != nil { + return true, err + } + + return true, session.executeProcessors() + case reflect.Slice: + err = rows.ScanSlice(bean) + case reflect.Map: + err = rows.ScanMap(bean) + default: + err = rows.Scan(bean) + } + + return true, err +} + +func (session *Session) cacheGet(bean interface{}, sqlStr string, args ...interface{}) (has bool, err error) { + // if has no reftable, then don't use cache currently + if !session.canCache() { + return false, ErrCacheFailed + } + + for _, filter := range session.engine.dialect.Filters() { + sqlStr = filter.Do(sqlStr, session.engine.dialect, session.statement.RefTable) + } + newsql := session.statement.convertIDSQL(sqlStr) + if newsql == "" { + return false, ErrCacheFailed + } + + cacher := session.engine.getCacher2(session.statement.RefTable) + tableName := session.statement.TableName() + session.engine.logger.Debug("[cacheGet] find sql:", newsql, args) + table := session.statement.RefTable + ids, err := core.GetCacheSql(cacher, tableName, newsql, args) + if err != nil { + var res = make([]string, len(table.PrimaryKeys)) + rows, err := session.NoCache().queryRows(newsql, args...) + if err != nil { + return false, err + } + defer rows.Close() + + if rows.Next() { + err = rows.ScanSlice(&res) + if err != nil { + return false, err + } + } else { + return false, ErrCacheFailed + } + + var pk core.PK = make([]interface{}, len(table.PrimaryKeys)) + for i, col := range table.PKColumns() { + if col.SQLType.IsText() { + pk[i] = res[i] + } else if col.SQLType.IsNumeric() { + n, err := strconv.ParseInt(res[i], 10, 64) + if err != nil { + return false, err + } + pk[i] = n + } else { + return false, errors.New("unsupported") + } + } + + ids = []core.PK{pk} + session.engine.logger.Debug("[cacheGet] cache ids:", newsql, ids) + err = core.PutCacheSql(cacher, ids, tableName, newsql, args) + if err != nil { + return false, err + } + } else { + session.engine.logger.Debug("[cacheGet] cache hit sql:", newsql, ids) + } + + if len(ids) > 0 { + structValue := reflect.Indirect(reflect.ValueOf(bean)) + id := ids[0] + session.engine.logger.Debug("[cacheGet] get bean:", tableName, id) + sid, err := id.ToString() + if err != nil { + return false, err + } + cacheBean := cacher.GetBean(tableName, sid) + if cacheBean == nil { + cacheBean = bean + has, err = session.nocacheGet(reflect.Struct, table, cacheBean, sqlStr, args...) + if err != nil || !has { + return has, err + } + + session.engine.logger.Debug("[cacheGet] cache bean:", tableName, id, cacheBean) + cacher.PutBean(tableName, sid, cacheBean) + } else { + session.engine.logger.Debug("[cacheGet] cache hit bean:", tableName, id, cacheBean) + has = true + } + structValue.Set(reflect.Indirect(reflect.ValueOf(cacheBean))) + + return has, nil + } + return false, nil +} diff --git a/vendor/github.com/go-xorm/xorm/session_insert.go b/vendor/github.com/go-xorm/xorm/session_insert.go new file mode 100644 index 000000000..478501f0b --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_insert.go @@ -0,0 +1,554 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "strings" + + "github.com/go-xorm/core" +) + +// Insert insert one or more beans +func (session *Session) Insert(beans ...interface{}) (int64, error) { + var affected int64 + var err error + + if session.isAutoClose { + defer session.Close() + } + + for _, bean := range beans { + sliceValue := reflect.Indirect(reflect.ValueOf(bean)) + if sliceValue.Kind() == reflect.Slice { + size := sliceValue.Len() + if size > 0 { + if session.engine.SupportInsertMany() { + cnt, err := session.innerInsertMulti(bean) + if err != nil { + return affected, err + } + affected += cnt + } else { + for i := 0; i < size; i++ { + cnt, err := session.innerInsert(sliceValue.Index(i).Interface()) + if err != nil { + return affected, err + } + affected += cnt + } + } + } + } else { + cnt, err := session.innerInsert(bean) + if err != nil { + return affected, err + } + affected += cnt + } + } + + return affected, err +} + +func (session *Session) innerInsertMulti(rowsSlicePtr interface{}) (int64, error) { + sliceValue := reflect.Indirect(reflect.ValueOf(rowsSlicePtr)) + if sliceValue.Kind() != reflect.Slice { + return 0, errors.New("needs a pointer to a slice") + } + + if sliceValue.Len() <= 0 { + return 0, errors.New("could not insert a empty slice") + } + + if err := session.statement.setRefValue(reflect.ValueOf(sliceValue.Index(0).Interface())); err != nil { + return 0, err + } + + if len(session.statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + + table := session.statement.RefTable + size := sliceValue.Len() + + var colNames []string + var colMultiPlaces []string + var args []interface{} + var cols []*core.Column + + for i := 0; i < size; i++ { + v := sliceValue.Index(i) + vv := reflect.Indirect(v) + elemValue := v.Interface() + var colPlaces []string + + // handle BeforeInsertProcessor + // !nashtsai! does user expect it's same slice to passed closure when using Before()/After() when insert multi?? + for _, closure := range session.beforeClosures { + closure(elemValue) + } + + if processor, ok := interface{}(elemValue).(BeforeInsertProcessor); ok { + processor.BeforeInsert() + } + // -- + + if i == 0 { + for _, col := range table.Columns() { + ptrFieldValue, err := col.ValueOfV(&vv) + if err != nil { + return 0, err + } + fieldValue := *ptrFieldValue + if col.IsAutoIncrement && isZero(fieldValue.Interface()) { + continue + } + if col.MapType == core.ONLYFROMDB { + continue + } + if col.IsDeleted { + continue + } + if session.statement.ColumnStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { + continue + } + } + if session.statement.OmitStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); ok { + continue + } + } + if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime { + val, t := session.engine.nowTime(col) + args = append(args, val) + + var colName = col.Name + session.afterClosures = append(session.afterClosures, func(bean interface{}) { + col := table.GetColumn(colName) + setColumnTime(bean, col, t) + }) + } else if col.IsVersion && session.statement.checkVersion { + args = append(args, 1) + var colName = col.Name + session.afterClosures = append(session.afterClosures, func(bean interface{}) { + col := table.GetColumn(colName) + setColumnInt(bean, col, 1) + }) + } else { + arg, err := session.value2Interface(col, fieldValue) + if err != nil { + return 0, err + } + args = append(args, arg) + } + + colNames = append(colNames, col.Name) + cols = append(cols, col) + colPlaces = append(colPlaces, "?") + } + } else { + for _, col := range cols { + ptrFieldValue, err := col.ValueOfV(&vv) + if err != nil { + return 0, err + } + fieldValue := *ptrFieldValue + + if col.IsAutoIncrement && isZero(fieldValue.Interface()) { + continue + } + if col.MapType == core.ONLYFROMDB { + continue + } + if col.IsDeleted { + continue + } + if session.statement.ColumnStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); !ok { + continue + } + } + if session.statement.OmitStr != "" { + if _, ok := getFlagForColumn(session.statement.columnMap, col); ok { + continue + } + } + if (col.IsCreated || col.IsUpdated) && session.statement.UseAutoTime { + val, t := session.engine.nowTime(col) + args = append(args, val) + + var colName = col.Name + session.afterClosures = append(session.afterClosures, func(bean interface{}) { + col := table.GetColumn(colName) + setColumnTime(bean, col, t) + }) + } else if col.IsVersion && session.statement.checkVersion { + args = append(args, 1) + var colName = col.Name + session.afterClosures = append(session.afterClosures, func(bean interface{}) { + col := table.GetColumn(colName) + setColumnInt(bean, col, 1) + }) + } else { + arg, err := session.value2Interface(col, fieldValue) + if err != nil { + return 0, err + } + args = append(args, arg) + } + + colPlaces = append(colPlaces, "?") + } + } + colMultiPlaces = append(colMultiPlaces, strings.Join(colPlaces, ", ")) + } + cleanupProcessorsClosures(&session.beforeClosures) + + var sql = "INSERT INTO %s (%v%v%v) VALUES (%v)" + var statement string + var tableName = session.statement.TableName() + if session.engine.dialect.DBType() == core.ORACLE { + sql = "INSERT ALL INTO %s (%v%v%v) VALUES (%v) SELECT 1 FROM DUAL" + temp := fmt.Sprintf(") INTO %s (%v%v%v) VALUES (", + session.engine.Quote(tableName), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()), + session.engine.QuoteStr()) + statement = fmt.Sprintf(sql, + session.engine.Quote(tableName), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()), + session.engine.QuoteStr(), + strings.Join(colMultiPlaces, temp)) + } else { + statement = fmt.Sprintf(sql, + session.engine.Quote(tableName), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.QuoteStr()+", "+session.engine.QuoteStr()), + session.engine.QuoteStr(), + strings.Join(colMultiPlaces, "),(")) + } + res, err := session.exec(statement, args...) + if err != nil { + return 0, err + } + + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(table, tableName) + } + + lenAfterClosures := len(session.afterClosures) + for i := 0; i < size; i++ { + elemValue := reflect.Indirect(sliceValue.Index(i)).Addr().Interface() + + // handle AfterInsertProcessor + if session.isAutoCommit { + // !nashtsai! does user expect it's same slice to passed closure when using Before()/After() when insert multi?? + for _, closure := range session.afterClosures { + closure(elemValue) + } + if processor, ok := interface{}(elemValue).(AfterInsertProcessor); ok { + processor.AfterInsert() + } + } else { + if lenAfterClosures > 0 { + if value, has := session.afterInsertBeans[elemValue]; has && value != nil { + *value = append(*value, session.afterClosures...) + } else { + afterClosures := make([]func(interface{}), lenAfterClosures) + copy(afterClosures, session.afterClosures) + session.afterInsertBeans[elemValue] = &afterClosures + } + } else { + if _, ok := interface{}(elemValue).(AfterInsertProcessor); ok { + session.afterInsertBeans[elemValue] = nil + } + } + } + } + + cleanupProcessorsClosures(&session.afterClosures) + return res.RowsAffected() +} + +// InsertMulti insert multiple records +func (session *Session) InsertMulti(rowsSlicePtr interface{}) (int64, error) { + if session.isAutoClose { + defer session.Close() + } + + sliceValue := reflect.Indirect(reflect.ValueOf(rowsSlicePtr)) + if sliceValue.Kind() != reflect.Slice { + return 0, ErrParamsType + + } + + if sliceValue.Len() <= 0 { + return 0, nil + } + + return session.innerInsertMulti(rowsSlicePtr) +} + +func (session *Session) innerInsert(bean interface{}) (int64, error) { + if err := session.statement.setRefValue(rValue(bean)); err != nil { + return 0, err + } + if len(session.statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + + table := session.statement.RefTable + + // handle BeforeInsertProcessor + for _, closure := range session.beforeClosures { + closure(bean) + } + cleanupProcessorsClosures(&session.beforeClosures) // cleanup after used + + if processor, ok := interface{}(bean).(BeforeInsertProcessor); ok { + processor.BeforeInsert() + } + // -- + colNames, args, err := genCols(session.statement.RefTable, session, bean, false, false) + if err != nil { + return 0, err + } + // insert expr columns, override if exists + exprColumns := session.statement.getExpr() + exprColVals := make([]string, 0, len(exprColumns)) + for _, v := range exprColumns { + // remove the expr columns + for i, colName := range colNames { + if colName == v.colName { + colNames = append(colNames[:i], colNames[i+1:]...) + args = append(args[:i], args[i+1:]...) + } + } + + // append expr column to the end + colNames = append(colNames, v.colName) + exprColVals = append(exprColVals, v.expr) + } + + colPlaces := strings.Repeat("?, ", len(colNames)-len(exprColumns)) + if len(exprColVals) > 0 { + colPlaces = colPlaces + strings.Join(exprColVals, ", ") + } else { + if len(colPlaces) > 0 { + colPlaces = colPlaces[0 : len(colPlaces)-2] + } + } + + var sqlStr string + var tableName = session.statement.TableName() + if len(colPlaces) > 0 { + sqlStr = fmt.Sprintf("INSERT INTO %s (%v%v%v) VALUES (%v)", + session.engine.Quote(tableName), + session.engine.QuoteStr(), + strings.Join(colNames, session.engine.Quote(", ")), + session.engine.QuoteStr(), + colPlaces) + } else { + if session.engine.dialect.DBType() == core.MYSQL { + sqlStr = fmt.Sprintf("INSERT INTO %s VALUES ()", session.engine.Quote(tableName)) + } else { + sqlStr = fmt.Sprintf("INSERT INTO %s DEFAULT VALUES", session.engine.Quote(tableName)) + } + } + + handleAfterInsertProcessorFunc := func(bean interface{}) { + if session.isAutoCommit { + for _, closure := range session.afterClosures { + closure(bean) + } + if processor, ok := interface{}(bean).(AfterInsertProcessor); ok { + processor.AfterInsert() + } + } else { + lenAfterClosures := len(session.afterClosures) + if lenAfterClosures > 0 { + if value, has := session.afterInsertBeans[bean]; has && value != nil { + *value = append(*value, session.afterClosures...) + } else { + afterClosures := make([]func(interface{}), lenAfterClosures) + copy(afterClosures, session.afterClosures) + session.afterInsertBeans[bean] = &afterClosures + } + + } else { + if _, ok := interface{}(bean).(AfterInsertProcessor); ok { + session.afterInsertBeans[bean] = nil + } + } + } + cleanupProcessorsClosures(&session.afterClosures) // cleanup after used + } + + // for postgres, many of them didn't implement lastInsertId, so we should + // implemented it ourself. + if session.engine.dialect.DBType() == core.ORACLE && len(table.AutoIncrement) > 0 { + res, err := session.queryBytes("select seq_atable.currval from dual", args...) + if err != nil { + return 0, err + } + + handleAfterInsertProcessorFunc(bean) + + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(table, tableName) + } + + if table.Version != "" && session.statement.checkVersion { + verValue, err := table.VersionColumn().ValueOf(bean) + if err != nil { + session.engine.logger.Error(err) + } else if verValue.IsValid() && verValue.CanSet() { + verValue.SetInt(1) + } + } + + if len(res) < 1 { + return 0, errors.New("insert no error but not returned id") + } + + idByte := res[0][table.AutoIncrement] + id, err := strconv.ParseInt(string(idByte), 10, 64) + if err != nil || id <= 0 { + return 1, err + } + + aiValue, err := table.AutoIncrColumn().ValueOf(bean) + if err != nil { + session.engine.logger.Error(err) + } + + if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() { + return 1, nil + } + + aiValue.Set(int64ToIntValue(id, aiValue.Type())) + + return 1, nil + } else if session.engine.dialect.DBType() == core.POSTGRES && len(table.AutoIncrement) > 0 { + //assert table.AutoIncrement != "" + sqlStr = sqlStr + " RETURNING " + session.engine.Quote(table.AutoIncrement) + res, err := session.queryBytes(sqlStr, args...) + + if err != nil { + return 0, err + } + handleAfterInsertProcessorFunc(bean) + + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(table, tableName) + } + + if table.Version != "" && session.statement.checkVersion { + verValue, err := table.VersionColumn().ValueOf(bean) + if err != nil { + session.engine.logger.Error(err) + } else if verValue.IsValid() && verValue.CanSet() { + verValue.SetInt(1) + } + } + + if len(res) < 1 { + return 0, errors.New("insert no error but not returned id") + } + + idByte := res[0][table.AutoIncrement] + id, err := strconv.ParseInt(string(idByte), 10, 64) + if err != nil || id <= 0 { + return 1, err + } + + aiValue, err := table.AutoIncrColumn().ValueOf(bean) + if err != nil { + session.engine.logger.Error(err) + } + + if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() { + return 1, nil + } + + aiValue.Set(int64ToIntValue(id, aiValue.Type())) + + return 1, nil + } else { + res, err := session.exec(sqlStr, args...) + if err != nil { + return 0, err + } + + defer handleAfterInsertProcessorFunc(bean) + + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + session.cacheInsert(table, tableName) + } + + if table.Version != "" && session.statement.checkVersion { + verValue, err := table.VersionColumn().ValueOf(bean) + if err != nil { + session.engine.logger.Error(err) + } else if verValue.IsValid() && verValue.CanSet() { + verValue.SetInt(1) + } + } + + if table.AutoIncrement == "" { + return res.RowsAffected() + } + + var id int64 + id, err = res.LastInsertId() + if err != nil || id <= 0 { + return res.RowsAffected() + } + + aiValue, err := table.AutoIncrColumn().ValueOf(bean) + if err != nil { + session.engine.logger.Error(err) + } + + if aiValue == nil || !aiValue.IsValid() || !aiValue.CanSet() { + return res.RowsAffected() + } + + aiValue.Set(int64ToIntValue(id, aiValue.Type())) + + return res.RowsAffected() + } +} + +// InsertOne insert only one struct into database as a record. +// The in parameter bean must a struct or a point to struct. The return +// parameter is inserted and error +func (session *Session) InsertOne(bean interface{}) (int64, error) { + if session.isAutoClose { + defer session.Close() + } + + return session.innerInsert(bean) +} + +func (session *Session) cacheInsert(table *core.Table, tables ...string) error { + if table == nil { + return ErrCacheFailed + } + + cacher := session.engine.getCacher2(table) + for _, t := range tables { + session.engine.logger.Debug("[cache] clear sql:", t) + cacher.ClearIds(t) + } + + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/session_iterate.go b/vendor/github.com/go-xorm/xorm/session_iterate.go new file mode 100644 index 000000000..071fce499 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_iterate.go @@ -0,0 +1,96 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import "reflect" + +// IterFunc only use by Iterate +type IterFunc func(idx int, bean interface{}) error + +// Rows return sql.Rows compatible Rows obj, as a forward Iterator object for iterating record by record, bean's non-empty fields +// are conditions. +func (session *Session) Rows(bean interface{}) (*Rows, error) { + return newRows(session, bean) +} + +// Iterate record by record handle records from table, condiBeans's non-empty fields +// are conditions. beans could be []Struct, []*Struct, map[int64]Struct +// map[int64]*Struct +func (session *Session) Iterate(bean interface{}, fun IterFunc) error { + if session.isAutoClose { + defer session.Close() + } + + if session.statement.bufferSize > 0 { + return session.bufferIterate(bean, fun) + } + + rows, err := session.Rows(bean) + if err != nil { + return err + } + defer rows.Close() + + i := 0 + for rows.Next() { + b := reflect.New(rows.beanType).Interface() + err = rows.Scan(b) + if err != nil { + return err + } + err = fun(i, b) + if err != nil { + return err + } + i++ + } + return err +} + +// BufferSize sets the buffersize for iterate +func (session *Session) BufferSize(size int) *Session { + session.statement.bufferSize = size + return session +} + +func (session *Session) bufferIterate(bean interface{}, fun IterFunc) error { + if session.isAutoClose { + defer session.Close() + } + + var bufferSize = session.statement.bufferSize + var limit = session.statement.LimitN + if limit > 0 && bufferSize > limit { + bufferSize = limit + } + var start = session.statement.Start + v := rValue(bean) + sliceType := reflect.SliceOf(v.Type()) + var idx = 0 + for { + slice := reflect.New(sliceType) + if err := session.Limit(bufferSize, start).find(slice.Interface(), bean); err != nil { + return err + } + + for i := 0; i < slice.Elem().Len(); i++ { + if err := fun(idx, slice.Elem().Index(i).Addr().Interface()); err != nil { + return err + } + idx++ + } + + start = start + slice.Elem().Len() + if limit > 0 && idx+bufferSize > limit { + bufferSize = limit - idx + } + + if bufferSize <= 0 || slice.Elem().Len() < bufferSize || idx == limit { + break + } + } + + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/session_query.go b/vendor/github.com/go-xorm/xorm/session_query.go new file mode 100644 index 000000000..a693bace3 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_query.go @@ -0,0 +1,177 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "fmt" + "reflect" + "strconv" + "time" + + "github.com/go-xorm/core" +) + +// Query runs a raw sql and return records as []map[string][]byte +func (session *Session) Query(sqlStr string, args ...interface{}) ([]map[string][]byte, error) { + if session.isAutoClose { + defer session.Close() + } + + return session.queryBytes(sqlStr, args...) +} + +func value2String(rawValue *reflect.Value) (str string, err error) { + aa := reflect.TypeOf((*rawValue).Interface()) + vv := reflect.ValueOf((*rawValue).Interface()) + switch aa.Kind() { + case reflect.Int, reflect.Int8, reflect.Int16, reflect.Int32, reflect.Int64: + str = strconv.FormatInt(vv.Int(), 10) + case reflect.Uint, reflect.Uint8, reflect.Uint16, reflect.Uint32, reflect.Uint64: + str = strconv.FormatUint(vv.Uint(), 10) + case reflect.Float32, reflect.Float64: + str = strconv.FormatFloat(vv.Float(), 'f', -1, 64) + case reflect.String: + str = vv.String() + case reflect.Array, reflect.Slice: + switch aa.Elem().Kind() { + case reflect.Uint8: + data := rawValue.Interface().([]byte) + str = string(data) + if str == "\x00" { + str = "0" + } + default: + err = fmt.Errorf("Unsupported struct type %v", vv.Type().Name()) + } + // time type + case reflect.Struct: + if aa.ConvertibleTo(core.TimeType) { + str = vv.Convert(core.TimeType).Interface().(time.Time).Format(time.RFC3339Nano) + } else { + err = fmt.Errorf("Unsupported struct type %v", vv.Type().Name()) + } + case reflect.Bool: + str = strconv.FormatBool(vv.Bool()) + case reflect.Complex128, reflect.Complex64: + str = fmt.Sprintf("%v", vv.Complex()) + /* TODO: unsupported types below + case reflect.Map: + case reflect.Ptr: + case reflect.Uintptr: + case reflect.UnsafePointer: + case reflect.Chan, reflect.Func, reflect.Interface: + */ + default: + err = fmt.Errorf("Unsupported struct type %v", vv.Type().Name()) + } + return +} + +func row2mapStr(rows *core.Rows, fields []string) (resultsMap map[string]string, err error) { + result := make(map[string]string) + scanResultContainers := make([]interface{}, len(fields)) + for i := 0; i < len(fields); i++ { + var scanResultContainer interface{} + scanResultContainers[i] = &scanResultContainer + } + if err := rows.Scan(scanResultContainers...); err != nil { + return nil, err + } + + for ii, key := range fields { + rawValue := reflect.Indirect(reflect.ValueOf(scanResultContainers[ii])) + // if row is null then as empty string + if rawValue.Interface() == nil { + result[key] = "" + continue + } + + if data, err := value2String(&rawValue); err == nil { + result[key] = data + } else { + return nil, err + } + } + return result, nil +} + +func rows2Strings(rows *core.Rows) (resultsSlice []map[string]string, err error) { + fields, err := rows.Columns() + if err != nil { + return nil, err + } + for rows.Next() { + result, err := row2mapStr(rows, fields) + if err != nil { + return nil, err + } + resultsSlice = append(resultsSlice, result) + } + + return resultsSlice, nil +} + +// QueryString runs a raw sql and return records as []map[string]string +func (session *Session) QueryString(sqlStr string, args ...interface{}) ([]map[string]string, error) { + if session.isAutoClose { + defer session.Close() + } + + rows, err := session.queryRows(sqlStr, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + return rows2Strings(rows) +} + +func row2mapInterface(rows *core.Rows, fields []string) (resultsMap map[string]interface{}, err error) { + resultsMap = make(map[string]interface{}, len(fields)) + scanResultContainers := make([]interface{}, len(fields)) + for i := 0; i < len(fields); i++ { + var scanResultContainer interface{} + scanResultContainers[i] = &scanResultContainer + } + if err := rows.Scan(scanResultContainers...); err != nil { + return nil, err + } + + for ii, key := range fields { + resultsMap[key] = reflect.Indirect(reflect.ValueOf(scanResultContainers[ii])).Interface() + } + return +} + +func rows2Interfaces(rows *core.Rows) (resultsSlice []map[string]interface{}, err error) { + fields, err := rows.Columns() + if err != nil { + return nil, err + } + for rows.Next() { + result, err := row2mapInterface(rows, fields) + if err != nil { + return nil, err + } + resultsSlice = append(resultsSlice, result) + } + + return resultsSlice, nil +} + +// QueryInterface runs a raw sql and return records as []map[string]interface{} +func (session *Session) QueryInterface(sqlStr string, args ...interface{}) ([]map[string]interface{}, error) { + if session.isAutoClose { + defer session.Close() + } + + rows, err := session.queryRows(sqlStr, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + return rows2Interfaces(rows) +} diff --git a/vendor/github.com/go-xorm/xorm/session_raw.go b/vendor/github.com/go-xorm/xorm/session_raw.go new file mode 100644 index 000000000..c225598e6 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_raw.go @@ -0,0 +1,196 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql" + "reflect" + "time" + + "github.com/go-xorm/core" +) + +func (session *Session) queryPreprocess(sqlStr *string, paramStr ...interface{}) { + for _, filter := range session.engine.dialect.Filters() { + *sqlStr = filter.Do(*sqlStr, session.engine.dialect, session.statement.RefTable) + } + + session.lastSQL = *sqlStr + session.lastSQLArgs = paramStr +} + +func (session *Session) queryRows(sqlStr string, args ...interface{}) (*core.Rows, error) { + defer session.resetStatement() + + session.queryPreprocess(&sqlStr, args...) + + if session.engine.showSQL { + if session.engine.showExecTime { + b4ExecTime := time.Now() + defer func() { + execDuration := time.Since(b4ExecTime) + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %s %#v - took: %v", sqlStr, args, execDuration) + } else { + session.engine.logger.Infof("[SQL] %s - took: %v", sqlStr, execDuration) + } + }() + } else { + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %v %#v", sqlStr, args) + } else { + session.engine.logger.Infof("[SQL] %v", sqlStr) + } + } + } + + if session.isAutoCommit { + if session.prepareStmt { + // don't clear stmt since session will cache them + stmt, err := session.doPrepare(sqlStr) + if err != nil { + return nil, err + } + + rows, err := stmt.Query(args...) + if err != nil { + return nil, err + } + return rows, nil + } + + rows, err := session.DB().Query(sqlStr, args...) + if err != nil { + return nil, err + } + return rows, nil + } + + rows, err := session.tx.Query(sqlStr, args...) + if err != nil { + return nil, err + } + return rows, nil +} + +func (session *Session) queryRow(sqlStr string, args ...interface{}) *core.Row { + return core.NewRow(session.queryRows(sqlStr, args...)) +} + +func value2Bytes(rawValue *reflect.Value) ([]byte, error) { + str, err := value2String(rawValue) + if err != nil { + return nil, err + } + return []byte(str), nil +} + +func row2map(rows *core.Rows, fields []string) (resultsMap map[string][]byte, err error) { + result := make(map[string][]byte) + scanResultContainers := make([]interface{}, len(fields)) + for i := 0; i < len(fields); i++ { + var scanResultContainer interface{} + scanResultContainers[i] = &scanResultContainer + } + if err := rows.Scan(scanResultContainers...); err != nil { + return nil, err + } + + for ii, key := range fields { + rawValue := reflect.Indirect(reflect.ValueOf(scanResultContainers[ii])) + //if row is null then ignore + if rawValue.Interface() == nil { + result[key] = []byte{} + continue + } + + if data, err := value2Bytes(&rawValue); err == nil { + result[key] = data + } else { + return nil, err // !nashtsai! REVIEW, should return err or just error log? + } + } + return result, nil +} + +func rows2maps(rows *core.Rows) (resultsSlice []map[string][]byte, err error) { + fields, err := rows.Columns() + if err != nil { + return nil, err + } + for rows.Next() { + result, err := row2map(rows, fields) + if err != nil { + return nil, err + } + resultsSlice = append(resultsSlice, result) + } + + return resultsSlice, nil +} + +func (session *Session) queryBytes(sqlStr string, args ...interface{}) ([]map[string][]byte, error) { + rows, err := session.queryRows(sqlStr, args...) + if err != nil { + return nil, err + } + defer rows.Close() + + return rows2maps(rows) +} + +func (session *Session) exec(sqlStr string, args ...interface{}) (sql.Result, error) { + defer session.resetStatement() + + session.queryPreprocess(&sqlStr, args...) + + if session.engine.showSQL { + if session.engine.showExecTime { + b4ExecTime := time.Now() + defer func() { + execDuration := time.Since(b4ExecTime) + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %s %#v - took: %v", sqlStr, args, execDuration) + } else { + session.engine.logger.Infof("[SQL] %s - took: %v", sqlStr, execDuration) + } + }() + } else { + if len(args) > 0 { + session.engine.logger.Infof("[SQL] %v %#v", sqlStr, args) + } else { + session.engine.logger.Infof("[SQL] %v", sqlStr) + } + } + } + + if !session.isAutoCommit { + return session.tx.Exec(sqlStr, args...) + } + + if session.prepareStmt { + stmt, err := session.doPrepare(sqlStr) + if err != nil { + return nil, err + } + + res, err := stmt.Exec(args...) + if err != nil { + return nil, err + } + return res, nil + } + + return session.DB().Exec(sqlStr, args...) +} + +// Exec raw sql +func (session *Session) Exec(sqlStr string, args ...interface{}) (sql.Result, error) { + if session.isAutoClose { + defer session.Close() + } + + return session.exec(sqlStr, args...) +} diff --git a/vendor/github.com/go-xorm/xorm/session_schema.go b/vendor/github.com/go-xorm/xorm/session_schema.go new file mode 100644 index 000000000..a2708b736 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_schema.go @@ -0,0 +1,436 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql" + "errors" + "fmt" + "reflect" + "strings" + + "github.com/go-xorm/core" +) + +// Ping test if database is ok +func (session *Session) Ping() error { + if session.isAutoClose { + defer session.Close() + } + + session.engine.logger.Infof("PING DATABASE %v", session.engine.DriverName()) + return session.DB().Ping() +} + +// CreateTable create a table according a bean +func (session *Session) CreateTable(bean interface{}) error { + if session.isAutoClose { + defer session.Close() + } + + return session.createTable(bean) +} + +func (session *Session) createTable(bean interface{}) error { + v := rValue(bean) + if err := session.statement.setRefValue(v); err != nil { + return err + } + + sqlStr := session.statement.genCreateTableSQL() + _, err := session.exec(sqlStr) + return err +} + +// CreateIndexes create indexes +func (session *Session) CreateIndexes(bean interface{}) error { + if session.isAutoClose { + defer session.Close() + } + + return session.createIndexes(bean) +} + +func (session *Session) createIndexes(bean interface{}) error { + v := rValue(bean) + if err := session.statement.setRefValue(v); err != nil { + return err + } + + sqls := session.statement.genIndexSQL() + for _, sqlStr := range sqls { + _, err := session.exec(sqlStr) + if err != nil { + return err + } + } + return nil +} + +// CreateUniques create uniques +func (session *Session) CreateUniques(bean interface{}) error { + if session.isAutoClose { + defer session.Close() + } + return session.createUniques(bean) +} + +func (session *Session) createUniques(bean interface{}) error { + v := rValue(bean) + if err := session.statement.setRefValue(v); err != nil { + return err + } + + sqls := session.statement.genUniqueSQL() + for _, sqlStr := range sqls { + _, err := session.exec(sqlStr) + if err != nil { + return err + } + } + return nil +} + +// DropIndexes drop indexes +func (session *Session) DropIndexes(bean interface{}) error { + if session.isAutoClose { + defer session.Close() + } + + return session.dropIndexes(bean) +} + +func (session *Session) dropIndexes(bean interface{}) error { + v := rValue(bean) + if err := session.statement.setRefValue(v); err != nil { + return err + } + + sqls := session.statement.genDelIndexSQL() + for _, sqlStr := range sqls { + _, err := session.exec(sqlStr) + if err != nil { + return err + } + } + return nil +} + +// DropTable drop table will drop table if exist, if drop failed, it will return error +func (session *Session) DropTable(beanOrTableName interface{}) error { + if session.isAutoClose { + defer session.Close() + } + + return session.dropTable(beanOrTableName) +} + +func (session *Session) dropTable(beanOrTableName interface{}) error { + tableName, err := session.engine.tableName(beanOrTableName) + if err != nil { + return err + } + + var needDrop = true + if !session.engine.dialect.SupportDropIfExists() { + sqlStr, args := session.engine.dialect.TableCheckSql(tableName) + results, err := session.queryBytes(sqlStr, args...) + if err != nil { + return err + } + needDrop = len(results) > 0 + } + + if needDrop { + sqlStr := session.engine.Dialect().DropTableSql(tableName) + _, err = session.exec(sqlStr) + return err + } + return nil +} + +// IsTableExist if a table is exist +func (session *Session) IsTableExist(beanOrTableName interface{}) (bool, error) { + if session.isAutoClose { + defer session.Close() + } + + tableName, err := session.engine.tableName(beanOrTableName) + if err != nil { + return false, err + } + + return session.isTableExist(tableName) +} + +func (session *Session) isTableExist(tableName string) (bool, error) { + sqlStr, args := session.engine.dialect.TableCheckSql(tableName) + results, err := session.queryBytes(sqlStr, args...) + return len(results) > 0, err +} + +// IsTableEmpty if table have any records +func (session *Session) IsTableEmpty(bean interface{}) (bool, error) { + v := rValue(bean) + t := v.Type() + + if t.Kind() == reflect.String { + if session.isAutoClose { + defer session.Close() + } + return session.isTableEmpty(bean.(string)) + } else if t.Kind() == reflect.Struct { + rows, err := session.Count(bean) + return rows == 0, err + } + return false, errors.New("bean should be a struct or struct's point") +} + +func (session *Session) isTableEmpty(tableName string) (bool, error) { + var total int64 + sqlStr := fmt.Sprintf("select count(*) from %s", session.engine.Quote(tableName)) + err := session.queryRow(sqlStr).Scan(&total) + if err != nil { + if err == sql.ErrNoRows { + err = nil + } + return true, err + } + + return total == 0, nil +} + +// find if index is exist according cols +func (session *Session) isIndexExist2(tableName string, cols []string, unique bool) (bool, error) { + indexes, err := session.engine.dialect.GetIndexes(tableName) + if err != nil { + return false, err + } + + for _, index := range indexes { + if sliceEq(index.Cols, cols) { + if unique { + return index.Type == core.UniqueType, nil + } + return index.Type == core.IndexType, nil + } + } + return false, nil +} + +func (session *Session) addColumn(colName string) error { + col := session.statement.RefTable.GetColumn(colName) + sql, args := session.statement.genAddColumnStr(col) + _, err := session.exec(sql, args...) + return err +} + +func (session *Session) addIndex(tableName, idxName string) error { + index := session.statement.RefTable.Indexes[idxName] + sqlStr := session.engine.dialect.CreateIndexSql(tableName, index) + _, err := session.exec(sqlStr) + return err +} + +func (session *Session) addUnique(tableName, uqeName string) error { + index := session.statement.RefTable.Indexes[uqeName] + sqlStr := session.engine.dialect.CreateIndexSql(tableName, index) + _, err := session.exec(sqlStr) + return err +} + +// Sync2 synchronize structs to database tables +func (session *Session) Sync2(beans ...interface{}) error { + engine := session.engine + + if session.isAutoClose { + session.isAutoClose = false + defer session.Close() + } + + tables, err := engine.DBMetas() + if err != nil { + return err + } + + var structTables []*core.Table + + for _, bean := range beans { + v := rValue(bean) + table, err := engine.mapType(v) + if err != nil { + return err + } + structTables = append(structTables, table) + var tbName = session.tbNameNoSchema(table) + + var oriTable *core.Table + for _, tb := range tables { + if strings.EqualFold(tb.Name, tbName) { + oriTable = tb + break + } + } + + if oriTable == nil { + err = session.StoreEngine(session.statement.StoreEngine).createTable(bean) + if err != nil { + return err + } + + err = session.createUniques(bean) + if err != nil { + return err + } + + err = session.createIndexes(bean) + if err != nil { + return err + } + } else { + for _, col := range table.Columns() { + var oriCol *core.Column + for _, col2 := range oriTable.Columns() { + if strings.EqualFold(col.Name, col2.Name) { + oriCol = col2 + break + } + } + + if oriCol != nil { + expectedType := engine.dialect.SqlType(col) + curType := engine.dialect.SqlType(oriCol) + if expectedType != curType { + if expectedType == core.Text && + strings.HasPrefix(curType, core.Varchar) { + // currently only support mysql & postgres + if engine.dialect.DBType() == core.MYSQL || + engine.dialect.DBType() == core.POSTGRES { + engine.logger.Infof("Table %s column %s change type from %s to %s\n", + tbName, col.Name, curType, expectedType) + _, err = session.exec(engine.dialect.ModifyColumnSql(table.Name, col)) + } else { + engine.logger.Warnf("Table %s column %s db type is %s, struct type is %s\n", + tbName, col.Name, curType, expectedType) + } + } else if strings.HasPrefix(curType, core.Varchar) && strings.HasPrefix(expectedType, core.Varchar) { + if engine.dialect.DBType() == core.MYSQL { + if oriCol.Length < col.Length { + engine.logger.Infof("Table %s column %s change type from varchar(%d) to varchar(%d)\n", + tbName, col.Name, oriCol.Length, col.Length) + _, err = session.exec(engine.dialect.ModifyColumnSql(table.Name, col)) + } + } + } else { + if !(strings.HasPrefix(curType, expectedType) && curType[len(expectedType)] == '(') { + engine.logger.Warnf("Table %s column %s db type is %s, struct type is %s", + tbName, col.Name, curType, expectedType) + } + } + } else if expectedType == core.Varchar { + if engine.dialect.DBType() == core.MYSQL { + if oriCol.Length < col.Length { + engine.logger.Infof("Table %s column %s change type from varchar(%d) to varchar(%d)\n", + tbName, col.Name, oriCol.Length, col.Length) + _, err = session.exec(engine.dialect.ModifyColumnSql(table.Name, col)) + } + } + } + if col.Default != oriCol.Default { + engine.logger.Warnf("Table %s Column %s db default is %s, struct default is %s", + tbName, col.Name, oriCol.Default, col.Default) + } + if col.Nullable != oriCol.Nullable { + engine.logger.Warnf("Table %s Column %s db nullable is %v, struct nullable is %v", + tbName, col.Name, oriCol.Nullable, col.Nullable) + } + } else { + session.statement.RefTable = table + session.statement.tableName = tbName + err = session.addColumn(col.Name) + } + if err != nil { + return err + } + } + + var foundIndexNames = make(map[string]bool) + var addedNames = make(map[string]*core.Index) + + for name, index := range table.Indexes { + var oriIndex *core.Index + for name2, index2 := range oriTable.Indexes { + if index.Equal(index2) { + oriIndex = index2 + foundIndexNames[name2] = true + break + } + } + + if oriIndex != nil { + if oriIndex.Type != index.Type { + sql := engine.dialect.DropIndexSql(tbName, oriIndex) + _, err = session.exec(sql) + if err != nil { + return err + } + oriIndex = nil + } + } + + if oriIndex == nil { + addedNames[name] = index + } + } + + for name2, index2 := range oriTable.Indexes { + if _, ok := foundIndexNames[name2]; !ok { + sql := engine.dialect.DropIndexSql(tbName, index2) + _, err = session.exec(sql) + if err != nil { + return err + } + } + } + + for name, index := range addedNames { + if index.Type == core.UniqueType { + session.statement.RefTable = table + session.statement.tableName = tbName + err = session.addUnique(tbName, name) + } else if index.Type == core.IndexType { + session.statement.RefTable = table + session.statement.tableName = tbName + err = session.addIndex(tbName, name) + } + if err != nil { + return err + } + } + } + } + + for _, table := range tables { + var oriTable *core.Table + for _, structTable := range structTables { + if strings.EqualFold(table.Name, session.tbNameNoSchema(structTable)) { + oriTable = structTable + break + } + } + + if oriTable == nil { + //engine.LogWarnf("Table %s has no struct to mapping it", table.Name) + continue + } + + for _, colName := range table.ColumnsSeq() { + if oriTable.GetColumn(colName) == nil { + engine.logger.Warnf("Table %s has column %s but struct has not related field", table.Name, colName) + } + } + } + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/session_stats.go b/vendor/github.com/go-xorm/xorm/session_stats.go new file mode 100644 index 000000000..c2cac8306 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_stats.go @@ -0,0 +1,98 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "database/sql" + "errors" + "reflect" +) + +// Count counts the records. bean's non-empty fields +// are conditions. +func (session *Session) Count(bean ...interface{}) (int64, error) { + if session.isAutoClose { + defer session.Close() + } + + var sqlStr string + var args []interface{} + var err error + if session.statement.RawSQL == "" { + sqlStr, args, err = session.statement.genCountSQL(bean...) + if err != nil { + return 0, err + } + } else { + sqlStr = session.statement.RawSQL + args = session.statement.RawParams + } + + var total int64 + err = session.queryRow(sqlStr, args...).Scan(&total) + if err == sql.ErrNoRows || err == nil { + return total, nil + } + + return 0, err +} + +// sum call sum some column. bean's non-empty fields are conditions. +func (session *Session) sum(res interface{}, bean interface{}, columnNames ...string) error { + if session.isAutoClose { + defer session.Close() + } + + v := reflect.ValueOf(res) + if v.Kind() != reflect.Ptr { + return errors.New("need a pointer to a variable") + } + + var isSlice = v.Elem().Kind() == reflect.Slice + var sqlStr string + var args []interface{} + var err error + if len(session.statement.RawSQL) == 0 { + sqlStr, args, err = session.statement.genSumSQL(bean, columnNames...) + if err != nil { + return err + } + } else { + sqlStr = session.statement.RawSQL + args = session.statement.RawParams + } + + if isSlice { + err = session.queryRow(sqlStr, args...).ScanSlice(res) + } else { + err = session.queryRow(sqlStr, args...).Scan(res) + } + if err == sql.ErrNoRows || err == nil { + return nil + } + return err +} + +// Sum call sum some column. bean's non-empty fields are conditions. +func (session *Session) Sum(bean interface{}, columnName string) (res float64, err error) { + return res, session.sum(&res, bean, columnName) +} + +// SumInt call sum some column. bean's non-empty fields are conditions. +func (session *Session) SumInt(bean interface{}, columnName string) (res int64, err error) { + return res, session.sum(&res, bean, columnName) +} + +// Sums call sum some columns. bean's non-empty fields are conditions. +func (session *Session) Sums(bean interface{}, columnNames ...string) ([]float64, error) { + var res = make([]float64, len(columnNames), len(columnNames)) + return res, session.sum(&res, bean, columnNames...) +} + +// SumsInt sum specify columns and return as []int64 instead of []float64 +func (session *Session) SumsInt(bean interface{}, columnNames ...string) ([]int64, error) { + var res = make([]int64, len(columnNames), len(columnNames)) + return res, session.sum(&res, bean, columnNames...) +} diff --git a/vendor/github.com/go-xorm/xorm/session_tx.go b/vendor/github.com/go-xorm/xorm/session_tx.go new file mode 100644 index 000000000..84d2f7f9d --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_tx.go @@ -0,0 +1,81 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +// Begin a transaction +func (session *Session) Begin() error { + if session.isAutoCommit { + tx, err := session.DB().Begin() + if err != nil { + return err + } + session.isAutoCommit = false + session.isCommitedOrRollbacked = false + session.tx = tx + session.saveLastSQL("BEGIN TRANSACTION") + } + return nil +} + +// Rollback When using transaction, you can rollback if any error +func (session *Session) Rollback() error { + if !session.isAutoCommit && !session.isCommitedOrRollbacked { + session.saveLastSQL(session.engine.dialect.RollBackStr()) + session.isCommitedOrRollbacked = true + return session.tx.Rollback() + } + return nil +} + +// Commit When using transaction, Commit will commit all operations. +func (session *Session) Commit() error { + if !session.isAutoCommit && !session.isCommitedOrRollbacked { + session.saveLastSQL("COMMIT") + session.isCommitedOrRollbacked = true + var err error + if err = session.tx.Commit(); err == nil { + // handle processors after tx committed + closureCallFunc := func(closuresPtr *[]func(interface{}), bean interface{}) { + if closuresPtr != nil { + for _, closure := range *closuresPtr { + closure(bean) + } + } + } + + for bean, closuresPtr := range session.afterInsertBeans { + closureCallFunc(closuresPtr, bean) + + if processor, ok := interface{}(bean).(AfterInsertProcessor); ok { + processor.AfterInsert() + } + } + for bean, closuresPtr := range session.afterUpdateBeans { + closureCallFunc(closuresPtr, bean) + + if processor, ok := interface{}(bean).(AfterUpdateProcessor); ok { + processor.AfterUpdate() + } + } + for bean, closuresPtr := range session.afterDeleteBeans { + closureCallFunc(closuresPtr, bean) + + if processor, ok := interface{}(bean).(AfterDeleteProcessor); ok { + processor.AfterDelete() + } + } + cleanUpFunc := func(slices *map[interface{}]*[]func(interface{})) { + if len(*slices) > 0 { + *slices = make(map[interface{}]*[]func(interface{}), 0) + } + } + cleanUpFunc(&session.afterInsertBeans) + cleanUpFunc(&session.afterUpdateBeans) + cleanUpFunc(&session.afterDeleteBeans) + } + return err + } + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/session_update.go b/vendor/github.com/go-xorm/xorm/session_update.go new file mode 100644 index 000000000..ca0629812 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/session_update.go @@ -0,0 +1,391 @@ +// Copyright 2016 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "errors" + "fmt" + "reflect" + "strconv" + "strings" + + "github.com/go-xorm/builder" + "github.com/go-xorm/core" +) + +func (session *Session) cacheUpdate(table *core.Table, tableName, sqlStr string, args ...interface{}) error { + if table == nil || + session.tx != nil { + return ErrCacheFailed + } + + oldhead, newsql := session.statement.convertUpdateSQL(sqlStr) + if newsql == "" { + return ErrCacheFailed + } + for _, filter := range session.engine.dialect.Filters() { + newsql = filter.Do(newsql, session.engine.dialect, table) + } + session.engine.logger.Debug("[cacheUpdate] new sql", oldhead, newsql) + + var nStart int + if len(args) > 0 { + if strings.Index(sqlStr, "?") > -1 { + nStart = strings.Count(oldhead, "?") + } else { + // only for pq, TODO: if any other databse? + nStart = strings.Count(oldhead, "$") + } + } + + cacher := session.engine.getCacher2(table) + session.engine.logger.Debug("[cacheUpdate] get cache sql", newsql, args[nStart:]) + ids, err := core.GetCacheSql(cacher, tableName, newsql, args[nStart:]) + if err != nil { + rows, err := session.NoCache().queryRows(newsql, args[nStart:]...) + if err != nil { + return err + } + defer rows.Close() + + ids = make([]core.PK, 0) + for rows.Next() { + var res = make([]string, len(table.PrimaryKeys)) + err = rows.ScanSlice(&res) + if err != nil { + return err + } + var pk core.PK = make([]interface{}, len(table.PrimaryKeys)) + for i, col := range table.PKColumns() { + if col.SQLType.IsNumeric() { + n, err := strconv.ParseInt(res[i], 10, 64) + if err != nil { + return err + } + pk[i] = n + } else if col.SQLType.IsText() { + pk[i] = res[i] + } else { + return errors.New("not supported") + } + } + + ids = append(ids, pk) + } + session.engine.logger.Debug("[cacheUpdate] find updated id", ids) + } /*else { + session.engine.LogDebug("[xorm:cacheUpdate] del cached sql:", tableName, newsql, args) + cacher.DelIds(tableName, genSqlKey(newsql, args)) + }*/ + + for _, id := range ids { + sid, err := id.ToString() + if err != nil { + return err + } + if bean := cacher.GetBean(tableName, sid); bean != nil { + sqls := splitNNoCase(sqlStr, "where", 2) + if len(sqls) == 0 || len(sqls) > 2 { + return ErrCacheFailed + } + + sqls = splitNNoCase(sqls[0], "set", 2) + if len(sqls) != 2 { + return ErrCacheFailed + } + kvs := strings.Split(strings.TrimSpace(sqls[1]), ",") + for idx, kv := range kvs { + sps := strings.SplitN(kv, "=", 2) + sps2 := strings.Split(sps[0], ".") + colName := sps2[len(sps2)-1] + if strings.Contains(colName, "`") { + colName = strings.TrimSpace(strings.Replace(colName, "`", "", -1)) + } else if strings.Contains(colName, session.engine.QuoteStr()) { + colName = strings.TrimSpace(strings.Replace(colName, session.engine.QuoteStr(), "", -1)) + } else { + session.engine.logger.Debug("[cacheUpdate] cannot find column", tableName, colName) + return ErrCacheFailed + } + + if col := table.GetColumn(colName); col != nil { + fieldValue, err := col.ValueOf(bean) + if err != nil { + session.engine.logger.Error(err) + } else { + session.engine.logger.Debug("[cacheUpdate] set bean field", bean, colName, fieldValue.Interface()) + if col.IsVersion && session.statement.checkVersion { + fieldValue.SetInt(fieldValue.Int() + 1) + } else { + fieldValue.Set(reflect.ValueOf(args[idx])) + } + } + } else { + session.engine.logger.Errorf("[cacheUpdate] ERROR: column %v is not table %v's", + colName, table.Name) + } + } + + session.engine.logger.Debug("[cacheUpdate] update cache", tableName, id, bean) + cacher.PutBean(tableName, sid, bean) + } + } + session.engine.logger.Debug("[cacheUpdate] clear cached table sql:", tableName) + cacher.ClearIds(tableName) + return nil +} + +// Update records, bean's non-empty fields are updated contents, +// condiBean' non-empty filds are conditions +// CAUTION: +// 1.bool will defaultly be updated content nor conditions +// You should call UseBool if you have bool to use. +// 2.float32 & float64 may be not inexact as conditions +func (session *Session) Update(bean interface{}, condiBean ...interface{}) (int64, error) { + if session.isAutoClose { + defer session.Close() + } + + v := rValue(bean) + t := v.Type() + + var colNames []string + var args []interface{} + + // handle before update processors + for _, closure := range session.beforeClosures { + closure(bean) + } + cleanupProcessorsClosures(&session.beforeClosures) // cleanup after used + if processor, ok := interface{}(bean).(BeforeUpdateProcessor); ok { + processor.BeforeUpdate() + } + // -- + + var err error + var isMap = t.Kind() == reflect.Map + var isStruct = t.Kind() == reflect.Struct + if isStruct { + if err := session.statement.setRefValue(v); err != nil { + return 0, err + } + + if len(session.statement.TableName()) <= 0 { + return 0, ErrTableNotFound + } + + if session.statement.ColumnStr == "" { + colNames, args = buildUpdates(session.engine, session.statement.RefTable, bean, false, false, + false, false, session.statement.allUseBool, session.statement.useAllCols, + session.statement.mustColumnMap, session.statement.nullableMap, + session.statement.columnMap, true, session.statement.unscoped) + } else { + colNames, args, err = genCols(session.statement.RefTable, session, bean, true, true) + if err != nil { + return 0, err + } + } + } else if isMap { + colNames = make([]string, 0) + args = make([]interface{}, 0) + bValue := reflect.Indirect(reflect.ValueOf(bean)) + + for _, v := range bValue.MapKeys() { + colNames = append(colNames, session.engine.Quote(v.String())+" = ?") + args = append(args, bValue.MapIndex(v).Interface()) + } + } else { + return 0, ErrParamsType + } + + table := session.statement.RefTable + + if session.statement.UseAutoTime && table != nil && table.Updated != "" { + if _, ok := session.statement.columnMap[strings.ToLower(table.Updated)]; !ok { + colNames = append(colNames, session.engine.Quote(table.Updated)+" = ?") + col := table.UpdatedColumn() + val, t := session.engine.nowTime(col) + args = append(args, val) + + var colName = col.Name + if isStruct { + session.afterClosures = append(session.afterClosures, func(bean interface{}) { + col := table.GetColumn(colName) + setColumnTime(bean, col, t) + }) + } + } + } + + //for update action to like "column = column + ?" + incColumns := session.statement.getInc() + for _, v := range incColumns { + colNames = append(colNames, session.engine.Quote(v.colName)+" = "+session.engine.Quote(v.colName)+" + ?") + args = append(args, v.arg) + } + //for update action to like "column = column - ?" + decColumns := session.statement.getDec() + for _, v := range decColumns { + colNames = append(colNames, session.engine.Quote(v.colName)+" = "+session.engine.Quote(v.colName)+" - ?") + args = append(args, v.arg) + } + //for update action to like "column = expression" + exprColumns := session.statement.getExpr() + for _, v := range exprColumns { + colNames = append(colNames, session.engine.Quote(v.colName)+" = "+v.expr) + } + + if err = session.statement.processIDParam(); err != nil { + return 0, err + } + + var autoCond builder.Cond + if !session.statement.noAutoCondition && len(condiBean) > 0 { + var err error + autoCond, err = session.statement.buildConds(session.statement.RefTable, condiBean[0], true, true, false, true, false) + if err != nil { + return 0, err + } + } + + st := &session.statement + + var sqlStr string + var condArgs []interface{} + var condSQL string + cond := session.statement.cond.And(autoCond) + + var doIncVer = (table != nil && table.Version != "" && session.statement.checkVersion) + var verValue *reflect.Value + if doIncVer { + verValue, err = table.VersionColumn().ValueOf(bean) + if err != nil { + return 0, err + } + + cond = cond.And(builder.Eq{session.engine.Quote(table.Version): verValue.Interface()}) + colNames = append(colNames, session.engine.Quote(table.Version)+" = "+session.engine.Quote(table.Version)+" + 1") + } + + condSQL, condArgs, err = builder.ToSQL(cond) + if err != nil { + return 0, err + } + + if len(condSQL) > 0 { + condSQL = "WHERE " + condSQL + } + + if st.OrderStr != "" { + condSQL = condSQL + fmt.Sprintf(" ORDER BY %v", st.OrderStr) + } + + var tableName = session.statement.TableName() + // TODO: Oracle support needed + var top string + if st.LimitN > 0 { + if st.Engine.dialect.DBType() == core.MYSQL { + condSQL = condSQL + fmt.Sprintf(" LIMIT %d", st.LimitN) + } else if st.Engine.dialect.DBType() == core.SQLITE { + tempCondSQL := condSQL + fmt.Sprintf(" LIMIT %d", st.LimitN) + cond = cond.And(builder.Expr(fmt.Sprintf("rowid IN (SELECT rowid FROM %v %v)", + session.engine.Quote(tableName), tempCondSQL), condArgs...)) + condSQL, condArgs, err = builder.ToSQL(cond) + if err != nil { + return 0, err + } + if len(condSQL) > 0 { + condSQL = "WHERE " + condSQL + } + } else if st.Engine.dialect.DBType() == core.POSTGRES { + tempCondSQL := condSQL + fmt.Sprintf(" LIMIT %d", st.LimitN) + cond = cond.And(builder.Expr(fmt.Sprintf("CTID IN (SELECT CTID FROM %v %v)", + session.engine.Quote(tableName), tempCondSQL), condArgs...)) + condSQL, condArgs, err = builder.ToSQL(cond) + if err != nil { + return 0, err + } + + if len(condSQL) > 0 { + condSQL = "WHERE " + condSQL + } + } else if st.Engine.dialect.DBType() == core.MSSQL { + if st.OrderStr != "" && st.Engine.dialect.DBType() == core.MSSQL && + table != nil && len(table.PrimaryKeys) == 1 { + cond = builder.Expr(fmt.Sprintf("%s IN (SELECT TOP (%d) %s FROM %v%v)", + table.PrimaryKeys[0], st.LimitN, table.PrimaryKeys[0], + session.engine.Quote(tableName), condSQL), condArgs...) + + condSQL, condArgs, err = builder.ToSQL(cond) + if err != nil { + return 0, err + } + if len(condSQL) > 0 { + condSQL = "WHERE " + condSQL + } + } else { + top = fmt.Sprintf("TOP (%d) ", st.LimitN) + } + } + } + + if len(colNames) <= 0 { + return 0, errors.New("No content found to be updated") + } + + sqlStr = fmt.Sprintf("UPDATE %v%v SET %v %v", + top, + session.engine.Quote(tableName), + strings.Join(colNames, ", "), + condSQL) + + res, err := session.exec(sqlStr, append(args, condArgs...)...) + if err != nil { + return 0, err + } else if doIncVer { + if verValue != nil && verValue.IsValid() && verValue.CanSet() { + verValue.SetInt(verValue.Int() + 1) + } + } + + if table != nil { + if cacher := session.engine.getCacher2(table); cacher != nil && session.statement.UseCache { + //session.cacheUpdate(table, tableName, sqlStr, args...) + cacher.ClearIds(tableName) + cacher.ClearBeans(tableName) + } + } + + // handle after update processors + if session.isAutoCommit { + for _, closure := range session.afterClosures { + closure(bean) + } + if processor, ok := interface{}(bean).(AfterUpdateProcessor); ok { + session.engine.logger.Debug("[event]", tableName, " has after update processor") + processor.AfterUpdate() + } + } else { + lenAfterClosures := len(session.afterClosures) + if lenAfterClosures > 0 { + if value, has := session.afterUpdateBeans[bean]; has && value != nil { + *value = append(*value, session.afterClosures...) + } else { + afterClosures := make([]func(interface{}), lenAfterClosures) + copy(afterClosures, session.afterClosures) + // FIXME: if bean is a map type, it will panic because map cannot be as map key + session.afterUpdateBeans[bean] = &afterClosures + } + + } else { + if _, ok := interface{}(bean).(AfterUpdateProcessor); ok { + session.afterUpdateBeans[bean] = nil + } + } + } + cleanupProcessorsClosures(&session.afterClosures) // cleanup after used + // -- + + return res.RowsAffected() +} diff --git a/vendor/github.com/go-xorm/xorm/statement.go b/vendor/github.com/go-xorm/xorm/statement.go new file mode 100644 index 000000000..23346c710 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/statement.go @@ -0,0 +1,1255 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "bytes" + "database/sql/driver" + "encoding/json" + "errors" + "fmt" + "reflect" + "strings" + "time" + + "github.com/go-xorm/builder" + "github.com/go-xorm/core" +) + +type incrParam struct { + colName string + arg interface{} +} + +type decrParam struct { + colName string + arg interface{} +} + +type exprParam struct { + colName string + expr string +} + +// Statement save all the sql info for executing SQL +type Statement struct { + RefTable *core.Table + Engine *Engine + Start int + LimitN int + idParam *core.PK + OrderStr string + JoinStr string + joinArgs []interface{} + GroupByStr string + HavingStr string + ColumnStr string + selectStr string + columnMap map[string]bool + useAllCols bool + OmitStr string + AltTableName string + tableName string + RawSQL string + RawParams []interface{} + UseCascade bool + UseAutoJoin bool + StoreEngine string + Charset string + UseCache bool + UseAutoTime bool + noAutoCondition bool + IsDistinct bool + IsForUpdate bool + TableAlias string + allUseBool bool + checkVersion bool + unscoped bool + mustColumnMap map[string]bool + nullableMap map[string]bool + incrColumns map[string]incrParam + decrColumns map[string]decrParam + exprColumns map[string]exprParam + cond builder.Cond + bufferSize int +} + +// Init reset all the statement's fields +func (statement *Statement) Init() { + statement.RefTable = nil + statement.Start = 0 + statement.LimitN = 0 + statement.OrderStr = "" + statement.UseCascade = true + statement.JoinStr = "" + statement.joinArgs = make([]interface{}, 0) + statement.GroupByStr = "" + statement.HavingStr = "" + statement.ColumnStr = "" + statement.OmitStr = "" + statement.columnMap = make(map[string]bool) + statement.AltTableName = "" + statement.tableName = "" + statement.idParam = nil + statement.RawSQL = "" + statement.RawParams = make([]interface{}, 0) + statement.UseCache = true + statement.UseAutoTime = true + statement.noAutoCondition = false + statement.IsDistinct = false + statement.IsForUpdate = false + statement.TableAlias = "" + statement.selectStr = "" + statement.allUseBool = false + statement.useAllCols = false + statement.mustColumnMap = make(map[string]bool) + statement.nullableMap = make(map[string]bool) + statement.checkVersion = true + statement.unscoped = false + statement.incrColumns = make(map[string]incrParam) + statement.decrColumns = make(map[string]decrParam) + statement.exprColumns = make(map[string]exprParam) + statement.cond = builder.NewCond() + statement.bufferSize = 0 +} + +// NoAutoCondition if you do not want convert bean's field as query condition, then use this function +func (statement *Statement) NoAutoCondition(no ...bool) *Statement { + statement.noAutoCondition = true + if len(no) > 0 { + statement.noAutoCondition = no[0] + } + return statement +} + +// Alias set the table alias +func (statement *Statement) Alias(alias string) *Statement { + statement.TableAlias = alias + return statement +} + +// SQL adds raw sql statement +func (statement *Statement) SQL(query interface{}, args ...interface{}) *Statement { + switch query.(type) { + case (*builder.Builder): + var err error + statement.RawSQL, statement.RawParams, err = query.(*builder.Builder).ToSQL() + if err != nil { + statement.Engine.logger.Error(err) + } + case string: + statement.RawSQL = query.(string) + statement.RawParams = args + default: + statement.Engine.logger.Error("unsupported sql type") + } + + return statement +} + +// Where add Where statement +func (statement *Statement) Where(query interface{}, args ...interface{}) *Statement { + return statement.And(query, args...) +} + +// And add Where & and statement +func (statement *Statement) And(query interface{}, args ...interface{}) *Statement { + switch query.(type) { + case string: + cond := builder.Expr(query.(string), args...) + statement.cond = statement.cond.And(cond) + case builder.Cond: + cond := query.(builder.Cond) + statement.cond = statement.cond.And(cond) + for _, v := range args { + if vv, ok := v.(builder.Cond); ok { + statement.cond = statement.cond.And(vv) + } + } + default: + // TODO: not support condition type + } + + return statement +} + +// Or add Where & Or statement +func (statement *Statement) Or(query interface{}, args ...interface{}) *Statement { + switch query.(type) { + case string: + cond := builder.Expr(query.(string), args...) + statement.cond = statement.cond.Or(cond) + case builder.Cond: + cond := query.(builder.Cond) + statement.cond = statement.cond.Or(cond) + for _, v := range args { + if vv, ok := v.(builder.Cond); ok { + statement.cond = statement.cond.Or(vv) + } + } + default: + // TODO: not support condition type + } + return statement +} + +// In generate "Where column IN (?) " statement +func (statement *Statement) In(column string, args ...interface{}) *Statement { + in := builder.In(statement.Engine.Quote(column), args...) + statement.cond = statement.cond.And(in) + return statement +} + +// NotIn generate "Where column NOT IN (?) " statement +func (statement *Statement) NotIn(column string, args ...interface{}) *Statement { + notIn := builder.NotIn(statement.Engine.Quote(column), args...) + statement.cond = statement.cond.And(notIn) + return statement +} + +func (statement *Statement) setRefValue(v reflect.Value) error { + var err error + statement.RefTable, err = statement.Engine.autoMapType(reflect.Indirect(v)) + if err != nil { + return err + } + statement.tableName = statement.Engine.tbName(v) + return nil +} + +// Table tempororily set table name, the parameter could be a string or a pointer of struct +func (statement *Statement) Table(tableNameOrBean interface{}) *Statement { + v := rValue(tableNameOrBean) + t := v.Type() + if t.Kind() == reflect.String { + statement.AltTableName = tableNameOrBean.(string) + } else if t.Kind() == reflect.Struct { + var err error + statement.RefTable, err = statement.Engine.autoMapType(v) + if err != nil { + statement.Engine.logger.Error(err) + return statement + } + statement.AltTableName = statement.Engine.tbName(v) + } + return statement +} + +// Auto generating update columnes and values according a struct +func buildUpdates(engine *Engine, table *core.Table, bean interface{}, + includeVersion bool, includeUpdated bool, includeNil bool, + includeAutoIncr bool, allUseBool bool, useAllCols bool, + mustColumnMap map[string]bool, nullableMap map[string]bool, + columnMap map[string]bool, update, unscoped bool) ([]string, []interface{}) { + + var colNames = make([]string, 0) + var args = make([]interface{}, 0) + for _, col := range table.Columns() { + if !includeVersion && col.IsVersion { + continue + } + if col.IsCreated { + continue + } + if !includeUpdated && col.IsUpdated { + continue + } + if !includeAutoIncr && col.IsAutoIncrement { + continue + } + if col.IsDeleted && !unscoped { + continue + } + if use, ok := columnMap[strings.ToLower(col.Name)]; ok && !use { + continue + } + + fieldValuePtr, err := col.ValueOf(bean) + if err != nil { + engine.logger.Error(err) + continue + } + + fieldValue := *fieldValuePtr + fieldType := reflect.TypeOf(fieldValue.Interface()) + if fieldType == nil { + continue + } + + requiredField := useAllCols + includeNil := useAllCols + + if b, ok := getFlagForColumn(mustColumnMap, col); ok { + if b { + requiredField = true + } else { + continue + } + } + + // !evalphobia! set fieldValue as nil when column is nullable and zero-value + if b, ok := getFlagForColumn(nullableMap, col); ok { + if b && col.Nullable && isZero(fieldValue.Interface()) { + var nilValue *int + fieldValue = reflect.ValueOf(nilValue) + fieldType = reflect.TypeOf(fieldValue.Interface()) + includeNil = true + } + } + + var val interface{} + + if fieldValue.CanAddr() { + if structConvert, ok := fieldValue.Addr().Interface().(core.Conversion); ok { + data, err := structConvert.ToDB() + if err != nil { + engine.logger.Error(err) + } else { + val = data + } + goto APPEND + } + } + + if structConvert, ok := fieldValue.Interface().(core.Conversion); ok { + data, err := structConvert.ToDB() + if err != nil { + engine.logger.Error(err) + } else { + val = data + } + goto APPEND + } + + if fieldType.Kind() == reflect.Ptr { + if fieldValue.IsNil() { + if includeNil { + args = append(args, nil) + colNames = append(colNames, fmt.Sprintf("%v=?", engine.Quote(col.Name))) + } + continue + } else if !fieldValue.IsValid() { + continue + } else { + // dereference ptr type to instance type + fieldValue = fieldValue.Elem() + fieldType = reflect.TypeOf(fieldValue.Interface()) + requiredField = true + } + } + + switch fieldType.Kind() { + case reflect.Bool: + if allUseBool || requiredField { + val = fieldValue.Interface() + } else { + // if a bool in a struct, it will not be as a condition because it default is false, + // please use Where() instead + continue + } + case reflect.String: + if !requiredField && fieldValue.String() == "" { + continue + } + // for MyString, should convert to string or panic + if fieldType.String() != reflect.String.String() { + val = fieldValue.String() + } else { + val = fieldValue.Interface() + } + case reflect.Int8, reflect.Int16, reflect.Int, reflect.Int32, reflect.Int64: + if !requiredField && fieldValue.Int() == 0 { + continue + } + val = fieldValue.Interface() + case reflect.Float32, reflect.Float64: + if !requiredField && fieldValue.Float() == 0.0 { + continue + } + val = fieldValue.Interface() + case reflect.Uint8, reflect.Uint16, reflect.Uint, reflect.Uint32, reflect.Uint64: + if !requiredField && fieldValue.Uint() == 0 { + continue + } + t := int64(fieldValue.Uint()) + val = reflect.ValueOf(&t).Interface() + case reflect.Struct: + if fieldType.ConvertibleTo(core.TimeType) { + t := fieldValue.Convert(core.TimeType).Interface().(time.Time) + if !requiredField && (t.IsZero() || !fieldValue.IsValid()) { + continue + } + val = engine.formatColTime(col, t) + } else if nulType, ok := fieldValue.Interface().(driver.Valuer); ok { + val, _ = nulType.Value() + } else { + if !col.SQLType.IsJson() { + engine.autoMapType(fieldValue) + if table, ok := engine.Tables[fieldValue.Type()]; ok { + if len(table.PrimaryKeys) == 1 { + pkField := reflect.Indirect(fieldValue).FieldByName(table.PKColumns()[0].FieldName) + // fix non-int pk issues + if pkField.IsValid() && (!requiredField && !isZero(pkField.Interface())) { + val = pkField.Interface() + } else { + continue + } + } else { + //TODO: how to handler? + panic("not supported") + } + } else { + val = fieldValue.Interface() + } + } else { + // Blank struct could not be as update data + if requiredField || !isStructZero(fieldValue) { + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + panic(fmt.Sprintf("mashal %v failed", fieldValue.Interface())) + } + if col.SQLType.IsText() { + val = string(bytes) + } else if col.SQLType.IsBlob() { + val = bytes + } + } else { + continue + } + } + } + case reflect.Array, reflect.Slice, reflect.Map: + if !requiredField { + if fieldValue == reflect.Zero(fieldType) { + continue + } + if fieldType.Kind() == reflect.Array { + if isArrayValueZero(fieldValue) { + continue + } + } else if fieldValue.IsNil() || !fieldValue.IsValid() || fieldValue.Len() == 0 { + continue + } + } + + if col.SQLType.IsText() { + bytes, err := json.Marshal(fieldValue.Interface()) + if err != nil { + engine.logger.Error(err) + continue + } + val = string(bytes) + } else if col.SQLType.IsBlob() { + var bytes []byte + var err error + if fieldType.Kind() == reflect.Slice && + fieldType.Elem().Kind() == reflect.Uint8 { + if fieldValue.Len() > 0 { + val = fieldValue.Bytes() + } else { + continue + } + } else if fieldType.Kind() == reflect.Array && + fieldType.Elem().Kind() == reflect.Uint8 { + val = fieldValue.Slice(0, 0).Interface() + } else { + bytes, err = json.Marshal(fieldValue.Interface()) + if err != nil { + engine.logger.Error(err) + continue + } + val = bytes + } + } else { + continue + } + default: + val = fieldValue.Interface() + } + + APPEND: + args = append(args, val) + if col.IsPrimaryKey && engine.dialect.DBType() == "ql" { + continue + } + colNames = append(colNames, fmt.Sprintf("%v = ?", engine.Quote(col.Name))) + } + + return colNames, args +} + +func (statement *Statement) needTableName() bool { + return len(statement.JoinStr) > 0 +} + +func (statement *Statement) colName(col *core.Column, tableName string) string { + if statement.needTableName() { + var nm = tableName + if len(statement.TableAlias) > 0 { + nm = statement.TableAlias + } + return statement.Engine.Quote(nm) + "." + statement.Engine.Quote(col.Name) + } + return statement.Engine.Quote(col.Name) +} + +// TableName return current tableName +func (statement *Statement) TableName() string { + if statement.AltTableName != "" { + return statement.AltTableName + } + + return statement.tableName +} + +// ID generate "where id = ? " statement or for composite key "where key1 = ? and key2 = ?" +func (statement *Statement) ID(id interface{}) *Statement { + idValue := reflect.ValueOf(id) + idType := reflect.TypeOf(idValue.Interface()) + + switch idType { + case ptrPkType: + if pkPtr, ok := (id).(*core.PK); ok { + statement.idParam = pkPtr + return statement + } + case pkType: + if pk, ok := (id).(core.PK); ok { + statement.idParam = &pk + return statement + } + } + + switch idType.Kind() { + case reflect.String: + statement.idParam = &core.PK{idValue.Convert(reflect.TypeOf("")).Interface()} + return statement + } + + statement.idParam = &core.PK{id} + return statement +} + +// Incr Generate "Update ... Set column = column + arg" statement +func (statement *Statement) Incr(column string, arg ...interface{}) *Statement { + k := strings.ToLower(column) + if len(arg) > 0 { + statement.incrColumns[k] = incrParam{column, arg[0]} + } else { + statement.incrColumns[k] = incrParam{column, 1} + } + return statement +} + +// Decr Generate "Update ... Set column = column - arg" statement +func (statement *Statement) Decr(column string, arg ...interface{}) *Statement { + k := strings.ToLower(column) + if len(arg) > 0 { + statement.decrColumns[k] = decrParam{column, arg[0]} + } else { + statement.decrColumns[k] = decrParam{column, 1} + } + return statement +} + +// SetExpr Generate "Update ... Set column = {expression}" statement +func (statement *Statement) SetExpr(column string, expression string) *Statement { + k := strings.ToLower(column) + statement.exprColumns[k] = exprParam{column, expression} + return statement +} + +// Generate "Update ... Set column = column + arg" statement +func (statement *Statement) getInc() map[string]incrParam { + return statement.incrColumns +} + +// Generate "Update ... Set column = column - arg" statement +func (statement *Statement) getDec() map[string]decrParam { + return statement.decrColumns +} + +// Generate "Update ... Set column = {expression}" statement +func (statement *Statement) getExpr() map[string]exprParam { + return statement.exprColumns +} + +func (statement *Statement) col2NewColsWithQuote(columns ...string) []string { + newColumns := make([]string, 0) + for _, col := range columns { + col = strings.Replace(col, "`", "", -1) + col = strings.Replace(col, statement.Engine.QuoteStr(), "", -1) + ccols := strings.Split(col, ",") + for _, c := range ccols { + fields := strings.Split(strings.TrimSpace(c), ".") + if len(fields) == 1 { + newColumns = append(newColumns, statement.Engine.quote(fields[0])) + } else if len(fields) == 2 { + newColumns = append(newColumns, statement.Engine.quote(fields[0])+"."+ + statement.Engine.quote(fields[1])) + } else { + panic(errors.New("unwanted colnames")) + } + } + } + return newColumns +} + +func (statement *Statement) colmap2NewColsWithQuote() []string { + newColumns := make([]string, 0, len(statement.columnMap)) + for col := range statement.columnMap { + fields := strings.Split(strings.TrimSpace(col), ".") + if len(fields) == 1 { + newColumns = append(newColumns, statement.Engine.quote(fields[0])) + } else if len(fields) == 2 { + newColumns = append(newColumns, statement.Engine.quote(fields[0])+"."+ + statement.Engine.quote(fields[1])) + } else { + panic(errors.New("unwanted colnames")) + } + } + return newColumns +} + +// Distinct generates "DISTINCT col1, col2 " statement +func (statement *Statement) Distinct(columns ...string) *Statement { + statement.IsDistinct = true + statement.Cols(columns...) + return statement +} + +// ForUpdate generates "SELECT ... FOR UPDATE" statement +func (statement *Statement) ForUpdate() *Statement { + statement.IsForUpdate = true + return statement +} + +// Select replace select +func (statement *Statement) Select(str string) *Statement { + statement.selectStr = str + return statement +} + +// Cols generate "col1, col2" statement +func (statement *Statement) Cols(columns ...string) *Statement { + cols := col2NewCols(columns...) + for _, nc := range cols { + statement.columnMap[strings.ToLower(nc)] = true + } + + newColumns := statement.colmap2NewColsWithQuote() + statement.ColumnStr = strings.Join(newColumns, ", ") + statement.ColumnStr = strings.Replace(statement.ColumnStr, statement.Engine.quote("*"), "*", -1) + return statement +} + +// AllCols update use only: update all columns +func (statement *Statement) AllCols() *Statement { + statement.useAllCols = true + return statement +} + +// MustCols update use only: must update columns +func (statement *Statement) MustCols(columns ...string) *Statement { + newColumns := col2NewCols(columns...) + for _, nc := range newColumns { + statement.mustColumnMap[strings.ToLower(nc)] = true + } + return statement +} + +// UseBool indicates that use bool fields as update contents and query contiditions +func (statement *Statement) UseBool(columns ...string) *Statement { + if len(columns) > 0 { + statement.MustCols(columns...) + } else { + statement.allUseBool = true + } + return statement +} + +// Omit do not use the columns +func (statement *Statement) Omit(columns ...string) { + newColumns := col2NewCols(columns...) + for _, nc := range newColumns { + statement.columnMap[strings.ToLower(nc)] = false + } + statement.OmitStr = statement.Engine.Quote(strings.Join(newColumns, statement.Engine.Quote(", "))) +} + +// Nullable Update use only: update columns to null when value is nullable and zero-value +func (statement *Statement) Nullable(columns ...string) { + newColumns := col2NewCols(columns...) + for _, nc := range newColumns { + statement.nullableMap[strings.ToLower(nc)] = true + } +} + +// Top generate LIMIT limit statement +func (statement *Statement) Top(limit int) *Statement { + statement.Limit(limit) + return statement +} + +// Limit generate LIMIT start, limit statement +func (statement *Statement) Limit(limit int, start ...int) *Statement { + statement.LimitN = limit + if len(start) > 0 { + statement.Start = start[0] + } + return statement +} + +// OrderBy generate "Order By order" statement +func (statement *Statement) OrderBy(order string) *Statement { + if len(statement.OrderStr) > 0 { + statement.OrderStr += ", " + } + statement.OrderStr += order + return statement +} + +// Desc generate `ORDER BY xx DESC` +func (statement *Statement) Desc(colNames ...string) *Statement { + var buf bytes.Buffer + fmt.Fprintf(&buf, statement.OrderStr) + if len(statement.OrderStr) > 0 { + fmt.Fprint(&buf, ", ") + } + newColNames := statement.col2NewColsWithQuote(colNames...) + fmt.Fprintf(&buf, "%v DESC", strings.Join(newColNames, " DESC, ")) + statement.OrderStr = buf.String() + return statement +} + +// Asc provide asc order by query condition, the input parameters are columns. +func (statement *Statement) Asc(colNames ...string) *Statement { + var buf bytes.Buffer + fmt.Fprintf(&buf, statement.OrderStr) + if len(statement.OrderStr) > 0 { + fmt.Fprint(&buf, ", ") + } + newColNames := statement.col2NewColsWithQuote(colNames...) + fmt.Fprintf(&buf, "%v ASC", strings.Join(newColNames, " ASC, ")) + statement.OrderStr = buf.String() + return statement +} + +// Join The joinOP should be one of INNER, LEFT OUTER, CROSS etc - this will be prepended to JOIN +func (statement *Statement) Join(joinOP string, tablename interface{}, condition string, args ...interface{}) *Statement { + var buf bytes.Buffer + if len(statement.JoinStr) > 0 { + fmt.Fprintf(&buf, "%v %v JOIN ", statement.JoinStr, joinOP) + } else { + fmt.Fprintf(&buf, "%v JOIN ", joinOP) + } + + switch tablename.(type) { + case []string: + t := tablename.([]string) + if len(t) > 1 { + fmt.Fprintf(&buf, "%v AS %v", statement.Engine.Quote(t[0]), statement.Engine.Quote(t[1])) + } else if len(t) == 1 { + fmt.Fprintf(&buf, statement.Engine.Quote(t[0])) + } + case []interface{}: + t := tablename.([]interface{}) + l := len(t) + var table string + if l > 0 { + f := t[0] + v := rValue(f) + t := v.Type() + if t.Kind() == reflect.String { + table = f.(string) + } else if t.Kind() == reflect.Struct { + table = statement.Engine.tbName(v) + } + } + if l > 1 { + fmt.Fprintf(&buf, "%v AS %v", statement.Engine.Quote(table), + statement.Engine.Quote(fmt.Sprintf("%v", t[1]))) + } else if l == 1 { + fmt.Fprintf(&buf, statement.Engine.Quote(table)) + } + default: + fmt.Fprintf(&buf, statement.Engine.Quote(fmt.Sprintf("%v", tablename))) + } + + fmt.Fprintf(&buf, " ON %v", condition) + statement.JoinStr = buf.String() + statement.joinArgs = append(statement.joinArgs, args...) + return statement +} + +// GroupBy generate "Group By keys" statement +func (statement *Statement) GroupBy(keys string) *Statement { + statement.GroupByStr = keys + return statement +} + +// Having generate "Having conditions" statement +func (statement *Statement) Having(conditions string) *Statement { + statement.HavingStr = fmt.Sprintf("HAVING %v", conditions) + return statement +} + +// Unscoped always disable struct tag "deleted" +func (statement *Statement) Unscoped() *Statement { + statement.unscoped = true + return statement +} + +func (statement *Statement) genColumnStr() string { + var buf bytes.Buffer + if statement.RefTable == nil { + return "" + } + + columns := statement.RefTable.Columns() + + for _, col := range columns { + if statement.OmitStr != "" { + if _, ok := getFlagForColumn(statement.columnMap, col); ok { + continue + } + } + + if col.MapType == core.ONLYTODB { + continue + } + + if buf.Len() != 0 { + buf.WriteString(", ") + } + + if col.IsPrimaryKey && statement.Engine.Dialect().DBType() == "ql" { + buf.WriteString("id() AS ") + } + + if statement.JoinStr != "" { + if statement.TableAlias != "" { + buf.WriteString(statement.TableAlias) + } else { + buf.WriteString(statement.TableName()) + } + + buf.WriteString(".") + } + + statement.Engine.QuoteTo(&buf, col.Name) + } + + return buf.String() +} + +func (statement *Statement) genCreateTableSQL() string { + return statement.Engine.dialect.CreateTableSql(statement.RefTable, statement.TableName(), + statement.StoreEngine, statement.Charset) +} + +func (statement *Statement) genIndexSQL() []string { + var sqls []string + tbName := statement.TableName() + quote := statement.Engine.Quote + for idxName, index := range statement.RefTable.Indexes { + if index.Type == core.IndexType { + sql := fmt.Sprintf("CREATE INDEX %v ON %v (%v);", quote(indexName(tbName, idxName)), + quote(tbName), quote(strings.Join(index.Cols, quote(",")))) + sqls = append(sqls, sql) + } + } + return sqls +} + +func uniqueName(tableName, uqeName string) string { + return fmt.Sprintf("UQE_%v_%v", tableName, uqeName) +} + +func (statement *Statement) genUniqueSQL() []string { + var sqls []string + tbName := statement.TableName() + for _, index := range statement.RefTable.Indexes { + if index.Type == core.UniqueType { + sql := statement.Engine.dialect.CreateIndexSql(tbName, index) + sqls = append(sqls, sql) + } + } + return sqls +} + +func (statement *Statement) genDelIndexSQL() []string { + var sqls []string + tbName := statement.TableName() + for idxName, index := range statement.RefTable.Indexes { + var rIdxName string + if index.Type == core.UniqueType { + rIdxName = uniqueName(tbName, idxName) + } else if index.Type == core.IndexType { + rIdxName = indexName(tbName, idxName) + } + sql := fmt.Sprintf("DROP INDEX %v", statement.Engine.Quote(rIdxName)) + if statement.Engine.dialect.IndexOnTable() { + sql += fmt.Sprintf(" ON %v", statement.Engine.Quote(statement.TableName())) + } + sqls = append(sqls, sql) + } + return sqls +} + +func (statement *Statement) genAddColumnStr(col *core.Column) (string, []interface{}) { + quote := statement.Engine.Quote + sql := fmt.Sprintf("ALTER TABLE %v ADD %v;", quote(statement.TableName()), + col.String(statement.Engine.dialect)) + return sql, []interface{}{} +} + +func (statement *Statement) buildConds(table *core.Table, bean interface{}, includeVersion bool, includeUpdated bool, includeNil bool, includeAutoIncr bool, addedTableName bool) (builder.Cond, error) { + return statement.Engine.buildConds(table, bean, includeVersion, includeUpdated, includeNil, includeAutoIncr, statement.allUseBool, statement.useAllCols, + statement.unscoped, statement.mustColumnMap, statement.TableName(), statement.TableAlias, addedTableName) +} + +func (statement *Statement) mergeConds(bean interface{}) error { + if !statement.noAutoCondition { + var addedTableName = (len(statement.JoinStr) > 0) + autoCond, err := statement.buildConds(statement.RefTable, bean, true, true, false, true, addedTableName) + if err != nil { + return err + } + statement.cond = statement.cond.And(autoCond) + } + + if err := statement.processIDParam(); err != nil { + return err + } + return nil +} + +func (statement *Statement) genConds(bean interface{}) (string, []interface{}, error) { + if err := statement.mergeConds(bean); err != nil { + return "", nil, err + } + + return builder.ToSQL(statement.cond) +} + +func (statement *Statement) genGetSQL(bean interface{}) (string, []interface{}, error) { + v := rValue(bean) + isStruct := v.Kind() == reflect.Struct + if isStruct { + statement.setRefValue(v) + } + + var columnStr = statement.ColumnStr + if len(statement.selectStr) > 0 { + columnStr = statement.selectStr + } else { + // TODO: always generate column names, not use * even if join + if len(statement.JoinStr) == 0 { + if len(columnStr) == 0 { + if len(statement.GroupByStr) > 0 { + columnStr = statement.Engine.Quote(strings.Replace(statement.GroupByStr, ",", statement.Engine.Quote(","), -1)) + } else { + columnStr = statement.genColumnStr() + } + } + } else { + if len(columnStr) == 0 { + if len(statement.GroupByStr) > 0 { + columnStr = statement.Engine.Quote(strings.Replace(statement.GroupByStr, ",", statement.Engine.Quote(","), -1)) + } + } + } + } + + if len(columnStr) == 0 { + columnStr = "*" + } + + if isStruct { + if err := statement.mergeConds(bean); err != nil { + return "", nil, err + } + } + condSQL, condArgs, err := builder.ToSQL(statement.cond) + if err != nil { + return "", nil, err + } + + sqlStr, err := statement.genSelectSQL(columnStr, condSQL) + if err != nil { + return "", nil, err + } + + return sqlStr, append(statement.joinArgs, condArgs...), nil +} + +func (statement *Statement) genCountSQL(beans ...interface{}) (string, []interface{}, error) { + var condSQL string + var condArgs []interface{} + var err error + if len(beans) > 0 { + statement.setRefValue(rValue(beans[0])) + condSQL, condArgs, err = statement.genConds(beans[0]) + } else { + condSQL, condArgs, err = builder.ToSQL(statement.cond) + } + if err != nil { + return "", nil, err + } + + var selectSQL = statement.selectStr + if len(selectSQL) <= 0 { + if statement.IsDistinct { + selectSQL = fmt.Sprintf("count(DISTINCT %s)", statement.ColumnStr) + } else { + selectSQL = "count(*)" + } + } + sqlStr, err := statement.genSelectSQL(selectSQL, condSQL) + if err != nil { + return "", nil, err + } + + return sqlStr, append(statement.joinArgs, condArgs...), nil +} + +func (statement *Statement) genSumSQL(bean interface{}, columns ...string) (string, []interface{}, error) { + statement.setRefValue(rValue(bean)) + + var sumStrs = make([]string, 0, len(columns)) + for _, colName := range columns { + if !strings.Contains(colName, " ") && !strings.Contains(colName, "(") { + colName = statement.Engine.Quote(colName) + } + sumStrs = append(sumStrs, fmt.Sprintf("COALESCE(sum(%s),0)", colName)) + } + sumSelect := strings.Join(sumStrs, ", ") + + condSQL, condArgs, err := statement.genConds(bean) + if err != nil { + return "", nil, err + } + + sqlStr, err := statement.genSelectSQL(sumSelect, condSQL) + if err != nil { + return "", nil, err + } + + return sqlStr, append(statement.joinArgs, condArgs...), nil +} + +func (statement *Statement) genSelectSQL(columnStr, condSQL string) (a string, err error) { + var distinct string + if statement.IsDistinct && !strings.HasPrefix(columnStr, "count") { + distinct = "DISTINCT " + } + + var dialect = statement.Engine.Dialect() + var quote = statement.Engine.Quote + var top string + var mssqlCondi string + + if err := statement.processIDParam(); err != nil { + return "", err + } + + var buf bytes.Buffer + if len(condSQL) > 0 { + fmt.Fprintf(&buf, " WHERE %v", condSQL) + } + var whereStr = buf.String() + var fromStr = " FROM " + + if dialect.DBType() == core.MSSQL && strings.Contains(statement.TableName(), "..") { + fromStr += statement.TableName() + } else { + fromStr += quote(statement.TableName()) + } + + if statement.TableAlias != "" { + if dialect.DBType() == core.ORACLE { + fromStr += " " + quote(statement.TableAlias) + } else { + fromStr += " AS " + quote(statement.TableAlias) + } + } + if statement.JoinStr != "" { + fromStr = fmt.Sprintf("%v %v", fromStr, statement.JoinStr) + } + + if dialect.DBType() == core.MSSQL { + if statement.LimitN > 0 { + top = fmt.Sprintf(" TOP %d ", statement.LimitN) + } + if statement.Start > 0 { + var column string + if len(statement.RefTable.PKColumns()) == 0 { + for _, index := range statement.RefTable.Indexes { + if len(index.Cols) == 1 { + column = index.Cols[0] + break + } + } + if len(column) == 0 { + column = statement.RefTable.ColumnsSeq()[0] + } + } else { + column = statement.RefTable.PKColumns()[0].Name + } + if statement.needTableName() { + if len(statement.TableAlias) > 0 { + column = statement.TableAlias + "." + column + } else { + column = statement.TableName() + "." + column + } + } + + var orderStr string + if len(statement.OrderStr) > 0 { + orderStr = " ORDER BY " + statement.OrderStr + } + var groupStr string + if len(statement.GroupByStr) > 0 { + groupStr = " GROUP BY " + statement.GroupByStr + } + mssqlCondi = fmt.Sprintf("(%s NOT IN (SELECT TOP %d %s%s%s%s%s))", + column, statement.Start, column, fromStr, whereStr, orderStr, groupStr) + } + } + + // !nashtsai! REVIEW Sprintf is considered slowest mean of string concatnation, better to work with builder pattern + a = fmt.Sprintf("SELECT %v%v%v%v%v", distinct, top, columnStr, fromStr, whereStr) + if len(mssqlCondi) > 0 { + if len(whereStr) > 0 { + a += " AND " + mssqlCondi + } else { + a += " WHERE " + mssqlCondi + } + } + + if statement.GroupByStr != "" { + a = fmt.Sprintf("%v GROUP BY %v", a, statement.GroupByStr) + } + if statement.HavingStr != "" { + a = fmt.Sprintf("%v %v", a, statement.HavingStr) + } + if statement.OrderStr != "" { + a = fmt.Sprintf("%v ORDER BY %v", a, statement.OrderStr) + } + if dialect.DBType() != core.MSSQL && dialect.DBType() != core.ORACLE { + if statement.Start > 0 { + a = fmt.Sprintf("%v LIMIT %v OFFSET %v", a, statement.LimitN, statement.Start) + } else if statement.LimitN > 0 { + a = fmt.Sprintf("%v LIMIT %v", a, statement.LimitN) + } + } else if dialect.DBType() == core.ORACLE { + if statement.Start != 0 || statement.LimitN != 0 { + a = fmt.Sprintf("SELECT %v FROM (SELECT %v,ROWNUM RN FROM (%v) at WHERE ROWNUM <= %d) aat WHERE RN > %d", columnStr, columnStr, a, statement.Start+statement.LimitN, statement.Start) + } + } + if statement.IsForUpdate { + a = dialect.ForUpdateSql(a) + } + + return +} + +func (statement *Statement) processIDParam() error { + if statement.idParam == nil { + return nil + } + + if len(statement.RefTable.PrimaryKeys) != len(*statement.idParam) { + return fmt.Errorf("ID condition is error, expect %d primarykeys, there are %d", + len(statement.RefTable.PrimaryKeys), + len(*statement.idParam), + ) + } + + for i, col := range statement.RefTable.PKColumns() { + var colName = statement.colName(col, statement.TableName()) + statement.cond = statement.cond.And(builder.Eq{colName: (*(statement.idParam))[i]}) + } + return nil +} + +func (statement *Statement) joinColumns(cols []*core.Column, includeTableName bool) string { + var colnames = make([]string, len(cols)) + for i, col := range cols { + if includeTableName { + colnames[i] = statement.Engine.Quote(statement.TableName()) + + "." + statement.Engine.Quote(col.Name) + } else { + colnames[i] = statement.Engine.Quote(col.Name) + } + } + return strings.Join(colnames, ", ") +} + +func (statement *Statement) convertIDSQL(sqlStr string) string { + if statement.RefTable != nil { + cols := statement.RefTable.PKColumns() + if len(cols) == 0 { + return "" + } + + colstrs := statement.joinColumns(cols, false) + sqls := splitNNoCase(sqlStr, " from ", 2) + if len(sqls) != 2 { + return "" + } + + var top string + if statement.LimitN > 0 && statement.Engine.dialect.DBType() == core.MSSQL { + top = fmt.Sprintf("TOP %d ", statement.LimitN) + } + + newsql := fmt.Sprintf("SELECT %s%s FROM %v", top, colstrs, sqls[1]) + return newsql + } + return "" +} + +func (statement *Statement) convertUpdateSQL(sqlStr string) (string, string) { + if statement.RefTable == nil || len(statement.RefTable.PrimaryKeys) != 1 { + return "", "" + } + + colstrs := statement.joinColumns(statement.RefTable.PKColumns(), true) + sqls := splitNNoCase(sqlStr, "where", 2) + if len(sqls) != 2 { + if len(sqls) == 1 { + return sqls[0], fmt.Sprintf("SELECT %v FROM %v", + colstrs, statement.Engine.Quote(statement.TableName())) + } + return "", "" + } + + var whereStr = sqls[1] + + //TODO: for postgres only, if any other database? + var paraStr string + if statement.Engine.dialect.DBType() == core.POSTGRES { + paraStr = "$" + } else if statement.Engine.dialect.DBType() == core.MSSQL { + paraStr = ":" + } + + if paraStr != "" { + if strings.Contains(sqls[1], paraStr) { + dollers := strings.Split(sqls[1], paraStr) + whereStr = dollers[0] + for i, c := range dollers[1:] { + ccs := strings.SplitN(c, " ", 2) + whereStr += fmt.Sprintf(paraStr+"%v %v", i+1, ccs[1]) + } + } + } + + return sqls[0], fmt.Sprintf("SELECT %v FROM %v WHERE %v", + colstrs, statement.Engine.Quote(statement.TableName()), + whereStr) +} diff --git a/vendor/github.com/go-xorm/xorm/syslogger.go b/vendor/github.com/go-xorm/xorm/syslogger.go new file mode 100644 index 000000000..8840635d4 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/syslogger.go @@ -0,0 +1,89 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +// +build !windows,!nacl,!plan9 + +package xorm + +import ( + "fmt" + "log/syslog" + + "github.com/go-xorm/core" +) + +var _ core.ILogger = &SyslogLogger{} + +// SyslogLogger will be depricated +type SyslogLogger struct { + w *syslog.Writer + showSQL bool +} + +// NewSyslogLogger implements core.ILogger +func NewSyslogLogger(w *syslog.Writer) *SyslogLogger { + return &SyslogLogger{w: w} +} + +// Debug log content as Debug +func (s *SyslogLogger) Debug(v ...interface{}) { + s.w.Debug(fmt.Sprint(v...)) +} + +// Debugf log content as Debug and format +func (s *SyslogLogger) Debugf(format string, v ...interface{}) { + s.w.Debug(fmt.Sprintf(format, v...)) +} + +// Error log content as Error +func (s *SyslogLogger) Error(v ...interface{}) { + s.w.Err(fmt.Sprint(v...)) +} + +// Errorf log content as Errorf and format +func (s *SyslogLogger) Errorf(format string, v ...interface{}) { + s.w.Err(fmt.Sprintf(format, v...)) +} + +// Info log content as Info +func (s *SyslogLogger) Info(v ...interface{}) { + s.w.Info(fmt.Sprint(v...)) +} + +// Infof log content as Infof and format +func (s *SyslogLogger) Infof(format string, v ...interface{}) { + s.w.Info(fmt.Sprintf(format, v...)) +} + +// Warn log content as Warn +func (s *SyslogLogger) Warn(v ...interface{}) { + s.w.Warning(fmt.Sprint(v...)) +} + +// Warnf log content as Warnf and format +func (s *SyslogLogger) Warnf(format string, v ...interface{}) { + s.w.Warning(fmt.Sprintf(format, v...)) +} + +// Level shows log level +func (s *SyslogLogger) Level() core.LogLevel { + return core.LOG_UNKNOWN +} + +// SetLevel always return error, as current log/syslog package doesn't allow to set priority level after syslog.Writer created +func (s *SyslogLogger) SetLevel(l core.LogLevel) {} + +// ShowSQL set if logging SQL +func (s *SyslogLogger) ShowSQL(show ...bool) { + if len(show) == 0 { + s.showSQL = true + return + } + s.showSQL = show[0] +} + +// IsShowSQL if logging SQL +func (s *SyslogLogger) IsShowSQL() bool { + return s.showSQL +} diff --git a/vendor/github.com/go-xorm/xorm/tag.go b/vendor/github.com/go-xorm/xorm/tag.go new file mode 100644 index 000000000..e1c821fb5 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/tag.go @@ -0,0 +1,290 @@ +// Copyright 2017 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "fmt" + "reflect" + "strconv" + "strings" + "time" + + "github.com/go-xorm/core" +) + +type tagContext struct { + tagName string + params []string + preTag, nextTag string + table *core.Table + col *core.Column + fieldValue reflect.Value + isIndex bool + isUnique bool + indexNames map[string]int + engine *Engine + hasCacheTag bool + hasNoCacheTag bool + ignoreNext bool +} + +// tagHandler describes tag handler for XORM +type tagHandler func(ctx *tagContext) error + +var ( + // defaultTagHandlers enumerates all the default tag handler + defaultTagHandlers = map[string]tagHandler{ + "<-": OnlyFromDBTagHandler, + "->": OnlyToDBTagHandler, + "PK": PKTagHandler, + "NULL": NULLTagHandler, + "NOT": IgnoreTagHandler, + "AUTOINCR": AutoIncrTagHandler, + "DEFAULT": DefaultTagHandler, + "CREATED": CreatedTagHandler, + "UPDATED": UpdatedTagHandler, + "DELETED": DeletedTagHandler, + "VERSION": VersionTagHandler, + "UTC": UTCTagHandler, + "LOCAL": LocalTagHandler, + "NOTNULL": NotNullTagHandler, + "INDEX": IndexTagHandler, + "UNIQUE": UniqueTagHandler, + "CACHE": CacheTagHandler, + "NOCACHE": NoCacheTagHandler, + "COMMENT": CommentTagHandler, + } +) + +func init() { + for k := range core.SqlTypes { + defaultTagHandlers[k] = SQLTypeTagHandler + } +} + +// IgnoreTagHandler describes ignored tag handler +func IgnoreTagHandler(ctx *tagContext) error { + return nil +} + +// OnlyFromDBTagHandler describes mapping direction tag handler +func OnlyFromDBTagHandler(ctx *tagContext) error { + ctx.col.MapType = core.ONLYFROMDB + return nil +} + +// OnlyToDBTagHandler describes mapping direction tag handler +func OnlyToDBTagHandler(ctx *tagContext) error { + ctx.col.MapType = core.ONLYTODB + return nil +} + +// PKTagHandler decribes primary key tag handler +func PKTagHandler(ctx *tagContext) error { + ctx.col.IsPrimaryKey = true + ctx.col.Nullable = false + return nil +} + +// NULLTagHandler describes null tag handler +func NULLTagHandler(ctx *tagContext) error { + ctx.col.Nullable = (strings.ToUpper(ctx.preTag) != "NOT") + return nil +} + +// NotNullTagHandler describes notnull tag handler +func NotNullTagHandler(ctx *tagContext) error { + ctx.col.Nullable = false + return nil +} + +// AutoIncrTagHandler describes autoincr tag handler +func AutoIncrTagHandler(ctx *tagContext) error { + ctx.col.IsAutoIncrement = true + /* + if len(ctx.params) > 0 { + autoStartInt, err := strconv.Atoi(ctx.params[0]) + if err != nil { + return err + } + ctx.col.AutoIncrStart = autoStartInt + } else { + ctx.col.AutoIncrStart = 1 + } + */ + return nil +} + +// DefaultTagHandler describes default tag handler +func DefaultTagHandler(ctx *tagContext) error { + if len(ctx.params) > 0 { + ctx.col.Default = ctx.params[0] + } else { + ctx.col.Default = ctx.nextTag + ctx.ignoreNext = true + } + return nil +} + +// CreatedTagHandler describes created tag handler +func CreatedTagHandler(ctx *tagContext) error { + ctx.col.IsCreated = true + return nil +} + +// VersionTagHandler describes version tag handler +func VersionTagHandler(ctx *tagContext) error { + ctx.col.IsVersion = true + ctx.col.Default = "1" + return nil +} + +// UTCTagHandler describes utc tag handler +func UTCTagHandler(ctx *tagContext) error { + ctx.col.TimeZone = time.UTC + return nil +} + +// LocalTagHandler describes local tag handler +func LocalTagHandler(ctx *tagContext) error { + if len(ctx.params) == 0 { + ctx.col.TimeZone = time.Local + } else { + var err error + ctx.col.TimeZone, err = time.LoadLocation(ctx.params[0]) + if err != nil { + return err + } + } + return nil +} + +// UpdatedTagHandler describes updated tag handler +func UpdatedTagHandler(ctx *tagContext) error { + ctx.col.IsUpdated = true + return nil +} + +// DeletedTagHandler describes deleted tag handler +func DeletedTagHandler(ctx *tagContext) error { + ctx.col.IsDeleted = true + return nil +} + +// IndexTagHandler describes index tag handler +func IndexTagHandler(ctx *tagContext) error { + if len(ctx.params) > 0 { + ctx.indexNames[ctx.params[0]] = core.IndexType + } else { + ctx.isIndex = true + } + return nil +} + +// UniqueTagHandler describes unique tag handler +func UniqueTagHandler(ctx *tagContext) error { + if len(ctx.params) > 0 { + ctx.indexNames[ctx.params[0]] = core.UniqueType + } else { + ctx.isUnique = true + } + return nil +} + +// CommentTagHandler add comment to column +func CommentTagHandler(ctx *tagContext) error { + if len(ctx.params) > 0 { + ctx.col.Comment = strings.Trim(ctx.params[0], "' ") + } + return nil +} + +// SQLTypeTagHandler describes SQL Type tag handler +func SQLTypeTagHandler(ctx *tagContext) error { + ctx.col.SQLType = core.SQLType{Name: ctx.tagName} + if len(ctx.params) > 0 { + if ctx.tagName == core.Enum { + ctx.col.EnumOptions = make(map[string]int) + for k, v := range ctx.params { + v = strings.TrimSpace(v) + v = strings.Trim(v, "'") + ctx.col.EnumOptions[v] = k + } + } else if ctx.tagName == core.Set { + ctx.col.SetOptions = make(map[string]int) + for k, v := range ctx.params { + v = strings.TrimSpace(v) + v = strings.Trim(v, "'") + ctx.col.SetOptions[v] = k + } + } else { + var err error + if len(ctx.params) == 2 { + ctx.col.Length, err = strconv.Atoi(ctx.params[0]) + if err != nil { + return err + } + ctx.col.Length2, err = strconv.Atoi(ctx.params[1]) + if err != nil { + return err + } + } else if len(ctx.params) == 1 { + ctx.col.Length, err = strconv.Atoi(ctx.params[0]) + if err != nil { + return err + } + } + } + } + return nil +} + +// ExtendsTagHandler describes extends tag handler +func ExtendsTagHandler(ctx *tagContext) error { + var fieldValue = ctx.fieldValue + switch fieldValue.Kind() { + case reflect.Ptr: + f := fieldValue.Type().Elem() + if f.Kind() == reflect.Struct { + fieldPtr := fieldValue + fieldValue = fieldValue.Elem() + if !fieldValue.IsValid() || fieldPtr.IsNil() { + fieldValue = reflect.New(f).Elem() + } + } + fallthrough + case reflect.Struct: + parentTable, err := ctx.engine.mapType(fieldValue) + if err != nil { + return err + } + for _, col := range parentTable.Columns() { + col.FieldName = fmt.Sprintf("%v.%v", ctx.col.FieldName, col.FieldName) + ctx.table.AddColumn(col) + for indexName, indexType := range col.Indexes { + addIndex(indexName, ctx.table, col, indexType) + } + } + default: + //TODO: warning + } + return nil +} + +// CacheTagHandler describes cache tag handler +func CacheTagHandler(ctx *tagContext) error { + if !ctx.hasCacheTag { + ctx.hasCacheTag = true + } + return nil +} + +// NoCacheTagHandler describes nocache tag handler +func NoCacheTagHandler(ctx *tagContext) error { + if !ctx.hasNoCacheTag { + ctx.hasNoCacheTag = true + } + return nil +} diff --git a/vendor/github.com/go-xorm/xorm/test_mssql.sh b/vendor/github.com/go-xorm/xorm/test_mssql.sh new file mode 100755 index 000000000..6f9cf7295 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_mssql.sh @@ -0,0 +1 @@ +go test -db=mssql -conn_str="server=192.168.1.58;user id=sa;password=123456;database=xorm_test" \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_mssql_cache.sh b/vendor/github.com/go-xorm/xorm/test_mssql_cache.sh new file mode 100755 index 000000000..76efd6ca0 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_mssql_cache.sh @@ -0,0 +1 @@ +go test -db=mssql -conn_str="server=192.168.1.58;user id=sa;password=123456;database=xorm_test" -cache=true \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_mymysql.sh b/vendor/github.com/go-xorm/xorm/test_mymysql.sh new file mode 100755 index 000000000..f7780d14f --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_mymysql.sh @@ -0,0 +1 @@ +go test -db=mymysql -conn_str="xorm_test/root/" \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_mymysql_cache.sh b/vendor/github.com/go-xorm/xorm/test_mymysql_cache.sh new file mode 100755 index 000000000..0100286d6 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_mymysql_cache.sh @@ -0,0 +1 @@ +go test -db=mymysql -conn_str="xorm_test/root/" -cache=true \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_mysql.sh b/vendor/github.com/go-xorm/xorm/test_mysql.sh new file mode 100755 index 000000000..650e4ee17 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_mysql.sh @@ -0,0 +1 @@ +go test -db=mysql -conn_str="root:@/xorm_test" \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_mysql_cache.sh b/vendor/github.com/go-xorm/xorm/test_mysql_cache.sh new file mode 100755 index 000000000..c542e7359 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_mysql_cache.sh @@ -0,0 +1 @@ +go test -db=mysql -conn_str="root:@/xorm_test" -cache=true \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_postgres.sh b/vendor/github.com/go-xorm/xorm/test_postgres.sh new file mode 100755 index 000000000..dc1152e0a --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_postgres.sh @@ -0,0 +1 @@ +go test -db=postgres -conn_str="dbname=xorm_test sslmode=disable" \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_postgres_cache.sh b/vendor/github.com/go-xorm/xorm/test_postgres_cache.sh new file mode 100755 index 000000000..462fc948c --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_postgres_cache.sh @@ -0,0 +1 @@ +go test -db=postgres -conn_str="dbname=xorm_test sslmode=disable" -cache=true \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_sqlite.sh b/vendor/github.com/go-xorm/xorm/test_sqlite.sh new file mode 100755 index 000000000..6352b5cb5 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_sqlite.sh @@ -0,0 +1 @@ +go test -db=sqlite3 -conn_str="./test.db?cache=shared&mode=rwc" \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/test_sqlite_cache.sh b/vendor/github.com/go-xorm/xorm/test_sqlite_cache.sh new file mode 100755 index 000000000..75a054c3f --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/test_sqlite_cache.sh @@ -0,0 +1 @@ +go test -db=sqlite3 -conn_str="./test.db?cache=shared&mode=rwc" -cache=true \ No newline at end of file diff --git a/vendor/github.com/go-xorm/xorm/types.go b/vendor/github.com/go-xorm/xorm/types.go new file mode 100644 index 000000000..99d761c27 --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/types.go @@ -0,0 +1,12 @@ +package xorm + +import ( + "reflect" + + "github.com/go-xorm/core" +) + +var ( + ptrPkType = reflect.TypeOf(&core.PK{}) + pkType = reflect.TypeOf(core.PK{}) +) diff --git a/vendor/github.com/go-xorm/xorm/xorm.go b/vendor/github.com/go-xorm/xorm/xorm.go new file mode 100644 index 000000000..4fdadf2fa --- /dev/null +++ b/vendor/github.com/go-xorm/xorm/xorm.go @@ -0,0 +1,114 @@ +// Copyright 2015 The Xorm Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package xorm + +import ( + "fmt" + "os" + "reflect" + "runtime" + "sync" + "time" + + "github.com/go-xorm/core" +) + +const ( + // Version show the xorm's version + Version string = "0.6.4.0910" +) + +func regDrvsNDialects() bool { + providedDrvsNDialects := map[string]struct { + dbType core.DbType + getDriver func() core.Driver + getDialect func() core.Dialect + }{ + "mssql": {"mssql", func() core.Driver { return &odbcDriver{} }, func() core.Dialect { return &mssql{} }}, + "odbc": {"mssql", func() core.Driver { return &odbcDriver{} }, func() core.Dialect { return &mssql{} }}, // !nashtsai! TODO change this when supporting MS Access + "mysql": {"mysql", func() core.Driver { return &mysqlDriver{} }, func() core.Dialect { return &mysql{} }}, + "mymysql": {"mysql", func() core.Driver { return &mymysqlDriver{} }, func() core.Dialect { return &mysql{} }}, + "postgres": {"postgres", func() core.Driver { return &pqDriver{} }, func() core.Dialect { return &postgres{} }}, + "pgx": {"postgres", func() core.Driver { return &pqDriver{} }, func() core.Dialect { return &postgres{} }}, + "sqlite3": {"sqlite3", func() core.Driver { return &sqlite3Driver{} }, func() core.Dialect { return &sqlite3{} }}, + "oci8": {"oracle", func() core.Driver { return &oci8Driver{} }, func() core.Dialect { return &oracle{} }}, + "goracle": {"oracle", func() core.Driver { return &goracleDriver{} }, func() core.Dialect { return &oracle{} }}, + } + + for driverName, v := range providedDrvsNDialects { + if driver := core.QueryDriver(driverName); driver == nil { + core.RegisterDriver(driverName, v.getDriver()) + core.RegisterDialect(v.dbType, v.getDialect) + } + } + return true +} + +func close(engine *Engine) { + engine.Close() +} + +func init() { + regDrvsNDialects() +} + +// NewEngine new a db manager according to the parameter. Currently support four +// drivers +func NewEngine(driverName string, dataSourceName string) (*Engine, error) { + driver := core.QueryDriver(driverName) + if driver == nil { + return nil, fmt.Errorf("Unsupported driver name: %v", driverName) + } + + uri, err := driver.Parse(driverName, dataSourceName) + if err != nil { + return nil, err + } + + dialect := core.QueryDialect(uri.DbType) + if dialect == nil { + return nil, fmt.Errorf("Unsupported dialect type: %v", uri.DbType) + } + + db, err := core.Open(driverName, dataSourceName) + if err != nil { + return nil, err + } + + err = dialect.Init(db, uri, driverName, dataSourceName) + if err != nil { + return nil, err + } + + engine := &Engine{ + db: db, + dialect: dialect, + Tables: make(map[reflect.Type]*core.Table), + mutex: &sync.RWMutex{}, + TagIdentifier: "xorm", + TZLocation: time.Local, + tagHandlers: defaultTagHandlers, + } + + if uri.DbType == core.SQLITE { + engine.DatabaseTZ = time.UTC + } else { + engine.DatabaseTZ = time.Local + } + + logger := NewSimpleLogger(os.Stdout) + logger.SetLevel(core.LOG_INFO) + engine.SetLogger(logger) + engine.SetMapper(core.NewCacheMapper(new(core.SnakeMapper))) + + runtime.SetFinalizer(engine, close) + + return engine, nil +} + +// Clone clone an engine +func (engine *Engine) Clone() (*Engine, error) { + return NewEngine(engine.DriverName(), engine.DataSourceName()) +} diff --git a/vendor/github.com/gorilla/context/LICENSE b/vendor/github.com/gorilla/context/LICENSE new file mode 100644 index 000000000..0e5fb8728 --- /dev/null +++ b/vendor/github.com/gorilla/context/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2012 Rodrigo Moraes. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/context/README.md b/vendor/github.com/gorilla/context/README.md new file mode 100644 index 000000000..08f86693b --- /dev/null +++ b/vendor/github.com/gorilla/context/README.md @@ -0,0 +1,10 @@ +context +======= +[![Build Status](https://travis-ci.org/gorilla/context.png?branch=master)](https://travis-ci.org/gorilla/context) + +gorilla/context is a general purpose registry for global request variables. + +> Note: gorilla/context, having been born well before `context.Context` existed, does not play well +> with the shallow copying of the request that [`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) (added to net/http Go 1.7 onwards) performs. You should either use *just* gorilla/context, or moving forward, the new `http.Request.Context()`. + +Read the full documentation here: http://www.gorillatoolkit.org/pkg/context diff --git a/vendor/github.com/gorilla/context/context.go b/vendor/github.com/gorilla/context/context.go new file mode 100644 index 000000000..81cb128b1 --- /dev/null +++ b/vendor/github.com/gorilla/context/context.go @@ -0,0 +1,143 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package context + +import ( + "net/http" + "sync" + "time" +) + +var ( + mutex sync.RWMutex + data = make(map[*http.Request]map[interface{}]interface{}) + datat = make(map[*http.Request]int64) +) + +// Set stores a value for a given key in a given request. +func Set(r *http.Request, key, val interface{}) { + mutex.Lock() + if data[r] == nil { + data[r] = make(map[interface{}]interface{}) + datat[r] = time.Now().Unix() + } + data[r][key] = val + mutex.Unlock() +} + +// Get returns a value stored for a given key in a given request. +func Get(r *http.Request, key interface{}) interface{} { + mutex.RLock() + if ctx := data[r]; ctx != nil { + value := ctx[key] + mutex.RUnlock() + return value + } + mutex.RUnlock() + return nil +} + +// GetOk returns stored value and presence state like multi-value return of map access. +func GetOk(r *http.Request, key interface{}) (interface{}, bool) { + mutex.RLock() + if _, ok := data[r]; ok { + value, ok := data[r][key] + mutex.RUnlock() + return value, ok + } + mutex.RUnlock() + return nil, false +} + +// GetAll returns all stored values for the request as a map. Nil is returned for invalid requests. +func GetAll(r *http.Request) map[interface{}]interface{} { + mutex.RLock() + if context, ok := data[r]; ok { + result := make(map[interface{}]interface{}, len(context)) + for k, v := range context { + result[k] = v + } + mutex.RUnlock() + return result + } + mutex.RUnlock() + return nil +} + +// GetAllOk returns all stored values for the request as a map and a boolean value that indicates if +// the request was registered. +func GetAllOk(r *http.Request) (map[interface{}]interface{}, bool) { + mutex.RLock() + context, ok := data[r] + result := make(map[interface{}]interface{}, len(context)) + for k, v := range context { + result[k] = v + } + mutex.RUnlock() + return result, ok +} + +// Delete removes a value stored for a given key in a given request. +func Delete(r *http.Request, key interface{}) { + mutex.Lock() + if data[r] != nil { + delete(data[r], key) + } + mutex.Unlock() +} + +// Clear removes all values stored for a given request. +// +// This is usually called by a handler wrapper to clean up request +// variables at the end of a request lifetime. See ClearHandler(). +func Clear(r *http.Request) { + mutex.Lock() + clear(r) + mutex.Unlock() +} + +// clear is Clear without the lock. +func clear(r *http.Request) { + delete(data, r) + delete(datat, r) +} + +// Purge removes request data stored for longer than maxAge, in seconds. +// It returns the amount of requests removed. +// +// If maxAge <= 0, all request data is removed. +// +// This is only used for sanity check: in case context cleaning was not +// properly set some request data can be kept forever, consuming an increasing +// amount of memory. In case this is detected, Purge() must be called +// periodically until the problem is fixed. +func Purge(maxAge int) int { + mutex.Lock() + count := 0 + if maxAge <= 0 { + count = len(data) + data = make(map[*http.Request]map[interface{}]interface{}) + datat = make(map[*http.Request]int64) + } else { + min := time.Now().Unix() - int64(maxAge) + for r := range data { + if datat[r] < min { + clear(r) + count++ + } + } + } + mutex.Unlock() + return count +} + +// ClearHandler wraps an http.Handler and clears request values at the end +// of a request lifetime. +func ClearHandler(h http.Handler) http.Handler { + return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + defer Clear(r) + h.ServeHTTP(w, r) + }) +} diff --git a/vendor/github.com/gorilla/context/doc.go b/vendor/github.com/gorilla/context/doc.go new file mode 100644 index 000000000..448d1bfca --- /dev/null +++ b/vendor/github.com/gorilla/context/doc.go @@ -0,0 +1,88 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package context stores values shared during a request lifetime. + +Note: gorilla/context, having been born well before `context.Context` existed, +does not play well > with the shallow copying of the request that +[`http.Request.WithContext`](https://golang.org/pkg/net/http/#Request.WithContext) +(added to net/http Go 1.7 onwards) performs. You should either use *just* +gorilla/context, or moving forward, the new `http.Request.Context()`. + +For example, a router can set variables extracted from the URL and later +application handlers can access those values, or it can be used to store +sessions values to be saved at the end of a request. There are several +others common uses. + +The idea was posted by Brad Fitzpatrick to the go-nuts mailing list: + + http://groups.google.com/group/golang-nuts/msg/e2d679d303aa5d53 + +Here's the basic usage: first define the keys that you will need. The key +type is interface{} so a key can be of any type that supports equality. +Here we define a key using a custom int type to avoid name collisions: + + package foo + + import ( + "github.com/gorilla/context" + ) + + type key int + + const MyKey key = 0 + +Then set a variable. Variables are bound to an http.Request object, so you +need a request instance to set a value: + + context.Set(r, MyKey, "bar") + +The application can later access the variable using the same key you provided: + + func MyHandler(w http.ResponseWriter, r *http.Request) { + // val is "bar". + val := context.Get(r, foo.MyKey) + + // returns ("bar", true) + val, ok := context.GetOk(r, foo.MyKey) + // ... + } + +And that's all about the basic usage. We discuss some other ideas below. + +Any type can be stored in the context. To enforce a given type, make the key +private and wrap Get() and Set() to accept and return values of a specific +type: + + type key int + + const mykey key = 0 + + // GetMyKey returns a value for this package from the request values. + func GetMyKey(r *http.Request) SomeType { + if rv := context.Get(r, mykey); rv != nil { + return rv.(SomeType) + } + return nil + } + + // SetMyKey sets a value for this package in the request values. + func SetMyKey(r *http.Request, val SomeType) { + context.Set(r, mykey, val) + } + +Variables must be cleared at the end of a request, to remove all values +that were stored. This can be done in an http.Handler, after a request was +served. Just call Clear() passing the request: + + context.Clear(r) + +...or use ClearHandler(), which conveniently wraps an http.Handler to clear +variables at the end of a request lifetime. + +The Routers from the packages gorilla/mux and gorilla/pat call Clear() +so if you are using either of them you don't need to clear the context manually. +*/ +package context diff --git a/vendor/github.com/gorilla/securecookie/LICENSE b/vendor/github.com/gorilla/securecookie/LICENSE new file mode 100644 index 000000000..0e5fb8728 --- /dev/null +++ b/vendor/github.com/gorilla/securecookie/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2012 Rodrigo Moraes. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/securecookie/README.md b/vendor/github.com/gorilla/securecookie/README.md new file mode 100644 index 000000000..aa7bd1a5b --- /dev/null +++ b/vendor/github.com/gorilla/securecookie/README.md @@ -0,0 +1,80 @@ +securecookie +============ +[![GoDoc](https://godoc.org/github.com/gorilla/securecookie?status.svg)](https://godoc.org/github.com/gorilla/securecookie) [![Build Status](https://travis-ci.org/gorilla/securecookie.png?branch=master)](https://travis-ci.org/gorilla/securecookie) +[![Sourcegraph](https://sourcegraph.com/github.com/gorilla/securecookie/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/securecookie?badge) + + +securecookie encodes and decodes authenticated and optionally encrypted +cookie values. + +Secure cookies can't be forged, because their values are validated using HMAC. +When encrypted, the content is also inaccessible to malicious eyes. It is still +recommended that sensitive data not be stored in cookies, and that HTTPS be used +to prevent cookie [replay attacks](https://en.wikipedia.org/wiki/Replay_attack). + +## Examples + +To use it, first create a new SecureCookie instance: + +```go +// Hash keys should be at least 32 bytes long +var hashKey = []byte("very-secret") +// Block keys should be 16 bytes (AES-128) or 32 bytes (AES-256) long. +// Shorter keys may weaken the encryption used. +var blockKey = []byte("a-lot-secret") +var s = securecookie.New(hashKey, blockKey) +``` + +The hashKey is required, used to authenticate the cookie value using HMAC. +It is recommended to use a key with 32 or 64 bytes. + +The blockKey is optional, used to encrypt the cookie value -- set it to nil +to not use encryption. If set, the length must correspond to the block size +of the encryption algorithm. For AES, used by default, valid lengths are +16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. + +Strong keys can be created using the convenience function GenerateRandomKey(). + +Once a SecureCookie instance is set, use it to encode a cookie value: + +```go +func SetCookieHandler(w http.ResponseWriter, r *http.Request) { + value := map[string]string{ + "foo": "bar", + } + if encoded, err := s.Encode("cookie-name", value); err == nil { + cookie := &http.Cookie{ + Name: "cookie-name", + Value: encoded, + Path: "/", + Secure: true, + HttpOnly: true, + } + http.SetCookie(w, cookie) + } +} +``` + +Later, use the same SecureCookie instance to decode and validate a cookie +value: + +```go +func ReadCookieHandler(w http.ResponseWriter, r *http.Request) { + if cookie, err := r.Cookie("cookie-name"); err == nil { + value := make(map[string]string) + if err = s2.Decode("cookie-name", cookie.Value, &value); err == nil { + fmt.Fprintf(w, "The value of foo is %q", value["foo"]) + } + } +} +``` + +We stored a map[string]string, but secure cookies can hold any value that +can be encoded using `encoding/gob`. To store custom types, they must be +registered first using gob.Register(). For basic types this is not needed; +it works out of the box. An optional JSON encoder that uses `encoding/json` is +available for types compatible with JSON. + +## License + +BSD licensed. See the LICENSE file for details. diff --git a/vendor/github.com/gorilla/securecookie/doc.go b/vendor/github.com/gorilla/securecookie/doc.go new file mode 100644 index 000000000..ae89408d9 --- /dev/null +++ b/vendor/github.com/gorilla/securecookie/doc.go @@ -0,0 +1,61 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package securecookie encodes and decodes authenticated and optionally +encrypted cookie values. + +Secure cookies can't be forged, because their values are validated using HMAC. +When encrypted, the content is also inaccessible to malicious eyes. + +To use it, first create a new SecureCookie instance: + + var hashKey = []byte("very-secret") + var blockKey = []byte("a-lot-secret") + var s = securecookie.New(hashKey, blockKey) + +The hashKey is required, used to authenticate the cookie value using HMAC. +It is recommended to use a key with 32 or 64 bytes. + +The blockKey is optional, used to encrypt the cookie value -- set it to nil +to not use encryption. If set, the length must correspond to the block size +of the encryption algorithm. For AES, used by default, valid lengths are +16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. + +Strong keys can be created using the convenience function GenerateRandomKey(). + +Once a SecureCookie instance is set, use it to encode a cookie value: + + func SetCookieHandler(w http.ResponseWriter, r *http.Request) { + value := map[string]string{ + "foo": "bar", + } + if encoded, err := s.Encode("cookie-name", value); err == nil { + cookie := &http.Cookie{ + Name: "cookie-name", + Value: encoded, + Path: "/", + } + http.SetCookie(w, cookie) + } + } + +Later, use the same SecureCookie instance to decode and validate a cookie +value: + + func ReadCookieHandler(w http.ResponseWriter, r *http.Request) { + if cookie, err := r.Cookie("cookie-name"); err == nil { + value := make(map[string]string) + if err = s2.Decode("cookie-name", cookie.Value, &value); err == nil { + fmt.Fprintf(w, "The value of foo is %q", value["foo"]) + } + } + } + +We stored a map[string]string, but secure cookies can hold any value that +can be encoded using encoding/gob. To store custom types, they must be +registered first using gob.Register(). For basic types this is not needed; +it works out of the box. +*/ +package securecookie diff --git a/vendor/github.com/gorilla/securecookie/fuzz.go b/vendor/github.com/gorilla/securecookie/fuzz.go new file mode 100644 index 000000000..e4d0534e4 --- /dev/null +++ b/vendor/github.com/gorilla/securecookie/fuzz.go @@ -0,0 +1,25 @@ +// +build gofuzz + +package securecookie + +var hashKey = []byte("very-secret12345") +var blockKey = []byte("a-lot-secret1234") +var s = New(hashKey, blockKey) + +type Cookie struct { + B bool + I int + S string +} + +func Fuzz(data []byte) int { + datas := string(data) + var c Cookie + if err := s.Decode("fuzz", datas, &c); err != nil { + return 0 + } + if _, err := s.Encode("fuzz", c); err != nil { + panic(err) + } + return 1 +} diff --git a/vendor/github.com/gorilla/securecookie/securecookie.go b/vendor/github.com/gorilla/securecookie/securecookie.go new file mode 100644 index 000000000..cd4e0976d --- /dev/null +++ b/vendor/github.com/gorilla/securecookie/securecookie.go @@ -0,0 +1,646 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package securecookie + +import ( + "bytes" + "crypto/aes" + "crypto/cipher" + "crypto/hmac" + "crypto/rand" + "crypto/sha256" + "crypto/subtle" + "encoding/base64" + "encoding/gob" + "encoding/json" + "fmt" + "hash" + "io" + "strconv" + "strings" + "time" +) + +// Error is the interface of all errors returned by functions in this library. +type Error interface { + error + + // IsUsage returns true for errors indicating the client code probably + // uses this library incorrectly. For example, the client may have + // failed to provide a valid hash key, or may have failed to configure + // the Serializer adequately for encoding value. + IsUsage() bool + + // IsDecode returns true for errors indicating that a cookie could not + // be decoded and validated. Since cookies are usually untrusted + // user-provided input, errors of this type should be expected. + // Usually, the proper action is simply to reject the request. + IsDecode() bool + + // IsInternal returns true for unexpected errors occurring in the + // securecookie implementation. + IsInternal() bool + + // Cause, if it returns a non-nil value, indicates that this error was + // propagated from some underlying library. If this method returns nil, + // this error was raised directly by this library. + // + // Cause is provided principally for debugging/logging purposes; it is + // rare that application logic should perform meaningfully different + // logic based on Cause. See, for example, the caveats described on + // (MultiError).Cause(). + Cause() error +} + +// errorType is a bitmask giving the error type(s) of an cookieError value. +type errorType int + +const ( + usageError = errorType(1 << iota) + decodeError + internalError +) + +type cookieError struct { + typ errorType + msg string + cause error +} + +func (e cookieError) IsUsage() bool { return (e.typ & usageError) != 0 } +func (e cookieError) IsDecode() bool { return (e.typ & decodeError) != 0 } +func (e cookieError) IsInternal() bool { return (e.typ & internalError) != 0 } + +func (e cookieError) Cause() error { return e.cause } + +func (e cookieError) Error() string { + parts := []string{"securecookie: "} + if e.msg == "" { + parts = append(parts, "error") + } else { + parts = append(parts, e.msg) + } + if c := e.Cause(); c != nil { + parts = append(parts, " - caused by: ", c.Error()) + } + return strings.Join(parts, "") +} + +var ( + errGeneratingIV = cookieError{typ: internalError, msg: "failed to generate random iv"} + + errNoCodecs = cookieError{typ: usageError, msg: "no codecs provided"} + errHashKeyNotSet = cookieError{typ: usageError, msg: "hash key is not set"} + errBlockKeyNotSet = cookieError{typ: usageError, msg: "block key is not set"} + errEncodedValueTooLong = cookieError{typ: usageError, msg: "the value is too long"} + + errValueToDecodeTooLong = cookieError{typ: decodeError, msg: "the value is too long"} + errTimestampInvalid = cookieError{typ: decodeError, msg: "invalid timestamp"} + errTimestampTooNew = cookieError{typ: decodeError, msg: "timestamp is too new"} + errTimestampExpired = cookieError{typ: decodeError, msg: "expired timestamp"} + errDecryptionFailed = cookieError{typ: decodeError, msg: "the value could not be decrypted"} + errValueNotByte = cookieError{typ: decodeError, msg: "value not a []byte."} + errValueNotBytePtr = cookieError{typ: decodeError, msg: "value not a pointer to []byte."} + + // ErrMacInvalid indicates that cookie decoding failed because the HMAC + // could not be extracted and verified. Direct use of this error + // variable is deprecated; it is public only for legacy compatibility, + // and may be privatized in the future, as it is rarely useful to + // distinguish between this error and other Error implementations. + ErrMacInvalid = cookieError{typ: decodeError, msg: "the value is not valid"} +) + +// Codec defines an interface to encode and decode cookie values. +type Codec interface { + Encode(name string, value interface{}) (string, error) + Decode(name, value string, dst interface{}) error +} + +// New returns a new SecureCookie. +// +// hashKey is required, used to authenticate values using HMAC. Create it using +// GenerateRandomKey(). It is recommended to use a key with 32 or 64 bytes. +// +// blockKey is optional, used to encrypt values. Create it using +// GenerateRandomKey(). The key length must correspond to the block size +// of the encryption algorithm. For AES, used by default, valid lengths are +// 16, 24, or 32 bytes to select AES-128, AES-192, or AES-256. +// The default encoder used for cookie serialization is encoding/gob. +// +// Note that keys created using GenerateRandomKey() are not automatically +// persisted. New keys will be created when the application is restarted, and +// previously issued cookies will not be able to be decoded. +func New(hashKey, blockKey []byte) *SecureCookie { + s := &SecureCookie{ + hashKey: hashKey, + blockKey: blockKey, + hashFunc: sha256.New, + maxAge: 86400 * 30, + maxLength: 4096, + sz: GobEncoder{}, + } + if hashKey == nil { + s.err = errHashKeyNotSet + } + if blockKey != nil { + s.BlockFunc(aes.NewCipher) + } + return s +} + +// SecureCookie encodes and decodes authenticated and optionally encrypted +// cookie values. +type SecureCookie struct { + hashKey []byte + hashFunc func() hash.Hash + blockKey []byte + block cipher.Block + maxLength int + maxAge int64 + minAge int64 + err error + sz Serializer + // For testing purposes, the function that returns the current timestamp. + // If not set, it will use time.Now().UTC().Unix(). + timeFunc func() int64 +} + +// Serializer provides an interface for providing custom serializers for cookie +// values. +type Serializer interface { + Serialize(src interface{}) ([]byte, error) + Deserialize(src []byte, dst interface{}) error +} + +// GobEncoder encodes cookie values using encoding/gob. This is the simplest +// encoder and can handle complex types via gob.Register. +type GobEncoder struct{} + +// JSONEncoder encodes cookie values using encoding/json. Users who wish to +// encode complex types need to satisfy the json.Marshaller and +// json.Unmarshaller interfaces. +type JSONEncoder struct{} + +// NopEncoder does not encode cookie values, and instead simply accepts a []byte +// (as an interface{}) and returns a []byte. This is particularly useful when +// you encoding an object upstream and do not wish to re-encode it. +type NopEncoder struct{} + +// MaxLength restricts the maximum length, in bytes, for the cookie value. +// +// Default is 4096, which is the maximum value accepted by Internet Explorer. +func (s *SecureCookie) MaxLength(value int) *SecureCookie { + s.maxLength = value + return s +} + +// MaxAge restricts the maximum age, in seconds, for the cookie value. +// +// Default is 86400 * 30. Set it to 0 for no restriction. +func (s *SecureCookie) MaxAge(value int) *SecureCookie { + s.maxAge = int64(value) + return s +} + +// MinAge restricts the minimum age, in seconds, for the cookie value. +// +// Default is 0 (no restriction). +func (s *SecureCookie) MinAge(value int) *SecureCookie { + s.minAge = int64(value) + return s +} + +// HashFunc sets the hash function used to create HMAC. +// +// Default is crypto/sha256.New. +func (s *SecureCookie) HashFunc(f func() hash.Hash) *SecureCookie { + s.hashFunc = f + return s +} + +// BlockFunc sets the encryption function used to create a cipher.Block. +// +// Default is crypto/aes.New. +func (s *SecureCookie) BlockFunc(f func([]byte) (cipher.Block, error)) *SecureCookie { + if s.blockKey == nil { + s.err = errBlockKeyNotSet + } else if block, err := f(s.blockKey); err == nil { + s.block = block + } else { + s.err = cookieError{cause: err, typ: usageError} + } + return s +} + +// Encoding sets the encoding/serialization method for cookies. +// +// Default is encoding/gob. To encode special structures using encoding/gob, +// they must be registered first using gob.Register(). +func (s *SecureCookie) SetSerializer(sz Serializer) *SecureCookie { + s.sz = sz + + return s +} + +// Encode encodes a cookie value. +// +// It serializes, optionally encrypts, signs with a message authentication code, +// and finally encodes the value. +// +// The name argument is the cookie name. It is stored with the encoded value. +// The value argument is the value to be encoded. It can be any value that can +// be encoded using the currently selected serializer; see SetSerializer(). +// +// It is the client's responsibility to ensure that value, when encoded using +// the current serialization/encryption settings on s and then base64-encoded, +// is shorter than the maximum permissible length. +func (s *SecureCookie) Encode(name string, value interface{}) (string, error) { + if s.err != nil { + return "", s.err + } + if s.hashKey == nil { + s.err = errHashKeyNotSet + return "", s.err + } + var err error + var b []byte + // 1. Serialize. + if b, err = s.sz.Serialize(value); err != nil { + return "", cookieError{cause: err, typ: usageError} + } + // 2. Encrypt (optional). + if s.block != nil { + if b, err = encrypt(s.block, b); err != nil { + return "", cookieError{cause: err, typ: usageError} + } + } + b = encode(b) + // 3. Create MAC for "name|date|value". Extra pipe to be used later. + b = []byte(fmt.Sprintf("%s|%d|%s|", name, s.timestamp(), b)) + mac := createMac(hmac.New(s.hashFunc, s.hashKey), b[:len(b)-1]) + // Append mac, remove name. + b = append(b, mac...)[len(name)+1:] + // 4. Encode to base64. + b = encode(b) + // 5. Check length. + if s.maxLength != 0 && len(b) > s.maxLength { + return "", errEncodedValueTooLong + } + // Done. + return string(b), nil +} + +// Decode decodes a cookie value. +// +// It decodes, verifies a message authentication code, optionally decrypts and +// finally deserializes the value. +// +// The name argument is the cookie name. It must be the same name used when +// it was stored. The value argument is the encoded cookie value. The dst +// argument is where the cookie will be decoded. It must be a pointer. +func (s *SecureCookie) Decode(name, value string, dst interface{}) error { + if s.err != nil { + return s.err + } + if s.hashKey == nil { + s.err = errHashKeyNotSet + return s.err + } + // 1. Check length. + if s.maxLength != 0 && len(value) > s.maxLength { + return errValueToDecodeTooLong + } + // 2. Decode from base64. + b, err := decode([]byte(value)) + if err != nil { + return err + } + // 3. Verify MAC. Value is "date|value|mac". + parts := bytes.SplitN(b, []byte("|"), 3) + if len(parts) != 3 { + return ErrMacInvalid + } + h := hmac.New(s.hashFunc, s.hashKey) + b = append([]byte(name+"|"), b[:len(b)-len(parts[2])-1]...) + if err = verifyMac(h, b, parts[2]); err != nil { + return err + } + // 4. Verify date ranges. + var t1 int64 + if t1, err = strconv.ParseInt(string(parts[0]), 10, 64); err != nil { + return errTimestampInvalid + } + t2 := s.timestamp() + if s.minAge != 0 && t1 > t2-s.minAge { + return errTimestampTooNew + } + if s.maxAge != 0 && t1 < t2-s.maxAge { + return errTimestampExpired + } + // 5. Decrypt (optional). + b, err = decode(parts[1]) + if err != nil { + return err + } + if s.block != nil { + if b, err = decrypt(s.block, b); err != nil { + return err + } + } + // 6. Deserialize. + if err = s.sz.Deserialize(b, dst); err != nil { + return cookieError{cause: err, typ: decodeError} + } + // Done. + return nil +} + +// timestamp returns the current timestamp, in seconds. +// +// For testing purposes, the function that generates the timestamp can be +// overridden. If not set, it will return time.Now().UTC().Unix(). +func (s *SecureCookie) timestamp() int64 { + if s.timeFunc == nil { + return time.Now().UTC().Unix() + } + return s.timeFunc() +} + +// Authentication ------------------------------------------------------------- + +// createMac creates a message authentication code (MAC). +func createMac(h hash.Hash, value []byte) []byte { + h.Write(value) + return h.Sum(nil) +} + +// verifyMac verifies that a message authentication code (MAC) is valid. +func verifyMac(h hash.Hash, value []byte, mac []byte) error { + mac2 := createMac(h, value) + // Check that both MACs are of equal length, as subtle.ConstantTimeCompare + // does not do this prior to Go 1.4. + if len(mac) == len(mac2) && subtle.ConstantTimeCompare(mac, mac2) == 1 { + return nil + } + return ErrMacInvalid +} + +// Encryption ----------------------------------------------------------------- + +// encrypt encrypts a value using the given block in counter mode. +// +// A random initialization vector (http://goo.gl/zF67k) with the length of the +// block size is prepended to the resulting ciphertext. +func encrypt(block cipher.Block, value []byte) ([]byte, error) { + iv := GenerateRandomKey(block.BlockSize()) + if iv == nil { + return nil, errGeneratingIV + } + // Encrypt it. + stream := cipher.NewCTR(block, iv) + stream.XORKeyStream(value, value) + // Return iv + ciphertext. + return append(iv, value...), nil +} + +// decrypt decrypts a value using the given block in counter mode. +// +// The value to be decrypted must be prepended by a initialization vector +// (http://goo.gl/zF67k) with the length of the block size. +func decrypt(block cipher.Block, value []byte) ([]byte, error) { + size := block.BlockSize() + if len(value) > size { + // Extract iv. + iv := value[:size] + // Extract ciphertext. + value = value[size:] + // Decrypt it. + stream := cipher.NewCTR(block, iv) + stream.XORKeyStream(value, value) + return value, nil + } + return nil, errDecryptionFailed +} + +// Serialization -------------------------------------------------------------- + +// Serialize encodes a value using gob. +func (e GobEncoder) Serialize(src interface{}) ([]byte, error) { + buf := new(bytes.Buffer) + enc := gob.NewEncoder(buf) + if err := enc.Encode(src); err != nil { + return nil, cookieError{cause: err, typ: usageError} + } + return buf.Bytes(), nil +} + +// Deserialize decodes a value using gob. +func (e GobEncoder) Deserialize(src []byte, dst interface{}) error { + dec := gob.NewDecoder(bytes.NewBuffer(src)) + if err := dec.Decode(dst); err != nil { + return cookieError{cause: err, typ: decodeError} + } + return nil +} + +// Serialize encodes a value using encoding/json. +func (e JSONEncoder) Serialize(src interface{}) ([]byte, error) { + buf := new(bytes.Buffer) + enc := json.NewEncoder(buf) + if err := enc.Encode(src); err != nil { + return nil, cookieError{cause: err, typ: usageError} + } + return buf.Bytes(), nil +} + +// Deserialize decodes a value using encoding/json. +func (e JSONEncoder) Deserialize(src []byte, dst interface{}) error { + dec := json.NewDecoder(bytes.NewReader(src)) + if err := dec.Decode(dst); err != nil { + return cookieError{cause: err, typ: decodeError} + } + return nil +} + +// Serialize passes a []byte through as-is. +func (e NopEncoder) Serialize(src interface{}) ([]byte, error) { + if b, ok := src.([]byte); ok { + return b, nil + } + + return nil, errValueNotByte +} + +// Deserialize passes a []byte through as-is. +func (e NopEncoder) Deserialize(src []byte, dst interface{}) error { + if dat, ok := dst.(*[]byte); ok { + *dat = src + return nil + } + return errValueNotBytePtr +} + +// Encoding ------------------------------------------------------------------- + +// encode encodes a value using base64. +func encode(value []byte) []byte { + encoded := make([]byte, base64.URLEncoding.EncodedLen(len(value))) + base64.URLEncoding.Encode(encoded, value) + return encoded +} + +// decode decodes a cookie using base64. +func decode(value []byte) ([]byte, error) { + decoded := make([]byte, base64.URLEncoding.DecodedLen(len(value))) + b, err := base64.URLEncoding.Decode(decoded, value) + if err != nil { + return nil, cookieError{cause: err, typ: decodeError, msg: "base64 decode failed"} + } + return decoded[:b], nil +} + +// Helpers -------------------------------------------------------------------- + +// GenerateRandomKey creates a random key with the given length in bytes. +// On failure, returns nil. +// +// Callers should explicitly check for the possibility of a nil return, treat +// it as a failure of the system random number generator, and not continue. +func GenerateRandomKey(length int) []byte { + k := make([]byte, length) + if _, err := io.ReadFull(rand.Reader, k); err != nil { + return nil + } + return k +} + +// CodecsFromPairs returns a slice of SecureCookie instances. +// +// It is a convenience function to create a list of codecs for key rotation. Note +// that the generated Codecs will have the default options applied: callers +// should iterate over each Codec and type-assert the underlying *SecureCookie to +// change these. +// +// Example: +// +// codecs := securecookie.CodecsFromPairs( +// []byte("new-hash-key"), +// []byte("new-block-key"), +// []byte("old-hash-key"), +// []byte("old-block-key"), +// ) +// +// // Modify each instance. +// for _, s := range codecs { +// if cookie, ok := s.(*securecookie.SecureCookie); ok { +// cookie.MaxAge(86400 * 7) +// cookie.SetSerializer(securecookie.JSONEncoder{}) +// cookie.HashFunc(sha512.New512_256) +// } +// } +// +func CodecsFromPairs(keyPairs ...[]byte) []Codec { + codecs := make([]Codec, len(keyPairs)/2+len(keyPairs)%2) + for i := 0; i < len(keyPairs); i += 2 { + var blockKey []byte + if i+1 < len(keyPairs) { + blockKey = keyPairs[i+1] + } + codecs[i/2] = New(keyPairs[i], blockKey) + } + return codecs +} + +// EncodeMulti encodes a cookie value using a group of codecs. +// +// The codecs are tried in order. Multiple codecs are accepted to allow +// key rotation. +// +// On error, may return a MultiError. +func EncodeMulti(name string, value interface{}, codecs ...Codec) (string, error) { + if len(codecs) == 0 { + return "", errNoCodecs + } + + var errors MultiError + for _, codec := range codecs { + encoded, err := codec.Encode(name, value) + if err == nil { + return encoded, nil + } + errors = append(errors, err) + } + return "", errors +} + +// DecodeMulti decodes a cookie value using a group of codecs. +// +// The codecs are tried in order. Multiple codecs are accepted to allow +// key rotation. +// +// On error, may return a MultiError. +func DecodeMulti(name string, value string, dst interface{}, codecs ...Codec) error { + if len(codecs) == 0 { + return errNoCodecs + } + + var errors MultiError + for _, codec := range codecs { + err := codec.Decode(name, value, dst) + if err == nil { + return nil + } + errors = append(errors, err) + } + return errors +} + +// MultiError groups multiple errors. +type MultiError []error + +func (m MultiError) IsUsage() bool { return m.any(func(e Error) bool { return e.IsUsage() }) } +func (m MultiError) IsDecode() bool { return m.any(func(e Error) bool { return e.IsDecode() }) } +func (m MultiError) IsInternal() bool { return m.any(func(e Error) bool { return e.IsInternal() }) } + +// Cause returns nil for MultiError; there is no unique underlying cause in the +// general case. +// +// Note: we could conceivably return a non-nil Cause only when there is exactly +// one child error with a Cause. However, it would be brittle for client code +// to rely on the arity of causes inside a MultiError, so we have opted not to +// provide this functionality. Clients which really wish to access the Causes +// of the underlying errors are free to iterate through the errors themselves. +func (m MultiError) Cause() error { return nil } + +func (m MultiError) Error() string { + s, n := "", 0 + for _, e := range m { + if e != nil { + if n == 0 { + s = e.Error() + } + n++ + } + } + switch n { + case 0: + return "(0 errors)" + case 1: + return s + case 2: + return s + " (and 1 other error)" + } + return fmt.Sprintf("%s (and %d other errors)", s, n-1) +} + +// any returns true if any element of m is an Error for which pred returns true. +func (m MultiError) any(pred func(Error) bool) bool { + for _, e := range m { + if ourErr, ok := e.(Error); ok && pred(ourErr) { + return true + } + } + return false +} diff --git a/vendor/github.com/gorilla/sessions/LICENSE b/vendor/github.com/gorilla/sessions/LICENSE new file mode 100644 index 000000000..0e5fb8728 --- /dev/null +++ b/vendor/github.com/gorilla/sessions/LICENSE @@ -0,0 +1,27 @@ +Copyright (c) 2012 Rodrigo Moraes. All rights reserved. + +Redistribution and use in source and binary forms, with or without +modification, are permitted provided that the following conditions are +met: + + * Redistributions of source code must retain the above copyright +notice, this list of conditions and the following disclaimer. + * Redistributions in binary form must reproduce the above +copyright notice, this list of conditions and the following disclaimer +in the documentation and/or other materials provided with the +distribution. + * Neither the name of Google Inc. nor the names of its +contributors may be used to endorse or promote products derived from +this software without specific prior written permission. + +THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +"AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. diff --git a/vendor/github.com/gorilla/sessions/README.md b/vendor/github.com/gorilla/sessions/README.md new file mode 100644 index 000000000..10eb7f044 --- /dev/null +++ b/vendor/github.com/gorilla/sessions/README.md @@ -0,0 +1,90 @@ +sessions +======== +[![GoDoc](https://godoc.org/github.com/gorilla/sessions?status.svg)](https://godoc.org/github.com/gorilla/sessions) [![Build Status](https://travis-ci.org/gorilla/sessions.png?branch=master)](https://travis-ci.org/gorilla/sessions) +[![Sourcegraph](https://sourcegraph.com/github.com/gorilla/sessions/-/badge.svg)](https://sourcegraph.com/github.com/gorilla/sessions?badge) + + +gorilla/sessions provides cookie and filesystem sessions and infrastructure for +custom session backends. + +The key features are: + +* Simple API: use it as an easy way to set signed (and optionally + encrypted) cookies. +* Built-in backends to store sessions in cookies or the filesystem. +* Flash messages: session values that last until read. +* Convenient way to switch session persistency (aka "remember me") and set + other attributes. +* Mechanism to rotate authentication and encryption keys. +* Multiple sessions per request, even using different backends. +* Interfaces and infrastructure for custom session backends: sessions from + different stores can be retrieved and batch-saved using a common API. + +Let's start with an example that shows the sessions API in a nutshell: + +```go + import ( + "net/http" + "github.com/gorilla/sessions" + ) + + var store = sessions.NewCookieStore([]byte("something-very-secret")) + + func MyHandler(w http.ResponseWriter, r *http.Request) { + // Get a session. We're ignoring the error resulted from decoding an + // existing session: Get() always returns a session, even if empty. + session, _ := store.Get(r, "session-name") + // Set some session values. + session.Values["foo"] = "bar" + session.Values[42] = 43 + // Save it before we write to the response/return from the handler. + session.Save(r, w) + } +``` + +First we initialize a session store calling `NewCookieStore()` and passing a +secret key used to authenticate the session. Inside the handler, we call +`store.Get()` to retrieve an existing session or create a new one. Then we set +some session values in session.Values, which is a `map[interface{}]interface{}`. +And finally we call `session.Save()` to save the session in the response. + +Important Note: If you aren't using gorilla/mux, you need to wrap your handlers +with +[`context.ClearHandler`](http://www.gorillatoolkit.org/pkg/context#ClearHandler) +or else you will leak memory! An easy way to do this is to wrap the top-level +mux when calling http.ListenAndServe: + +```go + http.ListenAndServe(":8080", context.ClearHandler(http.DefaultServeMux)) +``` + +The ClearHandler function is provided by the gorilla/context package. + +More examples are available [on the Gorilla +website](http://www.gorillatoolkit.org/pkg/sessions). + +## Store Implementations + +Other implementations of the `sessions.Store` interface: + +* [github.com/starJammer/gorilla-sessions-arangodb](https://github.com/starJammer/gorilla-sessions-arangodb) - ArangoDB +* [github.com/yosssi/boltstore](https://github.com/yosssi/boltstore) - Bolt +* [github.com/srinathgs/couchbasestore](https://github.com/srinathgs/couchbasestore) - Couchbase +* [github.com/denizeren/dynamostore](https://github.com/denizeren/dynamostore) - Dynamodb on AWS +* [github.com/savaki/dynastore](https://github.com/savaki/dynastore) - DynamoDB on AWS (Official AWS library) +* [github.com/bradleypeabody/gorilla-sessions-memcache](https://github.com/bradleypeabody/gorilla-sessions-memcache) - Memcache +* [github.com/dsoprea/go-appengine-sessioncascade](https://github.com/dsoprea/go-appengine-sessioncascade) - Memcache/Datastore/Context in AppEngine +* [github.com/kidstuff/mongostore](https://github.com/kidstuff/mongostore) - MongoDB +* [github.com/srinathgs/mysqlstore](https://github.com/srinathgs/mysqlstore) - MySQL +* [github.com/EnumApps/clustersqlstore](https://github.com/EnumApps/clustersqlstore) - MySQL Cluster +* [github.com/antonlindstrom/pgstore](https://github.com/antonlindstrom/pgstore) - PostgreSQL +* [github.com/boj/redistore](https://github.com/boj/redistore) - Redis +* [github.com/boj/rethinkstore](https://github.com/boj/rethinkstore) - RethinkDB +* [github.com/boj/riakstore](https://github.com/boj/riakstore) - Riak +* [github.com/michaeljs1990/sqlitestore](https://github.com/michaeljs1990/sqlitestore) - SQLite +* [github.com/wader/gormstore](https://github.com/wader/gormstore) - GORM (MySQL, PostgreSQL, SQLite) +* [github.com/gernest/qlstore](https://github.com/gernest/qlstore) - ql + +## License + +BSD licensed. See the LICENSE file for details. diff --git a/vendor/github.com/gorilla/sessions/doc.go b/vendor/github.com/gorilla/sessions/doc.go new file mode 100644 index 000000000..591d93266 --- /dev/null +++ b/vendor/github.com/gorilla/sessions/doc.go @@ -0,0 +1,198 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +/* +Package sessions provides cookie and filesystem sessions and +infrastructure for custom session backends. + +The key features are: + + * Simple API: use it as an easy way to set signed (and optionally + encrypted) cookies. + * Built-in backends to store sessions in cookies or the filesystem. + * Flash messages: session values that last until read. + * Convenient way to switch session persistency (aka "remember me") and set + other attributes. + * Mechanism to rotate authentication and encryption keys. + * Multiple sessions per request, even using different backends. + * Interfaces and infrastructure for custom session backends: sessions from + different stores can be retrieved and batch-saved using a common API. + +Let's start with an example that shows the sessions API in a nutshell: + + import ( + "net/http" + "github.com/gorilla/sessions" + ) + + var store = sessions.NewCookieStore([]byte("something-very-secret")) + + func MyHandler(w http.ResponseWriter, r *http.Request) { + // Get a session. Get() always returns a session, even if empty. + session, err := store.Get(r, "session-name") + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // Set some session values. + session.Values["foo"] = "bar" + session.Values[42] = 43 + // Save it before we write to the response/return from the handler. + session.Save(r, w) + } + +First we initialize a session store calling NewCookieStore() and passing a +secret key used to authenticate the session. Inside the handler, we call +store.Get() to retrieve an existing session or a new one. Then we set some +session values in session.Values, which is a map[interface{}]interface{}. +And finally we call session.Save() to save the session in the response. + +Note that in production code, we should check for errors when calling +session.Save(r, w), and either display an error message or otherwise handle it. + +Save must be called before writing to the response, otherwise the session +cookie will not be sent to the client. + +Important Note: If you aren't using gorilla/mux, you need to wrap your handlers +with context.ClearHandler as or else you will leak memory! An easy way to do this +is to wrap the top-level mux when calling http.ListenAndServe: + + http.ListenAndServe(":8080", context.ClearHandler(http.DefaultServeMux)) + +The ClearHandler function is provided by the gorilla/context package. + +That's all you need to know for the basic usage. Let's take a look at other +options, starting with flash messages. + +Flash messages are session values that last until read. The term appeared with +Ruby On Rails a few years back. When we request a flash message, it is removed +from the session. To add a flash, call session.AddFlash(), and to get all +flashes, call session.Flashes(). Here is an example: + + func MyHandler(w http.ResponseWriter, r *http.Request) { + // Get a session. + session, err := store.Get(r, "session-name") + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // Get the previously flashes, if any. + if flashes := session.Flashes(); len(flashes) > 0 { + // Use the flash values. + } else { + // Set a new flash. + session.AddFlash("Hello, flash messages world!") + } + session.Save(r, w) + } + +Flash messages are useful to set information to be read after a redirection, +like after form submissions. + +There may also be cases where you want to store a complex datatype within a +session, such as a struct. Sessions are serialised using the encoding/gob package, +so it is easy to register new datatypes for storage in sessions: + + import( + "encoding/gob" + "github.com/gorilla/sessions" + ) + + type Person struct { + FirstName string + LastName string + Email string + Age int + } + + type M map[string]interface{} + + func init() { + + gob.Register(&Person{}) + gob.Register(&M{}) + } + +As it's not possible to pass a raw type as a parameter to a function, gob.Register() +relies on us passing it a value of the desired type. In the example above we've passed +it a pointer to a struct and a pointer to a custom type representing a +map[string]interface. (We could have passed non-pointer values if we wished.) This will +then allow us to serialise/deserialise values of those types to and from our sessions. + +Note that because session values are stored in a map[string]interface{}, there's +a need to type-assert data when retrieving it. We'll use the Person struct we registered above: + + func MyHandler(w http.ResponseWriter, r *http.Request) { + session, err := store.Get(r, "session-name") + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } + + // Retrieve our struct and type-assert it + val := session.Values["person"] + var person = &Person{} + if person, ok := val.(*Person); !ok { + // Handle the case that it's not an expected type + } + + // Now we can use our person object + } + +By default, session cookies last for a month. This is probably too long for +some cases, but it is easy to change this and other attributes during +runtime. Sessions can be configured individually or the store can be +configured and then all sessions saved using it will use that configuration. +We access session.Options or store.Options to set a new configuration. The +fields are basically a subset of http.Cookie fields. Let's change the +maximum age of a session to one week: + + session.Options = &sessions.Options{ + Path: "/", + MaxAge: 86400 * 7, + HttpOnly: true, + } + +Sometimes we may want to change authentication and/or encryption keys without +breaking existing sessions. The CookieStore supports key rotation, and to use +it you just need to set multiple authentication and encryption keys, in pairs, +to be tested in order: + + var store = sessions.NewCookieStore( + []byte("new-authentication-key"), + []byte("new-encryption-key"), + []byte("old-authentication-key"), + []byte("old-encryption-key"), + ) + +New sessions will be saved using the first pair. Old sessions can still be +read because the first pair will fail, and the second will be tested. This +makes it easy to "rotate" secret keys and still be able to validate existing +sessions. Note: for all pairs the encryption key is optional; set it to nil +or omit it and and encryption won't be used. + +Multiple sessions can be used in the same request, even with different +session backends. When this happens, calling Save() on each session +individually would be cumbersome, so we have a way to save all sessions +at once: it's sessions.Save(). Here's an example: + + var store = sessions.NewCookieStore([]byte("something-very-secret")) + + func MyHandler(w http.ResponseWriter, r *http.Request) { + // Get a session and set a value. + session1, _ := store.Get(r, "session-one") + session1.Values["foo"] = "bar" + // Get another session and set another value. + session2, _ := store.Get(r, "session-two") + session2.Values[42] = 43 + // Save all sessions. + sessions.Save(r, w) + } + +This is possible because when we call Get() from a session store, it adds the +session to a common registry. Save() uses it to save all registered sessions. +*/ +package sessions diff --git a/vendor/github.com/gorilla/sessions/lex.go b/vendor/github.com/gorilla/sessions/lex.go new file mode 100644 index 000000000..4bbbe1096 --- /dev/null +++ b/vendor/github.com/gorilla/sessions/lex.go @@ -0,0 +1,102 @@ +// This file contains code adapted from the Go standard library +// https://github.com/golang/go/blob/39ad0fd0789872f9469167be7fe9578625ff246e/src/net/http/lex.go + +package sessions + +import "strings" + +var isTokenTable = [127]bool{ + '!': true, + '#': true, + '$': true, + '%': true, + '&': true, + '\'': true, + '*': true, + '+': true, + '-': true, + '.': true, + '0': true, + '1': true, + '2': true, + '3': true, + '4': true, + '5': true, + '6': true, + '7': true, + '8': true, + '9': true, + 'A': true, + 'B': true, + 'C': true, + 'D': true, + 'E': true, + 'F': true, + 'G': true, + 'H': true, + 'I': true, + 'J': true, + 'K': true, + 'L': true, + 'M': true, + 'N': true, + 'O': true, + 'P': true, + 'Q': true, + 'R': true, + 'S': true, + 'T': true, + 'U': true, + 'W': true, + 'V': true, + 'X': true, + 'Y': true, + 'Z': true, + '^': true, + '_': true, + '`': true, + 'a': true, + 'b': true, + 'c': true, + 'd': true, + 'e': true, + 'f': true, + 'g': true, + 'h': true, + 'i': true, + 'j': true, + 'k': true, + 'l': true, + 'm': true, + 'n': true, + 'o': true, + 'p': true, + 'q': true, + 'r': true, + 's': true, + 't': true, + 'u': true, + 'v': true, + 'w': true, + 'x': true, + 'y': true, + 'z': true, + '|': true, + '~': true, +} + +func isToken(r rune) bool { + i := int(r) + return i < len(isTokenTable) && isTokenTable[i] +} + +func isNotToken(r rune) bool { + return !isToken(r) +} + +func isCookieNameValid(raw string) bool { + if raw == "" { + return false + } + return strings.IndexFunc(raw, isNotToken) < 0 +} diff --git a/vendor/github.com/gorilla/sessions/sessions.go b/vendor/github.com/gorilla/sessions/sessions.go new file mode 100644 index 000000000..fe0d2bc8f --- /dev/null +++ b/vendor/github.com/gorilla/sessions/sessions.go @@ -0,0 +1,241 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package sessions + +import ( + "encoding/gob" + "fmt" + "net/http" + "time" + + "github.com/gorilla/context" +) + +// Default flashes key. +const flashesKey = "_flash" + +// Options -------------------------------------------------------------------- + +// Options stores configuration for a session or session store. +// +// Fields are a subset of http.Cookie fields. +type Options struct { + Path string + Domain string + // MaxAge=0 means no 'Max-Age' attribute specified. + // MaxAge<0 means delete cookie now, equivalently 'Max-Age: 0'. + // MaxAge>0 means Max-Age attribute present and given in seconds. + MaxAge int + Secure bool + HttpOnly bool +} + +// Session -------------------------------------------------------------------- + +// NewSession is called by session stores to create a new session instance. +func NewSession(store Store, name string) *Session { + return &Session{ + Values: make(map[interface{}]interface{}), + store: store, + name: name, + } +} + +// Session stores the values and optional configuration for a session. +type Session struct { + // The ID of the session, generated by stores. It should not be used for + // user data. + ID string + // Values contains the user-data for the session. + Values map[interface{}]interface{} + Options *Options + IsNew bool + store Store + name string +} + +// Flashes returns a slice of flash messages from the session. +// +// A single variadic argument is accepted, and it is optional: it defines +// the flash key. If not defined "_flash" is used by default. +func (s *Session) Flashes(vars ...string) []interface{} { + var flashes []interface{} + key := flashesKey + if len(vars) > 0 { + key = vars[0] + } + if v, ok := s.Values[key]; ok { + // Drop the flashes and return it. + delete(s.Values, key) + flashes = v.([]interface{}) + } + return flashes +} + +// AddFlash adds a flash message to the session. +// +// A single variadic argument is accepted, and it is optional: it defines +// the flash key. If not defined "_flash" is used by default. +func (s *Session) AddFlash(value interface{}, vars ...string) { + key := flashesKey + if len(vars) > 0 { + key = vars[0] + } + var flashes []interface{} + if v, ok := s.Values[key]; ok { + flashes = v.([]interface{}) + } + s.Values[key] = append(flashes, value) +} + +// Save is a convenience method to save this session. It is the same as calling +// store.Save(request, response, session). You should call Save before writing to +// the response or returning from the handler. +func (s *Session) Save(r *http.Request, w http.ResponseWriter) error { + return s.store.Save(r, w, s) +} + +// Name returns the name used to register the session. +func (s *Session) Name() string { + return s.name +} + +// Store returns the session store used to register the session. +func (s *Session) Store() Store { + return s.store +} + +// Registry ------------------------------------------------------------------- + +// sessionInfo stores a session tracked by the registry. +type sessionInfo struct { + s *Session + e error +} + +// contextKey is the type used to store the registry in the context. +type contextKey int + +// registryKey is the key used to store the registry in the context. +const registryKey contextKey = 0 + +// GetRegistry returns a registry instance for the current request. +func GetRegistry(r *http.Request) *Registry { + registry := context.Get(r, registryKey) + if registry != nil { + return registry.(*Registry) + } + newRegistry := &Registry{ + request: r, + sessions: make(map[string]sessionInfo), + } + context.Set(r, registryKey, newRegistry) + return newRegistry +} + +// Registry stores sessions used during a request. +type Registry struct { + request *http.Request + sessions map[string]sessionInfo +} + +// Get registers and returns a session for the given name and session store. +// +// It returns a new session if there are no sessions registered for the name. +func (s *Registry) Get(store Store, name string) (session *Session, err error) { + if !isCookieNameValid(name) { + return nil, fmt.Errorf("sessions: invalid character in cookie name: %s", name) + } + if info, ok := s.sessions[name]; ok { + session, err = info.s, info.e + } else { + session, err = store.New(s.request, name) + session.name = name + s.sessions[name] = sessionInfo{s: session, e: err} + } + session.store = store + return +} + +// Save saves all sessions registered for the current request. +func (s *Registry) Save(w http.ResponseWriter) error { + var errMulti MultiError + for name, info := range s.sessions { + session := info.s + if session.store == nil { + errMulti = append(errMulti, fmt.Errorf( + "sessions: missing store for session %q", name)) + } else if err := session.store.Save(s.request, w, session); err != nil { + errMulti = append(errMulti, fmt.Errorf( + "sessions: error saving session %q -- %v", name, err)) + } + } + if errMulti != nil { + return errMulti + } + return nil +} + +// Helpers -------------------------------------------------------------------- + +func init() { + gob.Register([]interface{}{}) +} + +// Save saves all sessions used during the current request. +func Save(r *http.Request, w http.ResponseWriter) error { + return GetRegistry(r).Save(w) +} + +// NewCookie returns an http.Cookie with the options set. It also sets +// the Expires field calculated based on the MaxAge value, for Internet +// Explorer compatibility. +func NewCookie(name, value string, options *Options) *http.Cookie { + cookie := &http.Cookie{ + Name: name, + Value: value, + Path: options.Path, + Domain: options.Domain, + MaxAge: options.MaxAge, + Secure: options.Secure, + HttpOnly: options.HttpOnly, + } + if options.MaxAge > 0 { + d := time.Duration(options.MaxAge) * time.Second + cookie.Expires = time.Now().Add(d) + } else if options.MaxAge < 0 { + // Set it to the past to expire now. + cookie.Expires = time.Unix(1, 0) + } + return cookie +} + +// Error ---------------------------------------------------------------------- + +// MultiError stores multiple errors. +// +// Borrowed from the App Engine SDK. +type MultiError []error + +func (m MultiError) Error() string { + s, n := "", 0 + for _, e := range m { + if e != nil { + if n == 0 { + s = e.Error() + } + n++ + } + } + switch n { + case 0: + return "(0 errors)" + case 1: + return s + case 2: + return s + " (and 1 other error)" + } + return fmt.Sprintf("%s (and %d other errors)", s, n-1) +} diff --git a/vendor/github.com/gorilla/sessions/store.go b/vendor/github.com/gorilla/sessions/store.go new file mode 100644 index 000000000..4ff6b6c32 --- /dev/null +++ b/vendor/github.com/gorilla/sessions/store.go @@ -0,0 +1,295 @@ +// Copyright 2012 The Gorilla Authors. All rights reserved. +// Use of this source code is governed by a BSD-style +// license that can be found in the LICENSE file. + +package sessions + +import ( + "encoding/base32" + "io/ioutil" + "net/http" + "os" + "path/filepath" + "strings" + "sync" + + "github.com/gorilla/securecookie" +) + +// Store is an interface for custom session stores. +// +// See CookieStore and FilesystemStore for examples. +type Store interface { + // Get should return a cached session. + Get(r *http.Request, name string) (*Session, error) + + // New should create and return a new session. + // + // Note that New should never return a nil session, even in the case of + // an error if using the Registry infrastructure to cache the session. + New(r *http.Request, name string) (*Session, error) + + // Save should persist session to the underlying store implementation. + Save(r *http.Request, w http.ResponseWriter, s *Session) error +} + +// CookieStore ---------------------------------------------------------------- + +// NewCookieStore returns a new CookieStore. +// +// Keys are defined in pairs to allow key rotation, but the common case is +// to set a single authentication key and optionally an encryption key. +// +// The first key in a pair is used for authentication and the second for +// encryption. The encryption key can be set to nil or omitted in the last +// pair, but the authentication key is required in all pairs. +// +// It is recommended to use an authentication key with 32 or 64 bytes. +// The encryption key, if set, must be either 16, 24, or 32 bytes to select +// AES-128, AES-192, or AES-256 modes. +// +// Use the convenience function securecookie.GenerateRandomKey() to create +// strong keys. +func NewCookieStore(keyPairs ...[]byte) *CookieStore { + cs := &CookieStore{ + Codecs: securecookie.CodecsFromPairs(keyPairs...), + Options: &Options{ + Path: "/", + MaxAge: 86400 * 30, + }, + } + + cs.MaxAge(cs.Options.MaxAge) + return cs +} + +// CookieStore stores sessions using secure cookies. +type CookieStore struct { + Codecs []securecookie.Codec + Options *Options // default configuration +} + +// Get returns a session for the given name after adding it to the registry. +// +// It returns a new session if the sessions doesn't exist. Access IsNew on +// the session to check if it is an existing session or a new one. +// +// It returns a new session and an error if the session exists but could +// not be decoded. +func (s *CookieStore) Get(r *http.Request, name string) (*Session, error) { + return GetRegistry(r).Get(s, name) +} + +// New returns a session for the given name without adding it to the registry. +// +// The difference between New() and Get() is that calling New() twice will +// decode the session data twice, while Get() registers and reuses the same +// decoded session after the first call. +func (s *CookieStore) New(r *http.Request, name string) (*Session, error) { + session := NewSession(s, name) + opts := *s.Options + session.Options = &opts + session.IsNew = true + var err error + if c, errCookie := r.Cookie(name); errCookie == nil { + err = securecookie.DecodeMulti(name, c.Value, &session.Values, + s.Codecs...) + if err == nil { + session.IsNew = false + } + } + return session, err +} + +// Save adds a single session to the response. +func (s *CookieStore) Save(r *http.Request, w http.ResponseWriter, + session *Session) error { + encoded, err := securecookie.EncodeMulti(session.Name(), session.Values, + s.Codecs...) + if err != nil { + return err + } + http.SetCookie(w, NewCookie(session.Name(), encoded, session.Options)) + return nil +} + +// MaxAge sets the maximum age for the store and the underlying cookie +// implementation. Individual sessions can be deleted by setting Options.MaxAge +// = -1 for that session. +func (s *CookieStore) MaxAge(age int) { + s.Options.MaxAge = age + + // Set the maxAge for each securecookie instance. + for _, codec := range s.Codecs { + if sc, ok := codec.(*securecookie.SecureCookie); ok { + sc.MaxAge(age) + } + } +} + +// FilesystemStore ------------------------------------------------------------ + +var fileMutex sync.RWMutex + +// NewFilesystemStore returns a new FilesystemStore. +// +// The path argument is the directory where sessions will be saved. If empty +// it will use os.TempDir(). +// +// See NewCookieStore() for a description of the other parameters. +func NewFilesystemStore(path string, keyPairs ...[]byte) *FilesystemStore { + if path == "" { + path = os.TempDir() + } + fs := &FilesystemStore{ + Codecs: securecookie.CodecsFromPairs(keyPairs...), + Options: &Options{ + Path: "/", + MaxAge: 86400 * 30, + }, + path: path, + } + + fs.MaxAge(fs.Options.MaxAge) + return fs +} + +// FilesystemStore stores sessions in the filesystem. +// +// It also serves as a reference for custom stores. +// +// This store is still experimental and not well tested. Feedback is welcome. +type FilesystemStore struct { + Codecs []securecookie.Codec + Options *Options // default configuration + path string +} + +// MaxLength restricts the maximum length of new sessions to l. +// If l is 0 there is no limit to the size of a session, use with caution. +// The default for a new FilesystemStore is 4096. +func (s *FilesystemStore) MaxLength(l int) { + for _, c := range s.Codecs { + if codec, ok := c.(*securecookie.SecureCookie); ok { + codec.MaxLength(l) + } + } +} + +// Get returns a session for the given name after adding it to the registry. +// +// See CookieStore.Get(). +func (s *FilesystemStore) Get(r *http.Request, name string) (*Session, error) { + return GetRegistry(r).Get(s, name) +} + +// New returns a session for the given name without adding it to the registry. +// +// See CookieStore.New(). +func (s *FilesystemStore) New(r *http.Request, name string) (*Session, error) { + session := NewSession(s, name) + opts := *s.Options + session.Options = &opts + session.IsNew = true + var err error + if c, errCookie := r.Cookie(name); errCookie == nil { + err = securecookie.DecodeMulti(name, c.Value, &session.ID, s.Codecs...) + if err == nil { + err = s.load(session) + if err == nil { + session.IsNew = false + } + } + } + return session, err +} + +// Save adds a single session to the response. +// +// If the Options.MaxAge of the session is <= 0 then the session file will be +// deleted from the store path. With this process it enforces the properly +// session cookie handling so no need to trust in the cookie management in the +// web browser. +func (s *FilesystemStore) Save(r *http.Request, w http.ResponseWriter, + session *Session) error { + // Delete if max-age is <= 0 + if session.Options.MaxAge <= 0 { + if err := s.erase(session); err != nil { + return err + } + http.SetCookie(w, NewCookie(session.Name(), "", session.Options)) + return nil + } + + if session.ID == "" { + // Because the ID is used in the filename, encode it to + // use alphanumeric characters only. + session.ID = strings.TrimRight( + base32.StdEncoding.EncodeToString( + securecookie.GenerateRandomKey(32)), "=") + } + if err := s.save(session); err != nil { + return err + } + encoded, err := securecookie.EncodeMulti(session.Name(), session.ID, + s.Codecs...) + if err != nil { + return err + } + http.SetCookie(w, NewCookie(session.Name(), encoded, session.Options)) + return nil +} + +// MaxAge sets the maximum age for the store and the underlying cookie +// implementation. Individual sessions can be deleted by setting Options.MaxAge +// = -1 for that session. +func (s *FilesystemStore) MaxAge(age int) { + s.Options.MaxAge = age + + // Set the maxAge for each securecookie instance. + for _, codec := range s.Codecs { + if sc, ok := codec.(*securecookie.SecureCookie); ok { + sc.MaxAge(age) + } + } +} + +// save writes encoded session.Values to a file. +func (s *FilesystemStore) save(session *Session) error { + encoded, err := securecookie.EncodeMulti(session.Name(), session.Values, + s.Codecs...) + if err != nil { + return err + } + filename := filepath.Join(s.path, "session_"+session.ID) + fileMutex.Lock() + defer fileMutex.Unlock() + return ioutil.WriteFile(filename, []byte(encoded), 0600) +} + +// load reads a file and decodes its content into session.Values. +func (s *FilesystemStore) load(session *Session) error { + filename := filepath.Join(s.path, "session_"+session.ID) + fileMutex.RLock() + defer fileMutex.RUnlock() + fdata, err := ioutil.ReadFile(filename) + if err != nil { + return err + } + if err = securecookie.DecodeMulti(session.Name(), string(fdata), + &session.Values, s.Codecs...); err != nil { + return err + } + return nil +} + +// delete session file +func (s *FilesystemStore) erase(session *Session) error { + filename := filepath.Join(s.path, "session_"+session.ID) + + fileMutex.RLock() + defer fileMutex.RUnlock() + + err := os.Remove(filename) + return err +} diff --git a/vendor/github.com/labstack/echo-contrib/LICENSE b/vendor/github.com/labstack/echo-contrib/LICENSE new file mode 100644 index 000000000..b5b006b4e --- /dev/null +++ b/vendor/github.com/labstack/echo-contrib/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 LabStack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/labstack/echo-contrib/session/session.go b/vendor/github.com/labstack/echo-contrib/session/session.go new file mode 100644 index 000000000..93c19d8fe --- /dev/null +++ b/vendor/github.com/labstack/echo-contrib/session/session.go @@ -0,0 +1,65 @@ +package session + +import ( + "github.com/gorilla/sessions" + "github.com/labstack/echo" + "github.com/labstack/echo/middleware" +) + +type ( + // Config defines the config for CasbinAuth middleware. + Config struct { + // Skipper defines a function to skip middleware. + Skipper middleware.Skipper + + // Session store. + // Required. + Store sessions.Store + } +) + +const ( + key = "_session_store" +) + +var ( + // DefaultConfig is the default Session middleware config. + DefaultConfig = Config{ + Skipper: middleware.DefaultSkipper, + } +) + +// Get returns a named session. +func Get(name string, c echo.Context) (*sessions.Session, error) { + store := c.Get(key).(sessions.Store) + return store.Get(c.Request(), name) +} + +// Middleware returns a Session middleware. +func Middleware(store sessions.Store) echo.MiddlewareFunc { + c := DefaultConfig + c.Store = store + return MiddlewareWithConfig(c) +} + +// MiddlewareWithConfig returns a Sessions middleware with config. +// See `Middleware()`. +func MiddlewareWithConfig(config Config) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultConfig.Skipper + } + if config.Store == nil { + panic("echo: session middleware requires store") + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + c.Set(key, config.Store) + return next(c) + } + } +} diff --git a/vendor/github.com/labstack/echo/LICENSE b/vendor/github.com/labstack/echo/LICENSE new file mode 100644 index 000000000..b5b006b4e --- /dev/null +++ b/vendor/github.com/labstack/echo/LICENSE @@ -0,0 +1,21 @@ +The MIT License (MIT) + +Copyright (c) 2017 LabStack + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/vendor/github.com/labstack/echo/README.md b/vendor/github.com/labstack/echo/README.md new file mode 100644 index 000000000..84ca26c56 --- /dev/null +++ b/vendor/github.com/labstack/echo/README.md @@ -0,0 +1,54 @@ +# [Echo](https://echo.labstack.com) [![GoDoc](http://img.shields.io/badge/go-documentation-blue.svg?style=flat-square)](http://godoc.org/github.com/labstack/echo) [![License](http://img.shields.io/badge/license-mit-blue.svg?style=flat-square)](https://raw.githubusercontent.com/labstack/echo/master/LICENSE) [![Build Status](http://img.shields.io/travis/labstack/echo.svg?style=flat-square)](https://travis-ci.org/labstack/echo) [![Coverage Status](http://img.shields.io/coveralls/labstack/echo.svg?style=flat-square)](https://coveralls.io/r/labstack/echo) [![Join the chat at https://gitter.im/labstack/echo](https://img.shields.io/badge/gitter-join%20chat-brightgreen.svg?style=flat-square)](https://gitter.im/labstack/echo) [![Twitter](https://img.shields.io/badge/twitter-@labstack-55acee.svg?style=flat-square)](https://twitter.com/labstack) + +## Feature Overview + +- Optimized HTTP router which smartly prioritize routes +- Build robust and scalable RESTful APIs +- Group APIs +- Extensible middleware framework +- Define middleware at root, group or route level +- Data binding for JSON, XML and form payload +- Handy functions to send variety of HTTP responses +- Centralized HTTP error handling +- Template rendering with any template engine +- Define your format for the logger +- Highly customizable +- Automatic TLS via Let’s Encrypt +- HTTP/2 support + +## Performance + +![Performance](https://i.imgur.com/F2V7TfO.png) + +## [Get Started](https://echo.labstack.com/guide) + +## Support Us + +- :star: the project +- [Donate](https://echo.labstack.com/support-echo) +- :earth_americas: spread the word +- [Contribute](#contribute) to the project + +## Contribute + +**Use issues for everything** + +- For a small change, just send a PR. +- For bigger changes open an issue for discussion before sending a PR. +- PR should have: + - Test case + - Documentation + - Example (If it makes sense) +- You can also contribute by: + - Reporting issues + - Suggesting new features or enhancements + - Improve/fix documentation + +## Credits +- [Vishal Rana](https://github.com/vishr) - Author +- [Nitin Rana](https://github.com/nr17) - Consultant +- [Contributors](https://github.com/labstack/echo/graphs/contributors) + +## License + +[MIT](https://github.com/labstack/echo/blob/master/LICENSE) diff --git a/vendor/github.com/labstack/echo/bind.go b/vendor/github.com/labstack/echo/bind.go new file mode 100644 index 000000000..2598840c0 --- /dev/null +++ b/vendor/github.com/labstack/echo/bind.go @@ -0,0 +1,259 @@ +package echo + +import ( + "encoding/json" + "encoding/xml" + "errors" + "fmt" + "net/http" + "reflect" + "strconv" + "strings" +) + +type ( + // Binder is the interface that wraps the Bind method. + Binder interface { + Bind(i interface{}, c Context) error + } + + // DefaultBinder is the default implementation of the Binder interface. + DefaultBinder struct{} + + // BindUnmarshaler is the interface used to wrap the UnmarshalParam method. + BindUnmarshaler interface { + // UnmarshalParam decodes and assigns a value from an form or query param. + UnmarshalParam(param string) error + } +) + +// Bind implements the `Binder#Bind` function. +func (b *DefaultBinder) Bind(i interface{}, c Context) (err error) { + req := c.Request() + if req.ContentLength == 0 { + if req.Method == GET || req.Method == DELETE { + if err = b.bindData(i, c.QueryParams(), "query"); err != nil { + return NewHTTPError(http.StatusBadRequest, err.Error()) + } + return + } + return NewHTTPError(http.StatusBadRequest, "Request body can't be empty") + } + ctype := req.Header.Get(HeaderContentType) + switch { + case strings.HasPrefix(ctype, MIMEApplicationJSON): + if err = json.NewDecoder(req.Body).Decode(i); err != nil { + if ute, ok := err.(*json.UnmarshalTypeError); ok { + return NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Unmarshal type error: expected=%v, got=%v, offset=%v", ute.Type, ute.Value, ute.Offset)) + } else if se, ok := err.(*json.SyntaxError); ok { + return NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Syntax error: offset=%v, error=%v", se.Offset, se.Error())) + } else { + return NewHTTPError(http.StatusBadRequest, err.Error()) + } + } + case strings.HasPrefix(ctype, MIMEApplicationXML), strings.HasPrefix(ctype, MIMETextXML): + if err = xml.NewDecoder(req.Body).Decode(i); err != nil { + if ute, ok := err.(*xml.UnsupportedTypeError); ok { + return NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Unsupported type error: type=%v, error=%v", ute.Type, ute.Error())) + } else if se, ok := err.(*xml.SyntaxError); ok { + return NewHTTPError(http.StatusBadRequest, fmt.Sprintf("Syntax error: line=%v, error=%v", se.Line, se.Error())) + } else { + return NewHTTPError(http.StatusBadRequest, err.Error()) + } + } + case strings.HasPrefix(ctype, MIMEApplicationForm), strings.HasPrefix(ctype, MIMEMultipartForm): + params, err := c.FormParams() + if err != nil { + return NewHTTPError(http.StatusBadRequest, err.Error()) + } + if err = b.bindData(i, params, "form"); err != nil { + return NewHTTPError(http.StatusBadRequest, err.Error()) + } + default: + return ErrUnsupportedMediaType + } + return +} + +func (b *DefaultBinder) bindData(ptr interface{}, data map[string][]string, tag string) error { + typ := reflect.TypeOf(ptr).Elem() + val := reflect.ValueOf(ptr).Elem() + + if typ.Kind() != reflect.Struct { + return errors.New("Binding element must be a struct") + } + + for i := 0; i < typ.NumField(); i++ { + typeField := typ.Field(i) + structField := val.Field(i) + if !structField.CanSet() { + continue + } + structFieldKind := structField.Kind() + inputFieldName := typeField.Tag.Get(tag) + + if inputFieldName == "" { + inputFieldName = typeField.Name + // If tag is nil, we inspect if the field is a struct. + if _, ok := bindUnmarshaler(structField); !ok && structFieldKind == reflect.Struct { + err := b.bindData(structField.Addr().Interface(), data, tag) + if err != nil { + return err + } + continue + } + } + inputValue, exists := data[inputFieldName] + if !exists { + continue + } + + // Call this first, in case we're dealing with an alias to an array type + if ok, err := unmarshalField(typeField.Type.Kind(), inputValue[0], structField); ok { + if err != nil { + return err + } + continue + } + + numElems := len(inputValue) + if structFieldKind == reflect.Slice && numElems > 0 { + sliceOf := structField.Type().Elem().Kind() + slice := reflect.MakeSlice(structField.Type(), numElems, numElems) + for j := 0; j < numElems; j++ { + if err := setWithProperType(sliceOf, inputValue[j], slice.Index(j)); err != nil { + return err + } + } + val.Field(i).Set(slice) + } else { + if err := setWithProperType(typeField.Type.Kind(), inputValue[0], structField); err != nil { + return err + } + } + } + return nil +} + +func setWithProperType(valueKind reflect.Kind, val string, structField reflect.Value) error { + // But also call it here, in case we're dealing with an array of BindUnmarshalers + if ok, err := unmarshalField(valueKind, val, structField); ok { + return err + } + + switch valueKind { + case reflect.Int: + return setIntField(val, 0, structField) + case reflect.Int8: + return setIntField(val, 8, structField) + case reflect.Int16: + return setIntField(val, 16, structField) + case reflect.Int32: + return setIntField(val, 32, structField) + case reflect.Int64: + return setIntField(val, 64, structField) + case reflect.Uint: + return setUintField(val, 0, structField) + case reflect.Uint8: + return setUintField(val, 8, structField) + case reflect.Uint16: + return setUintField(val, 16, structField) + case reflect.Uint32: + return setUintField(val, 32, structField) + case reflect.Uint64: + return setUintField(val, 64, structField) + case reflect.Bool: + return setBoolField(val, structField) + case reflect.Float32: + return setFloatField(val, 32, structField) + case reflect.Float64: + return setFloatField(val, 64, structField) + case reflect.String: + structField.SetString(val) + default: + return errors.New("unknown type") + } + return nil +} + +func unmarshalField(valueKind reflect.Kind, val string, field reflect.Value) (bool, error) { + switch valueKind { + case reflect.Ptr: + return unmarshalFieldPtr(val, field) + default: + return unmarshalFieldNonPtr(val, field) + } +} + +// bindUnmarshaler attempts to unmarshal a reflect.Value into a BindUnmarshaler +func bindUnmarshaler(field reflect.Value) (BindUnmarshaler, bool) { + ptr := reflect.New(field.Type()) + if ptr.CanInterface() { + iface := ptr.Interface() + if unmarshaler, ok := iface.(BindUnmarshaler); ok { + return unmarshaler, ok + } + } + return nil, false +} + +func unmarshalFieldNonPtr(value string, field reflect.Value) (bool, error) { + if unmarshaler, ok := bindUnmarshaler(field); ok { + err := unmarshaler.UnmarshalParam(value) + field.Set(reflect.ValueOf(unmarshaler).Elem()) + return true, err + } + return false, nil +} + +func unmarshalFieldPtr(value string, field reflect.Value) (bool, error) { + if field.IsNil() { + // Initialize the pointer to a nil value + field.Set(reflect.New(field.Type().Elem())) + } + return unmarshalFieldNonPtr(value, field.Elem()) +} + +func setIntField(value string, bitSize int, field reflect.Value) error { + if value == "" { + value = "0" + } + intVal, err := strconv.ParseInt(value, 10, bitSize) + if err == nil { + field.SetInt(intVal) + } + return err +} + +func setUintField(value string, bitSize int, field reflect.Value) error { + if value == "" { + value = "0" + } + uintVal, err := strconv.ParseUint(value, 10, bitSize) + if err == nil { + field.SetUint(uintVal) + } + return err +} + +func setBoolField(value string, field reflect.Value) error { + if value == "" { + value = "false" + } + boolVal, err := strconv.ParseBool(value) + if err == nil { + field.SetBool(boolVal) + } + return err +} + +func setFloatField(value string, bitSize int, field reflect.Value) error { + if value == "" { + value = "0.0" + } + floatVal, err := strconv.ParseFloat(value, bitSize) + if err == nil { + field.SetFloat(floatVal) + } + return err +} diff --git a/vendor/github.com/labstack/echo/context.go b/vendor/github.com/labstack/echo/context.go new file mode 100644 index 000000000..d42315587 --- /dev/null +++ b/vendor/github.com/labstack/echo/context.go @@ -0,0 +1,560 @@ +package echo + +import ( + "bytes" + "encoding/json" + "encoding/xml" + "fmt" + "io" + "mime/multipart" + "net" + "net/http" + "net/url" + "os" + "path/filepath" + "strings" +) + +type ( + // Context represents the context of the current HTTP request. It holds request and + // response objects, path, path parameters, data and registered handler. + Context interface { + // Request returns `*http.Request`. + Request() *http.Request + + // SetRequest sets `*http.Request`. + SetRequest(r *http.Request) + + // Response returns `*Response`. + Response() *Response + + // IsTLS returns true if HTTP connection is TLS otherwise false. + IsTLS() bool + + // Scheme returns the HTTP protocol scheme, `http` or `https`. + Scheme() string + + // RealIP returns the client's network address based on `X-Forwarded-For` + // or `X-Real-IP` request header. + RealIP() string + + // Path returns the registered path for the handler. + Path() string + + // SetPath sets the registered path for the handler. + SetPath(p string) + + // Param returns path parameter by name. + Param(name string) string + + // ParamNames returns path parameter names. + ParamNames() []string + + // SetParamNames sets path parameter names. + SetParamNames(names ...string) + + // ParamValues returns path parameter values. + ParamValues() []string + + // SetParamValues sets path parameter values. + SetParamValues(values ...string) + + // QueryParam returns the query param for the provided name. + QueryParam(name string) string + + // QueryParams returns the query parameters as `url.Values`. + QueryParams() url.Values + + // QueryString returns the URL query string. + QueryString() string + + // FormValue returns the form field value for the provided name. + FormValue(name string) string + + // FormParams returns the form parameters as `url.Values`. + FormParams() (url.Values, error) + + // FormFile returns the multipart form file for the provided name. + FormFile(name string) (*multipart.FileHeader, error) + + // MultipartForm returns the multipart form. + MultipartForm() (*multipart.Form, error) + + // Cookie returns the named cookie provided in the request. + Cookie(name string) (*http.Cookie, error) + + // SetCookie adds a `Set-Cookie` header in HTTP response. + SetCookie(cookie *http.Cookie) + + // Cookies returns the HTTP cookies sent with the request. + Cookies() []*http.Cookie + + // Get retrieves data from the context. + Get(key string) interface{} + + // Set saves data in the context. + Set(key string, val interface{}) + + // Bind binds the request body into provided type `i`. The default binder + // does it based on Content-Type header. + Bind(i interface{}) error + + // Validate validates provided `i`. It is usually called after `Context#Bind()`. + // Validator must be registered using `Echo#Validator`. + Validate(i interface{}) error + + // Render renders a template with data and sends a text/html response with status + // code. Renderer must be registered using `Echo.Renderer`. + Render(code int, name string, data interface{}) error + + // HTML sends an HTTP response with status code. + HTML(code int, html string) error + + // HTMLBlob sends an HTTP blob response with status code. + HTMLBlob(code int, b []byte) error + + // String sends a string response with status code. + String(code int, s string) error + + // JSON sends a JSON response with status code. + JSON(code int, i interface{}) error + + // JSONPretty sends a pretty-print JSON with status code. + JSONPretty(code int, i interface{}, indent string) error + + // JSONBlob sends a JSON blob response with status code. + JSONBlob(code int, b []byte) error + + // JSONP sends a JSONP response with status code. It uses `callback` to construct + // the JSONP payload. + JSONP(code int, callback string, i interface{}) error + + // JSONPBlob sends a JSONP blob response with status code. It uses `callback` + // to construct the JSONP payload. + JSONPBlob(code int, callback string, b []byte) error + + // XML sends an XML response with status code. + XML(code int, i interface{}) error + + // XMLPretty sends a pretty-print XML with status code. + XMLPretty(code int, i interface{}, indent string) error + + // XMLBlob sends an XML blob response with status code. + XMLBlob(code int, b []byte) error + + // Blob sends a blob response with status code and content type. + Blob(code int, contentType string, b []byte) error + + // Stream sends a streaming response with status code and content type. + Stream(code int, contentType string, r io.Reader) error + + // File sends a response with the content of the file. + File(file string) error + + // Attachment sends a response as attachment, prompting client to save the + // file. + Attachment(file string, name string) error + + // Inline sends a response as inline, opening the file in the browser. + Inline(file string, name string) error + + // NoContent sends a response with no body and a status code. + NoContent(code int) error + + // Redirect redirects the request to a provided URL with status code. + Redirect(code int, url string) error + + // Error invokes the registered HTTP error handler. Generally used by middleware. + Error(err error) + + // Handler returns the matched handler by router. + Handler() HandlerFunc + + // SetHandler sets the matched handler by router. + SetHandler(h HandlerFunc) + + // Logger returns the `Logger` instance. + Logger() Logger + + // Echo returns the `Echo` instance. + Echo() *Echo + + // Reset resets the context after request completes. It must be called along + // with `Echo#AcquireContext()` and `Echo#ReleaseContext()`. + // See `Echo#ServeHTTP()` + Reset(r *http.Request, w http.ResponseWriter) + } + + context struct { + request *http.Request + response *Response + path string + pnames []string + pvalues []string + query url.Values + handler HandlerFunc + store Map + echo *Echo + } +) + +const ( + defaultMemory = 32 << 20 // 32 MB + indexPage = "index.html" +) + +func (c *context) Request() *http.Request { + return c.request +} + +func (c *context) SetRequest(r *http.Request) { + c.request = r +} + +func (c *context) Response() *Response { + return c.response +} + +func (c *context) IsTLS() bool { + return c.request.TLS != nil +} + +func (c *context) Scheme() string { + // Can't use `r.Request.URL.Scheme` + // See: https://groups.google.com/forum/#!topic/golang-nuts/pMUkBlQBDF0 + if c.IsTLS() { + return "https" + } + return "http" +} + +func (c *context) RealIP() string { + ra := c.request.RemoteAddr + if ip := c.request.Header.Get(HeaderXForwardedFor); ip != "" { + ra = strings.Split(ip, ", ")[0] + } else if ip := c.request.Header.Get(HeaderXRealIP); ip != "" { + ra = ip + } else { + ra, _, _ = net.SplitHostPort(ra) + } + return ra +} + +func (c *context) Path() string { + return c.path +} + +func (c *context) SetPath(p string) { + c.path = p +} + +func (c *context) Param(name string) string { + for i, n := range c.pnames { + if i < len(c.pvalues) { + if n == name { + return c.pvalues[i] + } + + // Param name with aliases + for _, p := range strings.Split(n, ",") { + if p == name { + return c.pvalues[i] + } + } + } + } + return "" +} + +func (c *context) ParamNames() []string { + return c.pnames +} + +func (c *context) SetParamNames(names ...string) { + c.pnames = names +} + +func (c *context) ParamValues() []string { + return c.pvalues[:len(c.pnames)] +} + +func (c *context) SetParamValues(values ...string) { + c.pvalues = values +} + +func (c *context) QueryParam(name string) string { + if c.query == nil { + c.query = c.request.URL.Query() + } + return c.query.Get(name) +} + +func (c *context) QueryParams() url.Values { + if c.query == nil { + c.query = c.request.URL.Query() + } + return c.query +} + +func (c *context) QueryString() string { + return c.request.URL.RawQuery +} + +func (c *context) FormValue(name string) string { + return c.request.FormValue(name) +} + +func (c *context) FormParams() (url.Values, error) { + if strings.HasPrefix(c.request.Header.Get(HeaderContentType), MIMEMultipartForm) { + if err := c.request.ParseMultipartForm(defaultMemory); err != nil { + return nil, err + } + } else { + if err := c.request.ParseForm(); err != nil { + return nil, err + } + } + return c.request.Form, nil +} + +func (c *context) FormFile(name string) (*multipart.FileHeader, error) { + _, fh, err := c.request.FormFile(name) + return fh, err +} + +func (c *context) MultipartForm() (*multipart.Form, error) { + err := c.request.ParseMultipartForm(defaultMemory) + return c.request.MultipartForm, err +} + +func (c *context) Cookie(name string) (*http.Cookie, error) { + return c.request.Cookie(name) +} + +func (c *context) SetCookie(cookie *http.Cookie) { + http.SetCookie(c.Response(), cookie) +} + +func (c *context) Cookies() []*http.Cookie { + return c.request.Cookies() +} + +func (c *context) Get(key string) interface{} { + return c.store[key] +} + +func (c *context) Set(key string, val interface{}) { + if c.store == nil { + c.store = make(Map) + } + c.store[key] = val +} + +func (c *context) Bind(i interface{}) error { + return c.echo.Binder.Bind(i, c) +} + +func (c *context) Validate(i interface{}) error { + if c.echo.Validator == nil { + return ErrValidatorNotRegistered + } + return c.echo.Validator.Validate(i) +} + +func (c *context) Render(code int, name string, data interface{}) (err error) { + if c.echo.Renderer == nil { + return ErrRendererNotRegistered + } + buf := new(bytes.Buffer) + if err = c.echo.Renderer.Render(buf, name, data, c); err != nil { + return + } + return c.HTMLBlob(code, buf.Bytes()) +} + +func (c *context) HTML(code int, html string) (err error) { + return c.HTMLBlob(code, []byte(html)) +} + +func (c *context) HTMLBlob(code int, b []byte) (err error) { + return c.Blob(code, MIMETextHTMLCharsetUTF8, b) +} + +func (c *context) String(code int, s string) (err error) { + return c.Blob(code, MIMETextPlainCharsetUTF8, []byte(s)) +} + +func (c *context) JSON(code int, i interface{}) (err error) { + if c.echo.Debug { + return c.JSONPretty(code, i, " ") + } + b, err := json.Marshal(i) + if err != nil { + return + } + return c.JSONBlob(code, b) +} + +func (c *context) JSONPretty(code int, i interface{}, indent string) (err error) { + b, err := json.MarshalIndent(i, "", indent) + if err != nil { + return + } + return c.JSONBlob(code, b) +} + +func (c *context) JSONBlob(code int, b []byte) (err error) { + return c.Blob(code, MIMEApplicationJSONCharsetUTF8, b) +} + +func (c *context) JSONP(code int, callback string, i interface{}) (err error) { + b, err := json.Marshal(i) + if err != nil { + return + } + return c.JSONPBlob(code, callback, b) +} + +func (c *context) JSONPBlob(code int, callback string, b []byte) (err error) { + c.response.Header().Set(HeaderContentType, MIMEApplicationJavaScriptCharsetUTF8) + c.response.WriteHeader(code) + if _, err = c.response.Write([]byte(callback + "(")); err != nil { + return + } + if _, err = c.response.Write(b); err != nil { + return + } + _, err = c.response.Write([]byte(");")) + return +} + +func (c *context) XML(code int, i interface{}) (err error) { + if c.echo.Debug { + return c.XMLPretty(code, i, " ") + } + b, err := xml.Marshal(i) + if err != nil { + return + } + return c.XMLBlob(code, b) +} + +func (c *context) XMLPretty(code int, i interface{}, indent string) (err error) { + b, err := xml.MarshalIndent(i, "", indent) + if err != nil { + return + } + return c.XMLBlob(code, b) +} + +func (c *context) XMLBlob(code int, b []byte) (err error) { + c.response.Header().Set(HeaderContentType, MIMEApplicationXMLCharsetUTF8) + c.response.WriteHeader(code) + if _, err = c.response.Write([]byte(xml.Header)); err != nil { + return + } + _, err = c.response.Write(b) + return +} + +func (c *context) Blob(code int, contentType string, b []byte) (err error) { + c.response.Header().Set(HeaderContentType, contentType) + c.response.WriteHeader(code) + _, err = c.response.Write(b) + return +} + +func (c *context) Stream(code int, contentType string, r io.Reader) (err error) { + c.response.Header().Set(HeaderContentType, contentType) + c.response.WriteHeader(code) + _, err = io.Copy(c.response, r) + return +} + +func (c *context) File(file string) (err error) { + file, err = url.QueryUnescape(file) // Issue #839 + if err != nil { + return + } + + f, err := os.Open(file) + if err != nil { + return ErrNotFound + } + defer f.Close() + + fi, _ := f.Stat() + if fi.IsDir() { + file = filepath.Join(file, indexPage) + f, err = os.Open(file) + if err != nil { + return ErrNotFound + } + defer f.Close() + if fi, err = f.Stat(); err != nil { + return + } + } + http.ServeContent(c.Response(), c.Request(), fi.Name(), fi.ModTime(), f) + return +} + +func (c *context) Attachment(file, name string) (err error) { + return c.contentDisposition(file, name, "attachment") +} + +func (c *context) Inline(file, name string) (err error) { + return c.contentDisposition(file, name, "inline") +} + +func (c *context) contentDisposition(file, name, dispositionType string) (err error) { + c.response.Header().Set(HeaderContentDisposition, fmt.Sprintf("%s; filename=%s", dispositionType, name)) + c.File(file) + return +} + +func (c *context) NoContent(code int) error { + c.response.WriteHeader(code) + return nil +} + +func (c *context) Redirect(code int, url string) error { + if code < 300 || code > 308 { + return ErrInvalidRedirectCode + } + c.response.Header().Set(HeaderLocation, url) + c.response.WriteHeader(code) + return nil +} + +func (c *context) Error(err error) { + c.echo.HTTPErrorHandler(err, c) +} + +func (c *context) Echo() *Echo { + return c.echo +} + +func (c *context) Handler() HandlerFunc { + return c.handler +} + +func (c *context) SetHandler(h HandlerFunc) { + c.handler = h +} + +func (c *context) Logger() Logger { + return c.echo.Logger +} + +func (c *context) Reset(r *http.Request, w http.ResponseWriter) { + c.request = r + c.response.reset(w) + c.query = nil + c.handler = NotFoundHandler + c.store = nil + c.path = "" + c.pnames = nil + // NOTE: Don't reset because it has to have length c.echo.maxParam at all times + // c.pvalues = nil +} diff --git a/vendor/github.com/labstack/echo/echo.go b/vendor/github.com/labstack/echo/echo.go new file mode 100644 index 000000000..5b43fff0c --- /dev/null +++ b/vendor/github.com/labstack/echo/echo.go @@ -0,0 +1,678 @@ +/* +Package echo implements high performance, minimalist Go web framework. + +Example: + + package main + + import ( + "net/http" + + "github.com/labstack/echo" + "github.com/labstack/echo/middleware" + ) + + // Handler + func hello(c echo.Context) error { + return c.String(http.StatusOK, "Hello, World!") + } + + func main() { + // Echo instance + e := echo.New() + + // Middleware + e.Use(middleware.Logger()) + e.Use(middleware.Recover()) + + // Routes + e.GET("/", hello) + + // Start server + e.Logger.Fatal(e.Start(":1323")) + } + +Learn more at https://echo.labstack.com +*/ +package echo + +import ( + "bytes" + "crypto/tls" + "errors" + "fmt" + "io" + stdLog "log" + "net" + "net/http" + "path" + "path/filepath" + "reflect" + "runtime" + "sync" + "time" + + "github.com/labstack/gommon/color" + "github.com/labstack/gommon/log" + "golang.org/x/crypto/acme/autocert" +) + +type ( + // Echo is the top-level framework instance. + Echo struct { + stdLogger *stdLog.Logger + colorer *color.Color + premiddleware []MiddlewareFunc + middleware []MiddlewareFunc + maxParam *int + router *Router + notFoundHandler HandlerFunc + pool sync.Pool + Server *http.Server + TLSServer *http.Server + Listener net.Listener + TLSListener net.Listener + DisableHTTP2 bool + Debug bool + HTTPErrorHandler HTTPErrorHandler + Binder Binder + Validator Validator + Renderer Renderer + AutoTLSManager autocert.Manager + Mutex sync.RWMutex + Logger Logger + } + + // Route contains a handler and information for matching against requests. + Route struct { + Method string + Path string + Handler string + } + + // HTTPError represents an error that occurred while handling a request. + HTTPError struct { + Code int + Message interface{} + } + + // MiddlewareFunc defines a function to process middleware. + MiddlewareFunc func(HandlerFunc) HandlerFunc + + // HandlerFunc defines a function to server HTTP requests. + HandlerFunc func(Context) error + + // HTTPErrorHandler is a centralized HTTP error handler. + HTTPErrorHandler func(error, Context) + + // Validator is the interface that wraps the Validate function. + Validator interface { + Validate(i interface{}) error + } + + // Renderer is the interface that wraps the Render function. + Renderer interface { + Render(io.Writer, string, interface{}, Context) error + } + + // Map defines a generic map of type `map[string]interface{}`. + Map map[string]interface{} + + // i is the interface for Echo and Group. + i interface { + GET(string, HandlerFunc, ...MiddlewareFunc) + } +) + +// HTTP methods +const ( + CONNECT = "CONNECT" + DELETE = "DELETE" + GET = "GET" + HEAD = "HEAD" + OPTIONS = "OPTIONS" + PATCH = "PATCH" + POST = "POST" + PUT = "PUT" + TRACE = "TRACE" +) + +// MIME types +const ( + MIMEApplicationJSON = "application/json" + MIMEApplicationJSONCharsetUTF8 = MIMEApplicationJSON + "; " + charsetUTF8 + MIMEApplicationJavaScript = "application/javascript" + MIMEApplicationJavaScriptCharsetUTF8 = MIMEApplicationJavaScript + "; " + charsetUTF8 + MIMEApplicationXML = "application/xml" + MIMEApplicationXMLCharsetUTF8 = MIMEApplicationXML + "; " + charsetUTF8 + MIMETextXML = "text/xml" + MIMETextXMLCharsetUTF8 = MIMETextXML + "; " + charsetUTF8 + MIMEApplicationForm = "application/x-www-form-urlencoded" + MIMEApplicationProtobuf = "application/protobuf" + MIMEApplicationMsgpack = "application/msgpack" + MIMETextHTML = "text/html" + MIMETextHTMLCharsetUTF8 = MIMETextHTML + "; " + charsetUTF8 + MIMETextPlain = "text/plain" + MIMETextPlainCharsetUTF8 = MIMETextPlain + "; " + charsetUTF8 + MIMEMultipartForm = "multipart/form-data" + MIMEOctetStream = "application/octet-stream" +) + +const ( + charsetUTF8 = "charset=UTF-8" +) + +// Headers +const ( + HeaderAcceptEncoding = "Accept-Encoding" + HeaderAllow = "Allow" + HeaderAuthorization = "Authorization" + HeaderContentDisposition = "Content-Disposition" + HeaderContentEncoding = "Content-Encoding" + HeaderContentLength = "Content-Length" + HeaderContentType = "Content-Type" + HeaderCookie = "Cookie" + HeaderSetCookie = "Set-Cookie" + HeaderIfModifiedSince = "If-Modified-Since" + HeaderLastModified = "Last-Modified" + HeaderLocation = "Location" + HeaderUpgrade = "Upgrade" + HeaderVary = "Vary" + HeaderWWWAuthenticate = "WWW-Authenticate" + HeaderXForwardedProto = "X-Forwarded-Proto" + HeaderXHTTPMethodOverride = "X-HTTP-Method-Override" + HeaderXForwardedFor = "X-Forwarded-For" + HeaderXRealIP = "X-Real-IP" + HeaderXRequestID = "X-Request-ID" + HeaderServer = "Server" + HeaderOrigin = "Origin" + HeaderAccessControlRequestMethod = "Access-Control-Request-Method" + HeaderAccessControlRequestHeaders = "Access-Control-Request-Headers" + HeaderAccessControlAllowOrigin = "Access-Control-Allow-Origin" + HeaderAccessControlAllowMethods = "Access-Control-Allow-Methods" + HeaderAccessControlAllowHeaders = "Access-Control-Allow-Headers" + HeaderAccessControlAllowCredentials = "Access-Control-Allow-Credentials" + HeaderAccessControlExposeHeaders = "Access-Control-Expose-Headers" + HeaderAccessControlMaxAge = "Access-Control-Max-Age" + + // Security + HeaderStrictTransportSecurity = "Strict-Transport-Security" + HeaderXContentTypeOptions = "X-Content-Type-Options" + HeaderXXSSProtection = "X-XSS-Protection" + HeaderXFrameOptions = "X-Frame-Options" + HeaderContentSecurityPolicy = "Content-Security-Policy" + HeaderXCSRFToken = "X-CSRF-Token" +) + +var ( + methods = [...]string{ + CONNECT, + DELETE, + GET, + HEAD, + OPTIONS, + PATCH, + POST, + PUT, + TRACE, + } +) + +// Errors +var ( + ErrUnsupportedMediaType = NewHTTPError(http.StatusUnsupportedMediaType) + ErrNotFound = NewHTTPError(http.StatusNotFound) + ErrUnauthorized = NewHTTPError(http.StatusUnauthorized) + ErrForbidden = NewHTTPError(http.StatusForbidden) + ErrMethodNotAllowed = NewHTTPError(http.StatusMethodNotAllowed) + ErrStatusRequestEntityTooLarge = NewHTTPError(http.StatusRequestEntityTooLarge) + ErrValidatorNotRegistered = errors.New("Validator not registered") + ErrRendererNotRegistered = errors.New("Renderer not registered") + ErrInvalidRedirectCode = errors.New("Invalid redirect status code") + ErrCookieNotFound = errors.New("Cookie not found") +) + +// Error handlers +var ( + NotFoundHandler = func(c Context) error { + return ErrNotFound + } + + MethodNotAllowedHandler = func(c Context) error { + return ErrMethodNotAllowed + } +) + +// New creates an instance of Echo. +func New() (e *Echo) { + e = &Echo{ + Server: new(http.Server), + TLSServer: new(http.Server), + AutoTLSManager: autocert.Manager{ + Prompt: autocert.AcceptTOS, + }, + Logger: log.New("echo"), + colorer: color.New(), + maxParam: new(int), + } + e.Server.Handler = e + e.TLSServer.Handler = e + e.HTTPErrorHandler = e.DefaultHTTPErrorHandler + e.Binder = &DefaultBinder{} + e.Logger.SetLevel(log.OFF) + e.stdLogger = stdLog.New(e.Logger.Output(), e.Logger.Prefix()+": ", 0) + e.pool.New = func() interface{} { + return e.NewContext(nil, nil) + } + e.router = NewRouter(e) + return +} + +// NewContext returns a Context instance. +func (e *Echo) NewContext(r *http.Request, w http.ResponseWriter) Context { + return &context{ + request: r, + response: NewResponse(w, e), + store: make(Map), + echo: e, + pvalues: make([]string, *e.maxParam), + handler: NotFoundHandler, + } +} + +// Router returns router. +func (e *Echo) Router() *Router { + return e.router +} + +// DefaultHTTPErrorHandler is the default HTTP error handler. It sends a JSON response +// with status code. +func (e *Echo) DefaultHTTPErrorHandler(err error, c Context) { + var ( + code = http.StatusInternalServerError + msg interface{} + ) + + if he, ok := err.(*HTTPError); ok { + code = he.Code + msg = he.Message + } else if e.Debug { + msg = err.Error() + } else { + msg = http.StatusText(code) + } + if _, ok := msg.(string); ok { + msg = Map{"message": msg} + } + + if !c.Response().Committed { + if c.Request().Method == HEAD { // Issue #608 + if err := c.NoContent(code); err != nil { + goto ERROR + } + } else { + if err := c.JSON(code, msg); err != nil { + goto ERROR + } + } + } +ERROR: + e.Logger.Error(err) +} + +// Pre adds middleware to the chain which is run before router. +func (e *Echo) Pre(middleware ...MiddlewareFunc) { + e.premiddleware = append(e.premiddleware, middleware...) +} + +// Use adds middleware to the chain which is run after router. +func (e *Echo) Use(middleware ...MiddlewareFunc) { + e.middleware = append(e.middleware, middleware...) +} + +// CONNECT registers a new CONNECT route for a path with matching handler in the +// router with optional route-level middleware. +func (e *Echo) CONNECT(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(CONNECT, path, h, m...) +} + +// DELETE registers a new DELETE route for a path with matching handler in the router +// with optional route-level middleware. +func (e *Echo) DELETE(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(DELETE, path, h, m...) +} + +// GET registers a new GET route for a path with matching handler in the router +// with optional route-level middleware. +func (e *Echo) GET(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(GET, path, h, m...) +} + +// HEAD registers a new HEAD route for a path with matching handler in the +// router with optional route-level middleware. +func (e *Echo) HEAD(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(HEAD, path, h, m...) +} + +// OPTIONS registers a new OPTIONS route for a path with matching handler in the +// router with optional route-level middleware. +func (e *Echo) OPTIONS(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(OPTIONS, path, h, m...) +} + +// PATCH registers a new PATCH route for a path with matching handler in the +// router with optional route-level middleware. +func (e *Echo) PATCH(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(PATCH, path, h, m...) +} + +// POST registers a new POST route for a path with matching handler in the +// router with optional route-level middleware. +func (e *Echo) POST(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(POST, path, h, m...) +} + +// PUT registers a new PUT route for a path with matching handler in the +// router with optional route-level middleware. +func (e *Echo) PUT(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(PUT, path, h, m...) +} + +// TRACE registers a new TRACE route for a path with matching handler in the +// router with optional route-level middleware. +func (e *Echo) TRACE(path string, h HandlerFunc, m ...MiddlewareFunc) { + e.add(TRACE, path, h, m...) +} + +// Any registers a new route for all HTTP methods and path with matching handler +// in the router with optional route-level middleware. +func (e *Echo) Any(path string, handler HandlerFunc, middleware ...MiddlewareFunc) { + for _, m := range methods { + e.add(m, path, handler, middleware...) + } +} + +// Match registers a new route for multiple HTTP methods and path with matching +// handler in the router with optional route-level middleware. +func (e *Echo) Match(methods []string, path string, handler HandlerFunc, middleware ...MiddlewareFunc) { + for _, m := range methods { + e.add(m, path, handler, middleware...) + } +} + +// Static registers a new route with path prefix to serve static files from the +// provided root directory. +func (e *Echo) Static(prefix, root string) { + if root == "" { + root = "." // For security we want to restrict to CWD. + } + static(e, prefix, root) +} + +func static(i i, prefix, root string) { + h := func(c Context) error { + name := filepath.Join(root, path.Clean("/"+c.Param("*"))) // "/"+ for security + return c.File(name) + } + i.GET(prefix, h) + if prefix == "/" { + i.GET(prefix+"*", h) + } else { + i.GET(prefix+"/*", h) + } +} + +// File registers a new route with path to serve a static file. +func (e *Echo) File(path, file string) { + e.GET(path, func(c Context) error { + return c.File(file) + }) +} + +func (e *Echo) add(method, path string, handler HandlerFunc, middleware ...MiddlewareFunc) { + name := handlerName(handler) + e.router.Add(method, path, func(c Context) error { + h := handler + // Chain middleware + for i := len(middleware) - 1; i >= 0; i-- { + h = middleware[i](h) + } + return h(c) + }) + r := Route{ + Method: method, + Path: path, + Handler: name, + } + e.router.routes[method+path] = r +} + +// Group creates a new router group with prefix and optional group-level middleware. +func (e *Echo) Group(prefix string, m ...MiddlewareFunc) (g *Group) { + g = &Group{prefix: prefix, echo: e} + g.Use(m...) + return +} + +// URI generates a URI from handler. +func (e *Echo) URI(handler HandlerFunc, params ...interface{}) string { + uri := new(bytes.Buffer) + ln := len(params) + n := 0 + name := handlerName(handler) + for _, r := range e.router.routes { + if r.Handler == name { + for i, l := 0, len(r.Path); i < l; i++ { + if r.Path[i] == ':' && n < ln { + for ; i < l && r.Path[i] != '/'; i++ { + } + uri.WriteString(fmt.Sprintf("%v", params[n])) + n++ + } + if i < l { + uri.WriteByte(r.Path[i]) + } + } + break + } + } + return uri.String() +} + +// URL is an alias for `URI` function. +func (e *Echo) URL(h HandlerFunc, params ...interface{}) string { + return e.URI(h, params...) +} + +// Routes returns the registered routes. +func (e *Echo) Routes() []Route { + routes := []Route{} + for _, v := range e.router.routes { + routes = append(routes, v) + } + return routes +} + +// AcquireContext returns an empty `Context` instance from the pool. +// You must return the context by calling `ReleaseContext()`. +func (e *Echo) AcquireContext() Context { + return e.pool.Get().(Context) +} + +// ReleaseContext returns the `Context` instance back to the pool. +// You must call it after `AcquireContext()`. +func (e *Echo) ReleaseContext(c Context) { + e.pool.Put(c) +} + +// ServeHTTP implements `http.Handler` interface, which serves HTTP requests. +func (e *Echo) ServeHTTP(w http.ResponseWriter, r *http.Request) { + // Acquire lock + e.Mutex.RLock() + defer e.Mutex.RUnlock() + + // Acquire context + c := e.pool.Get().(*context) + defer e.pool.Put(c) + c.Reset(r, w) + + // Middleware + h := func(c Context) error { + method := r.Method + path := r.URL.RawPath + if path == "" { + path = r.URL.Path + } + e.router.Find(method, path, c) + h := c.Handler() + for i := len(e.middleware) - 1; i >= 0; i-- { + h = e.middleware[i](h) + } + return h(c) + } + + // Premiddleware + for i := len(e.premiddleware) - 1; i >= 0; i-- { + h = e.premiddleware[i](h) + } + + // Execute chain + if err := h(c); err != nil { + e.HTTPErrorHandler(err, c) + } +} + +// Start starts an HTTP server. +func (e *Echo) Start(address string) error { + e.Server.Addr = address + return e.StartServer(e.Server) +} + +// StartTLS starts an HTTPS server. +func (e *Echo) StartTLS(address string, certFile, keyFile string) (err error) { + if certFile == "" || keyFile == "" { + return errors.New("invalid tls configuration") + } + s := e.TLSServer + s.TLSConfig = new(tls.Config) + s.TLSConfig.Certificates = make([]tls.Certificate, 1) + s.TLSConfig.Certificates[0], err = tls.LoadX509KeyPair(certFile, keyFile) + if err != nil { + return + } + return e.startTLS(address) +} + +// StartAutoTLS starts an HTTPS server using certificates automatically installed from https://letsencrypt.org. +func (e *Echo) StartAutoTLS(address string) error { + s := e.TLSServer + s.TLSConfig = new(tls.Config) + s.TLSConfig.GetCertificate = e.AutoTLSManager.GetCertificate + return e.startTLS(address) +} + +func (e *Echo) startTLS(address string) error { + s := e.TLSServer + s.Addr = address + if !e.DisableHTTP2 { + s.TLSConfig.NextProtos = append(s.TLSConfig.NextProtos, "h2") + } + return e.StartServer(e.TLSServer) +} + +// StartServer starts a custom http server. +func (e *Echo) StartServer(s *http.Server) (err error) { + // Setup + e.colorer.SetOutput(e.Logger.Output()) + s.Handler = e + s.ErrorLog = e.stdLogger + + if s.TLSConfig == nil { + if e.Listener == nil { + e.Listener, err = newListener(s.Addr) + if err != nil { + return err + } + } + e.colorer.Printf("⇛ http server started on %s\n", e.colorer.Green(e.Listener.Addr())) + return s.Serve(e.Listener) + } + if e.TLSListener == nil { + l, err := newListener(s.Addr) + if err != nil { + return err + } + e.TLSListener = tls.NewListener(l, s.TLSConfig) + } + e.colorer.Printf("⇛ https server started on %s\n", e.colorer.Green(e.TLSListener.Addr())) + return s.Serve(e.TLSListener) +} + +// NewHTTPError creates a new HTTPError instance. +func NewHTTPError(code int, message ...interface{}) *HTTPError { + he := &HTTPError{Code: code, Message: http.StatusText(code)} + if len(message) > 0 { + he.Message = message[0] + } + return he +} + +// Error makes it compatible with `error` interface. +func (he *HTTPError) Error() string { + return fmt.Sprintf("code=%d, message=%s", he.Code, he.Message) +} + +// WrapHandler wraps `http.Handler` into `echo.HandlerFunc`. +func WrapHandler(h http.Handler) HandlerFunc { + return func(c Context) error { + h.ServeHTTP(c.Response(), c.Request()) + return nil + } +} + +// WrapMiddleware wraps `func(http.Handler) http.Handler` into `echo.MiddlewareFunc` +func WrapMiddleware(m func(http.Handler) http.Handler) MiddlewareFunc { + return func(next HandlerFunc) HandlerFunc { + return func(c Context) (err error) { + m(http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { + c.SetRequest(r) + err = next(c) + })).ServeHTTP(c.Response(), c.Request()) + return + } + } +} + +func handlerName(h HandlerFunc) string { + t := reflect.ValueOf(h).Type() + if t.Kind() == reflect.Func { + return runtime.FuncForPC(reflect.ValueOf(h).Pointer()).Name() + } + return t.String() +} + +// tcpKeepAliveListener sets TCP keep-alive timeouts on accepted +// connections. It's used by ListenAndServe and ListenAndServeTLS so +// dead TCP connections (e.g. closing laptop mid-download) eventually +// go away. +type tcpKeepAliveListener struct { + *net.TCPListener +} + +func (ln tcpKeepAliveListener) Accept() (c net.Conn, err error) { + tc, err := ln.AcceptTCP() + if err != nil { + return + } + tc.SetKeepAlive(true) + tc.SetKeepAlivePeriod(3 * time.Minute) + return tc, nil +} + +func newListener(address string) (*tcpKeepAliveListener, error) { + l, err := net.Listen("tcp", address) + if err != nil { + return nil, err + } + return &tcpKeepAliveListener{l.(*net.TCPListener)}, nil +} diff --git a/vendor/github.com/labstack/echo/echo_go1.8.go b/vendor/github.com/labstack/echo/echo_go1.8.go new file mode 100644 index 000000000..340bed705 --- /dev/null +++ b/vendor/github.com/labstack/echo/echo_go1.8.go @@ -0,0 +1,25 @@ +// +build go1.8 + +package echo + +import ( + stdContext "context" +) + +// Close immediately stops the server. +// It internally calls `http.Server#Close()`. +func (e *Echo) Close() error { + if err := e.TLSServer.Close(); err != nil { + return err + } + return e.Server.Close() +} + +// Shutdown stops server the gracefully. +// It internally calls `http.Server#Shutdown()`. +func (e *Echo) Shutdown(ctx stdContext.Context) error { + if err := e.TLSServer.Shutdown(ctx); err != nil { + return err + } + return e.Server.Shutdown(ctx) +} diff --git a/vendor/github.com/labstack/echo/glide.lock b/vendor/github.com/labstack/echo/glide.lock new file mode 100644 index 000000000..c51f7aac0 --- /dev/null +++ b/vendor/github.com/labstack/echo/glide.lock @@ -0,0 +1,92 @@ +hash: 3de2a96bbdc145cce325de2a482111b0524cc330f60a4fbc781a08ed3b879e58 +updated: 2017-01-28T10:22:00.230111692-08:00 +imports: +- name: github.com/daaku/go.zipexe + version: a5fe2436ffcb3236e175e5149162b41cd28bd27d +- name: github.com/dgrijalva/jwt-go + version: a601269ab70c205d26370c16f7c81e9017c14e04 +- name: github.com/facebookgo/clock + version: 600d898af40aa09a7a93ecb9265d87b0504b6f03 +- name: github.com/facebookgo/grace + version: 5729e484473f52048578af1b80d0008c7024089b + subpackages: + - gracehttp + - gracenet +- name: github.com/facebookgo/httpdown + version: a3b1354551a26449fbe05f5d855937f6e7acbd71 +- name: github.com/facebookgo/stats + version: 1b76add642e42c6ffba7211ad7b3939ce654526e +- name: github.com/GeertJohan/go.rice + version: 4bbccbfa39e784796e483270451217d3369ecfbe + subpackages: + - embedded +- name: github.com/golang/protobuf + version: 8ee79997227bf9b34611aee7946ae64735e6fd93 + subpackages: + - proto +- name: github.com/gorilla/websocket + version: c36f2fe5c330f0ac404b616b96c438b8616b1aaf +- name: github.com/kardianos/osext + version: c2c54e542fb797ad986b31721e1baedf214ca413 +- name: github.com/labstack/gommon + version: f72d3c883f8ea180da8f085dd320804c41332ad1 + subpackages: + - bytes + - color + - log + - random +- name: github.com/mattn/go-colorable + version: d228849504861217f796da67fae4f6e347643f15 +- name: github.com/mattn/go-isatty + version: 30a891c33c7cde7b02a981314b4228ec99380cca +- name: github.com/tylerb/graceful + version: 0e9129e9c6d47da90dc0c188b26bd7bb1dab53cd +- name: github.com/valyala/bytebufferpool + version: e746df99fe4a3986f4d4f79e13c1e0117ce9c2f7 +- name: github.com/valyala/fasttemplate + version: d090d65668a286d9a180d43a19dfdc5dcad8fe88 +- name: golang.org/x/crypto + version: 9477e0b78b9ac3d0b03822fd95422e2fe07627cd + subpackages: + - acme + - acme/autocert +- name: golang.org/x/net + version: f2499483f923065a842d38eb4c7f1927e6fc6e6d + subpackages: + - context + - context/ctxhttp + - websocket +- name: golang.org/x/sys + version: d75a52659825e75fff6158388dddc6a5b04f9ba5 + subpackages: + - unix +- name: google.golang.org/appengine + version: a2c54d2174c17540446e0ced57d9d459af61bc1c + subpackages: + - internal + - internal/app_identity + - internal/base + - internal/datastore + - internal/log + - internal/modules + - internal/remote_api +- name: gopkg.in/mgo.v2 + version: 3f83fa5005286a7fe593b055f0d7771a7dce4655 + subpackages: + - bson + - internal/json + - internal/sasl + - internal/scram +testImports: +- name: github.com/davecgh/go-spew + version: 04cdfd42973bb9c8589fd6a731800cf222fde1a9 + subpackages: + - spew +- name: github.com/pmezard/go-difflib + version: d8ed2627bdf02c080bf22230dbb337003b7aba2d + subpackages: + - difflib +- name: github.com/stretchr/testify + version: 2402e8e7a02fc811447d11f881aa9746cdc57983 + subpackages: + - assert diff --git a/vendor/github.com/labstack/echo/glide.yaml b/vendor/github.com/labstack/echo/glide.yaml new file mode 100644 index 000000000..9ac9d1c82 --- /dev/null +++ b/vendor/github.com/labstack/echo/glide.yaml @@ -0,0 +1,30 @@ +package: github.com/labstack/echo +import: +- package: github.com/GeertJohan/go.rice +- package: github.com/dgrijalva/jwt-go +- package: github.com/facebookgo/grace + subpackages: + - gracehttp +- package: github.com/gorilla/websocket +- package: github.com/labstack/gommon + subpackages: + - bytes + - color + - log + - random +- package: github.com/tylerb/graceful +- package: github.com/valyala/fasttemplate +- package: golang.org/x/crypto + subpackages: + - acme/autocert +- package: golang.org/x/net + subpackages: + - websocket +- package: google.golang.org/appengine +- package: gopkg.in/mgo.v2 + subpackages: + - bson +testImport: +- package: github.com/stretchr/testify + subpackages: + - assert diff --git a/vendor/github.com/labstack/echo/group.go b/vendor/github.com/labstack/echo/group.go new file mode 100644 index 000000000..799a8f90b --- /dev/null +++ b/vendor/github.com/labstack/echo/group.go @@ -0,0 +1,113 @@ +package echo + +import ( + "path" +) + +type ( + // Group is a set of sub-routes for a specified route. It can be used for inner + // routes that share a common middleware or functionality that should be separate + // from the parent echo instance while still inheriting from it. + Group struct { + prefix string + middleware []MiddlewareFunc + echo *Echo + } +) + +// Use implements `Echo#Use()` for sub-routes within the Group. +func (g *Group) Use(middleware ...MiddlewareFunc) { + g.middleware = append(g.middleware, middleware...) + // Allow all requests to reach the group as they might get dropped if router + // doesn't find a match, making none of the group middleware process. + g.echo.Any(path.Clean(g.prefix+"/*"), func(c Context) error { + return ErrNotFound + }, g.middleware...) +} + +// CONNECT implements `Echo#CONNECT()` for sub-routes within the Group. +func (g *Group) CONNECT(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(CONNECT, path, h, m...) +} + +// DELETE implements `Echo#DELETE()` for sub-routes within the Group. +func (g *Group) DELETE(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(DELETE, path, h, m...) +} + +// GET implements `Echo#GET()` for sub-routes within the Group. +func (g *Group) GET(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(GET, path, h, m...) +} + +// HEAD implements `Echo#HEAD()` for sub-routes within the Group. +func (g *Group) HEAD(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(HEAD, path, h, m...) +} + +// OPTIONS implements `Echo#OPTIONS()` for sub-routes within the Group. +func (g *Group) OPTIONS(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(OPTIONS, path, h, m...) +} + +// PATCH implements `Echo#PATCH()` for sub-routes within the Group. +func (g *Group) PATCH(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(PATCH, path, h, m...) +} + +// POST implements `Echo#POST()` for sub-routes within the Group. +func (g *Group) POST(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(POST, path, h, m...) +} + +// PUT implements `Echo#PUT()` for sub-routes within the Group. +func (g *Group) PUT(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(PUT, path, h, m...) +} + +// TRACE implements `Echo#TRACE()` for sub-routes within the Group. +func (g *Group) TRACE(path string, h HandlerFunc, m ...MiddlewareFunc) { + g.add(TRACE, path, h, m...) +} + +// Any implements `Echo#Any()` for sub-routes within the Group. +func (g *Group) Any(path string, handler HandlerFunc, middleware ...MiddlewareFunc) { + for _, m := range methods { + g.add(m, path, handler, middleware...) + } +} + +// Match implements `Echo#Match()` for sub-routes within the Group. +func (g *Group) Match(methods []string, path string, handler HandlerFunc, middleware ...MiddlewareFunc) { + for _, m := range methods { + g.add(m, path, handler, middleware...) + } +} + +// Group creates a new sub-group with prefix and optional sub-group-level middleware. +func (g *Group) Group(prefix string, middleware ...MiddlewareFunc) *Group { + m := []MiddlewareFunc{} + m = append(m, g.middleware...) + m = append(m, middleware...) + return g.echo.Group(g.prefix+prefix, m...) +} + +// Static implements `Echo#Static()` for sub-routes within the Group. +func (g *Group) Static(prefix, root string) { + static(g, prefix, root) +} + +// File implements `Echo#File()` for sub-routes within the Group. +func (g *Group) File(path, file string) { + g.echo.File(g.prefix+path, file) +} + +func (g *Group) add(method, path string, handler HandlerFunc, middleware ...MiddlewareFunc) { + // Combine into a new slice to avoid accidentally passing the same slice for + // multiple routes, which would lead to later add() calls overwriting the + // middleware from earlier calls. + m := []MiddlewareFunc{} + m = append(m, g.middleware...) + m = append(m, middleware...) + g.echo.add(method, g.prefix+path, handler, m...) +} diff --git a/vendor/github.com/labstack/echo/log.go b/vendor/github.com/labstack/echo/log.go new file mode 100644 index 000000000..b194c39c4 --- /dev/null +++ b/vendor/github.com/labstack/echo/log.go @@ -0,0 +1,40 @@ +package echo + +import ( + "io" + + "github.com/labstack/gommon/log" +) + +type ( + // Logger defines the logging interface. + Logger interface { + Output() io.Writer + SetOutput(w io.Writer) + Prefix() string + SetPrefix(p string) + Level() log.Lvl + SetLevel(v log.Lvl) + Print(i ...interface{}) + Printf(format string, args ...interface{}) + Printj(j log.JSON) + Debug(i ...interface{}) + Debugf(format string, args ...interface{}) + Debugj(j log.JSON) + Info(i ...interface{}) + Infof(format string, args ...interface{}) + Infoj(j log.JSON) + Warn(i ...interface{}) + Warnf(format string, args ...interface{}) + Warnj(j log.JSON) + Error(i ...interface{}) + Errorf(format string, args ...interface{}) + Errorj(j log.JSON) + Fatal(i ...interface{}) + Fatalj(j log.JSON) + Fatalf(format string, args ...interface{}) + Panic(i ...interface{}) + Panicj(j log.JSON) + Panicf(format string, args ...interface{}) + } +) diff --git a/vendor/github.com/labstack/echo/middleware/basic_auth.go b/vendor/github.com/labstack/echo/middleware/basic_auth.go new file mode 100644 index 000000000..97c3ae9cc --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/basic_auth.go @@ -0,0 +1,106 @@ +package middleware + +import ( + "encoding/base64" + "strconv" + + "github.com/labstack/echo" +) + +type ( + // BasicAuthConfig defines the config for BasicAuth middleware. + BasicAuthConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Validator is a function to validate BasicAuth credentials. + // Required. + Validator BasicAuthValidator + + // Realm is a string to define realm attribute of BasicAuth. + // Default value "Restricted". + Realm string + } + + // BasicAuthValidator defines a function to validate BasicAuth credentials. + BasicAuthValidator func(string, string, echo.Context) (error, bool) +) + +const ( + basic = "Basic" + defaultRealm = "Restricted" +) + +var ( + // DefaultBasicAuthConfig is the default BasicAuth middleware config. + DefaultBasicAuthConfig = BasicAuthConfig{ + Skipper: DefaultSkipper, + Realm: defaultRealm, + } +) + +// BasicAuth returns an BasicAuth middleware. +// +// For valid credentials it calls the next handler. +// For missing or invalid credentials, it sends "401 - Unauthorized" response. +func BasicAuth(fn BasicAuthValidator) echo.MiddlewareFunc { + c := DefaultBasicAuthConfig + c.Validator = fn + return BasicAuthWithConfig(c) +} + +// BasicAuthWithConfig returns an BasicAuth middleware with config. +// See `BasicAuth()`. +func BasicAuthWithConfig(config BasicAuthConfig) echo.MiddlewareFunc { + // Defaults + if config.Validator == nil { + panic("basic-auth middleware requires a validator function") + } + if config.Skipper == nil { + config.Skipper = DefaultBasicAuthConfig.Skipper + } + if config.Realm == "" { + config.Realm = defaultRealm + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + auth := c.Request().Header.Get(echo.HeaderAuthorization) + l := len(basic) + + if len(auth) > l+1 && auth[:l] == basic { + b, err := base64.StdEncoding.DecodeString(auth[l+1:]) + if err != nil { + return err + } + cred := string(b) + for i := 0; i < len(cred); i++ { + if cred[i] == ':' { + // Verify credentials + err, valid := config.Validator(cred[:i], cred[i+1:], c) + if err != nil { + return err + } else if valid { + return next(c) + } + } + } + } + + realm := "" + if config.Realm == defaultRealm { + realm = defaultRealm + } else { + realm = strconv.Quote(config.Realm) + } + + // Need to return `401` for browsers to pop-up login box. + c.Response().Header().Set(echo.HeaderWWWAuthenticate, basic+" realm="+realm) + return echo.ErrUnauthorized + } + } +} diff --git a/vendor/github.com/labstack/echo/middleware/body_limit.go b/vendor/github.com/labstack/echo/middleware/body_limit.go new file mode 100644 index 000000000..a2ff8d629 --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/body_limit.go @@ -0,0 +1,116 @@ +package middleware + +import ( + "fmt" + "io" + "sync" + + "github.com/labstack/echo" + "github.com/labstack/gommon/bytes" +) + +type ( + // BodyLimitConfig defines the config for BodyLimit middleware. + BodyLimitConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Maximum allowed size for a request body, it can be specified + // as `4x` or `4xB`, where x is one of the multiple from K, M, G, T or P. + Limit string `json:"limit"` + limit int64 + } + + limitedReader struct { + BodyLimitConfig + reader io.ReadCloser + read int64 + context echo.Context + } +) + +var ( + // DefaultBodyLimitConfig is the default Gzip middleware config. + DefaultBodyLimitConfig = BodyLimitConfig{ + Skipper: DefaultSkipper, + } +) + +// BodyLimit returns a BodyLimit middleware. +// +// BodyLimit middleware sets the maximum allowed size for a request body, if the +// size exceeds the configured limit, it sends "413 - Request Entity Too Large" +// response. The BodyLimit is determined based on both `Content-Length` request +// header and actual content read, which makes it super secure. +// Limit can be specified as `4x` or `4xB`, where x is one of the multiple from K, M, +// G, T or P. +func BodyLimit(limit string) echo.MiddlewareFunc { + c := DefaultBodyLimitConfig + c.Limit = limit + return BodyLimitWithConfig(c) +} + +// BodyLimitWithConfig returns a BodyLimit middleware with config. +// See: `BodyLimit()`. +func BodyLimitWithConfig(config BodyLimitConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultBodyLimitConfig.Skipper + } + + limit, err := bytes.Parse(config.Limit) + if err != nil { + panic(fmt.Errorf("invalid body-limit=%s", config.Limit)) + } + config.limit = limit + pool := limitedReaderPool(config) + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + + // Based on content length + if req.ContentLength > config.limit { + return echo.ErrStatusRequestEntityTooLarge + } + + // Based on content read + r := pool.Get().(*limitedReader) + r.Reset(req.Body, c) + defer pool.Put(r) + req.Body = r + + return next(c) + } + } +} + +func (r *limitedReader) Read(b []byte) (n int, err error) { + n, err = r.reader.Read(b) + r.read += int64(n) + if r.read > r.limit { + return n, echo.ErrStatusRequestEntityTooLarge + } + return +} + +func (r *limitedReader) Close() error { + return r.reader.Close() +} + +func (r *limitedReader) Reset(reader io.ReadCloser, context echo.Context) { + r.reader = reader + r.context = context +} + +func limitedReaderPool(c BodyLimitConfig) sync.Pool { + return sync.Pool{ + New: func() interface{} { + return &limitedReader{BodyLimitConfig: c} + }, + } +} diff --git a/vendor/github.com/labstack/echo/middleware/compress.go b/vendor/github.com/labstack/echo/middleware/compress.go new file mode 100644 index 000000000..cffadbd1c --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/compress.go @@ -0,0 +1,121 @@ +package middleware + +import ( + "bufio" + "compress/gzip" + "io" + "io/ioutil" + "net" + "net/http" + "strings" + + "github.com/labstack/echo" +) + +type ( + // GzipConfig defines the config for Gzip middleware. + GzipConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Gzip compression level. + // Optional. Default value -1. + Level int `json:"level"` + } + + gzipResponseWriter struct { + io.Writer + http.ResponseWriter + } +) + +const ( + gzipScheme = "gzip" +) + +var ( + // DefaultGzipConfig is the default Gzip middleware config. + DefaultGzipConfig = GzipConfig{ + Skipper: DefaultSkipper, + Level: -1, + } +) + +// Gzip returns a middleware which compresses HTTP response using gzip compression +// scheme. +func Gzip() echo.MiddlewareFunc { + return GzipWithConfig(DefaultGzipConfig) +} + +// GzipWithConfig return Gzip middleware with config. +// See: `Gzip()`. +func GzipWithConfig(config GzipConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultGzipConfig.Skipper + } + if config.Level == 0 { + config.Level = DefaultGzipConfig.Level + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + res := c.Response() + res.Header().Add(echo.HeaderVary, echo.HeaderAcceptEncoding) + if strings.Contains(c.Request().Header.Get(echo.HeaderAcceptEncoding), gzipScheme) { + res.Header().Add(echo.HeaderContentEncoding, gzipScheme) // Issue #806 + rw := res.Writer + w, err := gzip.NewWriterLevel(rw, config.Level) + if err != nil { + return err + } + defer func() { + if res.Size == 0 { + if res.Header().Get(echo.HeaderContentEncoding) == gzipScheme { + res.Header().Del(echo.HeaderContentEncoding) + } + // We have to reset response to it's pristine state when + // nothing is written to body or error is returned. + // See issue #424, #407. + res.Writer = rw + w.Reset(ioutil.Discard) + } + w.Close() + }() + grw := &gzipResponseWriter{Writer: w, ResponseWriter: rw} + res.Writer = grw + } + return next(c) + } + } +} + +func (w *gzipResponseWriter) WriteHeader(code int) { + if code == http.StatusNoContent { // Issue #489 + w.ResponseWriter.Header().Del(echo.HeaderContentEncoding) + } + w.ResponseWriter.WriteHeader(code) +} + +func (w *gzipResponseWriter) Write(b []byte) (int, error) { + if w.Header().Get(echo.HeaderContentType) == "" { + w.Header().Set(echo.HeaderContentType, http.DetectContentType(b)) + } + return w.Writer.Write(b) +} + +func (w *gzipResponseWriter) Flush() { + w.Writer.(*gzip.Writer).Flush() +} + +func (w *gzipResponseWriter) Hijack() (net.Conn, *bufio.ReadWriter, error) { + return w.ResponseWriter.(http.Hijacker).Hijack() +} + +func (w *gzipResponseWriter) CloseNotify() <-chan bool { + return w.ResponseWriter.(http.CloseNotifier).CloseNotify() +} diff --git a/vendor/github.com/labstack/echo/middleware/cors.go b/vendor/github.com/labstack/echo/middleware/cors.go new file mode 100644 index 000000000..c35fc36ce --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/cors.go @@ -0,0 +1,139 @@ +package middleware + +import ( + "net/http" + "strconv" + "strings" + + "github.com/labstack/echo" +) + +type ( + // CORSConfig defines the config for CORS middleware. + CORSConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // AllowOrigin defines a list of origins that may access the resource. + // Optional. Default value []string{"*"}. + AllowOrigins []string `json:"allow_origins"` + + // AllowMethods defines a list methods allowed when accessing the resource. + // This is used in response to a preflight request. + // Optional. Default value DefaultCORSConfig.AllowMethods. + AllowMethods []string `json:"allow_methods"` + + // AllowHeaders defines a list of request headers that can be used when + // making the actual request. This in response to a preflight request. + // Optional. Default value []string{}. + AllowHeaders []string `json:"allow_headers"` + + // AllowCredentials indicates whether or not the response to the request + // can be exposed when the credentials flag is true. When used as part of + // a response to a preflight request, this indicates whether or not the + // actual request can be made using credentials. + // Optional. Default value false. + AllowCredentials bool `json:"allow_credentials"` + + // ExposeHeaders defines a whitelist headers that clients are allowed to + // access. + // Optional. Default value []string{}. + ExposeHeaders []string `json:"expose_headers"` + + // MaxAge indicates how long (in seconds) the results of a preflight request + // can be cached. + // Optional. Default value 0. + MaxAge int `json:"max_age"` + } +) + +var ( + // DefaultCORSConfig is the default CORS middleware config. + DefaultCORSConfig = CORSConfig{ + Skipper: DefaultSkipper, + AllowOrigins: []string{"*"}, + AllowMethods: []string{echo.GET, echo.HEAD, echo.PUT, echo.PATCH, echo.POST, echo.DELETE}, + } +) + +// CORS returns a Cross-Origin Resource Sharing (CORS) middleware. +// See: https://developer.mozilla.org/en/docs/Web/HTTP/Access_control_CORS +func CORS() echo.MiddlewareFunc { + return CORSWithConfig(DefaultCORSConfig) +} + +// CORSWithConfig returns a CORS middleware with config. +// See: `CORS()`. +func CORSWithConfig(config CORSConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultCORSConfig.Skipper + } + if len(config.AllowOrigins) == 0 { + config.AllowOrigins = DefaultCORSConfig.AllowOrigins + } + if len(config.AllowMethods) == 0 { + config.AllowMethods = DefaultCORSConfig.AllowMethods + } + + allowMethods := strings.Join(config.AllowMethods, ",") + allowHeaders := strings.Join(config.AllowHeaders, ",") + exposeHeaders := strings.Join(config.ExposeHeaders, ",") + maxAge := strconv.Itoa(config.MaxAge) + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + res := c.Response() + origin := req.Header.Get(echo.HeaderOrigin) + allowOrigin := "" + + // Check allowed origins + for _, o := range config.AllowOrigins { + if o == "*" || o == origin { + allowOrigin = o + break + } + } + + // Simple request + if req.Method != echo.OPTIONS { + res.Header().Add(echo.HeaderVary, echo.HeaderOrigin) + res.Header().Set(echo.HeaderAccessControlAllowOrigin, allowOrigin) + if config.AllowCredentials { + res.Header().Set(echo.HeaderAccessControlAllowCredentials, "true") + } + if exposeHeaders != "" { + res.Header().Set(echo.HeaderAccessControlExposeHeaders, exposeHeaders) + } + return next(c) + } + + // Preflight request + res.Header().Add(echo.HeaderVary, echo.HeaderOrigin) + res.Header().Add(echo.HeaderVary, echo.HeaderAccessControlRequestMethod) + res.Header().Add(echo.HeaderVary, echo.HeaderAccessControlRequestHeaders) + res.Header().Set(echo.HeaderAccessControlAllowOrigin, allowOrigin) + res.Header().Set(echo.HeaderAccessControlAllowMethods, allowMethods) + if config.AllowCredentials { + res.Header().Set(echo.HeaderAccessControlAllowCredentials, "true") + } + if allowHeaders != "" { + res.Header().Set(echo.HeaderAccessControlAllowHeaders, allowHeaders) + } else { + h := req.Header.Get(echo.HeaderAccessControlRequestHeaders) + if h != "" { + res.Header().Set(echo.HeaderAccessControlAllowHeaders, h) + } + } + if config.MaxAge > 0 { + res.Header().Set(echo.HeaderAccessControlMaxAge, maxAge) + } + return c.NoContent(http.StatusNoContent) + } + } +} diff --git a/vendor/github.com/labstack/echo/middleware/csrf.go b/vendor/github.com/labstack/echo/middleware/csrf.go new file mode 100644 index 000000000..5bbeecb4a --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/csrf.go @@ -0,0 +1,210 @@ +package middleware + +import ( + "crypto/subtle" + "errors" + "net/http" + "strings" + "time" + + "github.com/labstack/echo" + "github.com/labstack/gommon/random" +) + +type ( + // CSRFConfig defines the config for CSRF middleware. + CSRFConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // TokenLength is the length of the generated token. + TokenLength uint8 `json:"token_length"` + // Optional. Default value 32. + + // TokenLookup is a string in the form of ":" that is used + // to extract token from the request. + // Optional. Default value "header:X-CSRF-Token". + // Possible values: + // - "header:" + // - "form:" + // - "query:" + TokenLookup string `json:"token_lookup"` + + // Context key to store generated CSRF token into context. + // Optional. Default value "csrf". + ContextKey string `json:"context_key"` + + // Name of the CSRF cookie. This cookie will store CSRF token. + // Optional. Default value "csrf". + CookieName string `json:"cookie_name"` + + // Domain of the CSRF cookie. + // Optional. Default value none. + CookieDomain string `json:"cookie_domain"` + + // Path of the CSRF cookie. + // Optional. Default value none. + CookiePath string `json:"cookie_path"` + + // Max age (in seconds) of the CSRF cookie. + // Optional. Default value 86400 (24hr). + CookieMaxAge int `json:"cookie_max_age"` + + // Indicates if CSRF cookie is secure. + // Optional. Default value false. + CookieSecure bool `json:"cookie_secure"` + + // Indicates if CSRF cookie is HTTP only. + // Optional. Default value false. + CookieHTTPOnly bool `json:"cookie_http_only"` + } + + // csrfTokenExtractor defines a function that takes `echo.Context` and returns + // either a token or an error. + csrfTokenExtractor func(echo.Context) (string, error) +) + +var ( + // DefaultCSRFConfig is the default CSRF middleware config. + DefaultCSRFConfig = CSRFConfig{ + Skipper: DefaultSkipper, + TokenLength: 32, + TokenLookup: "header:" + echo.HeaderXCSRFToken, + ContextKey: "csrf", + CookieName: "_csrf", + CookieMaxAge: 86400, + } +) + +// CSRF returns a Cross-Site Request Forgery (CSRF) middleware. +// See: https://en.wikipedia.org/wiki/Cross-site_request_forgery +func CSRF() echo.MiddlewareFunc { + c := DefaultCSRFConfig + return CSRFWithConfig(c) +} + +// CSRFWithConfig returns a CSRF middleware with config. +// See `CSRF()`. +func CSRFWithConfig(config CSRFConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultCSRFConfig.Skipper + } + if config.TokenLength == 0 { + config.TokenLength = DefaultCSRFConfig.TokenLength + } + if config.TokenLookup == "" { + config.TokenLookup = DefaultCSRFConfig.TokenLookup + } + if config.ContextKey == "" { + config.ContextKey = DefaultCSRFConfig.ContextKey + } + if config.CookieName == "" { + config.CookieName = DefaultCSRFConfig.CookieName + } + if config.CookieMaxAge == 0 { + config.CookieMaxAge = DefaultCSRFConfig.CookieMaxAge + } + + // Initialize + parts := strings.Split(config.TokenLookup, ":") + extractor := csrfTokenFromHeader(parts[1]) + switch parts[0] { + case "form": + extractor = csrfTokenFromForm(parts[1]) + case "query": + extractor = csrfTokenFromQuery(parts[1]) + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + k, err := c.Cookie(config.CookieName) + token := "" + + if err != nil { + // Generate token + token = random.String(config.TokenLength) + } else { + // Reuse token + token = k.Value + } + + switch req.Method { + case echo.GET, echo.HEAD, echo.OPTIONS, echo.TRACE: + default: + // Validate token only for requests which are not defined as 'safe' by RFC7231 + clientToken, err := extractor(c) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, err.Error()) + } + if !validateCSRFToken(token, clientToken) { + return echo.NewHTTPError(http.StatusForbidden, "Invalid csrf token") + } + } + + // Set CSRF cookie + cookie := new(http.Cookie) + cookie.Name = config.CookieName + cookie.Value = token + if config.CookiePath != "" { + cookie.Path = config.CookiePath + } + if config.CookieDomain != "" { + cookie.Domain = config.CookieDomain + } + cookie.Expires = time.Now().Add(time.Duration(config.CookieMaxAge) * time.Second) + cookie.Secure = config.CookieSecure + cookie.HttpOnly = config.CookieHTTPOnly + c.SetCookie(cookie) + + // Store token in the context + c.Set(config.ContextKey, token) + + // Protect clients from caching the response + c.Response().Header().Add(echo.HeaderVary, echo.HeaderCookie) + + return next(c) + } + } +} + +// csrfTokenFromForm returns a `csrfTokenExtractor` that extracts token from the +// provided request header. +func csrfTokenFromHeader(header string) csrfTokenExtractor { + return func(c echo.Context) (string, error) { + return c.Request().Header.Get(header), nil + } +} + +// csrfTokenFromForm returns a `csrfTokenExtractor` that extracts token from the +// provided form parameter. +func csrfTokenFromForm(param string) csrfTokenExtractor { + return func(c echo.Context) (string, error) { + token := c.FormValue(param) + if token == "" { + return "", errors.New("Missing csrf token in the form parameter") + } + return token, nil + } +} + +// csrfTokenFromQuery returns a `csrfTokenExtractor` that extracts token from the +// provided query parameter. +func csrfTokenFromQuery(param string) csrfTokenExtractor { + return func(c echo.Context) (string, error) { + token := c.QueryParam(param) + if token == "" { + return "", errors.New("Missing csrf token in the query string") + } + return token, nil + } +} + +func validateCSRFToken(token, clientToken string) bool { + return subtle.ConstantTimeCompare([]byte(token), []byte(clientToken)) == 1 +} diff --git a/vendor/github.com/labstack/echo/middleware/jwt.go b/vendor/github.com/labstack/echo/middleware/jwt.go new file mode 100644 index 000000000..b26587391 --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/jwt.go @@ -0,0 +1,189 @@ +package middleware + +import ( + "errors" + "fmt" + "net/http" + "reflect" + "strings" + + "github.com/dgrijalva/jwt-go" + "github.com/labstack/echo" +) + +type ( + // JWTConfig defines the config for JWT middleware. + JWTConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Signing key to validate token. + // Required. + SigningKey interface{} + + // Signing method, used to check token signing method. + // Optional. Default value HS256. + SigningMethod string + + // Context key to store user information from the token into context. + // Optional. Default value "user". + ContextKey string + + // Claims are extendable claims data defining token content. + // Optional. Default value jwt.MapClaims + Claims jwt.Claims + + // TokenLookup is a string in the form of ":" that is used + // to extract token from the request. + // Optional. Default value "header:Authorization". + // Possible values: + // - "header:" + // - "query:" + // - "cookie:" + TokenLookup string + + // AuthScheme to be used in the Authorization header. + // Optional. Default value "Bearer". + AuthScheme string + + keyFunc jwt.Keyfunc + } + + jwtExtractor func(echo.Context) (string, error) +) + +// Algorithms +const ( + AlgorithmHS256 = "HS256" +) + +var ( + // DefaultJWTConfig is the default JWT auth middleware config. + DefaultJWTConfig = JWTConfig{ + Skipper: DefaultSkipper, + SigningMethod: AlgorithmHS256, + ContextKey: "user", + TokenLookup: "header:" + echo.HeaderAuthorization, + AuthScheme: "Bearer", + Claims: jwt.MapClaims{}, + } +) + +// JWT returns a JSON Web Token (JWT) auth middleware. +// +// For valid token, it sets the user in context and calls next handler. +// For invalid token, it returns "401 - Unauthorized" error. +// For missing token, it returns "400 - Bad Request" error. +// +// See: https://jwt.io/introduction +// See `JWTConfig.TokenLookup` +func JWT(key []byte) echo.MiddlewareFunc { + c := DefaultJWTConfig + c.SigningKey = key + return JWTWithConfig(c) +} + +// JWTWithConfig returns a JWT auth middleware with config. +// See: `JWT()`. +func JWTWithConfig(config JWTConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultJWTConfig.Skipper + } + if config.SigningKey == nil { + panic("jwt middleware requires signing key") + } + if config.SigningMethod == "" { + config.SigningMethod = DefaultJWTConfig.SigningMethod + } + if config.ContextKey == "" { + config.ContextKey = DefaultJWTConfig.ContextKey + } + if config.Claims == nil { + config.Claims = DefaultJWTConfig.Claims + } + if config.TokenLookup == "" { + config.TokenLookup = DefaultJWTConfig.TokenLookup + } + if config.AuthScheme == "" { + config.AuthScheme = DefaultJWTConfig.AuthScheme + } + config.keyFunc = func(t *jwt.Token) (interface{}, error) { + // Check the signing method + if t.Method.Alg() != config.SigningMethod { + return nil, fmt.Errorf("Unexpected jwt signing method=%v", t.Header["alg"]) + } + return config.SigningKey, nil + } + + // Initialize + parts := strings.Split(config.TokenLookup, ":") + extractor := jwtFromHeader(parts[1], config.AuthScheme) + switch parts[0] { + case "query": + extractor = jwtFromQuery(parts[1]) + case "cookie": + extractor = jwtFromCookie(parts[1]) + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + auth, err := extractor(c) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, err.Error()) + } + token := new(jwt.Token) + // Issue #647, #656 + if _, ok := config.Claims.(jwt.MapClaims); ok { + token, err = jwt.Parse(auth, config.keyFunc) + } else { + claims := reflect.ValueOf(config.Claims).Interface().(jwt.Claims) + token, err = jwt.ParseWithClaims(auth, claims, config.keyFunc) + } + if err == nil && token.Valid { + // Store user information from token into context. + c.Set(config.ContextKey, token) + return next(c) + } + return echo.ErrUnauthorized + } + } +} + +// jwtFromHeader returns a `jwtExtractor` that extracts token from the request header. +func jwtFromHeader(header string, authScheme string) jwtExtractor { + return func(c echo.Context) (string, error) { + auth := c.Request().Header.Get(header) + l := len(authScheme) + if len(auth) > l+1 && auth[:l] == authScheme { + return auth[l+1:], nil + } + return "", errors.New("Missing or invalid jwt in the request header") + } +} + +// jwtFromQuery returns a `jwtExtractor` that extracts token from the query string. +func jwtFromQuery(param string) jwtExtractor { + return func(c echo.Context) (string, error) { + token := c.QueryParam(param) + if token == "" { + return "", errors.New("Missing jwt in the query string") + } + return token, nil + } +} + +// jwtFromCookie returns a `jwtExtractor` that extracts token from the named cookie. +func jwtFromCookie(name string) jwtExtractor { + return func(c echo.Context) (string, error) { + cookie, err := c.Cookie(name) + if err != nil { + return "", errors.New("Missing jwt in the cookie") + } + return cookie.Value, nil + } +} diff --git a/vendor/github.com/labstack/echo/middleware/key_auth.go b/vendor/github.com/labstack/echo/middleware/key_auth.go new file mode 100644 index 000000000..25189c95f --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/key_auth.go @@ -0,0 +1,136 @@ +package middleware + +import ( + "errors" + "net/http" + "strings" + + "github.com/labstack/echo" +) + +type ( + // KeyAuthConfig defines the config for KeyAuth middleware. + KeyAuthConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // KeyLookup is a string in the form of ":" that is used + // to extract key from the request. + // Optional. Default value "header:Authorization". + // Possible values: + // - "header:" + // - "query:" + KeyLookup string `json:"key_lookup"` + + // AuthScheme to be used in the Authorization header. + // Optional. Default value "Bearer". + AuthScheme string + + // Validator is a function to validate key. + // Required. + Validator KeyAuthValidator + } + + // KeyAuthValidator defines a function to validate KeyAuth credentials. + KeyAuthValidator func(string, echo.Context) (error, bool) + + keyExtractor func(echo.Context) (string, error) +) + +var ( + // DefaultKeyAuthConfig is the default KeyAuth middleware config. + DefaultKeyAuthConfig = KeyAuthConfig{ + Skipper: DefaultSkipper, + KeyLookup: "header:" + echo.HeaderAuthorization, + AuthScheme: "Bearer", + } +) + +// KeyAuth returns an KeyAuth middleware. +// +// For valid key it calls the next handler. +// For invalid key, it sends "401 - Unauthorized" response. +// For missing key, it sends "400 - Bad Request" response. +func KeyAuth(fn KeyAuthValidator) echo.MiddlewareFunc { + c := DefaultKeyAuthConfig + c.Validator = fn + return KeyAuthWithConfig(c) +} + +// KeyAuthWithConfig returns an KeyAuth middleware with config. +// See `KeyAuth()`. +func KeyAuthWithConfig(config KeyAuthConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultKeyAuthConfig.Skipper + } + // Defaults + if config.AuthScheme == "" { + config.AuthScheme = DefaultKeyAuthConfig.AuthScheme + } + if config.KeyLookup == "" { + config.KeyLookup = DefaultKeyAuthConfig.KeyLookup + } + if config.Validator == nil { + panic("key-auth middleware requires a validator function") + } + + // Initialize + parts := strings.Split(config.KeyLookup, ":") + extractor := keyFromHeader(parts[1], config.AuthScheme) + switch parts[0] { + case "query": + extractor = keyFromQuery(parts[1]) + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + // Extract and verify key + key, err := extractor(c) + if err != nil { + return echo.NewHTTPError(http.StatusBadRequest, err.Error()) + } + err, valid := config.Validator(key, c) + if err != nil { + return err + } else if valid { + return next(c) + } + + return echo.ErrUnauthorized + } + } +} + +// keyFromHeader returns a `keyExtractor` that extracts key from the request header. +func keyFromHeader(header string, authScheme string) keyExtractor { + return func(c echo.Context) (string, error) { + auth := c.Request().Header.Get(header) + if auth == "" { + return "", errors.New("Missing key in request header") + } + if header == echo.HeaderAuthorization { + l := len(authScheme) + if len(auth) > l+1 && auth[:l] == authScheme { + return auth[l+1:], nil + } + return "", errors.New("Invalid key in the request header") + } + return auth, nil + } +} + +// keyFromQuery returns a `keyExtractor` that extracts key from the query string. +func keyFromQuery(param string) keyExtractor { + return func(c echo.Context) (string, error) { + key := c.QueryParam(param) + if key == "" { + return "", errors.New("Missing key in the query string") + } + return key, nil + } +} diff --git a/vendor/github.com/labstack/echo/middleware/logger.go b/vendor/github.com/labstack/echo/middleware/logger.go new file mode 100644 index 000000000..071d0f672 --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/logger.go @@ -0,0 +1,197 @@ +package middleware + +import ( + "bytes" + "io" + "os" + "strconv" + "strings" + "sync" + "time" + + "github.com/labstack/echo" + "github.com/labstack/gommon/color" + "github.com/valyala/fasttemplate" +) + +type ( + // LoggerConfig defines the config for Logger middleware. + LoggerConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Tags to constructed the logger format. + // + // - time_unix + // - time_unix_nano + // - time_rfc3339 + // - time_rfc3339_nano + // - id (Request ID) + // - remote_ip + // - uri + // - host + // - method + // - path + // - referer + // - user_agent + // - status + // - latency (In nanoseconds) + // - latency_human (Human readable) + // - bytes_in (Bytes received) + // - bytes_out (Bytes sent) + // - header: + // - query: + // - form: + // + // Example "${remote_ip} ${status}" + // + // Optional. Default value DefaultLoggerConfig.Format. + Format string `json:"format"` + + // Output is a writer where logs in JSON format are written. + // Optional. Default value os.Stdout. + Output io.Writer + + template *fasttemplate.Template + colorer *color.Color + pool *sync.Pool + } +) + +var ( + // DefaultLoggerConfig is the default Logger middleware config. + DefaultLoggerConfig = LoggerConfig{ + Skipper: DefaultSkipper, + Format: `{"time":"${time_rfc3339_nano}","id":"${id}","remote_ip":"${remote_ip}","host":"${host}",` + + `"method":"${method}","uri":"${uri}","status":${status}, "latency":${latency},` + + `"latency_human":"${latency_human}","bytes_in":${bytes_in},` + + `"bytes_out":${bytes_out}}` + "\n", + Output: os.Stdout, + colorer: color.New(), + } +) + +// Logger returns a middleware that logs HTTP requests. +func Logger() echo.MiddlewareFunc { + return LoggerWithConfig(DefaultLoggerConfig) +} + +// LoggerWithConfig returns a Logger middleware with config. +// See: `Logger()`. +func LoggerWithConfig(config LoggerConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultLoggerConfig.Skipper + } + if config.Format == "" { + config.Format = DefaultLoggerConfig.Format + } + if config.Output == nil { + config.Output = DefaultLoggerConfig.Output + } + + config.template = fasttemplate.New(config.Format, "${", "}") + config.colorer = color.New() + config.colorer.SetOutput(config.Output) + config.pool = &sync.Pool{ + New: func() interface{} { + return bytes.NewBuffer(make([]byte, 256)) + }, + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) (err error) { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + res := c.Response() + start := time.Now() + if err = next(c); err != nil { + c.Error(err) + } + stop := time.Now() + buf := config.pool.Get().(*bytes.Buffer) + buf.Reset() + defer config.pool.Put(buf) + + if _, err = config.template.ExecuteFunc(buf, func(w io.Writer, tag string) (int, error) { + switch tag { + case "time_unix": + return buf.WriteString(strconv.FormatInt(time.Now().Unix(), 10)) + case "time_unix_nano": + return buf.WriteString(strconv.FormatInt(time.Now().UnixNano(), 10)) + case "time_rfc3339": + return buf.WriteString(time.Now().Format(time.RFC3339)) + case "time_rfc3339_nano": + return buf.WriteString(time.Now().Format(time.RFC3339Nano)) + case "id": + id := req.Header.Get(echo.HeaderXRequestID) + if id == "" { + id = res.Header().Get(echo.HeaderXRequestID) + } + return buf.WriteString(id) + case "remote_ip": + return buf.WriteString(c.RealIP()) + case "host": + return buf.WriteString(req.Host) + case "uri": + return buf.WriteString(req.RequestURI) + case "method": + return buf.WriteString(req.Method) + case "path": + p := req.URL.Path + if p == "" { + p = "/" + } + return buf.WriteString(p) + case "referer": + return buf.WriteString(req.Referer()) + case "user_agent": + return buf.WriteString(req.UserAgent()) + case "status": + n := res.Status + s := config.colorer.Green(n) + switch { + case n >= 500: + s = config.colorer.Red(n) + case n >= 400: + s = config.colorer.Yellow(n) + case n >= 300: + s = config.colorer.Cyan(n) + } + return buf.WriteString(s) + case "latency": + l := stop.Sub(start) + return buf.WriteString(strconv.FormatInt(int64(l), 10)) + case "latency_human": + return buf.WriteString(stop.Sub(start).String()) + case "bytes_in": + cl := req.Header.Get(echo.HeaderContentLength) + if cl == "" { + cl = "0" + } + return buf.WriteString(cl) + case "bytes_out": + return buf.WriteString(strconv.FormatInt(res.Size, 10)) + default: + switch { + case strings.HasPrefix(tag, "header:"): + return buf.Write([]byte(c.Request().Header.Get(tag[7:]))) + case strings.HasPrefix(tag, "query:"): + return buf.Write([]byte(c.QueryParam(tag[6:]))) + case strings.HasPrefix(tag, "form:"): + return buf.Write([]byte(c.FormValue(tag[5:]))) + } + } + return 0, nil + }); err != nil { + return + } + + _, err = config.Output.Write(buf.Bytes()) + return + } + } +} diff --git a/vendor/github.com/labstack/echo/middleware/method_override.go b/vendor/github.com/labstack/echo/middleware/method_override.go new file mode 100644 index 000000000..955fd11ed --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/method_override.go @@ -0,0 +1,88 @@ +package middleware + +import "github.com/labstack/echo" + +type ( + // MethodOverrideConfig defines the config for MethodOverride middleware. + MethodOverrideConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Getter is a function that gets overridden method from the request. + // Optional. Default values MethodFromHeader(echo.HeaderXHTTPMethodOverride). + Getter MethodOverrideGetter + } + + // MethodOverrideGetter is a function that gets overridden method from the request + MethodOverrideGetter func(echo.Context) string +) + +var ( + // DefaultMethodOverrideConfig is the default MethodOverride middleware config. + DefaultMethodOverrideConfig = MethodOverrideConfig{ + Skipper: DefaultSkipper, + Getter: MethodFromHeader(echo.HeaderXHTTPMethodOverride), + } +) + +// MethodOverride returns a MethodOverride middleware. +// MethodOverride middleware checks for the overridden method from the request and +// uses it instead of the original method. +// +// For security reasons, only `POST` method can be overridden. +func MethodOverride() echo.MiddlewareFunc { + return MethodOverrideWithConfig(DefaultMethodOverrideConfig) +} + +// MethodOverrideWithConfig returns a MethodOverride middleware with config. +// See: `MethodOverride()`. +func MethodOverrideWithConfig(config MethodOverrideConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultMethodOverrideConfig.Skipper + } + if config.Getter == nil { + config.Getter = DefaultMethodOverrideConfig.Getter + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + if req.Method == echo.POST { + m := config.Getter(c) + if m != "" { + req.Method = m + } + } + return next(c) + } + } +} + +// MethodFromHeader is a `MethodOverrideGetter` that gets overridden method from +// the request header. +func MethodFromHeader(header string) MethodOverrideGetter { + return func(c echo.Context) string { + return c.Request().Header.Get(header) + } +} + +// MethodFromForm is a `MethodOverrideGetter` that gets overridden method from the +// form parameter. +func MethodFromForm(param string) MethodOverrideGetter { + return func(c echo.Context) string { + return c.FormValue(param) + } +} + +// MethodFromQuery is a `MethodOverrideGetter` that gets overridden method from +// the query parameter. +func MethodFromQuery(param string) MethodOverrideGetter { + return func(c echo.Context) string { + return c.QueryParam(param) + } +} diff --git a/vendor/github.com/labstack/echo/middleware/middleware.go b/vendor/github.com/labstack/echo/middleware/middleware.go new file mode 100644 index 000000000..efcbab913 --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/middleware.go @@ -0,0 +1,14 @@ +package middleware + +import "github.com/labstack/echo" + +type ( + // Skipper defines a function to skip middleware. Returning true skips processing + // the middleware. + Skipper func(c echo.Context) bool +) + +// DefaultSkipper returns false which processes the middleware. +func DefaultSkipper(echo.Context) bool { + return false +} diff --git a/vendor/github.com/labstack/echo/middleware/recover.go b/vendor/github.com/labstack/echo/middleware/recover.go new file mode 100644 index 000000000..96fa62c90 --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/recover.go @@ -0,0 +1,85 @@ +package middleware + +import ( + "fmt" + "runtime" + + "github.com/labstack/echo" + "github.com/labstack/gommon/color" +) + +type ( + // RecoverConfig defines the config for Recover middleware. + RecoverConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Size of the stack to be printed. + // Optional. Default value 4KB. + StackSize int `json:"stack_size"` + + // DisableStackAll disables formatting stack traces of all other goroutines + // into buffer after the trace for the current goroutine. + // Optional. Default value false. + DisableStackAll bool `json:"disable_stack_all"` + + // DisablePrintStack disables printing stack trace. + // Optional. Default value as false. + DisablePrintStack bool `json:"disable_print_stack"` + } +) + +var ( + // DefaultRecoverConfig is the default Recover middleware config. + DefaultRecoverConfig = RecoverConfig{ + Skipper: DefaultSkipper, + StackSize: 4 << 10, // 4 KB + DisableStackAll: false, + DisablePrintStack: false, + } +) + +// Recover returns a middleware which recovers from panics anywhere in the chain +// and handles the control to the centralized HTTPErrorHandler. +func Recover() echo.MiddlewareFunc { + return RecoverWithConfig(DefaultRecoverConfig) +} + +// RecoverWithConfig returns a Recover middleware with config. +// See: `Recover()`. +func RecoverWithConfig(config RecoverConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultRecoverConfig.Skipper + } + if config.StackSize == 0 { + config.StackSize = DefaultRecoverConfig.StackSize + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + defer func() { + if r := recover(); r != nil { + var err error + switch r := r.(type) { + case error: + err = r + default: + err = fmt.Errorf("%v", r) + } + stack := make([]byte, config.StackSize) + length := runtime.Stack(stack, !config.DisableStackAll) + if !config.DisablePrintStack { + c.Logger().Printf("[%s] %s %s\n", color.Red("PANIC RECOVER"), err, stack[:length]) + } + c.Error(err) + } + }() + return next(c) + } + } +} diff --git a/vendor/github.com/labstack/echo/middleware/redirect.go b/vendor/github.com/labstack/echo/middleware/redirect.go new file mode 100644 index 000000000..b87dab091 --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/redirect.go @@ -0,0 +1,215 @@ +package middleware + +import ( + "net/http" + + "github.com/labstack/echo" +) + +type ( + // RedirectConfig defines the config for Redirect middleware. + RedirectConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Status code to be used when redirecting the request. + // Optional. Default value http.StatusMovedPermanently. + Code int `json:"code"` + } +) + +const ( + www = "www" +) + +var ( + // DefaultRedirectConfig is the default Redirect middleware config. + DefaultRedirectConfig = RedirectConfig{ + Skipper: DefaultSkipper, + Code: http.StatusMovedPermanently, + } +) + +// HTTPSRedirect redirects http requests to https. +// For example, http://labstack.com will be redirect to https://labstack.com. +// +// Usage `Echo#Pre(HTTPSRedirect())` +func HTTPSRedirect() echo.MiddlewareFunc { + return HTTPSRedirectWithConfig(DefaultRedirectConfig) +} + +// HTTPSRedirectWithConfig returns an HTTPSRedirect middleware with config. +// See `HTTPSRedirect()`. +func HTTPSRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultTrailingSlashConfig.Skipper + } + if config.Code == 0 { + config.Code = DefaultRedirectConfig.Code + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + host := req.Host + uri := req.RequestURI + if !c.IsTLS() { + return c.Redirect(config.Code, "https://"+host+uri) + } + return next(c) + } + } +} + +// HTTPSWWWRedirect redirects http requests to https www. +// For example, http://labstack.com will be redirect to https://www.labstack.com. +// +// Usage `Echo#Pre(HTTPSWWWRedirect())` +func HTTPSWWWRedirect() echo.MiddlewareFunc { + return HTTPSWWWRedirectWithConfig(DefaultRedirectConfig) +} + +// HTTPSWWWRedirectWithConfig returns an HTTPSRedirect middleware with config. +// See `HTTPSWWWRedirect()`. +func HTTPSWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultTrailingSlashConfig.Skipper + } + if config.Code == 0 { + config.Code = DefaultRedirectConfig.Code + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + host := req.Host + uri := req.RequestURI + if !c.IsTLS() && host[:3] != www { + return c.Redirect(config.Code, "https://www."+host+uri) + } + return next(c) + } + } +} + +// HTTPSNonWWWRedirect redirects http requests to https non www. +// For example, http://www.labstack.com will be redirect to https://labstack.com. +// +// Usage `Echo#Pre(HTTPSNonWWWRedirect())` +func HTTPSNonWWWRedirect() echo.MiddlewareFunc { + return HTTPSNonWWWRedirectWithConfig(DefaultRedirectConfig) +} + +// HTTPSNonWWWRedirectWithConfig returns an HTTPSRedirect middleware with config. +// See `HTTPSNonWWWRedirect()`. +func HTTPSNonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultTrailingSlashConfig.Skipper + } + if config.Code == 0 { + config.Code = DefaultRedirectConfig.Code + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + host := req.Host + uri := req.RequestURI + if !c.IsTLS() { + if host[:3] == www { + return c.Redirect(config.Code, "https://"+host[4:]+uri) + } + return c.Redirect(config.Code, "https://"+host+uri) + } + return next(c) + } + } +} + +// WWWRedirect redirects non www requests to www. +// For example, http://labstack.com will be redirect to http://www.labstack.com. +// +// Usage `Echo#Pre(WWWRedirect())` +func WWWRedirect() echo.MiddlewareFunc { + return WWWRedirectWithConfig(DefaultRedirectConfig) +} + +// WWWRedirectWithConfig returns an HTTPSRedirect middleware with config. +// See `WWWRedirect()`. +func WWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultTrailingSlashConfig.Skipper + } + if config.Code == 0 { + config.Code = DefaultRedirectConfig.Code + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + scheme := c.Scheme() + host := req.Host + if host[:3] != www { + uri := req.RequestURI + return c.Redirect(config.Code, scheme+"://www."+host+uri) + } + return next(c) + } + } +} + +// NonWWWRedirect redirects www requests to non www. +// For example, http://www.labstack.com will be redirect to http://labstack.com. +// +// Usage `Echo#Pre(NonWWWRedirect())` +func NonWWWRedirect() echo.MiddlewareFunc { + return NonWWWRedirectWithConfig(DefaultRedirectConfig) +} + +// NonWWWRedirectWithConfig returns an HTTPSRedirect middleware with config. +// See `NonWWWRedirect()`. +func NonWWWRedirectWithConfig(config RedirectConfig) echo.MiddlewareFunc { + if config.Skipper == nil { + config.Skipper = DefaultTrailingSlashConfig.Skipper + } + if config.Code == 0 { + config.Code = DefaultRedirectConfig.Code + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + scheme := c.Scheme() + host := req.Host + if host[:3] == www { + uri := req.RequestURI + return c.Redirect(config.Code, scheme+"://"+host[4:]+uri) + } + return next(c) + } + } +} diff --git a/vendor/github.com/labstack/echo/middleware/request_id.go b/vendor/github.com/labstack/echo/middleware/request_id.go new file mode 100644 index 000000000..f376c296d --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/request_id.go @@ -0,0 +1,64 @@ +package middleware + +import ( + "github.com/labstack/echo" + "github.com/labstack/gommon/random" +) + +type ( + // RequestIDConfig defines the config for RequestID middleware. + RequestIDConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // Generator defines a function to generate an ID. + // Optional. Default value random.String(32). + Generator func() string + } +) + +var ( + // DefaultRequestIDConfig is the default RequestID middleware config. + DefaultRequestIDConfig = RequestIDConfig{ + Skipper: DefaultSkipper, + Generator: generator, + } +) + +// RequestID returns a X-Request-ID middleware. +func RequestID() echo.MiddlewareFunc { + return RequestIDWithConfig(DefaultRequestIDConfig) +} + +// RequestIDWithConfig returns a X-Request-ID middleware with config. +func RequestIDWithConfig(config RequestIDConfig) echo.MiddlewareFunc { + // Defaults + if config.Skipper == nil { + config.Skipper = DefaultRequestIDConfig.Skipper + } + if config.Generator == nil { + config.Generator = generator + } + + return func(next echo.HandlerFunc) echo.HandlerFunc { + return func(c echo.Context) error { + if config.Skipper(c) { + return next(c) + } + + req := c.Request() + res := c.Response() + rid := req.Header.Get(echo.HeaderXRequestID) + if rid == "" { + rid = config.Generator() + } + res.Header().Set(echo.HeaderXRequestID, rid) + + return next(c) + } + } +} + +func generator() string { + return random.String(32) +} diff --git a/vendor/github.com/labstack/echo/middleware/secure.go b/vendor/github.com/labstack/echo/middleware/secure.go new file mode 100644 index 000000000..0125e74a7 --- /dev/null +++ b/vendor/github.com/labstack/echo/middleware/secure.go @@ -0,0 +1,116 @@ +package middleware + +import ( + "fmt" + + "github.com/labstack/echo" +) + +type ( + // SecureConfig defines the config for Secure middleware. + SecureConfig struct { + // Skipper defines a function to skip middleware. + Skipper Skipper + + // XSSProtection provides protection against cross-site scripting attack (XSS) + // by setting the `X-XSS-Protection` header. + // Optional. Default value "1; mode=block". + XSSProtection string `json:"xss_protection"` + + // ContentTypeNosniff provides protection against overriding Content-Type + // header by setting the `X-Content-Type-Options` header. + // Optional. Default value "nosniff". + ContentTypeNosniff string `json:"content_type_nosniff"` + + // XFrameOptions can be used to indicate whether or not a browser should + // be allowed to render a page in a ,

=cmo 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%0A4hzRgHH!jfSK$4bt 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�@Ux2nE_<4)$>1>!LM=RKV=~9@dK;LM3Rra~ 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%0Dr<(nj!5bDsX|cQ|4ZB`U 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